]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ChangeLog
1 2022-12-17 Segher Boessenkool <segher@kernel.crashing.org>
2
3 * config/rs6000/rs6000-logue.cc (rs6000_output_function_epilogue):
4 Handle GNU Rust for the tbtab lang field.
5
6 2022-12-16 John David Anglin <danglin@gcc.gnu.org>
7
8 * config/pa/pa.cc (pa_option_override): Disable -fstack-protector.
9
10 2022-12-16 Vladimir N. Makarov <vmakarov@redhat.com>
11
12 Revert:
13 2022-12-15 Vladimir N. Makarov <vmakarov@redhat.com>
14
15 * ira-costs.cc: Include print-rtl.h.
16 (record_reg_classes, scan_one_insn): Add code to print debug info.
17 * ira.cc (ira_init_register_move_cost): Check that at least one hard
18 reg of the mode are in the class contents to calculate the
19 register move costs.
20
21 2022-12-16 Qing Zhao <qing.zhao@oracle.com>
22
23 * doc/invoke.texi: Document -Wstrict-flex-arrays option.
24 * gimple-array-bounds.cc (check_out_of_bounds_and_warn): Add two more
25 arguments.
26 (array_bounds_checker::check_array_ref): Issue warnings for
27 -Wstrict-flex-arrays.
28 * opts.cc (finish_options): Issue warning for unsupported combination
29 of -Wstrict_flex_arrays and -fstrict-flex-array.
30 * tree-vrp.cc (execute_ranger_vrp): Enable the pass when
31 warn_strict_flex_array is true.
32
33 2022-12-16 Palmer Dabbelt <palmer@rivosinc.com>
34
35 * config/riscv/riscv.cc (riscv_option_override): Fix comment
36 wording.
37
38 2022-12-16 Palmer Dabbelt <palmer@rivosinc.com>
39
40 * doc/extend.texi (__builtin_riscv_pause): Imply
41 Xgnuzihintpausestate.
42
43 2022-12-16 Richard Biener <rguenther@suse.de>
44
45 PR middle-end/108086
46 * tree-inline.cc (remap_ssa_name): Do not unshare the
47 result from the decl_map.
48
49 2022-12-16 Richard Biener <rguenther@suse.de>
50
51 PR middle-end/108086
52 * tree-inline.cc (copy_bb): Remove handling of (foo *)&this->m
53 substitution which is done in remap_gimple_op_r via
54 re-gimplifying.
55
56 2022-12-16 Jakub Jelinek <jakub@redhat.com>
57
58 PR rtl-optimization/106751
59 * loop-invariant.cc (move_invariant_reg): If preheader bb ends
60 with a JUMP_INSN, split the preheader edge and emit invariants
61 into the new preheader basic block.
62
63 2022-12-16 Richard Biener <rguenther@suse.de>
64
65 PR middle-end/108086
66 * tree-inline.cc (remap_gimple_stmt): Add stmts to the
67 sequence without updating them. Simplify x == x detection.
68
69 2022-12-16 Haochen Jiang <haochen.jiang@intel.com>
70
71 * config/i386/cmpccxaddintrin.h
72 (__cmpccxadd_epi32): Rename to _cmpccxadd_epi32.
73 (__cmpccxadd_epi64): Rename to _cmpccxadd_epi64.
74
75 2022-12-15 Vladimir N. Makarov <vmakarov@redhat.com>
76
77 * ira-costs.cc: Include print-rtl.h.
78 (record_reg_classes, scan_one_insn): Add code to print debug info.
79 * ira.cc (ira_init_register_move_cost): Check that at least one hard
80 reg of the mode are in the class contents to calculate the
81 register move costs.
82
83 2022-12-15 Siddhesh Poyarekar <siddhesh@gotplt.org>
84
85 * doc/extend.texi (__builtin_dynamic_object_size): Document
86 builtin.
87 * doc/passes.texi
88 (Optimize calls to @code{__builtin_object_size}): Also mention
89 __builtin_dynamic_object_size.
90
91 2022-12-15 Siddhesh Poyarekar <siddhesh@gotplt.org>
92
93 PR middle-end/70090
94 * doc/invoke.texi (-fsanitize=object-size): Use
95 __builtin_dynamic_object_size instead of
96 __builtin_object_size.
97
98 2022-12-15 Richard Biener <rguenther@suse.de>
99
100 PR middle-end/108086
101 * tree-inline.cc (copy_edges_for_bb): Walk stmts backwards for
102 splitting the block to avoid quadratic behavior with setting
103 stmts BB on multliple splits.
104
105 2022-12-15 Spacetown <michael.foerderer@gmx.de>
106
107 PR gcov-profile/107537
108 * gcov.cc (output_branch_count): Add annotation '(fallthrough)'
109 or '(throw)' also to uncovered branches.
110
111 2022-12-15 Richard Biener <rguenther@suse.de>
112
113 PR middle-end/108086
114 * tree-inline.cc (copy_edges_for_bb): Do not update all
115 stmts again.
116
117 2022-12-15 Jakub Jelinek <jakub@redhat.com>
118
119 PR tree-optimization/108095
120 * tree-into-ssa.cc (maybe_register_def): Insert debug stmt
121 on all non-EH edges from asm goto if they have a single
122 predecessor rather than asserting there is at most one such edge.
123 Test whether there are no PHI nodes next to the single predecessor
124 test.
125
126 2022-12-14 David Faust <david.faust@oracle.com>
127
128 PR target/106773
129 * btfout.cc (get_section_name): New function.
130 (btf_collect_datasec): Use it here. Process functions, marking them
131 'extern' and generating DATASEC entries for them as appropriate. Move
132 creation of BTF_KIND_FUNC records to here...
133 (btf_dtd_emit_preprocess_cb): ... from here.
134
135 2022-12-14 David Faust <david.faust@oracle.com>
136
137 PR target/106773
138 * btfout.cc (btf_collect_datasec): Correct size of void entries.
139 (btf_dvd_emit_preprocess_cb): Do not skip emitting variables which
140 refer to void types.
141 (btf_init_postprocess): Create 'const void' type record if needed and
142 adjust variables to refer to it as appropriate.
143
144 2022-12-14 David Faust <david.faust@oracle.com>
145
146 PR target/106773
147 * btfout.cc (btf_collect_datasec): Mark extern variables as such.
148 (btf_dvd_emit_preprocess_cb): Skip non-defining extern variable decl
149 if there is a defining decl for the same variable.
150 (btf_asm_varent): Accomodate 'extern' linkage.
151
152 2022-12-14 Martin Jambor <mjambor@suse.cz>
153
154 * ipa-sra.cc (create_parameter_descriptors): Consider the first
155 parameter of a method safe to dereference.
156
157 2022-12-14 Martin Jambor <mjambor@suse.cz>
158
159 * ipa-sra.cc (loaded_decls): Adjust comment.
160 (scan_expr_access): Also detect assignments of address of local
161 variables to a variable. Bail out early on SSA_NAMEs and
162 constants as an optimization.
163
164 2022-12-14 Gaius Mulley <gaiusmod2@gmail.com>
165
166 * configure.ac (HAVE_PYTHON): Test for Python3 added.
167 * dwarf2out.cc (gen_compile_unit_die): Check language_string
168 and language to DW_LANG_Modula2.
169 * doc/install.texi: Add m2 as a language.
170 (--disable-libgm2): Documented. Add make check-m2 to testing selected
171 tests.
172 * doc/sourcebuild.texi (GM2): New prerequisite item.
173 (Python3 modules) New item.
174 (libgm2) Added.
175 (gcc/m2) Added.
176 * configure: Rebuilt.
177 * config.in: Rebuilt.
178 * doc/gm2.texi: New file.
179
180 2022-12-14 Martin Jambor <mjambor@suse.cz>
181
182 * doc/invoke.texi (ipa-sra-ptrwrap-growth-factor): Fix the
183 description.
184 * params.opt (ipa-sra-ptrwrap-growth-factor): Likewise.
185
186 2022-12-14 Tamar Christina <tamar.christina@arm.com>
187
188 PR target/107988
189 * config/aarch64/aarch64.cc
190 (aarch64_vectorize_can_special_div_by_constant): Ensure input and output
191 RTL are registers.
192
193 2022-12-14 Martin Liska <mliska@suse.cz>
194
195 * doc/invoke.texi: Document ipa-sra-ptrwrap-growth-factor.
196
197 2022-12-14 Richard Biener <rguenther@suse.de>
198
199 PR tree-optimization/107617
200 * tree-ssa-sccvn.cc (vn_walk_cb_data::push_partial_def):
201 Handle negative pd.rhs_off.
202 (vn_reference_lookup_3): Properly provide pd.rhs_off
203 for .LEN_STORE on big-endian targets.
204
205 2022-12-13 Martin Jambor <mjambor@suse.cz>
206
207 * ipa-param-manipulation.cc
208 (ipa_param_body_adjustments::modify_expression): Bail out early if
209 there are no replacements.
210 (ipa_param_body_adjustments::modify_assignment): Likewise.
211
212 2022-12-13 Martin Jambor <mjambor@suse.cz>
213
214 * ipa-sra.cc (isra_param_desc): New fields safe_size,
215 conditionally_dereferenceable and safe_size_set.
216 (struct gensum_param_desc): New field conditionally_dereferenceable.
217 (struct isra_param_flow): Updated comment of field unit_size.
218 (ipa_sra_function_summaries::duplicate): Copy the new fields.
219 (isra_call_summary::dump): Dump unit_size when representing safe_size.
220 (dump_gensum_param_descriptor): Dump new flag.
221 (dump_isra_param_descriptor): Dump new fields.
222 (isra_analyze_call): Fill unit_size when it represents known safe
223 size.
224 (check_gensum_access): Instead of disqualifying pointers which are not
225 always dereference, mark them as conditionally dereferencable if loads
226 are frequent enough.
227 (process_scan_results): Copy the conditionally_dereferenceable flag.
228 (isra_write_node_summary): Stream new fields, or assert they are not
229 initialized yet.
230 (isra_read_node_info): Stream new fields.
231 (update_safe_size): New function.
232 (propagate_param_hints_accross_call): Propagate safe_sizes.
233 (propagate_hints_to_all_callees): New function.
234 (adjust_parameter_descriptions): Check conditionally_dereferenceable
235 candidates, rework dumping.
236 (ipa_sra_analysis): Move most of hint propagation for one node to
237 propagate_hints_to_all_callees. Add another loop to stabilize within
238 SCCs and another one to verify.
239
240 2022-12-13 Martin Jambor <mjambor@suse.cz>
241
242 * ipa-sra.cc (isra_param_desc): New field not_specially_constructed.
243 (struct isra_param_flow): New field constructed_for_calls.
244 (isra_call_summary::dump): Dump the new flag.
245 (loaded_decls): New variable.
246 (dump_isra_param_descriptor): New parameter hints, dump
247 not_specially_constructed if it is true.
248 (dump_isra_param_descriptors): New parameter hints, pass it to
249 dump_isra_param_descriptor.
250 (ipa_sra_function_summaries::duplicate): Duplicate new flag.
251 (create_parameter_descriptors): Adjust comment.
252 (get_gensum_param_desc): Bail out when decl2desc is NULL.
253 (scan_expr_access): Add loaded local variables to loaded_decls.
254 (scan_function): Survive if final_bbs is NULL.
255 (isra_analyze_call): Compute constructed_for_calls flag.
256 (process_scan_results): Be optimistic about size limits. Do not dump
257 computed param hints when dumpint IPA-SRA structures.
258 (isra_write_edge_summary): Stream constructed_for_calls.
259 (isra_read_edge_summary): Likewise.
260 (ipa_sra_dump_all_summaries): New parameter hints, pass it to
261 dump_isra_param_descriptor.
262 (flip_all_hints_pessimistic): New function.
263 (flip_all_param_hints_pessimistic): Likewise.
264 (propagate_param_hints): Likewise.
265 (disable_unavailable_parameters): Renamed to
266 adjust_parameter_descriptions. Expand size limits for parameters
267 which are specially contstructed by all callers. Check limits again.p
268 (ipa_sra_analysis): Pass required hints to ipa_sra_dump_all_summaries.
269 Add hint propagation.
270 (ipa_sra_summarize_function): Initialize and destory loaded_decls,
271 rearrange so that scan_function is called even when there are no
272 candidates.
273 * params.opt (ipa-sra-ptrwrap-growth-factor): New parameter.
274
275 2022-12-13 Martin Jambor <mjambor@suse.cz>
276
277 * ipa-sra.cc (ipa_sra_analysis): Move top-down analysis before
278 bottom-up analysis. Replace FOR_EACH_VEC_ELT with C++11 iteration.
279
280 2022-12-13 Martin Jambor <mjambor@suse.cz>
281
282 PR ipa/103585
283 * params.opt (ipa-sra-deref-prob-threshold): New parameter.
284 * doc/invoke.texi (ipa-sra-deref-prob-threshold): Document it.
285 * ipa-sra.cc (struct gensum_param_access): New field load_count.
286 (struct gensum_param_desc): New field safe_ref, adjusted comments.
287 (by_ref_count): Renamed to unsafe_by_ref_count, adjusted all uses.
288 (dump_gensum_access): Dump the new field.
289 (dump_gensum_param_descriptor): Likewise.
290 (create_parameter_descriptors): Set safe_ref field, move setting
291 by_ref forward. Only increment unsafe_by_ref_count for unsafe
292 by_ref parameters.
293 (allocate_access): Initialize new field.
294 (mark_param_dereference): Adjust indentation. Only add data to
295 bb_dereferences for unsafe by_ref parameters.
296 (scan_expr_access): For loads, accumulate BB counts.
297 (dereference_probable_p): New function.
298 (check_gensum_access): Fix leading comment, add parameter FUN.
299 Check cumulative counts of loads for safe by_ref accesses instead
300 of dereferences.
301 (process_scan_results): Do not propagate dereference distances for
302 safe by_ref parameters. Pass fun to check_gensum_access. Safe
303 by_ref params do not need the postdominance check.
304
305 2022-12-13 Martin Jambor <mjambor@suse.cz>
306
307 * ipa-cp.cc (clone_for_param_removal_p): New function.
308 (estimate_local_effects): Call it before considering cloning
309 just to remove unused parameters.
310
311 2022-12-13 Martin Jambor <mjambor@suse.cz>
312
313 PR ipa/103227
314 * ipa-param-manipulation.h (class ipa_param_adjustments): Removed
315 member function get_updated_index_or_split.
316 (class ipa_param_body_adjustments): New overload of
317 register_replacement, new member function append_init_stmts, new
318 member m_split_agg_csts_inits.
319 * ipa-param-manipulation.cc: Include ipa-prop.h.
320 (ipa_param_adjustments::get_updated_index_or_split): Removed.
321 (ipa_param_body_adjustments::register_replacement): New overload, use
322 it from the older one.
323 (ipa_param_body_adjustments::common_initialization): Added the
324 capability to create replacements for conflicting IPA-CP discovered
325 constants.
326 (ipa_param_body_adjustments::ipa_param_body_adjustments): Construct
327 the new member.
328 (ipa_param_body_adjustments::append_init_stmts): New function.
329 * ipa-sra.cc: Include ipa-prop.h.
330 (push_param_adjustments_for_index): Require IPA-CP transformation
331 summary as a parameter, do not create replacements which are known to
332 have constant values.
333 (process_isra_node_results): Find and pass to the above function the
334 IPA-CP transformation summary.
335 * ipa-prop.cc (adjust_agg_replacement_values): Remove the
336 functionality replacing IPA-SRA created scalar parameters with
337 constants. Simplify, do not require parameter descriptors, do not
338 return anything.
339 (ipcp_transform_function): Simplify now that
340 adjust_agg_replacement_values does not change cfg. Move definition
341 and initialization of descriptors lower.
342 * tree-inline.cc (tree_function_versioning): Call append_init_stmts of
343 param_body_adjs, if there are any.
344
345 2022-12-13 Martin Jambor <mjambor@suse.cz>
346
347 * ipa-prop.cc (useful_ipcp_transformation_info_p): New function.
348 (write_ipcp_transformation_info): Added a parameter, simplified
349 given that is known not to be NULL.
350 (ipcp_write_transformation_summaries): Write out all useful
351 transformation summaries.
352 (read_ipcp_transformation_info): Simplify given that some info
353 will be read.
354 (read_replacements_section): Remove assert.
355 * lto-cgraph.cc (add_node_to): Also set encode_body for clones.
356 * lto-streamer-out.cc (lto_output): Do not output virtual clones.
357
358 2022-12-13 Jakub Jelinek <jakub@redhat.com>
359
360 PR target/108044
361 * config/i386/i386.md (*concat<half><mode>3_5, *concat<mode><dwi>3_6,
362 *concat<mode><dwi>3_7): Split alternative with =ro output constraint
363 into =r,o,o and use Wd input constraint for the last alternative which
364 is enabled for TARGET_64BIT. Reject ix86_endbr_immediate_operand
365 in the input constant.
366
367 2022-12-13 Tamar Christina <tamar.christina@arm.com>
368
369 * config/aarch64/aarch64.md (tbranch_<code><mode>3): Use gen_int_mode.
370
371 2022-12-13 Jakub Jelinek <jakub@redhat.com>
372
373 PR tree-optimization/108064
374 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Pass uvectype
375 as 4th argument to append_pattern_def_seq for statements with lhs
376 with utype type.
377
378 2022-12-13 Richard Biener <rguenther@suse.de>
379
380 PR tree-optimization/105801
381 * tree-ssa-ccp.cc (likely_value): .DEFERRED_INIT produces
382 UNDEFINED.
383 * doc/invoke.texi (ftrivial-auto-var-init): Explicitely
384 mention we treat variables without an initializer as
385 undefined also for optimization purposes.
386
387 2022-12-13 Tom Tromey <tom@tromey.com>
388 Mark Wielaard <mark@klomp.org>
389 Marc Poulhiès <dkm@kataplop.net>
390
391 * dwarf2out.cc (is_rust): New.
392 (base_type_die): Use DW_ATE_UTF for the Rust 'char' type.
393 (gen_compile_unit_die): Handle "GNU Rust".
394
395 2022-12-13 Richard Biener <rguenther@suse.de>
396
397 PR tree-optimization/108076
398 * tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks
399 with non-local or forced labels that we later remove
400 labels from.
401
402 2022-12-13 Haochen Gui <guihaoc@gcc.gnu.org>
403
404 * config/rs6000/rs6000.md (cbranchcc4): New expander.
405
406 2022-12-13 Haochen Gui <guihaoc@gcc.gnu.org>
407
408 * optabs.cc (prepare_cmp_insn): Return a NULL rtx other than
409 assertion failure when targets don't have cbranch optab or
410 predicate check fails.
411
412 2022-12-12 Wilco Dijkstra <wilco.dijkstra@arm.com>
413
414 * config/aarch64/aarch64.cc (aarch64_rtx_costs): Add correct costs
415 for 24-bit and 12-bit shifted immediate add/sub.
416 (TARGET_CONST_ANCHOR): Define.
417 * config/aarch64/predicates.md (aarch64_pluslong_immediate):
418 Fix range check.
419
420 2022-12-12 Tamar Christina <tamar.christina@arm.com>
421
422 * match.pd: Add new rule.
423
424 2022-12-12 Tamar Christina <tamar.christina@arm.com>
425
426 * config/aarch64/aarch64.cc (aarch64_can_change_mode_class): Restrict
427 conversions between partial struct types properly.
428
429 2022-12-12 Tamar Christina <tamar.christina@arm.com>
430
431 * config/aarch64/aarch64.md (*tb<optab><mode>1): Rename to...
432 (*tb<optab><ALLI:mode><GPI:mode>1): ... this.
433 (tbranch_<code><mode>4): New.
434 * config/aarch64/iterators.md(ZEROM, zerom): New.
435
436 2022-12-12 Tamar Christina <tamar.christina@arm.com>
437
438 * dojump.cc (do_jump): Pass along value.
439 (do_jump_by_parts_greater_rtx): Likewise.
440 (do_jump_by_parts_zero_rtx): Likewise.
441 (do_jump_by_parts_equality_rtx): Likewise.
442 (do_compare_rtx_and_jump): Likewise.
443 (do_compare_and_jump): Likewise.
444 * dojump.h (do_compare_rtx_and_jump): New.
445 * optabs.cc (emit_cmp_and_jump_insn_1): Refactor to take optab to check.
446 (validate_test_and_branch): New.
447 (emit_cmp_and_jump_insns): Optiobally take a value, and when value is
448 supplied then check if it's suitable for tbranch.
449 * optabs.def (tbranch_eq$a4, tbranch_ne$a4): New.
450 * doc/md.texi (tbranch_@var{op}@var{mode}4): Document it.
451 * optabs.h (emit_cmp_and_jump_insns): New.
452 * tree.h (tree_zero_one_valued_p): New.
453
454 2022-12-12 Tamar Christina <tamar.christina@arm.com>
455
456 * config/aarch64/aarch64-simd.md (*aarch64_simd_movv2hf): New.
457 (mov<mode>, movmisalign<mode>, aarch64_dup_lane<mode>,
458 aarch64_store_lane0<mode>, aarch64_simd_vec_set<mode>,
459 @aarch64_simd_vec_copy_lane<mode>, vec_set<mode>,
460 reduc_<optab>_scal_<mode>, reduc_<fmaxmin>_scal_<mode>,
461 aarch64_reduc_<optab>_internal<mode>, aarch64_get_lane<mode>,
462 vec_init<mode><Vel>, vec_extract<mode><Vel>): Support V2HF.
463 (aarch64_simd_dupv2hf): New.
464 * config/aarch64/aarch64.cc (aarch64_classify_vector_mode):
465 Add E_V2HFmode.
466 * config/aarch64/iterators.md (VHSDF_P): New.
467 (V2F, VMOVE, nunits, Vtype, Vmtype, Vetype, stype, VEL,
468 Vel, q, vp): Add V2HF.
469 * config/arm/types.md (neon_fp_reduc_add_h): New.
470
471 2022-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
472
473 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
474 __ARM_FEATURE_PAUTH and __ARM_FEATURE_BTI when appropriate.
475 * config/aarch64/aarch64.h (TARGET_BTI): Define.
476
477 2022-12-12 Richard Biener <rguenther@suse.de>
478
479 * genmatch.cc (dt_simplify::gen): Revert last change.
480 * match.pd: Revert simplification of CONSTUCTOR leaf handling.
481 (&x cmp SSA_NAME): Handle ADDR_EXPR in SSA defs.
482 * fold-const.cc (split_address_to_core_and_offset): Handle
483 ADDR_EXPRs in SSA defs.
484 (address_compare): Likewise.
485
486 2022-12-12 Richard Biener <rguenther@suse.de>
487
488 PR tree-optimization/89317
489 * tree-ssa-ccp.cc (ccp_fold): Handle GIMPLE_COND via
490 gimple_fold_stmt_to_constant_1.
491 * match.pd (&a != &a + c): Apply to pointer_plus with non-ADDR_EXPR
492 base as well.
493
494 2022-12-11 Richard Biener <rguenther@suse.de>
495
496 PR tree-optimization/89317
497 * match.pd ((p + b) - &p->c -> b - offsetof(c)): New patterns.
498
499 2022-12-11 Richard Biener <rguenther@suse.de>
500
501 * genmatch.cc (dt_node::gen_kids): Handle ADDR_EXPR in both
502 the GENERIC and GIMPLE op position.
503 (dt_simplify::gen): Capture both GENERIC and GIMPLE op
504 position for ADDR_EXPR and CONSTRUCTOR.
505 * match.pd: Simplify CONSTRUCTOR leaf handling.
506
507 2022-12-11 Richard Biener <rguenther@suse.de>
508
509 PR tree-optimization/106904
510 * tree.h (strip_zero_offset_components): Declare.
511 * tree.cc (strip_zero_offset_components): Define.
512 * tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref):
513 Strip zero offset components before building the address.
514
515 2022-12-10 Jakub Jelinek <jakub@redhat.com>
516
517 PR tree-optimization/107997
518 * tree-ssa-loop-ivopts.cc: Include cfganal.h.
519 (create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends
520 with a stmt which ends bb, instead of adding iv update after it split
521 the latch edge and insert iterator into the new latch bb.
522
523 2022-12-09 Jiufu Guo <guojiufu@linux.ibm.com>
524
525 * config/rs6000/rs6000.cc (rs6000_emit_set_const): Remove copy_rtx.
526 (rs6000_emit_set_long_const): Likewise.
527
528 2022-12-09 Martin Liska <mliska@suse.cz>
529
530 * config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path
531 as for PR103661.
532 * doc/extend.texi: Fix "x86-64" use.
533
534 2022-12-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
535
536 * config/rtems.h (SUBTARGET_CC1_SPEC): Rename to...
537 (OS_CC1_SPEC): ...this.
538 * gcc.cc (SUBTARGET_CC1_SPEC): Rename to...
539 (OS_CC1_SPEC): ...this.
540
541 2022-12-09 David Malcolm <dmalcolm@redhat.com>
542
543 * Makefile.in (ANALYZER_OBJS): Update for renaming of
544 analyzer/region-model-impl-calls.cc to analyzer/kf.cc.
545
546 2022-12-09 liuhongt <hongtao.liu@intel.com>
547
548 * doc/invoke.texi (x86 options): Document
549 -mlam={none,u48,u57}.
550 * config/i386/i386-opts.h (enum lam_type): New enum.
551 * config/i386/i386.cc (ix86_memtag_can_tag_addresses): New.
552 (ix86_memtag_set_tag): Ditto.
553 (ix86_memtag_extract_tag): Ditto.
554 (ix86_memtag_add_tag): Ditto.
555 (ix86_memtag_tag_size): Ditto.
556 (ix86_memtag_untagged_pointer): Ditto.
557 (TARGET_MEMTAG_CAN_TAG_ADDRESSES): New.
558 (TARGET_MEMTAG_ADD_TAG): Ditto.
559 (TARGET_MEMTAG_SET_TAG): Ditto.
560 (TARGET_MEMTAG_EXTRACT_TAG): Ditto.
561 (TARGET_MEMTAG_UNTAGGED_POINTER): Ditto.
562 (TARGET_MEMTAG_TAG_SIZE): Ditto.
563 (IX86_HWASAN_SHIFT): Ditto.
564 (IX86_HWASAN_TAG_SIZE): Ditto.
565 * config/i386/i386-expand.cc (ix86_expand_call): Untag code
566 pointer.
567 * config/i386/i386-options.cc (ix86_option_override_internal):
568 Error when enable -mlam=[u48|u57] for 32-bit code.
569 * config/i386/i386.opt: Add -mlam=[none|u48|u57].
570 * config/i386/i386-protos.h (ix86_memtag_untagged_pointer):
571 Declare.
572 (ix86_memtag_can_tag_addresses): Ditto.
573
574 2022-12-08 Marek Polacek <polacek@redhat.com>
575
576 * doc/invoke.texi (-fsanitize=address): Suggest options to improve
577 stack traces.
578
579 2022-12-08 Eugene Rozenfeld <erozen@microsoft.com>
580
581 PR ipa/108000
582 * ipa-cp.cc (ipcp_propagate_stage): Fix profile count comparison
583
584 2022-12-08 David Faust <david.faust@oracle.com>
585
586 * config/bpf/bpf.md (bswap<mode>2): New define_insn.
587
588 2022-12-08 Sebastian Pop <spop@amazon.com>
589
590 PR target/98776
591 * config/aarch64/aarch64-protos.h (aarch64_output_patchable_area):
592 Declared.
593 * config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry):
594 Emit an UNSPECV_PATCHABLE_AREA pseudo instruction.
595 (aarch64_output_patchable_area): New.
596 * config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New.
597 (patchable_area): Define.
598
599 2022-12-08 Jakub Jelinek <jakub@redhat.com>
600
601 PR debug/106719
602 * cfgbuild.cc (find_bb_boundaries): If there are NOTEs in between
603 debug_insn (seen after flow_transfer_insn) and insn, move NOTEs
604 before all the DEBUG_INSNs and split after NOTEs. If there are
605 other insns like jump table data, clear debug_insn.
606
607 2022-12-08 Jakub Jelinek <jakub@redhat.com>
608
609 PR target/107627
610 * config/i386/i386.md (HALF, half): New mode attributes.
611 (*concat<half><mode>3_5, *concat<mode><dwi>3_6,
612 *concat<mode><dwi>3_7): New define_insn_and_split patterns.
613
614 2022-12-08 Andrew MacLeod <amacleod@redhat.com>
615
616 PR tree-optimization/107985
617 * gimple-range-op.cc
618 (gimple_range_op_handler::gimple_range_op_handler): Check if type
619 of the operands is supported.
620 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Do
621 not assert if here is no range-op handler.
622
623 2022-12-08 Jiufu Guo <guojiufu@linux.ibm.com>
624
625 * config/rs6000/predicates.md: Use sext_hwi.
626 * config/rs6000/rs6000.cc (num_insns_constant_gpr): Likewise.
627 (darwin_rs6000_legitimate_lo_sum_const_p): Likewise.
628 (mem_operand_gpr): Likewise.
629 (mem_operand_ds_form): Likewise.
630 (rs6000_legitimize_address): Likewise.
631 (rs6000_emit_set_const): Likewise.
632 (rs6000_emit_set_long_const): Likewise.
633 (print_operand): Likewise.
634 (constant_generates_xxspltiw): Remove unnecessary expressions.
635 * config/rs6000/rs6000.md: Use sext_hwi.
636
637 2022-12-08 Richard Biener <rguenther@suse.de>
638
639 PR tree-optimization/107699
640 * match.pd (&a !=/== &a.b + c -> (&a - &a.b) !=/== c): New
641 pattern variant.
642
643 2022-12-08 Jakub Jelinek <jakub@redhat.com>
644
645 * range-op-float.cc (frange_nextafter): For MODE_COMPOSITE_P from
646 denormal or zero, use real_nextafter on DFmode with conversions
647 around it.
648 (frange_arithmetic): For mode_composite, on top of rounding in the
649 right direction accept extra 1ulp error for PLUS/MINUS_EXPR, extra
650 2ulps error for MULT_EXPR and extra 3ulps error for RDIV_EXPR.
651
652 2022-12-08 Jakub Jelinek <jakub@redhat.com>
653
654 PR tree-optimization/107967
655 * range-op-float.cc (frange_arithmetic): Fix a thinko - if
656 inf is negative, use nextafter if !real_less (&result, &value)
657 rather than if real_less (&result, &value). If result is +-INF
658 while value is finite and -fno-rounding-math, don't do rounding
659 if !inexact or if result is significantly above max representable
660 value or below min representable value.
661
662 2022-12-07 Max Filippov <jcmvbkbc@gmail.com>
663
664 * config.gcc (xtensa*-*-*): Add xtensa-dynconfig.o to extra_objs.
665 * config/xtensa/t-xtensa (TM_H): Add xtensa-dynconfig.h.
666 (xtensa-dynconfig.o): New rule.
667 * config/xtensa/xtensa-dynconfig.c: New file.
668 * config/xtensa/xtensa-protos.h (xtensa_get_config_strings): New
669 declaration.
670 * config/xtensa/xtensa.h (xtensa-config.h): Replace #include
671 with xtensa-dynconfig.h
672 (XCHAL_HAVE_MUL32_HIGH, XCHAL_HAVE_RELEASE_SYNC)
673 (XCHAL_HAVE_S32C1I, XCHAL_HAVE_THREADPTR)
674 (XCHAL_HAVE_FP_POSTINC): Drop definitions.
675 (TARGET_DIV32): Replace with __XCHAL_HAVE_DIV32.
676 (TARGET_CPU_CPP_BUILTINS): Add new 'builtin' variable and loop
677 through string array returned by the xtensa_get_config_strings
678 function call.
679
680 2022-12-07 Wilco Dijkstra <wilco.dijkstra@arm.com>
681
682 PR target/108006
683 * config/aarch64/aarch64.cc (aarch64_expand_sve_const_vector):
684 Fix call to aarch64_move_imm to use SI/DI.
685
686 2022-12-07 Richard Biener <rguenther@suse.de>
687
688 PR ipa/105676
689 * ipa-pure-const.cc (ipa_make_function_pure): Skip also
690 for functions already being const.
691
692 2022-12-07 Hongyu Wang <hongyu.wang@intel.com>
693
694 * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add
695 m_SAPPHIRERAPIDS, m_ALDERLAKE and m_CORE_ATOM.
696
697 2022-12-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
698
699 PR target/107920
700 * config/aarch64/aarch64-sve-builtins-base.cc: Use
701 gsi_replace_with_seq_vops to handle virtual operands, and gate
702 the transform on !flag_non_call_exceptions.
703 * gimple-fold.cc (gsi_replace_with_seq_vops): Make function non static.
704 * gimple-fold.h (gsi_replace_with_seq_vops): Declare.
705
706 2022-12-07 liuhongt <hongtao.liu@intel.com>
707
708 PR target/107970
709 * config/i386/mmx.md (btruncv2sf2): Add TARGET_MMX_WITH_SSE to
710 the condition.
711
712 2022-12-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
713
714 * config/aarch64/aarch64.cc (aarch64_bitmask_imm): Use unsigned type.
715 (aarch64_is_mov_xn_imm): New function.
716 (aarch64_move_imm): Refactor, assert mode is SImode or DImode.
717 (aarch64_internal_mov_immediate): Assert mode is SImode or DImode.
718 Simplify special cases.
719 (aarch64_uimm12_shift): Simplify code.
720 (aarch64_clamp_to_uimm12_shift): Likewise.
721 (aarch64_movw_imm): Rename to aarch64_is_movz.
722 (aarch64_float_const_rtx_p): Pass either SImode or DImode to
723 aarch64_internal_mov_immediate.
724 (aarch64_rtx_costs): Likewise.
725 * config/aarch64/aarch64.md (movdi_aarch64): Merge 'N' and 'M'
726 constraints into single 'O'.
727 (mov<mode>_aarch64): Likewise.
728 * config/aarch64/aarch64-protos.h (aarch64_move_imm): Use unsigned.
729 (aarch64_bitmask_imm): Likewise.
730 (aarch64_uimm12_shift): Likewise.
731 (aarch64_is_mov_xn_imm): New prototype.
732 * config/aarch64/constraints.md: Add 'O' for 32/64-bit immediates,
733 limit 'N' to 64-bit only moves.
734
735 2022-12-06 Qing Zhao <qing.zhao@oracle.com>
736
737 * attribs.cc (strict_flex_array_level_of): New function.
738 * attribs.h (strict_flex_array_level_of): Prototype for new function.
739 * doc/invoke.texi: Update -Warray-bounds by specifying the impact from
740 -fstrict-flex-arrays. Also update -Warray-bounds=2 by eliminating its
741 impact on treating trailing arrays as flexible array members.
742 * gimple-array-bounds.cc (get_up_bounds_for_array_ref): New function.
743 (check_out_of_bounds_and_warn): New function.
744 (array_bounds_checker::check_array_ref): Update with call to the above
745 new functions.
746 * tree.cc (array_ref_flexible_size_p): Add one new argument.
747 (component_ref_sam_type): New function.
748 (component_ref_size): Control with level of strict-flex-array.
749 * tree.h (array_ref_flexible_size_p): Update prototype.
750 (enum struct special_array_member): Add two new enum values.
751 (component_ref_sam_type): New prototype.
752
753 2022-12-06 David Malcolm <dmalcolm@redhat.com>
754
755 * doc/analyzer.texi: Drop out-of-date ideas for other checkers.
756
757 2022-12-06 David Malcolm <dmalcolm@redhat.com>
758
759 * Makefile.in (ANALYZER_OBJS): Add analyzer/call-details.o,
760 analyzer/kf-analyzer.o, and kf-lang-cp.o.
761
762 2022-12-06 Marcel Vollweiler <marcel@codesourcery.com>
763
764 * gimplify.cc (optimize_target_teams): Set initial num_teams_upper
765 to "-2" instead of "1" for non-existing num_teams clause in order to
766 disambiguate from the case of an existing num_teams clause with value 1.
767
768 2022-12-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
769
770 PR target/107987
771 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>,
772 @mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar
773 operand.
774
775 2022-12-06 Jakub Jelinek <jakub@redhat.com>
776
777 PR target/107969
778 * config/i386/i386.md (cbranchbf4, cstorebf4): Guard expanders
779 with the same condition as cbranchsf4 or cstoresf4 expanders.
780
781 2022-12-06 Richard Biener <rguenther@suse.de>
782
783 PR tree-optimization/104475
784 * pointer-query.h (access_ref::ref_nullptr_p): New flag.
785 * pointer-query.cc (access_ref::access_ref): Initialize
786 ref_nullptr_p.
787 (compute_objsize_r): Set ref_nullptr_p if we treat it that way.
788 (access_ref::inform_access): If ref was treated as nullptr
789 based, indicate that.
790
791 2022-12-06 Jakub Jelinek <jakub@redhat.com>
792
793 PR tree-optimization/107972
794 * range-op-float.cc (frange_drop_infs): New function.
795 (float_binary_op_range_finish): Add DIV_OP2 argument. If DIV_OP2 is
796 false and lhs is finite or if DIV_OP2 is true and lhs is non-zero and
797 not NAN, r must be finite too.
798 (foperator_div::op2_range): Pass true to DIV_OP2 of
799 float_binary_op_range_finish.
800
801 2022-12-06 Jakub Jelinek <jakub@redhat.com>
802
803 PR tree-optimization/107975
804 * range-op-float.cc (foperator_mult::op1_range,
805 foperator_div::op1_range, foperator_div::op2_range): Just
806 return float_binary_op_range_finish result if lhs is known
807 NAN, or the other operand is known NAN or UNDEFINED.
808
809 2022-12-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
810
811 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Use dup
812 and zip1 for interleaving elements in vector initializer.
813
814 2022-12-05 Richard Biener <rguenther@suse.de>
815
816 PR middle-end/40635
817 * tree-into-ssa.cc (rewrite_update_phi_arguments): Only
818 update the argument when the reaching definition is different
819 from the current argument. Keep an existing argument
820 location.
821
822 2022-12-05 Richard Biener <rguenther@suse.de>
823
824 PR tree-optimization/106868
825 * gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref):
826 Inline into single user ...
827 (pass_waccess::check_dangling_uses): ... here and adjust the
828 call and the PHI case to require that ref.aref is the address
829 of the decl.
830
831 2022-12-05 Jakub Jelinek <jakub@redhat.com>
832
833 PR middle-end/106805
834 * match.pd (cmp @0 REAL_CST@1): Don't optimize x cmp NaN
835 or NaN cmp x to false/true for cmp >/>=/</<= if -ftrapping-math.
836
837 2022-12-05 Jakub Jelinek <jakub@redhat.com>
838
839 PR tree-optimization/107879
840 * range-op-float.cc (foperator_mult::op1_range): If both
841 lhs and op2 ranges contain zero or both ranges contain
842 some infinity, set r range to zero_to_inf_range depending on
843 signbit_known_p.
844 (foperator_div::op2_range): Similarly for lhs and op1 ranges.
845 (foperator_div::op1_range): If lhs range contains zero and op2
846 range contains some infinity or vice versa, set r range to
847 zero_to_inf_range depending on signbit_known_p.
848 (foperator_div::rv_fold): Fix up condition for returning known NAN.
849
850 2022-12-05 Richard Biener <rguenther@suse.de>
851
852 PR tree-optimization/107833
853 PR tree-optimization/107839
854 * cfghooks.cc: Include tree.h.
855 * tree-ssa-loop-im.cc (movement_possibility): Wrap and
856 make stmts using any ssa_name_maybe_undef_p operand
857 to preserve execution.
858 (loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs
859 to init maybe-undefined status.
860 * tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p,
861 ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p,
862 mark_ssa_maybe_undefs): Move ...
863 * tree-ssa.cc: ... here.
864 * tree-ssa.h (ssa_name_any_use_dominates_bb_p,
865 mark_ssa_maybe_undefs): Declare.
866 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define.
867
868 2022-12-05 Andrew Pinski <pinskia@gmail.com>
869
870 PR tree-optimization/107956
871 * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern):
872 Check for NULL LHS on masked loads.
873
874 2022-12-05 Kewen Lin <linkw@linux.ibm.com>
875 Richard Sandiford <richard.sandiford@arm.com>
876
877 PR tree-optimization/107412
878 * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use
879 untruncated type for the length, and avoid to_constant and tree
880 arithmetic for subtraction.
881
882 2022-12-02 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
883 Jason Merrill <jason@redhat.com>
884
885 * function.cc (init_function_start): Use DECL_RESULT location
886 for -Waggregate-return warning.
887
888 2022-12-02 Andrew MacLeod <amacleod@redhat.com>
889
890 * fold-const.cc (fold_unary_loc): Check TREE_TYPE of node.
891 (tree_invalid_nonnegative_warnv_p): Likewise.
892
893 2022-12-02 Jason Merrill <jason@redhat.com>
894
895 * gcc.cc (validate_switches): Reset suffix/starred on loop.
896
897 2022-12-02 Vladimir N. Makarov <vmakarov@redhat.com>
898
899 * lra-constraints.cc (curr_insn_transform): Check available hard
900 regs for pseudo and its subreg to decide what to reload.
901
902 2022-12-02 liuhongt <hongtao.liu@intel.com>
903
904 * config/i386/i386-expand.cc
905 (ix86_expand_fast_convert_bf_to_sf): Use extendbfsf2_1 for
906 nonimmediate operand.
907
908 2022-12-02 Martin Liska <mliska@suse.cz>
909
910 * configure: Regenerate.
911
912 2022-12-02 Jakub Jelinek <jakub@redhat.com>
913
914 PR target/106577
915 * config/i386/i386-expand.cc (ix86_vector_duplicate_value): Save/restore
916 recog_data around recog_memoized calls.
917
918 2022-12-02 Michael Collison <collison@rivosinc.com>
919
920 * match.pd ((x & 0x1) == 0) ? y : z <op> y
921 -> (-(typeof(y))(x & 0x1) & z) <op> y.
922
923 2022-12-02 Richard Biener <rguenther@suse.de>
924
925 PR tree-optimization/107946
926 * params.opt (-param=max-unswitch-depth=): New.
927 * doc/invoke.texi (--param=max-unswitch-depth): Document.
928 * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): Honor
929 --param=max-unswitch-depth
930
931 2022-12-02 Eric Gallager <egallager@gcc.gnu.org>
932
933 PR bootstrap/59447
934 * configure: Regenerate.
935 * configure.ac: Document --with-dwarf2 flag as also
936 applying to later DWARF standards.
937 * doc/install.texi: Likewise.
938
939 2022-12-02 liuhongt <hongtao.liu@intel.com>
940
941 PR target/107934
942 * config/i386/i386.md (extendbfsf2_1): Change type from
943 sseishft to sseishft1.
944
945 2022-12-01 Alex Coplan <alex.coplan@arm.com>
946
947 * varasm.cc (assemble_variable): Fix type confusion bug when
948 checking for ".vtable_map_vars" section.
949
950 2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
951
952 * config/riscv/riscv-v.cc (emit_pred_op): Adapt for mask mode.
953 * config/riscv/vector.md: Remove Tail && make policy operand for mask mode mov.
954
955 2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
956
957 * config/riscv/riscv-protos.h (enum vlmul_type): New enum.
958 (get_vlmul): New function.
959 (get_ratio): Ditto.
960 * config/riscv/riscv-v.cc (struct mode_vtype_group): New struct.
961 (ENTRY): Adapt for attributes.
962 (enum vlmul_type): New enum.
963 (get_vlmul): New function.
964 (get_ratio): New function.
965 * config/riscv/riscv-vector-switch.def (ENTRY): Adapt for attributes.
966 * config/riscv/riscv.cc (ENTRY): Ditto.
967 * config/riscv/vector.md (false,true): Add attributes.
968
969 2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
970
971 * config/riscv/constraints.md (Wdm): New constraint.
972 * config/riscv/predicates.md (direct_broadcast_operand): New predicate.
973 * config/riscv/riscv-protos.h (RVV_VLMAX): New macro.
974 (emit_pred_op): Refine function.
975 * config/riscv/riscv-selftests.cc (run_const_vector_selftests): New function.
976 (run_broadcast_selftests): Ditto.
977 (BROADCAST_TEST): New tests.
978 (riscv_run_selftests): More tests.
979 * config/riscv/riscv-v.cc (emit_pred_move): Refine function.
980 (emit_vlmax_vsetvl): Ditto.
981 (emit_pred_op): Ditto.
982 (expand_const_vector): New function.
983 (legitimize_move): Add constant vector support.
984 * config/riscv/riscv.cc (riscv_print_operand): New asm print rule for const vector.
985 * config/riscv/riscv.h (X0_REGNUM): New macro.
986 * config/riscv/vector-iterators.md: New attribute.
987 * config/riscv/vector.md (vec_duplicate<mode>): New pattern.
988 (@pred_broadcast<mode>): New pattern.
989
990 2022-12-01 Paul-Antoine Arras <pa@codesourcery.com>
991
992 * config/gcn/gcn-opts.h (TARGET_FIJI): -march=fiji.
993 (TARGET_VEGA10): -march=gfx900.
994 (TARGET_VEGA20): -march=gfx906.
995 (TARGET_GFX908): -march=gfx908.
996 (TARGET_GFX90a): -march=gfx90a.
997 * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Define a builtin that
998 uniquely maps to '-march'.
999
1000 2022-12-01 Richard Biener <rguenther@suse.de>
1001
1002 PR tree-optimization/107937
1003 * gimple-predicate-analysis.h (predicate::is_true): New.
1004 (predicate::is_false): Likewise.
1005 (predicate::empty_val): Likewise.
1006 (uninit_analysis::uninit_analysis): Properly initialize
1007 def_preds.
1008 * gimple-predicate-analysis.cc (simplify_1b): Indicate
1009 whether the chain became empty.
1010 (predicate::simplify): Release emptied chain before removing it.
1011 (predicate::normalize): Replace temporary object with assertion.
1012 (uninit_analysis::is_use_guarded): Deal with predicates
1013 that simplify to true/false.
1014
1015 2022-12-01 Richard Biener <rguenther@suse.de>
1016
1017 PR tree-optimization/107935
1018 * tree-ssa-sccvn.cc (visit_phi): Honor forced VARYING on
1019 backedges.
1020
1021 2022-12-01 Jakub Jelinek <jakub@redhat.com>
1022
1023 PR target/107627
1024 * config/i386/i386.md (*concat<mode><dwi>3_1, *concat<mode><dwi>3_2):
1025 For operands which are zero_extend arguments allow memory if
1026 output operand is a register.
1027 (*concat<mode><dwi>3_3, *concat<mode><dwi>3_4): Likewise. If
1028 both input operands are memory, use early clobber on output operand.
1029 * config/i386/i386-expand.cc (split_double_concat): Deal with corner
1030 cases where one input is memory and the other is not and the address
1031 of the memory input uses a register we'd overwrite before loading
1032 the memory into a register.
1033
1034 2022-12-01 Haochen Gui <guihaoc@gcc.gnu.org>
1035
1036 * config/rs6000/rs6000-call.cc (swap_endian_selector_for_mode):
1037 Corrects comments of this function and make them clear.
1038
1039 2022-12-01 liuhongt <hongtao.liu@intel.com>
1040
1041 PR target/107863
1042 * config/i386/i386-expand.cc (ix86_expand_vec_set_builtin):
1043 Convert op1 to target mode whenever mode mismatch.
1044
1045 2022-12-01 David Malcolm <dmalcolm@redhat.com>
1046
1047 PR analyzer/106626
1048 * diagnostic-path.h
1049 (diagnostic_path::get_first_event_in_a_function): New decl.
1050 * diagnostic.cc (diagnostic_path::get_first_event_in_a_function):
1051 New.
1052 (diagnostic_path::interprocedural_p): Ignore leading events that
1053 are outside of any function.
1054
1055 2022-12-01 David Malcolm <dmalcolm@redhat.com>
1056
1057 * Makefile.in (ANALYZER_OBJS): Add analyzer/bounds-checking.o.
1058
1059 2022-12-01 Haochen Gui <guihaoc@gcc.gnu.org>
1060
1061 PR target/100866
1062 * config/rs6000/rs6000-call.cc (swap_endian_selector_for_mode):
1063 Generate permute index directly for little endian targets.
1064 * config/rs6000/vsx.md (revb_<mode>): Call vprem directly with
1065 corresponding permute indexes.
1066
1067 2022-11-30 John David Anglin <danglin@gcc.gnu.org>
1068
1069 * config/pa/pa.md (addvdi3): Force operand 2 to a register.
1070 Remove "addi,tsv,*" instruction from unamed pattern.
1071 (subvdi3): Force operand 1 to a register.
1072 Remove "subi,tsv" instruction from from unamed pattern.
1073
1074 2022-11-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1075
1076 * config/aarch64/aarch64.md (aarch64_cpymemdi): Specify clobber of CC reg.
1077 (*aarch64_cpymemdi): Likewise.
1078 (aarch64_movmemdi): Likewise.
1079 (aarch64_setmemdi): Likewise.
1080 (*aarch64_setmemdi): Likewise.
1081
1082 2022-11-30 Martin Liska <mliska@suse.cz>
1083
1084 * tree-switch-conversion.cc (bit_test_cluster::emit): Remove
1085 dead variable bt_range.
1086
1087 2022-11-30 Iskander Shakirzyanov <iskander@ispras.ru>
1088 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1089
1090 PR driver/107787
1091 * common.opt (Warray-bounds): Turn into alias of
1092 -Warray-bounds=1.
1093 * builtins.cc (c_strlen): Use OPT_Warray_bounds_
1094 instead of OPT_Warray_bounds.
1095 * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Ditto.
1096 * gimple-array-bounds.cc (array_bounds_checker::check_array_ref,
1097 array_bounds_checker::check_mem_ref,
1098 array_bounds_checker::check_addr_expr,
1099 array_bounds_checker::check_array_bounds): Ditto.
1100 * gimple-ssa-warn-restrict.cc (maybe_diag_access_bounds): Ditto.
1101
1102 2022-11-30 Martin Liska <mliska@suse.cz>
1103
1104 PR tree-optimization/101301
1105 PR tree-optimization/103680
1106 * tree-switch-conversion.cc (bit_test_cluster::emit):
1107 Handle correctly remaining probability.
1108 (switch_decision_tree::try_switch_expansion): Fix BB's count
1109 where a cluster expansion happens.
1110 (switch_decision_tree::emit_cmp_and_jump_insns): Fill up also
1111 BB count.
1112 (switch_decision_tree::do_jump_if_equal): Likewise.
1113 (switch_decision_tree::emit_case_nodes): Handle special case
1114 for BT expansion which can also fallback to a default BB.
1115 * tree-switch-conversion.h (cluster::cluster): Add
1116 m_default_prob probability.
1117
1118 2022-11-30 Richard Biener <rguenther@suse.de>
1119
1120 PR tree-optimization/107919
1121 * gimple-predicate-analysis.cc (simplify_1): Rename to ...
1122 (simplify_1a): .. this.
1123 (simplify_1b): New.
1124 (predicate::simplify): Call both simplify_1a and simplify_1b.
1125
1126 2022-11-30 Richard Biener <rguenther@suse.de>
1127
1128 * tree-ssa-uninit.cc (find_uninit_use): Dump the edge for a
1129 PHI node.
1130
1131 2022-11-30 Richard Biener <rguenther@suse.de>
1132
1133 PR tree-optimization/107919
1134 * gimple-predicate-analysis.cc (predicate::simplify_2):
1135 Handle predicates of arbitrary length.
1136
1137 2022-11-30 Jakub Jelinek <jakub@redhat.com>
1138
1139 PR tree-optimization/107835
1140 * tree-chrec.cc (chrec_apply): Don't handle "{a, +, a} (x-1)"
1141 as "a*x" if type is a pointer type.
1142
1143 2022-11-30 Paul-Antoine Arras <pa@codesourcery.com>
1144
1145 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Add gfx803.
1146 * config/gcn/t-omp-device: Add gfx803.
1147
1148 2022-11-30 Lulu Cheng <chenglulu@loongson.cn>
1149
1150 * config/loongarch/linux.h (STACK_CHECK_MOVING_SP):
1151 Define this macro to 1.
1152 * config/loongarch/loongarch.cc (STACK_CLASH_PROTECTION_GUARD_SIZE):
1153 Size of guard page.
1154 (loongarch_first_stack_step): Return the size of the first drop stack
1155 according to whether stack checking is performed.
1156 (loongarch_emit_probe_stack_range): Adjust the method of stack checking in prologue.
1157 (loongarch_output_probe_stack_range): Delete useless code.
1158 (loongarch_expand_prologue): Adjust the method of stack checking in prologue.
1159 (loongarch_option_override_internal): Enforce that interval is the same
1160 size as size so the mid-end does the right thing.
1161 * config/loongarch/loongarch.h (STACK_CLASH_MAX_UNROLL_PAGES):
1162 New macro decide whether to loop stack detection.
1163
1164 2022-11-30 David Malcolm <dmalcolm@redhat.com>
1165
1166 PR analyzer/103546
1167 * doc/invoke.texi (Static Analyzer Options): Add isatty, ferror,
1168 fileno, and getc to the list of functions known to the analyzer.
1169
1170 2022-11-29 Richard Biener <rguenther@suse.de>
1171
1172 PR tree-optimization/107852
1173 * tree-ssa-sccvn.cc (visit_phi): Use equivalences recorded
1174 as predicated values to elide more redundant PHIs.
1175
1176 2022-11-29 Richard Biener <rguenther@suse.de>
1177
1178 PR tree-optimization/106995
1179 * tree-if-conv.cc (pass_if_conversion::execute): Also redirect the
1180 versioning condition to the original loop if this very loop
1181 vanished during CFG cleanup.
1182
1183 2022-11-29 Richard Biener <rguenther@suse.de>
1184
1185 PR tree-optimization/107898
1186 * gimple-ssa-warn-alloca.cc (alloca_call_type): Check
1187 the type of the alloca argument is compatible with size_t
1188 before querying ranges.
1189
1190 2022-11-29 Richard Biener <rguenther@suse.de>
1191
1192 PR ipa/107897
1193 * multiple_target.cc (pass_target_clone::gate): Disable
1194 after errors.
1195
1196 2022-11-29 Martin Liska <mliska@suse.cz>
1197
1198 * configure: Regenerate.
1199
1200 2022-11-29 YunQiang Su <yunqiang.su@cipunited.com>
1201
1202 * configure.ac: add description for
1203 AC_DEFINE(ENABLE_MULTIARCH, 1)
1204
1205 2022-11-28 Andrew Pinski <apinski@marvell.com>
1206
1207 * match.pd ((A / (1 << B)) -> (A >> B).):
1208 Fix comment.
1209
1210 2022-11-28 Sinan <sinan.lin@linux.alibaba.com>
1211
1212 * config/riscv/riscv.cc (riscv_build_integer): Improve some cases
1213 of loading 64bit constants for rv32.
1214
1215 2022-11-28 Maciej W. Rozycki <macro@embecosm.com>
1216
1217 * config/riscv/riscv.cc (riscv_emit_int_order_test): Use EQ 0
1218 rather that XOR 1 for LE and LEU operations.
1219
1220 2022-11-28 Richard Biener <rguenther@suse.de>
1221
1222 PR tree-optimization/107896
1223 * tree-vect-stmts.cc (supportable_widening_operation):
1224 Handle non-vector mode intermediate mode.
1225
1226 2022-11-28 Frolov Daniil <frolov.da@phystech.edu>
1227
1228 * gimple-ssa-sprintf.cc (fmtresult::type_max_digits): Handle
1229 base == 2.
1230 (tree_digits): Likewise.
1231 (format_integer): Likewise.
1232 (parse_directive): Add cases for %b and %B directives.
1233
1234 2022-11-28 Fei Gao <gaofei@eswincomputing.com>
1235
1236 * config/riscv/riscv.cc (riscv_first_stack_step): Fix computation
1237 of MIN_FIRST_STEP to cover FP save area too.
1238
1239 2022-11-28 Richard Biener <rguenther@suse.de>
1240
1241 PR tree-optimization/107493
1242 * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr):
1243 Only handle no-op and sign-changing conversions.
1244
1245 2022-11-28 Tobias Burnus <tobias@codesourcery.com>
1246
1247 * config/gcn/gcn.cc (gcn_expand_builtin_1): Work on s1 instead
1248 of s[0:1] and use USE to prevent removal of setting that register.
1249 * config/gcn/gcn.md (prologue_use_di): Remove.
1250
1251 2022-11-28 Yuri Gribov <y.gribov@samsung.com>
1252
1253 PR sanitizer/106558
1254 * sanopt.cc: Do not optimize out checks for non-SSA addresses.
1255
1256 2022-11-28 Jakub Jelinek <jakub@redhat.com>
1257
1258 PR target/106875
1259 * config/i386/i386.opt (x_ix86_abi): Remove TargetSave.
1260 (ix86_abi): Replace it with TargetVariable.
1261 * config/i386/i386-options.cc (ix86_function_specific_save,
1262 ix86_function_specific_restore): Don't save and restore x_ix86_abi.
1263
1264 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
1265
1266 * config/arm/mve.md (mve_vrmlaldavhq_<supf>v4si,
1267 mve_vrmlaldavhaq_<supf>v4si): Fix spacing vs tabs.
1268
1269 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
1270
1271 * config/arm/mve.md (mve_vmlaldavaq_<supf><mode>)
1272 (mve_vmlaldavaxq_s<mode>, mve_vmlaldavaxq_p_<supf><mode>): Fix
1273 spacing vs tabs.
1274
1275 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
1276
1277 * config/arm/mve.md (mve_vsubq_n_f<mode>): Fix spacing.
1278
1279 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
1280
1281 * config/arm/mve.md (mve_vaddlvq_p_<supf>v4si)
1282 (mve_vaddq_n_<supf><mode>, mve_vaddvaq_<supf><mode>)
1283 (mve_vaddlvaq_<supf>v4si, mve_vaddq_n_f<mode>)
1284 (mve_vaddlvaq_p_<supf>v4si, mve_vaddq<mode>, mve_vaddq_f<mode>):
1285 Fix spacing.
1286
1287 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1288
1289 * config/arm/arm_mve.h (__arm_vsubq_x FP): New overloads.
1290 (__arm_vsubq_x Integer): New.
1291
1292 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1293
1294 PR target/107515
1295 * config/arm/arm_mve.h (__ARM_mve_typeid): Add float types.
1296
1297 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1298
1299 PR target/96795
1300 * config/arm/arm_mve.h (__arm_vaddq): Fix Overloading.
1301 (__arm_vmulq): Likewise.
1302 (__arm_vcmpeqq): Likewise.
1303 (__arm_vcmpneq): Likewise.
1304 (__arm_vmaxnmavq): Likewise.
1305 (__arm_vmaxnmvq): Likewise.
1306 (__arm_vminnmavq): Likewise.
1307 (__arm_vsubq): Likewise.
1308 (__arm_vminnmvq): Likewise.
1309 (__arm_vrshlq): Likewise.
1310 (__arm_vqsubq): Likewise.
1311 (__arm_vqdmulltq): Likewise.
1312 (__arm_vqdmullbq): Likewise.
1313 (__arm_vqdmulhq): Likewise.
1314 (__arm_vqaddq): Likewise.
1315 (__arm_vhaddq): Likewise.
1316 (__arm_vhsubq): Likewise.
1317 (__arm_vqdmlashq): Likewise.
1318 (__arm_vqrdmlahq): Likewise.
1319 (__arm_vmlasq): Likewise.
1320 (__arm_vqdmlahq): Likewise.
1321 (__arm_vmaxnmavq_p): Likewise.
1322 (__arm_vmaxnmvq_p): Likewise.
1323 (__arm_vminnmavq_p): Likewise.
1324 (__arm_vminnmvq_p): Likewise.
1325 (__arm_vfmasq_m): Likewise.
1326 (__arm_vsetq_lane): Likewise.
1327 (__arm_vcmpneq_m): Likewise.
1328 (__arm_vhaddq_x): Likewise.
1329 (__arm_vhsubq_x): Likewise.
1330 (__arm_vqrdmlashq_m): Likewise.
1331 (__arm_vqdmlashq_m): Likewise.
1332 (__arm_vmlaldavaxq_p): Likewise.
1333 (__arm_vmlasq_m): Likewise.
1334 (__arm_vqdmulhq_m): Likewise.
1335 (__arm_vqdmulltq_m): Likewise.
1336 (__arm_viwdupq_m): Likewise.
1337 (__arm_viwdupq_u16): Likewise.
1338 (__arm_viwdupq_u32): Likewise.
1339 (__arm_viwdupq_u8): Likewise.
1340 (__arm_vdwdupq_m): Likewise.
1341 (__arm_vdwdupq_u16): Likewise.
1342 (__arm_vdwdupq_u32): Likewise.
1343 (__arm_vdwdupq_u8): Likewise.
1344 (__arm_vaddlvaq): Likewise.
1345 (__arm_vaddlvaq_p): Likewise.
1346 (__arm_vaddvaq): Likewise.
1347 (__arm_vaddvaq_p): Likewise.
1348 (__arm_vcmphiq_m): Likewise.
1349 (__arm_vmladavaq_p): Likewise.
1350 (__arm_vmladavaxq): Likewise.
1351 (__arm_vmlaldavaxq): Likewise.
1352 (__arm_vrmlaldavhaq_p): Likewise.
1353
1354 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1355
1356 PR target/96795
1357 * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Change types.
1358 (__arm_vaddq_m_n_s32): Likewise.
1359 (__arm_vaddq_m_n_s16): Likewise.
1360 (__arm_vaddq_m_n_u8): Likewise.
1361 (__arm_vaddq_m_n_u32): Likewise.
1362 (__arm_vaddq_m_n_u16): Likewise.
1363 (__arm_vaddq_m): Fix Overloading.
1364 (__ARM_mve_coerce3): New.
1365
1366 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
1367
1368 * config/arm/mve.md (mve_vabsq_f<mode>): Fix spacing.
1369
1370 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
1371
1372 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>): Fix
1373 spacing.
1374 * config/arm/arm_mve.h (__arm_vcmpgtq_m, __arm_vcmpleq_m)
1375 (__arm_vcmpltq_m, __arm_vcmpneq_m): Add missing defines.
1376
1377 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
1378
1379 * config/arm/mve.md (mve_vdupq_n_f<mode>)
1380 (mve_vdupq_n_<supf><mode>, mve_vdupq_m_n_<supf><mode>)
1381 (mve_vdupq_m_n_f<mode>): Fix spacing.
1382
1383 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
1384
1385 * config/arm/mve.md (mve_vdwdupq_m_wb_u<mode>_insn): Fix spacing.
1386
1387 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
1388
1389 * config/arm/mve.md (mve_vddupq_u<mode>_insn): Fix 'vddup.u'
1390 spacing.
1391 (mve_vddupq_m_wb_u<mode>_insn): Likewise.
1392
1393 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
1394
1395 * config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Fix
1396 'vmsr' spacing and reg capitalization.
1397
1398 2022-11-28 Richard Biener <rguenther@suse.de>
1399
1400 PR tree-optimization/107876
1401 * tree-ssa-loop-unswitch.cc (clean_up_after_unswitching): Wipe
1402 dominator info if we removed an edge.
1403
1404 2022-11-28 Richard Biener <rguenther@suse.de>
1405
1406 PR tree-optimization/107867
1407 * tree-ssa-forwprop.cc (pass_forwprop::execute): Handle
1408 abnormal cleanup after substitution.
1409
1410 2022-11-28 Lulu Cheng <chenglulu@loongson.cn>
1411
1412 * config/loongarch/loongarch.cc (enum loongarch_load_imm_method):
1413 Remove the member METHOD_INSV that is not currently used.
1414 (struct loongarch_integer_op): Define a new member curr_value,
1415 that records the value of the number stored in the destination
1416 register immediately after the current instruction has run.
1417 (loongarch_build_integer): Assign a value to the curr_value member variable.
1418 (loongarch_move_integer): Adds information for the immediate load instruction.
1419 * config/loongarch/loongarch.md (*movdi_32bit): Redefine as define_insn_and_split.
1420 (*movdi_64bit): Likewise.
1421 (*movsi_internal): Likewise.
1422 (*movhi_internal): Likewise.
1423 * config/loongarch/predicates.md: Return true as long as it is CONST_INT, ensure
1424 that the immediate number is not optimized by decomposition during expand
1425 optimization loop.
1426
1427 2022-11-28 liuhongt <hongtao.liu@intel.com>
1428
1429 PR target/107748
1430 * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Refined.
1431 * config/i386/i386-builtin-types.def (FLOAT_FTYPE_BFLOAT16):
1432 New function type.
1433 * config/i386/i386-builtin.def (BDESC): New builtin.
1434 * config/i386/i386-expand.cc (ix86_expand_args_builtin):
1435 Handle the builtin.
1436 * config/i386/i386.md (extendbfsf2): New expander.
1437 (extendbfsf2_1): New define_insn.
1438 (truncsfbf2): Ditto.
1439
1440 2022-11-26 Andrew Pinski <apinski@marvell.com>
1441
1442 PR tree-optimization/103356
1443 * match.pd: ((~a) == b -> a ^ b): New pattern.
1444
1445 2022-11-25 Sandra Loosemore <sandra@codesourcery.com>
1446
1447 * common.opt (fopenmp-target-simd-clone): New option.
1448 (target_simd_clone_device): New enum to go with it.
1449 * doc/invoke.texi (-fopenmp-target-simd-clone): Document.
1450 * flag-types.h (enum omp_target_simd_clone_device_kind): New.
1451 * omp-simd-clone.cc (auto_simd_fail): New function.
1452 (auto_simd_check_stmt): New function.
1453 (plausible_type_for_simd_clone): New function.
1454 (ok_for_auto_simd_clone): New function.
1455 (simd_clone_create): Add force_local argument, make the symbol
1456 have internal linkage if it is true.
1457 (expand_simd_clones): Also check for cloneable functions with
1458 "omp declare target". Pass explicit_p argument to
1459 simd_clone.compute_vecsize_and_simdlen target hook.
1460 * opts.cc (default_options_table): Add -fopenmp-target-simd-clone.
1461 * target.def (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN):
1462 Add bool explicit_p argument.
1463 * doc/tm.texi: Regenerated.
1464 * config/aarch64/aarch64.cc
1465 (aarch64_simd_clone_compute_vecsize_and_simdlen): Update.
1466 * config/gcn/gcn.cc
1467 (gcn_simd_clone_compute_vecsize_and_simdlen): Update.
1468 * config/i386/i386.cc
1469 (ix86_simd_clone_compute_vecsize_and_simdlen): Update.
1470
1471 2022-11-25 Tamar Christina <tamar.christina@arm.com>
1472
1473 PR target/107830
1474 * config/aarch64/aarch64.cc
1475 (aarch64_vectorize_can_special_div_by_constant): Check validity during
1476 codegen phase as well.
1477
1478 2022-11-25 Eric Botcazou <ebotcazou@adacore.com>
1479
1480 * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko.
1481
1482 2022-11-25 Richard Biener <rguenther@suse.de>
1483
1484 PR tree-optimization/107865
1485 * tree-cfg.cc (move_sese_region_to_fn): Free the number of
1486 iterations of moved loops.
1487
1488 2022-11-25 Kewen.Lin <linkw@gcc.gnu.org>
1489
1490 PR target/99889
1491 * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry):
1492 Adjust to call function default_print_patchable_function_entry.
1493 * targhooks.cc (default_print_patchable_function_entry_1): Remove and
1494 move the flags preparation ...
1495 (default_print_patchable_function_entry): ... here, adjust to use
1496 current_function_funcdef_no for label no.
1497 * targhooks.h (default_print_patchable_function_entry_1): Remove.
1498 * varasm.cc (default_elf_asm_named_section): Adjust code for
1499 __patchable_function_entries section support with LPFE label.
1500
1501 2022-11-24 Wilco Dijkstra <wilco.dijkstra@arm.com>
1502
1503 PR tree-optimization/107413
1504 * config/aarch64/aarch64.cc (struct tune_params): Add
1505 fma_reassoc_width to all CPU tuning structures.
1506 (aarch64_reassociation_width): Use fma_reassoc_width.
1507 * config/aarch64/aarch64-protos.h (struct tune_params): Add
1508 fma_reassoc_width.
1509
1510 2022-11-24 Jakub Jelinek <jakub@redhat.com>
1511
1512 PR middle-end/107317
1513 * asan.cc: Include diagnostic-core.h.
1514 (asan_emit_stack_protection): Return NULL early if seen_error ().
1515
1516 2022-11-24 Aldy Hernandez <aldyh@redhat.com>
1517
1518 * vr-values.cc (simplify_using_ranges::compare_names): Remove.
1519 (vrp_evaluate_conditional_warnv_with_ops): Remove call to
1520 compare_names.
1521 (simplify_using_ranges::vrp_visit_cond_stmt): Remove use_equiv_p
1522 argument to vrp_evaluate_conditional_warnv_with_ops.
1523 * vr-values.h (class simplify_using_ranges): Remove
1524 compare_names.
1525 Remove use_equiv_p to vrp_evaluate_conditional_warnv_with_ops.
1526
1527 2022-11-24 Aldy Hernandez <aldyh@redhat.com>
1528
1529 * tree-vrp.cc (overflow_comparison_p_1): Remove follow_assert_exprs.
1530 (overflow_comparison_p): Remove use_equiv_p.
1531 * tree-vrp.h (overflow_comparison_p): Same.
1532 * vr-values.cc (vrp_evaluate_conditional_warnv_with_ops): Remove
1533 use_equiv_p argument to overflow_comparison_p.
1534
1535 2022-11-24 Aldy Hernandez <aldyh@redhat.com>
1536
1537 * doc/gimple.texi: Remove ASSERT_EXPR references.
1538 * fold-const.cc (tree_expr_nonzero_warnv_p): Same.
1539 (fold_binary_loc): Same.
1540 (tree_expr_nonnegative_warnv_p): Same.
1541 * gimple-array-bounds.cc (get_base_decl): Same.
1542 * gimple-pretty-print.cc (dump_unary_rhs): Same.
1543 * gimple.cc (get_gimple_rhs_num_ops): Same.
1544 * pointer-query.cc (handle_ssa_name): Same.
1545 * tree-cfg.cc (verify_gimple_assign_single): Same.
1546 * tree-pretty-print.cc (dump_generic_node): Same.
1547 * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr):Same.
1548 (interpret_rhs_expr): Same.
1549 * tree-ssa-operands.cc (operands_scanner::get_expr_operands): Same.
1550 * tree-ssa-propagate.cc
1551 (substitute_and_fold_dom_walker::before_dom_children): Same.
1552 * tree-ssa-threadedge.cc: Same.
1553 * tree-vrp.cc (overflow_comparison_p): Same.
1554 * tree.def (ASSERT_EXPR): Add note.
1555 * tree.h (ASSERT_EXPR_VAR): Remove.
1556 (ASSERT_EXPR_COND): Remove.
1557 * vr-values.cc (simplify_using_ranges::vrp_visit_cond_stmt):
1558 Remove comment.
1559
1560 2022-11-24 Aldy Hernandez <aldyh@redhat.com>
1561
1562 * Makefile.in: Remove value-range-equiv.o
1563 * gimple-array-bounds.cc
1564 (array_bounds_checker::array_bounds_checker): Remove comment.
1565 * tree-vrp.cc (supported_types_p): Remove use of value_range_equiv.
1566 * value-query.cc (class equiv_allocator): Same.
1567 (range_query::allocate_value_range_equiv): Remove.
1568 (range_query::free_value_range_equiv): Remove.
1569 (range_query::get_value_range): Remove.
1570 * value-query.h (class range_query): Remove get_value_range.
1571 Remove allocate_value_range_equiv.
1572 Remove free_value_range_equiv.
1573 * vr-values.cc (compare_ranges): Replace value_range_equiv with
1574 value_range.
1575 (simplify_using_ranges::get_vr_for_comparison): Same.
1576 (simplify_using_ranges::compare_names): Same.
1577 * vr-values.h: Remove value_range_equiv references.
1578 * value-range-equiv.cc: Removed.
1579 * value-range-equiv.h: Removed.
1580
1581 2022-11-24 Aldy Hernandez <aldyh@redhat.com>
1582
1583 * doc/invoke.texi: Remove docs for max-vrp-switch-assertions,
1584 vrp1-mode, and vrp2-mode.
1585 * params.opt: Same.
1586 * range-op.cc (masked_increment): Move from tree-vrp.cc.
1587 * tree-vrp.cc (class live_names): Remove.
1588 (live_names::init_bitmap_if_needed): Remove.
1589 (live_names::block_has_live_names_p): Remove.
1590 (live_names::clear_block): Remove.
1591 (live_names::merge): Remove.
1592 (live_names::set): Remove.
1593 (live_names::clear): Remove.
1594 (live_names::live_names): Remove.
1595 (live_names::~live_names): Remove.
1596 (live_names::live_on_block_p): Remove.
1597 (live_names::live_on_edge_p): Remove.
1598 (get_single_symbol): Make static.
1599 (build_symbolic_expr): Remove.
1600 (adjust_symbolic_bound): Remove.
1601 (combine_bound): Remove.
1602 (set_value_range_with_overflow): Remove.
1603 (extract_range_from_pointer_plus_expr): Remove.
1604 (extract_range_from_plus_minus_expr): Remove.
1605 (drop_undefines_to_varying): Remove.
1606 (range_fold_binary_symbolics_p): Remove.
1607 (range_fold_unary_symbolics_p): Remove.
1608 (range_fold_binary_expr): Remove.
1609 (infer_value_range): Remove.
1610 (dump_assert_info): Remove.
1611 (dump_asserts_info): Remove.
1612 (add_assert_info): Remove.
1613 (extract_code_and_val_from_cond_with_ops): Remove.
1614 (masked_increment): Move to range-op.cc.
1615 (register_edge_assert_for_2): Remove.
1616 (find_case_label_index): Remove.
1617 (find_case_label_range): Remove.
1618 (register_edge_assert_for_1): Remove.
1619 (is_masked_range_test): Remove.
1620 (register_edge_assert_for): Remove.
1621 (stmt_interesting_for_vrp): Remove.
1622 (struct case_info): Remove.
1623 (struct assert_locus): Remove.
1624 (class vrp_asserts): Remove.
1625 (vrp_asserts::build_assert_expr_for): Remove.
1626 (vrp_asserts::dump): Remove.
1627 (vrp_asserts::register_new_assert_for): Remove.
1628 (vrp_asserts::finish_register_edge_assert_for): Remove.
1629 (vrp_asserts::find_conditional_asserts): Remove.
1630 (vrp_asserts::compare_case_labels): Remove.
1631 (vrp_asserts::find_switch_asserts): Remove.
1632 (vrp_asserts::find_assert_locations_in_bb): Remove.
1633 (vrp_asserts::find_assert_locations): Remove.
1634 (vrp_asserts::process_assert_insertions_for): Remove.
1635 (vrp_asserts::compare_assert_loc): Remove.
1636 (vrp_asserts::process_assert_insertions): Remove.
1637 (vrp_asserts::insert_range_assertions): Remove.
1638 (vrp_asserts::all_imm_uses_in_stmt_or_feed_cond): Remove.
1639 (vrp_asserts::remove_range_assertions): Remove.
1640 (class vrp_prop): Remove.
1641 (vrp_prop::initialize): Remove.
1642 (enum ssa_prop_result): Remove.
1643 (vrp_prop::visit_stmt): Remove.
1644 (vrp_prop::visit_phi): Remove.
1645 (vrp_prop::finalize): Remove.
1646 (class vrp_folder): Remove.
1647 (vrp_folder::fold_predicate_in): Remove.
1648 (vrp_folder::fold_stmt): Remove.
1649 (vrp_folder::simplify_casted_conds): Remove.
1650 (execute_vrp): Remove.
1651 * tree-vrp.h (struct assert_info): Remove.
1652 (register_edge_assert_for): Remove.
1653 (stmt_interesting_for_vrp): Remove.
1654 (infer_value_range): Remove.
1655 (get_single_symbol): Remove.
1656 (masked_increment): Remove.
1657 (execute_ranger_vrp): Remove.
1658 * vr-values.cc (set_value_range_to_nonnegative): Remove.
1659 (set_value_range_to_truthvalue): Remove.
1660 (vr_values::get_lattice_entry): Remove.
1661 (vr_values::get_value_range): Remove.
1662 (vr_values::range_of_expr): Remove.
1663 (vr_values::value_of_expr): Remove.
1664 (vr_values::value_on_edge): Remove.
1665 (vr_values::value_of_stmt): Remove.
1666 (vr_values::set_def_to_varying): Remove.
1667 (vr_values::set_defs_to_varying): Remove.
1668 (vr_values::update_value_range): Remove.
1669 (symbolic_range_based_on_p): Remove.
1670 (gimple_assign_nonzero_p): Remove.
1671 (gimple_stmt_nonzero_p): Remove.
1672 (vr_values::vrp_stmt_computes_nonzero): Remove.
1673 (vr_values::op_with_constant_singleton_value_range): Remove.
1674 (vr_values::extract_range_for_var_from_comparison_expr): Remove.
1675 (vr_values::extract_range_from_assert): Remove.
1676 (vr_values::extract_range_from_ssa_name): Remove.
1677 (vr_values::extract_range_from_binary_expr): Remove.
1678 (vr_values::extract_range_from_unary_expr): Remove.
1679 (vr_values::extract_range_from_cond_expr): Remove.
1680 (vr_values::extract_range_from_comparison): Remove.
1681 (vr_values::extract_range_from_ubsan_builtin): Remove.
1682 (vr_values::extract_range_basic): Remove.
1683 (vr_values::extract_range_from_assignment): Remove.
1684 (vr_values::adjust_range_with_scev): Remove.
1685 (vr_values::dump): Remove.
1686 (vr_values::vr_values): Remove.
1687 (vr_values::~vr_values): Remove.
1688 (vrp_valueize): Remove.
1689 (vrp_valueize_1): Remove.
1690 (get_output_for_vrp): Remove.
1691 (vr_values::vrp_visit_assignment_or_call): Remove.
1692 (simplify_using_ranges::vrp_evaluate_conditional): Remove.
1693 (vr_values::vrp_visit_switch_stmt): Remove.
1694 (vr_values::extract_range_from_stmt): Remove.
1695 (vr_values::extract_range_from_phi_node): Remove.
1696 (simplify_using_ranges::fold_cond): Add FIXME note.
1697 (vr_values::set_vr_value): Remove.
1698 (vr_values::swap_vr_value): Remove.
1699 * vr-values.h (class vr_values): Remove.
1700 (get_output_for_vrp): Remove.
1701
1702 2022-11-24 Hongyu Wang <hongyu.wang@intel.com>
1703
1704 PR target/107692
1705 * common/config/i386/i386-common.cc (ix86_optimization_table):
1706 Enable loop unroll O2, disable -fweb and -frename-registers
1707 by default.
1708 * config/i386/i386-options.cc
1709 (ix86_override_options_after_change):
1710 Disable small loop unroll when funroll-loops enabled, reset
1711 cunroll_grow_size when it is not explicitly enabled.
1712 (ix86_option_override_internal): Call
1713 ix86_override_options_after_change instead of calling
1714 ix86_recompute_optlev_based_flags and ix86_default_align
1715 separately.
1716 * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll
1717 factor if -munroll-only-small-loops enabled.
1718 * loop-init.cc (pass_rtl_unroll_loops::gate): Do not enable
1719 loop unrolling for -O2-speed.
1720 (pass_rtl_unroll_loops::execute): Rmove
1721 targetm.loop_unroll_adjust check.
1722
1723 2022-11-23 Ramana Radhakrishnan <ramana.gcc@gmail.com>
1724
1725 * config/arm/types.md: Update comment.
1726 (is_neon_type): Add neon_fcmla, neon_fcadd.
1727
1728 2022-11-23 Jonathan Wakely <jwakely@redhat.com>
1729
1730 * doc/invoke.texi (C++ Dialect Options): Recommend using
1731 -Wdelete-non-virtual-dtor instead of -Wnon-virtual-dtor.
1732
1733 2022-11-23 Jakub Jelinek <jakub@redhat.com>
1734
1735 PR bootstrap/107722
1736 * diagnostic.cc (test_diagnostic_get_location_text): Test
1737 special_fname_builtin () rather than "<built-in>" and expect
1738 special_fname_builtin () concatenated with ":" for it.
1739
1740 2022-11-23 Martin Liska <mliska@suse.cz>
1741
1742 * Makefile.in: Set DO_LINK_MUTEX.
1743
1744 2022-11-23 Lulu Cheng <chenglulu@loongson.cn>
1745 xujiahao <xujiahao@loongson.cn>
1746
1747 * config/loongarch/constraints.md (ZD): New constraint.
1748 * config/loongarch/loongarch-def.c: Initial number of parallel prefetch.
1749 * config/loongarch/loongarch-tune.h (struct loongarch_cache):
1750 Define number of parallel prefetch.
1751 * config/loongarch/loongarch.cc (loongarch_option_override_internal):
1752 Set up parameters to be used in prefetching algorithm.
1753 * config/loongarch/loongarch.md (prefetch): New template.
1754
1755 2022-11-23 Marek Polacek <polacek@redhat.com>
1756
1757 Revert:
1758 2022-11-23 Marek Polacek <polacek@redhat.com>
1759
1760 * Makefile.in: Set LD_PICFLAG. Use it. Set enable_host_pie.
1761 Remove NO_PIE_CFLAGS and NO_PIE_FLAG. Pass LD_PICFLAG to
1762 ALL_LINKERFLAGS. Use the "pic" build of libiberty if --enable-host-pie.
1763 * configure.ac (--enable-host-shared): Don't set PICFLAG here.
1764 (--enable-host-pie): New check. Set PICFLAG and LD_PICFLAG after this
1765 check.
1766 * configure: Regenerate.
1767 * doc/install.texi: Document --enable-host-pie.
1768
1769 2022-11-23 Marek Polacek <polacek@redhat.com>
1770
1771 Revert:
1772 2022-11-23 Marek Polacek <polacek@redhat.com>
1773
1774 * configure.ac (--enable-host-bind-now): New check. Add
1775 -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now.
1776 * configure: Regenerate.
1777 * doc/install.texi: Document --enable-host-bind-now.
1778
1779 2022-11-23 Marek Polacek <polacek@redhat.com>
1780
1781 * configure.ac (--enable-host-bind-now): New check. Add
1782 -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now.
1783 * configure: Regenerate.
1784 * doc/install.texi: Document --enable-host-bind-now.
1785
1786 2022-11-23 Marek Polacek <polacek@redhat.com>
1787
1788 * Makefile.in: Set LD_PICFLAG. Use it. Set enable_host_pie.
1789 Remove NO_PIE_CFLAGS and NO_PIE_FLAG. Pass LD_PICFLAG to
1790 ALL_LINKERFLAGS. Use the "pic" build of libiberty if --enable-host-pie.
1791 * configure.ac (--enable-host-shared): Don't set PICFLAG here.
1792 (--enable-host-pie): New check. Set PICFLAG and LD_PICFLAG after this
1793 check.
1794 * configure: Regenerate.
1795 * doc/install.texi: Document --enable-host-pie.
1796
1797 2022-11-22 Jeff Law <jlaw@ventanamicro.com>
1798
1799 * tree-ssa-dom.cc (record_edge_info): Fix thinko in last commit.
1800
1801 2022-11-22 Jeff Law <jlaw@ventanamicro.com>
1802
1803 * tree-ssa-dom.cc (record_edge_info): Fix comment typos.
1804
1805 2022-11-22 Jeff Law <jeffreyalaw@gmail.com>
1806
1807 * config/riscv/riscv.cc (riscv_get_separate_components): Do not
1808 do shrink-wrapping for a frame with a variable size.
1809
1810 2022-11-22 Siddhesh Poyarekar <siddhesh@gotplt.org>
1811
1812 * tree-object-size.cc (todo): New variable.
1813 (object_sizes_execute): Use it.
1814 (strdup_object_size): New function.
1815 (call_object_size): Use it.
1816
1817 2022-11-22 Eric Botcazou <ebotcazou@adacore.com>
1818
1819 * tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst):
1820 Bail out if source and destination do not have the same storage order.
1821
1822 2022-11-22 Martin Jambor <mjambor@suse.cz>
1823
1824 * ipa-sra.cc (ipa_sra_dump_all_summaries): Dump edge summaries even
1825 for non-candidates.
1826
1827 2022-11-22 Martin Jambor <mjambor@suse.cz>
1828
1829 * ipa-cp.cc (push_agg_values_from_edge): Do not consider constants
1830 in unused aggregate parameters.
1831
1832 2022-11-22 Martin Jambor <mjambor@suse.cz>
1833
1834 * ipa-param-manipulation.h (ipa_param_body_adjustments): Removed
1835 member m_split_modifications_p.
1836 * ipa-param-manipulation.cc
1837 (ipa_param_body_adjustments::common_initialization): Do not set
1838 m_split_modifications_p.
1839 (ipa_param_body_adjustments::ipa_param_body_adjustments): Remove
1840 initializations of m_split_modifications_p.
1841 (ipa_param_body_adjustments::modify_call_stmt): Check that
1842 m_replacements is empty instead of m_split_modifications_p.
1843
1844 2022-11-22 Martin Jambor <mjambor@suse.cz>
1845
1846 PR ipa/107661
1847 * ipa-cp.cc (push_agg_values_from_edge): New parameter
1848 optimize_self_recursion, use it to decide whether to pass interim to
1849 the helper function.
1850 (find_aggregate_values_for_callers_subset): Pass true in the new
1851 parameter of push_agg_values_from_edge.
1852 (cgraph_edge_brings_all_agg_vals_for_node): Pass false in the new
1853 parameter of push_agg_values_from_edge.
1854
1855 2022-11-22 Tobias Burnus <tobias@codesourcery.com>
1856 Andrew Stubbs <ams@codesourcery.com>
1857
1858 * config/gcn/gcn-builtins.def (FIRST_CALL_THIS_THREAD_P,
1859 GET_STACK_LIMIT): Add new builtins.
1860 * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand them.
1861 * config/gcn/gcn.md (prologue_use): Add "register_operand" as
1862 arg to match_operand.
1863 (prologue_use_di): New; DI insn_and_split variant of the former.
1864
1865 2022-11-22 Richard Biener <rguenther@suse.de>
1866
1867 PR tree-optimization/107803
1868 * tree-ssa-propagate.cc (substitute_and_fold_dom_walker): Add
1869 need_ab_cleanup member.
1870 (substitute_and_fold_dom_walker::before_dom_children): When
1871 a stmt can no longer transfer control flow abnormally set
1872 need_ab_cleanup.
1873 (substitute_and_fold_engine::substitute_and_fold): Cleanup
1874 abnormal control flow.
1875
1876 2022-11-22 Richard Biener <rguenther@suse.de>
1877
1878 PR tree-optimization/107672
1879 * tree-vect-stmts.cc (supportable_widening_operation): Avoid
1880 type_for_mode on vector modes.
1881
1882 2022-11-22 Richard Biener <rguenther@suse.de>
1883
1884 PR tree-optimization/107766
1885 * tree-vect-slp-patterns.cc (complex_mul_pattern::matches):
1886 Use *node to check for FP vector types.
1887
1888 2022-11-22 liuhongt <hongtao.liu@intel.com>
1889
1890 * config/i386/mmx.md (*mov<mode>_internal): Add
1891 ix86_hard_reg_move_ok to condition.
1892
1893 2022-11-22 liuhongt <hongtao.liu@intel.com>
1894
1895 * config/i386/i386.cc (ix86_can_change_mode_class): Also guard
1896 size of TO.
1897 (ix86_hard_regno_mode_ok): Remove VALID_AVX512FP16_SCALAR_MODE
1898 * config/i386/i386.h (VALID_AVX512FP16_SCALAR_MODE): Merged to
1899 ..
1900 (VALID_AVX512F_SCALAR_MODE): .. this, also add HImode.
1901 (VALID_SSE_REG_MODE): Add DI/HImode.
1902
1903 2022-11-21 Sebastian Huber <sebastian.huber@embedded-brains.de>
1904
1905 * config/rtems.h (SUBTARGET_CC1_SPEC): Undef and define.
1906
1907 2022-11-21 Sebastian Huber <sebastian.huber@embedded-brains.de>
1908
1909 * gcc.cc (SUBTARGET_CC1_SPEC): Define if not defined.
1910 (cc1_spec): Append SUBTARGET_CC1_SPEC.
1911
1912 2022-11-21 Dimitar Dimitrov <dimitar@dinux.eu>
1913
1914 * doc/sourcebuild.texi (sockets): Document new check.
1915
1916 2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com>
1917
1918 * tree-ssa-loop.h (tree_niter_desc): Update comment.
1919
1920 2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com>
1921
1922 * tree-ssa-loop-niter.cc
1923 (number_of_iterations_exit_assumptions): Modify to call...
1924 (number_of_iterations_bitcount): ...this new function.
1925 (number_of_iterations_popcount): Now called by the above.
1926 Refactor, and extract popcount expression builder to...
1927 (build_popcount_expr): this new function.
1928
1929 2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com>
1930
1931 * tree-ssa-loop-niter.cc (ssa_defined_by_minus_one_stmt_p): Move
1932 (number_of_iterations_popcount): Move, and remove separate prototype.
1933
1934 2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com>
1935
1936 * tree-ssa-loop-niter.cc (number_of_iterations_exit_assumptions):
1937 Move at_stmt assignment.
1938
1939 2022-11-21 Christophe Lyon <christophe.lyon@arm.com>
1940
1941 * genmultilib: Fix options and dirnames/osdirnames sanity check.
1942
1943 2022-11-21 Philipp Tomsich <philipp.tomsich@vrull.eu>
1944
1945 PR target/107786
1946 * config/riscv/riscv.md
1947 (*branch<ANYI:mode>_shiftedarith_equals_zero): Wrap ANYI
1948 in a subreg, as our branch instructions only supports X.
1949
1950 2022-11-21 Jakub Jelinek <jakub@redhat.com>
1951
1952 PR target/107748
1953 * config/i386/avx512fp16intrin.h (_mm512_castph512_ph128,
1954 _mm512_castph512_ph256, _mm512_castph128_ph512,
1955 _mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local
1956 variables and union members.
1957 * config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128,
1958 _mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise.
1959 * config/i386/smmintrin.h (_mm_extract_ps): Likewise.
1960
1961 2022-11-21 Christophe Lyon <christophe.lyon@arm.com>
1962
1963 * genmultilib: Add sanity check.
1964
1965 2022-11-21 Eric Botcazou <ebotcazou@adacore.com>
1966
1967 * config/arm/arm.cc (arm_attribute_table) <cmse_nonsecure_call>:
1968 Change decl_required field to false.
1969 (arm_handle_cmse_nonsecure_call): Deal with a TYPE node.
1970
1971 2022-11-21 Andrew Pinski <apinski@marvell.com>
1972
1973 * gimplify.cc (gimplify_modify_expr): If
1974 either *from_p or *to_p were error_operand
1975 return early.
1976
1977 2022-11-21 liuhongt <hongtao.liu@intel.com>
1978
1979 * config/i386/i386-builtins.cc (def_builtin): Handle "shared"
1980 avx512bf16vl-avxneconvert builtins.
1981
1982 2022-11-20 Jakub Jelinek <jakub@redhat.com>
1983
1984 PR target/107183
1985 * reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument.
1986 If >= 0 and a DEBUG_INSN would be otherwise returned, set
1987 DEBUG_SEEN to 1 and ignore it.
1988 (swap_rtx_condition): Add DEBUG_SEEN argument. In >= 0
1989 mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs
1990 were seen and revert all changes on success in that case.
1991 Don't try to recog_memoized DEBUG_INSNs.
1992 (compare_for_stack_reg): Adjust swap_rtx_condition caller.
1993 If it returns true and debug_seen is 1, call swap_rtx_condition
1994 again with debug_seen -1.
1995
1996 2022-11-20 Jeff Law <jlaw@ventanamicro.com>
1997
1998 PR other/104044
1999 * config/mn10300/mn10300.cc (mn10300_print_operand): Remove
2000 extraneous semicolon.
2001 * config/nvptx/nvptx.cc (nvptx_goacc_reduction_fini): Likewise.
2002
2003 2022-11-19 Andrew Pinski <apinski@marvell.com>
2004
2005 PR middle-end/14840
2006 * tree-core.h (tree_code_type): Constexprify
2007 by including all-tree.def.
2008 (tree_code_length): Likewise.
2009 * tree.cc (tree_code_type): Remove.
2010 (tree_code_length): Remove.
2011
2012 2022-11-19 Thomas Schwinge <thomas@codesourcery.com>
2013
2014 * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for
2015 '-mmainkernel'.
2016
2017 2022-11-19 Jonathan Wakely <jwakely@redhat.com>
2018 LIU Hao <lh_mouse@126.com>
2019
2020 * system.h [INCLUDE_MUTEX]: Include header for std::mutex.
2021
2022 2022-11-19 Jakub Jelinek <jakub@redhat.com>
2023
2024 PR target/107628
2025 * config/i386/i386-protos.h (ix86_expand_fast_convert_bf_to_sf):
2026 Declare.
2027 * config/i386/i386-expand.cc (ix86_expand_fast_convert_bf_to_sf): New
2028 function.
2029 * config/i386/i386.md (cbranchbf4, cstorebf4): Use it.
2030
2031 2022-11-19 Jeff Chapman II <jchapman@lock3software.com>
2032 Andrew Sutton <asutton@lock3software.com>
2033 Andrew Marmaduke <amarmaduke@lock3software.com>
2034 Michael Lopez <mlopez@lock3software.com>
2035 Jason Merrill <jason@redhat.com>
2036
2037 * doc/invoke.texi: Document contracts flags.
2038
2039 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
2040
2041 * config/riscv/bitmanip.md (*minmax): Additional pattern for
2042 min/max against constants that are extension-invariant.
2043 * config/riscv/iterators.md (minmax_optab): Add an iterator
2044 that has only min and max rtl.
2045
2046 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
2047
2048 * config/riscv/bitmanip.md
2049 (*branch<X:mode>_mask_twobits_equals_singlebit):
2050 Handle "if ((a & T) == C)" using Zbs, when T has 2 bits set and C
2051 has one of these tow bits set.
2052 * config/riscv/predicates.md (const_twobits_not_arith_operand):
2053 New predicate.
2054
2055 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
2056
2057 * config/riscv/bitmanip.md (*<or_optab>i<mode>_extrabit):
2058 New pattern for binvi+binvi/xori and bseti+bseti/ori
2059 (*andi<mode>_extrabit): New pattern for bclri+bclri/andi
2060 * config/riscv/iterators.md (any_or): Match or and ior
2061 * config/riscv/predicates.md (const_twobits_operand):
2062 New predicate.
2063 (uimm_extra_bit_operand): New predicate.
2064 (uimm_extra_bit_or_twobits): New predicate.
2065 (not_uimm_extra_bit_operand): New predicate.
2066 (not_uimm_extra_bit_or_nottwobits): New predicate.
2067 * config/riscv/riscv.h (UIMM_EXTRA_BIT_OPERAND):
2068 Helper for the uimm_extra_bit_operand and
2069 not_uimm_extra_bit_operand predicates.
2070
2071 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
2072
2073 * config/riscv/bitmanip.md: Handle corner-cases for combine
2074 when chaining slli(.uw)? + addw
2075 * config/riscv/riscv-protos.h (riscv_shamt_matches_mask_p):
2076 Define prototype.
2077 * config/riscv/riscv.cc (riscv_shamt_matches_mask_p):
2078 Helper for evaluating the relationship between two operands.
2079
2080 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
2081
2082 * config/riscv/bitmanip.md: Add a define_split to optimize
2083 slliw + addiw + divw into sh[123]add + divw.
2084
2085 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
2086
2087 * config/riscv/predicates.md (shifted_const_arith_operand): New predicate.
2088 (uimm_extra_bit_operand): New predicate.
2089 * config/riscv/riscv.md (*branch<ANYI:mode>_shiftedarith_equals_zero):
2090 New pattern.
2091 (*branch<ANYI:mode>_shiftedmask_equals_zero): New pattern.
2092
2093 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
2094
2095 * config/riscv/bitmanip.md (*bsetidisi): New pattern.
2096
2097 2022-11-18 Richard Purdie <richard.purdie@linuxfoundation.org>
2098
2099 * doc/invoke.texi: Document prefix-maps don't affect directives.
2100
2101 2022-11-18 Andrew Pinski <apinski@marvell.com>
2102
2103 PR middle-end/107705
2104 * function.cc (aggregate_value_p): Return 0 if
2105 the function type was an error operand.
2106
2107 2022-11-18 Andrew Pinski <apinski@marvell.com>
2108
2109 PR c/106764
2110 PR c/106765
2111 PR c/107307
2112 * gimplify.cc (gimplify_compound_lval): Return GS_ERROR
2113 if gimplify_expr had return GS_ERROR.
2114 (gimplify_call_expr): Likewise.
2115
2116 2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2117
2118 * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_sext):
2119 Use <GPI:w> for destination format.
2120 * config/aarch64/iterators.md (w_sz): Delete.
2121
2122 2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2123
2124 * config/aarch64/aarch64.h (TARGET_RCPC2): Define.
2125 * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
2126 Adjust output template.
2127 (*aarch64_atomic_load<ALLX:mode>_rcpc_sex): Guard on TARGET_RCPC2.
2128 Adjust output template.
2129 * config/aarch64/iterators.md (w_sz): New mode attr.
2130
2131 2022-11-18 Richard Biener <rguenther@suse.de>
2132
2133 PR tree-optimization/107647
2134 * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only
2135 allow FMA generation with -ffp-contract=fast for FP types.
2136 (complex_mul_pattern::matches): Likewise.
2137
2138 2022-11-18 Jinyang He <hejinyang@loongson.cn>
2139
2140 PR target/107713
2141 * config/loongarch/sync.md
2142 (atomic_cas_value_exchange_7_<mode>): New define_insn.
2143 (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of
2144 atomic_cas_value_cmp_and_7_si.
2145
2146 2022-11-17 Andrew Pinski <apinski@marvell.com>
2147
2148 PR middle-end/107734
2149 * match.pd (perm + vector op pattern): Clear the sbitmap before
2150 use.
2151
2152 2022-11-17 Aldy Hernandez <aldyh@redhat.com>
2153
2154 PR tree-optimization/107732
2155 * range-op-float.cc (foperator_abs::op1_range): Early exit when
2156 result is undefined.
2157
2158 2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu>
2159
2160 * config/riscv/bitmanip.md (*bclri<mode>_nottwobits): New pattern.
2161 (*bclridisi_nottwobits): New pattern, handling the sign-bit.
2162 * config/riscv/predicates.md (const_nottwobits_operand):
2163 New predicate.
2164
2165 2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu>
2166
2167 * config/riscv/bitmanip.md: Add a splitter to generate
2168 polarity-reversed masks from a set bit using bexti + addi.
2169
2170 2022-11-17 mtsamis <manolis.tsamis@vrull.eu>
2171
2172 * config/riscv/riscv.cc (struct machine_function): Add array to store
2173 register wrapping information.
2174 (riscv_for_each_saved_reg): Skip registers that are wrapped separetely.
2175 (riscv_get_separate_components): New function.
2176 (riscv_components_for_bb): Likewise.
2177 (riscv_disqualify_components): Likewise.
2178 (riscv_process_components): Likewise.
2179 (riscv_emit_prologue_components): Likewise.
2180 (riscv_emit_epilogue_components): Likewise.
2181 (riscv_set_handled_components): Likewise.
2182 (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS): Define.
2183 (TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB): Likewise.
2184 (TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS): Likewise.
2185 (TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS): Likewise.
2186 (TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS): Likewise.
2187 (TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Likewise.
2188
2189 2022-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2190
2191 * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
2192 Add mode size check to condition.
2193 (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): Likewise.
2194
2195 2022-11-17 Aldy Hernandez <aldyh@redhat.com>
2196
2197 PR tree-optimization/68097
2198 * gimple-fold.cc (gimple_stmt_nonnegative_warnv_p): Call
2199 range_of_stmt for floats.
2200
2201 2022-11-17 Lili Cui <lili.cui@intel.com>
2202
2203 * config/i386/x86-tune.def
2204 (X86_TUNE_AVX256_MOVE_BY_PIECES): Add alderlake.
2205 (X86_TUNE_AVX256_STORE_BY_PIECES): Ditto.
2206
2207 2022-11-17 Tamar Christina <tamar.christina@arm.com>
2208
2209 PR tree-optimization/107717
2210 * match.pd: Ensure same SSA_NAME.
2211
2212 2022-11-17 Tamar Christina <tamar.christina@arm.com>
2213
2214 * match.pd: Replace GET_MODE_WIDER_MODE with
2215 custom code.
2216
2217 2022-11-17 Aldy Hernandez <aldyh@redhat.com>
2218
2219 * range-op-float.cc (range_operator_float::fold_range): Make check
2220 for maybe_isnan more readable.
2221
2222 2022-11-17 Kewen Lin <linkw@linux.ibm.com>
2223
2224 * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use
2225 tree_fits_shwi_p rather than tree_fits_uhwi_p as bias is signed.
2226
2227 2022-11-17 Jia-Wei Chen <jiawei@iscas.ac.cn>
2228
2229 * config/riscv/riscv.cc (riscv_expand_epilogue):
2230 Do not emit useless add sp, sp, 0 instrutions.
2231
2232 2022-11-17 Jeff Law <jlaw@ventanamicro.com>
2233
2234 * config/sh/sh_treg_combine.cc: Include tm-preds.h.
2235 (t_reg_operand): Remove bogus prototype.
2236 (negt_reg_operand): Likewise.
2237
2238 2022-11-16 Marek Polacek <polacek@redhat.com>
2239
2240 PR c++/106649
2241 * doc/invoke.texi: Document -Winvalid-constexpr.
2242
2243 2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu>
2244
2245 * config/riscv/bitmanip.md: Add split covering
2246 "(a & (1 << BIT_NO)) ? 0 : 1".
2247
2248 2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu>
2249
2250 * config/riscv/bitmanip.md (*bext<mode>): Add an additional
2251 pattern that allows the 3rd argument to zero_extract to be
2252 an Xmode register operand.
2253
2254 2022-11-16 Richard Biener <rguenther@suse.de>
2255
2256 PR tree-optimization/107686
2257 * tree-ssa-forwprop.cc (optimize_vector_load): Restrict
2258 VEC_UNPACK support to integral typed bitfield refs.
2259
2260 2022-11-16 Richard Biener <rguenther@suse.de>
2261
2262 PR middle-end/107679
2263 * tree-into-ssa.cc (maybe_register_def): Use new temporary if
2264 we require an uninitialized value for a parameter decl.
2265
2266 2022-11-16 Alexander Monakov <amonakov@ispras.ru>
2267
2268 PR target/107676
2269 * doc/invoke.texi (-mrelax-cmpxchg-loop): Reword description.
2270
2271 2022-11-16 Alexander Monakov <amonakov@ispras.ru>
2272
2273 PR target/87832
2274 * config/i386/znver.md: (znver1_fp_op_mul): Correct cycles in
2275 the reservation.
2276 (znver1_fp_op_mul_load): Ditto.
2277 (znver1_mmx_mul): Ditto.
2278 (znver1_mmx_load): Ditto.
2279 (znver1_ssemul_ss_ps): Ditto.
2280 (znver1_ssemul_ss_ps_load): Ditto.
2281 (znver1_ssemul_avx256_ps): Ditto.
2282 (znver1_ssemul_avx256_ps_load): Ditto.
2283 (znver1_ssemul_sd_pd): Ditto.
2284 (znver1_ssemul_sd_pd_load): Ditto.
2285 (znver2_ssemul_sd_pd): Ditto.
2286 (znver2_ssemul_sd_pd_load): Ditto.
2287 (znver1_ssemul_avx256_pd): Ditto.
2288 (znver1_ssemul_avx256_pd_load): Ditto.
2289 (znver1_sseimul): Ditto.
2290 (znver1_sseimul_avx256): Ditto.
2291 (znver1_sseimul_load): Ditto.
2292 (znver1_sseimul_avx256_load): Ditto.
2293 (znver1_sseimul_di): Ditto.
2294 (znver1_sseimul_load_di): Ditto.
2295
2296 2022-11-16 Alexander Monakov <amonakov@ispras.ru>
2297
2298 PR target/87832
2299 * config/i386/znver.md (znver1_fdiv): New automaton.
2300 (znver1-fdiv): New unit.
2301 (znver1_fp_op_div): Correct unit and cycles in the reservation.
2302 (znver1_fp_op_div_load): Ditto.
2303 (znver1_fp_op_idiv_load): Ditto.
2304 (znver2_fp_op_idiv_load): Ditto.
2305 (znver1_ssediv_ss_ps): Ditto.
2306 (znver1_ssediv_ss_ps_load): Ditto.
2307 (znver1_ssediv_sd_pd): Ditto.
2308 (znver1_ssediv_sd_pd_load): Ditto.
2309 (znver1_ssediv_avx256_ps): Ditto.
2310 (znver1_ssediv_avx256_ps_load): Ditto.
2311 (znver1_ssediv_avx256_pd): Ditto.
2312 (znver1_ssediv_avx256_pd_load): Ditto.
2313
2314 2022-11-16 Tobias Burnus <tobias@codesourcery.com>
2315 Andrew Stubbs <ams@codesourcery.com>
2316
2317 * config/gcn/gcn-builtins.def (KERNARG_PTR): Add.
2318 * config/gcn/gcn.cc (gcn_init_builtin_types): Change siptr_type_node,
2319 sfptr_type_node and voidptr_type_node from FLAT to ADDR_SPACE_DEFAULT.
2320 (gcn_expand_builtin_1): Handle GCN_BUILTIN_KERNARG_PTR.
2321 (gcn_oacc_dim_size): Return in ADDR_SPACE_FLAT.
2322
2323 2022-11-16 David Malcolm <dmalcolm@redhat.com>
2324
2325 * Makefile.in (ANALYZER_OBJS): Add analyzer/checker-event.o.
2326
2327 2022-11-16 Max Filippov <jcmvbkbc@gmail.com>
2328
2329 PR target/107645
2330 * config/m68k/predicates.md (symbolic_operand): Return false
2331 when UNSPEC is under the CONST node.
2332
2333 2022-11-16 Christoph Müllner <christoph.muellner@vrull.eu>
2334
2335 * doc/invoke.texi: Fix PRU/RISC-V option list formatting.
2336
2337 2022-11-16 Tobias Burnus <tobias@codesourcery.com>
2338
2339 * config/nvptx/mkoffload.cc (process): Recognize '$nohost$...'
2340 besides tailing '$nohost' as being for reverse offload.
2341
2342 2022-11-16 Jakub Jelinek <jakub@redhat.com>
2343
2344 PR tree-optimization/107668
2345 * range-op-float.cc (float_binary_op_range_finish): Set VARYING
2346 also when r is UNDEFINED.
2347
2348 2022-11-16 Kewen Lin <linkw@linux.ibm.com>
2349
2350 PR rtl-optimization/90259
2351 * function.cc (rest_of_handle_thread_prologue_and_epilogue): Add
2352 parameter fun, and call function purge_all_dead_edges.
2353 (pass_thread_prologue_and_epilogue::execute): Name unamed parameter
2354 as fun, and use it for rest_of_handle_thread_prologue_and_epilogue.
2355
2356 2022-11-15 Philipp Tomsich <philipp.tomsich@vrull.eu>
2357
2358 * config/riscv/riscv-builtins.cc (struct riscv_builtin_description):
2359 add the pause machine-dependent builtin with no result and no
2360 arguments; mark it as always present (pause is a true hint
2361 that encodes into a fence-insn, if not supported with the new
2362 pause semantics).
2363 * config/riscv/riscv-ftypes.def: Add type for void -> void.
2364 * config/riscv/riscv.md (riscv_pause): Add risc_pause and
2365 UNSPECV_PAUSE
2366 * doc/extend.texi: Document __builtin_riscv_pause.
2367 * optabs.cc (maybe_gen_insn): Allow nops == 0 (void -> void).
2368
2369 2022-11-15 David Faust <david.faust@oracle.com>
2370
2371 * config/bpf/bpf.cc (bpf_expand_builtin): Avoid use of uninitialized
2372 variable in error case.
2373
2374 2022-11-15 David Malcolm <dmalcolm@redhat.com>
2375
2376 PR analyzer/106140
2377 * doc/invoke.texi (Static Analyzer Options): Add
2378 -Wanalyzer-fd-phase-mismatch and -Wanalyzer-fd-type-mismatch. Add
2379 "socket", "bind", "listen", "accept", and "connect" to the list of
2380 functions known to the analyzer.
2381
2382 2022-11-15 David Malcolm <dmalcolm@redhat.com>
2383
2384 PR analyzer/106302
2385 * Makefile.in (ANALYZER_OBJS): Add analyzer/analyzer-language.o.
2386 (GTFILES): Add analyzer/analyzer-language.cc.
2387 * doc/analyzer.texi: Document __analyzer_dump_named_constant.
2388
2389 2022-11-15 Lewis Hyatt <lhyatt@gmail.com>
2390
2391 * json.h (class string): Add M_LEN member to store the length of
2392 the data. Add constructor taking an explicit length.
2393 * json.cc (string::string): Implement the new constructor.
2394 (string::print): Support printing strings that are not
2395 null-terminated. Escape embdedded null bytes on output.
2396 (test_writing_strings): Test the new null-byte-related features of
2397 json::string.
2398
2399 2022-11-15 Lewis Hyatt <lhyatt@gmail.com>
2400
2401 * diagnostic.cc (diagnostic_get_location_text): Use
2402 special_fname_builtin () rather than a hardcoded string (which was
2403 also incorrectly left untranslated previously.)
2404 * input.cc (special_fname_builtin): New function.
2405 (expand_location_1): Use special_fname_builtin () rather than a
2406 hard-coded string.
2407 (test_builtins): Likewise.
2408 * input.h (special_fname_builtin): Declare.
2409
2410 2022-11-15 Lewis Hyatt <lhyatt@gmail.com>
2411
2412 * tree-diagnostic.cc (maybe_unwind_expanded_macro_loc): Handle ad-hoc
2413 location in return value of linemap_resolve_location().
2414
2415 2022-11-15 Jonathan Wakely <jwakely@redhat.com>
2416
2417 * doc/cpp.texi (Pragmas): Use @item and @itemx for region
2418 pragmas.
2419
2420 2022-11-15 Maciej W. Rozycki <macro@embecosm.com>
2421
2422 * ira-color.cc (assign_hard_reg): Remove duplicate `memset' over
2423 `full_costs'.
2424
2425 2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
2426
2427 * config/aarch64/atomics.md
2428 (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): New pattern.
2429 (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): New pattern.
2430
2431 2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
2432 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2433
2434 * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New Macro.
2435 (TARGET_RCPC): New Macro.
2436 * config/aarch64/atomics.md (atomic_load<mode>): Change into an expand.
2437 (aarch64_atomic_load<mode>_rcpc): New define_insn for ldapr.
2438 (aarch64_atomic_load<mode>): Rename of old define_insn for ldar.
2439 * config/aarch64/iterators.md (UNSPEC_LDAP): New unspec enum value.
2440 * doc/invoke.texi (rcpc): Ammend documentation to mention the effects
2441 on code generation.
2442
2443 2022-11-15 Hongyu Wang <hongyu.wang@intel.com>
2444
2445 PR target/98167
2446 * match.pd: New perm + vector op patterns for int and fp vector.
2447
2448 2022-11-15 Andrew Pinski <apinski@marvell.com>
2449
2450 * doc/invoke.texi: Remove Score option section.
2451
2452 2022-11-15 Andrew Pinski <apinski@marvell.com>
2453
2454 * doc/extend.texi: Remove picoChip builtin section.
2455 * doc/invoke.texi: Remove picoChip option section.
2456
2457 2022-11-15 Andrew Pinski <apinski@marvell.com>
2458
2459 * doc/extend.texi: Remove MeP documentation.
2460 * doc/invoke.texi: Remove MeP Options documentation.
2461
2462 2022-11-15 Andrew Pinski <apinski@marvell.com>
2463
2464 * doc/invoke.texi: Fix opindex for mcall-aixdesc and mcall-openbsd.
2465
2466 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2467
2468 Revert:
2469 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2470
2471 * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1.
2472 (RISCV_CORE): Ditto.
2473 * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto.
2474 * config/riscv/riscv.cc: Add tune_info for ventana-vt1.
2475 * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1.
2476
2477 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2478
2479 Revert:
2480 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2481
2482 * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
2483 constants to identify supported fusion patterns.
2484 (struct riscv_tune_param): Add fusible_op field.
2485 (riscv_macro_fusion_p): Implement.
2486 (riscv_fusion_enabled_p): Implement.
2487 (riscv_macro_fusion_pair_p): Implement and recognize fusible
2488 idioms for Ventana VT1.
2489 (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
2490 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to
2491 riscv_macro_fusion_pair_p.
2492
2493 2022-11-14 Maciej W. Rozycki <macro@embecosm.com>
2494
2495 * ira-build.cc (create_insn_allocnos): Fix documentation.
2496
2497 2022-11-14 Tamar Christina <tamar.christina@arm.com>
2498
2499 * match.pd: Remove returns.
2500
2501 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2502
2503 * config/riscv/bitmanip.md (orcb<mode>2): Add orc.b as an
2504 unspec.
2505 * config/riscv/riscv.md: Add UNSPEC_ORC_B.
2506
2507 2022-11-14 Tamar Christina <tamar.christina@arm.com>
2508
2509 * target.def: Fix typo.
2510
2511 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2512
2513 * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
2514 constants to identify supported fusion patterns.
2515 (struct riscv_tune_param): Add fusible_op field.
2516 (riscv_macro_fusion_p): Implement.
2517 (riscv_fusion_enabled_p): Implement.
2518 (riscv_macro_fusion_pair_p): Implement and recognize fusible
2519 idioms for Ventana VT1.
2520 (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
2521 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to
2522 riscv_macro_fusion_pair_p.
2523
2524 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2525
2526 * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1.
2527 (RISCV_CORE): Ditto.
2528 * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto.
2529 * config/riscv/riscv.cc: Add tune_info for ventana-vt1.
2530 * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1.
2531
2532 2022-11-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2533
2534 * config/aarch64/aarch64-option-extensions.def (cssc): Define.
2535 * config/aarch64/aarch64.h (AARCH64_ISA_CSSC): Define.
2536 (TARGET_CSSC): Likewise.
2537 * config/aarch64/aarch64.md (*aarch64_abs<mode>2_cssc_ins): New define_insn.
2538 (abs<mode>2): Adjust for the above.
2539 (aarch64_umax<mode>3_insn): New define_insn.
2540 (umax<mode>3): Adjust for the above.
2541 (*aarch64_popcount<mode>2_cssc_insn): New define_insn.
2542 (popcount<mode>2): Adjust for the above.
2543 (<optab><mode>3): New define_insn.
2544 * config/aarch64/constraints.md (Usm): Define.
2545 (Uum): Likewise.
2546 * doc/invoke.texi (AArch64 options): Document +cssc.
2547 * config/aarch64/iterators.md (MAXMIN_NOUMAX): New code iterator.
2548 * config/aarch64/predicates.md (aarch64_sminmax_immediate): Define.
2549 (aarch64_sminmax_operand): Likewise.
2550 (aarch64_uminmax_immediate): Likewise.
2551 (aarch64_uminmax_operand): Likewise.
2552
2553 2022-11-14 Tamar Christina <tamar.christina@arm.com>
2554
2555 * config/aarch64/aarch64-sve2.md (@aarch64_bitmask_udiv<mode>3): New.
2556
2557 2022-11-14 Tamar Christina <tamar.christina@arm.com>
2558
2559 * config/aarch64/aarch64-simd.md (@aarch64_bitmask_udiv<mode>3): New.
2560 * config/aarch64/aarch64.cc (aarch64_vectorize_can_special_div_by_constant): New.
2561
2562 2022-11-14 Tamar Christina <tamar.christina@arm.com>
2563
2564 * expmed.h (expand_divmod): Pass tree operands down in addition to RTX.
2565 * expmed.cc (expand_divmod): Likewise.
2566 * explow.cc (round_push, align_dynamic_address): Likewise.
2567 * expr.cc (force_operand, expand_expr_divmod): Likewise.
2568 * optabs.cc (expand_doubleword_mod, expand_doubleword_divmod):
2569 Likewise.
2570 * target.h: Include tree-core.
2571 * target.def (can_special_div_by_const): New.
2572 * targhooks.cc (default_can_special_div_by_const): New.
2573 * targhooks.h (default_can_special_div_by_const): New.
2574 * tree-vect-generic.cc (expand_vector_operation): Use it.
2575 * doc/tm.texi.in: Document it.
2576 * doc/tm.texi: Regenerate.
2577 * tree-vect-patterns.cc (vect_recog_divmod_pattern): Check for support.
2578 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
2579
2580 2022-11-14 Tamar Christina <tamar.christina@arm.com>
2581
2582 * generic-match-head.cc: Include langooks.
2583 * gimple-match-head.cc: Likewise.
2584 * match.pd: Add fneg/fadd rule.
2585
2586 2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
2587
2588 * config/arm/arm-cpus.in (cortex-x1c): Define new CPU.
2589 * config/arm/arm-tables.opt: Regenerate.
2590 * config/arm/arm-tune.md: Likewise.
2591 * doc/invoke.texi: Document Cortex-X1C CPU.
2592
2593 2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
2594
2595 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X3
2596 CPU.
2597 * config/aarch64/aarch64-tune.md: Regenerate.
2598 * doc/invoke.texi: Document Cortex-X3 CPU.
2599
2600 2022-11-14 Andrew Pinski <apinski@marvell.com>
2601
2602 * doc/invoke.texi: Fix @opindex
2603 for m80387 option.
2604
2605 2022-11-14 Andrew Pinski <apinski@marvell.com>
2606
2607 * doc/invoke.texi: Remove the front - from
2608 some @opindex.
2609
2610 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2611
2612 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a.
2613 * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs.
2614 * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
2615 Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two
2616 registers and then +1/-1).
2617 * config/aarch64/aarch64-tune.md: Regenerate.
2618 * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement
2619 idiom-matcher for the new fusion pair.
2620 * doc/invoke.texi: Add ampere1a.
2621
2622 2022-11-14 Richard Biener <rguenther@suse.de>
2623
2624 * match.pd: Remove duplicates.
2625
2626 2022-11-14 Martin Liska <mliska@suse.cz>
2627
2628 * doc/contrib.texi: Port from Sphinx.
2629 * doc/cpp.texi: Likewise.
2630 * doc/install.texi: Likewise.
2631 * doc/invoke.texi: Likewise.
2632
2633 2022-11-14 Martin Liska <mliska@suse.cz>
2634
2635 Revert:
2636 2022-11-14 Martin Liska <mliska@suse.cz>
2637
2638 * doc/cpp/character-sets.rst: New file.
2639 * doc/cpp/conditional-syntax.rst: New file.
2640 * doc/cpp/conditional-uses.rst: New file.
2641 * doc/cpp/conditionals.rst: New file.
2642 * doc/cpp/conf.py: New file.
2643 * doc/cpp/copyright.rst: New file.
2644 * doc/cpp/deleted-code.rst: New file.
2645 * doc/cpp/diagnostics.rst: New file.
2646 * doc/cpp/environment-variables.rst: New file.
2647 * doc/cpp/gnu-free-documentation-license.rst: New file.
2648 * doc/cpp/header-files.rst: New file.
2649 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
2650 * doc/cpp/header-files/computed-includes.rst: New file.
2651 * doc/cpp/header-files/include-operation.rst: New file.
2652 * doc/cpp/header-files/include-syntax.rst: New file.
2653 * doc/cpp/header-files/once-only-headers.rst: New file.
2654 * doc/cpp/header-files/search-path.rst: New file.
2655 * doc/cpp/header-files/system-headers.rst: New file.
2656 * doc/cpp/header-files/wrapper-headers.rst: New file.
2657 * doc/cpp/implementation-defined-behavior.rst: New file.
2658 * doc/cpp/implementation-details.rst: New file.
2659 * doc/cpp/implementation-limits.rst: New file.
2660 * doc/cpp/index.rst: New file.
2661 * doc/cpp/indices-and-tables.rst: New file.
2662 * doc/cpp/initial-processing.rst: New file.
2663 * doc/cpp/invocation.rst: New file.
2664 * doc/cpp/line-control.rst: New file.
2665 * doc/cpp/macros.rst: New file.
2666 * doc/cpp/macros/concatenation.rst: New file.
2667 * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
2668 * doc/cpp/macros/function-like-macros.rst: New file.
2669 * doc/cpp/macros/macro-arguments.rst: New file.
2670 * doc/cpp/macros/macro-pitfalls.rst: New file.
2671 * doc/cpp/macros/object-like-macros.rst: New file.
2672 * doc/cpp/macros/predefined-macros.rst: New file.
2673 * doc/cpp/macros/stringizing.rst: New file.
2674 * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
2675 * doc/cpp/macros/variadic-macros.rst: New file.
2676 * doc/cpp/obsolete-features.rst: New file.
2677 * doc/cpp/other-directives.rst: New file.
2678 * doc/cpp/overview.rst: New file.
2679 * doc/cpp/pragmas.rst: New file.
2680 * doc/cpp/preprocessor-output.rst: New file.
2681 * doc/cpp/the-preprocessing-language.rst: New file.
2682 * doc/cpp/tokenization.rst: New file.
2683 * doc/cpp/traditional-lexical-analysis.rst: New file.
2684 * doc/cpp/traditional-macros.rst: New file.
2685 * doc/cpp/traditional-miscellany.rst: New file.
2686 * doc/cpp/traditional-mode.rst: New file.
2687 * doc/cpp/traditional-warnings.rst: New file.
2688 * doc/cppinternals/conf.py: New file.
2689 * doc/cppinternals/copyright.rst: New file.
2690 * doc/cppinternals/cppinternals.rst: New file.
2691 * doc/cppinternals/cpplib.rst: New file.
2692 * doc/cppinternals/files.rst: New file.
2693 * doc/cppinternals/index.rst: New file.
2694 * doc/cppinternals/indices-and-tables.rst: New file.
2695 * doc/cppinternals/internal-representation-of-macros.rst: New file.
2696 * doc/cppinternals/just-which-line-number-anyway.rst: New file.
2697 * doc/cppinternals/lexing-a-line.rst: New file.
2698 * doc/cppinternals/lexing-a-token.rst: New file.
2699 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
2700 * doc/cppinternals/macro-expansion-overview.rst: New file.
2701 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
2702 * doc/cppinternals/multiple-include-optimization.rst: New file.
2703 * doc/cppinternals/overview.rst: New file.
2704 * doc/cppinternals/representation-of-line-numbers.rst: New file.
2705 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
2706 * doc/gcc/binary-compatibility.rst: New file.
2707 * doc/gcc/c++-implementation-defined-behavior.rst: New file.
2708 * doc/gcc/c-implementation-defined-behavior.rst: New file.
2709 * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
2710 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
2711 * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
2712 * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
2713 * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
2714 * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
2715 * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
2716 * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
2717 * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
2718 * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
2719 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
2720 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
2721 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
2722 * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
2723 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
2724 New file.
2725 * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
2726 * doc/gcc/conditionally-supported-behavior.rst: New file.
2727 * doc/gcc/conf.py: New file.
2728 * doc/gcc/contributing-to-gcc-development.rst: New file.
2729 * doc/gcc/contributors-to-gcc.rst: New file.
2730 * doc/gcc/copyright.rst: New file.
2731 * doc/gcc/exception-handling.rst: New file.
2732 * doc/gcc/extensions-to-the-c++-language.rst: New file.
2733 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
2734 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
2735 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
2736 New file.
2737 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
2738 New file.
2739 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
2740 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
2741 New file.
2742 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
2743 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
2744 * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
2745 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
2746 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
2747 New file.
2748 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
2749 * doc/gcc/extensions-to-the-c-language-family.rst: New file.
2750 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
2751 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
2752 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
2753 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
2754 New file.
2755 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
2756 New file.
2757 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
2758 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
2759 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
2760 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
2761 New file.
2762 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
2763 New file.
2764 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
2765 New file.
2766 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
2767 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
2768 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
2769 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
2770 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
2771 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
2772 New file.
2773 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
2774 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
2775 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
2776 New file.
2777 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
2778 New file.
2779 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
2780 New file.
2781 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
2782 New file.
2783 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
2784 New file.
2785 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
2786 New file.
2787 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
2788 New file.
2789 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
2790 New file.
2791 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
2792 New file.
2793 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
2794 New file.
2795 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
2796 New file.
2797 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
2798 New file.
2799 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
2800 New file.
2801 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
2802 New file.
2803 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
2804 New file.
2805 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
2806 New file.
2807 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
2808 New file.
2809 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
2810 New file.
2811 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
2812 New file.
2813 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
2814 New file.
2815 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
2816 New file.
2817 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
2818 New file.
2819 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
2820 New file.
2821 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
2822 New file.
2823 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
2824 New file.
2825 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
2826 New file.
2827 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
2828 New file.
2829 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
2830 New file.
2831 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
2832 New file.
2833 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
2834 New file.
2835 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
2836 New file.
2837 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
2838 New file.
2839 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
2840 New file.
2841 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
2842 New file.
2843 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
2844 New file.
2845 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
2846 New file.
2847 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
2848 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
2849 New file.
2850 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
2851 New file.
2852 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
2853 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
2854 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
2855 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
2856 New file.
2857 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
2858 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
2859 New file.
2860 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
2861 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
2862 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
2863 New file.
2864 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
2865 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
2866 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
2867 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
2868 New file.
2869 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
2870 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
2871 New file.
2872 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
2873 New file.
2874 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
2875 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
2876 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
2877 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
2878 New file.
2879 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
2880 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
2881 New file.
2882 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
2883 New file.
2884 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
2885 New file.
2886 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
2887 New file.
2888 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
2889 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
2890 New file.
2891 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
2892 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
2893 New file.
2894 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
2895 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
2896 New file.
2897 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
2898 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
2899 New file.
2900 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
2901 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
2902 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
2903 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
2904 New file.
2905 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
2906 New file.
2907 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
2908 New file.
2909 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
2910 New file.
2911 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
2912 New file.
2913 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
2914 New file.
2915 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
2916 New file.
2917 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
2918 New file.
2919 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
2920 New file.
2921 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
2922 New file.
2923 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
2924 New file.
2925 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
2926 New file.
2927 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
2928 New file.
2929 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
2930 New file.
2931 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
2932 New file.
2933 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
2934 New file.
2935 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
2936 New file.
2937 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
2938 New file.
2939 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
2940 New file.
2941 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
2942 New file.
2943 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
2944 New file.
2945 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
2946 New file.
2947 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
2948 New file.
2949 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
2950 New file.
2951 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
2952 New file.
2953 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
2954 New file.
2955 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
2956 New file.
2957 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
2958 New file.
2959 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
2960 New file.
2961 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
2962 New file.
2963 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
2964 New file.
2965 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
2966 New file.
2967 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
2968 New file.
2969 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
2970 New file.
2971 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
2972 New file.
2973 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
2974 New file.
2975 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
2976 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
2977 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
2978 New file.
2979 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
2980 New file.
2981 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
2982 New file.
2983 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
2984 New file.
2985 * doc/gcc/funding.rst: New file.
2986 * doc/gcc/gcc-command-options.rst: New file.
2987 * doc/gcc/gcc-command-options/c++-modules.rst: New file.
2988 * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
2989 * doc/gcc/gcc-command-options/description.rst: New file.
2990 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
2991 * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
2992 * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
2993 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
2994 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
2995 New file.
2996 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
2997 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
2998 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
2999 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
3000 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
3001 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
3002 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
3003 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
3004 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
3005 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
3006 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
3007 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
3008 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
3009 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
3010 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
3011 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
3012 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
3013 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
3014 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
3015 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
3016 New file.
3017 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
3018 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
3019 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
3020 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
3021 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
3022 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
3023 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
3024 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
3025 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
3026 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
3027 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
3028 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
3029 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
3030 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
3031 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
3032 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
3033 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
3034 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
3035 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
3036 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
3037 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
3038 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
3039 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
3040 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
3041 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
3042 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
3043 New file.
3044 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
3045 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
3046 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
3047 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
3048 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
3049 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
3050 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
3051 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
3052 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
3053 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
3054 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
3055 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
3056 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
3057 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
3058 * doc/gcc/gcc-command-options/option-summary.rst: New file.
3059 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
3060 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
3061 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
3062 New file.
3063 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
3064 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
3065 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
3066 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
3067 * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
3068 * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
3069 * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
3070 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
3071 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
3072 New file.
3073 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
3074 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
3075 * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
3076 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
3077 New file.
3078 * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
3079 * doc/gcc/gcc.rst: New file.
3080 * doc/gcc/gcov-dump.rst: New file.
3081 * doc/gcc/gcov-tool.rst: New file.
3082 * doc/gcc/gcov.rst: New file.
3083 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
3084 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
3085 * doc/gcc/gcov/introduction-to-gcov.rst: New file.
3086 * doc/gcc/gcov/invoking-gcov.rst: New file.
3087 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
3088 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
3089 * doc/gcc/general-public-license-3.rst: New file.
3090 * doc/gcc/gnu-free-documentation-license.rst: New file.
3091 * doc/gcc/gnu-objective-c-features.rst: New file.
3092 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
3093 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
3094 * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
3095 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
3096 * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
3097 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
3098 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
3099 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
3100 * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
3101 * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
3102 * doc/gcc/gnu.rst: New file.
3103 * doc/gcc/have-you-found-a-bug.rst: New file.
3104 * doc/gcc/how-and-where-to-report-bugs.rst: New file.
3105 * doc/gcc/how-to-get-help-with-gcc.rst: New file.
3106 * doc/gcc/index.rst: New file.
3107 * doc/gcc/indices-and-tables.rst: New file.
3108 * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
3109 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
3110 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
3111 New file.
3112 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
3113 New file.
3114 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
3115 New file.
3116 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
3117 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
3118 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
3119 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
3120 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
3121 New file.
3122 * doc/gcc/language-standards-supported-by-gcc.rst: New file.
3123 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
3124 * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
3125 * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
3126 * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
3127 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
3128 New file.
3129 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
3130 * doc/gcc/lto-dump.rst: New file.
3131 * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
3132 * doc/gcc/reporting-bugs.rst: New file.
3133 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
3134 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
3135 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
3136 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
3137 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
3138 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
3139 New file.
3140 * doc/gccint/analysis-and-representation-of-loops.rst: New file.
3141 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
3142 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
3143 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
3144 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
3145 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
3146 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
3147 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
3148 New file.
3149 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
3150 * doc/gccint/analyzer-internals.rst: New file.
3151 * doc/gccint/collect2.rst: New file.
3152 * doc/gccint/conf.py: New file.
3153 * doc/gccint/contributing-to-gcc-development.rst: New file.
3154 * doc/gccint/contributors-to-gcc.rst: New file.
3155 * doc/gccint/control-flow-graph.rst: New file.
3156 * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
3157 * doc/gccint/control-flow-graph/edges.rst: New file.
3158 * doc/gccint/control-flow-graph/liveness-information.rst: New file.
3159 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
3160 * doc/gccint/control-flow-graph/profile-information.rst: New file.
3161 * doc/gccint/copyright.rst: New file.
3162 * doc/gccint/debugging-the-analyzer.rst: New file.
3163 * doc/gccint/funding.rst: New file.
3164 * doc/gccint/gcc-and-portability.rst: New file.
3165 * doc/gccint/general-public-license-3.rst: New file.
3166 * doc/gccint/generic.rst: New file.
3167 * doc/gccint/generic/attributes-in-trees.rst: New file.
3168 * doc/gccint/generic/c-and-c++-trees.rst: New file.
3169 * doc/gccint/generic/declarations.rst: New file.
3170 * doc/gccint/generic/deficiencies.rst: New file.
3171 * doc/gccint/generic/expressions.rst: New file.
3172 * doc/gccint/generic/functions.rst: New file.
3173 * doc/gccint/generic/language-dependent-trees.rst: New file.
3174 * doc/gccint/generic/overview.rst: New file.
3175 * doc/gccint/generic/statements.rst: New file.
3176 * doc/gccint/generic/types.rst: New file.
3177 * doc/gccint/gimple-api.rst: New file.
3178 * doc/gccint/gimple.rst: New file.
3179 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
3180 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
3181 * doc/gccint/gimple/exception-handling.rst: New file.
3182 * doc/gccint/gimple/gimple-instruction-set.rst: New file.
3183 * doc/gccint/gimple/gimple-sequences.rst: New file.
3184 * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
3185 * doc/gccint/gimple/operands.rst: New file.
3186 * doc/gccint/gimple/sequence-iterators.rst: New file.
3187 * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
3188 * doc/gccint/gimple/temporaries.rst: New file.
3189 * doc/gccint/gimple/tuple-representation.rst: New file.
3190 * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
3191 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
3192 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
3193 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
3194 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
3195 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
3196 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
3197 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
3198 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
3199 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
3200 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
3201 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
3202 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
3203 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
3204 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
3205 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
3206 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
3207 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
3208 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
3209 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
3210 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
3211 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
3212 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
3213 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
3214 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
3215 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
3216 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
3217 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
3218 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
3219 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
3220 * doc/gccint/gnu-free-documentation-license.rst: New file.
3221 * doc/gccint/guidelines-for-diagnostics.rst: New file.
3222 * doc/gccint/guidelines-for-options.rst: New file.
3223 * doc/gccint/host-common.rst: New file.
3224 * doc/gccint/host-configuration.rst: New file.
3225 * doc/gccint/host-filesystem.rst: New file.
3226 * doc/gccint/host-makefile-fragments.rst: New file.
3227 * doc/gccint/host-misc.rst: New file.
3228 * doc/gccint/index.rst: New file.
3229 * doc/gccint/indices-and-tables.rst: New file.
3230 * doc/gccint/interfacing-to-gcc-output.rst: New file.
3231 * doc/gccint/introduction.rst: New file.
3232 * doc/gccint/language-front-ends-in-gcc.rst: New file.
3233 * doc/gccint/link-time-optimization.rst: New file.
3234 * doc/gccint/link-time-optimization/design-overview.rst: New file.
3235 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
3236 * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
3237 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
3238 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
3239 New file.
3240 * doc/gccint/machine-descriptions.rst: New file.
3241 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
3242 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
3243 * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
3244 * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
3245 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
3246 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
3247 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
3248 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
3249 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
3250 * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
3251 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
3252 * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
3253 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
3254 * doc/gccint/machine-descriptions/iterators.rst: New file.
3255 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
3256 * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
3257 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
3258 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
3259 New file.
3260 * doc/gccint/machine-descriptions/predicates.rst: New file.
3261 * doc/gccint/machine-descriptions/rtl-template.rst: New file.
3262 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
3263 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
3264 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
3265 * doc/gccint/makefile-fragments.rst: New file.
3266 * doc/gccint/match-and-simplify.rst: New file.
3267 * doc/gccint/memory-management-and-type-information.rst: New file.
3268 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
3269 New file.
3270 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
3271 New file.
3272 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
3273 New file.
3274 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
3275 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
3276 New file.
3277 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
3278 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
3279 New file.
3280 * doc/gccint/option-file-format.rst: New file.
3281 * doc/gccint/option-properties.rst: New file.
3282 * doc/gccint/option-specification-files.rst: New file.
3283 * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
3284 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
3285 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
3286 New file.
3287 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
3288 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
3289 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
3290 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
3291 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
3292 * doc/gccint/plugins.rst: New file.
3293 * doc/gccint/plugins/building-gcc-plugins.rst: New file.
3294 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
3295 * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
3296 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
3297 * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
3298 * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
3299 * doc/gccint/plugins/loading-plugins.rst: New file.
3300 * doc/gccint/plugins/plugin-api.rst: New file.
3301 * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
3302 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
3303 * doc/gccint/rtl-representation.rst: New file.
3304 * doc/gccint/rtl-representation/access-to-operands.rst: New file.
3305 * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
3306 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
3307 * doc/gccint/rtl-representation/bit-fields.rst: New file.
3308 * doc/gccint/rtl-representation/comparison-operations.rst: New file.
3309 * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
3310 * doc/gccint/rtl-representation/conversions.rst: New file.
3311 * doc/gccint/rtl-representation/declarations.rst: New file.
3312 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
3313 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
3314 * doc/gccint/rtl-representation/insns.rst: New file.
3315 * doc/gccint/rtl-representation/machine-modes.rst: New file.
3316 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
3317 * doc/gccint/rtl-representation/reading-rtl.rst: New file.
3318 * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
3319 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
3320 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
3321 * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
3322 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
3323 * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
3324 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
3325 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
3326 * doc/gccint/rtl-representation/vector-operations.rst: New file.
3327 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
3328 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
3329 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
3330 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
3331 New file.
3332 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
3333 New file.
3334 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
3335 New file.
3336 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
3337 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
3338 New file.
3339 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
3340 New file.
3341 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
3342 * doc/gccint/source-tree-structure-and-build-system.rst: New file.
3343 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
3344 New file.
3345 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
3346 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
3347 New file.
3348 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
3349 New file.
3350 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
3351 New file.
3352 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
3353 New file.
3354 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
3355 New file.
3356 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
3357 New file.
3358 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
3359 New file.
3360 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
3361 New file.
3362 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
3363 New file.
3364 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
3365 New file.
3366 * doc/gccint/standard-header-file-directories.rst: New file.
3367 * doc/gccint/static-analyzer.rst: New file.
3368 * doc/gccint/target-macros.rst: New file.
3369 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
3370 * doc/gccint/target-macros/addressing-modes.rst: New file.
3371 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
3372 * doc/gccint/target-macros/anchored-addresses.rst: New file.
3373 * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
3374 * doc/gccint/target-macros/condition-code-status.rst: New file.
3375 * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
3376 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
3377 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
3378 * doc/gccint/target-macros/d-abi-parameters.rst: New file.
3379 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
3380 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
3381 New file.
3382 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
3383 * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
3384 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
3385 New file.
3386 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
3387 New file.
3388 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
3389 New file.
3390 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
3391 New file.
3392 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
3393 New file.
3394 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
3395 New file.
3396 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
3397 New file.
3398 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
3399 New file.
3400 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
3401 New file.
3402 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
3403 New file.
3404 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
3405 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
3406 * doc/gccint/target-macros/emulating-tls.rst: New file.
3407 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
3408 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
3409 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
3410 * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
3411 * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
3412 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
3413 New file.
3414 * doc/gccint/target-macros/position-independent-code.rst: New file.
3415 * doc/gccint/target-macros/register-classes.rst: New file.
3416 * doc/gccint/target-macros/register-usage.rst: New file.
3417 * doc/gccint/target-macros/run-time-target-specification.rst: New file.
3418 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
3419 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
3420 New file.
3421 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
3422 New file.
3423 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
3424 New file.
3425 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
3426 New file.
3427 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
3428 New file.
3429 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
3430 New file.
3431 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
3432 New file.
3433 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
3434 New file.
3435 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
3436 New file.
3437 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
3438 New file.
3439 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
3440 New file.
3441 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
3442 New file.
3443 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
3444 New file.
3445 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
3446 New file.
3447 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
3448 New file.
3449 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
3450 New file.
3451 * doc/gccint/target-macros/storage-layout.rst: New file.
3452 * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
3453 * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
3454 * doc/gccint/target-makefile-fragments.rst: New file.
3455 * doc/gccint/testsuites.rst: New test.
3456 * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
3457 * doc/gccint/testsuites/c-language-testsuites.rst: New test.
3458 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
3459 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
3460 New test.
3461 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
3462 New test.
3463 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
3464 New test.
3465 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
3466 New test.
3467 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
3468 New test.
3469 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
3470 New test.
3471 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
3472 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
3473 * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
3474 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
3475 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
3476 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
3477 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
3478 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
3479 * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
3480 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
3481 New file.
3482 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
3483 New file.
3484 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
3485 New file.
3486 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
3487 New file.
3488 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
3489 New file.
3490 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
3491 New file.
3492 * doc/gccint/the-language.rst: New file.
3493 * doc/gccint/user-experience-guidelines.rst: New file.
3494 * doc/install/binaries.rst: New file.
3495 * doc/install/building.rst: New file.
3496 * doc/install/building/building-a-cross-compiler.rst: New file.
3497 * doc/install/building/building-a-native-compiler.rst: New file.
3498 * doc/install/building/building-in-parallel.rst: New file.
3499 * doc/install/building/building-the-ada-compiler.rst: New file.
3500 * doc/install/building/building-the-d-compiler.rst: New file.
3501 * doc/install/building/building-with-profile-feedback.rst: New file.
3502 * doc/install/conf.py: New file.
3503 * doc/install/configuration.rst: New file.
3504 * doc/install/copyright.rst: New file.
3505 * doc/install/downloading-gcc.rst: New file.
3506 * doc/install/final-installation.rst: New file.
3507 * doc/install/gnu-free-documentation-license.rst: New file.
3508 * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
3509 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
3510 * doc/install/how-to-interpret-test-results.rst: New file.
3511 * doc/install/index.rst: New file.
3512 * doc/install/indices-and-tables.rst: New file.
3513 * doc/install/installing-gcc.rst: New file.
3514 * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
3515 * doc/install/prerequisites.rst: New file.
3516 * doc/install/submitting-test-results.rst: New file.
3517 * doc/install/testing.rst: New file.
3518
3519 2022-11-14 Martin Liska <mliska@suse.cz>
3520
3521 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: Revert.
3522
3523 2022-11-14 Martin Liska <mliska@suse.cz>
3524
3525 Revert:
3526 2022-11-14 Martin Liska <mliska@suse.cz>
3527
3528 * common/common-target.def: Port to RST.
3529 * target.def: Port to RST.
3530
3531 2022-11-14 Martin Liska <mliska@suse.cz>
3532
3533 Revert:
3534 2022-11-09 Martin Liska <mliska@suse.cz>
3535
3536 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
3537 * doc/gccint/target-macros/addressing-modes.rst: Likewise.
3538 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
3539 * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
3540 * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
3541 * doc/gccint/target-macros/condition-code-status.rst: Likewise.
3542 * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
3543 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
3544 * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
3545 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
3546 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
3547 Likewise.
3548 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
3549 Likewise.
3550 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
3551 Likewise.
3552 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
3553 Likewise.
3554 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
3555 Likewise.
3556 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
3557 Likewise.
3558 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
3559 Likewise.
3560 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
3561 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
3562 * doc/gccint/target-macros/emulating-tls.rst: Likewise.
3563 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
3564 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
3565 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
3566 * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
3567 * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
3568 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
3569 Likewise.
3570 * doc/gccint/target-macros/register-classes.rst: Likewise.
3571 * doc/gccint/target-macros/register-usage.rst: Likewise.
3572 * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
3573 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
3574 Likewise.
3575 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
3576 Likewise.
3577 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
3578 Likewise.
3579 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
3580 Likewise.
3581 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
3582 Likewise.
3583 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
3584 Likewise.
3585 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
3586 Likewise.
3587 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
3588 Likewise.
3589 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
3590 Likewise.
3591 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
3592 Likewise.
3593 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
3594 Likewise.
3595 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
3596 Likewise.
3597 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
3598 Likewise.
3599 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
3600 Likewise.
3601 * doc/gccint/target-macros/storage-layout.rst: Likewise.
3602 * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
3603
3604 2022-11-14 Martin Liska <mliska@suse.cz>
3605
3606 Revert:
3607 2022-11-14 Martin Liska <mliska@suse.cz>
3608
3609 * Makefile.in: Support Sphinx based documentation.
3610 * configure: Regenerate.
3611 * configure.ac: Support Sphinx based documentation.
3612 * genhooks.cc (struct s_hook): Emit tm.rst.in file.
3613
3614 2022-11-14 Martin Liska <mliska@suse.cz>
3615
3616 Revert:
3617 2022-11-09 Martin Liska <mliska@suse.cz>
3618
3619 * doc/gccint/target-macros/tm.rst.in: New file.
3620
3621 2022-11-14 Martin Liska <mliska@suse.cz>
3622
3623 Revert:
3624 2022-11-14 Martin Liska <mliska@suse.cz>
3625
3626 * doc/analyzer.texi: Removed.
3627 * doc/avr-mmcu.texi: Removed.
3628 * doc/bugreport.texi: Removed.
3629 * doc/cfg.texi: Removed.
3630 * doc/collect2.texi: Removed.
3631 * doc/compat.texi: Removed.
3632 * doc/configfiles.texi: Removed.
3633 * doc/configterms.texi: Removed.
3634 * doc/contrib.texi: Removed.
3635 * doc/contribute.texi: Removed.
3636 * doc/cpp.texi: Removed.
3637 * doc/cppdiropts.texi: Removed.
3638 * doc/cppenv.texi: Removed.
3639 * doc/cppinternals.texi: Removed.
3640 * doc/cppopts.texi: Removed.
3641 * doc/cppwarnopts.texi: Removed.
3642 * doc/extend.texi: Removed.
3643 * doc/fragments.texi: Removed.
3644 * doc/frontends.texi: Removed.
3645 * doc/gcc.texi: Removed.
3646 * doc/gccint.texi: Removed.
3647 * doc/gcov-dump.texi: Removed.
3648 * doc/gcov-tool.texi: Removed.
3649 * doc/gcov.texi: Removed.
3650 * doc/generic.texi: Removed.
3651 * doc/gimple.texi: Removed.
3652 * doc/gnu.texi: Removed.
3653 * doc/gty.texi: Removed.
3654 * doc/headerdirs.texi: Removed.
3655 * doc/hostconfig.texi: Removed.
3656 * doc/implement-c.texi: Removed.
3657 * doc/implement-cxx.texi: Removed.
3658 * doc/include/fdl.texi: Removed.
3659 * doc/include/funding.texi: Removed.
3660 * doc/include/gcc-common.texi: Removed.
3661 * doc/include/gpl_v3.texi: Removed.
3662 * doc/install.texi: Removed.
3663 * doc/interface.texi: Removed.
3664 * doc/invoke.texi: Removed.
3665 * doc/languages.texi: Removed.
3666 * doc/libgcc.texi: Removed.
3667 * doc/loop.texi: Removed.
3668 * doc/lto-dump.texi: Removed.
3669 * doc/lto.texi: Removed.
3670 * doc/makefile.texi: Removed.
3671 * doc/match-and-simplify.texi: Removed.
3672 * doc/md.texi: Removed.
3673 * doc/objc.texi: Removed.
3674 * doc/optinfo.texi: Removed.
3675 * doc/options.texi: Removed.
3676 * doc/passes.texi: Removed.
3677 * doc/plugins.texi: Removed.
3678 * doc/poly-int.texi: Removed.
3679 * doc/portability.texi: Removed.
3680 * doc/rtl.texi: Removed.
3681 * doc/service.texi: Removed.
3682 * doc/sourcebuild.texi: Removed.
3683 * doc/standards.texi: Removed.
3684 * doc/tm.texi: Removed.
3685 * doc/tree-ssa.texi: Removed.
3686 * doc/trouble.texi: Removed.
3687 * doc/ux.texi: Removed.
3688 * doc/tm.texi.in: Removed.
3689
3690 2022-11-14 Martin Liska <mliska@suse.cz>
3691
3692 Revert:
3693 2022-11-09 Martin Liska <mliska@suse.cz>
3694
3695 * target.def: Use proper lexers for target macros.
3696 * doc/gccint/target-macros/tm.rst.in: Re-generate.
3697
3698 2022-11-14 Martin Liska <mliska@suse.cz>
3699
3700 Revert:
3701 2022-11-09 Martin Liska <mliska@suse.cz>
3702
3703 * Makefile.in: Support --with-sphinx-build.
3704 * configure.ac:
3705 * configure: Regenerate.
3706
3707 2022-11-14 Martin Liska <mliska@suse.cz>
3708
3709 Revert:
3710 2022-11-14 Martin Liska <mliska@suse.cz>
3711
3712 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
3713 Fix cross manual refs.
3714 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
3715 Likewise.
3716
3717 2022-11-14 Martin Liska <mliska@suse.cz>
3718
3719 Revert:
3720 2022-11-09 Martin Liska <mliska@suse.cz>
3721
3722 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
3723 Do not include tm.rst.in.
3724 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
3725 Likewise.
3726 * doc/gccint/target-macros/run-time-target-specification.rst:
3727 Likewise.
3728
3729 2022-11-14 Martin Liska <mliska@suse.cz>
3730
3731 Revert:
3732 2022-11-09 Martin Liska <mliska@suse.cz>
3733
3734 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
3735 Port to RST.
3736 * doc/gccint/target-macros/storage-layout.rst: Likewise.
3737 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
3738 * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
3739
3740 2022-11-14 Martin Liska <mliska@suse.cz>
3741
3742 Revert:
3743 2022-11-09 Martin Liska <mliska@suse.cz>
3744
3745 * Makefile.in: Support installation if sphinx-build is missing.
3746
3747 2022-11-14 Martin Liska <mliska@suse.cz>
3748
3749 Revert:
3750 2022-11-09 Martin Liska <mliska@suse.cz>
3751
3752 * Makefile.in: Add vpath default for .rst files.
3753 * config/avr/avr-devices.cc: For port RST.
3754 * config/avr/avr-mcus.def: Update path.
3755 * config/avr/gen-avr-mmcu-texi.cc: Moved to...
3756 * config/avr/gen-avr-mmcu-rst.cc: ...here.
3757 * config/avr/t-avr: Update to rst.
3758 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
3759
3760 2022-11-14 Martin Liska <mliska@suse.cz>
3761
3762 Revert:
3763 2022-11-09 Martin Liska <mliska@suse.cz>
3764
3765 * opts.cc (get_option_html_page): Port to sphinx URLs.
3766 (get_option_url): Likewise.
3767 (test_get_option_html_page): Likewise.
3768
3769 2022-11-14 Martin Liska <mliska@suse.cz>
3770
3771 Revert:
3772 2022-11-14 Martin Liska <mliska@suse.cz>
3773
3774 * doc/cpp/character-sets.rst:
3775 Add trailing newline.
3776 * doc/cpp/conditional-syntax.rst:
3777 Add trailing newline.
3778 * doc/cpp/conditional-uses.rst:
3779 Add trailing newline.
3780 * doc/cpp/conditionals.rst:
3781 Add trailing newline.
3782 * doc/cpp/copyright.rst:
3783 Add trailing newline.
3784 * doc/cpp/deleted-code.rst:
3785 Add trailing newline.
3786 * doc/cpp/diagnostics.rst:
3787 Add trailing newline.
3788 * doc/cpp/environment-variables.rst:
3789 Add trailing newline.
3790 * doc/cpp/gnu-free-documentation-license.rst:
3791 Add trailing newline.
3792 * doc/cpp/header-files.rst:
3793 Add trailing newline.
3794 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
3795 Add trailing newline.
3796 * doc/cpp/header-files/computed-includes.rst:
3797 Add trailing newline.
3798 * doc/cpp/header-files/include-operation.rst:
3799 Add trailing newline.
3800 * doc/cpp/header-files/include-syntax.rst:
3801 Add trailing newline.
3802 * doc/cpp/header-files/once-only-headers.rst:
3803 Add trailing newline.
3804 * doc/cpp/header-files/search-path.rst:
3805 Add trailing newline.
3806 * doc/cpp/header-files/system-headers.rst:
3807 Add trailing newline.
3808 * doc/cpp/header-files/wrapper-headers.rst:
3809 Add trailing newline.
3810 * doc/cpp/implementation-defined-behavior.rst:
3811 Add trailing newline.
3812 * doc/cpp/implementation-details.rst:
3813 Add trailing newline.
3814 * doc/cpp/implementation-limits.rst:
3815 Add trailing newline.
3816 * doc/cpp/index.rst:
3817 Add trailing newline.
3818 * doc/cpp/indices-and-tables.rst:
3819 Add trailing newline.
3820 * doc/cpp/initial-processing.rst:
3821 Add trailing newline.
3822 * doc/cpp/invocation.rst:
3823 Add trailing newline.
3824 * doc/cpp/line-control.rst:
3825 Add trailing newline.
3826 * doc/cpp/macros.rst:
3827 Add trailing newline.
3828 * doc/cpp/macros/concatenation.rst:
3829 Add trailing newline.
3830 * doc/cpp/macros/directives-within-macro-arguments.rst:
3831 Add trailing newline.
3832 * doc/cpp/macros/function-like-macros.rst:
3833 Add trailing newline.
3834 * doc/cpp/macros/macro-arguments.rst:
3835 Add trailing newline.
3836 * doc/cpp/macros/macro-pitfalls.rst:
3837 Add trailing newline.
3838 * doc/cpp/macros/object-like-macros.rst:
3839 Add trailing newline.
3840 * doc/cpp/macros/predefined-macros.rst:
3841 Add trailing newline.
3842 * doc/cpp/macros/stringizing.rst:
3843 Add trailing newline.
3844 * doc/cpp/macros/undefining-and-redefining-macros.rst:
3845 Add trailing newline.
3846 * doc/cpp/macros/variadic-macros.rst:
3847 Add trailing newline.
3848 * doc/cpp/obsolete-features.rst:
3849 Add trailing newline.
3850 * doc/cpp/other-directives.rst:
3851 Add trailing newline.
3852 * doc/cpp/overview.rst:
3853 Add trailing newline.
3854 * doc/cpp/pragmas.rst:
3855 Add trailing newline.
3856 * doc/cpp/preprocessor-output.rst:
3857 Add trailing newline.
3858 * doc/cpp/the-preprocessing-language.rst:
3859 Add trailing newline.
3860 * doc/cpp/tokenization.rst:
3861 Add trailing newline.
3862 * doc/cpp/traditional-lexical-analysis.rst:
3863 Add trailing newline.
3864 * doc/cpp/traditional-macros.rst:
3865 Add trailing newline.
3866 * doc/cpp/traditional-miscellany.rst:
3867 Add trailing newline.
3868 * doc/cpp/traditional-mode.rst:
3869 Add trailing newline.
3870 * doc/cpp/traditional-warnings.rst:
3871 Add trailing newline.
3872 * doc/cppinternals/copyright.rst:
3873 Add trailing newline.
3874 * doc/cppinternals/cppinternals.rst:
3875 Add trailing newline.
3876 * doc/cppinternals/cpplib.rst:
3877 Add trailing newline.
3878 * doc/cppinternals/files.rst:
3879 Add trailing newline.
3880 * doc/cppinternals/index.rst:
3881 Add trailing newline.
3882 * doc/cppinternals/indices-and-tables.rst:
3883 Add trailing newline.
3884 * doc/cppinternals/internal-representation-of-macros.rst:
3885 Add trailing newline.
3886 * doc/cppinternals/just-which-line-number-anyway.rst:
3887 Add trailing newline.
3888 * doc/cppinternals/lexing-a-line.rst:
3889 Add trailing newline.
3890 * doc/cppinternals/lexing-a-token.rst:
3891 Add trailing newline.
3892 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
3893 Add trailing newline.
3894 * doc/cppinternals/macro-expansion-overview.rst:
3895 Add trailing newline.
3896 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
3897 Add trailing newline.
3898 * doc/cppinternals/multiple-include-optimization.rst:
3899 Add trailing newline.
3900 * doc/cppinternals/overview.rst:
3901 Add trailing newline.
3902 * doc/cppinternals/representation-of-line-numbers.rst:
3903 Add trailing newline.
3904 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
3905 Add trailing newline.
3906 * doc/gcc/binary-compatibility.rst:
3907 Add trailing newline.
3908 * doc/gcc/c++-implementation-defined-behavior.rst:
3909 Add trailing newline.
3910 * doc/gcc/c-implementation-defined-behavior.rst:
3911 Add trailing newline.
3912 * doc/gcc/c-implementation-defined-behavior/architecture.rst:
3913 Add trailing newline.
3914 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
3915 Add trailing newline.
3916 * doc/gcc/c-implementation-defined-behavior/characters.rst:
3917 Add trailing newline.
3918 * doc/gcc/c-implementation-defined-behavior/declarators.rst:
3919 Add trailing newline.
3920 * doc/gcc/c-implementation-defined-behavior/environment.rst:
3921 Add trailing newline.
3922 * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
3923 Add trailing newline.
3924 * doc/gcc/c-implementation-defined-behavior/hints.rst:
3925 Add trailing newline.
3926 * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
3927 Add trailing newline.
3928 * doc/gcc/c-implementation-defined-behavior/integers.rst:
3929 Add trailing newline.
3930 * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
3931 Add trailing newline.
3932 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
3933 Add trailing newline.
3934 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
3935 Add trailing newline.
3936 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
3937 Add trailing newline.
3938 * doc/gcc/c-implementation-defined-behavior/statements.rst:
3939 Add trailing newline.
3940 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
3941 Add trailing newline.
3942 * doc/gcc/c-implementation-defined-behavior/translation.rst:
3943 Add trailing newline.
3944 * doc/gcc/conditionally-supported-behavior.rst:
3945 Add trailing newline.
3946 * doc/gcc/contributing-to-gcc-development.rst:
3947 Add trailing newline.
3948 * doc/gcc/contributors-to-gcc.rst:
3949 Add trailing newline.
3950 * doc/gcc/copyright.rst:
3951 Add trailing newline.
3952 * doc/gcc/exception-handling.rst:
3953 Add trailing newline.
3954 * doc/gcc/extensions-to-the-c++-language.rst:
3955 Add trailing newline.
3956 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
3957 Add trailing newline.
3958 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
3959 Add trailing newline.
3960 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
3961 Add trailing newline.
3962 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
3963 Add trailing newline.
3964 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
3965 Add trailing newline.
3966 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
3967 Add trailing newline.
3968 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
3969 Add trailing newline.
3970 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
3971 Add trailing newline.
3972 * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
3973 Add trailing newline.
3974 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
3975 Add trailing newline.
3976 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
3977 Add trailing newline.
3978 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
3979 Add trailing newline.
3980 * doc/gcc/extensions-to-the-c-language-family.rst:
3981 Add trailing newline.
3982 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
3983 Add trailing newline.
3984 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
3985 Add trailing newline.
3986 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
3987 Add trailing newline.
3988 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
3989 Add trailing newline.
3990 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
3991 Add trailing newline.
3992 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
3993 Add trailing newline.
3994 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
3995 Add trailing newline.
3996 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
3997 Add trailing newline.
3998 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
3999 Add trailing newline.
4000 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
4001 Add trailing newline.
4002 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
4003 Add trailing newline.
4004 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
4005 Add trailing newline.
4006 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
4007 Add trailing newline.
4008 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
4009 Add trailing newline.
4010 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
4011 Add trailing newline.
4012 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
4013 Add trailing newline.
4014 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
4015 Add trailing newline.
4016 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
4017 Add trailing newline.
4018 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
4019 Add trailing newline.
4020 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
4021 Add trailing newline.
4022 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
4023 Add trailing newline.
4024 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
4025 Add trailing newline.
4026 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
4027 Add trailing newline.
4028 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
4029 Add trailing newline.
4030 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
4031 Add trailing newline.
4032 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
4033 Add trailing newline.
4034 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
4035 Add trailing newline.
4036 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
4037 Add trailing newline.
4038 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
4039 Add trailing newline.
4040 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
4041 Add trailing newline.
4042 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
4043 Add trailing newline.
4044 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
4045 Add trailing newline.
4046 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
4047 Add trailing newline.
4048 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
4049 Add trailing newline.
4050 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
4051 Add trailing newline.
4052 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
4053 Add trailing newline.
4054 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
4055 Add trailing newline.
4056 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
4057 Add trailing newline.
4058 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
4059 Add trailing newline.
4060 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
4061 Add trailing newline.
4062 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
4063 Add trailing newline.
4064 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
4065 Add trailing newline.
4066 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
4067 Add trailing newline.
4068 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
4069 Add trailing newline.
4070 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
4071 Add trailing newline.
4072 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
4073 Add trailing newline.
4074 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
4075 Add trailing newline.
4076 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
4077 Add trailing newline.
4078 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
4079 Add trailing newline.
4080 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
4081 Add trailing newline.
4082 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
4083 Add trailing newline.
4084 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
4085 Add trailing newline.
4086 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
4087 Add trailing newline.
4088 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
4089 Add trailing newline.
4090 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
4091 Add trailing newline.
4092 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
4093 Add trailing newline.
4094 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
4095 Add trailing newline.
4096 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
4097 Add trailing newline.
4098 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
4099 Add trailing newline.
4100 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
4101 Add trailing newline.
4102 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
4103 Add trailing newline.
4104 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
4105 Add trailing newline.
4106 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
4107 Add trailing newline.
4108 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
4109 Add trailing newline.
4110 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
4111 Add trailing newline.
4112 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
4113 Add trailing newline.
4114 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
4115 Add trailing newline.
4116 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
4117 Add trailing newline.
4118 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
4119 Add trailing newline.
4120 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
4121 Add trailing newline.
4122 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
4123 Add trailing newline.
4124 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
4125 Add trailing newline.
4126 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
4127 Add trailing newline.
4128 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
4129 Add trailing newline.
4130 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
4131 Add trailing newline.
4132 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
4133 Add trailing newline.
4134 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
4135 Add trailing newline.
4136 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
4137 Add trailing newline.
4138 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
4139 Add trailing newline.
4140 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
4141 Add trailing newline.
4142 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
4143 Add trailing newline.
4144 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
4145 Add trailing newline.
4146 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
4147 Add trailing newline.
4148 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
4149 Add trailing newline.
4150 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
4151 Add trailing newline.
4152 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
4153 Add trailing newline.
4154 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
4155 Add trailing newline.
4156 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
4157 Add trailing newline.
4158 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
4159 Add trailing newline.
4160 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
4161 Add trailing newline.
4162 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
4163 Add trailing newline.
4164 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
4165 Add trailing newline.
4166 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
4167 Add trailing newline.
4168 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
4169 Add trailing newline.
4170 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
4171 Add trailing newline.
4172 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
4173 Add trailing newline.
4174 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
4175 Add trailing newline.
4176 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
4177 Add trailing newline.
4178 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
4179 Add trailing newline.
4180 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
4181 Add trailing newline.
4182 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
4183 Add trailing newline.
4184 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
4185 Add trailing newline.
4186 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
4187 Add trailing newline.
4188 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
4189 Add trailing newline.
4190 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
4191 Add trailing newline.
4192 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
4193 Add trailing newline.
4194 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
4195 Add trailing newline.
4196 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
4197 Add trailing newline.
4198 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
4199 Add trailing newline.
4200 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
4201 Add trailing newline.
4202 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
4203 Add trailing newline.
4204 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
4205 Add trailing newline.
4206 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
4207 Add trailing newline.
4208 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
4209 Add trailing newline.
4210 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
4211 Add trailing newline.
4212 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
4213 Add trailing newline.
4214 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
4215 Add trailing newline.
4216 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
4217 Add trailing newline.
4218 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
4219 Add trailing newline.
4220 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
4221 Add trailing newline.
4222 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
4223 Add trailing newline.
4224 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
4225 Add trailing newline.
4226 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
4227 Add trailing newline.
4228 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
4229 Add trailing newline.
4230 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
4231 Add trailing newline.
4232 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
4233 Add trailing newline.
4234 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
4235 Add trailing newline.
4236 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
4237 Add trailing newline.
4238 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
4239 Add trailing newline.
4240 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
4241 Add trailing newline.
4242 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
4243 Add trailing newline.
4244 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
4245 Add trailing newline.
4246 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
4247 Add trailing newline.
4248 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
4249 Add trailing newline.
4250 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
4251 Add trailing newline.
4252 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
4253 Add trailing newline.
4254 * doc/gcc/funding.rst:
4255 Add trailing newline.
4256 * doc/gcc/gcc-command-options.rst:
4257 Add trailing newline.
4258 * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
4259 Add trailing newline.
4260 * doc/gcc/gcc-command-options/description.rst:
4261 Add trailing newline.
4262 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
4263 Add trailing newline.
4264 * doc/gcc/gcc-command-options/gcc-developer-options.rst:
4265 Add trailing newline.
4266 * doc/gcc/gcc-command-options/machine-dependent-options.rst:
4267 Add trailing newline.
4268 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
4269 Add trailing newline.
4270 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
4271 Add trailing newline.
4272 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
4273 Add trailing newline.
4274 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
4275 Add trailing newline.
4276 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
4277 Add trailing newline.
4278 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
4279 Add trailing newline.
4280 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
4281 Add trailing newline.
4282 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
4283 Add trailing newline.
4284 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
4285 Add trailing newline.
4286 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
4287 Add trailing newline.
4288 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
4289 Add trailing newline.
4290 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
4291 Add trailing newline.
4292 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
4293 Add trailing newline.
4294 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
4295 Add trailing newline.
4296 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
4297 Add trailing newline.
4298 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
4299 Add trailing newline.
4300 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
4301 Add trailing newline.
4302 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
4303 Add trailing newline.
4304 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
4305 Add trailing newline.
4306 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
4307 Add trailing newline.
4308 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
4309 Add trailing newline.
4310 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
4311 Add trailing newline.
4312 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
4313 Add trailing newline.
4314 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
4315 Add trailing newline.
4316 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
4317 Add trailing newline.
4318 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
4319 Add trailing newline.
4320 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
4321 Add trailing newline.
4322 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
4323 Add trailing newline.
4324 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
4325 Add trailing newline.
4326 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
4327 Add trailing newline.
4328 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
4329 Add trailing newline.
4330 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
4331 Add trailing newline.
4332 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
4333 Add trailing newline.
4334 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
4335 Add trailing newline.
4336 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
4337 Add trailing newline.
4338 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
4339 Add trailing newline.
4340 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
4341 Add trailing newline.
4342 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
4343 Add trailing newline.
4344 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
4345 Add trailing newline.
4346 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
4347 Add trailing newline.
4348 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
4349 Add trailing newline.
4350 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
4351 Add trailing newline.
4352 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
4353 Add trailing newline.
4354 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
4355 Add trailing newline.
4356 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
4357 Add trailing newline.
4358 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
4359 Add trailing newline.
4360 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
4361 Add trailing newline.
4362 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
4363 Add trailing newline.
4364 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
4365 Add trailing newline.
4366 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
4367 Add trailing newline.
4368 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
4369 Add trailing newline.
4370 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
4371 Add trailing newline.
4372 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
4373 Add trailing newline.
4374 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
4375 Add trailing newline.
4376 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
4377 Add trailing newline.
4378 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
4379 Add trailing newline.
4380 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
4381 Add trailing newline.
4382 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
4383 Add trailing newline.
4384 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
4385 Add trailing newline.
4386 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
4387 Add trailing newline.
4388 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
4389 Add trailing newline.
4390 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
4391 Add trailing newline.
4392 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
4393 Add trailing newline.
4394 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
4395 Add trailing newline.
4396 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
4397 Add trailing newline.
4398 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
4399 Add trailing newline.
4400 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
4401 Add trailing newline.
4402 * doc/gcc/gcc-command-options/options-for-directory-search.rst:
4403 Add trailing newline.
4404 * doc/gcc/gcc-command-options/options-for-linking.rst:
4405 Add trailing newline.
4406 * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
4407 Add trailing newline.
4408 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
4409 Add trailing newline.
4410 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
4411 Add trailing newline.
4412 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
4413 Add trailing newline.
4414 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
4415 Add trailing newline.
4416 * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
4417 Add trailing newline.
4418 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
4419 Add trailing newline.
4420 * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
4421 Add trailing newline.
4422 * doc/gcc/gcc.rst:
4423 Add trailing newline.
4424 * doc/gcc/gcov-dump.rst:
4425 Add trailing newline.
4426 * doc/gcc/gcov-tool.rst:
4427 Add trailing newline.
4428 * doc/gcc/gcov.rst:
4429 Add trailing newline.
4430 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
4431 Add trailing newline.
4432 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
4433 Add trailing newline.
4434 * doc/gcc/gcov/introduction-to-gcov.rst:
4435 Add trailing newline.
4436 * doc/gcc/gcov/invoking-gcov.rst:
4437 Add trailing newline.
4438 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
4439 Add trailing newline.
4440 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
4441 Add trailing newline.
4442 * doc/gcc/general-public-license-3.rst:
4443 Add trailing newline.
4444 * doc/gcc/gnu-free-documentation-license.rst:
4445 Add trailing newline.
4446 * doc/gcc/gnu-objective-c-features.rst:
4447 Add trailing newline.
4448 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
4449 Add trailing newline.
4450 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
4451 Add trailing newline.
4452 * doc/gcc/gnu-objective-c-features/exceptions.rst:
4453 Add trailing newline.
4454 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
4455 Add trailing newline.
4456 * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
4457 Add trailing newline.
4458 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
4459 Add trailing newline.
4460 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
4461 Add trailing newline.
4462 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
4463 Add trailing newline.
4464 * doc/gcc/gnu-objective-c-features/synchronization.rst:
4465 Add trailing newline.
4466 * doc/gcc/gnu-objective-c-features/type-encoding.rst:
4467 Add trailing newline.
4468 * doc/gcc/gnu.rst:
4469 Add trailing newline.
4470 * doc/gcc/have-you-found-a-bug.rst:
4471 Add trailing newline.
4472 * doc/gcc/how-and-where-to-report-bugs.rst:
4473 Add trailing newline.
4474 * doc/gcc/how-to-get-help-with-gcc.rst:
4475 Add trailing newline.
4476 * doc/gcc/index.rst:
4477 Add trailing newline.
4478 * doc/gcc/indices-and-tables.rst:
4479 Add trailing newline.
4480 * doc/gcc/known-causes-of-trouble-with-gcc.rst:
4481 Add trailing newline.
4482 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
4483 Add trailing newline.
4484 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
4485 Add trailing newline.
4486 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
4487 Add trailing newline.
4488 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
4489 Add trailing newline.
4490 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
4491 Add trailing newline.
4492 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
4493 Add trailing newline.
4494 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
4495 Add trailing newline.
4496 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
4497 Add trailing newline.
4498 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
4499 Add trailing newline.
4500 * doc/gcc/language-standards-supported-by-gcc.rst:
4501 Add trailing newline.
4502 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
4503 Add trailing newline.
4504 * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
4505 Add trailing newline.
4506 * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
4507 Add trailing newline.
4508 * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
4509 Add trailing newline.
4510 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
4511 Add trailing newline.
4512 * doc/gcc/lto-dump.rst:
4513 Add trailing newline.
4514 * doc/gcc/programming-languages-supported-by-gcc.rst:
4515 Add trailing newline.
4516 * doc/gcc/reporting-bugs.rst:
4517 Add trailing newline.
4518 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
4519 Add trailing newline.
4520 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
4521 Add trailing newline.
4522 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
4523 Add trailing newline.
4524 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
4525 Add trailing newline.
4526 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
4527 Add trailing newline.
4528 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
4529 Add trailing newline.
4530 * doc/gccint/analysis-and-representation-of-loops.rst:
4531 Add trailing newline.
4532 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
4533 Add trailing newline.
4534 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
4535 Add trailing newline.
4536 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
4537 Add trailing newline.
4538 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
4539 Add trailing newline.
4540 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
4541 Add trailing newline.
4542 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
4543 Add trailing newline.
4544 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
4545 Add trailing newline.
4546 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
4547 Add trailing newline.
4548 * doc/gccint/analyzer-internals.rst:
4549 Add trailing newline.
4550 * doc/gccint/collect2.rst:
4551 Add trailing newline.
4552 * doc/gccint/contributing-to-gcc-development.rst:
4553 Add trailing newline.
4554 * doc/gccint/contributors-to-gcc.rst:
4555 Add trailing newline.
4556 * doc/gccint/control-flow-graph.rst:
4557 Add trailing newline.
4558 * doc/gccint/control-flow-graph/basic-blocks.rst:
4559 Add trailing newline.
4560 * doc/gccint/control-flow-graph/edges.rst:
4561 Add trailing newline.
4562 * doc/gccint/control-flow-graph/liveness-information.rst:
4563 Add trailing newline.
4564 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
4565 Add trailing newline.
4566 * doc/gccint/control-flow-graph/profile-information.rst:
4567 Add trailing newline.
4568 * doc/gccint/copyright.rst:
4569 Add trailing newline.
4570 * doc/gccint/debugging-the-analyzer.rst:
4571 Add trailing newline.
4572 * doc/gccint/funding.rst:
4573 Add trailing newline.
4574 * doc/gccint/gcc-and-portability.rst:
4575 Add trailing newline.
4576 * doc/gccint/general-public-license-3.rst:
4577 Add trailing newline.
4578 * doc/gccint/generic.rst:
4579 Add trailing newline.
4580 * doc/gccint/generic/attributes-in-trees.rst:
4581 Add trailing newline.
4582 * doc/gccint/generic/c-and-c++-trees.rst:
4583 Add trailing newline.
4584 * doc/gccint/generic/declarations.rst:
4585 Add trailing newline.
4586 * doc/gccint/generic/deficiencies.rst:
4587 Add trailing newline.
4588 * doc/gccint/generic/expressions.rst:
4589 Add trailing newline.
4590 * doc/gccint/generic/functions.rst:
4591 Add trailing newline.
4592 * doc/gccint/generic/language-dependent-trees.rst:
4593 Add trailing newline.
4594 * doc/gccint/generic/overview.rst:
4595 Add trailing newline.
4596 * doc/gccint/generic/statements.rst:
4597 Add trailing newline.
4598 * doc/gccint/generic/types.rst:
4599 Add trailing newline.
4600 * doc/gccint/gimple-api.rst:
4601 Add trailing newline.
4602 * doc/gccint/gimple.rst:
4603 Add trailing newline.
4604 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
4605 Add trailing newline.
4606 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
4607 Add trailing newline.
4608 * doc/gccint/gimple/exception-handling.rst:
4609 Add trailing newline.
4610 * doc/gccint/gimple/gimple-instruction-set.rst:
4611 Add trailing newline.
4612 * doc/gccint/gimple/gimple-sequences.rst:
4613 Add trailing newline.
4614 * doc/gccint/gimple/manipulating-gimple-statements.rst:
4615 Add trailing newline.
4616 * doc/gccint/gimple/operands.rst:
4617 Add trailing newline.
4618 * doc/gccint/gimple/sequence-iterators.rst:
4619 Add trailing newline.
4620 * doc/gccint/gimple/statement-and-operand-traversals.rst:
4621 Add trailing newline.
4622 * doc/gccint/gimple/temporaries.rst:
4623 Add trailing newline.
4624 * doc/gccint/gimple/tuple-representation.rst:
4625 Add trailing newline.
4626 * doc/gccint/gimple/tuple-specific-accessors.rst:
4627 Add trailing newline.
4628 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
4629 Add trailing newline.
4630 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
4631 Add trailing newline.
4632 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
4633 Add trailing newline.
4634 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
4635 Add trailing newline.
4636 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
4637 Add trailing newline.
4638 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
4639 Add trailing newline.
4640 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
4641 Add trailing newline.
4642 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
4643 Add trailing newline.
4644 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
4645 Add trailing newline.
4646 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
4647 Add trailing newline.
4648 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
4649 Add trailing newline.
4650 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
4651 Add trailing newline.
4652 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
4653 Add trailing newline.
4654 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
4655 Add trailing newline.
4656 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
4657 Add trailing newline.
4658 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
4659 Add trailing newline.
4660 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
4661 Add trailing newline.
4662 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
4663 Add trailing newline.
4664 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
4665 Add trailing newline.
4666 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
4667 Add trailing newline.
4668 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
4669 Add trailing newline.
4670 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
4671 Add trailing newline.
4672 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
4673 Add trailing newline.
4674 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
4675 Add trailing newline.
4676 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
4677 Add trailing newline.
4678 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
4679 Add trailing newline.
4680 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
4681 Add trailing newline.
4682 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
4683 Add trailing newline.
4684 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
4685 Add trailing newline.
4686 * doc/gccint/gnu-free-documentation-license.rst:
4687 Add trailing newline.
4688 * doc/gccint/guidelines-for-diagnostics.rst:
4689 Add trailing newline.
4690 * doc/gccint/guidelines-for-options.rst:
4691 Add trailing newline.
4692 * doc/gccint/host-common.rst:
4693 Add trailing newline.
4694 * doc/gccint/host-configuration.rst:
4695 Add trailing newline.
4696 * doc/gccint/host-filesystem.rst:
4697 Add trailing newline.
4698 * doc/gccint/host-makefile-fragments.rst:
4699 Add trailing newline.
4700 * doc/gccint/host-misc.rst:
4701 Add trailing newline.
4702 * doc/gccint/index.rst:
4703 Add trailing newline.
4704 * doc/gccint/indices-and-tables.rst:
4705 Add trailing newline.
4706 * doc/gccint/interfacing-to-gcc-output.rst:
4707 Add trailing newline.
4708 * doc/gccint/introduction.rst:
4709 Add trailing newline.
4710 * doc/gccint/language-front-ends-in-gcc.rst:
4711 Add trailing newline.
4712 * doc/gccint/link-time-optimization.rst:
4713 Add trailing newline.
4714 * doc/gccint/link-time-optimization/design-overview.rst:
4715 Add trailing newline.
4716 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
4717 Add trailing newline.
4718 * doc/gccint/link-time-optimization/lto-file-sections.rst:
4719 Add trailing newline.
4720 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
4721 Add trailing newline.
4722 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
4723 Add trailing newline.
4724 * doc/gccint/machine-descriptions.rst:
4725 Add trailing newline.
4726 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
4727 Add trailing newline.
4728 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
4729 Add trailing newline.
4730 * doc/gccint/machine-descriptions/conditional-execution.rst:
4731 Add trailing newline.
4732 * doc/gccint/machine-descriptions/constant-definitions.rst:
4733 Add trailing newline.
4734 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
4735 Add trailing newline.
4736 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
4737 Add trailing newline.
4738 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
4739 Add trailing newline.
4740 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
4741 Add trailing newline.
4742 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
4743 Add trailing newline.
4744 * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
4745 Add trailing newline.
4746 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
4747 Add trailing newline.
4748 * doc/gccint/machine-descriptions/instruction-attributes.rst:
4749 Add trailing newline.
4750 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
4751 Add trailing newline.
4752 * doc/gccint/machine-descriptions/iterators.rst:
4753 Add trailing newline.
4754 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
4755 Add trailing newline.
4756 * doc/gccint/machine-descriptions/operand-constraints.rst:
4757 Add trailing newline.
4758 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
4759 Add trailing newline.
4760 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
4761 Add trailing newline.
4762 * doc/gccint/machine-descriptions/predicates.rst:
4763 Add trailing newline.
4764 * doc/gccint/machine-descriptions/rtl-template.rst:
4765 Add trailing newline.
4766 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
4767 Add trailing newline.
4768 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
4769 Add trailing newline.
4770 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
4771 Add trailing newline.
4772 * doc/gccint/makefile-fragments.rst:
4773 Add trailing newline.
4774 * doc/gccint/match-and-simplify.rst:
4775 Add trailing newline.
4776 * doc/gccint/memory-management-and-type-information.rst:
4777 Add trailing newline.
4778 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
4779 Add trailing newline.
4780 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
4781 Add trailing newline.
4782 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
4783 Add trailing newline.
4784 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
4785 Add trailing newline.
4786 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
4787 Add trailing newline.
4788 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
4789 Add trailing newline.
4790 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
4791 Add trailing newline.
4792 * doc/gccint/option-file-format.rst:
4793 Add trailing newline.
4794 * doc/gccint/option-properties.rst:
4795 Add trailing newline.
4796 * doc/gccint/option-specification-files.rst:
4797 Add trailing newline.
4798 * doc/gccint/passes-and-files-of-the-compiler.rst:
4799 Add trailing newline.
4800 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
4801 Add trailing newline.
4802 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
4803 Add trailing newline.
4804 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
4805 Add trailing newline.
4806 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
4807 Add trailing newline.
4808 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
4809 Add trailing newline.
4810 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
4811 Add trailing newline.
4812 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
4813 Add trailing newline.
4814 * doc/gccint/plugins.rst:
4815 Add trailing newline.
4816 * doc/gccint/plugins/building-gcc-plugins.rst:
4817 Add trailing newline.
4818 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
4819 Add trailing newline.
4820 * doc/gccint/plugins/giving-information-about-a-plugin.rst:
4821 Add trailing newline.
4822 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
4823 Add trailing newline.
4824 * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
4825 Add trailing newline.
4826 * doc/gccint/plugins/keeping-track-of-available-passes.rst:
4827 Add trailing newline.
4828 * doc/gccint/plugins/loading-plugins.rst:
4829 Add trailing newline.
4830 * doc/gccint/plugins/plugin-api.rst:
4831 Add trailing newline.
4832 * doc/gccint/plugins/recording-information-about-pass-execution.rst:
4833 Add trailing newline.
4834 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
4835 Add trailing newline.
4836 * doc/gccint/rtl-representation.rst:
4837 Add trailing newline.
4838 * doc/gccint/rtl-representation/access-to-operands.rst:
4839 Add trailing newline.
4840 * doc/gccint/rtl-representation/access-to-special-operands.rst:
4841 Add trailing newline.
4842 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
4843 Add trailing newline.
4844 * doc/gccint/rtl-representation/bit-fields.rst:
4845 Add trailing newline.
4846 * doc/gccint/rtl-representation/comparison-operations.rst:
4847 Add trailing newline.
4848 * doc/gccint/rtl-representation/constant-expression-types.rst:
4849 Add trailing newline.
4850 * doc/gccint/rtl-representation/conversions.rst:
4851 Add trailing newline.
4852 * doc/gccint/rtl-representation/declarations.rst:
4853 Add trailing newline.
4854 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
4855 Add trailing newline.
4856 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
4857 Add trailing newline.
4858 * doc/gccint/rtl-representation/insns.rst:
4859 Add trailing newline.
4860 * doc/gccint/rtl-representation/machine-modes.rst:
4861 Add trailing newline.
4862 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
4863 Add trailing newline.
4864 * doc/gccint/rtl-representation/reading-rtl.rst:
4865 Add trailing newline.
4866 * doc/gccint/rtl-representation/registers-and-memory.rst:
4867 Add trailing newline.
4868 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
4869 Add trailing newline.
4870 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
4871 Add trailing newline.
4872 * doc/gccint/rtl-representation/rtl-object-types.rst:
4873 Add trailing newline.
4874 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
4875 Add trailing newline.
4876 * doc/gccint/rtl-representation/side-effect-expressions.rst:
4877 Add trailing newline.
4878 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
4879 Add trailing newline.
4880 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
4881 Add trailing newline.
4882 * doc/gccint/rtl-representation/vector-operations.rst:
4883 Add trailing newline.
4884 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
4885 Add trailing newline.
4886 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
4887 Add trailing newline.
4888 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
4889 Add trailing newline.
4890 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
4891 Add trailing newline.
4892 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
4893 Add trailing newline.
4894 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
4895 Add trailing newline.
4896 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
4897 Add trailing newline.
4898 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
4899 Add trailing newline.
4900 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
4901 Add trailing newline.
4902 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
4903 Add trailing newline.
4904 * doc/gccint/source-tree-structure-and-build-system.rst:
4905 Add trailing newline.
4906 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
4907 Add trailing newline.
4908 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
4909 Add trailing newline.
4910 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
4911 Add trailing newline.
4912 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
4913 Add trailing newline.
4914 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
4915 Add trailing newline.
4916 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
4917 Add trailing newline.
4918 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
4919 Add trailing newline.
4920 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
4921 Add trailing newline.
4922 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
4923 Add trailing newline.
4924 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
4925 Add trailing newline.
4926 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
4927 Add trailing newline.
4928 * doc/gccint/standard-header-file-directories.rst:
4929 Add trailing newline.
4930 * doc/gccint/static-analyzer.rst:
4931 Add trailing newline.
4932 * doc/gccint/target-macros.rst:
4933 Add trailing newline.
4934 * doc/gccint/target-macros/controlling-debugging-information-format.rst:
4935 Add trailing newline.
4936 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
4937 Add trailing newline.
4938 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
4939 Add trailing newline.
4940 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
4941 Add trailing newline.
4942 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
4943 Add trailing newline.
4944 * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
4945 Add trailing newline.
4946 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
4947 Add trailing newline.
4948 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
4949 Add trailing newline.
4950 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
4951 Add trailing newline.
4952 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
4953 Add trailing newline.
4954 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
4955 Add trailing newline.
4956 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
4957 Add trailing newline.
4958 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
4959 Add trailing newline.
4960 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
4961 Add trailing newline.
4962 * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
4963 Add trailing newline.
4964 * doc/gccint/target-macros/position-independent-code.rst:
4965 Add trailing newline.
4966 * doc/gccint/target-macros/register-usage.rst:
4967 Add trailing newline.
4968 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
4969 Add trailing newline.
4970 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
4971 Add trailing newline.
4972 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
4973 Add trailing newline.
4974 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
4975 Add trailing newline.
4976 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
4977 Add trailing newline.
4978 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
4979 Add trailing newline.
4980 * doc/gccint/target-macros/support-for-nested-functions.rst:
4981 Add trailing newline.
4982 * doc/gccint/target-macros/the-global-targetm-variable.rst:
4983 Add trailing newline.
4984 * doc/gccint/target-makefile-fragments.rst:
4985 Add trailing newline.
4986 * doc/gccint/testsuites.rst:
4987 Add trailing newline.
4988 * doc/gccint/testsuites/ada-language-testsuites.rst:
4989 Add trailing newline.
4990 * doc/gccint/testsuites/c-language-testsuites.rst:
4991 Add trailing newline.
4992 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
4993 Add trailing newline.
4994 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
4995 Add trailing newline.
4996 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
4997 Add trailing newline.
4998 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
4999 Add trailing newline.
5000 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
5001 Add trailing newline.
5002 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
5003 Add trailing newline.
5004 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
5005 Add trailing newline.
5006 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
5007 Add trailing newline.
5008 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
5009 Add trailing newline.
5010 * doc/gccint/testsuites/support-for-testing-gcov.rst:
5011 Add trailing newline.
5012 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
5013 Add trailing newline.
5014 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
5015 Add trailing newline.
5016 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
5017 Add trailing newline.
5018 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
5019 Add trailing newline.
5020 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
5021 Add trailing newline.
5022 * doc/gccint/the-gcc-low-level-runtime-library.rst:
5023 Add trailing newline.
5024 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
5025 Add trailing newline.
5026 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
5027 Add trailing newline.
5028 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
5029 Add trailing newline.
5030 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
5031 Add trailing newline.
5032 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
5033 Add trailing newline.
5034 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
5035 Add trailing newline.
5036 * doc/gccint/the-language.rst:
5037 Add trailing newline.
5038 * doc/gccint/user-experience-guidelines.rst:
5039 Add trailing newline.
5040 * doc/install/binaries.rst:
5041 Add trailing newline.
5042 * doc/install/building.rst:
5043 Add trailing newline.
5044 * doc/install/building/building-a-cross-compiler.rst:
5045 Add trailing newline.
5046 * doc/install/building/building-a-native-compiler.rst:
5047 Add trailing newline.
5048 * doc/install/building/building-in-parallel.rst:
5049 Add trailing newline.
5050 * doc/install/building/building-the-ada-compiler.rst:
5051 Add trailing newline.
5052 * doc/install/building/building-the-d-compiler.rst:
5053 Add trailing newline.
5054 * doc/install/building/building-with-profile-feedback.rst:
5055 Add trailing newline.
5056 * doc/install/configuration.rst:
5057 Add trailing newline.
5058 * doc/install/copyright.rst:
5059 Add trailing newline.
5060 * doc/install/downloading-gcc.rst:
5061 Add trailing newline.
5062 * doc/install/final-installation.rst:
5063 Add trailing newline.
5064 * doc/install/gnu-free-documentation-license.rst:
5065 Add trailing newline.
5066 * doc/install/host-target-specific-installation-notes-for-gcc.rst:
5067 Add trailing newline.
5068 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
5069 Add trailing newline.
5070 * doc/install/how-to-interpret-test-results.rst:
5071 Add trailing newline.
5072 * doc/install/index.rst:
5073 Add trailing newline.
5074 * doc/install/indices-and-tables.rst:
5075 Add trailing newline.
5076 * doc/install/installing-gcc.rst:
5077 Add trailing newline.
5078 * doc/install/passing-options-and-running-multiple-testsuites.rst:
5079 Add trailing newline.
5080 * doc/install/prerequisites.rst:
5081 Add trailing newline.
5082 * doc/install/submitting-test-results.rst:
5083 Add trailing newline.
5084 * doc/install/testing.rst:
5085 Add trailing newline.
5086
5087 2022-11-14 Martin Liska <mliska@suse.cz>
5088
5089 Revert:
5090 2022-11-14 Martin Liska <mliska@suse.cz>
5091
5092 * Makefile.in: Use new install URL.
5093 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
5094 Use intersphinx link.
5095 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
5096 Use new URL.
5097 * doc/gccint/source-tree-structure-and-build-system.rst: Use
5098 intersphinx link.
5099 * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
5100 * doc/install/installing-gcc.rst: Likewise.
5101
5102 2022-11-14 Martin Liska <mliska@suse.cz>
5103
5104 Revert:
5105 2022-11-09 Martin Liska <mliska@suse.cz>
5106 Sinan <sinan.lin@linux.alibaba.com>
5107
5108 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
5109 Add missing variable name.
5110
5111 2022-11-14 Martin Liska <mliska@suse.cz>
5112
5113 Revert:
5114 2022-11-14 Martin Liska <mliska@suse.cz>
5115
5116 * doc/cpp/conf.py: Add newline at last line.
5117 * doc/cppinternals/conf.py: Add newline at last line.
5118 * doc/gcc/conf.py: Add newline at last line.
5119 * doc/gccint/conf.py: Add newline at last line.
5120 * doc/install/conf.py: Add newline at last line.
5121
5122 2022-11-14 Martin Liska <mliska@suse.cz>
5123
5124 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
5125 Revert.
5126
5127 2022-11-14 Martin Liska <mliska@suse.cz>
5128
5129 * doc/cpp/pragmas.rst: Revert.
5130
5131 2022-11-14 Martin Liska <mliska@suse.cz>
5132
5133 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
5134
5135 2022-11-14 Martin Liska <mliska@suse.cz>
5136
5137 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
5138
5139 2022-11-14 Martin Liska <mliska@suse.cz>
5140
5141 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
5142 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: Revert.
5143
5144 2022-11-14 Martin Liska <mliska@suse.cz>
5145
5146 Revert:
5147 2022-11-13 Jonathan Wakely <jwakely@redhat.com>
5148
5149 * doc/install/testing.rst: Remove anachronism about separate
5150 source tarballs.
5151
5152 2022-11-14 Martin Liska <mliska@suse.cz>
5153
5154 Revert:
5155 2022-11-13 Martin Liska <mliska@suse.cz>
5156
5157 PR other/107620
5158 * configure: Regenerate.
5159 * configure.ac: Always set sphinx-build.
5160
5161 2022-11-14 Martin Liska <mliska@suse.cz>
5162
5163 * doc/gcc/gcc-command-options/option-summary.rst: Revert.
5164 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
5165
5166 2022-11-14 Haochen Jiang <haochen.jiang@intel.com>
5167
5168 * common/config/i386/i386-common.cc
5169 (OPTION_MASK_ISA2_AMX_INT8_SET): Add AMX-TILE dependency.
5170 (OPTION_MASK_ISA2_AMX_BF16_SET): Ditto.
5171 (OPTION_MASK_ISA2_AMX_FP16_SET): Ditto.
5172 (OPTION_MASK_ISA2_AMX_TILE_UNSET): Disable AMX_{INT8,
5173 BF16, FP16} when disable AMX_TILE.
5174
5175 2022-11-14 Martin Liska <mliska@suse.cz>
5176
5177 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst:
5178 Revert.
5179 * doc/gcc/gcc-command-options/option-summary.rst:
5180 Revert.
5181
5182 2022-11-14 Hongyu Wang <hongyu.wang@intel.com>
5183
5184 * common/config/i386/i386-common.cc (ix86_optimization_table):
5185 Enable small loop unroll at O2 by default.
5186 * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll
5187 factor if -munroll-only-small-loops enabled and -funroll-loops/
5188 -funroll-all-loops are disabled.
5189 * config/i386/i386.h (struct processor_costs): Add 2 field
5190 small_unroll_ninsns and small_unroll_factor.
5191 * config/i386/i386.opt: Add -munroll-only-small-loops.
5192 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst:
5193 Document -munroll-only-small-loops.
5194 * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
5195 * loop-init.cc (pass_rtl_unroll_loops::gate): Enable rtl
5196 loop unrolling for -O2-speed and above if target hook
5197 loop_unroll_adjust exists.
5198 (pass_rtl_unroll_loops::execute): Set UAP_UNROLL flag
5199 when target hook loop_unroll_adjust exists.
5200 * config/i386/x86-tune-costs.h: Update all processor costs
5201 with small_unroll_ninsns = 4 and small_unroll_factor = 2.
5202
5203 2022-11-13 David Malcolm <dmalcolm@redhat.com>
5204
5205 PR analyzer/106235
5206 * doc/gcc/gcc-command-options/option-summary.rst: Add
5207 -Wno-analyzer-tainted-assertion.
5208 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
5209 Add -Wno-analyzer-tainted-assertion.
5210
5211 2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
5212
5213 * config/riscv/bitmanip.md: New define_split.
5214
5215 2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
5216
5217 * config/riscv/riscv.cc (riscv_rtx_costs): Recognize shNadd,
5218 if expressed as a plus and multiplication with a power-of-2.
5219 Split costing for MINUS from PLUS.
5220
5221 2022-11-13 Martin Liska <mliska@suse.cz>
5222
5223 PR other/107620
5224 * configure: Regenerate.
5225 * configure.ac: Always set sphinx-build.
5226
5227 2022-11-13 Joseph Myers <joseph@codesourcery.com>
5228
5229 * ginclude/float.h [__STDC_VERSION__ > 201710L]
5230 (__STDC_VERSION_FLOAT_H__): New macro.
5231 * ginclude/stdarg.h [__STDC_VERSION__ > 201710L]
5232 (__STDC_VERSION_STDARG_H__): New macro.
5233 * ginclude/stdatomic.h [__STDC_VERSION__ > 201710L]
5234 (__STDC_VERSION_STDATOMIC_H__): New macro.
5235 * ginclude/stddef.h [__STDC_VERSION__ > 201710L]
5236 (__STDC_VERSION_STDDEF_H__): New macro.
5237 * ginclude/stdint-gcc.h [__STDC_VERSION__ > 201710L]
5238 (__STDC_VERSION_STDINT_H__): New macro.
5239 * glimits.h [__STDC_VERSION__ > 201710L]
5240 (__STDC_VERSION_LIMITS_H__): New macro.
5241
5242 2022-11-13 Jonathan Wakely <jwakely@redhat.com>
5243
5244 * doc/install/testing.rst: Remove anachronism about separate
5245 source tarballs.
5246
5247 2022-11-12 Joseph Myers <joseph@codesourcery.com>
5248
5249 * dfp.cc (decimal_from_binary): Convert a canonical NaN to a
5250 canonical NaN.
5251
5252 2022-11-12 Aldy Hernandez <aldyh@redhat.com>
5253
5254 * value-range.cc (range_tests_signbit): Move to set from here...
5255 (range_tests_signed_zeros): ...to here.
5256
5257 2022-11-12 Aldy Hernandez <aldyh@redhat.com>
5258
5259 * range-op-float.cc (build_lt): Adjust with frange_nextafter
5260 instead of default to a closed range.
5261 (build_gt): Same.
5262
5263 2022-11-12 Aldy Hernandez <aldyh@redhat.com>
5264 Jakub Jelinek <jakub@redhat.com>
5265
5266 * range-op-float.cc (float_binary_op_range_finish): New function.
5267 (foperator_plus::op1_range): New.
5268 (foperator_plus::op2_range): New.
5269 (foperator_minus::op1_range): New.
5270 (foperator_minus::op2_range): New.
5271 (foperator_mult::op1_range): New.
5272 (foperator_mult::op2_range): New.
5273 (foperator_div::op1_range): New.
5274 (foperator_div::op2_range): New.
5275
5276 2022-11-12 Jakub Jelinek <jakub@redhat.com>
5277
5278 PR tree-optimization/107569
5279 * range-op-float.cc (zero_p, contains_p, singleton_inf_p,
5280 signbit_known_p, zero_range, inf_range, zero_to_inf_range): New
5281 functions.
5282 (foperator_mult_div_base): New class.
5283 (foperator_mult, foperator_div): Derive from that and use
5284 protected static method from it as well as above new functions
5285 to simplify the code.
5286
5287 2022-11-12 Jakub Jelinek <jakub@redhat.com>
5288
5289 PR tree-optimization/107569
5290 * range-op-float.cc (foperator_div): New class.
5291 (floating_op_table::floating_op_table): Use foperator_div
5292 for RDIV_EXPR.
5293
5294 2022-11-12 Jakub Jelinek <jakub@redhat.com>
5295
5296 PR tree-optimization/107569
5297 PR tree-optimization/107591
5298 * range-op.h (range_operator_float::rv_fold): Add relation_kind
5299 argument.
5300 * range-op-float.cc (range_operator_float::fold_range): Name
5301 last argument trio and pass trio.op1_op2 () as last argument to
5302 rv_fold.
5303 (range_operator_float::rv_fold): Add relation_kind argument.
5304 (foperator_plus::rv_fold, foperator_minus::rv_fold): Likewise.
5305 (foperator_mult): New class.
5306 (floating_op_table::floating_op_table): Use foperator_mult for
5307 MULT_EXPR.
5308
5309 2022-11-12 Xi Ruoyao <xry111@xry111.site>
5310
5311 * config/loongarch/loongarch.md (UNSPEC_FLOGB): New unspec.
5312 (type): Add flogb.
5313 (logb_non_negative<mode>2): New instruction template.
5314 (logb<mode>2): New define_expand.
5315
5316 2022-11-12 Xi Ruoyao <xry111@xry111.site>
5317
5318 * config/loongarch/loongarch.md (UNSPEC_FSCALEB): New unspec.
5319 (type): Add fscaleb.
5320 (IMODE): New mode attr.
5321 (ldexp<mode>3): New instruction template.
5322
5323 2022-11-12 Xi Ruoyao <xry111@xry111.site>
5324
5325 * config/loongarch/loongarch.md (UNSPEC_FTINT): New unspec.
5326 (UNSPEC_FTINTRM): Likewise.
5327 (UNSPEC_FTINTRP): Likewise.
5328 (LRINT): New define_int_iterator.
5329 (lrint_pattern): New define_int_attr.
5330 (lrint_submenmonic): Likewise.
5331 (lrint_allow_inexact): Likewise.
5332 (ANYFI): New define_mode_iterator.
5333 (lrint<ANYF><ANYFI>): New instruction template.
5334
5335 2022-11-12 Xi Ruoyao <xry111@xry111.site>
5336
5337 * config/loongarch/loongarch.md (frint_<fmt>): Rename to ..
5338 (rint<mode>2): .. this.
5339
5340 2022-11-11 David Malcolm <dmalcolm@redhat.com>
5341
5342 PR analyzer/106147
5343 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
5344 Add -Wanalyzer-infinite-recursion.
5345 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst
5346 (-Winfinite-recursion): Mention -Wanalyzer-infinite-recursion.
5347
5348 2022-11-11 David Malcolm <dmalcolm@redhat.com>
5349
5350 PR analyzer/106147
5351 * Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-recursion.o.
5352
5353 2022-11-11 Andrew MacLeod <amacleod@redhat.com>
5354
5355 PR tree-optimization/107523
5356 * gimple-range.cc (gimple_ranger::update_stmt): Use fur_stmt
5357 rather than fur_depend.
5358
5359 2022-11-11 Andrew MacLeod <amacleod@redhat.com>
5360
5361 * tree-vrp.cc (rvrp_folder::rvrp_folder): Init m_last_bb_stmt.
5362 (rvrp_folder::pre_fold_bb): Set m_last_bb_stmt.
5363 (rvrp_folder::pre_fold_stmt): Check for transitive inferred ranges.
5364 (rvrp_folder::fold_stmt): Check in pre_fold_stmt instead.
5365
5366 2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
5367
5368 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X1C
5369 CPU.
5370 * config/aarch64/aarch64-tune.md: Regenerate.
5371 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
5372 Document Cortex-X1C CPU.
5373
5374 2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
5375
5376 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A715
5377 CPU.
5378 * config/aarch64/aarch64-tune.md: Regenerate.
5379 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
5380 Document Cortex-A715 CPU.
5381
5382 2022-11-11 Richard Biener <rguenther@suse.de>
5383 Nikita Voronov <nik_1357@mail.ru>
5384
5385 PR tree-optimization/107554
5386 * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
5387 Use unsigned HOST_WIDE_INT type for the strlen.
5388
5389 2022-11-11 Richard Biener <rguenther@suse.de>
5390
5391 PR tree-optimization/105142
5392 * gimple-fold.cc (fosa_unwind): New global.
5393 (follow_outer_ssa_edges): When the SSA definition to follow
5394 is does not dominate fosa_bb, temporarily clear flow-sensitive
5395 info. Make sure to not expand stmts with not defined overflow.
5396 (maybe_fold_comparisons_from_match_pd): Set up unwind stack
5397 for follow_outer_ssa_edges and unwind flow-sensitive info
5398 clearing after matching.
5399
5400 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
5401
5402 * range-op.cc (operator_mult::fold_range): Remove.
5403 (operator_div::fold_range): Remove.
5404 (operator_bitwise_and): Remove.
5405
5406 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
5407
5408 * range-op.cc (update_known_bitmask): Avoid unnecessary intersection.
5409
5410 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
5411
5412 * range-op.cc (range_operator::fold_range): Call
5413 update_known_bitmask.
5414 (operator_bitwise_and::fold_range): Avoid setting nonzero bits
5415 when range is undefined.
5416
5417 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
5418
5419 * range-op.cc (class operator_div): Remove tree code.
5420 (operator_div::wi_op_overflows): Handle EXACT_DIV_EXPR as
5421 TRUNC_DIV_EXPR.
5422
5423 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
5424
5425 * range-op.cc: (range_op_table::set): Set m_code.
5426 (integral_table::integral_table): Handle shared entries.
5427 (pointer_table::pointer_table): Same.
5428 * range-op.h (class range_operator): Add m_code.
5429
5430 2022-11-11 Richard Biener <rguenther@suse.de>
5431
5432 PR tree-optimization/107618
5433 * tree-ssa-copy.cc (stmt_may_generate_copy): Simulate all
5434 assignments with a single SSA use.
5435 (copy_prop_visit_assignment): Use gimple_fold_stmt_to_constant_1
5436 to perform simple constant folding.
5437 (copy_prop::visit_stmt): Visit all assignments.
5438
5439 2022-11-11 Richard Biener <rguenther@suse.de>
5440
5441 PR tree-optimization/84646
5442 * tree-ssa-dce.cc (pass_dce::set_pass_param): Add param
5443 wheter to run update-address-taken.
5444 (pass_dce::execute): Honor it.
5445 * passes.def: Exchange last DCE and CD-DCE invocations.
5446 Swap pass_tail_calls and the last DCE.
5447
5448 2022-11-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5449 Monk Chiang <monk.chiang@sifive.com>
5450
5451 * config/riscv/riscv-v.cc (emit_pred_move): Adjust for scalable register spilling.
5452 (legitimize_move): Ditto.
5453 * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): New function.
5454 (riscv_first_stack_step): Adjust for scalable register spilling.
5455 (riscv_expand_prologue): Ditto.
5456 (riscv_expand_epilogue): Ditto.
5457 (riscv_dwarf_poly_indeterminate_value): New function.
5458 (TARGET_DWARF_POLY_INDETERMINATE_VALUE): New target hook support for register spilling.
5459 * config/riscv/riscv.h (RISCV_DWARF_VLENB): New macro.
5460 (RISCV_PROLOGUE_TEMP2_REGNUM): Ditto.
5461 (RISCV_PROLOGUE_TEMP2): Ditto.
5462 * config/riscv/vector-iterators.md: New iterators.
5463 * config/riscv/vector.md (*mov<mode>): Fix it for register spilling.
5464 (*mov<mode>_whole): New pattern.
5465 (*mov<mode>_fract): New pattern.
5466 (@pred_mov<mode>): Fix it for register spilling.
5467
5468 2022-11-11 Jonathan Wakely <jwakely@redhat.com>
5469
5470 PR c/85487
5471 * doc/cpp/pragmas.rst (Pragmas): Document region pragmas.
5472
5473 2022-11-11 Haochen Jiang <haochen.jiang@intel.com>
5474
5475 * config/i386/i386-builtin.def (BDESC): Add
5476 OPTION_MASK_ISA2_PREFETCHI for prefetchi builtin.
5477 * config/i386/i386-expand.cc (ix86_expand_builtin):
5478 Add ISA check before emit_insn.
5479 * config/i386/prfchiintrin.h: Add target for intrin.
5480
5481 2022-11-10 David Malcolm <dmalcolm@redhat.com>
5482
5483 PR analyzer/99671
5484 * tristate.h (tristate::is_unknown): New.
5485
5486 2022-11-10 David Malcolm <dmalcolm@redhat.com>
5487
5488 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
5489 Add -Wanalyzer-deref-before-check.
5490
5491 2022-11-10 Marek Polacek <polacek@redhat.com>
5492
5493 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
5494 Extend the description of -Wdangling-reference.
5495
5496 2022-11-10 Andrew Pinski <apinski@marvell.com>
5497
5498 * config/bfin/bfin.h (SLOW_SHORT_ACCESS): Delete.
5499 * config/i386/i386.h (SLOW_SHORT_ACCESS): Delete.
5500 * system.h: Poison SLOW_SHORT_ACCESS
5501
5502 2022-11-10 Aldy Hernandez <aldyh@redhat.com>
5503
5504 * value-range.cc (frange::set_nonnegative): Remove NAN sign handling.
5505 (range_tests_signed_zeros): Adjust test.
5506
5507 2022-11-10 Richard Biener <rguenther@suse.de>
5508
5509 PR tree-optimization/84646
5510 * tree-ssa-forwprop.cc (pass_forwprop::execute): Improve
5511 copy propagation across PHIs.
5512
5513 2022-11-10 Philipp Tomsich <philipp.tomsich@vrull.eu>
5514
5515 * config/riscv/riscv-cores.def (RISCV_TUNE): Update
5516 sifive-7-series to point to the sifive_7 pipeline description.
5517
5518 2022-11-10 Richard Biener <rguenther@suse.de>
5519
5520 PR tree-optimization/84646
5521 * tree-ssa-ccp.cc (set_lattice_value): Make sure we
5522 allow a const -> copy transition and avoid using meet
5523 in that case.
5524
5525 2022-11-10 Martin Liska <mliska@suse.cz>
5526
5527 * doc/cpp/conf.py: Add newline at last line.
5528 * doc/cppinternals/conf.py: Add newline at last line.
5529 * doc/gcc/conf.py: Add newline at last line.
5530 * doc/gccint/conf.py: Add newline at last line.
5531 * doc/install/conf.py: Add newline at last line.
5532
5533 2022-11-10 Richard Biener <rguenther@suse.de>
5534
5535 * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): First collect
5536 candidates and determine the outermost loop to unswitch.
5537 (tree_ssa_unswitch_loops): First perform all guard hoisting,
5538 then perform unswitching on innermost loop predicates.
5539 (find_unswitching_predicates_for_bb): Keep track of the
5540 outermost loop to unswitch.
5541 (evaluate_bbs): Adjust exit test.
5542 (tree_unswitch_single_loop): Dump whether we unswitched an outer
5543 loop.
5544 (tree_unswitch_loop): Remove assert we unswitch only innermost
5545 loops.
5546
5547 2022-11-10 Jakub Jelinek <jakub@redhat.com>
5548
5549 PR target/107585
5550 PR target/107546
5551 * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): Use
5552 gen_int_mode rather than GEN_INT.
5553
5554 2022-11-09 Martin Liska <mliska@suse.cz>
5555 Sinan <sinan.lin@linux.alibaba.com>
5556
5557 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
5558 Add missing variable name.
5559
5560 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
5561
5562 * value-range-storage.cc (frange_storage_slot::get_frange): Clear
5563 NAN if appropriate.
5564 * value-range.cc (range_tests_floats): New test.
5565
5566 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
5567
5568 * range-op-float.cc (class foperator_plus): Remove op[12]_range.
5569 (class foperator_minus): Same.
5570
5571 2022-11-09 Qing Zhao <qing.zhao@oracle.com>
5572
5573 * gimple-array-bounds.cc (trailing_array): Replace
5574 array_at_struct_end_p with new name and update comments.
5575 * gimple-fold.cc (get_range_strlen_tree): Likewise.
5576 * gimple-ssa-warn-restrict.cc (builtin_memref::builtin_memref):
5577 Likewise.
5578 * graphite-sese-to-poly.cc (bounds_are_valid): Likewise.
5579 * tree-if-conv.cc (idx_within_array_bound): Likewise.
5580 * tree-object-size.cc (addr_object_size): Likewise.
5581 * tree-ssa-alias.cc (component_ref_to_zero_sized_trailing_array_p):
5582 Likewise.
5583 (stmt_kills_ref_p): Likewise.
5584 * tree-ssa-loop-niter.cc (idx_infer_loop_bounds): Likewise.
5585 * tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise.
5586 * tree.cc (array_at_struct_end_p): Rename to ...
5587 (array_ref_flexible_size_p): ... this.
5588 (component_ref_size): Replace array_at_struct_end_p with new name.
5589 * tree.h (array_at_struct_end_p): Rename to ...
5590 (array_ref_flexible_size_p): ... this.
5591
5592 2022-11-09 Martin Liska <mliska@suse.cz>
5593
5594 * Makefile.in: Use new install URL.
5595 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
5596 Use intersphinx link.
5597 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
5598 Use new URL.
5599 * doc/gccint/source-tree-structure-and-build-system.rst: Use
5600 intersphinx link.
5601 * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
5602 * doc/install/installing-gcc.rst: Likewise.
5603
5604 2022-11-09 Richard Biener <rguenther@suse.de>
5605
5606 PR tree-optimization/84646
5607 * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
5608 Remove premature cycle rejection.
5609
5610 2022-11-09 Martin Liska <mliska@suse.cz>
5611
5612 * doc/cpp/character-sets.rst:
5613 Add trailing newline.
5614 * doc/cpp/conditional-syntax.rst:
5615 Add trailing newline.
5616 * doc/cpp/conditional-uses.rst:
5617 Add trailing newline.
5618 * doc/cpp/conditionals.rst:
5619 Add trailing newline.
5620 * doc/cpp/copyright.rst:
5621 Add trailing newline.
5622 * doc/cpp/deleted-code.rst:
5623 Add trailing newline.
5624 * doc/cpp/diagnostics.rst:
5625 Add trailing newline.
5626 * doc/cpp/environment-variables.rst:
5627 Add trailing newline.
5628 * doc/cpp/gnu-free-documentation-license.rst:
5629 Add trailing newline.
5630 * doc/cpp/header-files.rst:
5631 Add trailing newline.
5632 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
5633 Add trailing newline.
5634 * doc/cpp/header-files/computed-includes.rst:
5635 Add trailing newline.
5636 * doc/cpp/header-files/include-operation.rst:
5637 Add trailing newline.
5638 * doc/cpp/header-files/include-syntax.rst:
5639 Add trailing newline.
5640 * doc/cpp/header-files/once-only-headers.rst:
5641 Add trailing newline.
5642 * doc/cpp/header-files/search-path.rst:
5643 Add trailing newline.
5644 * doc/cpp/header-files/system-headers.rst:
5645 Add trailing newline.
5646 * doc/cpp/header-files/wrapper-headers.rst:
5647 Add trailing newline.
5648 * doc/cpp/implementation-defined-behavior.rst:
5649 Add trailing newline.
5650 * doc/cpp/implementation-details.rst:
5651 Add trailing newline.
5652 * doc/cpp/implementation-limits.rst:
5653 Add trailing newline.
5654 * doc/cpp/index.rst:
5655 Add trailing newline.
5656 * doc/cpp/indices-and-tables.rst:
5657 Add trailing newline.
5658 * doc/cpp/initial-processing.rst:
5659 Add trailing newline.
5660 * doc/cpp/invocation.rst:
5661 Add trailing newline.
5662 * doc/cpp/line-control.rst:
5663 Add trailing newline.
5664 * doc/cpp/macros.rst:
5665 Add trailing newline.
5666 * doc/cpp/macros/concatenation.rst:
5667 Add trailing newline.
5668 * doc/cpp/macros/directives-within-macro-arguments.rst:
5669 Add trailing newline.
5670 * doc/cpp/macros/function-like-macros.rst:
5671 Add trailing newline.
5672 * doc/cpp/macros/macro-arguments.rst:
5673 Add trailing newline.
5674 * doc/cpp/macros/macro-pitfalls.rst:
5675 Add trailing newline.
5676 * doc/cpp/macros/object-like-macros.rst:
5677 Add trailing newline.
5678 * doc/cpp/macros/predefined-macros.rst:
5679 Add trailing newline.
5680 * doc/cpp/macros/stringizing.rst:
5681 Add trailing newline.
5682 * doc/cpp/macros/undefining-and-redefining-macros.rst:
5683 Add trailing newline.
5684 * doc/cpp/macros/variadic-macros.rst:
5685 Add trailing newline.
5686 * doc/cpp/obsolete-features.rst:
5687 Add trailing newline.
5688 * doc/cpp/other-directives.rst:
5689 Add trailing newline.
5690 * doc/cpp/overview.rst:
5691 Add trailing newline.
5692 * doc/cpp/pragmas.rst:
5693 Add trailing newline.
5694 * doc/cpp/preprocessor-output.rst:
5695 Add trailing newline.
5696 * doc/cpp/the-preprocessing-language.rst:
5697 Add trailing newline.
5698 * doc/cpp/tokenization.rst:
5699 Add trailing newline.
5700 * doc/cpp/traditional-lexical-analysis.rst:
5701 Add trailing newline.
5702 * doc/cpp/traditional-macros.rst:
5703 Add trailing newline.
5704 * doc/cpp/traditional-miscellany.rst:
5705 Add trailing newline.
5706 * doc/cpp/traditional-mode.rst:
5707 Add trailing newline.
5708 * doc/cpp/traditional-warnings.rst:
5709 Add trailing newline.
5710 * doc/cppinternals/copyright.rst:
5711 Add trailing newline.
5712 * doc/cppinternals/cppinternals.rst:
5713 Add trailing newline.
5714 * doc/cppinternals/cpplib.rst:
5715 Add trailing newline.
5716 * doc/cppinternals/files.rst:
5717 Add trailing newline.
5718 * doc/cppinternals/index.rst:
5719 Add trailing newline.
5720 * doc/cppinternals/indices-and-tables.rst:
5721 Add trailing newline.
5722 * doc/cppinternals/internal-representation-of-macros.rst:
5723 Add trailing newline.
5724 * doc/cppinternals/just-which-line-number-anyway.rst:
5725 Add trailing newline.
5726 * doc/cppinternals/lexing-a-line.rst:
5727 Add trailing newline.
5728 * doc/cppinternals/lexing-a-token.rst:
5729 Add trailing newline.
5730 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
5731 Add trailing newline.
5732 * doc/cppinternals/macro-expansion-overview.rst:
5733 Add trailing newline.
5734 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
5735 Add trailing newline.
5736 * doc/cppinternals/multiple-include-optimization.rst:
5737 Add trailing newline.
5738 * doc/cppinternals/overview.rst:
5739 Add trailing newline.
5740 * doc/cppinternals/representation-of-line-numbers.rst:
5741 Add trailing newline.
5742 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
5743 Add trailing newline.
5744 * doc/gcc/binary-compatibility.rst:
5745 Add trailing newline.
5746 * doc/gcc/c++-implementation-defined-behavior.rst:
5747 Add trailing newline.
5748 * doc/gcc/c-implementation-defined-behavior.rst:
5749 Add trailing newline.
5750 * doc/gcc/c-implementation-defined-behavior/architecture.rst:
5751 Add trailing newline.
5752 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
5753 Add trailing newline.
5754 * doc/gcc/c-implementation-defined-behavior/characters.rst:
5755 Add trailing newline.
5756 * doc/gcc/c-implementation-defined-behavior/declarators.rst:
5757 Add trailing newline.
5758 * doc/gcc/c-implementation-defined-behavior/environment.rst:
5759 Add trailing newline.
5760 * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
5761 Add trailing newline.
5762 * doc/gcc/c-implementation-defined-behavior/hints.rst:
5763 Add trailing newline.
5764 * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
5765 Add trailing newline.
5766 * doc/gcc/c-implementation-defined-behavior/integers.rst:
5767 Add trailing newline.
5768 * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
5769 Add trailing newline.
5770 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
5771 Add trailing newline.
5772 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
5773 Add trailing newline.
5774 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
5775 Add trailing newline.
5776 * doc/gcc/c-implementation-defined-behavior/statements.rst:
5777 Add trailing newline.
5778 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
5779 Add trailing newline.
5780 * doc/gcc/c-implementation-defined-behavior/translation.rst:
5781 Add trailing newline.
5782 * doc/gcc/conditionally-supported-behavior.rst:
5783 Add trailing newline.
5784 * doc/gcc/contributing-to-gcc-development.rst:
5785 Add trailing newline.
5786 * doc/gcc/contributors-to-gcc.rst:
5787 Add trailing newline.
5788 * doc/gcc/copyright.rst:
5789 Add trailing newline.
5790 * doc/gcc/exception-handling.rst:
5791 Add trailing newline.
5792 * doc/gcc/extensions-to-the-c++-language.rst:
5793 Add trailing newline.
5794 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
5795 Add trailing newline.
5796 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
5797 Add trailing newline.
5798 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
5799 Add trailing newline.
5800 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
5801 Add trailing newline.
5802 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
5803 Add trailing newline.
5804 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
5805 Add trailing newline.
5806 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
5807 Add trailing newline.
5808 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
5809 Add trailing newline.
5810 * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
5811 Add trailing newline.
5812 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
5813 Add trailing newline.
5814 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
5815 Add trailing newline.
5816 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
5817 Add trailing newline.
5818 * doc/gcc/extensions-to-the-c-language-family.rst:
5819 Add trailing newline.
5820 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
5821 Add trailing newline.
5822 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
5823 Add trailing newline.
5824 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
5825 Add trailing newline.
5826 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
5827 Add trailing newline.
5828 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
5829 Add trailing newline.
5830 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
5831 Add trailing newline.
5832 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
5833 Add trailing newline.
5834 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
5835 Add trailing newline.
5836 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
5837 Add trailing newline.
5838 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
5839 Add trailing newline.
5840 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
5841 Add trailing newline.
5842 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
5843 Add trailing newline.
5844 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
5845 Add trailing newline.
5846 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
5847 Add trailing newline.
5848 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
5849 Add trailing newline.
5850 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
5851 Add trailing newline.
5852 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
5853 Add trailing newline.
5854 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
5855 Add trailing newline.
5856 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
5857 Add trailing newline.
5858 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
5859 Add trailing newline.
5860 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
5861 Add trailing newline.
5862 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
5863 Add trailing newline.
5864 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
5865 Add trailing newline.
5866 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
5867 Add trailing newline.
5868 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
5869 Add trailing newline.
5870 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
5871 Add trailing newline.
5872 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
5873 Add trailing newline.
5874 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
5875 Add trailing newline.
5876 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
5877 Add trailing newline.
5878 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
5879 Add trailing newline.
5880 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
5881 Add trailing newline.
5882 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
5883 Add trailing newline.
5884 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
5885 Add trailing newline.
5886 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
5887 Add trailing newline.
5888 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
5889 Add trailing newline.
5890 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
5891 Add trailing newline.
5892 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
5893 Add trailing newline.
5894 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
5895 Add trailing newline.
5896 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
5897 Add trailing newline.
5898 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
5899 Add trailing newline.
5900 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
5901 Add trailing newline.
5902 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
5903 Add trailing newline.
5904 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
5905 Add trailing newline.
5906 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
5907 Add trailing newline.
5908 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
5909 Add trailing newline.
5910 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
5911 Add trailing newline.
5912 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
5913 Add trailing newline.
5914 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
5915 Add trailing newline.
5916 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
5917 Add trailing newline.
5918 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
5919 Add trailing newline.
5920 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
5921 Add trailing newline.
5922 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
5923 Add trailing newline.
5924 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
5925 Add trailing newline.
5926 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
5927 Add trailing newline.
5928 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
5929 Add trailing newline.
5930 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
5931 Add trailing newline.
5932 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
5933 Add trailing newline.
5934 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
5935 Add trailing newline.
5936 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
5937 Add trailing newline.
5938 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
5939 Add trailing newline.
5940 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
5941 Add trailing newline.
5942 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
5943 Add trailing newline.
5944 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
5945 Add trailing newline.
5946 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
5947 Add trailing newline.
5948 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
5949 Add trailing newline.
5950 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
5951 Add trailing newline.
5952 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
5953 Add trailing newline.
5954 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
5955 Add trailing newline.
5956 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
5957 Add trailing newline.
5958 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
5959 Add trailing newline.
5960 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
5961 Add trailing newline.
5962 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
5963 Add trailing newline.
5964 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
5965 Add trailing newline.
5966 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
5967 Add trailing newline.
5968 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
5969 Add trailing newline.
5970 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
5971 Add trailing newline.
5972 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
5973 Add trailing newline.
5974 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
5975 Add trailing newline.
5976 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
5977 Add trailing newline.
5978 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
5979 Add trailing newline.
5980 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
5981 Add trailing newline.
5982 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
5983 Add trailing newline.
5984 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
5985 Add trailing newline.
5986 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
5987 Add trailing newline.
5988 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
5989 Add trailing newline.
5990 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
5991 Add trailing newline.
5992 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
5993 Add trailing newline.
5994 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
5995 Add trailing newline.
5996 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
5997 Add trailing newline.
5998 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
5999 Add trailing newline.
6000 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
6001 Add trailing newline.
6002 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
6003 Add trailing newline.
6004 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
6005 Add trailing newline.
6006 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
6007 Add trailing newline.
6008 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
6009 Add trailing newline.
6010 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
6011 Add trailing newline.
6012 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
6013 Add trailing newline.
6014 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
6015 Add trailing newline.
6016 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
6017 Add trailing newline.
6018 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
6019 Add trailing newline.
6020 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
6021 Add trailing newline.
6022 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
6023 Add trailing newline.
6024 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
6025 Add trailing newline.
6026 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
6027 Add trailing newline.
6028 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
6029 Add trailing newline.
6030 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
6031 Add trailing newline.
6032 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
6033 Add trailing newline.
6034 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
6035 Add trailing newline.
6036 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
6037 Add trailing newline.
6038 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
6039 Add trailing newline.
6040 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
6041 Add trailing newline.
6042 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
6043 Add trailing newline.
6044 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
6045 Add trailing newline.
6046 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
6047 Add trailing newline.
6048 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
6049 Add trailing newline.
6050 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
6051 Add trailing newline.
6052 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
6053 Add trailing newline.
6054 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
6055 Add trailing newline.
6056 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
6057 Add trailing newline.
6058 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
6059 Add trailing newline.
6060 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
6061 Add trailing newline.
6062 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
6063 Add trailing newline.
6064 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
6065 Add trailing newline.
6066 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
6067 Add trailing newline.
6068 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
6069 Add trailing newline.
6070 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
6071 Add trailing newline.
6072 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
6073 Add trailing newline.
6074 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
6075 Add trailing newline.
6076 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
6077 Add trailing newline.
6078 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
6079 Add trailing newline.
6080 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
6081 Add trailing newline.
6082 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
6083 Add trailing newline.
6084 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
6085 Add trailing newline.
6086 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
6087 Add trailing newline.
6088 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
6089 Add trailing newline.
6090 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
6091 Add trailing newline.
6092 * doc/gcc/funding.rst:
6093 Add trailing newline.
6094 * doc/gcc/gcc-command-options.rst:
6095 Add trailing newline.
6096 * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
6097 Add trailing newline.
6098 * doc/gcc/gcc-command-options/description.rst:
6099 Add trailing newline.
6100 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
6101 Add trailing newline.
6102 * doc/gcc/gcc-command-options/gcc-developer-options.rst:
6103 Add trailing newline.
6104 * doc/gcc/gcc-command-options/machine-dependent-options.rst:
6105 Add trailing newline.
6106 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
6107 Add trailing newline.
6108 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
6109 Add trailing newline.
6110 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
6111 Add trailing newline.
6112 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
6113 Add trailing newline.
6114 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
6115 Add trailing newline.
6116 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
6117 Add trailing newline.
6118 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
6119 Add trailing newline.
6120 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
6121 Add trailing newline.
6122 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
6123 Add trailing newline.
6124 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
6125 Add trailing newline.
6126 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
6127 Add trailing newline.
6128 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
6129 Add trailing newline.
6130 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
6131 Add trailing newline.
6132 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
6133 Add trailing newline.
6134 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
6135 Add trailing newline.
6136 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
6137 Add trailing newline.
6138 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
6139 Add trailing newline.
6140 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
6141 Add trailing newline.
6142 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
6143 Add trailing newline.
6144 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
6145 Add trailing newline.
6146 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
6147 Add trailing newline.
6148 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
6149 Add trailing newline.
6150 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
6151 Add trailing newline.
6152 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
6153 Add trailing newline.
6154 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
6155 Add trailing newline.
6156 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
6157 Add trailing newline.
6158 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
6159 Add trailing newline.
6160 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
6161 Add trailing newline.
6162 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
6163 Add trailing newline.
6164 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
6165 Add trailing newline.
6166 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
6167 Add trailing newline.
6168 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
6169 Add trailing newline.
6170 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
6171 Add trailing newline.
6172 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
6173 Add trailing newline.
6174 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
6175 Add trailing newline.
6176 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
6177 Add trailing newline.
6178 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
6179 Add trailing newline.
6180 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
6181 Add trailing newline.
6182 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
6183 Add trailing newline.
6184 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
6185 Add trailing newline.
6186 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
6187 Add trailing newline.
6188 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
6189 Add trailing newline.
6190 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
6191 Add trailing newline.
6192 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
6193 Add trailing newline.
6194 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
6195 Add trailing newline.
6196 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
6197 Add trailing newline.
6198 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
6199 Add trailing newline.
6200 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
6201 Add trailing newline.
6202 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
6203 Add trailing newline.
6204 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
6205 Add trailing newline.
6206 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
6207 Add trailing newline.
6208 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
6209 Add trailing newline.
6210 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
6211 Add trailing newline.
6212 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
6213 Add trailing newline.
6214 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
6215 Add trailing newline.
6216 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
6217 Add trailing newline.
6218 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
6219 Add trailing newline.
6220 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
6221 Add trailing newline.
6222 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
6223 Add trailing newline.
6224 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
6225 Add trailing newline.
6226 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
6227 Add trailing newline.
6228 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
6229 Add trailing newline.
6230 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
6231 Add trailing newline.
6232 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
6233 Add trailing newline.
6234 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
6235 Add trailing newline.
6236 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
6237 Add trailing newline.
6238 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
6239 Add trailing newline.
6240 * doc/gcc/gcc-command-options/options-for-directory-search.rst:
6241 Add trailing newline.
6242 * doc/gcc/gcc-command-options/options-for-linking.rst:
6243 Add trailing newline.
6244 * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
6245 Add trailing newline.
6246 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
6247 Add trailing newline.
6248 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
6249 Add trailing newline.
6250 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
6251 Add trailing newline.
6252 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
6253 Add trailing newline.
6254 * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
6255 Add trailing newline.
6256 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
6257 Add trailing newline.
6258 * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
6259 Add trailing newline.
6260 * doc/gcc/gcc.rst:
6261 Add trailing newline.
6262 * doc/gcc/gcov-dump.rst:
6263 Add trailing newline.
6264 * doc/gcc/gcov-tool.rst:
6265 Add trailing newline.
6266 * doc/gcc/gcov.rst:
6267 Add trailing newline.
6268 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
6269 Add trailing newline.
6270 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
6271 Add trailing newline.
6272 * doc/gcc/gcov/introduction-to-gcov.rst:
6273 Add trailing newline.
6274 * doc/gcc/gcov/invoking-gcov.rst:
6275 Add trailing newline.
6276 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
6277 Add trailing newline.
6278 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
6279 Add trailing newline.
6280 * doc/gcc/general-public-license-3.rst:
6281 Add trailing newline.
6282 * doc/gcc/gnu-free-documentation-license.rst:
6283 Add trailing newline.
6284 * doc/gcc/gnu-objective-c-features.rst:
6285 Add trailing newline.
6286 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
6287 Add trailing newline.
6288 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
6289 Add trailing newline.
6290 * doc/gcc/gnu-objective-c-features/exceptions.rst:
6291 Add trailing newline.
6292 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
6293 Add trailing newline.
6294 * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
6295 Add trailing newline.
6296 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
6297 Add trailing newline.
6298 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
6299 Add trailing newline.
6300 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
6301 Add trailing newline.
6302 * doc/gcc/gnu-objective-c-features/synchronization.rst:
6303 Add trailing newline.
6304 * doc/gcc/gnu-objective-c-features/type-encoding.rst:
6305 Add trailing newline.
6306 * doc/gcc/gnu.rst:
6307 Add trailing newline.
6308 * doc/gcc/have-you-found-a-bug.rst:
6309 Add trailing newline.
6310 * doc/gcc/how-and-where-to-report-bugs.rst:
6311 Add trailing newline.
6312 * doc/gcc/how-to-get-help-with-gcc.rst:
6313 Add trailing newline.
6314 * doc/gcc/index.rst:
6315 Add trailing newline.
6316 * doc/gcc/indices-and-tables.rst:
6317 Add trailing newline.
6318 * doc/gcc/known-causes-of-trouble-with-gcc.rst:
6319 Add trailing newline.
6320 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
6321 Add trailing newline.
6322 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
6323 Add trailing newline.
6324 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
6325 Add trailing newline.
6326 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
6327 Add trailing newline.
6328 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
6329 Add trailing newline.
6330 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
6331 Add trailing newline.
6332 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
6333 Add trailing newline.
6334 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
6335 Add trailing newline.
6336 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
6337 Add trailing newline.
6338 * doc/gcc/language-standards-supported-by-gcc.rst:
6339 Add trailing newline.
6340 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
6341 Add trailing newline.
6342 * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
6343 Add trailing newline.
6344 * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
6345 Add trailing newline.
6346 * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
6347 Add trailing newline.
6348 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
6349 Add trailing newline.
6350 * doc/gcc/lto-dump.rst:
6351 Add trailing newline.
6352 * doc/gcc/programming-languages-supported-by-gcc.rst:
6353 Add trailing newline.
6354 * doc/gcc/reporting-bugs.rst:
6355 Add trailing newline.
6356 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
6357 Add trailing newline.
6358 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
6359 Add trailing newline.
6360 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
6361 Add trailing newline.
6362 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
6363 Add trailing newline.
6364 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
6365 Add trailing newline.
6366 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
6367 Add trailing newline.
6368 * doc/gccint/analysis-and-representation-of-loops.rst:
6369 Add trailing newline.
6370 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
6371 Add trailing newline.
6372 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
6373 Add trailing newline.
6374 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
6375 Add trailing newline.
6376 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
6377 Add trailing newline.
6378 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
6379 Add trailing newline.
6380 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
6381 Add trailing newline.
6382 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
6383 Add trailing newline.
6384 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
6385 Add trailing newline.
6386 * doc/gccint/analyzer-internals.rst:
6387 Add trailing newline.
6388 * doc/gccint/collect2.rst:
6389 Add trailing newline.
6390 * doc/gccint/contributing-to-gcc-development.rst:
6391 Add trailing newline.
6392 * doc/gccint/contributors-to-gcc.rst:
6393 Add trailing newline.
6394 * doc/gccint/control-flow-graph.rst:
6395 Add trailing newline.
6396 * doc/gccint/control-flow-graph/basic-blocks.rst:
6397 Add trailing newline.
6398 * doc/gccint/control-flow-graph/edges.rst:
6399 Add trailing newline.
6400 * doc/gccint/control-flow-graph/liveness-information.rst:
6401 Add trailing newline.
6402 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
6403 Add trailing newline.
6404 * doc/gccint/control-flow-graph/profile-information.rst:
6405 Add trailing newline.
6406 * doc/gccint/copyright.rst:
6407 Add trailing newline.
6408 * doc/gccint/debugging-the-analyzer.rst:
6409 Add trailing newline.
6410 * doc/gccint/funding.rst:
6411 Add trailing newline.
6412 * doc/gccint/gcc-and-portability.rst:
6413 Add trailing newline.
6414 * doc/gccint/general-public-license-3.rst:
6415 Add trailing newline.
6416 * doc/gccint/generic.rst:
6417 Add trailing newline.
6418 * doc/gccint/generic/attributes-in-trees.rst:
6419 Add trailing newline.
6420 * doc/gccint/generic/c-and-c++-trees.rst:
6421 Add trailing newline.
6422 * doc/gccint/generic/declarations.rst:
6423 Add trailing newline.
6424 * doc/gccint/generic/deficiencies.rst:
6425 Add trailing newline.
6426 * doc/gccint/generic/expressions.rst:
6427 Add trailing newline.
6428 * doc/gccint/generic/functions.rst:
6429 Add trailing newline.
6430 * doc/gccint/generic/language-dependent-trees.rst:
6431 Add trailing newline.
6432 * doc/gccint/generic/overview.rst:
6433 Add trailing newline.
6434 * doc/gccint/generic/statements.rst:
6435 Add trailing newline.
6436 * doc/gccint/generic/types.rst:
6437 Add trailing newline.
6438 * doc/gccint/gimple-api.rst:
6439 Add trailing newline.
6440 * doc/gccint/gimple.rst:
6441 Add trailing newline.
6442 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
6443 Add trailing newline.
6444 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
6445 Add trailing newline.
6446 * doc/gccint/gimple/exception-handling.rst:
6447 Add trailing newline.
6448 * doc/gccint/gimple/gimple-instruction-set.rst:
6449 Add trailing newline.
6450 * doc/gccint/gimple/gimple-sequences.rst:
6451 Add trailing newline.
6452 * doc/gccint/gimple/manipulating-gimple-statements.rst:
6453 Add trailing newline.
6454 * doc/gccint/gimple/operands.rst:
6455 Add trailing newline.
6456 * doc/gccint/gimple/sequence-iterators.rst:
6457 Add trailing newline.
6458 * doc/gccint/gimple/statement-and-operand-traversals.rst:
6459 Add trailing newline.
6460 * doc/gccint/gimple/temporaries.rst:
6461 Add trailing newline.
6462 * doc/gccint/gimple/tuple-representation.rst:
6463 Add trailing newline.
6464 * doc/gccint/gimple/tuple-specific-accessors.rst:
6465 Add trailing newline.
6466 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
6467 Add trailing newline.
6468 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
6469 Add trailing newline.
6470 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
6471 Add trailing newline.
6472 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
6473 Add trailing newline.
6474 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
6475 Add trailing newline.
6476 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
6477 Add trailing newline.
6478 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
6479 Add trailing newline.
6480 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
6481 Add trailing newline.
6482 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
6483 Add trailing newline.
6484 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
6485 Add trailing newline.
6486 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
6487 Add trailing newline.
6488 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
6489 Add trailing newline.
6490 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
6491 Add trailing newline.
6492 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
6493 Add trailing newline.
6494 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
6495 Add trailing newline.
6496 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
6497 Add trailing newline.
6498 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
6499 Add trailing newline.
6500 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
6501 Add trailing newline.
6502 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
6503 Add trailing newline.
6504 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
6505 Add trailing newline.
6506 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
6507 Add trailing newline.
6508 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
6509 Add trailing newline.
6510 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
6511 Add trailing newline.
6512 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
6513 Add trailing newline.
6514 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
6515 Add trailing newline.
6516 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
6517 Add trailing newline.
6518 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
6519 Add trailing newline.
6520 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
6521 Add trailing newline.
6522 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
6523 Add trailing newline.
6524 * doc/gccint/gnu-free-documentation-license.rst:
6525 Add trailing newline.
6526 * doc/gccint/guidelines-for-diagnostics.rst:
6527 Add trailing newline.
6528 * doc/gccint/guidelines-for-options.rst:
6529 Add trailing newline.
6530 * doc/gccint/host-common.rst:
6531 Add trailing newline.
6532 * doc/gccint/host-configuration.rst:
6533 Add trailing newline.
6534 * doc/gccint/host-filesystem.rst:
6535 Add trailing newline.
6536 * doc/gccint/host-makefile-fragments.rst:
6537 Add trailing newline.
6538 * doc/gccint/host-misc.rst:
6539 Add trailing newline.
6540 * doc/gccint/index.rst:
6541 Add trailing newline.
6542 * doc/gccint/indices-and-tables.rst:
6543 Add trailing newline.
6544 * doc/gccint/interfacing-to-gcc-output.rst:
6545 Add trailing newline.
6546 * doc/gccint/introduction.rst:
6547 Add trailing newline.
6548 * doc/gccint/language-front-ends-in-gcc.rst:
6549 Add trailing newline.
6550 * doc/gccint/link-time-optimization.rst:
6551 Add trailing newline.
6552 * doc/gccint/link-time-optimization/design-overview.rst:
6553 Add trailing newline.
6554 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
6555 Add trailing newline.
6556 * doc/gccint/link-time-optimization/lto-file-sections.rst:
6557 Add trailing newline.
6558 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
6559 Add trailing newline.
6560 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
6561 Add trailing newline.
6562 * doc/gccint/machine-descriptions.rst:
6563 Add trailing newline.
6564 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
6565 Add trailing newline.
6566 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
6567 Add trailing newline.
6568 * doc/gccint/machine-descriptions/conditional-execution.rst:
6569 Add trailing newline.
6570 * doc/gccint/machine-descriptions/constant-definitions.rst:
6571 Add trailing newline.
6572 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
6573 Add trailing newline.
6574 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
6575 Add trailing newline.
6576 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
6577 Add trailing newline.
6578 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
6579 Add trailing newline.
6580 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
6581 Add trailing newline.
6582 * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
6583 Add trailing newline.
6584 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
6585 Add trailing newline.
6586 * doc/gccint/machine-descriptions/instruction-attributes.rst:
6587 Add trailing newline.
6588 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
6589 Add trailing newline.
6590 * doc/gccint/machine-descriptions/iterators.rst:
6591 Add trailing newline.
6592 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
6593 Add trailing newline.
6594 * doc/gccint/machine-descriptions/operand-constraints.rst:
6595 Add trailing newline.
6596 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
6597 Add trailing newline.
6598 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
6599 Add trailing newline.
6600 * doc/gccint/machine-descriptions/predicates.rst:
6601 Add trailing newline.
6602 * doc/gccint/machine-descriptions/rtl-template.rst:
6603 Add trailing newline.
6604 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
6605 Add trailing newline.
6606 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
6607 Add trailing newline.
6608 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
6609 Add trailing newline.
6610 * doc/gccint/makefile-fragments.rst:
6611 Add trailing newline.
6612 * doc/gccint/match-and-simplify.rst:
6613 Add trailing newline.
6614 * doc/gccint/memory-management-and-type-information.rst:
6615 Add trailing newline.
6616 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
6617 Add trailing newline.
6618 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
6619 Add trailing newline.
6620 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
6621 Add trailing newline.
6622 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
6623 Add trailing newline.
6624 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
6625 Add trailing newline.
6626 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
6627 Add trailing newline.
6628 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
6629 Add trailing newline.
6630 * doc/gccint/option-file-format.rst:
6631 Add trailing newline.
6632 * doc/gccint/option-properties.rst:
6633 Add trailing newline.
6634 * doc/gccint/option-specification-files.rst:
6635 Add trailing newline.
6636 * doc/gccint/passes-and-files-of-the-compiler.rst:
6637 Add trailing newline.
6638 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
6639 Add trailing newline.
6640 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
6641 Add trailing newline.
6642 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
6643 Add trailing newline.
6644 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
6645 Add trailing newline.
6646 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
6647 Add trailing newline.
6648 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
6649 Add trailing newline.
6650 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
6651 Add trailing newline.
6652 * doc/gccint/plugins.rst:
6653 Add trailing newline.
6654 * doc/gccint/plugins/building-gcc-plugins.rst:
6655 Add trailing newline.
6656 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
6657 Add trailing newline.
6658 * doc/gccint/plugins/giving-information-about-a-plugin.rst:
6659 Add trailing newline.
6660 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
6661 Add trailing newline.
6662 * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
6663 Add trailing newline.
6664 * doc/gccint/plugins/keeping-track-of-available-passes.rst:
6665 Add trailing newline.
6666 * doc/gccint/plugins/loading-plugins.rst:
6667 Add trailing newline.
6668 * doc/gccint/plugins/plugin-api.rst:
6669 Add trailing newline.
6670 * doc/gccint/plugins/recording-information-about-pass-execution.rst:
6671 Add trailing newline.
6672 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
6673 Add trailing newline.
6674 * doc/gccint/rtl-representation.rst:
6675 Add trailing newline.
6676 * doc/gccint/rtl-representation/access-to-operands.rst:
6677 Add trailing newline.
6678 * doc/gccint/rtl-representation/access-to-special-operands.rst:
6679 Add trailing newline.
6680 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
6681 Add trailing newline.
6682 * doc/gccint/rtl-representation/bit-fields.rst:
6683 Add trailing newline.
6684 * doc/gccint/rtl-representation/comparison-operations.rst:
6685 Add trailing newline.
6686 * doc/gccint/rtl-representation/constant-expression-types.rst:
6687 Add trailing newline.
6688 * doc/gccint/rtl-representation/conversions.rst:
6689 Add trailing newline.
6690 * doc/gccint/rtl-representation/declarations.rst:
6691 Add trailing newline.
6692 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
6693 Add trailing newline.
6694 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
6695 Add trailing newline.
6696 * doc/gccint/rtl-representation/insns.rst:
6697 Add trailing newline.
6698 * doc/gccint/rtl-representation/machine-modes.rst:
6699 Add trailing newline.
6700 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
6701 Add trailing newline.
6702 * doc/gccint/rtl-representation/reading-rtl.rst:
6703 Add trailing newline.
6704 * doc/gccint/rtl-representation/registers-and-memory.rst:
6705 Add trailing newline.
6706 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
6707 Add trailing newline.
6708 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
6709 Add trailing newline.
6710 * doc/gccint/rtl-representation/rtl-object-types.rst:
6711 Add trailing newline.
6712 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
6713 Add trailing newline.
6714 * doc/gccint/rtl-representation/side-effect-expressions.rst:
6715 Add trailing newline.
6716 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
6717 Add trailing newline.
6718 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
6719 Add trailing newline.
6720 * doc/gccint/rtl-representation/vector-operations.rst:
6721 Add trailing newline.
6722 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
6723 Add trailing newline.
6724 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
6725 Add trailing newline.
6726 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
6727 Add trailing newline.
6728 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
6729 Add trailing newline.
6730 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
6731 Add trailing newline.
6732 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
6733 Add trailing newline.
6734 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
6735 Add trailing newline.
6736 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
6737 Add trailing newline.
6738 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
6739 Add trailing newline.
6740 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
6741 Add trailing newline.
6742 * doc/gccint/source-tree-structure-and-build-system.rst:
6743 Add trailing newline.
6744 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
6745 Add trailing newline.
6746 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
6747 Add trailing newline.
6748 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
6749 Add trailing newline.
6750 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
6751 Add trailing newline.
6752 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
6753 Add trailing newline.
6754 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
6755 Add trailing newline.
6756 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
6757 Add trailing newline.
6758 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
6759 Add trailing newline.
6760 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
6761 Add trailing newline.
6762 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
6763 Add trailing newline.
6764 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
6765 Add trailing newline.
6766 * doc/gccint/standard-header-file-directories.rst:
6767 Add trailing newline.
6768 * doc/gccint/static-analyzer.rst:
6769 Add trailing newline.
6770 * doc/gccint/target-macros.rst:
6771 Add trailing newline.
6772 * doc/gccint/target-macros/controlling-debugging-information-format.rst:
6773 Add trailing newline.
6774 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
6775 Add trailing newline.
6776 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
6777 Add trailing newline.
6778 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
6779 Add trailing newline.
6780 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
6781 Add trailing newline.
6782 * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
6783 Add trailing newline.
6784 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
6785 Add trailing newline.
6786 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
6787 Add trailing newline.
6788 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
6789 Add trailing newline.
6790 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
6791 Add trailing newline.
6792 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
6793 Add trailing newline.
6794 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
6795 Add trailing newline.
6796 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
6797 Add trailing newline.
6798 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
6799 Add trailing newline.
6800 * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
6801 Add trailing newline.
6802 * doc/gccint/target-macros/position-independent-code.rst:
6803 Add trailing newline.
6804 * doc/gccint/target-macros/register-usage.rst:
6805 Add trailing newline.
6806 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
6807 Add trailing newline.
6808 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
6809 Add trailing newline.
6810 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
6811 Add trailing newline.
6812 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
6813 Add trailing newline.
6814 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
6815 Add trailing newline.
6816 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
6817 Add trailing newline.
6818 * doc/gccint/target-macros/support-for-nested-functions.rst:
6819 Add trailing newline.
6820 * doc/gccint/target-macros/the-global-targetm-variable.rst:
6821 Add trailing newline.
6822 * doc/gccint/target-makefile-fragments.rst:
6823 Add trailing newline.
6824 * doc/gccint/testsuites.rst:
6825 Add trailing newline.
6826 * doc/gccint/testsuites/ada-language-testsuites.rst:
6827 Add trailing newline.
6828 * doc/gccint/testsuites/c-language-testsuites.rst:
6829 Add trailing newline.
6830 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
6831 Add trailing newline.
6832 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
6833 Add trailing newline.
6834 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
6835 Add trailing newline.
6836 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
6837 Add trailing newline.
6838 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
6839 Add trailing newline.
6840 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
6841 Add trailing newline.
6842 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
6843 Add trailing newline.
6844 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
6845 Add trailing newline.
6846 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
6847 Add trailing newline.
6848 * doc/gccint/testsuites/support-for-testing-gcov.rst:
6849 Add trailing newline.
6850 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
6851 Add trailing newline.
6852 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
6853 Add trailing newline.
6854 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
6855 Add trailing newline.
6856 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
6857 Add trailing newline.
6858 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
6859 Add trailing newline.
6860 * doc/gccint/the-gcc-low-level-runtime-library.rst:
6861 Add trailing newline.
6862 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
6863 Add trailing newline.
6864 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
6865 Add trailing newline.
6866 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
6867 Add trailing newline.
6868 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
6869 Add trailing newline.
6870 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
6871 Add trailing newline.
6872 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
6873 Add trailing newline.
6874 * doc/gccint/the-language.rst:
6875 Add trailing newline.
6876 * doc/gccint/user-experience-guidelines.rst:
6877 Add trailing newline.
6878 * doc/install/binaries.rst:
6879 Add trailing newline.
6880 * doc/install/building.rst:
6881 Add trailing newline.
6882 * doc/install/building/building-a-cross-compiler.rst:
6883 Add trailing newline.
6884 * doc/install/building/building-a-native-compiler.rst:
6885 Add trailing newline.
6886 * doc/install/building/building-in-parallel.rst:
6887 Add trailing newline.
6888 * doc/install/building/building-the-ada-compiler.rst:
6889 Add trailing newline.
6890 * doc/install/building/building-the-d-compiler.rst:
6891 Add trailing newline.
6892 * doc/install/building/building-with-profile-feedback.rst:
6893 Add trailing newline.
6894 * doc/install/configuration.rst:
6895 Add trailing newline.
6896 * doc/install/copyright.rst:
6897 Add trailing newline.
6898 * doc/install/downloading-gcc.rst:
6899 Add trailing newline.
6900 * doc/install/final-installation.rst:
6901 Add trailing newline.
6902 * doc/install/gnu-free-documentation-license.rst:
6903 Add trailing newline.
6904 * doc/install/host-target-specific-installation-notes-for-gcc.rst:
6905 Add trailing newline.
6906 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
6907 Add trailing newline.
6908 * doc/install/how-to-interpret-test-results.rst:
6909 Add trailing newline.
6910 * doc/install/index.rst:
6911 Add trailing newline.
6912 * doc/install/indices-and-tables.rst:
6913 Add trailing newline.
6914 * doc/install/installing-gcc.rst:
6915 Add trailing newline.
6916 * doc/install/passing-options-and-running-multiple-testsuites.rst:
6917 Add trailing newline.
6918 * doc/install/prerequisites.rst:
6919 Add trailing newline.
6920 * doc/install/submitting-test-results.rst:
6921 Add trailing newline.
6922 * doc/install/testing.rst:
6923 Add trailing newline.
6924
6925 2022-11-09 Martin Liska <mliska@suse.cz>
6926
6927 * opts.cc (get_option_html_page): Port to sphinx URLs.
6928 (get_option_url): Likewise.
6929 (test_get_option_html_page): Likewise.
6930
6931 2022-11-09 Jakub Jelinek <jakub@redhat.com>
6932
6933 PR tree-optimization/107569
6934 * range-op-float.cc (foperator_abs::op1_range): Clear NaNs
6935 from the negatives frange before unioning it into r.
6936
6937 2022-11-09 Martin Liska <mliska@suse.cz>
6938
6939 * Makefile.in: Add vpath default for .rst files.
6940 * config/avr/avr-devices.cc: For port RST.
6941 * config/avr/avr-mcus.def: Update path.
6942 * config/avr/gen-avr-mmcu-texi.cc: Moved to...
6943 * config/avr/gen-avr-mmcu-rst.cc: ...here.
6944 * config/avr/t-avr: Update to rst.
6945 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
6946
6947 2022-11-09 Philipp Tomsich <philipp.tomsich@vrull.eu>
6948
6949 * config/riscv/riscv.cc (riscv_rtx_costs): Add BSWAP.
6950
6951 2022-11-09 Xi Ruoyao <xry111@xry111.site>
6952
6953 * config/loongarch/loongarch.cc (loongarch_emit_int_compare):
6954 Avoid signed overflow.
6955
6956 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
6957
6958 * range-op-float.cc (foperator_plus::op1_range): New.
6959 (foperator_plus::op2_range): New.
6960 (foperator_minus::op1_range): New.
6961 (foperator_minus::op2_range): New.
6962
6963 2022-11-09 Martin Liska <mliska@suse.cz>
6964
6965 * Makefile.in: Support installation if sphinx-build is missing.
6966
6967 2022-11-09 Martin Liska <mliska@suse.cz>
6968
6969 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
6970 Port to RST.
6971 * doc/gccint/target-macros/storage-layout.rst: Likewise.
6972 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
6973 * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
6974
6975 2022-11-09 Martin Liska <mliska@suse.cz>
6976
6977 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
6978 Do not include tm.rst.in.
6979 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
6980 Likewise.
6981 * doc/gccint/target-macros/run-time-target-specification.rst:
6982 Likewise.
6983
6984 2022-11-09 Martin Liska <mliska@suse.cz>
6985
6986 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
6987 Fix cross manual refs.
6988 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
6989 Likewise.
6990
6991 2022-11-09 Martin Liska <mliska@suse.cz>
6992
6993 * Makefile.in: Support --with-sphinx-build.
6994 * configure.ac:
6995 * configure: Regenerate.
6996
6997 2022-11-09 Martin Liska <mliska@suse.cz>
6998
6999 * target.def: Use proper lexers for target macros.
7000 * doc/gccint/target-macros/tm.rst.in: Re-generate.
7001
7002 2022-11-09 Martin Liska <mliska@suse.cz>
7003
7004 * doc/analyzer.texi: Removed.
7005 * doc/avr-mmcu.texi: Removed.
7006 * doc/bugreport.texi: Removed.
7007 * doc/cfg.texi: Removed.
7008 * doc/collect2.texi: Removed.
7009 * doc/compat.texi: Removed.
7010 * doc/configfiles.texi: Removed.
7011 * doc/configterms.texi: Removed.
7012 * doc/contrib.texi: Removed.
7013 * doc/contribute.texi: Removed.
7014 * doc/cpp.texi: Removed.
7015 * doc/cppdiropts.texi: Removed.
7016 * doc/cppenv.texi: Removed.
7017 * doc/cppinternals.texi: Removed.
7018 * doc/cppopts.texi: Removed.
7019 * doc/cppwarnopts.texi: Removed.
7020 * doc/extend.texi: Removed.
7021 * doc/fragments.texi: Removed.
7022 * doc/frontends.texi: Removed.
7023 * doc/gcc.texi: Removed.
7024 * doc/gccint.texi: Removed.
7025 * doc/gcov-dump.texi: Removed.
7026 * doc/gcov-tool.texi: Removed.
7027 * doc/gcov.texi: Removed.
7028 * doc/generic.texi: Removed.
7029 * doc/gimple.texi: Removed.
7030 * doc/gnu.texi: Removed.
7031 * doc/gty.texi: Removed.
7032 * doc/headerdirs.texi: Removed.
7033 * doc/hostconfig.texi: Removed.
7034 * doc/implement-c.texi: Removed.
7035 * doc/implement-cxx.texi: Removed.
7036 * doc/include/fdl.texi: Removed.
7037 * doc/include/funding.texi: Removed.
7038 * doc/include/gcc-common.texi: Removed.
7039 * doc/include/gpl_v3.texi: Removed.
7040 * doc/install.texi: Removed.
7041 * doc/interface.texi: Removed.
7042 * doc/invoke.texi: Removed.
7043 * doc/languages.texi: Removed.
7044 * doc/libgcc.texi: Removed.
7045 * doc/loop.texi: Removed.
7046 * doc/lto-dump.texi: Removed.
7047 * doc/lto.texi: Removed.
7048 * doc/makefile.texi: Removed.
7049 * doc/match-and-simplify.texi: Removed.
7050 * doc/md.texi: Removed.
7051 * doc/objc.texi: Removed.
7052 * doc/optinfo.texi: Removed.
7053 * doc/options.texi: Removed.
7054 * doc/passes.texi: Removed.
7055 * doc/plugins.texi: Removed.
7056 * doc/poly-int.texi: Removed.
7057 * doc/portability.texi: Removed.
7058 * doc/rtl.texi: Removed.
7059 * doc/service.texi: Removed.
7060 * doc/sourcebuild.texi: Removed.
7061 * doc/standards.texi: Removed.
7062 * doc/tm.texi: Removed.
7063 * doc/tree-ssa.texi: Removed.
7064 * doc/trouble.texi: Removed.
7065 * doc/ux.texi: Removed.
7066 * doc/tm.texi.in: Removed.
7067
7068 2022-11-09 Martin Liska <mliska@suse.cz>
7069
7070 * doc/gccint/target-macros/tm.rst.in: New file.
7071
7072 2022-11-09 Martin Liska <mliska@suse.cz>
7073
7074 * Makefile.in: Support Sphinx based documentation.
7075 * configure: Regenerate.
7076 * configure.ac: Support Sphinx based documentation.
7077 * genhooks.cc (struct s_hook): Emit tm.rst.in file.
7078
7079 2022-11-09 Martin Liska <mliska@suse.cz>
7080
7081 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
7082 * doc/gccint/target-macros/addressing-modes.rst: Likewise.
7083 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
7084 * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
7085 * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
7086 * doc/gccint/target-macros/condition-code-status.rst: Likewise.
7087 * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
7088 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
7089 * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
7090 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
7091 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
7092 Likewise.
7093 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
7094 Likewise.
7095 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
7096 Likewise.
7097 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
7098 Likewise.
7099 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
7100 Likewise.
7101 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
7102 Likewise.
7103 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
7104 Likewise.
7105 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
7106 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
7107 * doc/gccint/target-macros/emulating-tls.rst: Likewise.
7108 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
7109 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
7110 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
7111 * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
7112 * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
7113 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
7114 Likewise.
7115 * doc/gccint/target-macros/register-classes.rst: Likewise.
7116 * doc/gccint/target-macros/register-usage.rst: Likewise.
7117 * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
7118 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
7119 Likewise.
7120 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
7121 Likewise.
7122 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
7123 Likewise.
7124 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
7125 Likewise.
7126 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
7127 Likewise.
7128 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
7129 Likewise.
7130 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
7131 Likewise.
7132 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
7133 Likewise.
7134 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
7135 Likewise.
7136 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
7137 Likewise.
7138 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
7139 Likewise.
7140 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
7141 Likewise.
7142 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
7143 Likewise.
7144 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
7145 Likewise.
7146 * doc/gccint/target-macros/storage-layout.rst: Likewise.
7147 * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
7148
7149 2022-11-09 Martin Liska <mliska@suse.cz>
7150
7151 * common/common-target.def: Port to RST.
7152 * target.def: Port to RST.
7153
7154 2022-11-09 Martin Liska <mliska@suse.cz>
7155
7156 * doc/cpp/character-sets.rst: New file.
7157 * doc/cpp/conditional-syntax.rst: New file.
7158 * doc/cpp/conditional-uses.rst: New file.
7159 * doc/cpp/conditionals.rst: New file.
7160 * doc/cpp/conf.py: New file.
7161 * doc/cpp/copyright.rst: New file.
7162 * doc/cpp/deleted-code.rst: New file.
7163 * doc/cpp/diagnostics.rst: New file.
7164 * doc/cpp/environment-variables.rst: New file.
7165 * doc/cpp/gnu-free-documentation-license.rst: New file.
7166 * doc/cpp/header-files.rst: New file.
7167 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
7168 * doc/cpp/header-files/computed-includes.rst: New file.
7169 * doc/cpp/header-files/include-operation.rst: New file.
7170 * doc/cpp/header-files/include-syntax.rst: New file.
7171 * doc/cpp/header-files/once-only-headers.rst: New file.
7172 * doc/cpp/header-files/search-path.rst: New file.
7173 * doc/cpp/header-files/system-headers.rst: New file.
7174 * doc/cpp/header-files/wrapper-headers.rst: New file.
7175 * doc/cpp/implementation-defined-behavior.rst: New file.
7176 * doc/cpp/implementation-details.rst: New file.
7177 * doc/cpp/implementation-limits.rst: New file.
7178 * doc/cpp/index.rst: New file.
7179 * doc/cpp/indices-and-tables.rst: New file.
7180 * doc/cpp/initial-processing.rst: New file.
7181 * doc/cpp/invocation.rst: New file.
7182 * doc/cpp/line-control.rst: New file.
7183 * doc/cpp/macros.rst: New file.
7184 * doc/cpp/macros/concatenation.rst: New file.
7185 * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
7186 * doc/cpp/macros/function-like-macros.rst: New file.
7187 * doc/cpp/macros/macro-arguments.rst: New file.
7188 * doc/cpp/macros/macro-pitfalls.rst: New file.
7189 * doc/cpp/macros/object-like-macros.rst: New file.
7190 * doc/cpp/macros/predefined-macros.rst: New file.
7191 * doc/cpp/macros/stringizing.rst: New file.
7192 * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
7193 * doc/cpp/macros/variadic-macros.rst: New file.
7194 * doc/cpp/obsolete-features.rst: New file.
7195 * doc/cpp/other-directives.rst: New file.
7196 * doc/cpp/overview.rst: New file.
7197 * doc/cpp/pragmas.rst: New file.
7198 * doc/cpp/preprocessor-output.rst: New file.
7199 * doc/cpp/the-preprocessing-language.rst: New file.
7200 * doc/cpp/tokenization.rst: New file.
7201 * doc/cpp/traditional-lexical-analysis.rst: New file.
7202 * doc/cpp/traditional-macros.rst: New file.
7203 * doc/cpp/traditional-miscellany.rst: New file.
7204 * doc/cpp/traditional-mode.rst: New file.
7205 * doc/cpp/traditional-warnings.rst: New file.
7206 * doc/cppinternals/conf.py: New file.
7207 * doc/cppinternals/copyright.rst: New file.
7208 * doc/cppinternals/cppinternals.rst: New file.
7209 * doc/cppinternals/cpplib.rst: New file.
7210 * doc/cppinternals/files.rst: New file.
7211 * doc/cppinternals/index.rst: New file.
7212 * doc/cppinternals/indices-and-tables.rst: New file.
7213 * doc/cppinternals/internal-representation-of-macros.rst: New file.
7214 * doc/cppinternals/just-which-line-number-anyway.rst: New file.
7215 * doc/cppinternals/lexing-a-line.rst: New file.
7216 * doc/cppinternals/lexing-a-token.rst: New file.
7217 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
7218 * doc/cppinternals/macro-expansion-overview.rst: New file.
7219 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
7220 * doc/cppinternals/multiple-include-optimization.rst: New file.
7221 * doc/cppinternals/overview.rst: New file.
7222 * doc/cppinternals/representation-of-line-numbers.rst: New file.
7223 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
7224 * doc/gcc/binary-compatibility.rst: New file.
7225 * doc/gcc/c++-implementation-defined-behavior.rst: New file.
7226 * doc/gcc/c-implementation-defined-behavior.rst: New file.
7227 * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
7228 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
7229 * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
7230 * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
7231 * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
7232 * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
7233 * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
7234 * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
7235 * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
7236 * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
7237 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
7238 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
7239 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
7240 * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
7241 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
7242 New file.
7243 * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
7244 * doc/gcc/conditionally-supported-behavior.rst: New file.
7245 * doc/gcc/conf.py: New file.
7246 * doc/gcc/contributing-to-gcc-development.rst: New file.
7247 * doc/gcc/contributors-to-gcc.rst: New file.
7248 * doc/gcc/copyright.rst: New file.
7249 * doc/gcc/exception-handling.rst: New file.
7250 * doc/gcc/extensions-to-the-c++-language.rst: New file.
7251 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
7252 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
7253 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
7254 New file.
7255 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
7256 New file.
7257 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
7258 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
7259 New file.
7260 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
7261 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
7262 * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
7263 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
7264 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
7265 New file.
7266 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
7267 * doc/gcc/extensions-to-the-c-language-family.rst: New file.
7268 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
7269 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
7270 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
7271 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
7272 New file.
7273 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
7274 New file.
7275 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
7276 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
7277 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
7278 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
7279 New file.
7280 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
7281 New file.
7282 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
7283 New file.
7284 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
7285 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
7286 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
7287 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
7288 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
7289 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
7290 New file.
7291 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
7292 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
7293 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
7294 New file.
7295 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
7296 New file.
7297 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
7298 New file.
7299 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
7300 New file.
7301 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
7302 New file.
7303 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
7304 New file.
7305 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
7306 New file.
7307 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
7308 New file.
7309 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
7310 New file.
7311 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
7312 New file.
7313 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
7314 New file.
7315 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
7316 New file.
7317 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
7318 New file.
7319 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
7320 New file.
7321 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
7322 New file.
7323 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
7324 New file.
7325 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
7326 New file.
7327 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
7328 New file.
7329 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
7330 New file.
7331 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
7332 New file.
7333 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
7334 New file.
7335 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
7336 New file.
7337 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
7338 New file.
7339 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
7340 New file.
7341 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
7342 New file.
7343 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
7344 New file.
7345 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
7346 New file.
7347 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
7348 New file.
7349 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
7350 New file.
7351 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
7352 New file.
7353 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
7354 New file.
7355 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
7356 New file.
7357 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
7358 New file.
7359 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
7360 New file.
7361 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
7362 New file.
7363 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
7364 New file.
7365 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
7366 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
7367 New file.
7368 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
7369 New file.
7370 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
7371 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
7372 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
7373 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
7374 New file.
7375 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
7376 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
7377 New file.
7378 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
7379 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
7380 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
7381 New file.
7382 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
7383 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
7384 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
7385 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
7386 New file.
7387 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
7388 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
7389 New file.
7390 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
7391 New file.
7392 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
7393 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
7394 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
7395 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
7396 New file.
7397 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
7398 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
7399 New file.
7400 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
7401 New file.
7402 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
7403 New file.
7404 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
7405 New file.
7406 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
7407 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
7408 New file.
7409 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
7410 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
7411 New file.
7412 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
7413 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
7414 New file.
7415 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
7416 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
7417 New file.
7418 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
7419 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
7420 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
7421 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
7422 New file.
7423 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
7424 New file.
7425 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
7426 New file.
7427 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
7428 New file.
7429 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
7430 New file.
7431 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
7432 New file.
7433 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
7434 New file.
7435 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
7436 New file.
7437 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
7438 New file.
7439 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
7440 New file.
7441 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
7442 New file.
7443 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
7444 New file.
7445 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
7446 New file.
7447 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
7448 New file.
7449 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
7450 New file.
7451 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
7452 New file.
7453 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
7454 New file.
7455 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
7456 New file.
7457 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
7458 New file.
7459 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
7460 New file.
7461 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
7462 New file.
7463 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
7464 New file.
7465 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
7466 New file.
7467 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
7468 New file.
7469 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
7470 New file.
7471 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
7472 New file.
7473 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
7474 New file.
7475 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
7476 New file.
7477 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
7478 New file.
7479 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
7480 New file.
7481 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
7482 New file.
7483 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
7484 New file.
7485 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
7486 New file.
7487 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
7488 New file.
7489 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
7490 New file.
7491 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
7492 New file.
7493 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
7494 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
7495 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
7496 New file.
7497 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
7498 New file.
7499 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
7500 New file.
7501 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
7502 New file.
7503 * doc/gcc/funding.rst: New file.
7504 * doc/gcc/gcc-command-options.rst: New file.
7505 * doc/gcc/gcc-command-options/c++-modules.rst: New file.
7506 * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
7507 * doc/gcc/gcc-command-options/description.rst: New file.
7508 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
7509 * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
7510 * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
7511 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
7512 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
7513 New file.
7514 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
7515 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
7516 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
7517 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
7518 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
7519 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
7520 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
7521 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
7522 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
7523 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
7524 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
7525 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
7526 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
7527 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
7528 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
7529 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
7530 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
7531 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
7532 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
7533 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
7534 New file.
7535 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
7536 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
7537 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
7538 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
7539 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
7540 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
7541 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
7542 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
7543 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
7544 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
7545 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
7546 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
7547 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
7548 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
7549 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
7550 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
7551 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
7552 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
7553 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
7554 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
7555 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
7556 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
7557 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
7558 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
7559 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
7560 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
7561 New file.
7562 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
7563 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
7564 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
7565 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
7566 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
7567 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
7568 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
7569 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
7570 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
7571 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
7572 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
7573 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
7574 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
7575 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
7576 * doc/gcc/gcc-command-options/option-summary.rst: New file.
7577 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
7578 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
7579 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
7580 New file.
7581 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
7582 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
7583 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
7584 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
7585 * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
7586 * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
7587 * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
7588 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
7589 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
7590 New file.
7591 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
7592 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
7593 * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
7594 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
7595 New file.
7596 * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
7597 * doc/gcc/gcc.rst: New file.
7598 * doc/gcc/gcov-dump.rst: New file.
7599 * doc/gcc/gcov-tool.rst: New file.
7600 * doc/gcc/gcov.rst: New file.
7601 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
7602 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
7603 * doc/gcc/gcov/introduction-to-gcov.rst: New file.
7604 * doc/gcc/gcov/invoking-gcov.rst: New file.
7605 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
7606 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
7607 * doc/gcc/general-public-license-3.rst: New file.
7608 * doc/gcc/gnu-free-documentation-license.rst: New file.
7609 * doc/gcc/gnu-objective-c-features.rst: New file.
7610 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
7611 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
7612 * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
7613 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
7614 * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
7615 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
7616 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
7617 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
7618 * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
7619 * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
7620 * doc/gcc/gnu.rst: New file.
7621 * doc/gcc/have-you-found-a-bug.rst: New file.
7622 * doc/gcc/how-and-where-to-report-bugs.rst: New file.
7623 * doc/gcc/how-to-get-help-with-gcc.rst: New file.
7624 * doc/gcc/index.rst: New file.
7625 * doc/gcc/indices-and-tables.rst: New file.
7626 * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
7627 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
7628 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
7629 New file.
7630 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
7631 New file.
7632 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
7633 New file.
7634 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
7635 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
7636 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
7637 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
7638 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
7639 New file.
7640 * doc/gcc/language-standards-supported-by-gcc.rst: New file.
7641 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
7642 * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
7643 * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
7644 * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
7645 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
7646 New file.
7647 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
7648 * doc/gcc/lto-dump.rst: New file.
7649 * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
7650 * doc/gcc/reporting-bugs.rst: New file.
7651 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
7652 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
7653 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
7654 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
7655 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
7656 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
7657 New file.
7658 * doc/gccint/analysis-and-representation-of-loops.rst: New file.
7659 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
7660 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
7661 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
7662 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
7663 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
7664 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
7665 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
7666 New file.
7667 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
7668 * doc/gccint/analyzer-internals.rst: New file.
7669 * doc/gccint/collect2.rst: New file.
7670 * doc/gccint/conf.py: New file.
7671 * doc/gccint/contributing-to-gcc-development.rst: New file.
7672 * doc/gccint/contributors-to-gcc.rst: New file.
7673 * doc/gccint/control-flow-graph.rst: New file.
7674 * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
7675 * doc/gccint/control-flow-graph/edges.rst: New file.
7676 * doc/gccint/control-flow-graph/liveness-information.rst: New file.
7677 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
7678 * doc/gccint/control-flow-graph/profile-information.rst: New file.
7679 * doc/gccint/copyright.rst: New file.
7680 * doc/gccint/debugging-the-analyzer.rst: New file.
7681 * doc/gccint/funding.rst: New file.
7682 * doc/gccint/gcc-and-portability.rst: New file.
7683 * doc/gccint/general-public-license-3.rst: New file.
7684 * doc/gccint/generic.rst: New file.
7685 * doc/gccint/generic/attributes-in-trees.rst: New file.
7686 * doc/gccint/generic/c-and-c++-trees.rst: New file.
7687 * doc/gccint/generic/declarations.rst: New file.
7688 * doc/gccint/generic/deficiencies.rst: New file.
7689 * doc/gccint/generic/expressions.rst: New file.
7690 * doc/gccint/generic/functions.rst: New file.
7691 * doc/gccint/generic/language-dependent-trees.rst: New file.
7692 * doc/gccint/generic/overview.rst: New file.
7693 * doc/gccint/generic/statements.rst: New file.
7694 * doc/gccint/generic/types.rst: New file.
7695 * doc/gccint/gimple-api.rst: New file.
7696 * doc/gccint/gimple.rst: New file.
7697 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
7698 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
7699 * doc/gccint/gimple/exception-handling.rst: New file.
7700 * doc/gccint/gimple/gimple-instruction-set.rst: New file.
7701 * doc/gccint/gimple/gimple-sequences.rst: New file.
7702 * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
7703 * doc/gccint/gimple/operands.rst: New file.
7704 * doc/gccint/gimple/sequence-iterators.rst: New file.
7705 * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
7706 * doc/gccint/gimple/temporaries.rst: New file.
7707 * doc/gccint/gimple/tuple-representation.rst: New file.
7708 * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
7709 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
7710 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
7711 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
7712 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
7713 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
7714 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
7715 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
7716 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
7717 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
7718 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
7719 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
7720 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
7721 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
7722 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
7723 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
7724 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
7725 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
7726 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
7727 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
7728 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
7729 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
7730 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
7731 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
7732 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
7733 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
7734 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
7735 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
7736 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
7737 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
7738 * doc/gccint/gnu-free-documentation-license.rst: New file.
7739 * doc/gccint/guidelines-for-diagnostics.rst: New file.
7740 * doc/gccint/guidelines-for-options.rst: New file.
7741 * doc/gccint/host-common.rst: New file.
7742 * doc/gccint/host-configuration.rst: New file.
7743 * doc/gccint/host-filesystem.rst: New file.
7744 * doc/gccint/host-makefile-fragments.rst: New file.
7745 * doc/gccint/host-misc.rst: New file.
7746 * doc/gccint/index.rst: New file.
7747 * doc/gccint/indices-and-tables.rst: New file.
7748 * doc/gccint/interfacing-to-gcc-output.rst: New file.
7749 * doc/gccint/introduction.rst: New file.
7750 * doc/gccint/language-front-ends-in-gcc.rst: New file.
7751 * doc/gccint/link-time-optimization.rst: New file.
7752 * doc/gccint/link-time-optimization/design-overview.rst: New file.
7753 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
7754 * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
7755 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
7756 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
7757 New file.
7758 * doc/gccint/machine-descriptions.rst: New file.
7759 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
7760 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
7761 * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
7762 * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
7763 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
7764 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
7765 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
7766 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
7767 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
7768 * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
7769 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
7770 * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
7771 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
7772 * doc/gccint/machine-descriptions/iterators.rst: New file.
7773 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
7774 * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
7775 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
7776 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
7777 New file.
7778 * doc/gccint/machine-descriptions/predicates.rst: New file.
7779 * doc/gccint/machine-descriptions/rtl-template.rst: New file.
7780 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
7781 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
7782 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
7783 * doc/gccint/makefile-fragments.rst: New file.
7784 * doc/gccint/match-and-simplify.rst: New file.
7785 * doc/gccint/memory-management-and-type-information.rst: New file.
7786 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
7787 New file.
7788 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
7789 New file.
7790 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
7791 New file.
7792 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
7793 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
7794 New file.
7795 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
7796 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
7797 New file.
7798 * doc/gccint/option-file-format.rst: New file.
7799 * doc/gccint/option-properties.rst: New file.
7800 * doc/gccint/option-specification-files.rst: New file.
7801 * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
7802 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
7803 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
7804 New file.
7805 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
7806 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
7807 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
7808 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
7809 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
7810 * doc/gccint/plugins.rst: New file.
7811 * doc/gccint/plugins/building-gcc-plugins.rst: New file.
7812 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
7813 * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
7814 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
7815 * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
7816 * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
7817 * doc/gccint/plugins/loading-plugins.rst: New file.
7818 * doc/gccint/plugins/plugin-api.rst: New file.
7819 * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
7820 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
7821 * doc/gccint/rtl-representation.rst: New file.
7822 * doc/gccint/rtl-representation/access-to-operands.rst: New file.
7823 * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
7824 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
7825 * doc/gccint/rtl-representation/bit-fields.rst: New file.
7826 * doc/gccint/rtl-representation/comparison-operations.rst: New file.
7827 * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
7828 * doc/gccint/rtl-representation/conversions.rst: New file.
7829 * doc/gccint/rtl-representation/declarations.rst: New file.
7830 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
7831 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
7832 * doc/gccint/rtl-representation/insns.rst: New file.
7833 * doc/gccint/rtl-representation/machine-modes.rst: New file.
7834 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
7835 * doc/gccint/rtl-representation/reading-rtl.rst: New file.
7836 * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
7837 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
7838 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
7839 * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
7840 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
7841 * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
7842 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
7843 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
7844 * doc/gccint/rtl-representation/vector-operations.rst: New file.
7845 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
7846 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
7847 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
7848 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
7849 New file.
7850 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
7851 New file.
7852 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
7853 New file.
7854 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
7855 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
7856 New file.
7857 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
7858 New file.
7859 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
7860 * doc/gccint/source-tree-structure-and-build-system.rst: New file.
7861 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
7862 New file.
7863 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
7864 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
7865 New file.
7866 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
7867 New file.
7868 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
7869 New file.
7870 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
7871 New file.
7872 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
7873 New file.
7874 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
7875 New file.
7876 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
7877 New file.
7878 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
7879 New file.
7880 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
7881 New file.
7882 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
7883 New file.
7884 * doc/gccint/standard-header-file-directories.rst: New file.
7885 * doc/gccint/static-analyzer.rst: New file.
7886 * doc/gccint/target-macros.rst: New file.
7887 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
7888 * doc/gccint/target-macros/addressing-modes.rst: New file.
7889 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
7890 * doc/gccint/target-macros/anchored-addresses.rst: New file.
7891 * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
7892 * doc/gccint/target-macros/condition-code-status.rst: New file.
7893 * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
7894 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
7895 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
7896 * doc/gccint/target-macros/d-abi-parameters.rst: New file.
7897 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
7898 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
7899 New file.
7900 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
7901 * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
7902 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
7903 New file.
7904 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
7905 New file.
7906 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
7907 New file.
7908 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
7909 New file.
7910 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
7911 New file.
7912 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
7913 New file.
7914 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
7915 New file.
7916 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
7917 New file.
7918 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
7919 New file.
7920 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
7921 New file.
7922 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
7923 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
7924 * doc/gccint/target-macros/emulating-tls.rst: New file.
7925 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
7926 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
7927 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
7928 * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
7929 * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
7930 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
7931 New file.
7932 * doc/gccint/target-macros/position-independent-code.rst: New file.
7933 * doc/gccint/target-macros/register-classes.rst: New file.
7934 * doc/gccint/target-macros/register-usage.rst: New file.
7935 * doc/gccint/target-macros/run-time-target-specification.rst: New file.
7936 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
7937 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
7938 New file.
7939 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
7940 New file.
7941 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
7942 New file.
7943 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
7944 New file.
7945 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
7946 New file.
7947 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
7948 New file.
7949 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
7950 New file.
7951 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
7952 New file.
7953 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
7954 New file.
7955 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
7956 New file.
7957 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
7958 New file.
7959 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
7960 New file.
7961 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
7962 New file.
7963 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
7964 New file.
7965 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
7966 New file.
7967 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
7968 New file.
7969 * doc/gccint/target-macros/storage-layout.rst: New file.
7970 * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
7971 * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
7972 * doc/gccint/target-makefile-fragments.rst: New file.
7973 * doc/gccint/testsuites.rst: New test.
7974 * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
7975 * doc/gccint/testsuites/c-language-testsuites.rst: New test.
7976 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
7977 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
7978 New test.
7979 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
7980 New test.
7981 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
7982 New test.
7983 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
7984 New test.
7985 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
7986 New test.
7987 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
7988 New test.
7989 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
7990 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
7991 * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
7992 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
7993 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
7994 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
7995 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
7996 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
7997 * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
7998 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
7999 New file.
8000 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
8001 New file.
8002 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
8003 New file.
8004 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
8005 New file.
8006 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
8007 New file.
8008 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
8009 New file.
8010 * doc/gccint/the-language.rst: New file.
8011 * doc/gccint/user-experience-guidelines.rst: New file.
8012 * doc/install/binaries.rst: New file.
8013 * doc/install/building.rst: New file.
8014 * doc/install/building/building-a-cross-compiler.rst: New file.
8015 * doc/install/building/building-a-native-compiler.rst: New file.
8016 * doc/install/building/building-in-parallel.rst: New file.
8017 * doc/install/building/building-the-ada-compiler.rst: New file.
8018 * doc/install/building/building-the-d-compiler.rst: New file.
8019 * doc/install/building/building-with-profile-feedback.rst: New file.
8020 * doc/install/conf.py: New file.
8021 * doc/install/configuration.rst: New file.
8022 * doc/install/copyright.rst: New file.
8023 * doc/install/downloading-gcc.rst: New file.
8024 * doc/install/final-installation.rst: New file.
8025 * doc/install/gnu-free-documentation-license.rst: New file.
8026 * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
8027 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
8028 * doc/install/how-to-interpret-test-results.rst: New file.
8029 * doc/install/index.rst: New file.
8030 * doc/install/indices-and-tables.rst: New file.
8031 * doc/install/installing-gcc.rst: New file.
8032 * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
8033 * doc/install/prerequisites.rst: New file.
8034 * doc/install/submitting-test-results.rst: New file.
8035 * doc/install/testing.rst: New file.
8036
8037 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
8038
8039 * range-op-float.cc (class foperator_minus): New.
8040 (floating_op_table::floating_op_table): Add MINUS_EXPR entry.
8041
8042 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
8043
8044 * range-op-float.cc (range_operator_float::fold_range): Abstract
8045 out from foperator_plus.
8046 (range_operator_float::rv_fold): New.
8047 (foperator_plus::fold_range): Remove.
8048 (foperator_plus::rv_fold): New.
8049 (propagate_nans): Remove.
8050 * range-op.h (class range_operator_float): Add rv_fold.
8051
8052 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
8053
8054 * range-op-float.cc (foperator_plus::fold_range): Set NAN for
8055 addition of different signed infinities.
8056 (range_op_float_tests): New test.
8057
8058 2022-11-09 liuhongt <hongtao.liu@intel.com>
8059
8060 PR target/107540
8061 * config/i386/sse.md (avx512f_movddup512<mask_name>): Change
8062 type from sselog to sselog1.
8063 (avx_movddup256<mask_name>): Ditto.
8064
8065 2022-11-08 David Faust <david.faust@oracle.com>
8066
8067 * config/bpf/bpf.cc (struct core_walk_data): Add field `which'...
8068 (bpf_resolve_overloaded_builtin): ... set it here. Use values of enum
8069 bpf_builtins for error checks.
8070 (bpf_core_walk): Use values of enum bpf_builtins.
8071 (bpf_core_newdecl): Likewise.
8072 (bpf_expand_builtin): Likewise.
8073
8074 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
8075
8076 PR tree-optimization/24021
8077 * range-op-float.cc (propagate_nans): New.
8078 (frange_nextafter): New.
8079 (frange_arithmetic): New.
8080 (class foperator_plus): New.
8081 (floating_op_table::floating_op_table): Add PLUS_EXPR entry.
8082
8083 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
8084
8085 * real.cc (real_isdenormal): New.
8086 (encode_ieee_single): Call real_isdenormal.
8087 (encode_ieee_double): Same.
8088 (encode_ieee_extended): Same.
8089 (encode_ieee_quad): Same.
8090 (encode_ieee_half): Same.
8091 (encode_arm_bfloat_half): Same.
8092 * real.h (real_isdenormal): Add mode argument. Rewrite for
8093 normalized values.
8094 * value-range.cc (frange::flush_denormals_to_zero): Pass mode to
8095 real_isdenormal.
8096
8097 2022-11-08 Richard Biener <rguenther@suse.de>
8098
8099 PR tree-optimization/107389
8100 * gimple-low.cc (lower_builtin_assume_aligned): New.
8101 (lower_stmt): Call it.
8102
8103 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
8104
8105 * range-op.cc (operator_div::fold_range): Call
8106 update_known_bitmask.
8107 * tree-ssa-ccp.cc (bit_value_binop): Handle divisions by powers of
8108 2 as a right shift.
8109
8110 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com>
8111
8112 * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument
8113 of GCN_BUILTIN_LDEXPV to V64DFmode.
8114
8115 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com>
8116
8117 * config/gcn/gcn-builtins.def (FABSV, FLOORVF, FLOORV): New builtins.
8118 * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FABSV,
8119 GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV.
8120
8121 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
8122
8123 * range-op.cc (irange_to_masked_value): New.
8124 (update_known_bitmask): New.
8125 (operator_mult::fold_range): Call update_known_bitmask.
8126
8127 2022-11-08 Jakub Jelinek <jakub@redhat.com>
8128
8129 PR tree-optimization/107547
8130 * tree-call-cdce.cc (get_no_error_domain): Handle CASE_FLT_FN_FLOATN_NX
8131 of BUILT_IN_{ACOS,ASIN,ACOSH,ATANH,LOG,LOG2,LOG10,LOG1P}. Handle
8132 BUILT_IN_{COSH,SINH,EXP,EXPM1,EXP2}F{16,32,64,128}.
8133
8134 2022-11-08 Jakub Jelinek <jakub@redhat.com>
8135
8136 PR target/107546
8137 * config/i386/predicates.md (vector_or_const_vector_operand): New
8138 predicate.
8139 * config/i386/sse.md (vec_cmp<mode><sseintvecmodelower>,
8140 vec_cmpv2div2di, vec_cmpu<mode><sseintvecmodelower>,
8141 vec_cmpuv2div2di): Use nonimmediate_or_const_vector_operand
8142 predicate instead of nonimmediate_operand and
8143 vector_or_const_vector_operand instead of vector_operand.
8144 * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): For
8145 LE/LEU or GE/GEU with CONST_VECTOR cop1 try to transform those
8146 into LE/LEU or GT/GTU with larger or smaller by one cop1 if
8147 there is no wrap-around. Force CONST_VECTOR cop0 or cop1 into
8148 REG. Formatting fix.
8149
8150 2022-11-08 Max Filippov <jcmvbkbc@gmail.com>
8151
8152 PR rtl-optimization/107482
8153 * ira-color.cc (assign_hard_reg): Only call
8154 update_costs_from_copies when retry_p is false.
8155
8156 2022-11-08 konglin1 <lingling.kong@intel.com>
8157
8158 Revert:
8159 2022-11-07 konglin1 <lingling.kong@intel.com>
8160
8161 * config/i386/i386.opt:Add -mprefer-remote-atomic.
8162 * config/i386/sync.md (atomic_<plus_logic><mode>):
8163 New define_expand.
8164 (atomic_add<mode>): Rename to below one.
8165 (atomic_add<mode>_1): To this.
8166 (atomic_<logic><mode>): Ditto.
8167 (atomic_<logic><mode>_1): Ditto.
8168 * doc/invoke.texi: Add -mprefer-remote-atomic.
8169
8170 2022-11-08 Haochen Jiang <haochen.jiang@intel.com>
8171
8172 * config/i386/i386-options.cc (m_CORE_ATOM): New.
8173 * config/i386/x86-tune.def
8174 (X86_TUNE_SCHEDULE): Initial tune for CORE_ATOM.
8175 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
8176 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
8177 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
8178 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
8179 (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): Ditto.
8180 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
8181 (X86_TUNE_USE_LEAVE): Ditto.
8182 (X86_TUNE_PUSH_MEMORY): Ditto.
8183 (X86_TUNE_USE_INCDEC): Ditto.
8184 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
8185 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
8186 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
8187 (X86_TUNE_USE_SAHF): Ditto.
8188 (X86_TUNE_USE_BT): Ditto.
8189 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
8190 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
8191 (X86_TUNE_AVOID_MFENCE): Ditto.
8192 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
8193 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
8194 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
8195 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
8196 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
8197 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
8198 (X86_TUNE_AVOID_4BYTE_PREFIXES): Ditto.
8199 (X86_TUNE_USE_GATHER_2PARTS): Ditto.
8200 (X86_TUNE_USE_GATHER_4PARTS): Ditto.
8201 (X86_TUNE_USE_GATHER): Ditto.
8202
8203 2022-11-08 Andrew MacLeod <amacleod@redhat.com>
8204
8205 PR tree-optimization/104530
8206 * gimple-range-cache.cc (ranger_cache::register_inferred_value):
8207 New. Split from:
8208 (ranger_cache::apply_inferred_ranges): Move setting cache to
8209 separate function.
8210 * gimple-range-cache.h (register_inferred_value): New prototype.
8211 * gimple-range-infer.cc (infer_range_manager::has_range_p): New.
8212 * gimple-range-infer.h (has_range_p): New prototype.
8213 * gimple-range.cc (register_transitive_inferred_ranges): New.
8214 * gimple-range.h (register_transitive_inferred_ranges): New proto.
8215 * tree-vrp.cc (rvrp_folder::fold_stmt): Check for transitive inferred
8216 ranges at the end of the block before folding final stmt.
8217
8218 2022-11-07 David Faust <david.faust@oracle.com>
8219
8220 * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo().
8221
8222 2022-11-07 Aldy Hernandez <aldyh@redhat.com>
8223
8224 PR tree-optimization/55157
8225 * range-op.cc (operator_mult::wi_fold): Optimize multiplications
8226 by powers of 2.
8227
8228 2022-11-07 H.J. Lu <hjl.tools@gmail.com>
8229
8230 PR middle-end/102566
8231 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and): Also handle
8232 if (_5 < 0) and if (_5 >= 0).
8233
8234 2022-11-07 Richard Purdie <richard.purdie@linuxfoundation.org>
8235
8236 * file-prefix-map.cc (remap_filename): Handle NULL filenames.
8237
8238 2022-11-07 Alexander Monakov <amonakov@ispras.ru>
8239
8240 PR tree-optimization/107505
8241 * tree-ssa-sink.cc (statement_sink_location): Additionally
8242 reject ECF_RETURNS_TWICE calls.
8243
8244 2022-11-07 Aldy Hernandez <aldyh@redhat.com>
8245
8246 PR tree-optimization/107541
8247 * range-op.cc (operator_div::fold_range): Restrict power of 2
8248 optimization to positive numbers.
8249
8250 2022-11-07 Richard Biener <rguenther@suse.de>
8251
8252 * tree-ssa-loop-unswitch.cc (unswitch_predicate::count): New.
8253 (unswitch_predicate::unswitch_predicate): Initialize count.
8254 (init_loop_unswitch_info): First collect candidates and
8255 determine the outermost loop to unswitch.
8256 (tree_ssa_unswitch_loops): First perform all guard hoisting,
8257 then perform unswitching on innermost loop predicates.
8258 (find_unswitching_predicates_for_bb): Keep track of the
8259 most profitable predicate to unswitch on.
8260 (tree_unswitch_single_loop): Unswitch given predicate if
8261 not NULL.
8262
8263 2022-11-07 Martin Liska <mliska@suse.cz>
8264 Gerald Pfeifer <gerald@pfeifer.com>
8265
8266 * doc/invoke.texi: Improve wording.
8267
8268 2022-11-07 Martin Liska <mliska@suse.cz>
8269
8270 * range-op.cc: Add final override keywords.
8271
8272 2022-11-07 Kewen Lin <linkw@linux.ibm.com>
8273
8274 PR tree-optimization/107412
8275 * gimple-fold.cc (gimple_fold_mask_load_store_mem_ref): Rename to ...
8276 (gimple_fold_partial_load_store_mem_ref): ... this, add one parameter
8277 mask_p indicating it's for mask or length, and add some handlings for
8278 IFN LEN_{LOAD,STORE}.
8279 (gimple_fold_mask_load): Rename to ...
8280 (gimple_fold_partial_load): ... this, add one parameter mask_p.
8281 (gimple_fold_mask_store): Rename to ...
8282 (gimple_fold_partial_store): ... this, add one parameter mask_p.
8283 (gimple_fold_call): Add the handlings for IFN LEN_{LOAD,STORE},
8284 and adjust calls on gimple_fold_mask_load_store_mem_ref to
8285 gimple_fold_partial_load_store_mem_ref.
8286
8287 2022-11-07 Hu, Lin1 <lin1.hu@intel.com>
8288
8289 * common/config/i386/cpuinfo.h
8290 (get_intel_cpu): Handle Grand Ridge.
8291 * common/config/i386/i386-common.cc
8292 (processor_names): Add grandridge.
8293 (processor_alias_table): Ditto.
8294 * common/config/i386/i386-cpuinfo.h:
8295 (enum processor_types): Add INTEL_GRANDRIDGE.
8296 * config.gcc: Add -march=grandridge.
8297 * config/i386/driver-i386.cc (host_detect_local_cpu):
8298 Handle grandridge.
8299 * config/i386/i386-c.cc (ix86_target_macros_internal):
8300 Ditto.
8301 * config/i386/i386-options.cc (m_GRANDRIDGE): New define.
8302 (processor_cost_table): Add grandridge.
8303 * config/i386/i386.h (enum processor_type):
8304 Add PROCESSOR_GRANDRIDGE.
8305 (PTA_GRANDRIDGE): Ditto.
8306 * doc/extend.texi: Add grandridge.
8307 * doc/invoke.texi: Ditto.
8308
8309 2022-11-07 konglin1 <lingling.kong@intel.com>
8310
8311 * config/i386/i386.opt:Add -mprefer-remote-atomic.
8312 * config/i386/sync.md (atomic_<plus_logic><mode>):
8313 New define_expand.
8314 (atomic_add<mode>): Rename to below one.
8315 (atomic_add<mode>_1): To this.
8316 (atomic_<logic><mode>): Ditto.
8317 (atomic_<logic><mode>_1): Ditto.
8318 * doc/invoke.texi: Add -mprefer-remote-atomic.
8319
8320 2022-11-07 konglin1 <lingling.kong@intel.com>
8321
8322 * common/config/i386/cpuinfo.h (get_available_features):
8323 Detect raoint.
8324 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_RAOINT_SET,
8325 OPTION_MASK_ISA2_RAOINT_UNSET): New.
8326 (ix86_handle_option): Handle -mraoint.
8327 * common/config/i386/i386-cpuinfo.h (enum processor_features):
8328 Add FEATURE_RAOINT.
8329 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
8330 raoint.
8331 * config.gcc: Add raointintrin.h
8332 * config/i386/cpuid.h (bit_RAOINT): New.
8333 * config/i386/i386-builtin.def (BDESC): Add new builtins.
8334 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
8335 __RAOINT__.
8336 * config/i386/i386-isa.def (RAOINT): Add DEF_PTA(RAOINT).
8337 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
8338 Add -mraoint.
8339 * config/i386/sync.md (rao_a<raointop><mode>): New define insn.
8340 * config/i386/i386.opt: Add option -mraoint.
8341 * config/i386/x86gprintrin.h: Include raointintrin.h.
8342 * doc/extend.texi: Document raoint.
8343 * doc/invoke.texi: Document -mraoint.
8344 * doc/sourcebuild.texi: Document target raoint.
8345 * config/i386/raointintrin.h: New file.
8346
8347 2022-11-07 Haochen Jiang <haochen.jiang@intel.com>
8348
8349 * common/config/i386/cpuinfo.h
8350 (get_intel_cpu): Handle Granite Rapids.
8351 * common/config/i386/i386-common.cc:
8352 (processor_names): Add graniterapids.
8353 (processor_alias_table): Ditto.
8354 * common/config/i386/i386-cpuinfo.h
8355 (enum processor_subtypes): Add INTEL_GRANTIERAPIDS.
8356 * config.gcc: Add -march=graniterapids.
8357 * config/i386/driver-i386.cc (host_detect_local_cpu):
8358 Handle graniterapids.
8359 * config/i386/i386-c.cc (ix86_target_macros_internal):
8360 Ditto.
8361 * config/i386/i386-options.cc (m_GRANITERAPIDS): New.
8362 (processor_cost_table): Add graniterapids.
8363 * config/i386/i386.h (enum processor_type):
8364 Add PROCESSOR_GRANITERAPIDS.
8365 (PTA_GRANITERAPIDS): Ditto.
8366 * doc/extend.texi: Add graniterapids.
8367 * doc/invoke.texi: Ditto.
8368
8369 2022-11-07 Haochen Jiang <haochen.jiang@intel.com>
8370 Hongtao Liu <hongtao.liu@intel.com>
8371
8372 * common/config/i386/cpuinfo.h (get_available_features):
8373 Detect PREFETCHI.
8374 * common/config/i386/i386-common.cc
8375 (OPTION_MASK_ISA2_PREFETCHI_SET,
8376 OPTION_MASK_ISA2_PREFETCHI_UNSET): New.
8377 (ix86_handle_option): Handle -mprefetchi.
8378 * common/config/i386/i386-cpuinfo.h
8379 (enum processor_features): Add FEATURE_PREFETCHI.
8380 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY
8381 for prefetchi.
8382 * config.gcc: Add prfchiintrin.h.
8383 * config/i386/cpuid.h (bit_PREFETCHI): New.
8384 * config/i386/i386-builtin-types.def:
8385 Add DEF_FUNCTION_TYPE (VOID, PCVOID, INT)
8386 and DEF_FUNCTION_TYPE (VOID, PCVOID, INT, INT, INT).
8387 * config/i386/i386-builtin.def (BDESC): Add new builtins.
8388 * config/i386/i386-c.cc (ix86_target_macros_internal):
8389 Define __PREFETCHI__.
8390 * config/i386/i386-expand.cc: Handle new builtins.
8391 * config/i386/i386-isa.def (PREFETCHI):
8392 Add DEF_PTA(PREFETCHI).
8393 * config/i386/i386-options.cc
8394 (ix86_valid_target_attribute_inner_p): Handle prefetchi.
8395 * config/i386/i386.md (prefetchi): New define_insn.
8396 * config/i386/i386.opt: Add option -mprefetchi.
8397 * config/i386/predicates.md (local_func_symbolic_operand):
8398 New predicates.
8399 * config/i386/x86gprintrin.h: Include prfchiintrin.h.
8400 * config/i386/xmmintrin.h (enum _mm_hint): New enum for
8401 prefetchi.
8402 (_mm_prefetch): Handle the highest bit of enum.
8403 * doc/extend.texi: Document prefetchi.
8404 * doc/invoke.texi: Document -mprefetchi.
8405 * doc/sourcebuild.texi: Document target prefetchi.
8406 * config/i386/prfchiintrin.h: New file.
8407
8408 2022-11-06 Uroš Bizjak <ubizjak@gmail.com>
8409
8410 * optabs.cc (can_vec_set_var_idx_p): Use operand[2]
8411 mode when checking vec_set_optab.
8412
8413 2022-11-06 Xi Ruoyao <xry111@xry111.site>
8414
8415 * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): New unspec.
8416 (type): Add fcopysign.
8417 (copysign<mode>3): New instruction template.
8418
8419 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8420
8421 * multiple_target.cc (expand_target_clones): Free memory.
8422
8423 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8424
8425 * cgraph.cc (cgraph_node::make_local): Remove redundant set_section.
8426 * multiple_target.cc (create_dispatcher_calls): Likewise.
8427
8428 2022-11-05 Jonathan Wakely <jwakely@redhat.com>
8429
8430 PR c/41041
8431 * doc/cppopts.texi: Document -fwide-exec-charset defaults
8432 correctly.
8433
8434 2022-11-05 Alexandre Oliva <oliva@adacore.com>
8435
8436 * common.opt (fmultiflags): New.
8437 * doc/invoke.texi: Document it.
8438 * gcc.cc (driver_self_specs): Discard it.
8439 * opts.cc (common_handle_option): Ignore it in the driver.
8440
8441 2022-11-04 Jeff Chapman II <jchapman@lock3software.com>
8442 Jason Merrill <jason@redhat.com>
8443
8444 * input.cc (get_source_text_between): New fn.
8445 * input.h (get_source_text_between): Declare.
8446
8447 2022-11-04 Aldy Hernandez <aldyh@redhat.com>
8448
8449 PR tree-optimization/107342
8450 * range-op.cc (operator_mult::fold_range): New.
8451 (operator_div::fold_range): New.
8452
8453 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
8454
8455 * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
8456 Do not take into account operand 2.
8457 (operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
8458
8459 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
8460
8461 * expr.cc (emit_group_store): Do not use subword paradoxical subregs
8462
8463 2022-11-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8464
8465 * config/aarch64/aarch64-sve2.md: Fix typo in Cryptographic
8466 extensions comment.
8467
8468 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
8469
8470 * config.gcc [target *-intelmic-* | *-intelmicemul-*]: Remove.
8471 * config/i386/i386-options.cc (ix86_omp_device_kind_arch_isa)
8472 [ACCEL_COMPILER]: Remove.
8473 * config/i386/intelmic-mkoffload.cc: Remove.
8474 * config/i386/intelmic-offload.h: Likewise.
8475 * config/i386/t-intelmic: Likewise.
8476 * config/i386/t-omp-device: Likewise.
8477 * configure.ac [target *-intelmic-* | *-intelmicemul-*]: Remove.
8478 * configure: Regenerate.
8479 * doc/install.texi (--enable-offload-targets=[...]): Update.
8480 * doc/sourcebuild.texi: Remove 'liboffloadmic' documentation.
8481
8482 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
8483
8484 * Makefile.in (OBJS): Remove 'dbxout.o'.
8485 * config/nvptx/nvptx.cc: Don't '#include "dbxout.h"'.
8486 * dbxout.cc: Remove.
8487 * dbxout.h: Likewise.
8488 * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
8489 Default to 'default_asm_out_constructor',
8490 'default_asm_out_destructor'.
8491 * targhooks.cc (default_asm_out_constructor)
8492 (default_asm_out_destructor): New.
8493 * targhooks.h (default_asm_out_constructor)
8494 (default_asm_out_destructor): Declare.
8495
8496 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
8497
8498 * Makefile.in (OBJS): Add 'dbxout.o'.
8499 * config/nvptx/nvptx.cc: '#include "dbxout.h"'.
8500 * dbxout.cc: New.
8501 * dbxout.h: Likewise.
8502 * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
8503 Default to 'default_stabs_asm_out_constructor',
8504 'default_stabs_asm_out_destructor'.
8505
8506 2022-11-04 Hongyu Wang <hongyu.wang@intel.com>
8507 Haochen Jiang <haochen.jiang@intel.com>
8508
8509 * common/config/i386/cpuinfo.h (get_available_features): Detect
8510 amx-fp16.
8511 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_FP16_SET,
8512 OPTION_MASK_ISA2_AMX_FP16_UNSET): New macros.
8513 (ix86_handle_option): Handle -mamx-fp16.
8514 * common/config/i386/i386-cpuinfo.h (enum processor_features):
8515 Add FEATURE_AMX_FP16.
8516 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
8517 amx-fp16.
8518 * config.gcc: Add amxfp16intrin.h.
8519 * config/i386/cpuid.h (bit_AMX_FP16): New.
8520 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
8521 __AMX_FP16__.
8522 * config/i386/i386-isa.def: Add DEF_PTA for AMX_FP16.
8523 * config/i386/i386-options.cc (isa2_opts): Add -mamx-fp16.
8524 (ix86_valid_target_attribute_inner_p): Add new ATTR.
8525 (ix86_option_override_internal): Handle AMX-FP16.
8526 * config/i386/i386.opt: Add -mamx-fp16.
8527 * config/i386/immintrin.h: Include amxfp16intrin.h.
8528 * doc/extend.texi: Document -mamx-fp16.
8529 * doc/invoke.texi: Document amx-fp16.
8530 * doc/sourcebuild.texi: Document amx_fp16.
8531 * config/i386/amxfp16intrin.h: New file.
8532
8533 2022-11-04 Haochen Jiang <haochen.jiang@intel.com>
8534
8535 * common/config/i386/cpuinfo.h (get_intel_cpu):
8536 Add Sierra Forest.
8537 * common/config/i386/i386-common.cc
8538 (processor_names): Add Sierra Forest.
8539 (processor_alias_table): Ditto.
8540 * common/config/i386/i386-cpuinfo.h
8541 (enum processor_types): Add INTEL_SIERRAFOREST.
8542 * config.gcc: Add -march=sierraforest.
8543 * config/i386/driver-i386.cc (host_detect_local_cpu):
8544 Handle Sierra Forest.
8545 * config/i386/i386-c.cc (ix86_target_macros_internal):
8546 Ditto.
8547 * config/i386/i386-options.cc (m_SIERRAFOREST): New define.
8548 (processor_cost_table): Add sierra forest.
8549 * config/i386/i386.h (enum processor_type):
8550 Add PROCESSOR_SIERRA_FOREST.
8551 (PTA_SIERRAFOREST): Ditto.
8552 * doc/extend.texi: Add sierra forest.
8553 * doc/invoke.texi: Ditto.
8554
8555 2022-11-04 Haochen Jiang <haochen.jiang@intel.com>
8556
8557 * common/config/i386/cpuinfo.h (get_available_features):
8558 Detect cmpccxadd.
8559 * common/config/i386/i386-common.cc
8560 (OPTION_MASK_ISA2_CMPCCXADD_SET,
8561 OPTION_MASK_ISA2_CMPCCXADD_UNSET): New.
8562 (ix86_handle_option): Handle -mcmpccxadd.
8563 * common/config/i386/i386-cpuinfo.h (enum processor_features):
8564 Add FEATURE_CMPCCXADD.
8565 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
8566 cmpccxadd.
8567 * config.gcc: Add cmpccxaddintrin.h.
8568 * config/i386/cpuid.h (bit_CMPCCXADD): New.
8569 * config/i386/i386-builtin-types.def:
8570 Add DEF_FUNCTION_TYPE(INT, PINT, INT, INT, INT)
8571 and DEF_FUNCTION_TYPE(LONGLONG, PLONGLONG, LONGLONG, LONGLONG, INT).
8572 * config/i386/i386-builtin.def (BDESC): Add new builtins.
8573 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
8574 __CMPCCXADD__.
8575 * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
8576 Add new parameter to indicate constant position.
8577 Handle INT_FTYPE_PINT_INT_INT_INT
8578 and LONGLONG_FTYPE_PLONGLONG_LONGLONG_LONGLONG_INT.
8579 * config/i386/i386-isa.def (CMPCCXADD): Add DEF_PTA(CMPCCXADD).
8580 * config/i386/i386-options.cc (isa2_opts): Add -mcmpccxadd.
8581 (ix86_valid_target_attribute_inner_p): Handle cmpccxadd.
8582 * config/i386/i386.opt: Add option -mcmpccxadd.
8583 * config/i386/sync.md (cmpccxadd_<mode>): New define insn.
8584 * config/i386/x86gprintrin.h: Include cmpccxaddintrin.h.
8585 * doc/extend.texi: Document cmpccxadd.
8586 * doc/invoke.texi: Document -mcmpccxadd.
8587 * doc/sourcebuild.texi: Document target cmpccxadd.
8588 * config/i386/cmpccxaddintrin.h: New file.
8589
8590 2022-11-03 Jason Merrill <jason@redhat.com>
8591
8592 * doc/invoke.texi: -fconcepts no longer implies
8593 -fconcepts-ts before C++20.
8594
8595 2022-11-03 Kwok Cheung Yeung <kcy@codesourcery.com>
8596
8597 * config/gcn/gcn-valu.md (math_unop_insn): New attribute.
8598 (<math_unop><mode>2, <math_unop><mode>2<exec>, <math_unop><mode>2,
8599 <math_unop><mode>2<exec>, *<math_unop><mode>2_insn,
8600 *<math_unop><mode>2<exec>_insn): Use math_unop_insn to generate
8601 assembler output.
8602
8603 2022-11-03 Andrew MacLeod <amacleod@redhat.com>
8604
8605 * gimple-range.cc (gimple_ranger::update_stmt): New.
8606 * gimple-range.h (gimple_ranger::update_stmt): New prototype.
8607 * tree-ssa-operands.cc (update_stmt_operands): Notify range
8608 query that stmt has changed.
8609 * value-query.h (range_query::update_stmt): New.
8610
8611 2022-11-03 David Malcolm <dmalcolm@redhat.com>
8612
8613 * make-unique.h: New file.
8614
8615 2022-11-03 Uroš Bizjak <ubizjak@gmail.com>
8616
8617 PR target/107404
8618 * config/i386/i386.md (eliminate reg-reg move by inverting the
8619 condition of a cmove #2 peephole2): Check if eliminated move
8620 initialized a register, used in the moved instruction.
8621
8622 2022-11-03 Andrew Stubbs <ams@codesourcery.com>
8623
8624 PR target/107510
8625 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Remove duplicate
8626 UNSPEC_SMIN_DPP_SHR conditionals.
8627
8628 2022-11-02 Christoph Müllner <christoph.muellner@vrull.eu>
8629
8630 * common/config/riscv/riscv-common.cc: Add zawrs extension.
8631 * config/riscv/riscv-opts.h (MASK_ZAWRS): New.
8632 (TARGET_ZAWRS): New.
8633 * config/riscv/riscv.opt: New.
8634
8635 2022-11-02 Rasmus Villemoes <rv@rasmusvillemoes.dk>
8636
8637 PR driver/93371
8638 * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
8639
8640 2022-11-02 Aldy Hernandez <aldyh@redhat.com>
8641
8642 * value-range.cc (frange::contains_p): Fix signed zero handling.
8643 (range_tests_signed_zeros): New test.
8644
8645 2022-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8646
8647 * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN.
8648
8649 2022-11-02 Xionghu Luo <xionghuluo@tencent.com>
8650
8651 PR target/100866
8652 * config/rs6000/altivec.md: (*altivec_vrl<VI_char>): Named to...
8653 (altivec_vrl<VI_char>): ...this.
8654 * config/rs6000/vsx.md (revb_<mode>): Call vspltish and vrlh when
8655 target is Power8 and mode is V8HI.
8656
8657 2022-11-01 David Seifert <soap@gentoo.org>
8658
8659 * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h).
8660 * configure: Regenerate.
8661
8662 2022-11-01 Richard Purdie <richard.purdie@linuxfoundation.org>
8663
8664 * file-prefix-map.cc (remap_filename): Allow remapping of relative paths.
8665
8666 2022-11-01 Aldy Hernandez <aldyh@redhat.com>
8667
8668 PR tree-optimization/107490
8669 * range-op-float.cc (foperator_unordered_lt::op1_range): Handle
8670 NANs.
8671 (foperator_unordered_lt::op2_range): Same.
8672 (foperator_unordered_le::op1_range): Same.
8673 (foperator_unordered_le::op2_range): Same.
8674 (foperator_unordered_gt::op1_range): Same.
8675 (foperator_unordered_gt::op2_range): Same.
8676 (foperator_unordered_ge::op1_range): Same.
8677 (foperator_unordered_ge::op2_range): Same.
8678
8679 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
8680
8681 PR tree-optimization/107497
8682 * tree-vrp.cc (remove_unreachable::remove_and_update_globals):
8683 Check that ssa-name still exists before accessing it.
8684
8685 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
8686
8687 * params.opt (param_vrp1_mode): Make ranger default.
8688
8689 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
8690
8691 * tree-vrp.cc (class remove_unreachable): New.
8692 (remove_unreachable::maybe_register_block): New.
8693 (remove_unreachable::remove_and_update_globals): New.
8694 (rvrp_folder::rvrp_folder): Initialize m_unreachable.
8695 (rvrp_folder::post_fold_bb): Maybe register unreachable block.
8696 (rvrp_folder::m_unreachable): New member.
8697 (execute_ranger_vrp): Add final_pass flag, remove unreachables.
8698
8699 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
8700
8701 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Allow
8702 exit block to be specified.
8703 (ranger_cache::range_from_dom): If exit block is specified, use
8704 the immediate predecessor instead of the dominator to start.
8705 * gimple-range.cc (gimple_ranger::range_on_exit): Allow query
8706 for exit block.
8707
8708 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
8709
8710 * value-range.cc (irange::intersect_nonzero_bits): If new
8711 non-zero mask is the same as original, flag no change.
8712
8713 2022-11-01 Alexander Monakov <amonakov@ispras.ru>
8714
8715 PR target/87832
8716 * config/i386/znver.md (znver1_idiv): New automaton.
8717 (znver1-idiv): New unit.
8718 (znver1_idiv_DI): Correct unit and cycles in the reservation.
8719 (znver1_idiv_SI): Ditto.
8720 (znver1_idiv_HI): Ditto.
8721 (znver1_idiv_QI): Ditto.
8722 (znver1_idiv_mem_DI): Ditto.
8723 (znver1_idiv_mem_SI): Ditto.
8724 (znver1_idiv_mem_HI): Ditto.
8725 (znver1_idiv_mem_QI): Ditto.
8726 (znver3_idiv_DI): Ditto.
8727 (znver3_idiv_SI): Ditto.
8728 (znver3_idiv_HI): Ditto.
8729 (znver3_idiv_QI): Ditto.
8730 (znver3_idiv_mem_DI): Ditto.
8731 (znver3_idiv_mem_SI): Ditto.
8732 (znver3_idiv_mem_HI): Ditto.
8733 (znver3_idiv_mem_QI): Ditto.
8734
8735 2022-11-01 liuhongt <hongtao.liu@intel.com>
8736
8737 PR target/107057
8738 * config/i386/sse.md (*vec_interleave_highv2df): Remove
8739 constraint 1.
8740 (*vec_interleave_lowv2df): Ditto.
8741 (vec_concatv2df): Ditto.
8742 (*avx512f_unpcklpd512<mask_name>): Ditto and renamed to ..
8743 (avx512f_unpcklpd512<mask_name>): .. this.
8744 (avx512f_movddup512<mask_name>): Change to define_insn.
8745 (avx_movddup256<mask_name>): Ditto.
8746 (*avx_unpcklpd256<mask_name>): Remove constraint 1 and renamed
8747 to ..
8748 (avx_unpcklpd256<mask_name>): .. this.
8749 * config/i386/i386.cc (ix86_vec_interleave_v2df_operator_ok):
8750 Disallow MEM_P (op1) && MEM_P (op2).
8751
8752 2022-11-01 liuhongt <hongtao.liu@intel.com>
8753
8754 PR target/55583
8755 * config/i386/i386.md (*x86_64_shld_1): Rename to ..
8756 (x86_64_shld_1): .. this.
8757 (*x86_shld_1): Rename to ..
8758 (x86_shld_1): .. this.
8759 (*x86_64_shrd_1): Rename to ..
8760 (x86_64_shrd_1): .. this.
8761 (*x86_shrd_1): Rename to ..
8762 (x86_shrd_1): .. this.
8763 (*x86_64_shld_shrd_1_nozext): New pre_reload splitter.
8764 (*x86_shld_shrd_1_nozext): Ditto.
8765 (*x86_64_shrd_shld_1_nozext): Ditto.
8766 (*x86_shrd_shld_1_nozext): Ditto.
8767
8768 2022-11-01 Cui,Lili <lili.cui@intel.com>
8769
8770 * ipa-inline-analysis.cc (do_estimate_edge_time): Add function attribute
8771 judgement for INLINE_HINT_known_hot hint.
8772
8773 2022-10-31 Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
8774
8775 * btfout.cc (btf_calc_num_vbytes): Compute enumeration size depending of
8776 enumerator type btf_enum{,64}.
8777 (btf_asm_type): Update btf_kflag according to enumeration type sign
8778 using dtd_enum_unsigned field for both: BTF_KIND_ENUM{,64}.
8779 (btf_asm_enum_const): New argument to represent the size of
8780 the BTF enum type, writing the enumerator constant value for
8781 32 bits, if it's 64 bits then explicitly writes lower 32-bits
8782 value and higher 32-bits value.
8783 (output_asm_btf_enum_list): Add enumeration size argument.
8784 * ctfc.cc (ctf_add_enum): New argument to represent CTF enum
8785 basic information.
8786 (ctf_add_generic): Use of ei_{name. size, unsigned} to build the
8787 dtd structure containing enumeration information.
8788 (ctf_add_enumerator): Update comment mention support for BTF
8789 enumeration in 64-bits.
8790 * dwarf2ctf.cc (gen_ctf_enumeration_type): Extract signedness
8791 for enumeration type and use it in ctf_add_enum.
8792 * ctfc.h (ctf_dmdef): Update dmd_value to HOST_WIDE_INT to allow
8793 use 32/64 bits enumerators.
8794 information.
8795 (ctf_dtdef): New field to describe enum signedness.
8796
8797 2022-10-31 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
8798
8799 * config/riscv/riscv-vector-builtins-bases.cc: Change constexpr back to CONSTEXPR.
8800 * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Ditto.
8801 * config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Ditto.
8802 * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Ditto.
8803
8804 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
8805
8806 * config/gcn/gcn-valu.md (fminmaxop): New iterator.
8807 (<fexpander><mode>3): New define_expand.
8808 (<fexpander><mode>3<exec>): Likewise.
8809 (reduc_<fexpander>_scal_<mode>): Likewise.
8810 * config/gcn/gcn.md (fexpander): New attribute.
8811
8812 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
8813
8814 * config/gcn/gcn-valu.md (V64_SI): Delete iterator.
8815 (V64_DI): Likewise.
8816 (V64_1REG): Likewise.
8817 (V64_INT_1REG): Likewise.
8818 (V64_2REG): Likewise.
8819 (V64_ALL): Likewise.
8820 (V64_FP): Likewise.
8821 (reduc_<reduc_op>_scal_<mode>): Use V_ALL. Use gen_vec_extract.
8822 (fold_left_plus_<mode>): Use V_FP.
8823 (*<reduc_op>_dpp_shr_<mode>): Use V_1REG.
8824 (*<reduc_op>_dpp_shr_<mode>): Use V_DI.
8825 (*plus_carry_dpp_shr_<mode>): Use V_INT_1REG.
8826 (*plus_carry_in_dpp_shr_<mode>): Use V_SI.
8827 (*plus_carry_dpp_shr_<mode>): Use V_DI.
8828 (mov_from_lane63_<mode>): Delete.
8829 (mov_from_lane63_<mode>): Delete.
8830 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Support partial vectors.
8831 * config/gcn/gcn.md (unspec): Remove UNSPEC_MOV_FROM_LANE63.
8832
8833 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
8834
8835 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
8836 Set base_type as ARG_UNUSED.
8837
8838 2022-10-31 Jakub Jelinek <jakub@redhat.com>
8839
8840 * builtin-types.def (BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT32,
8841 BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT32X,
8842 BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT128X,
8843 BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
8844 BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
8845 BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
8846 BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
8847 BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
8848 BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
8849 BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X,
8850 BT_FN_FLOAT16_COMPLEX_FLOAT16, BT_FN_FLOAT32_COMPLEX_FLOAT32,
8851 BT_FN_FLOAT64_COMPLEX_FLOAT64, BT_FN_FLOAT128_COMPLEX_FLOAT128,
8852 BT_FN_FLOAT32X_COMPLEX_FLOAT32X, BT_FN_FLOAT64X_COMPLEX_FLOAT64X,
8853 BT_FN_FLOAT128X_COMPLEX_FLOAT128X,
8854 BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
8855 BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
8856 BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
8857 BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
8858 BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
8859 BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
8860 BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X): New.
8861 * builtins.def (CABS_TYPE, CACOSH_TYPE, CARG_TYPE, CASINH_TYPE,
8862 CPOW_TYPE, CPROJ_TYPE): Define and undefine later.
8863 (BUILT_IN_CABS, BUILT_IN_CACOSH, BUILT_IN_CACOS, BUILT_IN_CARG,
8864 BUILT_IN_CASINH, BUILT_IN_CASIN, BUILT_IN_CATANH, BUILT_IN_CATAN,
8865 BUILT_IN_CCOSH, BUILT_IN_CCOS, BUILT_IN_CEXP, BUILT_IN_CLOG,
8866 BUILT_IN_CPOW, BUILT_IN_CPROJ, BUILT_IN_CSINH, BUILT_IN_CSIN,
8867 BUILT_IN_CSQRT, BUILT_IN_CTANH, BUILT_IN_CTAN): Add
8868 DEF_EXT_LIB_FLOATN_NX_BUILTINS.
8869 * fold-const-call.cc (fold_const_call_sc, fold_const_call_cc,
8870 fold_const_call_ccc): Add various CASE_CFN_*_FN: cases when
8871 CASE_CFN_* is present.
8872 * gimple-ssa-backprop.cc (backprop::process_builtin_call_use):
8873 Likewise.
8874 * builtins.cc (expand_builtin, fold_builtin_1): Likewise.
8875 * fold-const.cc (negate_mathfn_p, tree_expr_finite_p,
8876 tree_expr_maybe_signaling_nan_p, tree_expr_maybe_nan_p,
8877 tree_expr_maybe_real_minus_zero_p, tree_call_nonnegative_warnv_p):
8878 Likewise.
8879
8880 2022-10-31 Jakub Jelinek <jakub@redhat.com>
8881
8882 * builtin-types.def (BT_FN_BFLOAT16_BFLOAT16_BFLOAT16): New.
8883 * builtins.def (BUILT_IN_NEXTAFTERF16B): New builtin.
8884 * fold-const-call.cc (fold_const_call_sss): Handle
8885 CFN_BUILT_IN_NEXTAFTERF16B.
8886
8887 2022-10-31 Jakub Jelinek <jakub@redhat.com>
8888
8889 * builtin-types.def (BT_FLOAT16_PTR, BT_FLOAT32_PTR, BT_FLOAT64_PTR,
8890 BT_FLOAT128_PTR, BT_FLOAT32X_PTR, BT_FLOAT64X_PTR, BT_FLOAT128X_PTR):
8891 New DEF_PRIMITIVE_TYPE.
8892 (BT_FN_INT_FLOAT16, BT_FN_INT_FLOAT32, BT_FN_INT_FLOAT64,
8893 BT_FN_INT_FLOAT128, BT_FN_INT_FLOAT32X, BT_FN_INT_FLOAT64X,
8894 BT_FN_INT_FLOAT128X, BT_FN_LONG_FLOAT16, BT_FN_LONG_FLOAT32,
8895 BT_FN_LONG_FLOAT64, BT_FN_LONG_FLOAT128, BT_FN_LONG_FLOAT32X,
8896 BT_FN_LONG_FLOAT64X, BT_FN_LONG_FLOAT128X, BT_FN_LONGLONG_FLOAT16,
8897 BT_FN_LONGLONG_FLOAT32, BT_FN_LONGLONG_FLOAT64,
8898 BT_FN_LONGLONG_FLOAT128, BT_FN_LONGLONG_FLOAT32X,
8899 BT_FN_LONGLONG_FLOAT64X, BT_FN_LONGLONG_FLOAT128X): New
8900 DEF_FUNCTION_TYPE_1.
8901 (BT_FN_FLOAT16_FLOAT16_FLOAT16PTR, BT_FN_FLOAT32_FLOAT32_FLOAT32PTR,
8902 BT_FN_FLOAT64_FLOAT64_FLOAT64PTR, BT_FN_FLOAT128_FLOAT128_FLOAT128PTR,
8903 BT_FN_FLOAT32X_FLOAT32X_FLOAT32XPTR,
8904 BT_FN_FLOAT64X_FLOAT64X_FLOAT64XPTR,
8905 BT_FN_FLOAT128X_FLOAT128X_FLOAT128XPTR, BT_FN_FLOAT16_FLOAT16_INT,
8906 BT_FN_FLOAT32_FLOAT32_INT, BT_FN_FLOAT64_FLOAT64_INT,
8907 BT_FN_FLOAT128_FLOAT128_INT, BT_FN_FLOAT32X_FLOAT32X_INT,
8908 BT_FN_FLOAT64X_FLOAT64X_INT, BT_FN_FLOAT128X_FLOAT128X_INT,
8909 BT_FN_FLOAT16_FLOAT16_INTPTR, BT_FN_FLOAT32_FLOAT32_INTPTR,
8910 BT_FN_FLOAT64_FLOAT64_INTPTR, BT_FN_FLOAT128_FLOAT128_INTPTR,
8911 BT_FN_FLOAT32X_FLOAT32X_INTPTR, BT_FN_FLOAT64X_FLOAT64X_INTPTR,
8912 BT_FN_FLOAT128X_FLOAT128X_INTPTR, BT_FN_FLOAT16_FLOAT16_LONG,
8913 BT_FN_FLOAT32_FLOAT32_LONG, BT_FN_FLOAT64_FLOAT64_LONG,
8914 BT_FN_FLOAT128_FLOAT128_LONG, BT_FN_FLOAT32X_FLOAT32X_LONG,
8915 BT_FN_FLOAT64X_FLOAT64X_LONG, BT_FN_FLOAT128X_FLOAT128X_LONG): New
8916 DEF_FUNCTION_TYPE_2.
8917 (BT_FN_FLOAT16_FLOAT16_FLOAT16_INTPTR,
8918 BT_FN_FLOAT32_FLOAT32_FLOAT32_INTPTR,
8919 BT_FN_FLOAT64_FLOAT64_FLOAT64_INTPTR,
8920 BT_FN_FLOAT128_FLOAT128_FLOAT128_INTPTR,
8921 BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_INTPTR,
8922 BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_INTPTR,
8923 BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_INTPTR): New DEF_FUNCTION_TYPE_3.
8924 * builtins.def (ACOSH_TYPE, ATAN2_TYPE, ATANH_TYPE, COSH_TYPE,
8925 FDIM_TYPE, HUGE_VAL_TYPE, HYPOT_TYPE, ILOGB_TYPE, LDEXP_TYPE,
8926 LGAMMA_TYPE, LLRINT_TYPE, LOG10_TYPE, LRINT_TYPE, MODF_TYPE,
8927 NEXTAFTER_TYPE, REMQUO_TYPE, SCALBLN_TYPE, SCALBN_TYPE, SINH_TYPE):
8928 Define and undefine later.
8929 (FMIN_TYPE, SQRT_TYPE): Undefine at a later line.
8930 (INF_TYPE): Define at a later line.
8931 (BUILT_IN_ACOSH, BUILT_IN_ACOS, BUILT_IN_ASINH, BUILT_IN_ASIN,
8932 BUILT_IN_ATAN2, BUILT_IN_ATANH, BUILT_IN_ATAN, BUILT_IN_CBRT,
8933 BUILT_IN_COSH, BUILT_IN_COS, BUILT_IN_ERFC, BUILT_IN_ERF,
8934 BUILT_IN_EXP2, BUILT_IN_EXP, BUILT_IN_EXPM1, BUILT_IN_FDIM,
8935 BUILT_IN_FMOD, BUILT_IN_FREXP, BUILT_IN_HYPOT, BUILT_IN_ILOGB,
8936 BUILT_IN_LDEXP, BUILT_IN_LGAMMA, BUILT_IN_LLRINT, BUILT_IN_LLROUND,
8937 BUILT_IN_LOG10, BUILT_IN_LOG1P, BUILT_IN_LOG2, BUILT_IN_LOGB,
8938 BUILT_IN_LOG, BUILT_IN_LRINT, BUILT_IN_LROUND, BUILT_IN_MODF,
8939 BUILT_IN_NEXTAFTER, BUILT_IN_POW, BUILT_IN_REMAINDER, BUILT_IN_REMQUO,
8940 BUILT_IN_SCALBLN, BUILT_IN_SCALBN, BUILT_IN_SINH, BUILT_IN_SIN,
8941 BUILT_IN_TANH, BUILT_IN_TAN, BUILT_IN_TGAMMA): Add
8942 DEF_EXT_LIB_FLOATN_NX_BUILTINS.
8943 (BUILT_IN_HUGE_VAL): Use HUGE_VAL_TYPE instead of INF_TYPE in
8944 DEF_GCC_FLOATN_NX_BUILTINS.
8945 * fold-const-call.cc (fold_const_call_ss): Add various CASE_CFN_*_FN:
8946 cases when CASE_CFN_* is present.
8947 (fold_const_call_sss): Likewise.
8948 * builtins.cc (mathfn_built_in_2): Use CASE_MATHFN_FLOATN instead of
8949 CASE_MATHFN for various builtins in SEQ_OF_CASE_MATHFN macro.
8950 (builtin_with_linkage_p): Add CASE_FLT_FN_FLOATN_NX for various
8951 builtins next to CASE_FLT_FN.
8952 * fold-const.cc (tree_call_nonnegative_warnv_p): Add CASE_CFN_*_FN:
8953 next to CASE_CFN_*: for various builtins.
8954 * tree-call-cdce.cc (can_test_argument_range): Add
8955 CASE_FLT_FN_FLOATN_NX next to CASE_FLT_FN for various builtins.
8956 (edom_only_function): Likewise.
8957
8958 2022-10-31 konglin1 <lingling.kong@intel.com>
8959
8960 * common/config/i386/i386-common.cc
8961 (OPTION_MASK_ISA2_AVXNECONVERT_SET,
8962 OPTION_MASK_ISA2_AVXNECONVERT_UNSET): New.
8963 (ix86_handle_option): Handle -mavxneconvert, unset
8964 avxneconvert when avx2 is disabled.
8965 * common/config/i386/i386-cpuinfo.h (processor_types): Add
8966 FEATURE_AVXNECONVERT.
8967 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
8968 avxneconvert.
8969 * common/config/i386/cpuinfo.h (get_available_features):
8970 Detect avxneconvert.
8971 * config.gcc: Add avxneconvertintrin.h
8972 * config/i386/avxneconvertintrin.h: New.
8973 * config/i386/avx512bf16vlintrin.h (_mm256_cvtneps_pbh):
8974 Unified builtin with avxneconvert.
8975 (_mm_cvtneps_pbh): Ditto.
8976 * config/i386/cpuid.h (bit_AVXNECONVERT): New.
8977 * config/i386/i386-builtin-types.def: Add
8978 DEF_POINTER_TYPE (PCV8HF, V8HF, CONST),
8979 DEF_POINTER_TYPE (PCV8BF, V8BF, CONST),
8980 DEF_POINTER_TYPE (PCV16HF, V16HF, CONST),
8981 DEF_POINTER_TYPE (PCV16BF, V16BF, CONST),
8982 DEF_FUNCTION_TYPE (V4SF, PCBFLOAT16),
8983 DEF_FUNCTION_TYPE (V4SF, PCFLOAT16),
8984 DEF_FUNCTION_TYPE (V8SF, PCBFLOAT16),
8985 DEF_FUNCTION_TYPE (V8SF, PCFLOAT16),
8986 DEF_FUNCTION_TYPE (V4SF, PCV8BF),
8987 DEF_FUNCTION_TYPE (V4SF, PCV8HF),
8988 DEF_FUNCTION_TYPE (V8SF, PCV16HF),
8989 DEF_FUNCTION_TYPE (V8SF, PCV16BF),
8990 * config/i386/i386-builtin.def: Add new builtins.
8991 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
8992 __AVXNECONVERT__.
8993 * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
8994 Handle V4SF_FTYPE_PCBFLOAT16,V8SF_FTYPE_PCBFLOAT16, V4SF_FTYPE_PCFLOAT16,
8995 V8SF_FTYPE_PCFLOAT16,V4SF_FTYPE_PCV8BF,
8996 V4SF_FTYPE_PCV8HF,V8SF_FTYPE_PCV16BF,V8SF_FTYPE_PCV16HF.
8997 * config/i386/i386-isa.def : Add DEF_PTA(AVXNECONVERT) New.
8998 * config/i386/i386-options.cc (isa2_opts): Add -mavxneconvert.
8999 (ix86_valid_target_attribute_inner_p): Handle avxneconvert.
9000 * config/i386/i386.md: Add attr avx512bf16vl and avxneconvert.
9001 * config/i386/i386.opt: Add option -mavxneconvert.
9002 * config/i386/immintrin.h: Inculde avxneconvertintrin.h.
9003 * config/i386/sse.md (vbcstnebf162ps_<mode>): New define_insn.
9004 (vbcstnesh2ps_<mode>): Ditto.
9005 (vcvtnee<bf16_ph>2ps_<mode>):Ditto.
9006 (vcvtneo<bf16_ph>2ps_<mode>):Ditto.
9007 (vcvtneps2bf16_v4sf): Ditto.
9008 (*vcvtneps2bf16_v4sf): Ditto.
9009 (vcvtneps2bf16_v8sf): Ditto.
9010 * doc/invoke.texi: Document -mavxneconvert.
9011 * doc/extend.texi: Document avxneconvert.
9012 * doc/sourcebuild.texi: Document target avxneconvert.
9013
9014 2022-10-31 konglin1 <lingling.kong@intel.com>
9015
9016 * config/i386/avx512bf16intrin.h (__attribute__): Change short to bf16.
9017 (_mm_cvtsbh_ss): Ditto.
9018 (_mm512_cvtne2ps_pbh): Ditto.
9019 (_mm512_mask_cvtne2ps_pbh): Ditto.
9020 (_mm512_maskz_cvtne2ps_pbh): Ditto.
9021 * config/i386/avx512bf16vlintrin.h (__attribute__): Ditto.
9022 (_mm256_cvtne2ps_pbh): Ditto.
9023 (_mm256_mask_cvtne2ps_pbh): Ditto.
9024 (_mm256_maskz_cvtne2ps_pbh): Ditto.
9025 (_mm_cvtne2ps_pbh): Ditto.
9026 (_mm_mask_cvtne2ps_pbh): Ditto.
9027 (_mm_maskz_cvtne2ps_pbh): Ditto.
9028 (_mm_cvtness_sbh): Ditto.
9029 * config/i386/i386-builtin-types.def (V8BF): Add new
9030 DEF_VECTOR_TYPE for BFmode.
9031 (V16BF): Ditto.
9032 (V32BF): Ditto.
9033 * config/i386/i386-builtin.def (BDESC): Fixed builtins.
9034 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Changed
9035 avx512bf16 ix86_builtin_func_type included HI to BF.
9036 * config/i386/immintrin.h: Add SSE2 depend for avx512bf16.
9037 * config/i386/sse.md (TARGET_AVX512VL): Changed HI vector to BF
9038 vector.
9039 (avx512f_cvtneps2bf16_v4sf): New define_expand.
9040 (*avx512f_cvtneps2bf16_v4sf): New define_insn.
9041 (avx512f_cvtneps2bf16_v4sf_maskz):Ditto.
9042 (avx512f_cvtneps2bf16_v4sf_mask): Ditto.
9043 (avx512f_cvtneps2bf16_v4sf_mask_1): Ditto.
9044
9045 2022-10-31 liuhongt <hongtao.liu@intel.com>
9046
9047 PR target/107261
9048 * config/i386/i386-modes.def (VECTOR_MODE): Support V2BFmode.
9049 * config/i386/i386.cc (classify_argument): Handle V4BFmode and
9050 V2BFmode.
9051 (ix86_convert_const_vector_to_integer): Ditto.
9052 * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Remove
9053 V2BFmode.
9054 (VALID_SSE2_REG_MODE): Add V4BFmode and V2BFmode.
9055 (VALID_MMX_REG_MODE): Add V4BFmode.
9056 * config/i386/i386.md (mode): Add V4BF and V2BF.
9057 (MODE_SIZE): Ditto.
9058 * config/i386/mmx.md (MMXMODE) Add V4BF.
9059 (V_32): Add V2BF.
9060 (V_16_32_64): Add V4BF and V2BF.
9061 (mmxinsnmode): Add V4BF and V2BF.
9062 (*mov<mode>_internal): Hanlde V4BFmode and V2BFmode.
9063
9064 2022-10-29 Eric Botcazou <ebotcazou@adacore.com>
9065
9066 * configure.ac (sjlj-exceptions): Restore dropped line.
9067 * configure: Regenerate.
9068
9069 2022-10-29 Eric Botcazou <ebotcazou@adacore.com>
9070
9071 * alias.cc (init_alias_analysis): Do not record sets to the hard
9072 frame pointer if the frame pointer has not been eliminated.
9073
9074 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
9075
9076 * config/darwin-d.cc (TARGET_D_MINFO_START_NAME): Rename to ...
9077 (TARGET_D_MINFO_SECTION_START): ...this.
9078 (TARGET_D_MINFO_END_NAME): Rename to ...
9079 (TARGET_D_MINFO_SECTION_END): ... this.
9080 * config/elfos.h (TARGET_D_MINFO_SECTION): Remove.
9081 (TARGET_D_MINFO_START_NAME): Remove.
9082 (TARGET_D_MINFO_END_NAME): Remove.
9083 * config/i386/cygwin-d.cc (TARGET_D_MINFO_SECTION): Remove.
9084 (TARGET_D_MINFO_START_NAME): Remove.
9085 (TARGET_D_MINFO_END_NAME): Remove.
9086 * config/i386/winnt-d.cc (TARGET_D_MINFO_SECTION): Remove.
9087 (TARGET_D_MINFO_START_NAME): Remove.
9088 (TARGET_D_MINFO_END_NAME): Remove.
9089 * doc/tm.texi: Regenerate.
9090 * doc/tm.texi.in (TARGET_D_MINFO_START_NAME): Rename to ...
9091 (TARGET_D_MINFO_SECTION_START): ...this.
9092 (TARGET_D_MINFO_END_NAME): Rename to ...
9093 (TARGET_D_MINFO_SECTION_END): ...this.
9094
9095 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
9096
9097 * config.gcc: Split out glibc-d.o into linux-d.o, kfreebsd-d.o,
9098 kopensolaris-d.o, and gnu-d.o. Split out cygwin-d.o from winnt-d.o.
9099 * config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9100 * config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
9101 * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9102 * config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9103 * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9104 * config/i386/t-cygming: Add cygwin-d.o.
9105 * config/i386/winnt-d.cc (winnt_d_os_builtins): Only add
9106 MinGW-specific version condition.
9107 * config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
9108 * config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
9109 * config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Remove.
9110 * config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
9111 * config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9112 * config/t-glibc: Remove glibc-d.o, add gnu-d.o, kfreebsd-d.o,
9113 kopensolaris-d.o.
9114 * config/t-linux: Add linux-d.o.
9115 * config/glibc-d.cc: Remove file.
9116 * config/gnu-d.cc: New file.
9117 * config/i386/cygwin-d.cc: New file.
9118 * config/kfreebsd-d.cc: New file.
9119 * config/kopensolaris-d.cc: New file.
9120 * config/linux-d.cc: New file.
9121
9122 2022-10-29 Jeff Law <jeffreyalaw@gmail.com>
9123
9124 * config/h8300/h8300.cc (pre_incdec_with_reg): Make reg argument
9125 an unsigned int
9126 * config/h8300/h8300-protos.h (pre_incdec_with_reg): Adjust prototype.
9127
9128 2022-10-28 Joseph Myers <joseph@codesourcery.com>
9129
9130 * config/aarch64/aarch64.cc (aarch64_setup_incoming_varargs):
9131 Check TYPE_NO_NAMED_ARGS_STDARG_P.
9132 * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Likewise.
9133 * config/arc/arc.cc (arc_setup_incoming_varargs): Likewise.
9134 * config/arm/arm.cc (arm_setup_incoming_varargs): Likewise.
9135 * config/csky/csky.cc (csky_setup_incoming_varargs): Likewise.
9136 * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs):
9137 Likewise.
9138 * config/fr30/fr30.cc (fr30_setup_incoming_varargs): Likewise.
9139 * config/frv/frv.cc (frv_setup_incoming_varargs): Likewise.
9140 * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Likewise.
9141 * config/i386/i386.cc (ix86_setup_incoming_varargs): Likewise.
9142 * config/ia64/ia64.cc (ia64_setup_incoming_varargs): Likewise.
9143 * config/loongarch/loongarch.cc
9144 (loongarch_setup_incoming_varargs): Likewise.
9145 * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Likewise.
9146 * config/mcore/mcore.cc (mcore_setup_incoming_varargs): Likewise.
9147 * config/mips/mips.cc (mips_setup_incoming_varargs): Likewise.
9148 * config/mmix/mmix.cc (mmix_setup_incoming_varargs): Likewise.
9149 * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Likewise.
9150 * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Likewise.
9151 * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Likewise.
9152 * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Likewise.
9153 * config/sh/sh.cc (sh_setup_incoming_varargs): Likewise.
9154 * config/visium/visium.cc (visium_setup_incoming_varargs):
9155 Likewise.
9156 * config/vms/vms-c.cc (vms_c_common_override_options): Do not set
9157 flag_allow_parameterless_variadic_functions.
9158 * doc/invoke.texi (-fallow-parameterless-variadic-functions): Do
9159 not document option.
9160 * function.cc (assign_parms): Call assign_parms_setup_varargs for
9161 TYPE_NO_NAMED_ARGS_STDARG_P case.
9162 * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] (va_start): Make
9163 variadic macro. Pass second argument of 0 to __builtin_va_start.
9164 * target.def (setup_incoming_varargs): Update documentation.
9165 * doc/tm.texi: Regenerate.
9166 * tree-core.h (struct tree_type_common): Add
9167 no_named_args_stdarg_p.
9168 * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Unpack
9169 TYPE_NO_NAMED_ARGS_STDARG_P.
9170 * tree-streamer-out.cc (pack_ts_type_common_value_fields): Pack
9171 TYPE_NO_NAMED_ARGS_STDARG_P.
9172 * tree.cc (type_cache_hasher::equal): Compare
9173 TYPE_NO_NAMED_ARGS_STDARG_P.
9174 (build_function_type): Add argument no_named_args_stdarg_p.
9175 (build_function_type_list_1, build_function_type_array_1)
9176 (reconstruct_complex_type): Update calls to build_function_type.
9177 (stdarg_p, prototype_p): Return true for (...) functions.
9178 (gimple_canonical_types_compatible_p): Compare
9179 TYPE_NO_NAMED_ARGS_STDARG_P.
9180 * tree.h (TYPE_NO_NAMED_ARGS_STDARG_P): New.
9181 (build_function_type): Update prototype.
9182
9183 2022-10-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
9184
9185 PR tree-optimization/107346
9186 * tree-vect-data-refs.cc (vect_check_gather_scatter): Reject offsets
9187 that aren't multiples of BITS_PER_UNIT.
9188
9189 2022-10-28 Richard Biener <rguenther@suse.de>
9190
9191 PR tree-optimization/107407
9192 * tree-ssa-dse.cc (dse_classify_store): Perform backedge
9193 varying index check when collecting PHI uses rather than
9194 after optimizing processing of the candidate defs.
9195
9196 2022-10-28 Richard Biener <rguenther@suse.de>
9197
9198 PR tree-optimization/107447
9199 * tree-ssa-loop-im.cc (determine_max_movement): Do not
9200 hoist returns-twice calls.
9201
9202 2022-10-28 Richard Biener <rguenther@suse.de>
9203
9204 PR tree-optimization/107435
9205 * tree-vect-loop.cc (vectorizable_recurr): Convert initial
9206 value to vector component type.
9207
9208 2022-10-28 Julian Brown <julian@codesourcery.com>
9209 Thomas Schwinge <thomas@codesourcery.com>
9210
9211 PR middle-end/90115
9212 * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
9213 privatization candidates.
9214
9215 2022-10-28 Martin Liska <mliska@suse.cz>
9216
9217 PR sanitizer/107298
9218 * doc/invoke.texi: Document sanitizers can trigger warnings.
9219
9220 2022-10-28 Thomas Schwinge <thomas@codesourcery.com>
9221
9222 * doc/makefile.texi (Makefile Targets): Document
9223 'distclean-stage[N]'.
9224
9225 2022-10-28 Aldy Hernandez <aldyh@redhat.com>
9226
9227 * value-range.cc (range_tests_floats): Use HONOR_INFINITIES.
9228
9229 2022-10-27 Eric Botcazou <ebotcazou@adacore.com>
9230
9231 * config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete.
9232
9233 2022-10-27 H.J. Lu <hjl.tools@gmail.com>
9234
9235 PR target/107172
9236 * config/i386/i386.md (UNSPEC_CC_NE): New.
9237 Replace ne:CCC/ne:CCO with UNSPEC_CC_NE in neg patterns.
9238
9239 2022-10-27 Andrew Pinski <apinski@marvell.com>
9240
9241 * tree-ssa-phiopt.cc: Include tree-ssa-dce.h
9242 (replace_phi_edge_with_variable):
9243 New argument, dce_ssa_names. Call simple_dce_from_worklist.
9244 (match_simplify_replacement): If we inserted a sequence,
9245 mark the lhs of the new sequence to be possible dce.
9246 Always move the statement and mark the lhs (if it is a name)
9247 as possible to remove.
9248
9249 2022-10-27 Richard Sandiford <richard.sandiford@arm.com>
9250
9251 * config/aarch64/aarch64-protos.h: Replace constexpr with
9252 CONSTEXPR.
9253 * config/aarch64/aarch64-sve-builtins-base.cc: Likewise.
9254 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
9255 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
9256 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
9257 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
9258 * config/aarch64/aarch64.cc: Likewise.
9259 * config/aarch64/driver-aarch64.cc: Likewise
9260
9261 2022-10-27 Aldy Hernandez <aldyh@redhat.com>
9262
9263 PR tree-optimization/107394
9264 * value-range-storage.cc (frange_storage_slot::get_frange): Use
9265 frange constructor.
9266
9267 2022-10-27 Thomas Schwinge <thomas@codesourcery.com>
9268
9269 * optc-save-gen.awk: Clarify 'Init' option property usage for
9270 streaming optimization.
9271
9272 2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
9273 Yvan ROUX <yvan.roux@foss.st.com>
9274
9275 * ira.cc: Resize array after reg number increased.
9276
9277 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
9278 Sinan Lin <sinan@isrc.iscas.ac.cn>
9279
9280 * config/riscv/constraints.md (TARGET_ZFINX ? GR_REGS): Set GPRS
9281 use while Zfinx is enable.
9282 * config/riscv/riscv.cc (riscv_hard_regno_mode_ok): Limit odd
9283 registers use when Zdinx enable in RV32 cases.
9284 (riscv_option_override): New target enable MASK_FDIV.
9285 (riscv_libgcc_floating_mode_supported_p): New error info when
9286 use incompatible arch&abi.
9287 (riscv_excess_precision): New target enable FLOAT16.
9288
9289 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
9290
9291 * config/riscv/iterators.md (TARGET_ZFINX):New target.
9292 (TARGET_ZDINX): Ditto.
9293 (TARGET_ZHINX): Ditto.
9294 * config/riscv/riscv-builtins.cc (AVAIL): Ditto.
9295 (riscv_atomic_assign_expand_fenv): Ditto.
9296 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Ditto.
9297 * config/riscv/riscv.md: Ditto.
9298
9299 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
9300 Sinan Lin <sinan@isrc.iscas.ac.cn>
9301
9302 * common/config/riscv/riscv-common.cc: New extensions.
9303 * config/riscv/arch-canonicalize: New imply relations.
9304 * config/riscv/riscv-opts.h (MASK_ZFINX): New mask.
9305 (MASK_ZDINX): Ditto.
9306 (MASK_ZHINX): Ditto.
9307 (MASK_ZHINXMIN): Ditto.
9308 (TARGET_ZFINX): New target.
9309 (TARGET_ZDINX): Ditto.
9310 (TARGET_ZHINX): Ditto.
9311 (TARGET_ZHINXMIN): Ditto.
9312 * config/riscv/riscv.opt: New target variable.
9313
9314 2022-10-26 David Faust <david.faust@oracle.com>
9315
9316 * config/bpf/bpf.cc: Support __builtin_preserve_field_info.
9317 (enum bpf_builtins): Add new builtin.
9318 (bpf_init_builtins): Likewise.
9319 (bpf_core_field_info): New function.
9320 (bpf_expand_builtin): Accomodate new builtin. Refactor adding new
9321 relocation to...
9322 (maybe_make_core_relo): ... here. New function.
9323 (bpf_resolve_overloaded_builtin): Accomodate new builtin.
9324 (bpf_core_newdecl): Likewise.
9325 (bpf_core_walk): Likewise.
9326 (bpf_core_is_maybe_aggregate_access): Improve logic.
9327 (struct core_walk_data): New.
9328 * config/bpf/coreout.cc (bpf_core_reloc_add): Allow adding different
9329 relocation kinds.
9330 * config/bpf/coreout.h: Analogous change.
9331 * doc/extend.texi: Document BPF __builtin_preserve_field_info.
9332
9333 2022-10-26 Marek Polacek <polacek@redhat.com>
9334
9335 PR c++/106393
9336 * doc/invoke.texi: Document -Wdangling-reference.
9337
9338 2022-10-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
9339
9340 * config/xtensa/xtensa.md (movdi):
9341 Copy operands[0...1] to ops[0...3] and then use the latter before
9342 calling xtensa_split_DI_reg_imm() and emitting insns.
9343
9344 2022-10-26 Alexander Monakov <amonakov@ispras.ru>
9345
9346 PR other/107353
9347 * ipa-visibility.cc (function_and_variable_visibility):
9348 Conditionally upgrade TLS model instead of asserting.
9349
9350 2022-10-26 Andrew MacLeod <amacleod@redhat.com>
9351
9352 * gimple-range-fold.cc (fold_using_range::fold_stmt): Check if
9353 stmt is non-negative and adjust the range.
9354
9355 2022-10-26 Martin Liska <mliska@suse.cz>
9356
9357 * common/config/i386/cpuinfo.h (has_cpu_feature): Add comment.
9358 (reset_cpu_feature): New.
9359 (get_zhaoxin_cpu): Use reset_cpu_feature.
9360
9361 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9362
9363 * config/riscv/riscv.cc (riscv_expand_epilogue): Fix statement.
9364
9365 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9366
9367 PR target/107357
9368 * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Set to minimum size.
9369 (ADJUST_NUNITS): Adjust according to -march.
9370 (ADJUST_BYTESIZE): Ditto.
9371 * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p):
9372 Remove.
9373 (riscv_v_ext_vector_mode_p): Change function implementation.
9374 * config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher):
9375 Change to riscv_v_ext_vector_mode_p.
9376 (register_builtin_type): Ditto.
9377 * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): Change to enabled
9378 modes.
9379 (ENTRY): Ditto.
9380 (riscv_v_ext_enabled_vector_mode_p): Remove.
9381 (riscv_v_adjust_nunits): New function.
9382 (riscv_vector_mode_supported_p): Use riscv_v_ext_vector_mode_p instead.
9383 * config/riscv/riscv.h (riscv_v_adjust_nunits): New function.
9384
9385 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9386
9387 * config.gcc (riscv*): Add riscv-v.o to extra_objs.
9388 * config/riscv/constraints.md (vu): New constraint.
9389 (vi): Ditto.
9390 (Wc0): Ditto.
9391 (Wc1): Ditto.
9392 * config/riscv/predicates.md (vector_length_operand): New.
9393 (reg_or_mem_operand): Ditto.
9394 (vector_move_operand): Ditto.
9395 (vector_mask_operand): Ditto.
9396 (vector_merge_operand): Ditto.
9397 * config/riscv/riscv-protos.h (riscv_regmode_natural_size) New.
9398 (riscv_vector::const_vec_all_same_in_range_p): Ditto.
9399 (riscv_vector::legitimize_move): Ditto.
9400 (tail_policy): Ditto.
9401 (mask_policy): Ditto.
9402 * config/riscv/riscv-v.cc: New.
9403 * config/riscv/riscv-vector-builtins-bases.cc
9404 (vsetvl::expand): Refactor how LMUL encoding.
9405 * config/riscv/riscv.cc (riscv_print_operand): Update how LMUL
9406 print and mask operand print.
9407 (riscv_regmode_natural_size): New.
9408 * config/riscv/riscv.h (REGMODE_NATURAL_SIZE): New.
9409 * config/riscv/riscv.md (mode): Add vector modes.
9410 * config/riscv/t-riscv (riscv-v.o) New.
9411 * config/riscv/vector-iterators.md: New.
9412 * config/riscv/vector.md (vundefined<mode>): New.
9413 (mov<mode>): New.
9414 (*mov<mode>): New.
9415 (@vsetvl<mode>_no_side_effects): New.
9416 (@pred_mov<mode>): New.
9417
9418 2022-10-26 Monk Chiang <monk.chiang@sifive.com>
9419
9420 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
9421 Add svinval and svnapot extension.
9422 (riscv_ext_flag_table): Ditto.
9423 * config/riscv/riscv-opts.h (MASK_SVINVAL): New.
9424 (MASK_SVNAPOT): Ditto.
9425 (TARGET_SVINVAL): Ditto.
9426 (TARGET_SVNAPOT): Ditto.
9427 * config/riscv/riscv.opt (riscv_sv_subext): New.
9428
9429 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9430
9431 * config/riscv/riscv-modes.def: Adjust table indentation in commnet.
9432
9433 2022-10-26 Martin Liska <mliska@suse.cz>
9434
9435 * configure: Regenerate.
9436
9437 2022-10-26 Aldy Hernandez <aldyh@redhat.com>
9438
9439 * value-range.cc (frange::set): Use HONOR_*.
9440 (frange::verify_range): Same.
9441 * value-range.h (frange_val_min): Same.
9442 (frange_val_max): Same.
9443
9444 2022-10-26 Jiufu Guo <guojiufu@linux.ibm.com>
9445
9446 PR target/106460
9447 * config/rs6000/rs6000.cc (rs6000_cannot_force_const_mem): Return true
9448 for HIGH code rtx.
9449
9450 2022-10-26 Kito Cheng <kito.cheng@sifive.com>
9451
9452 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
9453 Add `h`.
9454 (riscv_supported_std_ext): Ditto.
9455 (multi_letter_subset_rank): Remove `h`.
9456 (riscv_subset_list::parse_std_ext): Handle `h` as single letter
9457 extension.
9458 (riscv_subset_list::parse): Ditto.
9459
9460 2022-10-25 Eugene Rozenfeld <erozen@microsoft.com>
9461
9462 * auto-profile.cc (get_combined_location): Include discriminator in the
9463 returned combined location.
9464 (read_function_instance): Read discriminators from profiles.
9465
9466 2022-10-25 H.J. Lu <hjl.tools@gmail.com>
9467
9468 PR target/107304
9469 * expr.cc (get_inner_reference): Always use TYPE_MODE for vector
9470 field with vector raw mode.
9471
9472 2022-10-25 Segher Boessenkool <segher@kernel.crashing.org>
9473
9474 * config/rs6000/rs6000.md (CCEITHER): Delete.
9475 (CCANY): New.
9476 (un): Delete.
9477 (isel_<un>signed_<GPR:mode>): Rename to...
9478 (isel_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
9479 (*isel_reversed_<un>signed_<GPR:mode>): Rename to...
9480 (*isel_reversed_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
9481 (setbc_<un>signed_<GPR:mode>): Rename to...
9482 (setbc_<CCANY:mode>_<GPR:mode>C): ... this. Adjust."
9483 (*setbcr_<un>signed_<GPR:mode>): Rename to ...
9484 (*setbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
9485 (*setnbc_<un>signed_<GPR:mode>): Rename to ...
9486 (*setnbc_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
9487 (*setnbcr_<un>signed_<GPR:mode>): Rename to ...
9488 (*setnbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
9489 (eq<mode>3 for GPR): Adjust.
9490 (ne<mode>3 for GPR): Adjust.
9491 * config/rs6000/rs6000-string.cc (do_isel): Adjust.
9492 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Adjust.
9493
9494 2022-10-25 Richard Biener <rguenther@suse.de>
9495
9496 PR tree-optimization/107176
9497 PR tree-optimization/66375
9498 PR tree-optimization/42512
9499 * tree-scalar-evolution.cc (follow_ssa_edge_expr): Revert
9500 the PR66375 fix, do not not associate PLUS_EXPR to be able
9501 to use tail-recursion.
9502 (follow_ssa_edge_binary): Likewise.
9503 (interpret_loop_phi): Revert PR42512 fix, do not throw
9504 away analyze_evolution_in_loop result after the fact.
9505 (follow_ssa_edge_expr): When reaching halting_phi initalize
9506 the evolution to the symbolic value of the PHI result.
9507 (add_to_evolution_1): When adding the first evolution verify
9508 we can handle the expression wrapping the symbolic evolution
9509 and replace that in full using the initial condition.
9510 (class scev_dfs): New, contains ...
9511 (follow_ssa_edge_expr, follow_ssa_edge_binary,
9512 follow_ssa_edge_in_condition_phi_branch,
9513 follow_ssa_edge_in_condition_phi,
9514 follow_ssa_edge_inner_loop_phi,
9515 add_to_evolution, add_to_evolution_1): ... these with
9516 loop and halting_phi arguments in class data.
9517 (scev_dfs::get_ev): New toplevel DFS entry, start with
9518 a chrec_dont_know evolution.
9519 (analyze_evolution_in_loop): Use scev_dfs.
9520
9521 2022-10-25 Eric Botcazou <ebotcazou@adacore.com>
9522
9523 * profile.cc (branch_prob): Be prepared for ignored functions with
9524 DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
9525
9526 2022-10-25 Richard Biener <rguenther@suse.de>
9527
9528 * tree-scalar-evolution.cc (follow_ssa_edge_expr): Move
9529 STRIP_USELESS_TYPE_CONVERSIONS to where it matters.
9530
9531 2022-10-25 Tejas Joshi <TejasSanjay.Joshi@amd.com>
9532
9533 * common/config/i386/i386-common.cc (processor_alias_table): Use
9534 CPU_ZNVER3 for znver4.
9535 * config/i386/znver.md: Remove znver4 reservations.
9536
9537 2022-10-25 Jakub Jelinek <jakub@redhat.com>
9538
9539 * gimplify.cc (gimple_boolify): Fix comment typos, prduce -> produce
9540 and There -> These.
9541
9542 2022-10-25 Jakub Jelinek <jakub@redhat.com>
9543
9544 PR tree-optimization/107368
9545 * gimplify.cc (gimplify_call_expr): For complex IFN_ASSUME
9546 conditions call gimple_boolify on the condition.
9547
9548 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
9549
9550 * config.gcc: add -with-compact-branches=policy build option.
9551 * doc/install.texi: Likewise.
9552 * config/mips/mips.h: Likewise.
9553
9554 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
9555
9556 * config/mips/mips.cc (mips_option_override): not trigger error
9557 for compact-branches=always for pre-R6.
9558 * config/mips/mips.h (TARGET_RTP_PIC): not trigger error for
9559 compact-branches=always for pre-R6.
9560 (TARGET_CB_NEVER): Likewise.
9561 (TARGET_CB_ALWAYS): Likewise.
9562 (struct mips_cpu_info): define macros for compact branch policy.
9563 * doc/invoke.texi: Document "always" with pre-R6.
9564
9565 2022-10-25 Jakub Jelinek <jakub@redhat.com>
9566
9567 PR tree-optimization/107369
9568 * gimplify.cc (gimplify_call_expr): If seen_error, handle complex
9569 IFN_ASSUME the same as for -O0.
9570
9571 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
9572
9573 * configure.ac: AC_DEFINE(ENABLE_MULTIARCH, 1)
9574 * configure: Regenerated.
9575 * config.in: Regenerated.
9576 * config/mips/mips.h: don't define STANDARD_STARTFILE_PREFIX_1
9577 if ENABLE_MULTIARCH is defined.
9578 * config/mips/t-linux64: define correct multiarch path when
9579 multiarch is enabled.
9580
9581 2022-10-25 Richard Biener <rguenther@suse.de>
9582
9583 PR tree-optimization/100756
9584 * tree-ssa-loop-niter.cc (expand_simple_operations): Also
9585 expand multiplications by invariants.
9586
9587 2022-10-25 Kewen Lin <linkw@linux.ibm.com>
9588
9589 PR tree-optimization/107338
9590 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Move
9591 shfit_n calculation before the adjustments for widening loads.
9592
9593 2022-10-25 Martin Liska <mliska@suse.cz>
9594
9595 * common/config/riscv/riscv-common.cc
9596 (riscv_get_valid_option_values): Get out of ifdef.
9597
9598 2022-10-25 Martin Liska <mliska@suse.cz>
9599
9600 PR target/107364
9601 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
9602 Fix pedantic warning.
9603
9604 2022-10-24 Martin Liska <mliska@suse.cz>
9605
9606 PR analyzer/107366
9607 * diagnostic-format-sarif.cc
9608 (sarif_builder::maybe_make_physical_location_object): Gracefully
9609 reject locations with NULL filename.
9610
9611 2022-10-24 David Malcolm <dmalcolm@redhat.com>
9612
9613 PR analyzer/106300
9614 * doc/invoke.texi (Static Analyzer Options): Add "pipe" and
9615 "pipe2" to the list of functions the analyzer has hardcoded
9616 knowledge of.
9617
9618 2022-10-24 Jason Merrill <jason@redhat.com>
9619
9620 * tree.h (build_string_literal): New one-argument overloads that
9621 take tree (identifier) and const char *.
9622 * builtins.cc (fold_builtin_FILE)
9623 (fold_builtin_FUNCTION)
9624 * gimplify.cc (gimple_add_init_for_auto_var)
9625 * vtable-verify.cc (verify_bb_vtables): Simplify calls.
9626
9627 2022-10-24 Martin Liska <mliska@suse.cz>
9628
9629 PR target/107364
9630 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
9631 Reorder enum values as BUILTIN_VENDOR_MAX should not point
9632 in the middle of the valid enum values.
9633
9634 2022-10-24 Marek Polacek <polacek@redhat.com>
9635
9636 PR c++/107276
9637 * tree.cc (maybe_wrap_with_location): Don't create a location wrapper
9638 when the type is erroneous.
9639
9640 2022-10-24 Wilco Dijkstra <wdijkstr@arm.com>
9641
9642 PR target/106583
9643 * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate)
9644 Add support for a bitmask immediate with 2 MOVKs.
9645 (aarch64_check_bitmask): New function after refactorization.
9646 (aarch64_bitmask_imm): Simplify replication of small modes.
9647 Split function into 64-bit only version for efficiency.
9648 (aarch64_move_imm): Move near other immediate functions.
9649 (aarch64_uimm12_shift): Likewise.
9650 (aarch64_clamp_to_uimm12_shift): Likewise.
9651 (aarch64_movk_shift): Likewise.
9652 (aarch64_replicate_bitmask_imm): Likewise.
9653 (aarch64_and_split_imm1): Likewise.
9654 (aarch64_and_split_imm2): Likewise.
9655 (aarch64_and_bitmask_imm): Likewise.
9656 (aarch64_movw_imm): Likewise.
9657
9658 2022-10-24 Aldy Hernandez <aldyh@redhat.com>
9659
9660 PR tree-optimization/107355
9661 * range-op-float.cc (foperator_abs::op1_range): Handle NAN.
9662
9663 2022-10-24 Tobias Burnus <tobias@codesourcery.com>
9664
9665 PR middle-end/107236
9666 * omp-expand.cc (expand_omp_target): Set calls_declare_variant_alt
9667 in DECL_CONTEXT and not to cfun->decl.
9668 * cgraphclones.cc (cgraph_node::create_clone): Copy also the
9669 node's calls_declare_variant_alt value.
9670
9671 2022-10-24 Kito Cheng <kito.cheng@sifive.com>
9672
9673 * common/config/riscv/riscv-common.cc (riscv_tunes): New.
9674 (riscv_get_valid_option_values): New.
9675 (TARGET_GET_VALID_OPTION_VALUES): New.
9676 * config/riscv/riscv-cores.def (RISCV_TUNE): New, define options
9677 for tune here.
9678 (RISCV_CORE): Fix comment.
9679 * config/riscv/riscv.cc (riscv_tune_info_table): Move definition to
9680 riscv-cores.def.
9681
9682 2022-10-24 Aldy Hernandez <aldyh@redhat.com>
9683
9684 PR tree-optimization/107365
9685 * value-range.cc (frange::verify_range): Predicate NAN check in
9686 VARYING range on HONOR_NANS instead of flag_finite_math_only.
9687 (range_tests_floats): Same.
9688 (range_tests_floats_various): New.
9689 (range_tests): Call range_tests_floats_various.
9690
9691 2022-10-24 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
9692 Yvan ROUX <yvan.roux@foss.st.com>
9693
9694 * lto-wrapper.cc: Quote paths in makefile.
9695
9696 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9697
9698 * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)).
9699
9700 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9701
9702 * config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR
9703 with constexpr throughout.
9704 * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise.
9705 * config/riscv/riscv-vector-builtins.cc
9706 (struct registered_function_hasher): Likewise.
9707 * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info):
9708 Likewise.
9709
9710 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9711
9712 * config/riscv/riscv-vector-switch.def (ENTRY): Remove unused TI/TF vector modes.
9713
9714 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9715
9716 * config/riscv/riscv.h (REG_CLASS_CONTENTS): Fix ALL_REGS.
9717
9718 2022-10-22 Michael Eager <eager@eagercon.com>
9719
9720 * config/microblaze/microblaze.cc
9721 (microblaze_legitimize_address): Initialize 'reg' to NULL, check for NULL.
9722 (microblaze_address_insns): Replace abort() with gcc_unreachable().
9723 (print_operand_address): Same.
9724 (microblaze_expand_move): Initialize 'p1' to NULL, check for NULL.
9725 (get_branch_target): Replace abort() with gcc_unreachable().
9726
9727 2022-10-22 Aldy Hernandez <aldyh@redhat.com>
9728
9729 * value-range.cc (range_tests_floats): Predicate [-Inf, +Inf] test
9730 with !flag_finite_math_only.
9731
9732 2022-10-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
9733
9734 * config/xtensa/xtensa.cc (xtensa_conditional_register_usage):
9735 Remove register A0 from FIXED_REGS if the CALL0 ABI.
9736 (xtensa_expand_epilogue): Change to emit '(use (reg:SI A0_REG))'
9737 unconditionally after restoring callee-saved registers for
9738 sibling-call functions, in order to prevent misleading that
9739 register A0 is free to use.
9740
9741 2022-10-21 Jakub Jelinek <jakub@redhat.com>
9742
9743 PR target/107322
9744 * config/i386/i386-expand.cc (ix86_prepare_fp_compare_args): For
9745 BFmode comparisons promote arguments to SFmode and recurse.
9746 (ix86_expand_int_movcc, ix86_expand_fp_movcc): Return false early
9747 if comparison operands are BFmode and operands[1] is not
9748 ix86_fp_comparison_operator.
9749
9750 2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com>
9751
9752 * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
9753 * common/config/i386/i386-common.cc (processor_names): Add znver4.
9754 (processor_alias_table): Add znver4 and modularize old znvers.
9755 * common/config/i386/i386-cpuinfo.h (processor_subtypes):
9756 AMDFAM19H_ZNVER4.
9757 * config.gcc (x86_64-*-* |...): Likewise.
9758 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
9759 -march=native recognize znver4 cpus.
9760 * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
9761 * config/i386/i386-options.cc (m_ZNVER4): New definition.
9762 (m_ZNVER): Include m_ZNVER4.
9763 (processor_cost_table): Add znver4.
9764 * config/i386/i386.cc (ix86_reassociation_width): Likewise.
9765 * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
9766 (PTA_ZNVER1): New definition.
9767 (PTA_ZNVER2): Likewise.
9768 (PTA_ZNVER3): Likewise.
9769 (PTA_ZNVER4): Likewise.
9770 * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
9771 md file.
9772 * config/i386/x86-tune-costs.h (znver4_cost): New definition.
9773 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
9774 (ix86_adjust_cost): Likewise.
9775 * config/i386/znver1.md: Rename to znver.md.
9776 * config/i386/znver.md: Add new reservations for znver4.
9777 * doc/extend.texi: Add details about znver4.
9778 * doc/invoke.texi: Likewise.
9779
9780 2022-10-21 Richard Biener <rguenther@suse.de>
9781
9782 PR tree-optimization/107323
9783 * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
9784 New function.
9785 (loop_distribution::break_alias_scc_partitions): Revert
9786 postorder save/restore from the PR94125 fix. Instead
9787 make sure to not ignore edges from SCCs we are going to
9788 merge.
9789
9790 2022-10-21 Monk Chiang <monk.chiang@sifive.com>
9791
9792 * config/riscv/riscv.md: Add atomic type attribute.
9793 * config/riscv/sync.md: Add atomic type for atomic instructions.
9794
9795 2022-10-21 Jakub Jelinek <jakub@redhat.com>
9796
9797 PR tree-optimization/54346
9798 * match.pd ((vec_perm (vec_perm@0 @1 @2 VECTOR_CST) @0 VECTOR_CST)):
9799 Optimize nested VEC_PERM_EXPRs even if target can't handle the
9800 new one provided we don't increase number of VEC_PERM_EXPRs the
9801 target can't handle.
9802
9803 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9804
9805 * config.gcc: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
9806 * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New macro.
9807 (DEF_RVV_FUNCTION): Ditto.
9808 (handle_pragma_vector): Add intrinsic framework.
9809 * config/riscv/riscv.cc (riscv_print_operand): Add operand print for vsetvl/vsetvlmax.
9810 * config/riscv/riscv.md: include vector.md.
9811 * config/riscv/t-riscv: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
9812 * config/riscv/riscv-vector-builtins-bases.cc: New file.
9813 * config/riscv/riscv-vector-builtins-bases.h: New file.
9814 * config/riscv/riscv-vector-builtins-functions.def: New file.
9815 * config/riscv/riscv-vector-builtins-shapes.cc: New file.
9816 * config/riscv/riscv-vector-builtins-shapes.h: New file.
9817 * config/riscv/riscv-vector-builtins-types.def: New file.
9818 * config/riscv/vector.md: New file.
9819
9820 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9821
9822 * config.gcc: Add gt files since function_instance is GTY ((user)).
9823 * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV intrinsic framework.
9824 (riscv_builtin_decl): Ditto.
9825 (riscv_expand_builtin): Ditto.
9826 * config/riscv/riscv-protos.h (builtin_decl): New function.
9827 (expand_builtin): Ditto.
9828 (enum riscv_builtin_class): New enum to classify RVV intrinsic and RISC-V general built-in.
9829 * config/riscv/riscv-vector-builtins.cc (class GTY): New declaration.
9830 (struct registered_function_hasher): New struct.
9831 (DEF_RVV_OP_TYPE): New macro.
9832 (DEF_RVV_TYPE): Ditto.
9833 (DEF_RVV_PRED_TYPE): Ditto.
9834 (GTY): New declaration.
9835 (add_attribute): New function.
9836 (check_required_extensions): Ditto.
9837 (rvv_arg_type_info::get_tree_type): Ditto.
9838 (function_instance::function_instance): Ditto.
9839 (function_instance::operator==): Ditto.
9840 (function_instance::any_type_float_p): Ditto.
9841 (function_instance::get_return_type): Ditto.
9842 (function_instance::get_arg_type): Ditto.
9843 (function_instance::hash): Ditto.
9844 (function_instance::call_properties): Ditto.
9845 (function_instance::reads_global_state_p): Ditto.
9846 (function_instance::modifies_global_state_p): Ditto.
9847 (function_instance::could_trap_p): Ditto.
9848 (function_builder::function_builder): Ditto.
9849 (function_builder::~function_builder): Ditto.
9850 (function_builder::allocate_argument_types): Ditto.
9851 (function_builder::register_function_group): Ditto.
9852 (function_builder::append_name): Ditto.
9853 (function_builder::finish_name): Ditto.
9854 (function_builder::get_attributes): Ditto.
9855 (function_builder::add_function): Ditto.
9856 (function_builder::add_unique_function): Ditto.
9857 (function_call_info::function_call_info): Ditto.
9858 (function_expander::function_expander): Ditto.
9859 (function_expander::add_input_operand): Ditto.
9860 (function_expander::generate_insn): Ditto.
9861 (registered_function_hasher::hash): Ditto.
9862 (registered_function_hasher::equal): Ditto.
9863 (builtin_decl): Ditto.
9864 (expand_builtin): Ditto.
9865 (gt_ggc_mx): Define for using GCC garbage collect.
9866 (gt_pch_nx): Define for using GCC garbage collect.
9867 * config/riscv/riscv-vector-builtins.def (DEF_RVV_OP_TYPE): New macro.
9868 (DEF_RVV_PRED_TYPE): Ditto.
9869 (vbool64_t): Add suffix.
9870 (vbool32_t): Ditto.
9871 (vbool16_t): Ditto.
9872 (vbool8_t): Ditto.
9873 (vbool4_t): Ditto.
9874 (vbool2_t): Ditto.
9875 (vbool1_t): Ditto.
9876 (vint8mf8_t): Ditto.
9877 (vuint8mf8_t): Ditto.
9878 (vint8mf4_t): Ditto.
9879 (vuint8mf4_t): Ditto.
9880 (vint8mf2_t): Ditto.
9881 (vuint8mf2_t): Ditto.
9882 (vint8m1_t): Ditto.
9883 (vuint8m1_t): Ditto.
9884 (vint8m2_t): Ditto.
9885 (vuint8m2_t): Ditto.
9886 (vint8m4_t): Ditto.
9887 (vuint8m4_t): Ditto.
9888 (vint8m8_t): Ditto.
9889 (vuint8m8_t): Ditto.
9890 (vint16mf4_t): Ditto.
9891 (vuint16mf4_t): Ditto.
9892 (vint16mf2_t): Ditto.
9893 (vuint16mf2_t): Ditto.
9894 (vint16m1_t): Ditto.
9895 (vuint16m1_t): Ditto.
9896 (vint16m2_t): Ditto.
9897 (vuint16m2_t): Ditto.
9898 (vint16m4_t): Ditto.
9899 (vuint16m4_t): Ditto.
9900 (vint16m8_t): Ditto.
9901 (vuint16m8_t): Ditto.
9902 (vint32mf2_t): Ditto.
9903 (vuint32mf2_t): Ditto.
9904 (vint32m1_t): Ditto.
9905 (vuint32m1_t): Ditto.
9906 (vint32m2_t): Ditto.
9907 (vuint32m2_t): Ditto.
9908 (vint32m4_t): Ditto.
9909 (vuint32m4_t): Ditto.
9910 (vint32m8_t): Ditto.
9911 (vuint32m8_t): Ditto.
9912 (vint64m1_t): Ditto.
9913 (vuint64m1_t): Ditto.
9914 (vint64m2_t): Ditto.
9915 (vuint64m2_t): Ditto.
9916 (vint64m4_t): Ditto.
9917 (vuint64m4_t): Ditto.
9918 (vint64m8_t): Ditto.
9919 (vuint64m8_t): Ditto.
9920 (vfloat32mf2_t): Ditto.
9921 (vfloat32m1_t): Ditto.
9922 (vfloat32m2_t): Ditto.
9923 (vfloat32m4_t): Ditto.
9924 (vfloat32m8_t): Ditto.
9925 (vfloat64m1_t): Ditto.
9926 (vfloat64m2_t): Ditto.
9927 (vfloat64m4_t): Ditto.
9928 (vfloat64m8_t): Ditto.
9929 (vv): Ditto.
9930 (vx): Ditto.
9931 (v): Ditto.
9932 (wv): Ditto.
9933 (wx): Ditto.
9934 (x_x_v): Ditto.
9935 (vf2): Ditto.
9936 (vf4): Ditto.
9937 (vf8): Ditto.
9938 (vvm): Ditto.
9939 (vxm): Ditto.
9940 (x_x_w): Ditto.
9941 (v_v): Ditto.
9942 (v_x): Ditto.
9943 (vs): Ditto.
9944 (mm): Ditto.
9945 (m): Ditto.
9946 (vf): Ditto.
9947 (vm): Ditto.
9948 (wf): Ditto.
9949 (vfm): Ditto.
9950 (v_f): Ditto.
9951 (ta): Ditto.
9952 (tu): Ditto.
9953 (ma): Ditto.
9954 (mu): Ditto.
9955 (tama): Ditto.
9956 (tamu): Ditto.
9957 (tuma): Ditto.
9958 (tumu): Ditto.
9959 (tam): Ditto.
9960 (tum): Ditto.
9961 * config/riscv/riscv-vector-builtins.h (GCC_RISCV_VECTOR_BUILTINS_H): New macro.
9962 (RVV_REQUIRE_RV64BIT): Ditto.
9963 (RVV_REQUIRE_ZVE64): Ditto.
9964 (RVV_REQUIRE_ELEN_FP_32): Ditto.
9965 (RVV_REQUIRE_ELEN_FP_64): Ditto.
9966 (enum operand_type_index): New enum.
9967 (DEF_RVV_OP_TYPE): New macro.
9968 (enum predication_type_index): New enum.
9969 (DEF_RVV_PRED_TYPE): New macro.
9970 (enum rvv_base_type): New enum.
9971 (struct rvv_builtin_suffixes): New struct.
9972 (struct rvv_arg_type_info): Ditto.
9973 (struct rvv_type_info): Ditto.
9974 (struct rvv_op_info): Ditto.
9975 (class registered_function): New class.
9976 (class function_base): Ditto.
9977 (class function_shape): Ditto.
9978 (struct function_group_info): New struct.
9979 (class GTY): New class.
9980 (class function_builder): Ditto.
9981 (class function_call_info): Ditto.
9982 (function_call_info::function_returns_void_p): New function.
9983 (class function_expander): New class.
9984 (function_instance::operator!=): New function.
9985 (function_expander::expand): Ditto.
9986 (function_expander::add_input_operand): Ditto.
9987 (function_base::call_properties): Ditto.
9988
9989 2022-10-21 Haochen Jiang <haochen.jiang@intel.com>
9990
9991 * config/i386/sse.md (ssedvecmode): Rename from VI1SI.
9992 (ssedvecmodelower): Rename from vi1si.
9993 (sdot_prod<mode>): New define_expand.
9994 (udot_prod<mode>): Ditto.
9995
9996 2022-10-21 Kong Lingling <lingling.kong@intel.com>
9997 Hongyu Wang <hongyu.wang@intel.com>
9998 Haochen Jiang <haochen.jiang@intel.com>
9999
10000 * common/config/i386/cpuinfo.h (get_available_features): Detect
10001 avxvnniint8.
10002 * common/config/i386/i386-common.cc
10003 (OPTION_MASK_ISA2_AVXVNNIINT8_SET): New.
10004 (OPTION_MASK_ISA2_AVXVNNIINT8_UNSET): Ditto.
10005 (ix86_handle_option): Handle -mavxvnniint8.
10006 * common/config/i386/i386-cpuinfo.h (enum processor_features):
10007 Add FEATURE_AVXVNNIINT8.
10008 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
10009 avxvnniint8.
10010 * config.gcc: Add avxvnniint8intrin.h.
10011 * config/i386/avxvnniint8intrin.h: New file.
10012 * config/i386/cpuid.h (bit_AVXVNNIINT8): New.
10013 * config/i386/i386-builtin.def: Add new builtins.
10014 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
10015 __AVXVNNIINT8__.
10016 * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint8.
10017 (ix86_valid_target_attribute_inner_p): Handle avxvnniint8.
10018 * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT8) New..
10019 * config/i386/i386.opt: Add option -mavxvnniint8.
10020 * config/i386/immintrin.h: Include avxvnniint8intrin.h.
10021 * config/i386/sse.md (UNSPEC_VPMADDUBSWACCD
10022 UNSPEC_VPMADDUBSWACCSSD,UNSPEC_VPMADDWDACCD,
10023 UNSPEC_VPMADDWDACCSSD): Rename according to new style.
10024 (vpdp<vpdotprodtype>_<mode>): New define_insn.
10025 * doc/extend.texi: Document avxvnniint8.
10026 * doc/invoke.texi: Document -mavxvnniint8.
10027 * doc/sourcebuild.texi: Document target avxvnniint8.
10028
10029 2022-10-21 Hongyu Wang <hongyu.wang@intel.com>
10030
10031 * common/config/i386/i386-common.cc
10032 (OPTION_MASK_ISA_AVXIFMA_SET, OPTION_MASK_ISA2_AVXIFMA_UNSET,
10033 OPTION_MASK_ISA2_AVX2_UNSET): New macro.
10034 (ix86_handle_option): Handle -mavxifma.
10035 * common/config/i386/i386-cpuinfo.h (processor_types): Add
10036 FEATURE_AVXIFMA.
10037 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
10038 avxifma.
10039 * common/config/i386/cpuinfo.h (get_available_features):
10040 Detect avxifma.
10041 * config.gcc: Add avxifmaintrin.h
10042 * config/i386/avx512ifmavlintrin.h: (_mm_madd52lo_epu64): Change
10043 to macro.
10044 (_mm_madd52hi_epu64): Likewise.
10045 (_mm256_madd52lo_epu64): Likewise.
10046 (_mm256_madd52hi_epu64): Likewise.
10047 * config/i386/avxifmaintrin.h: New header.
10048 * config/i386/cpuid.h (bit_AVXIFMA): New.
10049 * config/i386/i386-builtin.def: Add new builtins, and correct
10050 pattern names for AVX512IFMA.
10051 * config/i386/i386-builtins.cc (def_builtin): Handle AVX-IFMA
10052 builtins like AVX-VNNI.
10053 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
10054 __AVXIFMA__.
10055 * config/i386/i386-expand.cc (ix86_check_builtin_isa_match):
10056 Relax ISA masks for AVXIFMA.
10057 * config/i386/i386-isa.def: Add AVXIFMA.
10058 * config/i386/i386-options.cc (isa2_opts): Add -mavxifma.
10059 (ix86_valid_target_attribute_inner_p): Handle avxifma.
10060 * config/i386/i386.md (isa): Add attr avxifma and avxifmavl.
10061 * config/i386/i386.opt: Add option -mavxifma.
10062 * config/i386/immintrin.h: Inculde avxifmaintrin.h.
10063 * config/i386/sse.md (avx_vpmadd52<vpmadd52type>_<mode>):
10064 Remove.
10065 (vpamdd52<vpmadd52type><mode><sd_maskz_name>): Remove.
10066 (vpamdd52huq<mode>_maskz): Rename to ...
10067 (vpmadd52huq<mode>_maskz): ... this.
10068 (vpamdd52luq<mode>_maskz): Rename to ...
10069 (vpmadd52luq<mode>_maskz): ... this.
10070 (vpmadd52<vpmadd52type><mode>): New define_insn.
10071 (vpmadd52<vpmadd52type>v8di): Likewise.
10072 (vpmadd52<vpmadd52type><mode>_maskz_1): Likewise.
10073 (vpamdd52<vpmadd52type><mode>_mask): Rename to ...
10074 (vpmadd52<vpmadd52type><mode>_mask): ... this.
10075 * doc/invoke.texi: Document -mavxifma.
10076 * doc/extend.texi: Document avxifma.
10077 * doc/sourcebuild.texi: Document target avxifma.
10078
10079 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
10080
10081 PR c++/106654
10082 * value-query.cc (get_range_global): Handle non integer ranges for
10083 default def SSA names.
10084
10085 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
10086
10087 * range-op-float.cc (foperator_unordered_lt::op1_range): New.
10088 (foperator_unordered_lt::op2_range): New.
10089
10090 2022-10-20 Artem Klimov <jakmobius@gmail.com>
10091 Alexander Monakov <amonakov@gcc.gnu.org>
10092
10093 PR middle-end/99619
10094 * ipa-visibility.cc (function_and_variable_visibility): Promote
10095 TLS access model afer visibility optimizations.
10096 * varasm.cc (have_optimized_refs): New helper.
10097 (optimize_dyn_tls_for_decl_p): New helper. Use it ...
10098 (decl_default_tls_model): ... here in place of 'optimize' check.
10099
10100 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
10101
10102 * range-op-float.cc (foperator_unordered_le::op1_range): Adjust
10103 false side with a NAN operand.
10104 (foperator_unordered_le::op2_range): Same.
10105 (foperator_unordered_gt::op1_range): Same.
10106 (foperator_unordered_gt::op2_range): Same.
10107 (foperator_unordered_ge::op1_range): Same.
10108 (foperator_unordered_ge::op2_range): Same.
10109 (foperator_unordered_equal::op1_range): Same.
10110
10111 2022-10-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
10112
10113 PR tree-optimization/107326
10114 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Change
10115 vectype when widening container.
10116
10117 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
10118
10119 * value-range.h (frange::set_varying): Do not set NAN flags for
10120 !HONOR_NANS.
10121 * value-range.cc (frange::normalize_kind): Adjust for no NAN when
10122 !HONOR_NANS.
10123 (frange::verify_range): Same.
10124 * range-op-float.cc (maybe_isnan): Remove flag_finite_math_only check.
10125
10126 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
10127
10128 * range-op-float.cc (finite_operand_p): Remove.
10129 (finite_operands_p): Rename to...
10130 (maybe_isnan): ...this.
10131 (frelop_early_resolve): Use maybe_isnan instead of finite_operands_p.
10132 (foperator_equal::fold_range): Same.
10133 (foperator_equal::op1_range): Same.
10134 (foperator_not_equal::fold_range): Same.
10135 (foperator_lt::fold_range): Same.
10136 (foperator_le::fold_range): Same.
10137 (foperator_gt::fold_range): Same.
10138 (foperator_ge::fold_range): Same.
10139
10140 2022-10-20 Jakub Jelinek <jakub@redhat.com>
10141
10142 * passes.cc (pass_manager::register_pass): Fix a comment
10143 typo - copmilation -> compilation.
10144
10145 2022-10-20 Richard Biener <rguenther@suse.de>
10146
10147 * tree-vect-loop.cc (vect_phi_first_order_recurrence_p):
10148 Disallow latch PHI defs.
10149 (vectorizable_recurr): Revert previous change.
10150
10151 2022-10-20 Julian Brown <julian@codesourcery.com>
10152
10153 PR target/105421
10154 * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
10155 argument forces FLAT addressing mode, not just
10156 pointer-to-non-aggregate.
10157
10158 2022-10-20 Thomas Schwinge <thomas@codesourcery.com>
10159
10160 * configure.ac (AC_CONFIG_MACRO_DIRS): Instantiate.
10161 * configure: Regenerate.
10162
10163 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
10164
10165 * config/aarch64/aarch64-sve-builtins.h
10166 (gimple_folder::fold_to_cstu): New member function.
10167 * config/aarch64/aarch64-sve-builtins.cc
10168 (gimple_folder::fold_to_cstu): Define.
10169 * config/aarch64/aarch64-sve-builtins-base.cc
10170 (svcnt_bhwd_impl::fold): Use it.
10171
10172 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
10173
10174 * config/aarch64/aarch64-sve-builtins-functions.h (quiet)
10175 (rtx_code_function, rtx_code_function_rotated, unspec_based_function)
10176 (unspec_based_function_rotated, unspec_based_function_exact_insn)
10177 (unspec_based_fused_function, unspec_based_fused_lane_function):
10178 Replace constructors with using directives.
10179 * config/aarch64/aarch64-sve-builtins-base.cc (svcnt_bhwd_pat_impl)
10180 (svcreate_impl, svdotprod_lane_impl, svget_impl, svld1_extend_impl)
10181 (svld1_gather_extend_impl, svld234_impl, svldff1_gather_extend)
10182 (svset_impl, svst1_scatter_truncate_impl, svst1_truncate_impl)
10183 (svst234_impl, svundef_impl): Likewise.
10184 * config/aarch64/aarch64-sve-builtins-sve2.cc
10185 (svldnt1_gather_extend_impl, svmovl_lb_impl): Likewise.
10186 (svstnt1_scatter_truncate_impl): Likewise.
10187
10188 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
10189
10190 * config/aarch64/aarch64-sve-builtins-base.cc: Replace CONSTEXPR
10191 with constexpr throughout.
10192 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
10193 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
10194 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
10195 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
10196
10197 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
10198
10199 * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
10200 merging alternative.
10201 (*aarch64_brk<brk_op>_ptest): Likewise.
10202
10203 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
10204
10205 * config/aarch64/iterators.md (SVE_BRKP): New iterator.
10206 * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
10207 (*aarch64_brkn_ptest): Likewise.
10208 (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
10209 (*aarch64_brk<brk_op>_ptest): Likewise.
10210
10211 2022-10-20 Richard Biener <rguenther@suse.de>
10212
10213 PR c/107305
10214 PR c/107306
10215 * tree-cfg.h (verify_gimple_in_seq): Add parameter to
10216 indicate whether to emit an ICE. Add return value.
10217 (verify_gimple_in_cfg): Likewise.
10218 * tree-cfg.cc (verify_gimple_in_seq): Likewise.
10219 (verify_gimple_in_cfg): Likewise.
10220
10221 2022-10-20 Richard Biener <rguenther@suse.de>
10222
10223 PR tree-optimization/107240
10224 * tree-vect-patterns.cc (vect_recog_bit_insert_pattern): Attempt to
10225 simplify shifted value first.
10226
10227 2022-10-20 Andrew MacLeod <amacleod@redhat.com>
10228
10229 * gimple-range-gori.h (compute_operand_range): Make public.
10230 * gimple-range-infer.cc (gimple_infer_range::check_assume_func): New.
10231 (gimple_infer_range::gimple_infer_range): Check for assume calls.
10232 * gimple-range-infer.h (check_assume_func): Add prototype.
10233 * gimple-range.cc (assume_query::assume_range_p): New.
10234 (assume_query::range_of_expr): New.
10235 (assume_query::assume_query): New.
10236 (assume_query::calculate_op): New.
10237 (assume_query::calculate_phi): New.
10238 (assume_query::check_taken_edge): New.
10239 (assume_query::calculate_stmt): New.
10240 (assume_query::dump): New.
10241 * gimple-range.h (class assume_query): New.
10242 * tree-vrp.cc (pass_assumptions::execute): Add processing.
10243
10244 2022-10-19 Aldy Hernandez <aldyh@redhat.com>
10245
10246 * range-op-float.cc (build_le): Document result.
10247 (build_lt): Same.
10248 (build_ge): Same.
10249 (foperator_ge::op2_range): Check result of build_*.
10250 (foperator_unordered_le::op1_range): Same.
10251 (foperator_unordered_le::op2_range): Same.
10252 (foperator_unordered_gt::op1_range): Same.
10253 (foperator_unordered_gt::op2_range): Same.
10254 (foperator_unordered_ge::op1_range): Same.
10255 (foperator_unordered_ge::op2_range): Same.
10256
10257 2022-10-19 Marek Polacek <polacek@redhat.com>
10258
10259 PR c++/85043
10260 * doc/invoke.texi: Update documentation of -Wuseless-cast.
10261
10262 2022-10-19 Andrew MacLeod <amacleod@redhat.com>
10263
10264 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
10265 Value_Range not int_range_max.
10266
10267 2022-10-19 Aldy Hernandez <aldyh@redhat.com>
10268
10269 PR tree-optimization/107312
10270 * range.h (range_true_and_false): Special case 1-bit signed types.
10271 * value-range.cc (range_tests_misc): New test.
10272
10273 2022-10-19 LIU Hao <lh_mouse@126.com>
10274
10275 * config/i386/mingw-mcfgthread.h: New file
10276 * config/i386/mingw32.h: Add builtin macro and default libraries
10277 for mcfgthread when thread model is `mcf`
10278 * config.gcc: Include 'i386/mingw-mcfgthread.h' when thread model
10279 is `mcf`
10280 * configure.ac: Recognize `mcf` as a valid thread model
10281 * config.in: Regenerate
10282 * configure: Regenerate
10283
10284 2022-10-19 Lewis Hyatt <lhyatt@gmail.com>
10285
10286 * gengtype.cc (output_escaped_param): Add missing const.
10287 (get_string_option): Add missing check for option type.
10288 (walk_type): Support new "string_length" GTY option.
10289 (write_types_process_field): Likewise.
10290 * ggc-common.cc (gt_pch_note_object): Add optional length argument.
10291 * ggc.h (gt_pch_note_object): Adjust prototype for new argument.
10292 (gt_pch_n_S2): Declare...
10293 * stringpool.cc (gt_pch_n_S2): ...new function.
10294 * doc/gty.texi: Document new GTY((string_length)) option.
10295
10296 2022-10-19 Martin Liska <mliska@suse.cz>
10297
10298 * doc/extend.texi: Remove useless @tie{} directives.
10299
10300 2022-10-19 Martin Jambor <mjambor@suse.cz>
10301
10302 PR tree-optimization/107206
10303 * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
10304 (analyze_access_subtree): Do not create replacements for accesses with
10305 this flag when not toally scalarizing.
10306 (propagate_subaccesses_from_lhs): Set the new flag.
10307
10308 2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
10309
10310 PR target/106355
10311 * config/s390/s390.cc (s390_call_saved_register_used): For a
10312 parameter with BLKmode fix determining number of consecutive
10313 registers.
10314
10315 2022-10-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
10316
10317 * config/xtensa/xtensa-protos.h
10318 (xtensa_split1_finished_p, xtensa_split_DI_reg_imm): New prototypes.
10319 * config/xtensa/xtensa.cc
10320 (xtensa_split1_finished_p, xtensa_split_DI_reg_imm, xtensa_lra_p):
10321 New functions.
10322 (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p.
10323 (xt_true_regnum): Rework.
10324 * config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS):
10325 Switch from CALL_USED_REGISTERS, and revise the comment.
10326 * config/xtensa/constraints.md (Y):
10327 Use !xtensa_split1_finished_p() instead of can_create_pseudo_p().
10328 * config/xtensa/predicates.md (move_operand): Ditto.
10329 * config/xtensa/xtensa.md: Add two new split patterns:
10330 - splits DImode immediate load into two SImode ones
10331 - puts out-of-constraint SImode constants into the constant pool
10332 * config/xtensa/xtensa.opt (-mlra): New target-specific option
10333 for testing purpose.
10334
10335 2022-10-19 Robin Dapp <rdapp@linux.ibm.com>
10336
10337 * config/s390/s390.md: Move reload_completed and check operands for REG_P.
10338
10339 2022-10-19 Jakub Jelinek <jakub@redhat.com>
10340
10341 PR middle-end/107262
10342 * expr.cc (convert_mode_scalar): For BFmode -> SFmode conversions
10343 of constants, use simplify_unary_operation if fromi has VOIDmode
10344 instead of recursive convert_mode_scalar.
10345
10346 2022-10-19 Jakub Jelinek <jakub@redhat.com>
10347
10348 PR tree-optimization/106990
10349 * match.pd ((~X - ~Y) -> Y - X, -x & 1 -> x & 1): Guard with
10350 !TYPE_OVERFLOW_SANITIZED (type).
10351
10352 2022-10-19 Jakub Jelinek <jakub@redhat.com>
10353
10354 * config/i386/i386-builtins.cc (ix86_bf16_ptr_type_node): Remove.
10355 (ix86_bf16_type_node): New variable.
10356 (ix86_register_bf16_builtin_type): If bfloat16_type_node is NULL
10357 from generic code, set only ix86_bf16_type_node to a new REAL_TYPE
10358 rather than bfloat16_type_node, otherwise set ix86_bf16_type_node
10359 to bfloat16_type_node. Register __bf16 on ix86_bf16_type_node
10360 rather than bfloat16_type_node. Don't initialize unused
10361 ix86_bf16_ptr_type_node.
10362 * config/i386/i386-builtin-types.def (BFLOAT16): Use
10363 ix86_bf16_type_node rather than bfloat16_type_node.
10364
10365 2022-10-19 Richard Biener <rguenther@suse.de>
10366
10367 PR tree-optimization/106781
10368 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Copy
10369 LHS removal from fixup_noreturn_call.
10370
10371 2022-10-19 liuhongt <hongtao.liu@intel.com>
10372
10373 PR target/107271
10374 * config/i386/i386-expand.cc (ix86_vec_perm_index_canon): New.
10375 (expand_vec_perm_shufps_shufps): Call
10376 ix86_vec_perm_index_canon
10377
10378 2022-10-18 Martin Jambor <mjambor@suse.cz>
10379
10380 * ipa-prop.h (ipa_agg_value): Remove type.
10381 (ipa_agg_value_set): Likewise.
10382 (ipa_copy_agg_values): Remove function.
10383 (ipa_release_agg_values): Likewise.
10384 (ipa_auto_call_arg_values) Add a forward declaration.
10385 (ipa_call_arg_values): Likewise.
10386 (class ipa_argagg_value_list): New constructors, added member function
10387 value_for_index_p.
10388 (class ipa_auto_call_arg_values): Removed the destructor and member
10389 function safe_aggval_at. Use ipa_argagg_values for m_known_aggs.
10390 (class ipa_call_arg_values): Removed member function safe_aggval_at.
10391 Use ipa_argagg_values for m_known_aggs.
10392 (ipa_get_indirect_edge_target): Removed declaration.
10393 (ipa_find_agg_cst_for_param): Likewise.
10394 (ipa_find_agg_cst_from_init): New declaration.
10395 (ipa_agg_value_from_jfunc): Likewise.
10396 (ipa_agg_value_set_from_jfunc): Removed declaration.
10397 (ipa_push_agg_values_from_jfunc): New declaration.
10398 * ipa-cp.cc (ipa_agg_value_from_node): Renamed to
10399 ipa_agg_value_from_jfunc, made public.
10400 (ipa_agg_value_set_from_jfunc): Removed.
10401 (ipa_push_agg_values_from_jfunc): New function.
10402 (ipa_get_indirect_edge_target_1): Removed known_aggs parameter, use
10403 avs for this purpose too.
10404 (ipa_get_indirect_edge_target): Removed the overload working on
10405 ipa_auto_call_arg_values, use ipa_argagg_value_list in the remaining
10406 one.
10407 (devirtualization_time_bonus): Use ipa_argagg_value_list and
10408 ipa_get_indirect_edge_target_1 instead of
10409 ipa_get_indirect_edge_target.
10410 (context_independent_aggregate_values): Removed function.
10411 (gather_context_independent_values): Work on ipa_argagg_value_list.
10412 (estimate_local_effects): Likewise, define some iterator variables
10413 only in the construct where necessary.
10414 (ipcp_discover_new_direct_edges): Adjust the call to
10415 ipa_get_indirect_edge_target_1.
10416 (push_agg_values_for_index_from_edge): Adjust the call
10417 ipa_agg_value_from_node which has been renamed to
10418 ipa_agg_value_from_jfunc.
10419 * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Work on
10420 ipa_argagg_value_list.
10421 (evaluate_properties_for_edge): Replace manual filling in aggregate
10422 values with call to ipa_push_agg_values_from_jfunc.
10423 (estimate_calls_size_and_time): Work on ipa_argagg_value_list.
10424 (ipa_cached_call_context::duplicate_from): Likewise.
10425 (ipa_cached_call_context::release): Likewise.
10426 (ipa_call_context::equal_to): Likewise.
10427 * ipa-prop.cc (ipa_find_agg_cst_from_init): Make public.
10428 (ipa_find_agg_cst_for_param): Removed function.
10429 (ipa_find_agg_cst_from_jfunc_items): New function.
10430 (try_make_edge_direct_simple_call): Replace calls to
10431 ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
10432 ipa_find_agg_cst_from_init and ipa_find_agg_cst_from_jfunc_items.
10433 (try_make_edge_direct_virtual_call): Replace calls to
10434 ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
10435 simple query of constant jump function and a call to
10436 ipa_find_agg_cst_from_jfunc_items.
10437 (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): Removed.
10438
10439 2022-10-18 Martin Jambor <mjambor@suse.cz>
10440
10441 * ipa-prop.h (IPA_PROP_ARG_INDEX_LIMIT_BITS): New.
10442 (ipcp_transformation): Added forward declaration.
10443 (ipa_argagg_value): New type.
10444 (ipa_argagg_value_list): New type.
10445 (ipa_agg_replacement_value): Removed type.
10446 (ipcp_transformation): Switch from using ipa_agg_replacement_value
10447 to ipa_argagg_value_list.
10448 (ipa_get_agg_replacements_for_node): Removed.
10449 (ipa_dump_agg_replacement_values): Removed declaration.
10450 * ipa-cp.cc: Define INCLUDE_ALGORITHM.
10451 (values_equal_for_ipcp_p): Moved up in the file.
10452 (ipa_argagg_value_list::dump): New function.
10453 (ipa_argagg_value_list::debug): Likewise.
10454 (ipa_argagg_value_list::get_elt): Likewise.
10455 (ipa_argagg_value_list::get_elt_for_index): Likewise.
10456 (ipa_argagg_value_list::get_value): New overloaded functions.
10457 (ipa_argagg_value_list::superset_of_p): New function.
10458 (new ipa_argagg_value_list::push_adjusted_values): Likewise.
10459 (push_agg_values_from_plats): Likewise.
10460 (intersect_argaggs_with): Likewise.
10461 (get_clone_agg_value): Removed.
10462 (ipa_agg_value_from_node): Make last parameter const, use
10463 ipa_argagg_value_list to search values coming from clones.
10464 (ipa_get_indirect_edge_target_1): Use ipa_argagg_value_list to search
10465 values coming from clones.
10466 (ipcp_discover_new_direct_edges): Pass around a vector of
10467 ipa_argagg_values rather than a link list of replacement values.
10468 (cgraph_edge_brings_value_p): Use ipa_argagg_value_list to search
10469 values coming from clones.
10470 (create_specialized_node): Work with a vector of ipa_argagg_values
10471 rather than a link list of replacement values.
10472 (self_recursive_agg_pass_through_p): Make the pointer parameters
10473 const.
10474 (copy_plats_to_inter): Removed.
10475 (intersect_with_plats): Likewise.
10476 (agg_replacements_to_vector): Likewise.
10477 (intersect_with_agg_replacements): Likewise.
10478 (intersect_aggregates_with_edge): Likewise.
10479 (push_agg_values_for_index_from_edge): Likewise.
10480 (push_agg_values_from_edge): Likewise.
10481 (find_aggregate_values_for_callers_subset): Rewrite.
10482 (cgraph_edge_brings_all_agg_vals_for_node): Likewise.
10483 (ipcp_val_agg_replacement_ok_p): Use ipa_argagg_value_list to search
10484 aggregate values.
10485 (decide_about_value): Work with a vector of ipa_argagg_values rather
10486 than a link list of replacement values.
10487 (decide_whether_version_node): Likewise.
10488 (ipa_analyze_node): Check number of parameters, assert that there
10489 are no descriptors when bailing out.
10490 * ipa-prop.cc (ipa_set_node_agg_value_chain): Switch to a vector of
10491 ipa_argagg_value.
10492 (ipa_node_params_t::duplicate): Removed superfluous handling of
10493 ipa_agg_replacement_values. Name of src parameter removed because
10494 it is no longer used.
10495 (ipcp_transformation_t::duplicate): Replaced duplication of
10496 ipa_agg_replacement_values with copying vector m_agg_values.
10497 (ipa_dump_agg_replacement_values): Removed.
10498 (write_ipcp_transformation_info): Stream the new data-structure
10499 instead of the old.
10500 (read_ipcp_transformation_info): Likewise.
10501 (adjust_agg_replacement_values): Work with ipa_argagg_values instead
10502 of linked lists of ipa_agg_replacement_values, copy the items and
10503 truncate the vector as necessary to keep it sorted instead of marking
10504 items as invalid. Return one bool if CFG should be updated.
10505 (ipcp_modif_dom_walker): Store ipcp_transformation instead of
10506 linked list of ipa_agg_replacement_values.
10507 (ipcp_modif_dom_walker::before_dom_children): Use
10508 ipa_argagg_value_list instead of walking a list of
10509 ipa_agg_replacement_values.
10510 (ipcp_transform_function): Switch to the new data structure, adjust
10511 dumping.
10512
10513 2022-10-18 Richard Biener <rguenther@suse.de>
10514
10515 PR tree-optimization/107302
10516 * tree-vect-loop.cc (vectorizable_recurrence): Fix vec_perm
10517 placement for a PHI latch def.
10518
10519 2022-10-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
10520
10521 PR tree-optimization/107275
10522 * tree-if-conv.cc (if_convertible_loop_p_1): Move
10523 find_data_references_in_loop call from here...
10524 (if_convertible_loop_p): And move data-reference vector initialization
10525 from here...
10526 (tree_if_conversion):... to here.
10527
10528 2022-10-18 Jakub Jelinek <jakub@redhat.com>
10529
10530 PR c++/106654
10531 * gimple.def (GIMPLE_ASSUME): New statement kind.
10532 * gimple.h (struct gimple_statement_assume): New type.
10533 (is_a_helper <gimple_statement_assume *>::test,
10534 is_a_helper <const gimple_statement_assume *>::test): New.
10535 (gimple_build_assume): Declare.
10536 (gimple_has_substatements): Return true for GIMPLE_ASSUME.
10537 (gimple_assume_guard, gimple_assume_set_guard,
10538 gimple_assume_guard_ptr, gimple_assume_body_ptr, gimple_assume_body):
10539 New inline functions.
10540 * gsstruct.def (GSS_ASSUME): New.
10541 * gimple.cc (gimple_build_assume): New function.
10542 (gimple_copy): Handle GIMPLE_ASSUME.
10543 * gimple-pretty-print.cc (dump_gimple_assume): New function.
10544 (pp_gimple_stmt_1): Handle GIMPLE_ASSUME.
10545 * gimple-walk.cc (walk_gimple_op): Handle GIMPLE_ASSUME.
10546 * omp-low.cc (WALK_SUBSTMTS): Likewise.
10547 (lower_omp_1): Likewise.
10548 * omp-oacc-kernels-decompose.cc (adjust_region_code_walk_stmt_fn):
10549 Likewise.
10550 * tree-cfg.cc (verify_gimple_stmt, verify_gimple_in_seq_2): Likewise.
10551 * function.h (struct function): Add assume_function bitfield.
10552 * gimplify.cc (gimplify_call_expr): If the assumption isn't
10553 simple enough, expand it into GIMPLE_ASSUME wrapped block or
10554 for -O0 drop it.
10555 * gimple-low.cc: Include attribs.h.
10556 (create_assumption_fn): New function.
10557 (struct lower_assumption_data): New type.
10558 (find_assumption_locals_r, assumption_copy_decl,
10559 adjust_assumption_stmt_r, adjust_assumption_stmt_op,
10560 lower_assumption): New functions.
10561 (lower_stmt): Handle GIMPLE_ASSUME.
10562 * tree-ssa-ccp.cc (pass_fold_builtins::execute): Remove
10563 IFN_ASSUME calls.
10564 * lto-streamer-out.cc (output_struct_function_base): Pack
10565 assume_function bit.
10566 * lto-streamer-in.cc (input_struct_function_base): And unpack it.
10567 * cgraphunit.cc (cgraph_node::expand): Don't verify assume_function
10568 has TREE_ASM_WRITTEN set and don't release its body.
10569 (symbol_table::compile): Allow assume functions not to have released
10570 body.
10571 * internal-fn.cc (expand_ASSUME): Remove gcc_unreachable.
10572 * passes.cc (execute_one_pass): For TODO_discard_function don't
10573 release body of assume functions.
10574 * cgraph.cc (cgraph_node::verify_node): Don't verify cgraph nodes
10575 of PROP_assumptions_done functions.
10576 * tree-pass.h (PROP_assumptions_done): Define.
10577 (TODO_discard_function): Adjust comment.
10578 (make_pass_assumptions): Declare.
10579 * passes.def (pass_assumptions): Add.
10580 * timevar.def (TV_TREE_ASSUMPTIONS): New.
10581 * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_ASSUME.
10582 * tree-vrp.cc (pass_data_assumptions): New variable.
10583 (pass_assumptions): New class.
10584 (make_pass_assumptions): New function.
10585
10586 2022-10-18 Richard Biener <rguenther@suse.de>
10587
10588 PR tree-optimization/107301
10589 * gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg):
10590 Check whether we can duplicate the block.
10591 (find_implicit_erroneous_behavior): Likewise.
10592
10593 2022-10-18 Andrew MacLeod <amacleod@redhat.com>
10594
10595 PR tree-optimization/107273
10596 * value-relation.cc (equiv_oracle::add_partial_equiv): Merge
10597 instead of copying precison of each member.
10598
10599 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
10600
10601 PR target/101697
10602 * config/h8300/combiner.md: Replace '<' preincment constraint with
10603 ZA/Z1..ZH/Z7 combinations.
10604 * config/h8300/movepush.md: Similarly
10605
10606 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
10607
10608 * config/h8300/constraints.md (Za..Zh): New constraints for
10609 autoinc addresses using a specific register.
10610 * config/h8300/h8300.cc (pre_incdec_with_reg): New function.
10611 * config/h8300/h8300-protos.h (pre_incdec_with_reg): Add prototype.
10612
10613 2022-10-17 Jeff Law <jlaw@ventanamicro.com>
10614
10615 * config/i386/cet.c: Remove accidental commit.
10616 * config/i386/driver-mingw32.c: Likewise.
10617 * config/i386/i386-builtins.c: Likewise.
10618 * config/i386/i386-d.c: Likewise.
10619 * config/i386/i386-expand.c: Likewise.
10620 * config/i386/i386-features.c: Likewise.
10621 * config/i386/i386-options.c: Likewise.
10622 * config/i386/t-cet: Likewise.
10623 * config/i386/x86-tune-sched-atom.c: Likewise.
10624 * config/i386/x86-tune-sched-bd.c: Likewise.
10625 * config/i386/x86-tune-sched-core.c: Likewise.
10626 * config/i386/x86-tune-sched.c: Likewise.
10627
10628 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
10629
10630 * common/config/h8300/h8300-common.cc (h8300_option_optimization_table):
10631 Enable redundant extension elimination at -O2 and above.
10632 * config/i386/cet.c: New file.
10633 * config/i386/driver-mingw32.c: New file.
10634 * config/i386/i386-builtins.c: New file.
10635 * config/i386/i386-d.c: New file.
10636 * config/i386/i386-expand.c: New file.
10637 * config/i386/i386-features.c: New file.
10638 * config/i386/i386-options.c: New file.
10639 * config/i386/t-cet: New file.
10640 * config/i386/x86-tune-sched-atom.c: New file.
10641 * config/i386/x86-tune-sched-bd.c: New file.
10642 * config/i386/x86-tune-sched-core.c: New file.
10643 * config/i386/x86-tune-sched.c: New file.
10644
10645 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
10646
10647 * config/h8300/extensions.md (CCZN setting zero extended load): Add
10648 missing splitter.
10649
10650 2022-10-17 Aldy Hernandez <aldyh@redhat.com>
10651
10652 PR tree-optimization/107293
10653 * tree-ssa-dom.cc
10654 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
10655 Check that condition post-dominates the definition point.
10656
10657 2022-10-17 Aldy Hernandez <aldyh@redhat.com>
10658
10659 PR tree-optimization/107286
10660 * value-range.cc (range_tests_floats): Do not test for -Inf when
10661 flag_finite_math_only.
10662
10663 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
10664
10665 * gimple-range-fold.cc (fold_using_range::range_of_range_op):
10666 Provide relation_trio class.
10667 * gimple-range-gori.cc (gori_compute::refine_using_relation):
10668 Provide relation_trio class.
10669 (gori_compute::refine_using_relation): Ditto.
10670 (gori_compute::compute_operand1_range): Provide lhs_op2 and
10671 op1_op2 relations via relation_trio class.
10672 (gori_compute::compute_operand2_range): Ditto.
10673 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
10674 relation_trio instead of relation_kind.
10675 (gimple_range_op_handler::calc_op2): Ditto.
10676 (*::fold_range): Ditto.
10677 * gimple-range-op.h (gimple_range_op::calc_op1): Adjust prototypes.
10678 (gimple_range_op::calc_op2): Adjust prototypes.
10679 * range-op-float.cc (*::fold_range): Use relation_trio instead of
10680 relation_kind.
10681 (*::op1_range): Ditto.
10682 (*::op2_range): Ditto.
10683 * range-op.cc (*::fold_range): Use relation_trio instead of
10684 relation_kind.
10685 (*::op1_range): Ditto.
10686 (*::op2_range): Ditto.
10687 * range-op.h (class range_operator): Adjust prototypes.
10688 (class range_operator_float): Ditto.
10689 (class range_op_handler): Adjust prototypes.
10690 (relop_early_resolve): Pickup op1_op2 relation from relation_trio.
10691 * value-relation.cc (VREL_LAST): Adjust use to be one past the end of
10692 the enum.
10693 (relation_oracle::validate_relation): Use relation_trio in call
10694 to fold_range.
10695 * value-relation.h (enum relation_kind_t): Add VREL_LAST as
10696 final element.
10697 (class relation_trio): New.
10698 (TRIO_VARYING, TRIO_SHIFT, TRIO_MASK): New.
10699
10700 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
10701
10702 * range-op-float.cc (foperator_not_equal::op1_range): Check for
10703 VREL_EQ after singleton.
10704 (foperator_unordered::op1_range): Set VARYING before calling
10705 clear_nan().
10706 (foperator_ordered::op1_range): Set rather than clear NAN if both
10707 operands are the same.
10708
10709 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
10710
10711 * value-relation.cc (value_relation::dump): Change message.
10712 * value-relation.h (value_relation::set_relation): If op1 is the
10713 same as op2 do not create a relation.
10714
10715 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
10716
10717 * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of
10718 'case QImode:', etc.
10719
10720 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
10721
10722 * gimple-expr.cc (mark_addressable_2): Tag as 'static'.
10723
10724 2022-10-17 Richard Biener <rguenther@suse.de>
10725 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10726
10727 PR tree-optimization/99409
10728 PR tree-optimization/99394
10729 * tree-vectorizer.h (vect_def_type::vect_first_order_recurrence): Add.
10730 (stmt_vec_info_type::recurr_info_type): Likewise.
10731 (vectorizable_recurr): New function.
10732 * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): New
10733 function.
10734 (vect_analyze_scalar_cycles_1): Look for first order
10735 recurrences.
10736 (vect_analyze_loop_operations): Handle them.
10737 (vect_transform_loop): Likewise.
10738 (vectorizable_recurr): New function.
10739 (maybe_set_vectorized_backedge_value): Handle the backedge value
10740 setting in the first order recurrence PHI and the permutes.
10741 * tree-vect-stmts.cc (vect_analyze_stmt): Handle first order
10742 recurrences.
10743 (vect_transform_stmt): Likewise.
10744 (vect_is_simple_use): Likewise.
10745 (vect_is_simple_use): Likewise.
10746 * tree-vect-slp.cc (vect_get_and_check_slp_defs): Likewise.
10747 (vect_build_slp_tree_2): Likewise.
10748 (vect_schedule_scc): Handle the backedge value setting in the
10749 first order recurrence PHI and the permutes.
10750
10751 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10752
10753 * config/riscv/t-riscv: Change Tab into 2 space.
10754
10755 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10756
10757 * config/riscv/riscv-vector-builtins.cc (mangle_builtin_type): Move down the function.
10758
10759 2022-10-17 Arsen Arsenovic <arsen@aarsen.me>
10760
10761 * config.gcc: --target=*-elf --without-{newlib,headers} should
10762 provide stdint.h.
10763
10764 2022-10-17 Hu, Lin1 <lin1.hu@intel.com>
10765
10766 * common/config/i386/cpuinfo.h:
10767 (get_intel_cpu): Handle Meteorlake.
10768 * common/config/i386/i386-common.cc:
10769 (processor_alias_table): Add Meteorlake.
10770
10771 2022-10-17 Haochen Jiang <haochen.jiang@intel.com>
10772
10773 * common/config/i386/cpuinfo.h:
10774 (get_intel_cpu): Handle Raptorlake.
10775 * common/config/i386/i386-common.cc:
10776 (processor_alias_table): Add Raptorlake.
10777
10778 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
10779
10780 * config/h8300/constraints.md (Z0..Z7): New register
10781 constraints.
10782 * config/h8300/h8300.h (reg_class): Add new classes.
10783 (REG_CLASS_NAMES): Similarly.
10784 (REG_CLASS_CONTENTS): Similarly.
10785
10786 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
10787
10788 * config/h8300/constraints.md (Zz constraint): Renamed
10789 from "z".
10790 * config/h8300/movepush.md (movqi_h8sx, movhi_h8sx): Adjust
10791 constraint to use Zz instead of Z.
10792
10793 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
10794
10795 * config/h8300/h8300.cc (h8300_register_move_cost): Fix typo.
10796
10797 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
10798
10799 * value-range.cc (frange::set): Implement distinction between
10800 HONOR_SIGNED_ZEROS and MODE_HAS_SIGNED_ZEROS.
10801
10802 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
10803
10804 * gimple-range-op.cc (class cfn_copysign): New.
10805 (gimple_range_op_handler::maybe_builtin_call): Add
10806 CFN_BUILT_IN_COPYSIGN*.
10807
10808 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
10809
10810 * real.h (real_isdenormal): Check rvc_normal.
10811 * value-range.cc (range_tests_floats): New test.
10812
10813 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
10814
10815 * gimple-range-op.cc
10816 (gimple_range_op_handler::maybe_builtin_call): Replace
10817 CFN_BUILTIN_SIGNBIT* cases with CASE_FLT_FN.
10818
10819 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
10820
10821 * value-range.cc (frange::set): Normalize ranges for both bounds.
10822
10823 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
10824
10825 * value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS.
10826
10827 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
10828
10829 * gimple-range-op.cc
10830 (gimple_range_op_handler::maybe_builtin_call): Add
10831 CFN_BUILT_IN_SIGNBIT[FL]* entries.
10832
10833 2022-10-14 Richard Biener <rguenther@suse.de>
10834
10835 PR tree-optimization/107254
10836 * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
10837 For permutes also analyze live lanes.
10838 (vect_schedule_slp_node): For permutes also code generate
10839 live lane extracts.
10840
10841 2022-10-14 Eric Botcazou <ebotcazou@adacore.com>
10842
10843 PR target/107248
10844 * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
10845 blockage for leaf functions.
10846 (sparc_flat_expand_prologue): Emit frame instead of full blockage.
10847 (sparc_expand_epilogue): Emit a frame blockage for leaf functions.
10848 (sparc_flat_expand_epilogue): Emit frame instead of full blockage.
10849
10850 2022-10-14 Jakub Jelinek <jakub@redhat.com>
10851
10852 * tree-core.h (enum tree_index): Add TI_BFLOAT16_TYPE.
10853 * tree.h (bfloat16_type_node): Define.
10854 * tree.cc (excess_precision_type): Promote bfloat16_type_mode
10855 like float16_type_mode.
10856 (build_common_tree_nodes): Initialize bfloat16_type_node if
10857 BFmode is supported.
10858 * expmed.h (maybe_expand_shift): Declare.
10859 * expmed.cc (maybe_expand_shift): No longer static.
10860 * expr.cc (convert_mode_scalar): Don't ICE on BF -> HF or HF -> BF
10861 conversions. If there is no optab, handle BF -> {DF,XF,TF,HF}
10862 conversions as separate BF -> SF -> {DF,XF,TF,HF} conversions, add
10863 -ffast-math generic implementation for BF -> SF and SF -> BF
10864 conversions.
10865 * builtin-types.def (BT_BFLOAT16, BT_FN_BFLOAT16_CONST_STRING): New.
10866 * builtins.def (BUILT_IN_NANSF16B): New builtin.
10867 * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NANSF16B.
10868 * config/i386/i386.cc (classify_argument): Handle E_BCmode.
10869 (ix86_libgcc_floating_mode_supported_p): Also return true for BFmode
10870 for -msse2.
10871 (ix86_mangle_type): Mangle BFmode as DF16b.
10872 (ix86_invalid_conversion, ix86_invalid_unary_op,
10873 ix86_invalid_binary_op): Remove.
10874 (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP,
10875 TARGET_INVALID_BINARY_OP): Don't redefine.
10876 * config/i386/i386-builtins.cc (ix86_bf16_type_node): Remove.
10877 (ix86_register_bf16_builtin_type): Use bfloat16_type_node rather than
10878 ix86_bf16_type_node, only create it if still NULL.
10879 * config/i386/i386-builtin-types.def (BFLOAT16): Likewise.
10880 * config/i386/i386.md (cbranchbf4, cstorebf4): New expanders.
10881
10882 2022-10-14 Jakub Jelinek <jakub@redhat.com>
10883
10884 PR middle-end/323
10885 PR c++/107097
10886 * doc/invoke.texi (-fexcess-precision=standard): Mention that the
10887 option now also works in C++.
10888
10889 2022-10-13 Eric Botcazou <ebotcazou@adacore.com>
10890
10891 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Return
10892 early for calls made from thunks.
10893
10894 2022-10-13 Eric Botcazou <ebotcazou@adacore.com>
10895
10896 * expr.cc (emit_group_stote): Fix handling of modes of different
10897 sizes for big-endian targets in latest change and add commentary.
10898
10899 2022-10-13 Martin Liska <mliska@suse.cz>
10900
10901 * output.h (assemble_vtv_preinit_initializer): Remove.
10902 * varasm.cc (assemble_vtv_preinit_initializer): Remove.
10903
10904 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
10905
10906 PR tree-optimization/102540
10907 PR tree-optimization/102872
10908 * gimple-range-cache.cc (ranger_cache::fill_block_cache):
10909 Handle partial equivs.
10910 (ranger_cache::range_from_dom): Cleanup dump output.
10911
10912 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
10913
10914 * range-op.cc (operator_cast::lhs_op1_relation): New.
10915 (operator_bitwise_and::lhs_op1_relation): New.
10916
10917 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
10918
10919 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Use
10920 iterator.
10921 * value-relation.cc
10922 (equiv_relation_iterator::equiv_relation_iterator): New.
10923 (equiv_relation_iterator::next): New.
10924 (equiv_relation_iterator::get_name): New.
10925 * value-relation.h (class relation_oracle): Privatize some methods.
10926 (class equiv_relation_iterator): New.
10927 (FOR_EACH_EQUIVALENCE): New.
10928 (FOR_EACH_PARTIAL_EQUIV): New.
10929 (FOR_EACH_PARTIAL_AND_FULL_EQUIV): New.
10930
10931 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
10932
10933 * value-relation.cc (equiv_chain::dump): Don't print empty
10934 equivalences.
10935 (equiv_oracle::equiv_oracle): Allocate a partial equiv table.
10936 (equiv_oracle::~equiv_oracle): Release the partial equiv table.
10937 (equiv_oracle::add_partial_equiv): New.
10938 (equiv_oracle::partial_equiv_set): New.
10939 (equiv_oracle::partial_equiv): New.
10940 (equiv_oracle::query_relation): Check for partial equivs too.
10941 (equiv_oracle::dump): Also dump partial equivs.
10942 (dom_oracle::register_relation): Handle partial equivs.
10943 (dom_oracle::query_relation): Check for partial equivs.
10944 * value-relation.h (enum relation_kind_t): Add partial equivs.
10945 (relation_partial_equiv_p): New.
10946 (relation_equiv_p): New.
10947 (class pe_slice): New.
10948 (class equiv_oracle): Add prototypes.
10949 (pe_to_bits): New.
10950 (bits_to_pe): New.
10951 (pe_min): New.
10952
10953 2022-10-13 Richard Biener <rguenther@suse.de>
10954
10955 PR tree-optimization/107247
10956 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
10957 Reduce multi vector SLP reduction accumulators. Check
10958 the adjusted number of accumulator vectors against
10959 one for the re-use in the epilogue.
10960
10961 2022-10-13 Jakub Jelinek <jakub@redhat.com>
10962
10963 * genmodes.cc (emit_mode_wider): Emit previous content of
10964 mode_wider array into mode_next array and for mode_wider
10965 emit always VOIDmode for !CLASS_HAS_WIDER_MODES_P classes,
10966 otherwise skip through modes with the same precision.
10967 * machmode.h (mode_next): Declare.
10968 (GET_MODE_NEXT_MODE): New inline function.
10969 (mode_iterator::get_next, mode_iterator::get_known_next): New
10970 function templates.
10971 (FOR_EACH_MODE_IN_CLASS): Use get_next instead of get_wider.
10972 (FOR_EACH_MODE): Use get_known_next instead of get_known_wider.
10973 (FOR_EACH_MODE_FROM): Use get_next instead of get_wider.
10974 (FOR_EACH_WIDER_MODE_FROM): Define.
10975 (FOR_EACH_NEXT_MODE): Define.
10976 * expmed.cc (emit_store_flag_1): Use FOR_EACH_WIDER_MODE_FROM
10977 instead of FOR_EACH_MODE_FROM.
10978 * optabs.cc (prepare_cmp_insn): Likewise. Remove redundant
10979 !CLASS_HAS_WIDER_MODES_P check.
10980 (prepare_float_lib_cmp): Use FOR_EACH_WIDER_MODE_FROM instead of
10981 FOR_EACH_MODE_FROM.
10982 * config/i386/i386-expand.cc (get_mode_wider_vector): Use
10983 GET_MODE_NEXT_MODE instead of GET_MODE_WIDER_MODE.
10984
10985 2022-10-13 Wilco Dijkstra <wdijkstr@arm.com>
10986
10987 PR target/105773
10988 * config/aarch64/aarch64.cc (aarch64_select_cc_mode): Allow
10989 GT/LE for merging compare with zero into AND.
10990 (aarch64_get_condition_code_1): Add CC_NZVmode support.
10991 * config/aarch64/aarch64-modes.def: Add CC_NZV.
10992 * config/aarch64/aarch64.md: Use CC_NZV in cmp+and patterns.
10993
10994 2022-10-13 Richard Biener <rguenther@suse.de>
10995
10996 PR tree-optimization/107160
10997 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
10998 Do not register accumulator if we failed to reduce it
10999 to a single vector.
11000
11001 2022-10-13 Aldy Hernandez <aldyh@redhat.com>
11002
11003 * range-op-float.cc (range_operator_float::op1_op2_relation): New.
11004 (class foperator_equal): Add using.
11005 (class foperator_not_equal): Same.
11006 (class foperator_lt): Same.
11007 (class foperator_le): Same.
11008 (class foperator_gt): Same.
11009 (class foperator_ge): Same.
11010 * range-op.cc (range_op_handler::op1_op2_relation): New.
11011 * range-op.h (range_operator_float::op1_op2_relation): New.
11012
11013 2022-10-13 Richard Biener <rguenther@suse.de>
11014
11015 * genmatch.cc (parser::parse_c_expr): Diagnose 'return'.
11016 * match.pd: Replace 'return' statements in with expressions
11017 with appropriate variants.
11018
11019 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
11020
11021 PR tree-optimization/107229
11022 * tree-if-conv.cc (get_bitfield_rep): Fix bitposition calculation.
11023
11024 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
11025
11026 PR tree-optimization/107226
11027 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Reject
11028 BITFIELD_REF's with non integral typed first operands.
11029
11030 2022-10-13 Joseph Myers <joseph@codesourcery.com>
11031
11032 * ginclude/float.h (FLT_IS_IEC_60559, DBL_IS_IEC_60559)
11033 (LDBL_IS_IEC_60559): Update comment.
11034
11035 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
11036
11037 * range-op-float.cc (class foperator_negate): New.
11038 (floating_op_table::floating_op_table): Add NEGATE_EXPR
11039 (range_op_float_tests): Add negate tests.
11040
11041 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
11042
11043 * config/riscv/riscv-vector-builtins.h: Remove unused macro.
11044
11045 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
11046
11047 * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Apply
11048 clang-format.
11049 (add_vector_type_attribute): Ditto.
11050 * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Apply
11051 clang-format.
11052 * config/riscv/riscv-vector-builtins.h (DEF_RVV_TYPE): Apply
11053 clang-format.
11054
11055 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
11056
11057 * config/riscv/riscv-vector-builtins.cc (builtin_types): Redefine
11058 vector types.
11059 (build_const_pointer): New function.
11060 (register_builtin_type): Ditto.
11061 (DEF_RVV_TYPE): Simplify macro.
11062 (register_vector_type): Refine implementation.
11063 * config/riscv/riscv-vector-builtins.h (rvv_builtin_types_t): New.
11064
11065 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
11066
11067 * config/riscv/riscv-vector-builtins.h (class rvv_switcher): Move to
11068 this to ....
11069 * config/riscv/riscv-vector-builtins.cc (class rvv_switcher):
11070 here.
11071
11072 2022-10-12 Cui,Lili <lili.cui@intel.com>
11073
11074 * config/i386/driver-i386.cc (host_detect_local_cpu):
11075 Move sapphirerapids out of AVX512_VP2INTERSECT.
11076 * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
11077 * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
11078
11079 2022-10-12 Martin Liska <mliska@suse.cz>
11080
11081 * gcov-io.cc (gcov_write_summary): Rename to ...
11082 (gcov_write_object_summary): ... this.
11083 * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY_LENGTH): Rename from ...
11084 (GCOV_TAG_SUMMARY_LENGTH): ... this.
11085
11086 2022-10-12 Martin Liska <mliska@suse.cz>
11087
11088 * configure: Regenerate.
11089
11090 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
11091
11092 * range-op-float.cc (frange_float): New.
11093 (range_op_float_tests): New.
11094 * range-op.cc (range_op_tests): Call range_op_float_tests.
11095
11096 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
11097
11098 * value-range.h (frange::nan_signbit_p): New.
11099
11100 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
11101
11102 * value-range.cc (frange::set_nonnegative): Pass bool to
11103 update_nan.
11104 * value-range.h: Disallow conversion to bool in update_nan().
11105
11106 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
11107
11108 * value-range.h (frange::frange): Add constructor taking type.
11109
11110 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
11111
11112 * range-op-float.cc: Add relation_kind = VREL_VARYING to all
11113 methods.
11114
11115 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
11116
11117 * gimple-range-gori.cc (gori_compute::logical_combine): Avoid
11118 calling tracer.trailer().
11119
11120 2022-10-11 Jakub Jelinek <jakub@redhat.com>
11121
11122 PR target/107185
11123 * config/i386/i386.md (*notxor<mode>_1): Use MASK_REG_P (x) instead of
11124 MASK_REGNO_P (REGNO (x)).
11125
11126 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
11127
11128 * range-op-float.cc (class foperator_abs): New.
11129 (floating_op_table::floating_op_table): Add ABS_EXPR entry.
11130
11131 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
11132
11133 * range-op-float.cc (foperator_unordered_le::op1_range): New.
11134 (foperator_unordered_le::op2_range): New.
11135 (foperator_unordered_gt::op1_range): New.
11136 (foperator_unordered_gt::op2_range): New.
11137 (foperator_unordered_ge::op1_range): New.
11138 (foperator_unordered_ge::op2_range): New.
11139 (foperator_unordered_equal::op1_range): New.
11140
11141 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
11142
11143 * range-op-float.cc (class foperator_unordered_lt): New.
11144 (class foperator_relop_unknown): Remove
11145 (class foperator_unordered_le): New.
11146 (class foperator_unordered_gt): New.
11147 (class foperator_unordered_ge): New.
11148 (class foperator_unordered_equal): New.
11149 (floating_op_table::floating_op_table): Replace all UN_EXPR
11150 entries with their appropriate fop_unordered_* counterpart.
11151
11152 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
11153
11154 * range-op.cc (operator_equal::op1_range): Move BRS_TRUE case up.
11155 (operator_lt::op2_range): Same.
11156 (operator_le::op2_range): Same.
11157 (operator_gt::op2_range): Same.
11158 (operator_ge::op2_range): Same.
11159
11160 2022-10-11 Richard Biener <rguenther@suse.de>
11161
11162 PR tree-optimization/107212
11163 * tree-vect-loop.cc (vectorizable_reduction): Make sure to
11164 set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
11165 reduction.
11166 (vectorizable_live_operation): Do not pun to the SLP
11167 node representative for reduction epilogue generation.
11168
11169 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
11170
11171 * config/gcn/gcn-valu.md (neg<mode>2): New define_expand.
11172
11173 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
11174
11175 * config/gcn/gcn-valu.md (vec_init<V_ALL:mode><V_ALL_ALT:mode>): New.
11176 * config/gcn/gcn.cc (GEN_VN): Add andvNsi3, subvNsi3.
11177 (GEN_VNM): Add gathervNm_expr.
11178 (GEN_VN_NOEXEC): Add vec_seriesvNsi.
11179 (gcn_expand_vector_init): Add initialization of vectors from smaller
11180 vectors.
11181
11182 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
11183
11184 * config/gcn/gcn-protos.h (get_exec): Add prototypes for two variants.
11185 * config/gcn/gcn-valu.md
11186 (vec_extract<V_ALL:mode><V_ALL_ALT:mode>): New define_expand.
11187 * config/gcn/gcn.cc (get_exec): Export the existing function. Add a
11188 new overload variant.
11189
11190 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
11191
11192 * config/gcn/gcn-valu.md
11193 (<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): Use MODE_VF.
11194 (<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): Likewise.
11195 * config/gcn/gcn.h (MODE_VF): New macro.
11196
11197 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
11198
11199 * config/gcn/gcn-modes.def (VECTOR_MODE): Add new modes
11200 V32QI, V32HI, V32SI, V32DI, V32TI, V32HF, V32SF, V32DF,
11201 V16QI, V16HI, V16SI, V16DI, V16TI, V16HF, V16SF, V16DF,
11202 V8QI, V8HI, V8SI, V8DI, V8TI, V8HF, V8SF, V8DF,
11203 V4QI, V4HI, V4SI, V4DI, V4TI, V4HF, V4SF, V4DF,
11204 V2QI, V2HI, V2SI, V2DI, V2TI, V2HF, V2SF, V2DF.
11205 (ADJUST_ALIGNMENT): Likewise.
11206 * config/gcn/gcn-protos.h (gcn_full_exec): Delete.
11207 (gcn_full_exec_reg): Delete.
11208 (gcn_scalar_exec): Delete.
11209 (gcn_scalar_exec_reg): Delete.
11210 (vgpr_1reg_mode_p): Use inner mode to identify vector registers.
11211 (vgpr_2reg_mode_p): Likewise.
11212 (vgpr_vector_mode_p): Use VECTOR_MODE_P.
11213 * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF,
11214 V_QIHI, V_1REG, V_INT_1REG, V_INT_1REG_ALT, V_FP_1REG, V_2REG, V_noQI,
11215 V_noHI, V_INT_noQI, V_INT_noHI, V_ALL, V_ALL_ALT, V_INT, V_FP):
11216 Add additional vector modes.
11217 (V64_SI, V64_DI, V64_ALL, V64_FP): New iterators.
11218 (scalar_mode, SCALAR_MODE, vnsi, VnSI, vndi, VnDI, sdwa):
11219 Add additional vector mode mappings.
11220 (mov<mode>): Implement vector length conversions.
11221 (ldexp<mode>3<exec>): Use VnSI.
11222 (frexp<mode>_exp2<exec>): Likewise.
11223 (VCVT_MODE, VCVT_FMODE, VCVT_IMODE): Add additional vector modes.
11224 (reduc_<reduc_op>_scal_<mode>): Use V64_ALL.
11225 (fold_left_plus_<mode>): Use V64_FP.
11226 (*<reduc_op>_dpp_shr_<mode>): Use V64_1REG.
11227 (*<reduc_op>_dpp_shr_<mode>): Use V64_DI.
11228 (*plus_carry_dpp_shr_<mode>): Use V64_INT_1REG.
11229 (*plus_carry_in_dpp_shr_<mode>): Use V64_SI.
11230 (*plus_carry_dpp_shr_<mode>): Use V64_DI.
11231 (mov_from_lane63_<mode>): Use V64_2REG.
11232 * config/gcn/gcn.cc (VnMODE): New function.
11233 (gcn_can_change_mode_class): Support multiple vector sizes.
11234 (gcn_modes_tieable_p): Likewise.
11235 (gcn_operand_part): Likewise.
11236 (gcn_scalar_exec): Delete function.
11237 (gcn_scalar_exec_reg): Delete function.
11238 (gcn_full_exec): Delete function.
11239 (gcn_full_exec_reg): Delete function.
11240 (gcn_inline_fp_constant_p): Support multiple vector sizes.
11241 (gcn_fp_constant_p): Likewise.
11242 (A): New macro.
11243 (GEN_VN_NOEXEC): New macro.
11244 (GEN_VNM_NOEXEC): New macro.
11245 (GEN_VN): New macro.
11246 (GEN_VNM): New macro.
11247 (GET_VN_FN): New macro.
11248 (CODE_FOR): New macro.
11249 (CODE_FOR_OP): New macro.
11250 (gen_mov_with_exec): Delete function.
11251 (gen_duplicate_load): Delete function.
11252 (gcn_expand_vector_init): Support multiple vector sizes.
11253 (strided_constant): Likewise.
11254 (gcn_addr_space_legitimize_address): Likewise.
11255 (gcn_expand_scalar_to_vector_address): Likewise.
11256 (gcn_expand_scaled_offsets): Likewise.
11257 (gcn_secondary_reload): Likewise.
11258 (gcn_valid_cvt_p): Likewise.
11259 (gcn_expand_builtin_1): Likewise.
11260 (gcn_make_vec_perm_address): Likewise.
11261 (gcn_vectorize_vec_perm_const): Likewise.
11262 (gcn_vector_mode_supported_p): Likewise.
11263 (gcn_autovectorize_vector_modes): New hook.
11264 (gcn_related_vector_mode): Support multiple vector sizes.
11265 (gcn_expand_dpp_shr_insn): Add FIXME comment.
11266 (gcn_md_reorg): Support multiple vector sizes.
11267 (print_reg): Likewise.
11268 (print_operand): Likewise.
11269 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): New hook.
11270
11271 2022-10-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
11272
11273 * tree-if-conv.cc (if_convertible_loop_p_1): Move ordering of loop bb's from
11274 here...
11275 (tree_if_conversion): ... to here. Also call bitfield lowering when
11276 appropriate.
11277 (version_loop_for_if_conversion): Adapt to enable loop versioning when we only
11278 need to lower bitfields.
11279 (ifcvt_split_critical_edges): Relax condition of expected loop form as this is
11280 checked earlier.
11281 (get_bitfield_rep): New function.
11282 (lower_bitfield): Likewise.
11283 (bitfields_to_lower_p): Likewise.
11284 (need_to_lower_bitfields): New global boolean.
11285 (need_to_ifcvt): Likewise.
11286 * tree-vect-data-refs.cc (vect_find_stmt_data_reference): Improve diagnostic
11287 message.
11288 * tree-vect-patterns.cc (vect_recog_temp_ssa_var): Add default value for last
11289 parameter.
11290 (vect_recog_bitfield_ref_pattern): New.
11291 (vect_recog_bit_insert_pattern): New.
11292
11293 2022-10-11 liuhongt <hongtao.liu@intel.com>
11294
11295 PR target/107093
11296 * config/i386/i386.md (*notxor<mode>_1): New post_reload
11297 define_insn_and_split.
11298 (*notxorqi_1): Ditto.
11299
11300 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
11301
11302 PR tree-optimization/107195
11303 * value-range.cc (irange::set_range_from_nonzero_bits): Set range
11304 to [0,0] when nonzero mask is 0.
11305
11306 2022-10-11 Olivier Hainque <hainque@adacore.com>
11307
11308 * configure: Regenerate.
11309
11310 2022-10-11 Olivier Hainque <hainque@adacore.com>
11311
11312 * config.gcc (*vxworks*): Add t-slibgcc fragment
11313 if enable_shared.
11314
11315 2022-10-11 Olivier Hainque <hainque@adacore.com>
11316
11317 * config/vxworks.h (VX_LGCC_EH_SO0, VX_LGCC_EH_SO1): New
11318 internal macros.
11319 (VXWORKS_LIBGCC_SPEC): Use them and document.
11320
11321 2022-10-11 Martin Liska <mliska@suse.cz>
11322
11323 * gimple-range-op.cc: Add override keyword.
11324
11325 2022-10-11 Eugene Rozenfeld <erozen@microsoft.com>
11326
11327 PR debug/107193
11328 * tree-cfg.cc (assign_discriminators): Move declaration of cur_locus_e
11329 out of the loop.
11330
11331 2022-10-11 Liwei Xu <liwei.xu@intel.com>
11332 liuhongt <hongtao.liu@intel.com>
11333
11334 PR tree-optimization/54346
11335 * match.pd: Merge the index of VCST then generates the new vec_perm.
11336
11337 2022-10-11 Jeff Law <jeffreyalaw@gmail.com>
11338
11339 PR rtl-optimization/107182
11340 * cfgrtl.cc (fixup_reorder_chain): When optimizing a jump to a
11341 return, clear EDGE_CROSSING on the appropriate edge.
11342
11343 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
11344
11345 * config/riscv/riscv-vector-builtins.cc (struct vector_type_info): Move
11346 from config/riscv/riscv-vector-builtins.h.
11347 (DEF_RVV_TYPE): Change USER_NAME to NAME.
11348 (register_vector_type): Change user_name to name.
11349 * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Change
11350 USER_NAME to NAME.
11351 * config/riscv/riscv-vector-builtins.h (struct vector_type_info): Move
11352 to riscv-vector-builtins.cc.
11353 (DEF_RVV_TYPE): Change USER_NAME to NAME.
11354
11355 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
11356
11357 * config/riscv/riscv.md: Add vsetvl instruction type.
11358
11359 2022-10-10 Nathan Sidwell <nathan@acm.org>
11360
11361 * common.opt (-fabi-version=): Document 18.
11362 * doc/invoke.texi (-fabi-version): Document 18.
11363
11364 2022-10-10 Andrea Corallo <andrea.corallo@arm.com>
11365
11366 PR other/99723
11367 * toplev.cc (toplev::main): Don't run self tests in case of
11368 previous error.
11369
11370 2022-10-10 Kito Cheng <kito.cheng@sifive.com>
11371
11372 * config/riscv/riscv-c.cc: Add newline to the end of file.
11373
11374 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
11375
11376 * range-op-float.cc (class foperator_identity): Make members public.
11377 (class foperator_equal): Same.
11378 (class foperator_not_equal): Same.
11379 (class foperator_lt): Same.
11380 (class foperator_le): Same.
11381 (class foperator_gt): Same.
11382 (class foperator_ge): Same.
11383 (class foperator_unordered): Same.
11384 (class foperator_ordered): Same.
11385
11386 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
11387
11388 * value-range.h (frange::maybe_isnan): New.
11389
11390 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
11391
11392 * range-op-float.cc (foperator_not_equal::op1_range): Set NAN on
11393 TRUE side for x != x.
11394
11395 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
11396
11397 * range-op-float.cc (foperator_unordered::op1_range): Set NAN when
11398 operands are equal and result is TRUE.
11399
11400 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
11401
11402 * range.h (range_true): Return int_range<2>.
11403 (range_false): Same.
11404 (range_true_and_false): Same.
11405
11406 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
11407
11408 * gimple-range-op.cc: Add op1_range entry for __builtin_signbit.
11409
11410 2022-10-10 liuhongt <hongtao.liu@intel.com>
11411
11412 PR target/107185
11413 * config/i386/i386.md (lrint<MODEF:mode><SWI48:mode>2): Swap
11414 predicate of operands[0] and operands[1].
11415
11416 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
11417
11418 * common/config/arc/arc-common.cc (arc_option_optimization_table):
11419 Remove Rcq and Rcw options.
11420 * config/arc/arc.opt (mRcq): Ignore option, preserve it for
11421 backwards compatibility.
11422 (mRcw): Likewise.
11423 * doc/invoke.texi (mRcw, mRcq): Update document.
11424
11425 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
11426
11427 * config/arc/arc.cc (arc_check_short_reg_p): New function.
11428 (arc_address_cost): Replace satisfies_constraint_Rcq with the
11429 above new function.
11430 (arc_output_addsi): Likewise.
11431 (split_addsi): Likewise.
11432 (split_subsi): Likewise.
11433 * config/arc/arc.md (movqi_insn): Remove Rcq constraint.
11434 (movhi_insn): Likewise.
11435 (movsi_insn): Likewise.
11436 (tst_movb): Likewise.
11437 (tst): Likewise.
11438 (tst_bitfield): Likewise.
11439 (abssi2): Likewise.
11440 (addsi3_mixed): Likewise.
11441 (mulhisi3_reg): Likewise.
11442 (umulhisi3_reg): Likewise.
11443 (mulsi_600): Likewise.
11444 (mul64): Likewise.
11445 (subsi3_insn): Likewise.
11446 (bicsi3_insn): Likewise.
11447 (xorsi3): Likewise.
11448 (negsi2): Likewise.
11449 (one_cmplsi2): Likewise.
11450 (lshrsi3_insn): Likewise.
11451 (cmpsi_cc_insn_mixed): Likewise.
11452 (cmpsi_cc_zn_insn): Likewise.
11453 (btst): Likewise.
11454 (cmpsi_cc_z_insn): Likewise.
11455 (cmpsi_cc_c_insn): Likewise.
11456 (indirect_jump): Likewise.
11457 (casesi_jump): Likewise.
11458 (call_i): Likewise.
11459 (call_value_i): Likewise.
11460 (bbit): Likewise.
11461 (abssf2): Likewise.
11462 (ashlsi2_cnt1): Likewise.
11463 (lshrsi3_cnt1): Likewise.
11464 (ashrsi3_cnt1): Likewise.
11465 * config/arc/constraints.md (Rcq): Remove.
11466
11467 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
11468
11469 * config/arc/arc.md (smaxsi3): Remove Rcw.
11470 (sminsi3): Likewise.
11471 (addsi3_mixed): Likewise.
11472 (add_f_2): Likewise.
11473 (subsi3_insn): Likewise.
11474 (sub_f): Likewise.
11475 (sub_n): Likewise.
11476 (bset): Likewise.
11477 (bxor): Likewise.
11478 (bclr): Likewise.
11479 (bset_insn): Likewise.
11480 (bxor_insn): Likewise.
11481 (bclr_insn): Likewise.
11482 (bmsk_insn): Likewise.
11483 (bicsi3_insn): Likewise.
11484 (xorsi3): Likewise.
11485 (negsi2): Likewise.
11486 (lshrsi3_insn): Likewise.
11487 (abssf2): Likewise.
11488 (negsf2): Likewise.
11489 * config/arc/constraints.md(Rcw): Remove it.
11490
11491 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
11492
11493 * config/arc/arc.md(mulsi3_700): Remove Rcr.
11494 (mulsi3_highpart): Likewise.
11495 (umulsi3_highpart_i): Likewise.
11496 (umulsi3_highpart_int): Likewise.
11497 (macd): Likewise.
11498 (macdu): Likewise.
11499 * config/arc/constraints.md (Rcr): Remove it.
11500
11501 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
11502
11503 * config/arc/arc.cc (arc_save_callee_enter): Use negative offsets.
11504
11505 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu>
11506
11507 PR target/106562
11508 * config/pru/pru-protos.h (pru_noteq_condition): New
11509 function declaration.
11510 * config/pru/pru.cc (pru_noteq_condition): New function.
11511 * config/pru/pru.md (cbranchdi4): Define new pattern.
11512
11513 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu>
11514
11515 * config/pru/pru.md (lshrdi3): New expand pattern.
11516 (ashldi3): Ditto.
11517
11518 2022-10-09 YunQiang Su <yunqiang.su@cipunited.com>
11519
11520 * config.gcc: set with_arch to default_mips_arch if no defined.
11521 * config/mips/driver-native.cc (host_detect_local_cpu):
11522 try getauxval(AT_BASE_PLATFORM) and _MIPS_ARCH, too.
11523 pass -mnan=2008 if __mips_nan2008__ is defined.
11524 * config.in: define HAVE_SYS_AUXV_H and HAVE_GETAUXVAL.
11525 * configure.ac: detect sys/auxv.h and getauxval.
11526 * configure: regenerated.
11527
11528 2022-10-07 Eugene Rozenfeld <erozen@microsoft.com>
11529
11530 * tree-cfg.cc (assign_discriminators): Set discriminators for call stmts
11531 on the same line within the same basic block.
11532
11533 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
11534
11535 PR tree-optimization/101836
11536 * tree-object-size.cc (addr_object_size): Use array_at_struct_end_p
11537 to determine a flexible array member reference.
11538
11539 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
11540
11541 * doc/extend.texi: Document strict_flex_array attribute.
11542 * doc/invoke.texi: Document -fstrict-flex-arrays[=n] option.
11543 * print-tree.cc (print_node): Print new bit decl_not_flexarray.
11544 * tree-core.h (struct tree_decl_common): New bit field
11545 decl_not_flexarray.
11546 * tree-streamer-in.cc (unpack_ts_decl_common_value_fields): Stream
11547 in new bit decl_not_flexarray.
11548 * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream
11549 out new bit decl_not_flexarray.
11550 * tree.cc (array_at_struct_end_p): Update it with the new bit field
11551 decl_not_flexarray.
11552 * tree.h (DECL_NOT_FLEXARRAY): New flag.
11553
11554 2022-10-07 Olivier Hainque <hainque@adacore.com>
11555
11556 * config/vxworks/_vxworks-versions.h: Use OS specific
11557 paths in #include of version.h.
11558
11559 2022-10-07 Martin Liska <mliska@suse.cz>
11560
11561 * opts.cc (finish_options): Print sorry message only
11562 for -flive-patching=inline-only-static.
11563
11564 2022-10-07 Jason Merrill <jason@redhat.com>
11565
11566 * gimplify.cc (gimplify_modify_expr_rhs): Don't optimize
11567 x = *(A*)&<expr> to x = <expr> for a TREE_ADDRESSABLE type.
11568
11569 2022-10-07 Richard Biener <rguenther@suse.de>
11570
11571 PR tree-optimization/107153
11572 * tree-cfg.cc (gimple_duplicate_sese_tail): Do not update
11573 SSA form here.
11574 * tree-parloops.cc (gen_parallel_loop): Update SSA form
11575 after to-exit-first transform, no PHI insertion is necessary.
11576 (pass_parallelize_loops::execute): Force re-write of the
11577 virtual operand SSA web.
11578
11579 2022-10-07 Jonathan Wakely <jwakely@redhat.com>
11580
11581 * value-range.cc (irange::irange_contains_p): Fix comment typo.
11582
11583 2022-10-07 Eric Botcazou <ebotcazou@adacore.com>
11584
11585 * function.cc (thread_prologue_and_epilogue_insns): Update only
11586 entry and exit blocks when not optimizing. Remove dead statement.
11587
11588 2022-10-07 Aldy Hernandez <aldyh@redhat.com>
11589
11590 * value-range.cc (irange::irange_set): Convert nonzero mask to
11591 tree.
11592 (irange::irange_set_anti_range): Same.
11593 (irange::set): Same.
11594 (irange::verify_range): Same.
11595 (irange::contains_p): Same.
11596 (irange::invert): Same.
11597 (irange::set_range_from_nonzero_bits): Same.
11598 (irange::set_nonzero_bits): Same.
11599 (mask_to_wi): Same.
11600 (irange::intersect_nonzero_bits): Same.
11601 (irange::union_nonzero_bits): Same.
11602 * value-range.h (irange::varying_compatible_p): Same.
11603 (gt_ggc_mx): Same.
11604 (gt_pch_nx): Same.
11605 (irange::set_undefined): Same.
11606 (irange::set_varying): Same.
11607
11608 2022-10-07 Martin Liska <mliska@suse.cz>
11609
11610 * config/i386/i386-protos.h (ix86_binary_operator_ok): Add array
11611 size to function parameter.
11612 (ix86_unary_operator_ok): Likewise.
11613
11614 2022-10-07 Martin Liska <mliska@suse.cz>
11615
11616 * auto-profile.cc (get_inline_stack): Remove unused variable.
11617
11618 2022-10-07 Jakub Jelinek <jakub@redhat.com>
11619
11620 * ipa-prop.h (ipa_constant_data): Fix comment typo.
11621 * value-range.cc (irange::irange_contains_p): Likewise.
11622 * value-relation.cc (dom_oracle::set_one_relation): Likewise.
11623 * gimple-predicate-analysis.cc (predicate::simplify_4): Likewise.
11624 * tree-inline.cc (remap_ssa_name): Likewise.
11625
11626 2022-10-07 Jakub Jelinek <jakub@redhat.com>
11627
11628 * attribs.h (is_attribute_namespace_p): New inline function.
11629 (lookup_attribute): Document meaning of ATTR_NS equal to "".
11630 * attribs.cc (remove_attribute): Use is_attribute_namespace_p.
11631 (private_lookup_attribute): For ATTR_NS "" match either standard
11632 attribute or "gnu" namespace one.
11633
11634 2022-10-07 Olivier Hainque <hainque@adacore.com>
11635
11636 * config/vxworks.h (DWARF_VERSION_DEFAULT): Adjust from
11637 4 to 3 for VxWorks >= 7.
11638
11639 2022-10-07 Olivier Hainque <hainque@adacore.com>
11640
11641 * defaults.h (DWARF_DEFAULT_VERSION): Define if not
11642 defined already.
11643 * common.opt (gdwarf-): Use it.
11644 * doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document.
11645 * doc/tm.texi: Update accordingly.
11646 * config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine.
11647 * config/vxworks.cc: Remove code setting dwarf_version, now
11648 handled by the DWARF_DEFAULT_VERSION redefinition.
11649
11650 2022-10-07 Olivier Hainque <hainque@adacore.com>
11651
11652 * ginclude/stddef.h: #undef offsetof before #define.
11653
11654 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
11655
11656 PR tree-optimization/107170
11657 * vr-values.cc (vr_values::range_of_expr): Do not die on
11658 unsupported types.
11659
11660 2022-10-06 Joseph Myers <joseph@codesourcery.com>
11661
11662 * doc/invoke.texi (-fno-asm): Update description of effects on
11663 typeof keyword.
11664
11665 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
11666
11667 * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Bail out for a self
11668 dependency that is a write-after-write if the access function is not
11669 affine or constant.
11670
11671 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
11672
11673 * df-scan.cc (df_ref_create_structure): Minor cleanup.
11674
11675 2022-10-06 Richard Biener <rguenther@suse.de>
11676
11677 PR middle-end/107115
11678 * expr.cc (store_expr): Check mems_same_for_tbaa_p before
11679 eliding a seemingly redundant store.
11680
11681 2022-10-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11682
11683 * config/aarch64/atomics.md (*atomic_load<ALLX:mode>_zext<SD_HSDI:mode>):
11684 New pattern.
11685
11686 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
11687
11688 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
11689 Ampere-1 core entry.
11690
11691 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
11692
11693 * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
11694
11695 2022-10-06 Richard Biener <rguenther@suse.de>
11696
11697 PR tree-optimization/107107
11698 * tree-ssa-sccvn.cc (visit_reference_op_store): Do not
11699 affect value-numbering when doing the tail merging
11700 MODIFY_EXPR lookup.
11701
11702 2022-10-06 Claudiu Zissulescu <claziss@synopsys.com>
11703
11704 * config/arc/linux.h (LINK_SPEC): Remove max-page-size and
11705 common-pave-size.
11706
11707 2022-10-06 Jakub Jelinek <jakub@redhat.com>
11708
11709 PR c++/106654
11710 * internal-fn.def (ASSUME): New internal function.
11711 * internal-fn.h (expand_ASSUME): Declare.
11712 * internal-fn.cc (expand_ASSUME): Define.
11713 * gimplify.cc (gimplify_call_expr): Gimplify IFN_ASSUME.
11714 * fold-const.h (simple_condition_p): Declare.
11715 * fold-const.cc (simple_operand_p_2): Rename to ...
11716 (simple_condition_p): ... this. Remove forward declaration.
11717 No longer static. Adjust function comment and fix a typo in it.
11718 Adjust recursive call.
11719 (simple_operand_p): Adjust function comment.
11720 (fold_truth_andor): Adjust simple_operand_p_2 callers to call
11721 simple_condition_p.
11722 * doc/extend.texi: Document assume attribute. Move fallthrough
11723 attribute example to its section.
11724
11725 2022-10-06 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
11726
11727 PR rtl-optimization/107088
11728 * cselib.cc (new_cselib_val): Skip BImode while keeping track of
11729 subvalue relations.
11730
11731 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
11732
11733 * value-range.cc (frange::set): Call set_nan unconditionally.
11734 (range_tests_nan): Adjust tests.
11735 (range_tests_signed_zeros): Same.
11736 (range_tests_floats): Same.
11737 * value-range.h (frange::update_nan): Guard with HONOR_NANS.
11738 (frange::set_nan): Set undefined if !HONOR_NANS.
11739
11740 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
11741
11742 * range-op-float.cc (foperator_lt::fold_range): Remove extra check
11743 to finite_operands_p.
11744 (foperator_le::fold_range): Same.
11745 (foperator_gt::fold_range): Same.
11746 (foperator_ge::fold_range): Same.
11747
11748 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
11749
11750 * value-range-pretty-print.cc (vrange_printer::print_real_value):
11751 Avoid printing INF and NAN twice.
11752
11753 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
11754
11755 * config/rs6000/constraints.md (wD): Delete.
11756 * doc/md.texi (Machine Constraints): Adjust.
11757
11758 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
11759
11760 * config/rs6000/vsx.md (vsx_extract_<mode>): Replace define_insn by a
11761 define_expand. Split the contents to...
11762 (*vsx_extract_<mode>_0): ... this. Rewrite.
11763 (*vsx_extract_<mode>_1): ... and this. Rewrite.
11764
11765 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
11766
11767 * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of
11768 "wD" constraint.
11769
11770 2022-10-05 David Malcolm <dmalcolm@redhat.com>
11771
11772 PR analyzer/107060
11773 * doc/analyzer.texi (__analyzer_get_unknown_ptr): Document.
11774
11775 2022-10-05 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
11776
11777 * config.gcc: Add riscv_vector.h.
11778 * config/riscv/riscv-builtins.cc: Add RVV builtin types support.
11779 * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): New function.
11780 (riscv_register_pragmas): Ditto.
11781 * config/riscv/riscv-protos.h (riscv_register_pragmas): Ditto.
11782 (init_builtins): Move declaration from riscv-vector-builtins.h to riscv-protos.h.
11783 (mangle_builtin_type): Ditto.
11784 (verify_type_context): Ditto.
11785 (handle_pragma_vector): New function.
11786 * config/riscv/riscv-vector-builtins.cc (GTY): New variable.
11787 (register_vector_type): New function.
11788 (init_builtins): Add RVV builtin types support.
11789 (handle_pragma_vector): New function.
11790 * config/riscv/riscv-vector-builtins.h (GCC_RISCV_V_BUILTINS_H): Change
11791 name according to file name.
11792 (GCC_RISCV_VECTOR_BUILTINS_H): Ditto.
11793 (init_builtins): Remove declaration in riscv-vector-builtins.h.
11794 (mangle_builtin_type): Ditto.
11795 (verify_type_context): Ditto.
11796 * config/riscv/riscv.cc: Adjust for RVV builtin types support.
11797 * config/riscv/riscv.h (REGISTER_TARGET_PRAGMAS): New macro.
11798 * config/riscv/t-riscv: Remove redundant file including.
11799 * config/riscv/riscv_vector.h: New file.
11800
11801 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
11802
11803 * range-op.cc (operator_cast::fold_range): Handle truncating casts
11804 for nonzero masks.
11805
11806 2022-10-05 Martin Liska <mliska@suse.cz>
11807
11808 PR c/107156
11809 * attribs.h (lookup_attribute_by_prefix): Support the attribute
11810 starting with underscore (_Noreturn).
11811
11812 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
11813
11814 PR tree-optimization/107052
11815 * gimple-range-op.cc (cfn_popcount::fold_range): Take into account
11816 nonzero bit mask.
11817
11818 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
11819
11820 PR tree-optimization/107052
11821 * range-op.cc (operator_cast::fold_range): Set nonzero mask.
11822
11823 2022-10-05 Eric Botcazou <ebotcazou@adacore.com>
11824
11825 PR tree-optimization/106698
11826 * pointer-query.cc (handle_array_ref): Fix handling of low bound.
11827
11828 2022-10-05 Vineet Gupta <vineetg@rivosinc.com>
11829
11830 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins):
11831 Remove __riscv_cmodel_pic, that deprecated in last version.
11832
11833 2022-10-05 David Malcolm <dmalcolm@redhat.com>
11834
11835 PR analyzer/107072
11836 * Makefile.in (ANALYZER_OBJS): Add analyzer/call-summary.o.
11837
11838 2022-10-04 Jakub Jelinek <jakub@redhat.com>
11839
11840 * attribs.h (remove_attribute): Declare overload with additional
11841 attr_ns argument.
11842 (private_lookup_attribute): Declare overload with additional
11843 attr_ns and attr_ns_len arguments.
11844 (lookup_attribute): New overload with additional attr_ns argument.
11845 * attribs.cc (remove_attribute): New overload with additional
11846 attr_ns argument.
11847 (private_lookup_attribute): New overload with additional
11848 attr_ns and attr_ns_len arguments.
11849
11850 2022-10-04 Jakub Jelinek <jakub@redhat.com>
11851
11852 * attribs.cc (handle_ignored_attributes_option, decl_attributes,
11853 common_function_versions): Use auto_diagnostic_group.
11854
11855 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
11856
11857 * value-range.cc (irange::set_nonzero_bits): Remove assert.
11858
11859 2022-10-04 Richard Sandiford <richard.sandiford@arm.com>
11860
11861 * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New macro.
11862 * config/aarch64/aarch64-arches.def (armv8.3-a): Include RCPC.
11863 * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
11864 (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
11865 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
11866 __ARM_FEATURE_RCPC when appropriate.
11867
11868 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
11869
11870 * doc/invoke.texi (-fopenmp): Mention C++ attribut syntax.
11871 (-fopenmp-simd): Likewise; update permitted directives.
11872
11873 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
11874
11875 * doc/install.texi (Specific): Add missing items to bullet list.
11876 (amdgcn): Update LLVM requirements, use version not date for newlib.
11877 (nvptx): Use version not git hash for newlib.
11878
11879 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
11880
11881 * value-range-storage.cc (irange_storage_slot::set_irange): Remove
11882 special case.
11883 * value-range.cc (irange::irange_set): Adjust for nonzero mask
11884 being a wide int.
11885 (irange::irange_set_anti_range): Same.
11886 (irange::set): Same.
11887 (irange::verify_range): Same.
11888 (irange::legacy_equal_p): Same.
11889 (irange::operator==): Same.
11890 (irange::contains_p): Same.
11891 (irange::legacy_intersect): Same.
11892 (irange::legacy_union): Same.
11893 (irange::irange_single_pair_union): Call union_nonzero_bits.
11894 (irange::irange_union): Same.
11895 (irange::irange_intersect): Call intersect_nonzero_bits.
11896 (irange::intersect): Adjust for nonzero mask being a wide int.
11897 (irange::invert): Same.
11898 (irange::set_nonzero_bits): Same.
11899 (irange::get_nonzero_bits_from_range): New.
11900 (irange::set_range_from_nonzero_bits): New.
11901 (irange::get_nonzero_bits): Adjust for nonzero mask being a wide
11902 int.
11903 (irange::intersect_nonzero_bits): Same.
11904 (irange::union_nonzero_bits): Same.
11905 (range_tests_nonzero_bits): Remove test.
11906 * value-range.h (irange::varying_compatible_p): Adjust for nonzero
11907 mask being a wide int.
11908 (gt_ggc_mx): Same.
11909 (gt_pch_nx): Same.
11910 (irange::set_undefined): Same.
11911 (irange::set_varying): Same.
11912 (irange::normalize_kind): Same.
11913
11914 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
11915
11916 PR tree-optimization/107130
11917 * gimple-range-op.cc (class cfn_popcount): Call op_cfn_ffs.
11918 (class cfn_ffs): New.
11919 (gimple_range_op_handler::maybe_builtin_call): Separate out
11920 CASE_CFN_FFS into its own case.
11921
11922 2022-10-03 Sergei Trofimovich <siarheit@google.com>
11923
11924 * config/i386/t-i386: Add build-time dependencies against
11925 i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
11926 i386-features.o.
11927
11928 2022-10-03 Andrew Stubbs <ams@codesourcery.com>
11929
11930 * config/gcn/gcn-valu.md (while_ultsidi): Limit mask length using
11931 operand 3.
11932 * doc/md.texi (while_ult): Document new operand 3 usage.
11933 * internal-fn.cc (expand_while_optab_fn): Set operand 3 when lhs_type
11934 maps to a non-vector mode.
11935
11936 2022-10-03 Andrew MacLeod <amacleod@redhat.com>
11937
11938 PR tree-optimization/107109
11939 * range-op.cc (adjust_op1_for_overflow): Don't process undefined.
11940
11941 2022-10-03 Christophe Lyon <christophe.lyon@arm.com>
11942
11943 * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early
11944 clobber.
11945 (mve_vrev64q_m_f<mode>): Likewise.
11946
11947 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
11948
11949 * value-range.cc (irange::set_nonzero_bits): Do not pessimize range.
11950 (range_tests_nonzero_bits): New test.
11951
11952 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
11953
11954 * value-range.cc (irange::operator==): Early bail on m_num_ranges
11955 equal to 0.
11956
11957 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
11958
11959 * value-range.cc (irange::legacy_equal_p): Remove nonozero mask
11960 check when comparing VR_VARYING ranges.
11961
11962 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
11963
11964 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Do not compare
11965 incompatible ranges in ipa-prop.
11966
11967 2022-10-02 Jakub Jelinek <jakub@redhat.com>
11968
11969 PR tree-optimization/107121
11970 * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
11971 DEFFERED_INIT -> DEFERRED_INIT.
11972
11973 2022-10-02 Marc Poulhiès <poulhies@adacore.com>
11974
11975 * config/vxworks-driver.cc: New.
11976 * config.gcc (*vxworks*): Add vxworks-driver.o in extra_gcc_objs.
11977 * config/t-vxworks: Add vxworks-driver.o.
11978 * config/vxworks.h (GCC_DRIVER_HOST_INITIALIZATION): New.
11979
11980 2022-10-02 Olivier Hainque <hainque@adacore.com>
11981
11982 * config/vxworks.h (VX_CRTBEGIN_SPEC, VX_CRTEND_SPEC): If
11983 HAVE_INITFINI_ARRAY_SUPPORT, pick crtstuff objects regardless
11984 of ENABLE_SHARED_LIBGCC.
11985
11986 2022-10-01 Stafford Horne <shorne@gmail.com>
11987
11988 * config/or1k/or1k.cc (TARGET_HAVE_TLS): Only define if
11989 HAVE_AS_TLS is defined.
11990
11991 2022-10-01 Julian Brown <julian@codesourcery.com>
11992
11993 * gimplify.cc (omp_group_base): Fix IF_PRESENT (no_create)
11994 handling.
11995
11996 2022-10-01 Jeff Law <jeffreyalaw@gmail.com>
11997
11998 * config/h8300/h8300.md (HSI2): New iterator.
11999 (eqne_invert): Similarly.
12000 * config/h8300/testcompare.md (testhi_upper_z): New pattern.
12001 (cmpqi_z, cmphi_z, cmpsi_z): Likewise.
12002 (store_z_qi, store_z_i_qi, store_z_hi, store_z_hi_sb): New
12003 define_insn_and_splits and/or define_insns.
12004 (store_z_hi_neg, store_z_hi_and, store_z_<mode>): Likewise.
12005 (store_z_<mode>_neg, store_z_<mode>_and, store_z): Likewise.
12006
12007 2022-10-01 Jeff Law <jeffreyalaw@gmail.com>
12008
12009 * tree-ssa-dom.cc (record_edge_info): Install correct version of
12010 patch.
12011
12012 2022-10-01 Eugene Rozenfeld <erozen@microsoft.com>
12013
12014 * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites.
12015
12016 2022-09-30 Jeff Law <jeffreyalaw@gmail.com>
12017
12018 * tree-ssa-dom.cc (single_block_loop_p): New function.
12019 (record_edge_info): Also record equivalences for the outgoing
12020 edge of a single block loop where the condition is an invariant.
12021
12022 2022-09-30 Jeff Law <jeffreyalaw@gmail.com>
12023
12024 * tree-ssa-dom.cc (free_dom_edge_info): Clear e->aux too.
12025 (free_all_edge_infos): Do not clear e->aux here.
12026
12027 2022-09-30 H.J. Lu <hjl.tools@gmail.com>
12028
12029 * target.def (TARGET_C_EXCESS_PRECISION): Document
12030 -fexcess-precision=16.
12031
12032 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com>
12033
12034 * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Add 16.
12035
12036 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com>
12037
12038 PR target/106815
12039 * config/riscv/riscv.cc (riscv_excess_precision): Add support
12040 for EXCESS_PRECISION_TYPE_FLOAT16.
12041
12042 2022-09-30 Jakub Jelinek <jakub@redhat.com>
12043
12044 PR c++/107080
12045 * config/arm/arm.cc (arm_mangle_type): Mangle just __fp16 as Dh
12046 and _Float16 as DF16_.
12047 * config/csky/csky.cc (csky_init_builtins): Fix a comment typo.
12048 (csky_mangle_type): Mangle __fp16 as Dh and _Float16 as DF16_
12049 rather than mangling __fp16 as __fp16.
12050
12051 2022-09-30 Lewis Hyatt <lhyatt@gmail.com>
12052
12053 PR preprocessor/69543
12054 * tree-ssa-uninit.cc (warn_uninit): Stop stripping macro tracking
12055 information away from the diagnostic location.
12056 (maybe_warn_read_write_only): Likewise.
12057 (maybe_warn_operand): Likewise.
12058
12059 2022-09-30 Jakub Jelinek <jakub@redhat.com>
12060
12061 PR c++/107080
12062 * config/aarch64/aarch64.cc (aarch64_mangle_type): Mangle just __fp16
12063 as Dh and _Float16 as DF16_.
12064
12065 2022-09-30 Jakub Jelinek <jakub@redhat.com>
12066
12067 PR c++/107080
12068 * config/i386/i386.cc (ix86_mangle_type): Always return NULL
12069 for float128_type_node or float64x_type_node, don't check
12070 float128t_type_node later on.
12071 * config/ia64/ia64.cc (ia64_mangle_type): Always return NULL
12072 for float128_type_node or float64x_type_node.
12073 * config/rs6000/rs6000.cc (rs6000_mangle_type): Likewise.
12074 Don't check float128_type_node later on.
12075 * config/s390/s390.cc (s390_mangle_type): Don't use
12076 TYPE_MAIN_VARIANT on type which was set to TYPE_MAIN_VARIANT
12077 a few lines earlier.
12078
12079 2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
12080 Yvan ROUX <yvan.roux@foss.st.com>
12081
12082 * doc/sourcebuild.texi: Document new vma_equals_lma effective
12083 target check.
12084
12085 2022-09-30 Jiawei <jiawei@iscas.ac.cn>
12086
12087 * config/riscv/riscv.cc (riscv_file_start): New .option.
12088 * config/riscv/riscv.opt: New options.
12089 * doc/invoke.texi: New definations.
12090
12091 2022-09-30 Kewen Lin <linkw@linux.ibm.com>
12092
12093 PR target/99888
12094 PR target/105649
12095 * doc/invoke.texi (option -fpatchable-function-entry): Adjust the
12096 documentation for PowerPC ELFv2 ABI dual entry points.
12097 * config/rs6000/rs6000-internal.h
12098 (rs6000_print_patchable_function_entry): New function declaration.
12099 * config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue):
12100 Support patchable-function-entry by emitting nops before and after
12101 local entry for the function that needs global entry.
12102 * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): Skip
12103 the function that needs global entry till global entry has been
12104 emitted.
12105 * config/rs6000/rs6000.h (struct machine_function): New bool member
12106 global_entry_emitted.
12107
12108 2022-09-30 Richard Biener <rguenther@suse.de>
12109
12110 PR tree-optimization/107095
12111 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Use data arg
12112 for .MASK_STORE size.
12113
12114 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
12115
12116 * range-op.cc (plus_minus_ranges): New.
12117 (adjust_op1_for_overflow): New.
12118 (operator_plus::op1_range): Use new adjustment.
12119 (operator_plus::op2_range): Ditto.
12120 (operator_minus::op1_range): Ditto.
12121 * value-relation.h (relation_lt_le_gt_ge_p): New.
12122
12123 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
12124
12125 * gimple-range-gori.cc (gori_compute::refine_using_relation): New.
12126 (gori_compute::compute_operand1_range): Invoke
12127 refine_using_relation when applicable.
12128 (gori_compute::compute_operand2_range): Ditto.
12129 * gimple-range-gori.h (class gori_compute): Adjust prototypes.
12130
12131 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
12132
12133 * gimple-range-gori.cc (ori_compute::compute_operand_range):
12134 Create a relation record and pass it along when possible.
12135 (gori_compute::compute_operand1_range): Pass relation along.
12136 (gori_compute::compute_operand2_range): Ditto.
12137 (gori_compute::compute_operand1_and_operand2_range): Ditto.
12138 * gimple-range-gori.h (class gori_compute): Adjust prototypes.
12139 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Pass
12140 relation to op1_range call.
12141 (gimple_range_op_handler::calc_op2): Pass relation to op2_range call.
12142 * gimple-range-op.h (class gimple_range_op_handler): Adjust
12143 prototypes.
12144
12145 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
12146
12147 * value-relation.cc (class value_relation): Move to .h file.
12148 (value_relation::set_relation): Ditto.
12149 (value_relation::value_relation): ditto.
12150 * value-relation.h (class value_relation): Move from .cc file.
12151 (value_relation::set_relation): Ditto
12152 (value_relation::value_relation): Ditto.
12153
12154 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
12155
12156 * range-op.cc (operator_minus::op2_range): Check for undefined.
12157 (operator_mult::op1_range): Ditto.
12158 (operator_exact_divide::op1_range): Ditto.
12159 (operator_lshift::op1_range): Ditto.
12160 (operator_rshift::op1_range): Ditto.
12161 (operator_cast::op1_range): Ditto.
12162 (operator_bitwise_and::op1_range): Ditto.
12163 (operator_bitwise_or::op1_range): Ditto.
12164 (operator_trunc_mod::op1_range): Ditto.
12165 (operator_trunc_mod::op2_range): Ditto.
12166 (operator_bitwise_not::op1_range): Ditto.
12167 (pointer_or_operator::op1_range): Ditto.
12168 (range_op_handler::op1_range): Ditto.
12169 (range_op_handler::op2_range): Ditto.
12170
12171 2022-09-29 Andrew Stubbs <ams@codesourcery.com>
12172
12173 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
12174 Remove unused elt_bits variable.
12175
12176 2022-09-29 Olivier Hainque <hainque@adacore.com>
12177
12178 * config/vxworks.h: Add comment on our use of
12179 HAVE_INITFINI_ARRAY_SUPPORT.
12180
12181 2022-09-29 Olivier Hainque <hainque@adacore.com>
12182
12183 * config/aarch64/t-aarch64-vxworks: Request multilib
12184 variants for mcmodel=large.
12185
12186 2022-09-29 Olivier Hainque <hainque@adacore.com>
12187
12188 * config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove
12189 resetting to 0.
12190
12191 2022-09-29 Olivier Hainque <hainque@adacore.com>
12192
12193 * config/vx-common.h (DWARF2_UNWIND_INFO): #define to 0
12194 when ARM_UNWIND_INFO is set.
12195
12196 2022-09-29 Julian Brown <julian@codesourcery.com>
12197
12198 PR middle-end/107028
12199 * gimplify.cc (omp_check_mapping_compatibility,
12200 oacc_resolve_clause_dependencies): New functions.
12201 (omp_accumulate_sibling_list): Remove redundant duplicate clause
12202 detection for OpenACC.
12203 (build_struct_sibling_lists): Skip deleted groups. Don't build sibling
12204 list for struct variables that are fully mapped on the same directive
12205 for OpenACC.
12206 (gimplify_scan_omp_clauses): Call oacc_resolve_clause_dependencies.
12207
12208 2022-09-29 Jose E. Marchesi <jose.marchesi@oracle.com>
12209
12210 PR middle-end/25521
12211 * varasm.cc (categorize_decl_for_section): Place `const volatile'
12212 objects in read-only sections.
12213 (default_select_section): Likewise.
12214
12215 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12216
12217 * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead
12218 of to_widest.
12219
12220 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12221
12222 * config/aarch64/aarch64.h (TARGET_CRYPTO, TARGET_SHA3, TARGET_SM4)
12223 (TARGET_DOTPROD): Don't depend on TARGET_SIMD.
12224 (TARGET_AES, TARGET_SHA2): Likewise. Remove TARGET_CRYPTO test.
12225 (TARGET_FP_F16INST): Don't depend on TARGET_FLOAT.
12226 (TARGET_SVE2, TARGET_SVE_F32MM, TARGET_SVE_F64MM): Don't depend
12227 on TARGET_SVE.
12228 (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3)
12229 (TARGET_SVE2_SM4): Don't depend on TARGET_SVE2.
12230 (TARGET_F32MM, TARGET_F64MM): Delete.
12231 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Guard
12232 float macros with just TARGET_FLOAT rather than TARGET_FLOAT
12233 || TARGET_SIMD.
12234 * config/aarch64/aarch64-simd.md (copysign<mode>3): Depend
12235 only on TARGET_SIMD, rather than TARGET_FLOAT && TARGET_SIMD.
12236 (aarch64_crypto_aes<aes_op>v16qi): Depend only on TARGET_AES,
12237 rather than TARGET_SIMD && TARGET_AES.
12238 (aarch64_crypto_aes<aesmc_op>v16qi): Likewise.
12239 (*aarch64_crypto_aese_fused): Likewise.
12240 (*aarch64_crypto_aesd_fused): Likewise.
12241 (aarch64_crypto_pmulldi): Likewise.
12242 (aarch64_crypto_pmullv2di): Likewise.
12243 (aarch64_crypto_sha1hsi): Likewise TARGET_SHA2.
12244 (aarch64_crypto_sha1hv4si): Likewise.
12245 (aarch64_be_crypto_sha1hv4si): Likewise.
12246 (aarch64_crypto_sha1su1v4si): Likewise.
12247 (aarch64_crypto_sha1<sha1_op>v4si): Likewise.
12248 (aarch64_crypto_sha1su0v4si): Likewise.
12249 (aarch64_crypto_sha256h<sha256_op>v4si): Likewise.
12250 (aarch64_crypto_sha256su0v4si): Likewise.
12251 (aarch64_crypto_sha256su1v4si): Likewise.
12252 (aarch64_crypto_sha512h<sha512_op>qv2di): Likewise TARGET_SHA3.
12253 (aarch64_crypto_sha512su0qv2di): Likewise.
12254 (aarch64_crypto_sha512su1qv2di, eor3q<mode>4): Likewise.
12255 (aarch64_rax1qv2di, aarch64_xarqv2di, bcaxq<mode>4): Likewise.
12256 (aarch64_sm3ss1qv4si): Likewise TARGET_SM4.
12257 (aarch64_sm3tt<sm3tt_op>qv4si): Likewise.
12258 (aarch64_sm3partw<sm3part_op>qv4si): Likewise.
12259 (aarch64_sm4eqv4si, aarch64_sm4ekeyqv4si): Likewise.
12260 * config/aarch64/aarch64.md (<FLOATUORS:optab>dihf2)
12261 (copysign<GPF:mode>3, copysign<GPF:mode>3_insn)
12262 (xorsign<mode>3): Remove redundant TARGET_FLOAT condition.
12263
12264 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12265
12266 * config/aarch64/aarch64.opt (aarch64_asm_isa_flags): New variable.
12267 * config/aarch64/aarch64.h (aarch64_asm_isa_flags)
12268 (aarch64_isa_flags): Redefine as read-only macros.
12269 (TARGET_SIMD, TARGET_FLOAT, TARGET_SVE): Don't depend on
12270 !TARGET_GENERAL_REGS_ONLY.
12271 * common/config/aarch64/aarch64-common.cc
12272 (aarch64_set_asm_isa_flags): New function.
12273 (aarch64_handle_option): Call it when updating -mgeneral-regs.
12274 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Replace
12275 m_old_isa_flags with m_old_asm_isa_flags.
12276 (aarch64_set_asm_isa_flags): Declare.
12277 * config/aarch64/aarch64-builtins.cc
12278 (aarch64_simd_switcher::aarch64_simd_switcher)
12279 (aarch64_simd_switcher::~aarch64_simd_switcher): Save and restore
12280 aarch64_asm_isa_flags instead of aarch64_isa_flags.
12281 * config/aarch64/aarch64-sve-builtins.cc
12282 (check_required_extensions): Use aarch64_asm_isa_flags instead
12283 of aarch64_isa_flags.
12284 * config/aarch64/aarch64.cc (aarch64_set_asm_isa_flags): New function.
12285 (aarch64_override_options, aarch64_handle_attr_arch)
12286 (aarch64_handle_attr_cpu, aarch64_handle_attr_isa_flags): Use
12287 aarch64_set_asm_isa_flags to set the ISA flags.
12288 (aarch64_option_print, aarch64_declare_function_name)
12289 (aarch64_start_file): Use aarch64_asm_isa_flags instead
12290 of aarch64_isa_flags.
12291 (aarch64_can_inline_p): Check aarch64_asm_isa_flags as well as
12292 aarch64_isa_flags.
12293
12294 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12295
12296 * common/config/aarch64/aarch64-common.cc (all_extensions):
12297 Include the feature flag in flags_on and flags_off.
12298 (aarch64_parse_extension): Update accordingly.
12299 (aarch64_get_extension_string_for_isa_flags): Likewise.
12300
12301 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12302
12303 * common/config/aarch64/aarch64-common.cc: Use aarch64_feature_flags
12304 for feature flags throughout.
12305 * config/aarch64/aarch64-protos.h: Likewise.
12306 * config/aarch64/aarch64-sve-builtins.h: Likewise.
12307 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
12308 * config/aarch64/aarch64.cc: Likewise.
12309 * config/aarch64/aarch64.opt: Likewise.
12310 * config/aarch64/driver-aarch64.cc: Likewise.
12311
12312 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12313
12314 * common/config/aarch64/aarch64-common.cc (aarch64_option_extension)
12315 (processor_name_to_arch, arch_to_arch_name): Remove const from
12316 member variables.
12317 (all_extensions, all_cores, all_architectures): Make a constexpr.
12318 * config/aarch64/aarch64.cc (processor): Remove const from
12319 member variables.
12320 (all_architectures): Make a constexpr.
12321 * config/aarch64/driver-aarch64.cc (aarch64_core_data)
12322 (aarch64_arch_driver_info): Remove const from member variables.
12323 (aarch64_cpu_data, aarch64_arches): Make a constexpr.
12324 (get_arch_from_id): Return a pointer to const.
12325 (host_detect_local_cpu): Update accordingly.
12326
12327 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12328
12329 * common/config/aarch64/aarch64-common.cc (processor_name_to_arch)
12330 (arch_to_arch_name): Use const char * instead of std::string.
12331
12332 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12333
12334 * common/config/aarch64/aarch64-common.cc
12335 (TARGET_OPTION_INIT_STRUCT): Delete.
12336 (aarch64_option_extension): Remove is_synthetic_flag.
12337 (all_extensions): Update accordingly.
12338 (all_extensions_by_on, opt_ext, opt_ext_cmp): Delete.
12339 (aarch64_option_init_struct, aarch64_contains_opt): Delete.
12340 (aarch64_get_extension_string_for_isa_flags): Rewrite to use
12341 all_extensions instead of all_extensions_on.
12342
12343 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12344
12345 * config/aarch64/aarch64-option-extensions.def: Switch to a new format.
12346 * config/aarch64/aarch64-cores.def: Use the same format to specify
12347 lists of features.
12348 * config/aarch64/aarch64-arches.def: Likewise, moving that information
12349 from aarch64.h.
12350 * config/aarch64/aarch64-opts.h (aarch64_feature_flags): New typedef.
12351 * config/aarch64/aarch64.h (aarch64_feature): New class enum.
12352 Turn AARCH64_FL_* macros into constexprs, getting the definitions
12353 from aarch64-option-extensions.def. Remove AARCH64_FL_FOR_* macros.
12354 * common/config/aarch64/aarch64-common.cc: Include
12355 aarch64-feature-deps.h.
12356 (all_extensions): Update for new .def format.
12357 (all_extensions_by_on, all_cores, all_architectures): Likewise.
12358 * config/aarch64/driver-aarch64.cc: Include aarch64-feature-deps.h.
12359 (aarch64_extensions): Update for new .def format.
12360 (aarch64_cpu_data, aarch64_arches): Likewise.
12361 * config/aarch64/aarch64.cc: Include aarch64-feature-deps.h.
12362 (all_architectures, all_cores): Update for new .def format.
12363 * config/aarch64/aarch64-sve-builtins.cc
12364 (check_required_extensions): Likewise.
12365 * config/aarch64/aarch64-feature-deps.h: New file.
12366
12367 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12368
12369 * config/aarch64/aarch64-option-extensions.def: Move crypto
12370 after sha2.
12371
12372 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12373
12374 * config/aarch64/aarch64-option-extensions.def (dotprod): Depend
12375 on fp as well as simd.
12376 (sha3): Likewise.
12377 (aes): Likewise. Make +noaes disable crypto.
12378 (sha2): Likewise +nosha2. Also make +nosha2 disable sha3 and
12379 sve2-sha3.
12380 (sve2-sha3): Depend on sha2 as well as sha3.
12381
12382 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12383
12384 PR target/107025
12385 * config/aarch64/aarch64.h (oAARCH64_FL_RCPC8_4): Delete.
12386 (AARCH64_FL_FOR_V8_4A): Update accordingly.
12387 (AARCH64_ISA_RCPC8_4): Use AARCH64_FL_V8_4A directly.
12388 * config/aarch64/aarch64-cores.def (thunderx3t110): Remove
12389 AARCH64_FL_RCPC8_4.
12390
12391 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12392
12393 * config/aarch64/aarch64-cores.def: Remove AARCH64_FL_FOR_<ARCH>
12394 from the flags field.
12395 * common/config/aarch64/aarch64-common.cc (all_cores): Add it
12396 here instead.
12397 * config/aarch64/aarch64.cc (all_cores): Likewise.
12398 * config/aarch64/driver-aarch64.cc (all_cores): Likewise.
12399
12400 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12401
12402 * config.gcc: Remove dead aarch64-option-extensions.def code.
12403 * config/aarch64/aarch64-arches.def: Update comment.
12404
12405 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12406
12407 * config/aarch64/aarch64-arches.def: Add a leading "V" to the
12408 ARCH_IDENT fields.
12409 * config/aarch64/aarch64-cores.def: Update accordingly.
12410 * common/config/aarch64/aarch64-common.cc (all_cores): Likewise.
12411 * config/aarch64/aarch64.cc (all_cores): Likewise.
12412 * config/aarch64/driver-aarch64.cc (aarch64_arches): Skip the
12413 leading "V".
12414
12415 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12416
12417 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8): Rename to...
12418 (AARCH64_FL_FOR_V8A): ...this.
12419 (AARCH64_FL_FOR_ARCH8_1): Rename to...
12420 (AARCH64_FL_FOR_V8_1A): ...this.
12421 (AARCH64_FL_FOR_ARCH8_2): Rename to...
12422 (AARCH64_FL_FOR_V8_2A): ...this.
12423 (AARCH64_FL_FOR_ARCH8_3): Rename to...
12424 (AARCH64_FL_FOR_V8_3A): ...this.
12425 (AARCH64_FL_FOR_ARCH8_4): Rename to...
12426 (AARCH64_FL_FOR_V8_4A): ...this.
12427 (AARCH64_FL_FOR_ARCH8_5): Rename to...
12428 (AARCH64_FL_FOR_V8_5A): ...this.
12429 (AARCH64_FL_FOR_ARCH8_6): Rename to...
12430 (AARCH64_FL_FOR_V8_6A): ...this.
12431 (AARCH64_FL_FOR_ARCH8_7): Rename to...
12432 (AARCH64_FL_FOR_V8_7A): ...this.
12433 (AARCH64_FL_FOR_ARCH8_8): Rename to...
12434 (AARCH64_FL_FOR_V8_8A): ...this.
12435 (AARCH64_FL_FOR_ARCH8_R): Rename to...
12436 (AARCH64_FL_FOR_V8R): ...this.
12437 (AARCH64_FL_FOR_ARCH9): Rename to...
12438 (AARCH64_FL_FOR_V9A): ...this.
12439 (AARCH64_FL_FOR_ARCH9_1): Rename to...
12440 (AARCH64_FL_FOR_V9_1A): ...this.
12441 (AARCH64_FL_FOR_ARCH9_2): Rename to...
12442 (AARCH64_FL_FOR_V9_2A): ...this.
12443 (AARCH64_FL_FOR_ARCH9_3): Rename to...
12444 (AARCH64_FL_FOR_V9_3A): ...this.
12445 * common/config/aarch64/aarch64-common.cc (all_cores): Update
12446 accordingly.
12447 * config/aarch64/aarch64-arches.def: Likewise.
12448 * config/aarch64/aarch64-cores.def: Likewise.
12449 * config/aarch64/aarch64.cc (all_cores): Likewise.
12450
12451 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12452
12453 * config/aarch64/aarch64.h (AARCH64_FL_V8_1, AARCH64_FL_V8_2)
12454 (AARCH64_FL_V8_3, AARCH64_FL_V8_4, AARCH64_FL_V8_5, AARCH64_FL_V8_6)
12455 (AARCH64_FL_V9, AARCH64_FL_V8_7, AARCH64_FL_V8_8, AARCH64_FL_V9_1)
12456 (AARCH64_FL_V9_2, AARCH64_FL_V9_3): Add "A" to the end of the name.
12457 (AARCH64_FL_V8_R): Rename to AARCH64_FL_V8R.
12458 (AARCH64_FL_FOR_ARCH8_1, AARCH64_FL_FOR_ARCH8_2): Update accordingly.
12459 (AARCH64_FL_FOR_ARCH8_3, AARCH64_FL_FOR_ARCH8_4): Likewise.
12460 (AARCH64_FL_FOR_ARCH8_5, AARCH64_FL_FOR_ARCH8_6): Likewise.
12461 (AARCH64_FL_FOR_ARCH8_7, AARCH64_FL_FOR_ARCH8_8): Likewise.
12462 (AARCH64_FL_FOR_ARCH8_R, AARCH64_FL_FOR_ARCH9): Likewise.
12463 (AARCH64_FL_FOR_ARCH9_1, AARCH64_FL_FOR_ARCH9_2): Likewise.
12464 (AARCH64_FL_FOR_ARCH9_3, AARCH64_ISA_V8_2A, AARCH64_ISA_V8_3A)
12465 (AARCH64_ISA_V8_4A, AARCH64_ISA_V8_5A, AARCH64_ISA_V8_6A): Likewise.
12466 (AARCH64_ISA_V8R, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A): Likewise.
12467 (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A): Likewise.
12468
12469 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12470
12471 * config/aarch64/aarch64.h (AARCH64_ISA_V8_2, AARCH64_ISA_V8_3)
12472 (AARCH64_ISA_V8_4, AARCH64_ISA_V8_5, AARCH64_ISA_V8_6)
12473 (AARCH64_ISA_V9, AARCH64_ISA_V9_1, AARCH64_ISA_V9_2)
12474 (AARCH64_ISA_V9_3): Add "A" to the end of the name.
12475 (AARCH64_ISA_V8_R): Rename to AARCH64_ISA_V8R.
12476 (TARGET_ARMV8_3, TARGET_JSCVT, TARGET_FRINT, TARGET_MEMTAG): Update
12477 accordingly.
12478 * common/config/aarch64/aarch64-common.cc
12479 (aarch64_get_extension_string_for_isa_flags): Likewise.
12480 * config/aarch64/aarch64-c.cc
12481 (aarch64_define_unconditional_macros): Likewise.
12482
12483 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12484
12485 * Makefile.in (GTFILES): Add OPTIONS_H_EXTRA.
12486
12487 2022-09-29 Jakub Jelinek <jakub@redhat.com>
12488
12489 PR bootstrap/107059
12490 * cppdefault.cc (cpp_include_defaults): If SYSROOT_HEADERS_SUFFIX_SPEC
12491 isn't defined, add FIXED_INCLUDE_DIR entry with multilib flag 2
12492 before FIXED_INCLUDE_DIR entry with multilib flag 0.
12493 * gcc.cc (do_spec_1): If multiarch_dir, add
12494 include-fixed/multiarch_dir paths before include-fixed paths.
12495
12496 2022-09-29 Martin Liska <mliska@suse.cz>
12497
12498 PR driver/106897
12499 * common.opt: Add -gz=zstd value.
12500 * configure.ac: Detect --compress-debug-sections=zstd
12501 for both linker and assembler.
12502 * configure: Regenerate.
12503 * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Handle -gz=zstd.
12504 (ASM_COMPRESS_DEBUG_SPEC): Likewise.
12505
12506 2022-09-29 Richard Biener <rguenther@suse.de>
12507
12508 PR tree-optimization/105646
12509 * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
12510 the set of fallthru reachable blocks from function entry
12511 and use that to determine wlims.always_executed.
12512
12513 2022-09-29 liuhongt <hongtao.liu@intel.com>
12514
12515 PR tree-optimization/107055
12516 * tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for
12517 nonlinear induction variables.
12518 * tree-vect-loop.cc (vect_can_peel_nonlinear_iv_p): New
12519 functions.
12520 (vectorizable_nonlinear_induction): Put part codes into
12521 vect_can_peel_nonlinear_iv_p.
12522 * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Declare.
12523
12524 2022-09-28 Eugene Rozenfeld <erozen@microsoft.com>
12525
12526 * basic-block.h: Remove discriminator from basic blocks.
12527 * cfghooks.cc (split_block_1): Remove discriminator from basic blocks.
12528 * final.cc (final_start_function_1): Switch from per-bb to per statement
12529 discriminator.
12530 (final_scan_insn_1): Don't keep track of basic block discriminators.
12531 (compute_discriminator): Switch from basic block discriminators to
12532 instruction discriminators.
12533 (insn_discriminator): New function to return instruction discriminator.
12534 (notice_source_line): Use insn_discriminator.
12535 * gimple-pretty-print.cc (dump_gimple_bb_header): Remove dumping of
12536 basic block discriminators.
12537 * gimple-streamer-in.cc (input_bb): Remove reading of basic block
12538 discriminators.
12539 * gimple-streamer-out.cc (output_bb): Remove writing of basic block
12540 discriminators.
12541 * input.cc (make_location): Pass 0 discriminator to COMBINE_LOCATION_DATA.
12542 (location_with_discriminator): New function to combine locus with
12543 a discriminator.
12544 (has_discriminator): New function to check if a location has a discriminator.
12545 (get_discriminator_from_loc): New function to get the discriminator
12546 from a location.
12547 * input.h: Declarations of new functions.
12548 * lto-streamer-in.cc (cmp_loc): Use discriminators in location comparison.
12549 (apply_location_cache): Keep track of current discriminator.
12550 (input_location_and_block): Read discriminator from stream.
12551 * lto-streamer-out.cc (clear_line_info): Set current discriminator to
12552 UINT_MAX.
12553 (lto_output_location_1): Write discriminator to stream.
12554 * lto-streamer.h: Add discriminator to cached_location.
12555 Add current_discr to lto_location_cache.
12556 Add current_discr to output_block.
12557 * print-rtl.cc (print_rtx_operand_code_i): Print discriminator.
12558 * rtl.h: Add extern declaration of insn_discriminator.
12559 * tree-cfg.cc (assign_discriminator): New function to assign a unique
12560 discriminator value to all statements in a basic block that have the given
12561 line number.
12562 (assign_discriminators): Assign discriminators to statement locations.
12563 * tree-pretty-print.cc (dump_location): Dump discriminators.
12564 * tree.cc (set_block): Preserve discriminator when setting block.
12565 (set_source_range): Preserve discriminator when setting source range.
12566
12567 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
12568
12569 PR target/107061
12570 * config/i386/predicates.md (encodekey128_operation): Check
12571 XMM4-XMM6 as clobbered.
12572 (encodekey256_operation): Likewise.
12573 * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
12574 (encodekey256u32): Likewise.
12575
12576 2022-09-28 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
12577
12578 * config.gcc: Add riscv-vector-builtins.o.
12579 * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV builtin function.
12580 * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): New function.
12581 * config/riscv/riscv.cc (ENTRY): New macro.
12582 (riscv_v_ext_enabled_vector_mode_p): New function.
12583 (riscv_mangle_type): Add RVV mangle.
12584 (riscv_vector_mode_supported_p): Adjust RVV machine mode.
12585 (riscv_verify_type_context): Add context check for RVV.
12586 (riscv_vector_alignment): Add RVV alignment target hook support.
12587 (TARGET_VECTOR_MODE_SUPPORTED_P): New target hook support.
12588 (TARGET_VERIFY_TYPE_CONTEXT): Ditto.
12589 (TARGET_VECTOR_ALIGNMENT): Ditto.
12590 * config/riscv/t-riscv: Add riscv-vector-builtins.o
12591 * config/riscv/riscv-vector-builtins.cc: New file.
12592 * config/riscv/riscv-vector-builtins.def: New file.
12593 * config/riscv/riscv-vector-builtins.h: New file.
12594 * config/riscv/riscv-vector-switch.def: New file.
12595
12596 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
12597
12598 * var-tracking.cc (vt_add_function_parameter): Add entry values
12599 up to maximal register mode.
12600
12601 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
12602
12603 * cselib.cc (new_cselib_val): Keep track of further subvalue
12604 relations.
12605
12606 2022-09-28 Andrea Corallo <andrea.corallo@arm.com>
12607
12608 * config/arm/arm-c.cc (arm_cpu_builtins): Define
12609 __ARM_FEATURE_AES and __ARM_FEATURE_SHA2.
12610
12611 2022-09-28 Xi Ruoyao <xry111@xry111.site>
12612
12613 PR tree-optimization/105414
12614 * config/loongarch/loongarch.md (UNSPEC_FMAX): New unspec.
12615 (UNSPEC_FMIN): Likewise.
12616 (fmax<mode>3): Use UNSPEC_FMAX instead of smax.
12617 (fmin<mode>3): Use UNSPEC_FMIN instead of smin.
12618
12619 2022-09-28 Lulu Cheng <chenglulu@loongson.cn>
12620
12621 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset):
12622 Fixed typo in "asan_mapping.h".
12623
12624 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
12625
12626 PR middle-end/58245
12627 * calls.cc: Include "tree-eh.h".
12628 (expand_call): Check stack canary before throwing exception.
12629
12630 2022-09-27 Eugene Rozenfeld <erozen@microsoft.com>
12631
12632 * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison.
12633
12634 2022-09-27 Kim Kuparinen <kim.kuparinen@rightware.com>
12635
12636 * doc/invoke.texi: Update ABI version info.
12637
12638 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
12639
12640 * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a
12641 singleton.
12642
12643 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
12644
12645 * value-range.cc (irange::set_nonzero_bits): Set range when known.
12646
12647 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
12648
12649 * value-range.h (irange::set): New version taking wide_int_ref.
12650
12651 2022-09-27 Jakub Jelinek <jakub@redhat.com>
12652
12653 PR tree-optimization/107029
12654 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): Treat
12655 OFFSET_TYPE like POINTER_TYPE, except that OFFSET_TYPE may be
12656 signed and so can trigger even the (b % 4) == 3 case.
12657
12658 2022-09-27 Jeff Law <jeffreyalaw@gmail.com>
12659
12660 * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return
12661 and return are available before trying to use them.
12662
12663 2022-09-27 Jakub Jelinek <jakub@redhat.com>
12664
12665 PR c++/106652
12666 PR c++/85518
12667 * tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE
12668 enumerator.
12669 * tree.h (float128t_type_node): Define.
12670 * tree.cc (build_common_tree_nodes): Initialize float128t_type_node.
12671 * builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that
12672 _Float<N> is supported in C++ too.
12673 * config/i386/i386.cc (ix86_mangle_type): Only mangle as "g"
12674 float128t_type_node.
12675 * config/i386/i386-builtins.cc (ix86_init_builtin_types): Use
12676 float128t_type_node for __float128 instead of float128_type_node
12677 and create it if NULL.
12678 * config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph,
12679 _mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of
12680 0.0f.
12681 * config/ia64/ia64.cc (ia64_init_builtins): Use
12682 float128t_type_node for __float128 instead of float128_type_node
12683 and create it if NULL.
12684 * config/rs6000/rs6000-c.cc (is_float128_p): Also return true
12685 for float128t_type_node if non-NULL.
12686 * config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle
12687 float128_type_node as "u9__ieee128".
12688 * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use
12689 float128t_type_node for __float128 instead of float128_type_node
12690 and create it if NULL.
12691
12692 2022-09-26 Martin Liska <mliska@suse.cz>
12693
12694 * doc/invoke.texi: Add missing dash for
12695 Wanalyzer-exposure-through-uninit-copy.
12696
12697 2022-09-26 Aldy Hernandez <aldyh@redhat.com>
12698
12699 PR tree-optimization/107009
12700 * range-op.cc (operator_bitwise_and::op1_range): Optimize 0 = x & MASK.
12701 (range_op_bitwise_and_tests): New test.
12702
12703 2022-09-26 Aldy Hernandez <aldyh@redhat.com>
12704
12705 PR tree-optimization/107009
12706 * tree-ssa-dom.cc
12707 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
12708 Iterate over exports.
12709
12710 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
12711
12712 * config.gcc (with_arch) [nvptx]: Allow '--with-arch' to override
12713 the default.
12714 * config/nvptx/gen-multilib-matches.sh: New.
12715 * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
12716 (MULTILIB_EXCEPTIONS): Handle this.
12717 * doc/install.texi (Specific) <nvptx-*-none>: Document this.
12718 * doc/invoke.texi (Nvidia PTX Options): Likewise.
12719
12720 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
12721
12722 * config.gcc (TM_MULTILIB_CONFIG) [nvptx]: Set to '$with_arch'.
12723 * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
12724 (MULTILIB_EXCEPTIONS): Handle it.
12725
12726 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
12727
12728 * config.gcc (with_arch) [nvptx]: Set to 'sm_30'.
12729 * config/nvptx/nvptx.cc (nvptx_option_override): Assert that
12730 '-misa' appeared.
12731 * config/nvptx/nvptx.h (OPTION_DEFAULT_SPECS): Define.
12732 * config/nvptx/nvptx.opt (misa=): Remove 'Init'.
12733
12734 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
12735
12736 * config/nvptx/nvptx.h (ASM_SPEC): Define.
12737
12738 2022-09-26 Jeff Law <jeffreyalaw@gmail.com>
12739
12740 * cfgcleanup.cc (bb_is_just_return): No longer static.
12741 * cfgcleanup.h (bb_is_just_return): Add prototype.
12742 * cfgrtl.cc (fixup_reorder_chain): Do not create an
12743 unconditional jump to a return block. Conditionally
12744 remove unreachable blocks.
12745
12746 2022-09-26 Tobias Burnus <tobias@codesourcery.com>
12747
12748 PR middle-end/106982
12749 * omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
12750
12751 2022-09-26 Martin Liska <mliska@suse.cz>
12752
12753 * config/s390/s390.cc (s390_rtx_costs): Remove dest variable
12754 and use only dst.
12755
12756 2022-09-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12757
12758 * config/aarch64/aarch64-arches.def (armv9.1-a): Define.
12759 (armv9.2-a): Likewise.
12760 (armv9.3-a): Likewise.
12761 * config/aarch64/aarch64.h (AARCH64_FL_V9_1): Likewise.
12762 (AARCH64_FL_V9_2): Likewise.
12763 (AARCH64_FL_V9_3): Likewise.
12764 (AARCH64_FL_FOR_ARCH9_1): Likewise.
12765 (AARCH64_FL_FOR_ARCH9_2): Likewise.
12766 (AARCH64_FL_FOR_ARCH9_3): Likewise.
12767 (AARCH64_ISA_V9_1): Likewise.
12768 (AARCH64_ISA_V9_2): Likewise.
12769 (AARCH64_ISA_V9_3): Likewise.
12770 * doc/invoke.texi (AArch64 Options): Document armv9.1-a, armv9.2-a,
12771 armv9.3-a values to -march.
12772
12773 2022-09-26 Martin Liska <mliska@suse.cz>
12774
12775 * value-range.cc (tree_compare): Remove unused function.
12776
12777 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
12778
12779 PR target/96072
12780 * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
12781 condition for adding REG_CFA_DEF_CFA reg note with
12782 frame_pointer_needed_indeed.
12783
12784 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
12785
12786 PR target/100645
12787 * config/rs6000/vector.md (vec_shr_<mode>): Replace condition
12788 TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
12789
12790 2022-09-26 Hongtao Liu <hongtao.liu@intel.com>
12791 Liwei Xu <liwei.xu@intel.com>
12792
12793 PR target/53346
12794 * config/i386/i386-expand.cc (expand_vec_perm_shufps_shufps):
12795 New function.
12796 (ix86_expand_vec_perm_const_1): Insert
12797 expand_vec_perm_shufps_shufps at the end of 2-instruction
12798 expand sequence.
12799
12800 2022-09-25 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
12801
12802 * doc/sourcebuild.texi: Fix chapter level.
12803
12804 2022-09-24 Jakub Jelinek <jakub@redhat.com>
12805
12806 PR c/107001
12807 * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
12808 at the end.
12809 * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
12810 is not stand-alone directive. For GIMPLE_OMP_TASKGROUP, also don't
12811 update parent.
12812 (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
12813 cur_region back after new_omp_region.
12814
12815 2022-09-23 Vineet Gupta <vineetg@rivosinc.com>
12816
12817 * config/riscv/riscv.h (LOCAL_SYM_P): New.
12818 (USE_LOAD_ADDRESS_MACRO): Simplify by calling LOCAL_SYM_P.
12819
12820 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai>
12821
12822 * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add RVV mask modes.
12823 (ADJUST_NUNITS): Adjust nunits using riscv_vector_chunks.
12824 (ADJUST_ALIGNMENT): Adjust alignment.
12825 (ADJUST_BYTESIZE): Adjust bytesize using riscv_vector_chunks.
12826 (RVV_MODES): New macro.
12827 (VECTOR_MODE_WITH_PREFIX): Add RVV vector modes.
12828 (VECTOR_MODES_WITH_PREFIX): Add RVV vector modes.
12829
12830 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai>
12831
12832 * common/config/riscv/riscv-common.cc: Change "static void" to "void".
12833 * config.gcc: Add riscv-selftests.o
12834 * config/riscv/predicates.md: Allow const_poly_int.
12835 * config/riscv/riscv-protos.h (riscv_reinit): New function.
12836 (riscv_parse_arch_string): change as exten function.
12837 (riscv_run_selftests): New function.
12838 * config/riscv/riscv.cc (riscv_cannot_force_const_mem): Don't allow poly
12839 into const pool.
12840 (riscv_report_v_required): New function.
12841 (riscv_expand_op): New function.
12842 (riscv_expand_mult_with_const_int): New function.
12843 (riscv_legitimize_poly_move): Ditto.
12844 (riscv_legitimize_move): New function.
12845 (riscv_hard_regno_mode_ok): Add VL/VTYPE register allocation and fix
12846 vector RA.
12847 (riscv_convert_vector_bits): Fix riscv_vector_chunks configuration for
12848 -marh no 'v'.
12849 (riscv_reinit): New function.
12850 (TARGET_RUN_TARGET_SELFTESTS): New target hook support.
12851 * config/riscv/t-riscv: Add riscv-selftests.o.
12852 * config/riscv/riscv-selftests.cc: New file.
12853
12854 2022-09-23 Richard Biener <rguenther@suse.de>
12855
12856 PR tree-optimization/106922
12857 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
12858 an arbitrary number of same valued skipped stores.
12859
12860 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
12861
12862 * value-range.cc (frange::set): Swap setters such that the one
12863 accepting REAL_VALUE_TYPE does all the work.
12864
12865 2022-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12866
12867 * config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
12868 (demeter): Update tunings to neoversev2.
12869 * config/aarch64/aarch64-tune.md: Regenerate.
12870 * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
12871 neoversev2_addrcost_table.
12872 (demeter_regmove_cost): Rename to neoversev2_addrcost_table.
12873 (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
12874 (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
12875 (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
12876 (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
12877 (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
12878 (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
12879 Update references to above.
12880 (demeter_vector_cost): Rename to neoversev2_vector_cost.
12881 (demeter_tunings): Rename to neoversev2_tunings.
12882 (aarch64_vec_op_count::rename_cycles_per_iter): Use
12883 neoversev2_sve_issue_info instead of demeter_sve_issue_info.
12884 * doc/invoke.texi (AArch64 Options): Document neoverse-v2.
12885
12886 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
12887
12888 * range-op-float.cc (build_le): Use vrp_val_*.
12889 (build_lt): Same.
12890 (build_ge): Same.
12891 (build_gt): Same.
12892 * value-range.cc (frange::set): Chop ranges outside of the
12893 representable numbers for -ffinite-math-only.
12894 (frange::normalize_kind): Use vrp_val*.
12895 (frange::verify_range): Same.
12896 (frange::set_nonnegative): Same.
12897 (range_tests_floats): Remove tests that depend on -INF and +INF.
12898 * value-range.h (real_max_representable): Add prototype.
12899 (real_min_representable): Same.
12900 (vrp_val_max): Set max representable number for
12901 -ffinite-math-only.
12902 (vrp_val_min): Same but for min.
12903 (frange::set_varying): Use vrp_val*.
12904
12905 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
12906
12907 * real.cc (debug): New.
12908
12909 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
12910
12911 * value-range-pretty-print.cc (vrange_printer::print_real_value): New.
12912 (vrange_printer::visit): Call print_real_value.
12913 * value-range-pretty-print.h: New print_real_value.
12914
12915 2022-09-23 Martin Liska <mliska@suse.cz>
12916
12917 * common.opt: Update -flto-compression-level documentation.
12918 * opts.cc (print_filtered_help): Do not append range to an
12919 option that uses \t syntax.
12920
12921 2022-09-23 Jakub Jelinek <jakub@redhat.com>
12922
12923 * attribs.cc (decl_attributes): Improve diagnostics, instead of
12924 saying expected between 1 and 1, found 2 just say expected 1, found 2.
12925
12926 2022-09-23 Hu, Lin1 <lin1.hu@intel.com>
12927
12928 PR target/94962
12929 * config/i386/constraints.md (BH): New define_constraint.
12930 * config/i386/i386.cc (standard_sse_constant_p): Add return
12931 3/4 when operand matches new predicate.
12932 (standard_sse_constant_opcode): Add new alternative branch to
12933 return "vpcmpeqd".
12934 * config/i386/predicates.md
12935 (vector_all_ones_zero_extend_half_operand): New define_predicate.
12936 (vector_all_ones_zero_extend_quarter_operand): Ditto.
12937 * config/i386/sse.md: Add constraint to insn "mov<mode>_internal".
12938
12939 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
12940
12941 * gimple-range-fold.cc (range_of_range_op): Handle no operands.
12942 (range_of_call): Do not check for builtins.
12943 (fold_using_range::range_of_builtin_call): Delete.
12944 (fold_using_range::range_of_builtin_int_call): Delete.
12945 * gimple-range-fold.h: Adjust prototypes.
12946 * gimple-range-op.cc (class cfn_parity): New.
12947 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12948
12949 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
12950
12951 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
12952 for CFN_GOACC_DIM_*.
12953 * gimple-range-op.cc (class cfn_goacc_dim): New.
12954 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12955
12956 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
12957
12958 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
12959 for CFN_BUILT_IN_STRLEN.
12960 * gimple-range-op.cc (class cfn_strlen): New.
12961 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12962
12963 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
12964
12965 * gimple-range-fold.cc (range_of_builtin_ubsan_call): Delete.
12966 (range_of_builtin_int_call): Remove cases for
12967 CFN_BUILT_IN_UBSAN_CHECK.
12968 * gimple-range-op.cc (class cfn_ubsan): New.
12969 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12970
12971 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
12972
12973 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
12974 for CFN_BUILT_IN_CLRSB.
12975 * gimple-range-op.cc (class cfn_clrsb): New.
12976 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12977
12978 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
12979
12980 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
12981 for CFN_CTZ.
12982 * gimple-range-op.cc (class cfn_ctz): New.
12983 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12984
12985 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
12986
12987 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
12988 for CFN_CLZ.
12989 * gimple-range-op.cc (class cfn_clz): New.
12990 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12991
12992 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
12993
12994 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
12995 for CFN_FFS and CFN_POPCOUNT.
12996 * gimple-range-op.cc (class cfn_pocount): New.
12997 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
12998
12999 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13000
13001 * gimple-range-fold.cc (get_letter_range): Move to new class.
13002 (range_of_builtin_int_call): Remove case for CFN_BUILT_IN_TOUPPER
13003 and CFN_BUILT_IN_TOLOWER.
13004 * gimple-range-op.cc (class cfn_toupper_tolower): New.
13005 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13006
13007 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13008
13009 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
13010 for CFN_BUILT_IN_SIGNBIT.
13011 * gimple-range-op.cc (class cfn_signbit): New.
13012 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13013
13014 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13015
13016 * gimple-range-fold.cc
13017 (fold_using_range::range_of_builtin_int_call): Remove case for
13018 CFN_BUILT_IN_CONSTANT_P.
13019 * gimple-range-op.cc (gimple_range_op_handler::supported_p):
13020 Check if a call also creates a range-op object.
13021 (gimple_range_op_handler): Also check builtin calls.
13022 (class cfn_constant_float_p): New. Float CFN_BUILT_IN_CONSTANT_P.
13023 (class cfn_constant_p): New. Integral CFN_BUILT_IN_CONSTANT_P.
13024 (gimple_range_op_handler::maybe_builtin_call): Set arguments and
13025 handler for supported built-in calls.
13026 * gimple-range-op.h (maybe_builtin_call): New prototype.
13027
13028 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13029
13030 * gimple-range-fold.cc (range_of_range_op): Set result to
13031 VARYING if the call to fold_range fails.
13032 * tree-data-ref.cc (compute_distributive_range): Ditto.
13033 * tree-vrp.cc (range_fold_binary_expr): Ditto.
13034 (range_fold_unary_expr): Ditto.
13035 * value-query.cc (range_query::get_tree_range): Ditto.
13036
13037 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13038
13039 * range-op-float.cc (range_operator_float::fold_range): New base
13040 method for "int = float op int".
13041 * range-op.cc (range_op_handler::fold_range): New case.
13042 * range-op.h: Update prototypes.
13043
13044 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13045
13046 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
13047 operand 1 for second range if there is no operand 2.
13048
13049 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13050
13051 * Makefile.in (OBJS): Add gimple-range-op.o.
13052 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Use
13053 gimple_range_op_handler.
13054 * gimple-range-fold.cc (gimple_range_base_of_assignment): Move
13055 to a method in gimple_range_op_handler.
13056 (gimple_range_operand1): Ditto.
13057 (gimple_range_operand2): Ditto.
13058 (fold_using_range::fold_stmt): Use gimple_range_op_handler.
13059 (fold_using_range::range_of_range_op): Ditto.
13060 (fold_using_range::relation_fold_and_or): Ditto.
13061 (fur_source::register_outgoing_edges): Ditto.
13062 (gimple_range_ssa_names): Relocate to gimple-range-op.cc.
13063 * gimple-range-fold.h: Adjust prototypes.
13064 * gimple-range-gori.cc (gimple_range_calc_op1): Move
13065 to a method in gimple_range_op_handler.
13066 (gimple_range_calc_op2): Ditto.
13067 (gori_compute::compute_operand_range): Use
13068 gimple_range_op_handler.
13069 (gori_compute::compute_logical_operands): Ditto.
13070 (compute_operand1_range): Ditto.
13071 (gori_compute::compute_operand2_range): Ditto.
13072 (gori_compute::compute_operand1_and_operand2_range): Ditto.
13073 * gimple-range-gori.h: Adjust protoypes.
13074 * gimple-range-op.cc: New. Supply gimple_range_op_handler methods.
13075 * gimple-range-op.h: New. Supply gimple_range_op_handler class.
13076 * gimple-range.cc (gimple_ranger::prefill_name): Use
13077 gimple_range_op_handler.
13078 (gimple_ranger::prefill_stmt_dependencies): Ditto.
13079 * gimple-range.h: Include gimple-range-op.h.
13080 * range-op.cc (range_op_handler::range_op_handler): Adjust and
13081 remove gimple * parameter option.
13082 * range-op.h: Adjust prototypes.
13083
13084 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13085
13086 * range-op.cc (range_op_handler::set_op_handler): Set new fields.
13087 (ange_op_handler::range_op_handler): Likewise.
13088 (range_op_handler::operator bool): Remove.
13089 (range_op_handler::fold_range): Use appropriate handler.
13090 (range_op_handler::op1_range): Likewise.
13091 (range_op_handler::op2_range): Likewise.
13092 (range_op_handler::lhs_op1_relation): Likewise.
13093 (range_op_handler::lhs_op2_relation): Likewise.
13094 (range_op_handler::op1_op2_relation): Likewise.
13095 * range-op.h (class range_op_handler): Store handler pointers.
13096 (range_op_handler:: operator bool): Inline.
13097
13098 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13099
13100 * tree-ssa-threadbackward.cc
13101 (back_threader::find_paths_to_names): Replace sequence with
13102 a call to gimple_range_ssa_names.
13103
13104 2022-09-22 Martin Liska <mliska@suse.cz>
13105 Fangrui Song <i@maskray.me>
13106
13107 * configure: Regenerate.
13108 * configure.ac: Simplify to gcc_cv_ld_compress_debug={0,1}
13109 and gcc_cv_as_compress_debug={0,1}.
13110 * doc/invoke.texi: Document the removal.
13111 * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Simplify and ignore
13112 zlib-gnu.
13113 (ASM_COMPRESS_DEBUG_SPEC): Likewise.
13114
13115 2022-09-22 Richard Biener <rguenther@suse.de>
13116
13117 PR tree-optimization/106922
13118 * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
13119 (vn_walk_cb_data::finish): Perform delayed verification of
13120 a skipped may-alias.
13121 (vn_reference_lookup_pieces): Likewise.
13122 (vn_reference_lookup): Likewise.
13123 (vn_reference_lookup_3): When skipping stores of the same
13124 value also handle constant stores that are more than a
13125 single VDEF away by delaying the verification.
13126
13127 2022-09-22 Max Filippov <jcmvbkbc@gmail.com>
13128
13129 * config/xtensa/xtensa.cc (TARGET_MAX_ANCHOR_OFFSET): New
13130 definition.
13131
13132 2022-09-22 Max Filippov <jcmvbkbc@gmail.com>
13133
13134 * config/xtensa/xtensa.cc (xtensa_can_output_mi_thunk)
13135 (xtensa_output_mi_thunk): New functions.
13136 (TARGET_ASM_CAN_OUTPUT_MI_THUNK)
13137 (TARGET_ASM_OUTPUT_MI_THUNK): New macro definitions.
13138 (xtensa_prepare_expand_call): Use fixed register a8 as temporary
13139 when called with reload_completed set to 1.
13140
13141 2022-09-22 Richard Biener <rguenther@suse.de>
13142
13143 PR tree-optimization/99407
13144 * tree-ssa-dse.cc (dse_stmt_to_dr_map): New global.
13145 (dse_classify_store): Use data-ref analysis to disambiguate more uses.
13146 (pass_dse::use_dr_analysis_p): New pass parameter.
13147 (pass_dse::set_pass_param): Implement.
13148 (pass_dse::execute): Allocate and deallocate dse_stmt_to_dr_map.
13149 * passes.def: Allow DR analysis for the DSE pass before loop.
13150
13151 2022-09-22 Richard Biener <rguenther@suse.de>
13152
13153 * tree-ssa-sccvn.cc (can_track_predicate_on_edge): New
13154 function split out from ...
13155 (vn_nary_op_insert_pieces_predicated): ... here.
13156
13157 2022-09-22 liuhongt <hongtao.liu@intel.com>
13158
13159 PR target/106994
13160 * config/i386/mmx.md (floorv2sf2): Fix typo, use
13161 register_operand instead of vector_operand for operands[1].
13162
13163 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
13164
13165 PR tree-optimization/106967
13166 * value-range.cc (frange::set): Set known NANs to undefined for
13167 flag_finite_math_only.
13168
13169 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
13170
13171 * value-range.cc (frange::combine_zeros): Call set_undefined.
13172 (frange::intersect_nans): Same.
13173 (frange::intersect): Same.
13174 (frange::verify_range): Undefined ranges do not have a type.
13175 * value-range.h (frange::set_undefined): Clear NAN flags and type.
13176
13177 2022-09-21 Richard Biener <rguenther@suse.de>
13178
13179 PR tree-optimization/106984
13180 * tsan.cc (instrument_builtin_call): Build the COND_EXPR condition in
13181 a separate statement.
13182
13183 2022-09-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13184
13185 * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT,
13186 EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS): Move definitions up before
13187 OPTION_DEFAULT_SPECS.
13188 (MCPU_MTUNE_NATIVE_SPECS): Pass "cpu" to
13189 local_cpu_detect when rewriting -march=native and no -mcpu or -mtune
13190 is given.
13191 (CONFIG_TUNE_SPEC): Define.
13192 (OPTION_DEFAULT_SPECS): Use CONFIG_TUNE_SPEC for "tune".
13193
13194 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
13195
13196 PR tree-optimization/106967
13197 * range-op-float.cc (foperator_equal::fold_range): Adjust for NAN.
13198 (foperator_equal::op1_range): Same.
13199 (foperator_not_equal::fold_range): Same.
13200 (foperator_not_equal::op1_range): Same.
13201 (foperator_lt::fold_range): Same.
13202 (foperator_lt::op1_range): Same.
13203 (foperator_lt::op2_range): Same.
13204 (foperator_le::fold_range): Same.
13205 (foperator_le::op1_range): Same.
13206 (foperator_le::op2_range): Same.
13207 (foperator_gt::fold_range): Same.
13208 (foperator_gt::op1_range): Same.
13209 (foperator_gt::op2_range): Same.
13210 (foperator_ge::fold_range): Same.
13211 (foperator_ge::op1_range): Same.
13212 (foperator_ge::op2_range): Same.
13213 (foperator_unordered::op1_range): Same.
13214 (foperator_ordered::fold_range): Same.
13215 (foperator_ordered::op1_range): Same.
13216 (build_le): Assert that we don't have a NAN.
13217 (build_lt): Same.
13218 (build_gt): Same.
13219 (build_ge): Same.
13220
13221 2022-09-21 liuhongt <hongtao.liu@intel.com>
13222
13223 PR tree-optimization/106963
13224 * tree-vect-loop.cc (vect_create_nonlinear_iv_init): Use
13225 vec_gen_perm_mask_any instead of vec_gen_perm_mask_check.
13226
13227 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
13228
13229 * value-range.h (frange::maybe_isnan): Return false for
13230 undefined ranges.
13231
13232 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
13233
13234 * value-range.cc (frange::set_nonnegative): Set +NAN.
13235 (range_tests_signed_zeros): New test.
13236 * value-range.h (frange::update_nan): New overload to set NAN sign.
13237
13238 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
13239
13240 PR target/106491
13241 * config/aarch64/aarch64-sve-builtins.cc (scalar_types)
13242 (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
13243 markup to (new) extern declarations instead of to the main
13244 definition.
13245
13246 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
13247
13248 PR tree-optimization/106794
13249 PR tree-optimization/106914
13250 * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
13251 Only consider loads that already have a permutation.
13252 (vect_optimize_slp_pass::start_choosing_layouts): Assert that
13253 loads with permutations are leaf nodes. Prevent any kind of grouped
13254 access from changing layout if it doesn't have a load permutation.
13255
13256 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
13257
13258 * tree-vect-data-refs.cc (vect_check_gather_scatter): Restrict
13259 early-out optimisation to SSA_NAMEs.
13260
13261 2022-09-20 Martin Liska <mliska@suse.cz>
13262
13263 * ctfc.cc (ctf_add_string): Replace "the the" with "the".
13264 * doc/md.texi: Likewise.
13265 * gimple-range-infer.cc (non_null_loadstore): Likewise.
13266
13267 2022-09-20 liuhongt <hongtao.liu@intel.com>
13268
13269 PR target/106910
13270 * config/i386/mmx.md (nearbyintv2sf2): New expander.
13271 (rintv2sf2): Ditto.
13272 (ceilv2sf2): Ditto.
13273 (lceilv2sfv2si2): Ditto.
13274 (floorv2sf2): Ditto.
13275 (lfloorv2sfv2si2): Ditto.
13276 (btruncv2sf2): Ditto.
13277 (lrintv2sfv2si2): Ditto.
13278 (roundv2sf2): Ditto.
13279 (lroundv2sfv2si2): Ditto.
13280 (*mmx_roundv2sf2): New define_insn.
13281
13282 2022-09-20 konglin1 <lingling.kong@intel.com>
13283
13284 PR middle-end/105735
13285 * tree-scalar-evolution.cc
13286 (analyze_and_compute_bitop_with_inv_effect): New function.
13287 (final_value_replacement_loop): Enhanced to handle bitop
13288 with inv induction.
13289
13290 2022-09-20 Xi Ruoyao <xry111@xry111.site>
13291
13292 * config/loongarch/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): For
13293 -static-pie, pass -static -pie --no-dynamic-linker -z text to
13294 the linker, and do not pass --dynamic-linker.
13295
13296 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
13297
13298 * value-range.cc (frange::flush_denormals_to_zero): New.
13299 (frange::set): Call flush_denormals_to_zero.
13300 * value-range.h (class frange): Add flush_denormals_to_zero.
13301
13302 2022-09-20 liuhongt <hongtao.liu@intel.com>
13303
13304 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Adjust for
13305 latest Intel processors.
13306
13307 2022-09-20 konglin1 <lingling.kong@intel.com>
13308
13309 PR target/106887
13310 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
13311 Fixed V16BF mode case.
13312
13313 2022-09-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
13314
13315 * targhooks.cc (default_zero_call_used_regs): Improve sorry
13316 message.
13317
13318 2022-09-18 Julian Brown <julian@codesourcery.com>
13319
13320 * gimplify.cc (omp_segregate_mapping_groups): Update comment.
13321 (gimplify_adjust_omp_clauses): Move ATTACH and
13322 ATTACH_ZERO_LENGTH_ARRAY_SECTION nodes to the end of the clause list
13323 for offloaded OpenMP regions.
13324
13325 2022-09-18 Jakub Jelinek <jakub@redhat.com>
13326
13327 PR middle-end/106831
13328 * value-range.cc (frange::singleton_p): Avoid propagating long
13329 doubles that may have multiple representations.
13330
13331 2022-09-18 Aldy Hernandez <aldyh@redhat.com>
13332
13333 * range-op-float.cc (frange_add_zeros): Replace set_signbit with
13334 union of zero.
13335 * value-query.cc (range_query::get_tree_range): Remove set_signbit
13336 use.
13337 * value-range-pretty-print.cc (vrange_printer::print_frange_prop):
13338 Remove.
13339 (vrange_printer::print_frange_nan): New.
13340 * value-range-pretty-print.h (print_frange_prop): Remove.
13341 (print_frange_nan): New.
13342 * value-range-storage.cc (frange_storage_slot::set_frange): Set
13343 kind and NAN fields.
13344 (frange_storage_slot::get_frange): Restore kind and NAN fields.
13345 * value-range-storage.h (class frange_storage_slot): Add kind and
13346 NAN fields.
13347 * value-range.cc (frange::update_nan): Remove.
13348 (frange::set_signbit): Remove.
13349 (frange::set): Adjust for NAN fields.
13350 (frange::normalize_kind): Remove m_props.
13351 (frange::combine_zeros): New.
13352 (frange::union_nans): New.
13353 (frange::union_): Handle new NAN fields.
13354 (frange::intersect_nans): New.
13355 (frange::intersect): Handle new NAN fields.
13356 (frange::operator=): Same.
13357 (frange::operator==): Same.
13358 (frange::contains_p): Same.
13359 (frange::singleton_p): Remove special case for signed zeros.
13360 (frange::verify_range): Adjust for new NAN fields.
13361 (frange::set_zero): Handle signed zeros.
13362 (frange::set_nonnegative): Same.
13363 (range_tests_nan): Adjust tests.
13364 (range_tests_signed_zeros): Same.
13365 (range_tests_signbit): Same.
13366 (range_tests_floats): Same.
13367 * value-range.h (class fp_prop): Remove.
13368 (FP_PROP_ACCESSOR): Remove.
13369 (class frange_props): Remove
13370 (frange::lower_bound): NANs don't have endpoints.
13371 (frange::upper_bound): Same.
13372 (frange_props::operator==): Remove.
13373 (frange_props::union_): Remove.
13374 (frange_props::intersect): Remove.
13375 (frange::update_nan): New.
13376 (frange::clear_nan): New.
13377 (frange::undefined_p): New.
13378 (frange::set_nan): New.
13379 (frange::known_finite): Adjust for new NAN representation.
13380 (frange::maybe_isnan): Same.
13381 (frange::known_isnan): Same.
13382 (frange::signbit_p): Same.
13383 * gimple-range-fold.cc (range_of_builtin_int_call): Rename
13384 known_signbit_p into signbit_p.
13385
13386 2022-09-17 Jan-Benedict Glaw <jbglaw@lug-owl.de>
13387
13388 * config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int)
13389 to prevent warning.
13390
13391 2022-09-17 Jakub Jelinek <jakub@redhat.com>
13392
13393 PR tree-optimization/106958
13394 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): If
13395 id >= l, cast op to type1, otherwise to pointer_sized_int_node.
13396 If type has pointer type, cast exp to pointer_sized_int_node
13397 even when id < l.
13398
13399 2022-09-16 liuhongt <hongtao.liu@intel.com>
13400
13401 PR target/106910
13402 * config/i386/i386-builtins.cc
13403 (ix86_builtin_vectorized_function): Modernized with
13404 corresponding expanders.
13405 * config/i386/sse.md (lrint<mode><sseintvecmodelower>2): New
13406 expander.
13407 (floor<mode>2): Ditto.
13408 (lfloor<mode><sseintvecmodelower>2): Ditto.
13409 (ceil<mode>2): Ditto.
13410 (lceil<mode><sseintvecmodelower>2): Ditto.
13411 (btrunc<mode>2): Ditto.
13412 (lround<mode><sseintvecmodelower>2): Ditto.
13413 (exp2<mode>2): Ditto.
13414
13415 2022-09-15 Joseph Myers <joseph@codesourcery.com>
13416
13417 * ginclude/float.h (INFINITY): Define only if
13418 [__FLT_HAS_INFINITY__].
13419
13420 2022-09-15 Richard Biener <rguenther@suse.de>
13421
13422 PR tree-optimization/106922
13423 * tree-ssa-pre.cc (translate_vuse_through_block): Only
13424 keep the VUSE if its def dominates PHIBLOCK.
13425 (prune_clobbered_mems): Rewrite logic so we check whether
13426 a value dies in a block when the VUSE def doesn't dominate it.
13427
13428 2022-09-15 Richard Biener <rguenther@suse.de>
13429
13430 * tree.cc (build_common_tree_nodes): Initialize void_list_node
13431 here.
13432
13433 2022-09-15 Jiufu Guo <guojiufu@linux.ibm.com>
13434
13435 PR target/106550
13436 * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Use pli.
13437
13438 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
13439
13440 * range-op-float.cc (frange_add_zeros): New.
13441 (build_le): Call frange_add_zeros.
13442 (build_ge): Same.
13443 (foperator_equal::op1_range): Same.
13444 (foperator_not_equal::op1_range): Same.
13445
13446 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
13447
13448 * range-op-float.cc (build_le): Accept frange instead of number.
13449 (build_lt): Same.
13450 (build_ge): Same.
13451 (build_gt): Same.
13452 (foperator_lt::op1_range): Pass full range to build_*.
13453 (foperator_lt::op2_range): Same.
13454 (foperator_le::op1_range): Same.
13455 (foperator_le::op2_range): Same.
13456 (foperator_gt::op1_range): Same.
13457 (foperator_gt::op2_range): Same.
13458 (foperator_ge::op1_range): Same.
13459 (foperator_ge::op2_range): Same.
13460
13461 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
13462
13463 * value-range.cc (frange::set): Use set_nan.
13464 * value-range.h (frange::set_nan): Inline code originally in
13465 set().
13466
13467 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
13468
13469 * range-op-float.cc (frange_set_nan): Remove.
13470 (build_lt): Use set_nan, update_nan, clear_nan.
13471 (build_gt): Same.
13472 (foperator_equal::op1_range): Same.
13473 (foperator_not_equal::op1_range): Same.
13474 (foperator_lt::op1_range): Same.
13475 (foperator_lt::op2_range): Same.
13476 (foperator_le::op1_range): Same.
13477 (foperator_le::op2_range): Same.
13478 (foperator_gt::op1_range): Same.
13479 (foperator_gt::op2_range): Same.
13480 (foperator_ge::op1_range): Same.
13481 (foperator_ge::op2_range): Same.
13482 (foperator_unordered::op1_range): Same.
13483 (foperator_ordered::op1_range): Same.
13484 * value-query.cc (range_query::get_tree_range): Same.
13485 * value-range.cc (frange::set_nan): Same.
13486 (frange::update_nan): Same.
13487 (frange::union_): Same.
13488 (frange::intersect): Same.
13489 (range_tests_nan): Same.
13490 (range_tests_signed_zeros): Same.
13491 (range_tests_signbit): Same.
13492 (range_tests_floats): Same.
13493 * value-range.h (class frange): Add update_nan and clear_nan.
13494 (frange::set_nan): New.
13495
13496 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
13497
13498 * value-query.cc (range_query::get_tree_range): Remove check for overflow.
13499 * value-range-pretty-print.cc (vrange_printer::visit): Move read
13500 of type until after undefined_p is checked.
13501 * value-range.cc (frange::set): Remove asserts for REAL_CST.
13502 (frange::contains_p): Tidy up.
13503 (range_tests_nan): Add comment.
13504 * value-range.h (frange::type): Check for undefined_p.
13505 (frange::set_undefined): Remove set of endpoints.
13506
13507 2022-09-14 Julian Brown <julian@codesourcery.com>
13508
13509 * gimplify.cc (omp_group_last): Allow GOMP_MAP_ATTACH_DETACH after
13510 GOMP_MAP_STRUCT (for reindexing).
13511 (omp_gather_mapping_groups): Reimplement using...
13512 (omp_gather_mapping_groups_1): This new function. Stop processing at
13513 GATHER_SENTINEL.
13514 (omp_group_base): Allow GOMP_MAP_TO_PSET without any following node.
13515 (omp_index_mapping_groups): Reimplement using...
13516 (omp_index_mapping_groups_1): This new function. Handle
13517 REINDEX_SENTINEL.
13518 (omp_reindex_mapping_groups, omp_mapped_by_containing_struct): New
13519 functions.
13520 (omp_tsort_mapping_groups_1): Adjust handling of base group being the
13521 same as current group. Use omp_mapped_by_containing_struct.
13522 (omp_build_struct_sibling_lists): Use omp_mapped_by_containing_struct
13523 and omp_reindex_mapping_groups. Robustify group deletion for reordered
13524 lists.
13525 (gimplify_scan_omp_clauses): Update calls to
13526 omp_build_struct_sibling_lists.
13527
13528 2022-09-14 Julian Brown <julian@codesourcery.com>
13529
13530 * gimplify.cc (gimplify_omp_var_data): Remove GOVD_MAP_HAS_ATTACHMENTS.
13531 (GOMP_FIRSTPRIVATE_IMPLICIT): Renumber.
13532 (insert_struct_comp_map): Refactor function into...
13533 (build_omp_struct_comp_nodes): This new function. Remove list handling
13534 and improve self-documentation.
13535 (extract_base_bit_offset): Remove BASE_REF, OFFSETP parameters. Move
13536 code to strip outer parts of address out of function, but strip no-op
13537 conversions.
13538 (omp_mapping_group): Add DELETED field for use during reindexing.
13539 (omp_strip_components_and_deref, omp_strip_indirections): New functions.
13540 (omp_group_last, omp_group_base): Add GOMP_MAP_STRUCT handling.
13541 (omp_gather_mapping_groups): Initialise DELETED field for new groups.
13542 (omp_index_mapping_groups): Notice DELETED groups when (re)indexing.
13543 (omp_siblist_insert_node_after, omp_siblist_move_node_after,
13544 omp_siblist_move_nodes_after, omp_siblist_move_concat_nodes_after): New
13545 helper functions.
13546 (omp_accumulate_sibling_list): New function to build up GOMP_MAP_STRUCT
13547 node groups for sibling lists. Outlined from gimplify_scan_omp_clauses.
13548 (omp_build_struct_sibling_lists): New function.
13549 (gimplify_scan_omp_clauses): Remove struct_map_to_clause,
13550 struct_seen_clause, struct_deref_set. Call
13551 omp_build_struct_sibling_lists as pre-pass instead of handling sibling
13552 lists in the function's main processing loop.
13553 (gimplify_adjust_omp_clauses_1): Remove GOVD_MAP_HAS_ATTACHMENTS
13554 handling, unused now.
13555 * omp-low.cc (scan_sharing_clauses): Handle pointer-type indirect
13556 struct references, and references to pointers to structs also.
13557
13558 2022-09-14 Richard Biener <rguenther@suse.de>
13559
13560 PR tree-optimization/106938
13561 * tree-cfg.cc (execute_fixup_cfg): Purge dead abnormal
13562 edges for all last stmts in a block. Do EH cleanup
13563 only on the last stmt in a block.
13564
13565 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
13566
13567 PR tree-optimization/106936
13568 * value-query.cc (range_query::get_value_range): Remove assert.
13569
13570 2022-09-14 Jan-Benedict Glaw <jbglaw@lug-owl.de>
13571
13572 * config/mips/mips.cc (mips_option_override): Drop unused variable.
13573
13574 2022-09-14 Julian Brown <julian@codesourcery.com>
13575
13576 * gimplify.cc (is_or_contains_p, omp_target_reorder_clauses): Delete
13577 functions.
13578 (omp_tsort_mark): Add enum.
13579 (omp_mapping_group): Add struct.
13580 (debug_mapping_group, omp_get_base_pointer, omp_get_attachment,
13581 omp_group_last, omp_gather_mapping_groups, omp_group_base,
13582 omp_index_mapping_groups, omp_containing_struct,
13583 omp_tsort_mapping_groups_1, omp_tsort_mapping_groups,
13584 omp_segregate_mapping_groups, omp_reorder_mapping_groups): New
13585 functions.
13586 (gimplify_scan_omp_clauses): Call above functions instead of
13587 omp_target_reorder_clauses, unless we've seen an error.
13588 * omp-low.cc (scan_sharing_clauses): Avoid strict test if we haven't
13589 sorted mapping groups.
13590
13591 2022-09-14 Jakub Jelinek <jakub@redhat.com>
13592
13593 PR tree-optimization/106878
13594 * tree-cfg.cc (verify_gimple_assign_binary): Disallow pointer,
13595 reference or OFFSET_TYPE BIT_IOR_EXPR, BIT_XOR_EXPR or, unless
13596 the second argument is INTEGER_CST, BIT_AND_EXPR.
13597 * match.pd ((type) X op CST -> (type) (X op ((type-x) CST)),
13598 (type) (((type2) X) op Y) -> (X op (type) Y)): Punt for
13599 POINTER_TYPE_P or OFFSET_TYPE.
13600 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): For
13601 pointers cast them to pointer sized integers first.
13602
13603 2022-09-14 Richard Biener <rguenther@suse.de>
13604
13605 PR tree-optimization/106934
13606 * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
13607 of bitfields.
13608 (maybe_rewrite_mem_ref_base): Likewise.
13609
13610 2022-09-14 liuhongt <hongtao.liu@intel.com>
13611
13612 PR tree-optimization/106905
13613 * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return
13614 false when !vect_use_loop_mask_for_alignment_p (loop_vinfo) &&
13615 LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) < 0.
13616
13617 2022-09-13 Roger Sayle <roger@nextmovesoftware.com>
13618
13619 PR target/106877
13620 * reg-stack.cc (move_for_stack_reg): Check for any_malformed_asm
13621 in gcc_assert.
13622
13623 2022-09-13 Max Filippov <jcmvbkbc@gmail.com>
13624
13625 Revert:
13626 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
13627
13628 * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
13629 New macro definition.
13630 (xtensa_constant_ok_for_cprop_p):
13631 Implement the hook as mentioned above.
13632
13633 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
13634
13635 PR target/104482
13636 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
13637 the equality check for argument number, and move this hunk ahead.
13638
13639 2022-09-13 Kewen.Lin <linkw@gcc.gnu.org>
13640
13641 PR target/105485
13642 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
13643 the handling for unresolved overloaded builtin function.
13644 (rs6000_expand_builtin): Likewise.
13645
13646 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
13647
13648 * config/rs6000/rs6000.cc (class rs6000_cost_data): Add new members
13649 m_nstores, m_reduc_factor, m_gather_load and member function
13650 determine_suggested_unroll_factor.
13651 (rs6000_cost_data::update_target_cost_per_stmt): Update for m_nstores,
13652 m_reduc_factor and m_gather_load.
13653 (rs6000_cost_data::determine_suggested_unroll_factor): New function.
13654 (rs6000_cost_data::finish_cost): Use determine_suggested_unroll_factor.
13655 * config/rs6000/rs6000.opt (rs6000-vect-unroll-limit): New parameter.
13656 (rs6000-vect-unroll-issue): Likewise.
13657 (rs6000-vect-unroll-reduc-threshold): Likewise.
13658 * doc/invoke.texi (rs6000-vect-unroll-limit): Document new parameter.
13659
13660 2022-09-13 Richard Biener <rguenther@suse.de>
13661
13662 PR middle-end/106909
13663 * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering
13664 flag of a unreachable call.
13665
13666 2022-09-13 Richard Biener <rguenther@suse.de>
13667
13668 PR tree-optimization/106913
13669 * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set
13670 ft_reachable on EXIT_BLOCK.
13671
13672 2022-09-13 Richard Sandiford <richard.sandiford@arm.com>
13673
13674 * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Use
13675 TARGET_FLOAT instead of TARGET_SIMD.
13676 (aarch64_vectorize_related_mode): Restrict ADVSIMD handling to
13677 TARGET_SIMD.
13678 (aarch64_hard_regno_mode_ok): Don't allow tuples of 2 64-bit vectors
13679 in GPRs.
13680 (aarch64_classify_address): Treat little-endian structure moves
13681 like big-endian for TARGET_FLOAT && !TARGET_SIMD.
13682 (aarch64_secondary_memory_needed): New function.
13683 (aarch64_secondary_reload): Handle 128-bit Advanced SIMD vectors
13684 in the same way as TF, TI and TD.
13685 (aarch64_rtx_mult_cost): Restrict ADVSIMD handling to TARGET_SIMD.
13686 (aarch64_rtx_costs): Likewise.
13687 (aarch64_register_move_cost): Treat a pair of 64-bit vectors
13688 separately from a single 128-bit vector. Handle the cost implied
13689 by aarch64_secondary_memory_needed.
13690 (aarch64_simd_valid_immediate): Restrict ADVSIMD handling to
13691 TARGET_SIMD.
13692 (aarch64_expand_vec_perm_const_1): Likewise.
13693 (TARGET_SECONDARY_MEMORY_NEEDED): New macro.
13694 * config/aarch64/iterators.md (VTX): New iterator.
13695 * config/aarch64/aarch64.md (arches): Add fp_q as a synonym of simd.
13696 (arch_enabled): Adjust accordingly.
13697 (@aarch64_reload_mov<TX:mode>): Extend to...
13698 (@aarch64_reload_mov<VTX:mode>): ...this.
13699 * config/aarch64/aarch64-simd.md (mov<mode>): Require TARGET_FLOAT
13700 rather than TARGET_SIMD.
13701 (movmisalign<mode>): Likewise.
13702 (load_pair<DREG:mode><DREG2:mode>): Likewise.
13703 (vec_store_pair<DREG:mode><DREG2:mode>): Likewise.
13704 (load_pair<VQ:mode><VQ2:mode>): Likewise.
13705 (vec_store_pair<VQ:mode><VQ2:mode>): Likewise.
13706 (@aarch64_split_simd_mov<mode>): Likewise.
13707 (aarch64_get_low<mode>): Likewise.
13708 (aarch64_get_high<mode>): Likewise.
13709 (aarch64_get_half<mode>): Likewise. Canonicalize to a move for
13710 lowpart extracts.
13711 (*aarch64_simd_mov<VDMOV:mode>): Require TARGET_FLOAT rather than
13712 TARGET_SIMD. Use different w<-w and r<-w instructions for
13713 !TARGET_SIMD. Disable immediate moves for !TARGET_SIMD but
13714 add an alternative specifically for w<-Z.
13715 (*aarch64_simd_mov<VQMOV:mode>): Require TARGET_FLOAT rather than
13716 TARGET_SIMD. Likewise for the associated define_splits. Disable
13717 FPR moves and immediate moves for !TARGET_SIMD but add an alternative
13718 specifically for w<-Z.
13719 (aarch64_simd_mov_from_<mode>high): Require TARGET_FLOAT rather than
13720 TARGET_SIMD. Restrict the existing alternatives to TARGET_SIMD
13721 but add a new r<-w one for !TARGET_SIMD.
13722 (*aarch64_get_high<mode>): New pattern.
13723 (load_pair_lanes<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
13724 (store_pair_lanes<mode>): Likewise.
13725 (*aarch64_combine_internal<mode>): Likewise. Restrict existing
13726 w<-w, w<-r and w<-m alternatives to TARGET_SIMD but add a new w<-r
13727 alternative for !TARGET_SIMD.
13728 (*aarch64_combine_internal_be<mode>): Likewise.
13729 (aarch64_combinez<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
13730 Remove bogus arch attribute.
13731 (*aarch64_combinez_be<mode>): Likewise.
13732 (@aarch64_vec_concat<mode>): Require TARGET_FLOAT rather than
13733 TARGET_SIMD.
13734 (aarch64_combine<mode>): Likewise.
13735 (aarch64_rev_reglist<mode>): Likewise.
13736 (mov<mode>): Likewise.
13737 (*aarch64_be_mov<VSTRUCT_2D:mode>): Extend to TARGET_FLOAT &&
13738 !TARGET_SIMD, regardless of endianness. Extend associated
13739 define_splits in the same way, both for this pattern and the
13740 ones below.
13741 (*aarch64_be_mov<VSTRUCT_2Qmode>): Likewise. Restrict w<-w
13742 alternative to TARGET_SIMD.
13743 (*aarch64_be_movoi): Likewise.
13744 (*aarch64_be_movci): Likewise.
13745 (*aarch64_be_movxi): Likewise.
13746 (*aarch64_be_mov<VSTRUCT_4QD:mode>): Extend to TARGET_FLOAT
13747 && !TARGET_SIMD, regardless of endianness. Restrict w<-w alternative
13748 to TARGET_SIMD for tuples of 128-bit vectors.
13749 (*aarch64_be_mov<VSTRUCT_4QD:mode>): Likewise.
13750 * config/aarch64/aarch64-ldpstp.md: Remove TARGET_SIMD condition
13751 from DREG STP peephole. Change TARGET_SIMD to TARGET_FLOAT in
13752 the VQ and VP_2E LDP and STP peepholes.
13753
13754 2022-09-13 Richard Sandiford <richard.sandiford@arm.com>
13755
13756 * config/aarch64/aarch64-simd.md (movv8di): Remove TARGET_SIMD
13757 condition. Likewise for the related define_split. Tweak formatting.
13758
13759 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
13760
13761 * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
13762 New macro definition.
13763 (xtensa_constant_ok_for_cprop_p):
13764 Implement the hook as mentioned above.
13765
13766 2022-09-12 Joseph Myers <joseph@codesourcery.com>
13767
13768 * ginclude/stdatomic.h [defined __STDC_VERSION__ &&
13769 __STDC_VERSION__ > 201710L] (ATOMIC_VAR_INIT): Do not define.
13770
13771 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
13772
13773 * config/nvptx/mkoffload.cc (process): Replace a fatal_error by
13774 a warning + not enabling offloading if -misa=sm_30 prevents
13775 reverse offload.
13776 (main): Use tool_name as progname for diagnostic.
13777 * config/gcn/mkoffload.cc (main): Likewise.
13778
13779 2022-09-12 Aldy Hernandez <aldyh@redhat.com>
13780
13781 * value-range.cc (frange::set_signbit): Avoid changing sign when
13782 already in the correct sign.
13783
13784 2022-09-12 Max Filippov <jcmvbkbc@gmail.com>
13785
13786 * config/xtensa/xtensa.cc (xtensa_function_value_regno_p):
13787 Recognize all 4 return registers.
13788 * config/xtensa/xtensa.h (GP_RETURN_REG_COUNT): New definition.
13789 * config/xtensa/xtensa.md (untyped_call): New pattern.
13790
13791 2022-09-12 Jonathan Wakely <jwakely@redhat.com>
13792
13793 * doc/extend.texi (Floating Types): Fix "_float128" typo.
13794
13795 2022-09-10 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
13796
13797 * config/xtensa/xtensa.cc (xtensa_constantsynth):
13798 Add new pattern for the abovementioned case.
13799
13800 2022-09-10 Akari Takahashi <akaritakahashioss@gmail.com>
13801 Segher Boessenkool <segher@kernel.crashing.org>
13802
13803 * config/rs6000/rs6000.cc (get_memref_parts): Regularize some code.
13804
13805 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
13806
13807 * config/xtensa/xtensa.md: Rewrite the split pattern that performs
13808 the abovementioned process so that insns that overwrite clobbered
13809 register no longer need to be contiguous.
13810 (DSC): Remove as no longer needed.
13811
13812 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
13813
13814 * config/xtensa/xtensa.cc (machine_function): New boolean member as
13815 a flag that controls whether to emit the insns for stack pointer
13816 adjustment inside of the pro/epilogue.
13817 (xtensa_emit_adjust_stack_ptr): New function to share the common
13818 codes and to emit insns if not inhibited.
13819 (xtensa_expand_epilogue): Change to use the function mentioned
13820 above when using the CALL0 ABI.
13821 (xtensa_expand_prologue): Ditto.
13822 And also change to set the inhibit flag used by
13823 xtensa_emit_adjust_stack_ptr() to true if the stack pointer is only
13824 used for its own adjustment.
13825
13826 2022-09-09 David Malcolm <dmalcolm@redhat.com>
13827
13828 * doc/invoke.texi (Static Analyzer Options): Add
13829 -Wanalyzer-exposure-through-uninit-copy.
13830
13831 2022-09-09 David Malcolm <dmalcolm@redhat.com>
13832
13833 * Makefile.in (ANALYZER_OBJS): Add
13834 analyzer/known-function-manager.o.
13835
13836 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
13837
13838 * config/nvptx/mkoffload.cc (struct id_map): Add 'dim' member.
13839 (record_id): Store func name without quotes, store dim separately.
13840 (process): For GOMP_REQUIRES_REVERSE_OFFLOAD, check that -march is
13841 at least sm_35, create '$offload_func_table' global array and init
13842 with reverse-offload function addresses.
13843 * config/nvptx/nvptx.cc (write_fn_proto_1, write_fn_proto): New
13844 force_public attribute to force .visible.
13845 (nvptx_declare_function_name): For "omp target
13846 device_ancestor_nohost" attribut, force .visible/TREE_PUBLIC.
13847
13848 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
13849
13850 * config/gcn/mkoffload.cc (process_asm): Create .offload_func_table,
13851 similar to pre-existing .offload_var_table.
13852
13853 2022-09-09 Joseph Myers <joseph@codesourcery.com>
13854
13855 * ginclude/stddef.h [__STDC_VERSION__ > 201710L] (unreachable):
13856 New macro.
13857
13858 2022-09-09 Kewen Lin <linkw@linux.ibm.com>
13859
13860 PR middle-end/106833
13861 * tree.cc (verify_opaque_type): New function.
13862 (verify_type): Call verify_opaque_type for OPAQUE_TYPE.
13863
13864 2022-09-09 Kwok Cheung Yeung <kcy@codesourcery.com>
13865
13866 * config/gcn/gcn-builtins.def (FABSVF, LDEXPVF, LDEXPV, FREXPVF_EXP,
13867 FREXPVF_MANT, FREXPV_EXP, FREXPV_MANT): Add new builtins.
13868 * config/gcn/gcn-protos.h (gcn_dconst1over2pi): New prototype.
13869 * config/gcn/gcn-valu.md (MATH_UNOP_1OR2REG, MATH_UNOP_1REG,
13870 MATH_UNOP_TRIG): New iterators.
13871 (math_unop): New attributes.
13872 (<math_unop><mode>2, <math_unop><mode>2<exec>,
13873 <math_unop><mode>2, <math_unop><mode>2<exec>,
13874 *<math_unop><mode>2_insn, *<math_unop><mode>2<exec>_insn,
13875 ldexp<mode>3, ldexp<mode>3<exec>,
13876 frexp<mode>_exp2, frexp<mode>_mant2,
13877 frexp<mode>_exp2<exec>, frexp<mode>_mant2<exec>): New instructions.
13878 (<math_unop><mode>2, <math_unop><mode>2<exec>): New expanders.
13879 * config/gcn/gcn.cc (init_ext_gcn_constants): Update definition of
13880 dconst1over2pi.
13881 (gcn_dconst1over2pi): New.
13882 (gcn_builtin_type_index): Add entry for v64df type.
13883 (v64df_type_node): New.
13884 (gcn_init_builtin_types): Initialize v64df_type_node.
13885 (gcn_expand_builtin_1): Expand new builtins to instructions.
13886 (print_operand): Fix assembler output for 1/(2*PI) constant.
13887 * config/gcn/gcn.md (unspec): Add new entries.
13888
13889 2022-09-09 Richard Biener <rguenther@suse.de>
13890
13891 PR tree-optimization/106722
13892 * tree-predcom.cc (ref_at_iteration): Do not associate the
13893 constant part of the offset into the MEM_REF offset
13894 operand, across a non-zero offset.
13895
13896 2022-09-09 Kito Cheng <kito.cheng@sifive.com>
13897
13898 * common/config/riscv/riscv-common.cc (RISCV_USE_CUSTOMISED_MULTI_LIB):
13899 Move forward for cover all all necessary functions for suppress
13900 unused function warnings.
13901 (riscv_multi_lib_check): Move forward, and tweak message to suppress
13902 -Werror=format-diag warning.
13903
13904 2022-09-09 Richard Biener <rguenther@suse.de>
13905
13906 PR tree-optimization/106881
13907 * gimple-predicate-analysis.cc (simple_control_dep_chain):
13908 Add only non-fallthru edges and avoid the same set of edges
13909 as compute_control_dep_chain_pdom does.
13910
13911 2022-09-09 Jan-Benedict Glaw <jbglaw@lug-owl.de>
13912
13913 * doc/tm.texi.in (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Document requirement
13914 of TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT being defined as well.
13915 * doc/tm.texi: Regenerate.
13916
13917 2022-09-09 Martin Liska <mliska@suse.cz>
13918
13919 * optc-save-gen.awk: Always compare array option values with memcmp.
13920
13921 2022-09-08 Jonathan Wakely <jwakely@redhat.com>
13922
13923 PR c++/106838
13924 * doc/extend.texi (Type Traits): Fix requirements. Document
13925 __is_aggregate and __is_final.
13926
13927 2022-09-08 Tim Lange <mail@tim-lange.me>
13928
13929 PR analyzer/106625
13930 * doc/invoke.texi:
13931 State that the checker also reasons about symbolic values.
13932
13933 2022-09-08 Richard Sandiford <richard.sandiford@arm.com>
13934
13935 PR tree-optimization/106886
13936 * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout):
13937 Fix copying of scalar stmts.
13938
13939 2022-09-08 Chung-Lin Tang <cltang@codesourcery.com>
13940
13941 * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define.
13942
13943 2022-09-08 Richard Biener <rguenther@suse.de>
13944
13945 PR middle-end/106870
13946 * gimple-harden-conditionals.cc (insert_check_and_trap):
13947 Set the control-altering flag on the built IFN_TRAP.
13948 * gimple.cc (gimple_build_builtin_unreachable): Likewise.
13949 * tree-cfg.cc (handle_abnormal_edges): Set the control-altering
13950 flag on the .ABNORMAL_DISPATCHER call.
13951 * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid
13952 resetting the control altering flag for ECF_NORETURN calls.
13953 (cleanup_control_flow_bb): Set the control altering flag on
13954 discovered noreturn calls.
13955 * symtab-thunks.cc (expand_thunk): Set the control altering
13956 flag for the noreturn tailcall case.
13957 * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume
13958 calls.
13959
13960 2022-09-08 Jakub Jelinek <jakub@redhat.com>
13961
13962 * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument.
13963 Add doacross(sink:omp_cur_iteration-1) support.
13964 (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1].
13965 Adjust expand_omp_ordered_sink caller.
13966 (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is
13967 non-NULL, set that variable to true at the start of outermost
13968 non-collapsed loop and set it to false at the end of innermost
13969 ordered loop.
13970 (expand_omp_for_generic): If fd->ordered, allocate
13971 1 + (fd->ordered - fd->collapse) further elements in counts array.
13972 Copy to counts + 2 + fd->ordered the counts of fd->collapse ..
13973 fd->ordered - 1 loop if any.
13974
13975 2022-09-08 Richard Biener <rguenther@suse.de>
13976
13977 PR tree-optimization/106881
13978 * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
13979 Add only non-fallthru edges and avoid the same set of edges
13980 as the caller does.
13981
13982 2022-09-08 Aldy Hernandez <aldyh@redhat.com>
13983
13984 * gimple-range-fold.cc
13985 (fold_using_range::range_of_builtin_int_call): Use fpclassify like API.
13986 * range-op-float.cc (finite_operand_p): Same.
13987 (finite_operands_p): Same.
13988 (foperator_lt::fold_range): Same.
13989 (foperator_le::fold_range): Same.
13990 (foperator_gt::fold_range): Same.
13991 (foperator_ge::fold_range): Same.
13992 (foperator_unordered::fold_range): Same.
13993 (foperator_unordered::op1_range): Same.
13994 (foperator_ordered::fold_range): Same.
13995 * value-range.cc (frange::set_nan): Same.
13996 (frange::set_signbit): Same.
13997 (frange::union_): Same.
13998 (frange::intersect): Same.
13999 (frange::operator==): Same.
14000 (frange::singleton_p): Same.
14001 (frange::verify_range): Same.
14002 (range_tests_nan): Same.
14003 (range_tests_floats): Same.
14004 * value-range.h(frange::known_finite): New.
14005 (frange::maybe_inf): New.
14006 (frange::known_inf): New.
14007 (frange::maybe_nan): New.
14008 (frange::known_nan): New.
14009 (frange::known_signbit): New.
14010
14011 2022-09-08 Iain Buclaw <ibuclaw@gdcproject.org>
14012
14013 * config/darwin-d.cc: Include tm.h.
14014 * config/dragonfly-d.cc: Likewise.
14015 * config/freebsd-d.cc: Remove memmodel.h.
14016 * config/glibc-d.cc: Likewise.
14017 * config/netbsd-d.cc: Include tm.h.
14018 * config/openbsd-d.cc: Likewise.
14019 * config/sol2-d.cc: Likewise.
14020
14021 2022-09-08 Christophe Lyon <christophe.lyon@arm.com>
14022
14023 * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
14024 MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
14025 (mve_vqshluq_m_n_s<mode>): Likewise.
14026 (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
14027 instead of mve_imm_8/Rb.
14028 (mve_vqrshrunbq_n_s<mode>): Likewise.
14029 (mve_vqrshrntq_n_<supf><mode>): Likewise.
14030 (mve_vqrshruntq_n_s<mode>): Likewise.
14031 (mve_vrshrnbq_n_<supf><mode>): Likewise.
14032 (mve_vrshrntq_n_<supf><mode>): Likewise.
14033 (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
14034 (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
14035 (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
14036 (mve_vrshrntq_m_n_<supf><mode>): Likewise.
14037 (mve_vqrshrunbq_m_n_s<mode>): Likewise.
14038 (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
14039 of mve_imm_selective_upto_8/Rg.
14040 (mve_vsriq_m_n_<supf><mode>): Likewise.
14041
14042 2022-09-08 Jiufu Guo <guojiufu@linux.ibm.com>
14043
14044 * config/rs6000/rs6000.md (splitter for set to and_mask constants):
14045 Use int_reg_operand (instead of int_reg_operand_not_pseudo).
14046 (splitter for multi-insn constant loads): Ditto.
14047
14048 2022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
14049
14050 * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
14051 -mvrsave is present.
14052 * config/rs6000/t-rtems: Add -mvrsave multilib variants for
14053 -mcpu=e6500.
14054
14055 2022-09-07 Martin Liska <mliska@suse.cz>
14056
14057 * configure.ac: Restore detection of HAVE_XCOFF_DWARF_EXTRAS.
14058 * config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it.
14059 * configure: Regenerate.
14060 * config.in: Regenerate.
14061
14062 2022-09-07 Surya Kumari Jangala <jskumari@linux.ibm.com>
14063
14064 PR rtl-optimization/105586
14065 * sched-rgn.cc (save_state_for_fallthru_edge): New function.
14066 (schedule_region): Use it for all blocks.
14067
14068 2022-09-07 Joseph Myers <joseph@codesourcery.com>
14069
14070 * ginclude/stdalign.h [defined __STDC_VERSION__ &&
14071 __STDC_VERSION__ > 201710L]: Disable all content.
14072 * ginclude/stdbool.h [defined __STDC_VERSION__ && __STDC_VERSION__
14073 > 201710L] (bool, true, false): Do not define.
14074
14075 2022-09-07 Martin Liska <mliska@suse.cz>
14076
14077 PR bootstrap/106855
14078 * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
14079 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
14080 Restore usage of XCOFF_DEBUGGING_INFO.
14081 * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
14082 * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
14083 XCOFF_DEBUGGING_INFO.
14084 (dw2_asm_output_nstring): Likewise.
14085 (USE_LINKONCE_INDIRECT): Likewise.
14086 * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
14087 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
14088 (output_fde): Likewise.
14089 (output_call_frame_info): Likewise.
14090 (have_macinfo): Likewise.
14091 (add_AT_loc_list): Likewise.
14092 (add_AT_view_list): Likewise.
14093 (output_compilation_unit_header): Likewise.
14094 (output_pubnames): Likewise.
14095 (output_aranges): Likewise.
14096 (output_line_info): Likewise.
14097 (output_macinfo): Likewise.
14098 (dwarf2out_finish): Likewise.
14099 (dwarf2out_early_finish): Likewise.
14100
14101 2022-09-07 Richard Biener <rguenther@suse.de>
14102
14103 PR tree-optimization/106866
14104 * tree-ssa-dce.cc (eliminate_unnecessary_stmts): When
14105 we changed cfun->calls_setjmp make sure to purge all
14106 abnormal call edges.
14107
14108 2022-09-07 Xianmiao Qu <cooper.qu@linux.alibaba.com>
14109
14110 * config/csky/csky.cc (csky_emit_compare_float): Fix the expanding of
14111 float LE comparing with zero for fpuv3.
14112 * config/csky/csky.h (TARGET_SUPPORT_FPV2): New, true if any fpuv2
14113 features are enabled.
14114
14115 2022-09-07 Richard Biener <rguenther@suse.de>
14116
14117 PR tree-optimization/106860
14118 * tree-ssa-loop-split.cc (split_loop): Find the exit to
14119 latch edge from the loop exit edge instead of from the
14120 latch. Verify we're going to find it.
14121
14122 2022-09-07 Richard Biener <rguenther@suse.de>
14123
14124 * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
14125 Adjust to take the region exit source as argument.
14126 (uninit_analysis::init_from_phi_def): Adjust.
14127 (uninit_analysis::init_use_preds): Mark the dominating region
14128 before computing control dependences.
14129
14130 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
14131
14132 * config/aarch64/aarch64.md (*mov<SHORT:mode>_aarch64): Extend
14133 w<-w, r<-w and w<-r alternatives to !simd, using 32-bit moves
14134 in that case. Extend w<-r to w<-Z.
14135 (*mov<HFBF:mode>_aarch64): Likewise, but with Y instead of Z.
14136 (*movti_aarch64): Use an FMOV from XZR for w<-Z if MOVI is not
14137 available.
14138 (define_split): Do not apply the floating-point immediate-to-register
14139 split to zeros, even if MOVI is not available.
14140
14141 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
14142
14143 * config/aarch64/aarch64.cc (aarch64_conditional_register_usage):
14144 Disallow use of FPRs in register asms for !TARGET_FLOAT.
14145
14146 2022-09-07 Lulu Cheng <chenglulu@loongson.cn>
14147
14148 PR target/106828
14149 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New.
14150 (TARGET_ASAN_SHADOW_OFFSET): New.
14151
14152 2022-09-07 Jakub Jelinek <jakub@redhat.com>
14153
14154 * doc/invoke.texi (-Wno-unicode): Document.
14155
14156 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
14157
14158 * config/rs6000/rs6000.md (const_scalar_int splitter): Remove.
14159
14160 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
14161
14162 * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the
14163 replacements.
14164
14165 2022-09-07 liuhongt <hongtao.liu@intel.com>
14166
14167 PR tree-optimization/103144
14168 * tree-vect-loop.cc (vect_is_nonlinear_iv_evolution): New function.
14169 (vect_analyze_scalar_cycles_1): Detect nonlinear iv by upper function.
14170 (vect_create_nonlinear_iv_init): New function.
14171 (vect_peel_nonlinear_iv_init): Ditto.
14172 (vect_create_nonlinear_iv_step): Ditto
14173 (vect_create_nonlinear_iv_vec_step): Ditto
14174 (vect_update_nonlinear_iv): Ditto
14175 (vectorizable_nonlinear_induction): Ditto.
14176 (vectorizable_induction): Call
14177 vectorizable_nonlinear_induction when induction_type is not
14178 vect_step_op_add.
14179 * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
14180 Update nonlinear iv for epilogue loop.
14181 * tree-vectorizer.h (enum vect_induction_op_type): New enum.
14182 (STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE): New Macro.
14183
14184 2022-09-06 Richard Biener <rguenther@suse.de>
14185
14186 PR tree-optimization/106754
14187 * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
14188 New function, split out from compute_control_dep_chain. Handle
14189 loop-exit like conditions here by pushing to the control vector.
14190 (compute_control_dep_chain): Adjust and streamline dumping.
14191 In the wrapper perform a post-dominator walk as well.
14192 (uninit_analysis::init_use_preds): Remove premature early exit.
14193
14194 2022-09-06 Max Filippov <jcmvbkbc@gmail.com>
14195
14196 * config/xtensa/linux.h (LINK_SPEC): Add static-pie.
14197
14198 2022-09-06 Aldy Hernandez <aldyh@redhat.com>
14199
14200 * range-op-float.cc (build_le): Handle NANs and going past infinity.
14201 (build_lt): Same.
14202 (build_ge): Same.
14203 (build_gt): Same.
14204 (foperator_lt::op1_range): Avoid adjustments to range if build_*
14205 returned false.
14206 (foperator_lt::op2_range): Same.
14207 (foperator_le::op1_range): Same.
14208 (foperator_le::op2_range): Same.
14209 (foperator_gt::op1_range): Same.
14210 (foperator_gt::op2_range): Same.
14211
14212 2022-09-06 Richard Biener <rguenther@suse.de>
14213
14214 * gimple-predicate-analysis.cc (compute_control_dep_chain):
14215 Add output flag to indicate whether we possibly have dropped
14216 any chains. Return whether the info is complete from the
14217 wrapping overload.
14218 (uninit_analysis::init_use_preds): Adjust accordingly, with
14219 a workaround for PR106754.
14220 (uninit_analysis::init_from_phi_def): Properly guard the
14221 case where we complete an empty chain.
14222
14223 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
14224
14225 * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument.
14226
14227 2022-09-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
14228
14229 * tree-ssa-forwprop.cc (simplify_permutation): Set res_type to a vector
14230 type with same element type as arg0, and length as op2.
14231
14232 2022-09-06 Richard Biener <rguenther@suse.de>
14233
14234 PR tree-optimization/106844
14235 * gimple-predicate-analysis.cc (compute_control_dep_chain):
14236 Return whether we found a chain.
14237
14238 2022-09-06 Richard Biener <rguenther@suse.de>
14239
14240 PR tree-optimization/106841
14241 * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
14242 scatter/gather offset.
14243
14244 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
14245
14246 * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void).
14247
14248 2022-09-06 Jakub Jelinek <jakub@redhat.com>
14249
14250 * gimple.h (enum gf_mask): Add GF_OMP_ORDERED_STANDALONE enumerator.
14251 (gimple_omp_subcode): Use GIMPLE_OMP_ORDERED instead of
14252 GIMPLE_OMP_TEAMS as upper bound.
14253 (gimple_omp_ordered_standalone_p, gimple_omp_ordered_standalone): New
14254 inline functions.
14255 * gimplify.cc (find_standalone_omp_ordered): Look for OMP_ORDERED with
14256 NULL OMP_ORDERED_BODY rather than with OMP_DOACROSS clause.
14257 (gimplify_expr): Call gimple_omp_ordered_standalone for OMP_ORDERED
14258 with NULL OMP_ORDERED_BODY.
14259 * omp-low.cc (check_omp_nesting_restrictions): Use
14260 gimple_omp_ordered_standalone_p test instead of
14261 omp_find_clause (..., OMP_CLAUSE_DOACROSS).
14262 (lower_omp_ordered): Likewise.
14263 * omp-expand.cc (expand_omp, build_omp_regions_1,
14264 omp_make_gimple_edges): Likewise.
14265
14266 2022-09-06 Xianmiao Qu <cooper.qu@linux.alibaba.com>
14267
14268 * config/csky/csky.md (cskyv2_addcc): Fix missing operand.
14269 (cskyv2_addcc_invert): Likewise.
14270
14271 2022-09-06 Jose E. Marchesi <jose.marchesi@oracle.com>
14272
14273 * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic
14274 `insn'.
14275 (bpf_expand_epilogue): Likewise.
14276
14277 2022-09-06 liuhongt <hongtao.liu@intel.com>
14278
14279 * config/i386/i386-builtin.def (IX86_BUILTIN_CVTPS2PH512):
14280 Map to CODE_FOR_avx512f_vcvtps2ph512_mask_sae.
14281 * config/i386/sse.md (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Extend to ..
14282 (<mask_codefor>avx512f_vcvtps2ph512<mask_name><round_saeonly_name>): .. this.
14283 (avx512f_vcvtps2ph512_mask_sae): New expander
14284
14285 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
14286
14287 * gimple-range-fold.cc
14288 (fold_using_range::range_of_builtin_int_call): Ignore sign bit
14289 when there's the possibility of a NAN.
14290
14291 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
14292
14293 * gimple-range-fold.cc
14294 (fold_using_range::range_of_builtin_int_call): Fold a set signbit
14295 in __builtin_signbit to nonzero.
14296
14297 2022-09-05 Alexander Monakov <amonakov@ispras.ru>
14298
14299 PR target/106453
14300 * config/i386/i386.md (sse4_2_crc32di): Model that only low 32
14301 bits of operand 0 are consumed, and the result is zero-extended
14302 to 64 bits.
14303
14304 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
14305
14306 PR middle-end/106831
14307 * value-range.h (frange::supports_p): Disable decimal floats.
14308 * range-op-float.cc (frange_drop_inf): Remove DECIMAL_FLOAT_MODE_P
14309 check.
14310 (frange_drop_ninf): Same.
14311
14312 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
14313
14314 PR middle-end/106824
14315 * value-range.cc (frange::set_nan): Set undefined when updating a
14316 NAN to a non-NAN.
14317
14318 2022-09-05 Kito Cheng <kito.cheng@sifive.com>
14319
14320 * config/riscv/riscv.cc (riscv_option_override): Fix wrong
14321 condition for MASK_DIV and simplify incompatible checking.
14322 * config/riscv/riscv.md (muldi3): Adding parentheses.
14323
14324 2022-09-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14325
14326 * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch
14327 string is a valid -mcpu string and emit hint.
14328
14329 2022-09-05 LiaoShihua <shihua@iscas.ac.cn>
14330
14331 * common/config/riscv/riscv-common.cc: Add Zmmul.
14332 * config/riscv/riscv-opts.h (MASK_ZMMUL): New.
14333 (TARGET_ZMMUL): Ditto.
14334 * config/riscv/riscv.cc (riscv_option_override):Ditto.
14335 * config/riscv/riscv.md: Add Zmmul
14336 * config/riscv/riscv.opt: Ditto.
14337
14338 2022-09-05 Richard Biener <rguenther@suse.de>
14339
14340 * tree-cfg.h (get_cases_for_edge): Declare.
14341 * tree-cfg.cc (get_cases_for_edge): Export.
14342 * tree-ssa-uninit.cc (execute_late_warn_uninitialized):
14343 Start and end recording case labels.
14344 * gimple-predicate-analysis.cc (MAX_SWITCH_CASES): Remove.
14345 (predicate::init_from_control_deps): Use get_cases_for_edge.
14346
14347 2022-09-05 Richard Biener <rguenther@suse.de>
14348
14349 * gimple-predicate-analysis.cc (MAX_POSTDOM_CHECK): Remove.
14350 (compute_control_dep_chain): Move uninit-control-dep-attempts
14351 checking where it also counts the post-dominator check
14352 invocations.
14353
14354 2022-09-05 Richard Biener <rguenther@suse.de>
14355
14356 * gimple-predicate-analysis.h (predicate::debug): New.
14357 (predicate::dump): Add FILE * argument, add base overload.
14358 * gimple-predicate-analysis.cc (debug): New.
14359 (dump_pred_info): Add FILE * argument.
14360 (dump_pred_chain): Likewise.
14361 (predicate::dump): Split out preamble into overload. Add
14362 FILE * argument.
14363 (predicate::debug): New.
14364 (predicate::simplify): Adjust.
14365 (predicate::normalize): Likewise.
14366 (predicate::init_from_control_deps): Likewise.
14367
14368 2022-09-05 Richard Sandiford <richard.sandiford@arm.com>
14369
14370 * config/aarch64/aarch64-protos.h
14371 (aarch64_init_simd_builtins): Remove prototype.
14372 * config/aarch64/aarch64-builtins.cc
14373 (aarch64_simd_builtins_initialized_p): Delete.
14374 (aarch64_init_simd_builtins): Make static. Remove protection
14375 against multiple calls.
14376 * config/aarch64/aarch64-c.cc (aarch64_pragma_target_parse): Remove
14377 lazy SIMD builtin initialization.
14378 * config/aarch64/aarch64.cc
14379 (aarch64_option_valid_attribute_p): Likewise.
14380
14381 2022-09-05 Xi Ruoyao <xry111@xry111.site>
14382
14383 * config/loongarch/genopts/loongarch.opt.in: Add
14384 -mdirect-extern-access option.
14385 * config/loongarch/loongarch.opt: Regenerate.
14386 * config/loongarch/loongarch.cc
14387 (loongarch_symbol_binds_local_p): Return true if
14388 TARGET_DIRECT_EXTERN_ACCESS.
14389 (loongarch_option_override_internal): Complain if
14390 -mdirect-extern-access is used with -fPIC or -fpic.
14391 * doc/invoke.texi: Document -mdirect-extern-access for
14392 LoongArch.
14393
14394 2022-09-05 Martin Liska <mliska@suse.cz>
14395
14396 * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to
14397 DEBUGGER_REGNO.
14398 * doc/tm.texi: Regenerate.
14399
14400 2022-09-05 Martin Liska <mliska@suse.cz>
14401
14402 * config/aarch64/aarch64-protos.h (aarch64_dbx_regno):
14403 Rename DBX_REGISTER_NUMBER to DEBUGGER_REGNO.
14404 (aarch64_debugger_regno): Likewise.
14405 * config/aarch64/aarch64.cc (aarch64_dbx_regno): Likewise.
14406 (aarch64_debugger_regno): Likewise.
14407 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
14408 (DEBUGGER_REGNO): Likewise.
14409 (DWARF_FRAME_REGNUM): Likewise.
14410 * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Likewise.
14411 * config/arc/arc.cc (arc_init_reg_tables): Likewise.
14412 * config/arc/arc.h (DBX_REGISTER_NUMBER): Likewise.
14413 (DEBUGGER_REGNO): Likewise.
14414 * config/arm/arm-protos.h (arm_dbx_regno): Likewise.
14415 (arm_debugger_regno): Likewise.
14416 * config/arm/arm.cc (arm_dbx_regno): Likewise.
14417 (arm_debugger_regno): Likewise.
14418 * config/arm/arm.h (DBX_REGISTER_NUMBER): Likewise.
14419 (DEBUGGER_REGNO): Likewise.
14420 * config/bfin/bfin.h (DBX_REGISTER_NUMBER): Likewise.
14421 (DEBUGGER_REGNO): Likewise.
14422 * config/c6x/c6x.cc: Likewise.
14423 * config/c6x/c6x.h (DBX_REGISTER_NUMBER): Likewise.
14424 (DEBUGGER_REGNO): Likewise.
14425 * config/cris/cris.h (enum reg_class): Likewise.
14426 (DBX_REGISTER_NUMBER): Likewise.
14427 (DEBUGGER_REGNO): Likewise.
14428 * config/csky/csky.cc (enum reg_class): Likewise.
14429 * config/csky/csky.h (DWARF_FRAME_REGNUM): Likewise.
14430 (DBX_REGISTER_NUMBER): Likewise.
14431 (DEBUGGER_REGNO): Likewise.
14432 * config/frv/frv.h (DBX_REGISTER_NUMBER): Likewise.
14433 (DEBUGGER_REGNO): Likewise.
14434 * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): Likewise.
14435 (DEBUGGER_REGNO): Likewise.
14436 * config/gcn/gcn.cc (print_operand): Likewise.
14437 * config/i386/bsd.h (ASM_QUAD): Likewise.
14438 * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise.
14439 (DEBUGGER_REGNO): Likewise.
14440 (DWARF_FRAME_REGNUM): Likewise.
14441 * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise.
14442 (DEBUGGER_REGNO): Likewise.
14443 * config/i386/djgpp.h (DBX_REGISTER_NUMBER): Likewise.
14444 (DEBUGGER_REGNO): Likewise.
14445 * config/i386/dragonfly.h (DBX_REGISTER_NUMBER): Likewise.
14446 (DEBUGGER_REGNO): Likewise.
14447 * config/i386/freebsd.h (DBX_REGISTER_NUMBER): Likewise.
14448 (DEBUGGER_REGNO): Likewise.
14449 * config/i386/gas.h: Likewise.
14450 * config/i386/gnu-user.h (DBX_REGISTER_NUMBER): Likewise.
14451 (DEBUGGER_REGNO): Likewise.
14452 * config/i386/i386.cc (enum reg_class): Likewise.
14453 * config/i386/i386.h (DBX_REGISTER_NUMBER): Likewise.
14454 (DEBUGGER_REGNO): Likewise.
14455 * config/i386/i386elf.h (DBX_REGISTER_NUMBER): Likewise.
14456 (DEBUGGER_REGNO): Likewise.
14457 * config/i386/iamcu.h (DBX_REGISTER_NUMBER): Likewise.
14458 (DEBUGGER_REGNO): Likewise.
14459 * config/i386/lynx.h (DBX_REGISTER_NUMBER): Likewise.
14460 (DEBUGGER_REGNO): Likewise.
14461 * config/i386/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
14462 (DEBUGGER_REGNO): Likewise.
14463 * config/i386/nto.h (DBX_REGISTER_NUMBER): Likewise.
14464 (DEBUGGER_REGNO): Likewise.
14465 * config/i386/openbsdelf.h (DBX_REGISTER_NUMBER): Likewise.
14466 (DEBUGGER_REGNO): Likewise.
14467 * config/i386/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
14468 (DEBUGGER_REGNO): Likewise.
14469 * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
14470 (DEBUGGER_REGNO): Likewise.
14471 * config/i386/x86-64.h (DBX_REGISTER_NUMBER): Likewise.
14472 (DEBUGGER_REGNO): Likewise.
14473 * config/ia64/ia64-protos.h (ia64_dbx_regno): Likewise.
14474 (ia64_debugger_regno): Likewise.
14475 * config/ia64/ia64.cc (ia64_output_function_prologue): Likewise.
14476 (ia64_dbx_regno): Likewise.
14477 (ia64_debugger_regno): Likewise.
14478 (process_cfa_adjust_cfa): Likewise.
14479 (process_cfa_register): Likewise.
14480 (ia64_asm_unwind_emit): Likewise.
14481 * config/ia64/ia64.h: Likewise.
14482 * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
14483 (DEBUGGER_REGNO): Likewise.
14484 * config/lm32/lm32.h (DBX_REGISTER_NUMBER): Likewise.
14485 (DEBUGGER_REGNO): Likewise.
14486 * config/m32c/m32c.cc (m32c_eh_return_stackadj_rtx): Likewise.
14487 * config/m32c/m32c.h (DBX_REGISTER_NUMBER): Likewise.
14488 (DEBUGGER_REGNO): Likewise.
14489 * config/m68k/linux.h (DBX_REGISTER_NUMBER): Likewise.
14490 (DEBUGGER_REGNO): Likewise.
14491 * config/m68k/m68k.h (DBX_REGISTER_NUMBER): Likewise.
14492 (DEBUGGER_REGNO): Likewise.
14493 (__transfer_from_trampoline): Likewise.
14494 * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Likewise.
14495 (DEBUGGER_REGNO): Likewise.
14496 * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
14497 (DBX_REGISTER_NUMBER): Likewise.
14498 (DEBUGGER_REGNO): Likewise.
14499 * config/microblaze/microblaze.cc (microblaze_option_override): Likewise.
14500 * config/microblaze/microblaze.h (DBX_REGISTER_NUMBER): Likewise.
14501 (DEBUGGER_REGNO): Likewise.
14502 (GP_DBX_FIRST): Likewise.
14503 (GP_DEBUGGER_FIRST): Likewise.
14504 * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
14505 (DEBUGGER_REGNO): Likewise.
14506 * config/mmix/mmix-protos.h (mmix_dbx_regno): Likewise.
14507 (mmix_debugger_regno): Likewise.
14508 * config/mmix/mmix.cc (mmix_dbx_regno): Likewise.
14509 (mmix_debugger_regno): Likewise.
14510 * config/mmix/mmix.h (DBX_REGISTER_NUMBER): Likewise.
14511 (DEBUGGER_REGNO): Likewise.
14512 * config/nds32/nds32-protos.h (nds32_dbx_regno): Likewise.
14513 (nds32_debugger_regno): Likewise.
14514 * config/nds32/nds32.cc (nds32_dbx_regno): Likewise.
14515 (nds32_debugger_regno): Likewise.
14516 (nds32_use_blocks_for_constant_p): Likewise.
14517 * config/nds32/nds32.h (DBX_REGISTER_NUMBER): Likewise.
14518 (DEBUGGER_REGNO): Likewise.
14519 * config/nvptx/nvptx.h (DBX_REGISTER_NUMBER): Likewise.
14520 (DEBUGGER_REGNO): Likewise.
14521 * config/or1k/or1k.h (DBX_REGISTER_NUMBER): Likewise.
14522 (DEBUGGER_REGNO): Likewise.
14523 * config/pa/pa32-regs.h (DBX_REGISTER_NUMBER): Likewise.
14524 (DEBUGGER_REGNO): Likewise.
14525 * config/pa/pa64-regs.h (DBX_REGISTER_NUMBER): Likewise.
14526 (DEBUGGER_REGNO): Likewise.
14527 * config/rs6000/rs6000-protos.h (rs6000_dbx_regno): Likewise.
14528 (rs6000_debugger_regno): Likewise.
14529 * config/rs6000/rs6000.cc (rs6000_dbx_regno): Likewise.
14530 (rs6000_debugger_regno): Likewise.
14531 * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Likewise.
14532 (DEBUGGER_REGNO): Likewise.
14533 (DWARF2_FRAME_REG_OUT): Likewise.
14534 * config/s390/s390.h (DBX_REGISTER_NUMBER): Likewise.
14535 (DEBUGGER_REGNO): Likewise.
14536 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
14537 (DEBUGGER_REGNO): Likewise.
14538 * config/sh/linux.h (DBX_REGISTER_NUMBER): Likewise.
14539 (DEBUGGER_REGNO): Likewise.
14540 * config/sh/sh.h (DBX_REGISTER_NUMBER): Likewise.
14541 (DEBUGGER_REGNO): Likewise.
14542 (SH_DBX_REGISTER_NUMBER): Likewise.
14543 (SH_DEBUGGER_REGNO): Likewise.
14544 * config/visium/visium.h (DBX_REGISTER_NUMBER): Likewise.
14545 (DEBUGGER_REGNO): Likewise.
14546 * config/xtensa/elf.h (DBX_REGISTER_NUMBER): Likewise.
14547 (DEBUGGER_REGNO): Likewise.
14548 * config/xtensa/linux.h (DBX_REGISTER_NUMBER): Likewise.
14549 (DEBUGGER_REGNO): Likewise.
14550 * config/xtensa/uclinux.h (DBX_REGISTER_NUMBER): Likewise.
14551 (DEBUGGER_REGNO): Likewise.
14552 * config/xtensa/xtensa-protos.h (xtensa_dbx_regno): Likewise.
14553 (xtensa_debugger_regno): Likewise.
14554 * config/xtensa/xtensa.cc (xtensa_dbx_regno): Likewise.
14555 (xtensa_debugger_regno): Likewise.
14556 * config/xtensa/xtensa.h (DBX_REGISTER_NUMBER): Likewise.
14557 (DEBUGGER_REGNO): Likewise.
14558 * defaults.h (DBX_REGISTER_NUMBER): Likewise.
14559 (DEBUGGER_REGNO): Likewise.
14560 (DWARF_FRAME_REGNUM): Likewise.
14561 * doc/tm.texi: Likewise.
14562 * doc/tm.texi.in: Likewise.
14563 * dwarf2out.cc (dbx_reg_number): Likewise.
14564 (debugger_reg_number): Likewise.
14565 (reg_loc_descriptor): Likewise.
14566 (multiple_reg_loc_descriptor): Likewise.
14567 (mem_loc_descriptor): Likewise.
14568 * except.cc: Likewise.
14569
14570 2022-09-05 konglin1 <lingling.kong@intel.com>
14571
14572 PR target/106742
14573 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
14574 Handle V8BF mode.
14575 (expand_vec_perm_broadcast_1): Ditto.
14576 * config/i386/sse.md (avx512fmaskhalfmode): Add BF vector mode.
14577 (vec_set<mode>_0): Add @ to it.
14578 (@vec_set<mode>_0): Ditto.
14579 (vec_interleave_high<mode><mask_name>): Ditto.
14580 (@vec_interleave_high<mode><mask_name>): Ditto.
14581 (vec_interleave_low<mode><mask_name>): Ditto.
14582 (@vec_interleave_low<mode><mask_name>): Ditto.
14583 * config/i386/subst.md (SUBST_V): Add BF vector mode.
14584
14585 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
14586
14587 * value-range.cc (early_nan_resolve): Remove.
14588 (frange::intersect): Handle NANs.
14589
14590 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
14591
14592 * value-range.cc (frange::union_): Do not drop properties when
14593 unioning a NAN with something else.
14594 (range_tests_signed_zeros): Add tests.
14595
14596 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
14597
14598 * real.cc (encode_ieee_single): Use real_isdenormal.
14599 (encode_ieee_double): Same.
14600 (encode_ieee_extended): Same.
14601 (encode_ieee_quad): Same.
14602 (encode_ieee_half): Same.
14603 (encode_arm_bfloat_half): Same.
14604 * real.h (real_isdenormal): New.
14605
14606 2022-09-03 Aldy Hernandez <aldyh@redhat.com>
14607
14608 * value-range.cc (frange::singleton_p): Move NAN check to the top.
14609
14610 2022-09-03 Jan-Benedict Glaw <jbglaw@lug-owl.de>
14611
14612 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments.
14613
14614 2022-09-03 Jakub Jelinek <jakub@redhat.com>
14615
14616 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DOACROSS.
14617 (enum omp_clause_depend_kind): Remove OMP_CLAUSE_DEPEND_SOURCE
14618 and OMP_CLAUSE_DEPEND_SINK, add OMP_CLAUSE_DEPEND_INVALID.
14619 (enum omp_clause_doacross_kind): New type.
14620 (struct tree_omp_clause): Add subcode.doacross_kind member.
14621 * tree.h (OMP_CLAUSE_DEPEND_SINK_NEGATIVE): Remove.
14622 (OMP_CLAUSE_DOACROSS_KIND): Define.
14623 (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE): Define.
14624 (OMP_CLAUSE_DOACROSS_DEPEND): Define.
14625 (OMP_CLAUSE_ORDERED_DOACROSS): Define.
14626 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add
14627 OMP_CLAUSE_DOACROSS entries.
14628 * tree-nested.cc (convert_nonlocal_omp_clauses,
14629 convert_local_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
14630 * tree-pretty-print.cc (dump_omp_clause): Don't handle
14631 OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. Handle
14632 OMP_CLAUSE_DOACROSS.
14633 * gimplify.cc (gimplify_omp_depend): Don't handle
14634 OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.
14635 (gimplify_scan_omp_clauses): Likewise. Handle OMP_CLAUSE_DOACROSS.
14636 (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
14637 (find_standalone_omp_ordered): New function.
14638 (gimplify_omp_for): When OMP_CLAUSE_ORDERED is present, search
14639 body for OMP_ORDERED with OMP_CLAUSE_DOACROSS and if found,
14640 set OMP_CLAUSE_ORDERED_DOACROSS.
14641 (gimplify_omp_ordered): Don't handle OMP_CLAUSE_DEPEND_SINK or
14642 OMP_CLAUSE_DEPEND_SOURCE, instead check OMP_CLAUSE_DOACROSS, adjust
14643 diagnostics that presence or absence of ordered clause parameter
14644 is irrelevant. Handle doacross(sink:omp_cur_iteration-1). Use
14645 actual user name of the clause - doacross or depend - in diagnostics.
14646 * omp-general.cc (omp_extract_for_data): Don't set fd->ordered
14647 if !OMP_CLAUSE_ORDERED_DOACROSS (t). If
14648 OMP_CLAUSE_ORDERED_DOACROSS (t) but !OMP_CLAUSE_ORDERED_EXPR (t),
14649 set fd->ordered to -1 and set it after the loop in that case to
14650 fd->collapse.
14651 * omp-low.cc (check_omp_nesting_restrictions): Don't handle
14652 OMP_CLAUSE_DEPEND_SOURCE nor OMP_CLAUSE_DEPEND_SINK, instead check
14653 OMP_CLAUSE_DOACROSS. Use actual user name of the clause - doacross
14654 or depend - in diagnostics. Diagnose mixing of stand-alone and
14655 block associated ordered constructs binding to the same loop.
14656 (lower_omp_ordered_clauses): Don't handle OMP_CLAUSE_DEPEND_SINK,
14657 instead handle OMP_CLAUSE_DOACROSS.
14658 (lower_omp_ordered): Look for OMP_CLAUSE_DOACROSS instead of
14659 OMP_CLAUSE_DEPEND.
14660 (lower_depend_clauses): Don't handle OMP_CLAUSE_DEPEND_SOURCE and
14661 OMP_CLAUSE_DEPEND_SINK.
14662 * omp-expand.cc (expand_omp_ordered_sink): Emit a sorry for
14663 doacross(sink:omp_cur_iteration-1).
14664 (expand_omp_ordered_source_sink): Use
14665 OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of
14666 OMP_CLAUSE_DEPEND_SINK_NEGATIVE. Use actual user name of the clause
14667 - doacross or depend - in diagnostics.
14668 (expand_omp): Look for OMP_CLAUSE_DOACROSS clause instead of
14669 OMP_CLAUSE_DEPEND.
14670 (build_omp_regions_1): Likewise.
14671 (omp_make_gimple_edges): Likewise.
14672 * lto-streamer-out.cc (hash_tree): Handle OMP_CLAUSE_DOACROSS.
14673 * tree-streamer-in.cc (unpack_ts_omp_clause_value_fields): Likewise.
14674 * tree-streamer-out.cc (pack_ts_omp_clause_value_fields): Likewise.
14675
14676 2022-09-02 David Malcolm <dmalcolm@redhat.com>
14677
14678 PR c/90885
14679 * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow.
14680
14681 2022-09-02 Iain Buclaw <ibuclaw@gdcproject.org>
14682
14683 PR d/105659
14684 * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
14685 * config/aarch64/aarch64-d.cc: Include tm_d.h.
14686 * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
14687 config/aarch64/aarch64-d.h.
14688 (aarch64_d_register_target_info): Likewise.
14689 * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
14690 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14691 * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
14692 tm_p.h.
14693 * config/arm/arm-protos.h (arm_d_target_versions): Move to
14694 config/arm/arm-d.h.
14695 (arm_d_register_target_info): Likewise.
14696 * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
14697 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14698 * config/default-d.cc: Remove memmodel.h include.
14699 * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
14700 * config/glibc-d.cc: Likewise.
14701 * config/i386/i386-d.cc: Include tm_d.h.
14702 * config/i386/i386-protos.h (ix86_d_target_versions): Move to
14703 config/i386/i386-d.h.
14704 (ix86_d_register_target_info): Likewise.
14705 (ix86_d_has_stdcall_convention): Likewise.
14706 * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
14707 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14708 (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
14709 * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
14710 * config/mips/mips-d.cc: Include tm_d.h.
14711 * config/mips/mips-protos.h (mips_d_target_versions): Move to
14712 config/mips/mips-d.h.
14713 (mips_d_register_target_info): Likewise.
14714 * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
14715 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14716 * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
14717 * config/openbsd-d.cc: Likewise.
14718 * config/pa/pa-d.cc: Include tm_d.h.
14719 * config/pa/pa-protos.h (pa_d_target_versions): Move to
14720 config/pa/pa-d.h.
14721 (pa_d_register_target_info): Likewise.
14722 * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
14723 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14724 * config/riscv/riscv-d.cc: Include tm_d.h.
14725 * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
14726 config/riscv/riscv-d.h.
14727 (riscv_d_register_target_info): Likewise.
14728 * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
14729 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14730 * config/rs6000/rs6000-d.cc: Include tm_d.h.
14731 * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
14732 config/rs6000/rs6000-d.h.
14733 (rs6000_d_register_target_info): Likewise.
14734 * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
14735 (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
14736 * config/s390/s390-d.cc: Include tm_d.h.
14737 * config/s390/s390-protos.h (s390_d_target_versions): Move to
14738 config/s390/s390-d.h.
14739 (s390_d_register_target_info): Likewise.
14740 * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
14741 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14742 * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
14743 * config/sparc/sparc-d.cc: Include tm_d.h.
14744 * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
14745 config/sparc/sparc-d.h.
14746 (sparc_d_register_target_info): Likewise.
14747 * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
14748 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
14749 * configure: Regenerate.
14750 * configure.ac (tm_d_file): Remove defaults.h.
14751 (tm_d_include_list): Remove options.h and insn-constants.h.
14752 * config/aarch64/aarch64-d.h: New file.
14753 * config/arm/arm-d.h: New file.
14754 * config/i386/i386-d.h: New file.
14755 * config/mips/mips-d.h: New file.
14756 * config/pa/pa-d.h: New file.
14757 * config/riscv/riscv-d.h: New file.
14758 * config/rs6000/rs6000-d.h: New file.
14759 * config/s390/s390-d.h: New file.
14760 * config/sparc/sparc-d.h: New file.
14761
14762 2022-09-02 Aldy Hernandez <aldyh@redhat.com>
14763
14764 * builtins.cc (fold_builtin_inf): Convert use of real_info to dconstinf.
14765 (fold_builtin_fpclassify): Same.
14766 * fold-const-call.cc (fold_const_call_cc): Same.
14767 * match.pd: Same.
14768 * omp-low.cc (omp_reduction_init_op): Same.
14769 * realmpfr.cc (real_from_mpfr): Same.
14770 * tree.cc (build_complex_inf): Same.
14771
14772 2022-09-02 Peter Bergner <bergner@linux.ibm.com>
14773
14774 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use
14775 NOP_EXPR for MMA pointer casting.
14776
14777 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
14778
14779 * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
14780 Reduce the fallback cost to 1. Only use it if the number of
14781 input lanes is equal to the number of output lanes.
14782
14783 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
14784
14785 PR tree-optimization/106787
14786 * tree-vect-slp.cc (vect_map_to_instance): New function, split out
14787 from...
14788 (vect_bb_partition_graph_r): ...here. Replace the visited set
14789 with a map from nodes to instances. Ensure that a node only
14790 appears in one partition.
14791 (vect_bb_partition_graph): Update accordingly.
14792
14793 2022-09-02 Richard Biener <rguenther@suse.de>
14794
14795 * timevar.def (TV_TREE_RPO_VN): New.
14796 * tree-ssa-sccvn.h (do_rpo_vn): Remove one overload.
14797 * tree-ssa-sccvn.cc (do_rpo_vn_1): Rename the worker.
14798 (do_rpo_vn): Unify the public API, track with TV_TREE_RPO_VN.
14799 (pass_fre::execute): Adjust.
14800 * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust.
14801
14802 2022-09-02 Richard Biener <rguenther@suse.de>
14803
14804 PR tree-optimization/106809
14805 * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
14806 more than one successor before doing extra work.
14807
14808 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
14809
14810 * common/config/riscv/riscv-common.cc: Include <vector>.
14811 (struct riscv_multi_lib_info_t): New.
14812 (riscv_subset_list::match_score): Ditto.
14813 (find_last_appear_switch): Ditto.
14814 (prefixed_with): Ditto.
14815 (struct multi_lib_info_t): Ditto.
14816 (riscv_current_arch_str): Ditto.
14817 (riscv_current_abi_str): Ditto.
14818 (riscv_multi_lib_info_t::parse): Ditto.
14819 (riscv_check_cond): Ditto.
14820 (riscv_check_conds): Ditto.
14821 (riscv_compute_multilib): Ditto.
14822 (TARGET_COMPUTE_MULTILIB): Defined.
14823 * config/riscv/elf.h (LIB_SPEC): Call riscv_multi_lib_check if
14824 doing link.
14825 (RISCV_USE_CUSTOMISED_MULTI_LIB): New.
14826 * config/riscv/riscv.h (riscv_multi_lib_check): New.
14827 (EXTRA_SPEC_FUNCTIONS): Add riscv_multi_lib_check.
14828 * config/riscv/riscv-subset.h (riscv_subset_list::match_score): New.
14829
14830 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
14831
14832 * common/common-target.def (compute_multilib): New.
14833 * common/common-targhooks.h (default_compute_multilib): New.
14834 * common/common-targhooks.cc (default_compute_multilib): New.
14835 * doc/tm.texi.in (TARGET_COMPUTE_MULTILIB): New.
14836 * doc/tm.texi: Regen.
14837 * gcc.cc: Include common/common-target.h.
14838 (set_multilib_dir) Call targetm_common.compute_multilib.
14839 (SWITCH_LIVE): Move to opts.h.
14840 (SWITCH_FALSE): Ditto.
14841 (SWITCH_IGNORE): Ditto.
14842 (SWITCH_IGNORE_PERMANENTLY): Ditto.
14843 (SWITCH_KEEP_FOR_GCC): Ditto.
14844 (struct switchstr): Ditto.
14845 * opts.h (SWITCH_LIVE): Move from gcc.c.
14846 (SWITCH_FALSE): Ditto.
14847 (SWITCH_IGNORE): Ditto.
14848 (SWITCH_IGNORE_PERMANENTLY): Ditto.
14849 (SWITCH_KEEP_FOR_GCC): Ditto.
14850 (struct switchstr): Ditto.
14851
14852 2022-09-02 Martin Liska <mliska@suse.cz>
14853
14854 * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable
14855 debugging format.
14856
14857 2022-09-02 Martin Liska <mliska@suse.cz>
14858
14859 * Makefile.in: Remove -gstabs option support, DBX-related
14860 macros and DBX debugging info support.
14861 * collect2.cc (scan_prog_file): Likewise.
14862 * common.opt: Likewise.
14863 * config.gcc: Likewise.
14864 * config.in: Likewise.
14865 * config/aarch64/aarch64-elf.h (DBX_DEBUGGING_INFO): Likewise.
14866 * config/alpha/alpha.cc: Likewise.
14867 * config/alpha/elf.h (ASM_SPEC): Likewise.
14868 * config/arc/arc.h (DBX_DEBUGGING_INFO): Likewise.
14869 (DBX_CONTIN_LENGTH): Likewise.
14870 * config/arm/aout.h (DBX_DEBUGGING_INFO): Likewise.
14871 (DBX_CONTIN_LENGTH): Likewise.
14872 * config/arm/netbsd-elf.h (DBX_CONTIN_LENGTH): Likewise.
14873 * config/darwin.h (DSYMUTIL_SPEC): Likewise.
14874 (ASM_DEBUG_SPEC): Likewise.
14875 (DBX_DEBUGGING_INFO): Likewise.
14876 (DBX_USE_BINCL): Likewise.
14877 (DBX_CONTIN_LENGTH): Likewise.
14878 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
14879 * config/epiphany/epiphany.h (DBX_DEBUGGING_INFO): Likewise.
14880 (DBX_CONTIN_LENGTH): Likewise.
14881 * config/i386/bsd.h (DBX_NO_XREFS): Likewise.
14882 (DBX_CONTIN_LENGTH): Likewise.
14883 * config/i386/gas.h (DBX_NO_XREFS): Likewise.
14884 (DBX_CONTIN_LENGTH): Likewise.
14885 * config/ia64/ia64.h: Likewise.
14886 * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
14887 * config/m68k/linux.h (DBX_CONTIN_LENGTH): Likewise.
14888 * config/m68k/openbsd.h (DBX_DEBUGGING_INFO): Likewise.
14889 (DBX_CONTIN_LENGTH): Likewise.
14890 (DBX_CONTIN_CHAR): Likewise.
14891 * config/mips/mips.cc (mips_output_filename): Likewise.
14892 (mips_option_override): Likewise.
14893 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Likewise.
14894 (DBX_DEBUGGING_INFO): Likewise.
14895 (DBX_CONTIN_LENGTH): Likewise.
14896 (DBX_REGISTER_NUMBER): Likewise.
14897 (GP_DBX_FIRST): Likewise.
14898 (FP_DBX_FIRST): Likewise.
14899 (MD_DBX_FIRST): Likewise.
14900 * config/nvptx/nvptx.cc: Likewise.
14901 * config/openbsd.h (DBX_NO_XREFS): Likewise.
14902 * config/pa/pa-64.h (DBX_DEBUGGING_INFO): Likewise.
14903 * config/pa/pa.h (ASSEMBLER_DIALECT): Likewise.
14904 (DBX_CONTIN_LENGTH): Likewise.
14905 * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Likewise.
14906 (DBX_USE_BINCL): Likewise.
14907 (DBX_LINES_FUNCTION_RELATIVE): Likewise.
14908 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
14909 * config/pdp11/pdp11.cc: Likewise.
14910 * config/pdp11/pdp11.h (DBX_DEBUGGING_INFO): Likewise.
14911 (PREFERRED_DEBUGGING_TYPE): Likewise.
14912 (DBX_CONTIN_LENGTH): Likewise.
14913 * config/rs6000/rs6000-builtin.cc: Likewise.
14914 * config/rs6000/rs6000-call.cc: Likewise.
14915 * config/rs6000/rs6000-logue.cc (defined): Likewise.
14916 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
14917 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
14918 (rs6000_xcoff_declare_function_name): Likewise.
14919 * config/rs6000/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
14920 (DBX_FUNCTION_FIRST): Likewise.
14921 * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Likewise.
14922 * config/rx/rx.h (DBX_DEBUGGING_INFO): Likewise.
14923 * config/sh/elf.h (DBX_LINES_FUNCTION_RELATIVE): Likewise.
14924 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
14925 * config/sol2.h (NO_DBX_BNSYM_ENSYM): Likewise.
14926 * config/sparc/freebsd.h (DBX_CONTIN_CHAR): Likewise.
14927 * config/sparc/netbsd-elf.h (DBX_CONTIN_CHAR): Likewise.
14928 * config/sparc/sparc.h (DBX_CONTIN_LENGTH): Likewise.
14929 * config/vax/vax.cc (vax_file_start): Likewise.
14930 * config/vax/vax.h (DBX_DEBUGGING_INFO): Likewise.
14931 (DBX_CONTIN_LENGTH): Likewise.
14932 (DBX_CONTIN_CHAR): Likewise.
14933 (DBX_NO_XREFS): Likewise.
14934 (DBX_STATIC_STAB_DATA_SECTION): Likewise.
14935 * config/vx-common.h (DBX_DEBUGGING_INFO): Likewise.
14936 (XCOFF_DEBUGGING_INFO): Likewise.
14937 * configure: Regenerate. Likewise.
14938 * configure.ac: Likewise.
14939 * debug.h: Likewise.
14940 * doc/install.texi: Likewise.
14941 * doc/invoke.texi: Likewise.
14942 * doc/passes.texi: Likewise.
14943 * doc/tm.texi: Likewise.
14944 * doc/tm.texi.in: Likewise.
14945 * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Likewise.
14946 (dw2_asm_output_nstring): Likewise.
14947 (USE_LINKONCE_INDIRECT): Likewise.
14948 * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
14949 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
14950 (output_fde): Likewise.
14951 (output_call_frame_info): Likewise.
14952 (have_macinfo): Likewise.
14953 (add_AT_loc_list): Likewise.
14954 (add_AT_view_list): Likewise.
14955 (output_compilation_unit_header): Likewise.
14956 (output_pubnames): Likewise.
14957 (output_aranges): Likewise.
14958 (output_line_info): Likewise.
14959 (output_macinfo): Likewise.
14960 (dwarf2out_finish): Likewise.
14961 (dwarf2out_early_finish): Likewise.
14962 * final.cc (final_scan_insn_1): Likewise.
14963 (rest_of_handle_final): Likewise.
14964 * flag-types.h (enum debug_info_type): Likewise.
14965 (DBX_DEBUG): Likewise.
14966 (XCOFF_DEBUG): Likewise.
14967 * function.cc (defined): Likewise.
14968 * gcc.cc (defined): Likewise.
14969 (ASM_DEBUG_SPEC): Likewise.
14970 (ASM_DEBUG_OPTION_SPEC): Likewise.
14971 * opts.cc (common_handle_option): Likewise.
14972 (set_debug_level): Likewise.
14973 * system.h (fancy_abort): Likewise.
14974 * target-def.h (TARGET_ASM_CONSTRUCTOR): Likewise.
14975 (TARGET_ASM_DESTRUCTOR): Likewise.
14976 * toplev.cc (defined): Likewise.
14977 * varasm.cc: Likewise.
14978 * config/dbxcoff.h: Removed.
14979 * config/dbxelf.h: Removed.
14980 * dbxout.cc: Removed.
14981 * dbxout.h: Removed.
14982 * gstab.h: Removed.
14983 * stab.def: Removed.
14984 * xcoffout.cc: Removed.
14985 * xcoffout.h: Removed.
14986
14987 2022-09-02 Simon Rainer <gcc.gnu@vvalter.com>
14988
14989 PR ipa/106627
14990 * config/i386/i386-features.cc (ix86_get_function_versions_dispatcher):
14991 Set TREE_NOTHROW correctly for dispatcher declaration.
14992 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
14993 Likewise.
14994
14995 2022-09-01 Tamar Christina <tamar.christina@arm.com>
14996
14997 PR other/106782
14998 * config/aarch64/aarch64.cc
14999 (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
15000 HOST_WIDE_INT_PRINT_UNSIGNED.
15001
15002 2022-09-01 Richard Sandiford <richard.sandiford@arm.com>
15003
15004 * tree-vect-slp.cc (vect_build_slp_tree_2): When building a
15005 VEC_PERM_EXPR of an existing vector, set the SLP_TREE_LANES
15006 to the number of vector elements, if that's a known constant.
15007 (vect_optimize_slp_pass::is_compatible_layout): Remove associated
15008 comment about zero SLP_TREE_LANES.
15009 (vect_optimize_slp_pass::start_choosing_layouts): Iterate over
15010 all partition members when looking for potential layouts.
15011 Handle existing permutes of fixed-length vectors.
15012
15013 2022-09-01 Uroš Bizjak <ubizjak@gmail.com>
15014
15015 PR target/106707
15016 * config/i386/i386.md (moves to/from AX_REG into xchg peephole2):
15017 Do not convert a move pattern where both operands are AX_REG.
15018
15019 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
15020
15021 * range-op-float.cc (build_le): Convert to dconst*inf.
15022 (build_ge): Same.
15023 * value-range.cc (frange::set_signbit): Same.
15024 (frange::normalize_kind): Same.
15025 (range_tests_floats): Same.
15026 * value-range.h (vrp_val_max): Same.
15027 (vrp_val_min): Same.
15028 (frange::set_varying): Same.
15029
15030 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
15031
15032 * emit-rtl.cc (init_emit_once): Initialize dconstinf and
15033 dconstninf.
15034 * real.h: Add dconstinf and dconstninf.
15035
15036 2022-09-01 Richard Biener <rguenther@suse.de>
15037
15038 * gimple-predicate-analysis.cc (compute_control_dep_chain):
15039 Remove cycle detection, instead avoid walking backedges.
15040
15041 2022-09-01 Richard Biener <rguenther@suse.de>
15042
15043 * gimple-predicate-analysis.cc (compute_control_dep_chain):
15044 New wrapping overload.
15045 (uninit_analysis::init_use_preds): Simplify.
15046 (uninit_analysis::init_from_phi_def): Likewise.
15047
15048 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
15049
15050 * gimple-range-fold.cc
15051 (fold_using_range::range_of_builtin_int_call): Add case for
15052 CFN_BUILT_IN_SIGNBIT.
15053
15054 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
15055
15056 * range-op-float.cc (foperator_equal::op1_range): Do not copy sign
15057 bit.
15058 (foperator_not_equal::op1_range): Same.
15059 * value-query.cc (range_query::get_tree_range): Set sign bit.
15060 * value-range-pretty-print.cc (vrange_printer::visit): Dump sign bit.
15061 * value-range.cc (frange::set_signbit): New.
15062 (frange::set): Adjust for sign bit.
15063 (frange::normalize_kind): Same.
15064 (frange::union_): Remove useless comment.
15065 (frange::intersect): Same.
15066 (frange::contains_p): Adjust for sign bit.
15067 (frange::singleton_p): Same.
15068 (frange::verify_range): Same.
15069 (range_tests_signbit): New tests.
15070 (range_tests_floats): Call range_tests_signbit.
15071 * value-range.h (class frange_props): Add signbit
15072 (class frange): Same.
15073
15074 2022-09-01 Jakub Jelinek <jakub@redhat.com>
15075
15076 PR other/106782
15077 * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4)
15078 instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0).
15079 * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to
15080 derived types of gimple to gimple * to avoid -Wformat warnings.
15081 * tree-vect-loop-manip.cc (vect_set_loop_condition,
15082 vect_update_ivs_after_vectorizer): Likewise.
15083 * tree-vect-stmts.cc (vectorizable_load): Likewise.
15084 * tree-vect-patterns.cc (vect_split_statement,
15085 vect_recog_mulhs_pattern, vect_recog_average_pattern,
15086 vect_determine_precisions_from_range,
15087 vect_determine_precisions_from_users): Likewise.
15088 * gimple-loop-versioning.cc
15089 (loop_versioning::analyze_term_using_scevs): Likewise.
15090 * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise.
15091 (vect_build_slp_tree): Cast slp_tree to void * to avoid
15092 -Wformat warnings.
15093 (optimize_load_redistribution_1, vect_match_slp_patterns,
15094 vect_build_slp_instance, vect_optimize_slp_pass::materialize,
15095 vect_optimize_slp_pass::dump, vect_slp_convert_to_external,
15096 vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise.
15097 (vect_print_slp_tree): Likewise. Also use
15098 HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
15099 * tree-vect-loop.cc (vect_determine_vectorization_factor,
15100 vect_analyze_scalar_cycles_1, vect_analyze_loop_operations,
15101 vectorizable_induction, vect_transform_loop): Cast pointers to derived
15102 types of gimple to gimple * to avoid -Wformat warnings.
15103 (vect_analyze_loop_2): Cast slp_tree to void * to avoid
15104 -Wformat warnings.
15105 (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED
15106 instead of %d.
15107 * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
15108 instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
15109 instead of SLP_TREE_DEF_TYPE (node).
15110
15111 2022-09-01 Jakub Jelinek <jakub@redhat.com>
15112
15113 PR c++/106655
15114 * doc/invoke.texi (-Winvalid-utf8): Document it.
15115
15116 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
15117
15118 PR tree-optimization/106785
15119 * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS.
15120 (range_tests_floats): Same.
15121
15122 2022-09-01 konglin1 <lingling.kong@intel.com>
15123
15124 * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR
15125 recognition.
15126
15127 2022-09-01 Peter Bergner <bergner@linux.ibm.com>
15128
15129 PR target/101322
15130 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
15131 Enforce the use of a valid MMA pointer type.
15132
15133 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
15134
15135 * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector
15136 registers.
15137
15138 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
15139
15140 * config/riscv/riscv.cc (riscv_const_insns): Add cost of poly_int.
15141 (riscv_output_move): Add csrr vlenb assembly.
15142 * config/riscv/riscv.md (move_type): Add csrr vlenb type.
15143 (ext): New attribute.
15144 (ext_enabled): Ditto.
15145 (enabled): Ditto.
15146
15147 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
15148
15149 * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Add
15150 "vr" constraint.
15151 (TARGET_VECTOR ? VD_REGS : NO_REGS): Add "vd" constraint.
15152 (TARGET_VECTOR ? VM_REGS : NO_REGS): Add "vm" constraint.
15153 (vp): Add poly constraint.
15154
15155 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
15156
15157 * config/riscv/riscv.h (enum reg_class): Change vype to vtype.
15158
15159 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
15160
15161 * config/riscv/riscv.cc (riscv_convert_vector_bits): Change
15162 configuration according to TARGET_MIN_VLEN.
15163 * config/riscv/riscv.h (UNITS_PER_FP_REG): Fix comment.
15164
15165 2022-08-31 Martin Liska <mliska@suse.cz>
15166
15167 * config.build: Remove deprecated ports.
15168 * config.gcc: Likewise.
15169 * config.host: Likewise.
15170 * configure.ac: Likewise.
15171 * configure: Regenerate.
15172 * config/pa/pa-hpux10.h: Removed.
15173 * config/pa/pa-hpux10.opt: Removed.
15174 * config/pa/t-dce-thr: Removed.
15175
15176 2022-08-31 Martin Liska <mliska@suse.cz>
15177
15178 * Makefile.in: Always install limits.h and syslimits.h to
15179 include folder.
15180 * configure.ac: Assign STMP_FIXINC blank if
15181 --disable-fixincludes is used.
15182 * configure: Regenerate.
15183
15184 2022-08-31 Richard Biener <rguenther@suse.de>
15185
15186 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
15187 Assert the guard_bb isn't empty and has more than one successor.
15188 Drop appropriate parts of the predicate when an edge fails to
15189 register a predicate.
15190 (predicate::dump): Dump empty predicate as TRUE.
15191
15192 2022-08-31 Richard Biener <rguenther@suse.de>
15193
15194 PR tree-optimization/90994
15195 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
15196 Ignore exceptional control flow and skip the edge for the purpose of
15197 predicate generation also for non-calls.
15198
15199 2022-08-31 Aldy Hernandez <aldyh@redhat.com>
15200
15201 * value-range-storage.cc (frange_storage_slot::set_frange): Save
15202 endpoints.
15203 (frange_storage_slot::get_frange): Restore endpoints.
15204 * value-range-storage.h (class frange_storage_slot): Add endpoint
15205 fields.
15206
15207 2022-08-31 Martin Liska <mliska@suse.cz>
15208
15209 PR tree-optimization/106789
15210 * range-op-float.cc (default_frelop_fold_range): Remove the
15211 function.
15212
15213 2022-08-31 Martin Liska <mliska@suse.cz>
15214
15215 * value-range.h: Add more override keywords.
15216
15217 2022-08-31 Martin Liska <mliska@suse.cz>
15218
15219 * value-range.h: Add override.
15220
15221 2022-08-31 Richard Biener <rguenther@suse.de>
15222
15223 PR tree-optimization/65244
15224 * gimple-predicate-analysis.h (predicate::init_from_control_deps):
15225 Add argument to specify whether the predicate is for the USE.
15226 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
15227 Also include predicates effective fallthru control edges when
15228 the predicate is for the USE.
15229
15230 2022-08-31 Richard Biener <rguenther@suse.de>
15231
15232 PR tree-optimization/73550
15233 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
15234 Sanitize debug dumping. Handle case labels with a CASE_HIGH.
15235 (predicate::dump): Adjust for better readability.
15236
15237 2022-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15238 Jakub Jelinek <jakub@redhat.com>
15239
15240 * omp-simd-clone.cc (simd_clone_adjust_return_type,
15241 simd_clone_adjust_argument_types): Use known_eq (veclen, 0U)
15242 instead of known_eq (veclen, 0) to avoid -Wsign-compare warnings.
15243
15244 2022-08-31 Richard Sandiford <richard.sandiford@arm.com>
15245
15246 * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus
15247 argument.
15248
15249 2022-08-31 zhongjuzhe <juzhe.zhong@rivai.ai>
15250
15251 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply
15252 initialize const_vf to 0.
15253
15254 2022-08-31 Martin Liska <mliska@suse.cz>
15255
15256 * config.gcc: Remove cr16.
15257
15258 2022-08-30 Martin Jambor <mjambor@suse.cz>
15259
15260 * vec.h (array_slice): Add constructors for non-const reference to
15261 heap vector and pointers to heap vectors.
15262
15263 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
15264
15265 * value-range.cc (early_nan_resolve): Change comment.
15266 (frange::union_): Handle union when one side is a NAN.
15267 (range_tests_nan): Add tests for NAN union.
15268
15269 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
15270
15271 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): New.
15272 (gcn_simd_clone_adjust): New.
15273 (gcn_simd_clone_usable): New.
15274 (TARGET_SIMD_CLONE_ADJUST): New.
15275 (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New.
15276 (TARGET_SIMD_CLONE_USABLE): New.
15277
15278 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
15279
15280 * doc/tm.texi: Regenerate.
15281 * omp-simd-clone.cc (simd_clone_adjust_return_type): Allow zero
15282 vecsize.
15283 (simd_clone_adjust_argument_types): Likewise.
15284 * target.def (compute_vecsize_and_simdlen): Document the new
15285 vecsize_int and vecsize_float semantics.
15286
15287 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
15288
15289 * expmed.cc (store_bit_field_1): Fix byte offset calculation
15290 for undefined structures.
15291
15292 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
15293
15294 * params.opt (-param=vect-max-layout-candidates=): New parameter.
15295 * doc/invoke.texi (vect-max-layout-candidates): Document it.
15296 * tree-vectorizer.h (auto_lane_permutation_t): New typedef.
15297 (auto_load_permutation_t): Likewise.
15298 * tree-vect-slp.cc (vect_slp_node_weight): New function.
15299 (slpg_layout_cost): New class.
15300 (slpg_vertex): Replace perm_in and perm_out with partition,
15301 out_degree, weight and out_weight.
15302 (slpg_partition_info, slpg_partition_layout_costs): New classes.
15303 (vect_optimize_slp_pass): Likewise, cannibalizing some part of
15304 the previous vect_optimize_slp.
15305 (vect_optimize_slp): Use it.
15306
15307 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
15308
15309 * hash-traits.h (vec_hash_base): New class.
15310 (vec_free_hash_base): Likewise.
15311
15312 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
15313
15314 * hash-traits.h (int_hash_base): New struct, split out from...
15315 (int_hash): ...this class, which now inherits from int_hash_base.
15316 * hash-map-traits.h (unbounded_hashmap_traits): Take a template
15317 parameter for the key that provides hash and equality functions.
15318 (unbounded_int_hashmap_traits): Turn into a type alias of
15319 unbounded_hashmap_traits.
15320
15321 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
15322
15323 * graphds.cc (graphds_scc): Add a pass-back parameter for the
15324 final node order.
15325 * graphds.h (graphds_scc): Update prototype accordingly.
15326
15327 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
15328
15329 * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Split out from...
15330 (vect_transform_slp_perm_load): ...here. Use SLP_TREE_VECTYPE instead
15331 of STMT_VINFO_VECTYPE.
15332
15333 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
15334
15335 * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from...
15336 (vectorizable_slp_permutation): ...here.
15337
15338 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
15339
15340 * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): Check
15341 that the requested number of units is interoperable with the requested
15342 prevailing mode.
15343
15344 2022-08-30 Martin Liska <mliska@suse.cz>
15345
15346 * config.gcc: Remove the port.
15347 * config/m32c/rtems.h: Removed.
15348
15349 2022-08-30 Richard Biener <rguenther@suse.de>
15350
15351 PR tree-optimization/73550
15352 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
15353 Do not apply MAX_NUM_CHAINS again.
15354
15355 2022-08-30 Richard Biener <rguenther@suse.de>
15356
15357 * gimple-predicate-analysis.cc (format_edge_vec): Dump
15358 both source and destination.
15359 (dump_dep_chains): Remove.
15360 (uninit_analysis::init_use_preds): Remove redundant
15361 dumping of chains.
15362
15363 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
15364
15365 * value-range-storage.cc (frange_storage_slot::get_frange): Use
15366 frange_nan.
15367 * value-range.cc (frange::set_nan): New.
15368 (frange_nan): Move to header file.
15369 (range_tests_nan): Adjust frange_nan callers to pass type.
15370 New test.
15371 * value-range.h (FRANGE_PROP_ACCESSOR): Remove.
15372 (frange_nan): New.
15373
15374 2022-08-30 Richard Biener <rguenther@suse.de>
15375
15376 PR tree-optimization/67196
15377 * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded):
15378 Simplify and normalize use prediates before first use.
15379
15380 2022-08-30 Richard Biener <rguenther@suse.de>
15381
15382 * gimple-predicate-analysis.cc (dump_pred_chain): Fix
15383 parentizing and AND prepending.
15384 (predicate::dump): Do not dump the GENERIC expanded
15385 predicate, properly parentize and prepend ORs to the
15386 piecewise predicate dump.
15387 (build_pred_expr): Remove.
15388
15389 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
15390
15391 * range-op-float.cc (finite_operand_p): New.
15392 (build_le): New.
15393 (build_lt): New.
15394 (build_ge): New.
15395 (build_gt): New.
15396 (foperator_equal::fold_range): New implementation with endpoints.
15397 (foperator_equal::op1_range): Same.
15398 (foperator_not_equal::fold_range): Same.
15399 (foperator_not_equal::op1_range): Same.
15400 (foperator_lt::fold_range): Same.
15401 (foperator_lt::op1_range): Same.
15402 (foperator_lt::op2_range): Same.
15403 (foperator_le::fold_range): Same.
15404 (foperator_le::op1_range): Same.
15405 (foperator_le::op2_range): Same.
15406 (foperator_gt::fold_range): Same.
15407 (foperator_gt::op1_range): Same.
15408 (foperator_gt::op2_range): Same.
15409 (foperator_ge::fold_range): Same.
15410 (foperator_ge::op1_range): Same.
15411 (foperator_ge::op2_range): Same.
15412
15413 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
15414
15415 * range-op-float.cc (frange_set_nan): New.
15416 (frange_drop_inf): New.
15417 (frange_drop_ninf): New.
15418 (foperator_equal::op1_range): Adjust for endpoints.
15419 (foperator_lt::op1_range): Same.
15420 (foperator_lt::op2_range): Same.
15421 (foperator_gt::op1_range): Same.
15422 (foperator_gt::op2_range): Same.
15423 (foperator_unordered::op1_range): Same.
15424 * value-query.cc (range_query::get_tree_range): Same.
15425 * value-range-pretty-print.cc (vrange_printer::visit): Same.
15426 * value-range-storage.cc (frange_storage_slot::get_frange): Same.
15427 * value-range.cc (frange::set): Same.
15428 (frange::normalize_kind): Same.
15429 (frange::union_): Same.
15430 (frange::intersect): Same.
15431 (frange::operator=): Same.
15432 (early_nan_resolve): New.
15433 (frange::contains_p): New.
15434 (frange::singleton_p): New.
15435 (frange::set_nonzero): New.
15436 (frange::nonzero_p): New.
15437 (frange::set_zero): New.
15438 (frange::zero_p): New.
15439 (frange::set_nonnegative): New.
15440 (frange_float): New.
15441 (frange_nan): New.
15442 (range_tests_nan): New.
15443 (range_tests_signed_zeros): New.
15444 (range_tests_floats): New.
15445 (range_tests): New.
15446 * value-range.h (frange::lower_bound): New.
15447 (frange::upper_bound): New.
15448 (vrp_val_min): Use real_inf with a sign instead of negating inf.
15449 (frange::frange): New.
15450 (frange::set_varying): Adjust for endpoints.
15451 (real_max_representable): New.
15452 (real_min_representable): New.
15453
15454 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
15455
15456 * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant
15457 for real zero.
15458
15459 2022-08-30 Martin Liska <mliska@suse.cz>
15460
15461 * config/s390/s390.cc (s390_rtx_costs): Use proper type as
15462 argument.
15463
15464 2022-08-30 Richard Biener <rguenther@suse.de>
15465
15466 * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
15467 the set of fallthru reachable blocks from function entry
15468 and use that to determine wlims.always_executed.
15469
15470 2022-08-30 Richard Biener <rguenther@suse.de>
15471
15472 PR tree-optimization/56654
15473 * tree-ssa-uninit.cc (cand_cmp): New.
15474 (find_uninit_use): First process all PHIs and collect candidate
15475 stmts, then sort those after RPO.
15476 (warn_uninitialized_phi): Pass on bb_to_rpo.
15477 (execute_late_warn_uninitialized): Compute and pass on
15478 reverse lookup of RPO number from basic block index.
15479
15480 2022-08-30 Richard Biener <rguenther@suse.de>
15481
15482 * gimple-predicate-analysis.h (uninit_analysis::operator()):
15483 Remove.
15484 * gimple-predicate-analysis.cc
15485 (uninit_analysis::collect_phi_def_edges): Use phi_arg_set,
15486 simplify a bit.
15487 * tree-ssa-uninit.cc (defined_args): New global.
15488 (compute_uninit_opnds_pos): Mask with the recorded set
15489 of guarded maybe-uninitialized uses.
15490 (uninit_undef_val_t::operator()): Remove.
15491 (find_uninit_use): Process all PHI uses, recording the
15492 guarded ones and marking the PHI result as uninitialized
15493 consistently.
15494 (warn_uninitialized_phi): Adjust.
15495 (execute_late_warn_uninitialized): Get rid of the PHI worklist
15496 and instead walk the function in RPO order.
15497 * spellcheck.h (best_match::m_best_candidate_len): Initialize.
15498
15499 2022-08-30 Tamar Christina <tamar.christina@arm.com>
15500
15501 PR tree-optimization/106744
15502 * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments.
15503
15504 2022-08-30 Tamar Christina <tamar.christina@arm.com>
15505
15506 * expmed.cc (store_bit_field_1): Initialize regnum to 0.
15507
15508 2022-08-29 David Faust <david.faust@oracle.com>
15509
15510 PR target/106745
15511 * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix
15512 computation of index for anonymous members.
15513
15514 2022-08-29 Jose E. Marchesi <jose.marchesi@oracle.com>
15515
15516 * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a
15517 target macro.
15518
15519 2022-08-29 H.J. Lu <hjl.tools@gmail.com>
15520
15521 PR target/106748
15522 * config/i386/i386-expand.cc
15523 (ix86_avx256_split_vector_move_misalign): Handle E_V16BFmode.
15524 * config/i386/sse.md (V_256H): Add V16BF.
15525
15526 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
15527
15528 * config/s390/s390.cc (s390_address_cost): Declare.
15529 (s390_hard_regno_nregs): Declare.
15530 (s390_rtx_costs): Add handling for REG and MEM in SET.
15531
15532 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
15533
15534 * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern.
15535 (is_reverse_perm_mask): New function.
15536 (expand_perm_with_rot): Recognize reverse pattern.
15537 (expand_perm_with_vstbrq): New function.
15538 (expand_perm_with_vster): Use vler/vster for element reversal on z15.
15539 (vectorize_vec_perm_const_1): Use.
15540 (s390_vectorize_vec_perm_const): Add expand functions.
15541 * config/s390/vx-builtins.md: Prefer vster over vler.
15542
15543 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
15544
15545 * config/s390/s390.md: Remove UNSPEC_VEC_EXTRACT.
15546 * config/s390/vector.md: Rewrite patterns to use vec_select.
15547 * config/s390/vx-builtins.md (vec_scatter_element<V_HW_2:mode>_SI):
15548 Likewise.
15549
15550 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
15551
15552 PR target/100869
15553 * config/s390/vector.md (@vpdi4_2<mode>): New pattern.
15554 (rotl<mode>3_di): New pattern.
15555 * config/s390/vx-builtins.md: Use vpdi and verll for reversing
15556 elements.
15557
15558 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
15559
15560 * config/s390/s390.cc (s390_issue_rate): Add z15.
15561
15562 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
15563
15564 * common/config/s390/s390-common.cc: Enable -funroll-loops and
15565 -munroll-only-small-loops for OPT_LEVELS_2_PLUS_SPEED_ONLY.
15566 * config/s390/s390.cc (s390_loop_unroll_adjust): Do not unroll
15567 loops larger than 12 instructions.
15568 (s390_override_options_after_change): Set unroll options.
15569 (s390_option_override_internal): Likewise.
15570 * config/s390/s390.opt: Document munroll-only-small-loops.
15571
15572 2022-08-29 Richard Biener <rguenther@suse.de>
15573
15574 * gimple-predicate-analysis.cc (is_loop_exit,
15575 find_control_equiv_block): Inline into single caller ...
15576 (uninit_analysis::init_use_preds): ... here and refactor.
15577
15578 2022-08-29 Richard Biener <rguenther@suse.de>
15579
15580 * gimple-predicate-analysis.cc (compute_control_dep_chain):
15581 Inline is_loop_exit and refactor, add comment about
15582 loop exits.
15583
15584 2022-08-29 Kito Cheng <kito.cheng@sifive.com>
15585
15586 * config/riscv/riscv.cc (riscv_frame_info): Introduce `reset(void)`;
15587 (riscv_frame_info::reset(void)): New.
15588 (riscv_compute_frame_info): Use riscv_frame_info::reset instead
15589 of memset when clean frame.
15590
15591 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
15592
15593 * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): New function.
15594 (riscv_classify_address): Disallow PLUS/LO_SUM/CONST_INT address types for RVV.
15595 (riscv_address_insns): Add RVV modes condition.
15596 (riscv_binary_cost): Ditto.
15597 (riscv_rtx_costs): Adjust cost for RVV.
15598 (riscv_secondary_memory_needed): Add RVV modes condition.
15599 (riscv_hard_regno_nregs): Add RVV register allocation.
15600 (riscv_hard_regno_mode_ok): Add RVV register allocation.
15601 (riscv_class_max_nregs): Add RVV register allocation.
15602 * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Add VL/VTYPE and vector registers in Dwarf.
15603 (UNITS_PER_V_REG): New macro.
15604 (FIRST_PSEUDO_REGISTER): Adjust first pseudo num for RVV.
15605 (V_REG_FIRST): New macro.
15606 (V_REG_LAST): Ditto.
15607 (V_REG_NUM): Ditto.
15608 (V_REG_P): Ditto.
15609 (VL_REG_P): Ditto.
15610 (VTYPE_REG_P): Ditto.
15611 (RISCV_DWARF_VL): Ditto.
15612 (RISCV_DWARF_VTYPE): Ditto.
15613 (enum reg_class): Add RVV register types.
15614 (REG_CLASS_CONTENTS): Add RVV register types.
15615 * config/riscv/riscv.md: Add VL/VTYPE register number constants.
15616
15617 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
15618
15619 * config/riscv/riscv.md: Add new type for vector instructions.
15620
15621 2022-08-28 Peter Bergner <bergner@linux.ibm.com>
15622
15623 PR target/106017
15624 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
15625 of MMA pointer conversions.
15626
15627 2022-08-27 Xi Ruoyao <xry111@xry111.site>
15628
15629 * config/i386/gcc-auto-profile: Regenerate.
15630
15631 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
15632
15633 * real.cc (real_iszero): New.
15634 * real.h (real_iszero): New.
15635
15636 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
15637
15638 * real.cc (real_isinf): New overload.
15639 (real_inf): Add sign argument.
15640 * real.h (real_isinf): New overload.
15641 (real_inf): Add sign argument.
15642
15643 2022-08-26 Marek Polacek <polacek@redhat.com>
15644
15645 PR c++/81159
15646 * doc/invoke.texi: Document -Wself-move.
15647
15648 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
15649
15650 * value-range.cc (vrange::set): Set varying.
15651 (vrange::set_nonzero): Same.
15652 (vrange::set_zero): Same.
15653 (vrange::set_nonnegative): Same.
15654
15655 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
15656
15657 * range-op-float.cc (foperator_equal::op1_range): Do not blindly
15658 copy op2 range when honoring signed zeros.
15659
15660 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
15661
15662 * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always
15663 add newline.
15664 (profitable_path_p): Same.
15665
15666 2022-08-26 Richard Biener <rguenther@suse.de>
15667
15668 * gimple-predicate-analysis.h
15669 (uninit_analysis::use_cannot_happen): Remove.
15670 * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove.
15671 (uninit_analysis::use_cannot_happen): Likewise.
15672 (uninit_analysis::is_use_guarded): Do not call
15673 use_cannot_happen.
15674 (dump_predicates): Remove.
15675 (simple_control_dep_chain): Remove edge overload.
15676
15677 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
15678
15679 * internal-fn.cc (expand_GOMP_TARGET_REV): New.
15680 * internal-fn.def (GOMP_TARGET_REV): New.
15681 * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark
15682 'omp target device_ancestor_host' as in_other_partition and don't
15683 error if absent.
15684 * omp-low.cc (create_omp_child_function): Mark as 'noclone'.
15685 * omp-expand.cc (expand_omp_target): For reverse offload, remove
15686 sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create
15687 empty-body nohost function.
15688 * omp-offload.cc (execute_omp_device_lower): Handle
15689 IFN_GOMP_TARGET_REV.
15690 (pass_omp_target_link::execute): For ACCEL_COMPILER, don't
15691 nullify fn argument for reverse offload
15692
15693 2022-08-26 Jakub Jelinek <jakub@redhat.com>
15694
15695 * builtins.def (BUILT_IN_ISSIGNALING): New built-in.
15696 * builtins.cc (expand_builtin_issignaling): New function.
15697 (expand_builtin_signbit): Don't overwrite target.
15698 (expand_builtin): Handle BUILT_IN_ISSIGNALING.
15699 (fold_builtin_classify): Likewise.
15700 (fold_builtin_1): Likewise.
15701 * optabs.def (issignaling_optab): New.
15702 * fold-const-call.cc (fold_const_call_ss): Handle
15703 BUILT_IN_ISSIGNALING.
15704 * config/i386/i386.md (issignalingxf2): New expander.
15705 * doc/extend.texi (__builtin_issignaling): Document.
15706 (__builtin_isinf, __builtin_isnan): Clarify behavior with
15707 -ffinite-math-only.
15708 * doc/md.texi (issignaling<mode>2): Likewise.
15709
15710 2022-08-26 Jakub Jelinek <jakub@redhat.com>
15711
15712 PR tree-optimization/106099
15713 * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag.
15714 * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of
15715 __builtin_trap to avoid the need of vops.
15716
15717 2022-08-26 Richard Biener <rguenther@suse.de>
15718
15719 * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
15720 New helper.
15721 (compute_control_dep_chain): Adjust to honor marked region
15722 if provided.
15723 (uninit_analysis::init_from_phi_def): Pre-mark the dominating
15724 region to improve compute_control_dep_chain walking.
15725 * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder.
15726
15727 2022-08-26 Richard Biener <rguenther@suse.de>
15728
15729 * gimple-predicate-analysis.cc
15730 (uninit_analysis::collect_phi_def_edges): Only expand a
15731 PHI def edge when it is possibly undefined.
15732
15733 2022-08-26 Martin Liska <mliska@suse.cz>
15734
15735 * doc/extend.texi: Remove cr16 related stuff.
15736 * doc/install.texi: Likewise.
15737 * doc/invoke.texi: Likewise.
15738 * doc/md.texi: Likewise.
15739 * function-tests.cc (test_expansion_to_rtl): Likewise.
15740 * common/config/cr16/cr16-common.cc: Removed.
15741 * config/cr16/constraints.md: Removed.
15742 * config/cr16/cr16-protos.h: Removed.
15743 * config/cr16/cr16.cc: Removed.
15744 * config/cr16/cr16.h: Removed.
15745 * config/cr16/cr16.md: Removed.
15746 * config/cr16/cr16.opt: Removed.
15747 * config/cr16/predicates.md: Removed.
15748 * config/cr16/t-cr16: Removed.
15749
15750 2022-08-26 liuhongt <hongtao.liu@intel.com>
15751
15752 PR target/106704
15753 * config/i386/i386-builtin.def (BDESC): Add
15754 CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
15755 corresponding builtins.
15756 * config/i386/i386.cc (ix86_gimple_fold_builtin):
15757 Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
15758 IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
15759
15760 2022-08-25 Marek Polacek <polacek@redhat.com>
15761
15762 * ginclude/stddef.h: Define nullptr_t.
15763
15764 2022-08-25 Joseph Myers <joseph@codesourcery.com>
15765
15766 * gimplify.cc (gimplify_modify_expr): Convert initialization from
15767 a variable-size CONSTRUCTOR to memset before call to
15768 gimplify_modify_expr_rhs.
15769
15770 2022-08-25 Jason Merrill <jason@redhat.com>
15771
15772 * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t.
15773
15774 2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com>
15775
15776 PR target/106101
15777 * config/s390/predicates.md (subreg_register_operand): New
15778 predicate.
15779 * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
15780 function prototype.
15781 * config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
15782 (s390_expand_insv): Use s390_gen_lowpart_subreg instead of
15783 gen_lowpart.
15784 * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
15785 ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
15786 ("movstrictqi", "movstricthi", "movstrictsi"): Use the
15787 subreg_register_operand predicate instead of register_operand.
15788
15789 2022-08-25 Xi Ruoyao <xry111@xry111.site>
15790
15791 * config/loongarch/loongarch-protos.h (loongarch_symbol_type):
15792 Add SYMBOL_PCREL64 and change the description for SYMBOL_PCREL.
15793 * config/loongarch/loongarch.cc (loongarch_attribute_table):
15794 New attribute table.
15795 (TARGET_ATTRIBUTE_TABLE): Define the target hook.
15796 (loongarch_handle_model_attribute): New static function.
15797 (loongarch_classify_symbol): Take TARGET_CMODEL_EXTREME and the
15798 model attribute of SYMBOL_REF_DECL into account returning
15799 SYMBOL_PCREL or SYMBOL_PCREL64.
15800 (loongarch_use_anchors_for_symbol_p): New static function.
15801 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define the target hook.
15802 (loongarch_symbol_extreme_p): New static function.
15803 (loongarch_symbolic_constant_p): Handle SYMBOL_PCREL64.
15804 (loongarch_symbol_insns): Likewise.
15805 (loongarch_split_symbol_type): Likewise.
15806 (loongarch_split_symbol): Check SYMBOL_PCREL64 instead of
15807 TARGET_CMODEL_EXTREME for PC-relative addressing.
15808 (loongarch_print_operand_reloc): Likewise.
15809 * doc/extend.texi (Variable Attributes): Document new
15810 LoongArch specific attribute.
15811
15812 2022-08-25 Xi Ruoyao <xry111@xry111.site>
15813
15814 * config/loongarch/loongarch.cc (loongarch_classify_symbol):
15815 Return early if the rtx is not SYMBOL_REF.
15816
15817 2022-08-25 Richard Biener <rguenther@suse.de>
15818
15819 PR tree-optimization/106737
15820 * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not
15821 verify SSA form.
15822
15823 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn>
15824
15825 PR target/106459
15826 * config/loongarch/loongarch.cc (loongarch_build_integer):
15827 Use HOST_WIDE_INT.
15828 * config/loongarch/loongarch.h (IMM_REACH): Likewise.
15829 (HWIT_1U): New Defined.
15830 (LU12I_OPERAND): Use HOST_WIDE_INT.
15831 (LU32I_OPERAND): Likewise.
15832 (LU52I_OPERAND): Likewise.
15833 (HWIT_UC_0xFFF): Likwise.
15834
15835 2022-08-24 Andrew Pinski <apinski@marvell.com>
15836
15837 PR target/106632
15838 PR target/106588
15839 * config/riscv/bitmanip.md (*shNadduw): Use n constraint
15840 instead of i.
15841 (*slliuw): Likewise.
15842 (*bexti): Likewise. Also add a check for operands[2] to be less
15843 than the mode bitsize.
15844
15845 2022-08-24 Andrew Pinski <apinski@marvell.com>
15846
15847 * config/riscv/constraints.md (DbS): New constraint.
15848 (DnS): New constraint.
15849 * config/riscv/bitmanip.md (*bset<mode>_1_mask): Use new constraint.
15850 (*bclr<mode>): Likewise.
15851 (*binvi<mode>): Likewise.
15852
15853 2022-08-24 Andrew Pinski <apinski@marvell.com>
15854
15855 PR target/106586
15856 * config/riscv/predicates.md (single_bit_mask_operand):
15857 Use SINGLE_BIT_MASK_OPERAND instead of directly calling pow2p_hwi.
15858 (not_single_bit_mask_operand): Likewise.
15859 * config/riscv/riscv.cc (riscv_build_integer_1): Don't special case
15860 1<<31 for 32bits as it is already handled.
15861 Call trunc_int_for_mode on the upper part after the subtraction.
15862 (riscv_move_integer): Call trunc_int_for_mode before generating
15863 the integer just make sure the constant has been sign extended
15864 corectly.
15865 (riscv_emit_int_compare): Call trunc_int_for_mode after doing the
15866 addition for the new rhs.
15867 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): If !TARGET64BIT,
15868 then mask off the upper 32bits of the HWI as it will be sign extended.
15869
15870 2022-08-24 Andrew Pinski <apinski@marvell.com>
15871
15872 * config/riscv/constraints.md (DsS): New constraint.
15873 (DsD): New constraint.
15874 * config/riscv/iterators.md (shiftm1c): New iterator.
15875 * config/riscv/bitmanip.md (*bset<mode>_mask):
15876 Use shiftm1c.
15877 (*bset<mode>_1_mask): Likewise.
15878
15879 2022-08-24 Andrew Pinski <apinski@marvell.com>
15880
15881 * config/riscv/constraints.md (Ds3): New constraint.
15882 * config/riscv/predicates.md (imm123_operand): New predicate.
15883 * config/riscv/bitmanip.md (*shNadd): Use Ds3 and imm123_operand.
15884 (*shNadduw): Likewise.
15885
15886 2022-08-24 Andrew Pinski <apinski@marvell.com>
15887
15888 * config/riscv/riscv.cc (riscv_print_operand):
15889 Handle '~'.
15890 (riscv_print_operand_punct_valid_p): New function
15891 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
15892 * config/riscv/bitmanip.md (<bitmanip_optab>si2/clz_ctz_pcnt):
15893 Use %~ instead of conditional the pattern on TARGET_64BIT.
15894 (rotrsi3): Likewise.
15895 (rotlsi3): Likewise.
15896 * config/riscv/riscv.md: Add ~ to the list of modifiers.
15897 (addsi3): Use %~ instead of conditional the pattern on TARGET_64BIT.
15898 (subsi3): Likewise.
15899 (negsi2): Likewise.
15900 (mulsi3): Likewise.
15901 (optab>si3/any_div): Likewise.
15902 (*add<mode>hi3): Likewise.
15903 (<optab>si3/any_shift): Likewise.
15904
15905 2022-08-24 Andrew Pinski <apinski@marvell.com>
15906
15907 * config/riscv/riscv.cc (riscv_print_operand): Make a mention to
15908 keep the list in riscv.md in sync with this list.
15909 * config/riscv/riscv.md: Add list of modifiers as comments.
15910
15911 2022-08-24 Andrew Pinski <apinski@marvell.com>
15912
15913 * config/riscv/sync.md (any_atomic, atomic_optab): Move to ...
15914 * config/riscv/iterators.md: Here.
15915
15916 2022-08-24 Andrew Pinski <apinski@marvell.com>
15917
15918 * config/riscv/bitmanip.md
15919 (bitmanip_bitwise, bitmanip_minmax, clz_ctz_pcna,
15920 tbitmanip_optab, bitmanip_insn, shiftm1): Move to ...
15921 * config/riscv/iterators.md: Here.
15922
15923 2022-08-24 Andrew Pinski <apinski@marvell.com>
15924
15925 * config/riscv/riscv.md (GPR): Move to new file.
15926 (P, X, BR): Likewise.
15927 (MOVE32, MOVE64, SHORT): Likewise.
15928 (HISI, SUPERQI, SUBX): Likewise.
15929 (ANYI, ANYF, SOFTF): Likewise.
15930 (size, load, default_load): Likewise.
15931 (softload, store, softstore): Likewise.
15932 (reg, fmt, ifmt, amo): Likewise.
15933 (UNITMODE, HALFMODE): Likewise.
15934 (RINT, rint_pattern, rint_rm): Likewise.
15935 (QUIET_COMPARISON, quiet_pattern, QUIET_PATTERN): Likewise.
15936 (any_extend, any_shiftrt, any_shift): Likewise.
15937 (any_bitwise): Likewise.
15938 (any_div, any_mod): Likewise.
15939 (any_gt, any_ge, any_lt, any_le): Likewise.
15940 (u, su): Likewise.
15941 (optab, insn): Likewise.
15942 * config/riscv/iterators.md: New file.
15943
15944 2022-08-24 Andrew Pinski <apinski@marvell.com>
15945
15946 PR target/106601
15947 * config/riscv/bitmanip.md (bswaphi2): New pattern.
15948
15949 2022-08-24 Andrew Pinski <apinski@marvell.com>
15950
15951 PR target/106600
15952 * config/riscv/bitmanip.md (bswap<mode>2): Remove
15953 condition on TARGET_64BIT as X is already conditional there.
15954
15955 2022-08-24 Joseph Myers <joseph@codesourcery.com>
15956
15957 * tree.cc (build_real): Give DFP dconst0 the minimum quantum
15958 exponent for the type.
15959
15960 2022-08-24 Jose E. Marchesi <jose.marchesi@oracle.com>
15961
15962 PR target/106733
15963 * config/bpf/bpf.cc (bpf_legitimate_address_p): Recognize integer
15964 constants as legitimate addresses for functions.
15965 (bpf_small_register_classes_for_mode_p): Define target hook.
15966
15967 2022-08-24 Richard Biener <rguenther@suse.de>
15968
15969 * gimple-predicate-analysis.cc: Move predicate normalization
15970 after the comment documenting it.
15971
15972 2022-08-24 Richard Biener <rguenther@suse.de>
15973
15974 * gimple-predicate-analysis.h (predicate): Split out
15975 non-predicate related functionality into ..
15976 (uninit_analysis): .. this new class.
15977 * gimple-predicate-analysis.cc: Refactor into two classes.
15978 * tree-ssa-uninit.cc (find_uninit_use): Use uninit_analysis.
15979
15980 2022-08-24 Richard Biener <rguenther@suse.de>
15981
15982 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
15983 Do simple_control_dep_chain only up to cd_root, add the PHI
15984 operand edge to the chains like init_from_phi_def does.
15985 (predicate::is_use_guarded): Speedup early out, avoid half-way
15986 initializing the PHI def predicate.
15987
15988 2022-08-24 Jakub Jelinek <jakub@redhat.com>
15989
15990 PR target/106721
15991 * config/i386/sse.md (shuffletype): Add V32BF, V16BF and V8BF entries.
15992 Change V32HF, V16HF and V8HF entries from "f" to "i".
15993 (iptr): Add V32BF, V16BF, V8BF and BF entries.
15994 (i128vldq): Add V16HF and V16BF entries.
15995 (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
15996 mask_opernad3 -> mask_operand3.
15997
15998 2022-08-24 Martin Liska <mliska@suse.cz>
15999 Jørgen Kvalsvik <j@lambda.is>
16000
16001 * gcov.cc (add_line_counts): Add group functions to coverage
16002 summary.
16003 (accumulate_line_counts): Similarly for files.
16004
16005 2022-08-24 Lulu Cheng <chenglulu@loongson.cn>
16006
16007 * config/loongarch/genopts/loongarch-strings: Support code model medium.
16008 * config/loongarch/genopts/loongarch.opt.in: Likewise.
16009 * config/loongarch/loongarch-def.c: Likewise.
16010 * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise.
16011 (CMODEL_EXTREME): Likewise.
16012 (N_CMODEL_TYPES): Likewise.
16013 (CMODEL_MEDIUM): Likewise.
16014 * config/loongarch/loongarch-opts.cc: Likewise.
16015 * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise.
16016 * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise.
16017 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
16018 Tls symbol Loading support medium mode.
16019 (loongarch_legitimize_call_address): When medium mode, make a symbolic
16020 jump with two instructions.
16021 (loongarch_option_override_internal): Support medium.
16022 * config/loongarch/loongarch.md (@pcalau12i<mode>): New template.
16023 (@sibcall_internal_1<mode>): New function call templates added to support
16024 medium mode.
16025 (@sibcall_value_internal_1<mode>): Likewise.
16026 (@sibcall_value_multiple_internal_1<mode>): Likewise.
16027 (@call_internal_1<mode>): Likewise.
16028 (@call_value_internal_1<mode>): Likewise.
16029 (@call_value_multiple_internal_1<mode>): Likewise.
16030 * config/loongarch/loongarch.opt: Support medium.
16031 * config/loongarch/predicates.md: Add processing about medium mode.
16032 * doc/invoke.texi: Document for '-mcmodel=medium'.
16033
16034 2022-08-24 Richard Biener <rguenther@suse.de>
16035
16036 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
16037 Start the compute_control_dep_chain walk from the immediate
16038 dominator of the PHI.
16039
16040 2022-08-23 H.J. Lu <hjl.tools@gmail.com>
16041
16042 PR target/106714
16043 * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
16044 __PTRDIFF_TYPE__.
16045 (_tile_stream_loadd_internal): Likewise.
16046 (_tile_stored_internal): Likewise.
16047
16048 2022-08-23 Richard Biener <rguenther@suse.de>
16049
16050 PR tree-optimization/106722
16051 * gimple-predicate-analysis.h (MAX_NUM_CHAINS, MAX_CHAIN_LEN,
16052 MAX_POSTDOM_CHECK, MAX_SWITCH_CASES): Move ...
16053 * gimple-predicate-analysis.cc: ... here and document.
16054 (simple_control_dep_chain): New function, factored from
16055 predicate::use_cannot_happen.
16056 (predicate::use_cannot_happen): Adjust.
16057 (predicate::predicate): Use simple_control_dep_chain as fallback.
16058
16059 2022-08-23 Aldy Hernandez <aldyh@redhat.com>
16060
16061 * range-op-float.cc (foperator_equal::op1_range): Set range to
16062 range of op2.
16063
16064 2022-08-23 Richard Biener <rguenther@suse.de>
16065
16066 * gimple-predicate-analysis.cc (is_loop_exit): Split out
16067 from ...
16068 (is_non_loop_exit_postdominating): ... here. Remove after
16069 inlining ...
16070 (find_control_equiv_block): ... here.
16071 (compute_control_dep_chain): ... and here.
16072 (predicate::is_use_guarded): Do not excempt loop exits
16073 from short-cutting the case of the use post-dominating the
16074 PHI definition.
16075
16076 2022-08-23 Andrew MacLeod <amacleod@redhat.com>
16077
16078 PR tree-optimization/106687
16079 * range-op.cc (operator_minus::lhs_op1_relation): Return VREL_LE
16080 for the VREL_GT case as well.
16081
16082 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
16083
16084 * config/pru/pru.md (pru_<code>di3): New alternative for
16085 two operands but without earlyclobber.
16086
16087 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
16088
16089 * config/pru/pru.md (prumov<mode>, mov<mode>): Add
16090 variants for loading -1 consts.
16091
16092 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
16093
16094 PR target/106564
16095 * config/pru/constraints.md (Um): New constraint for -1.
16096 (Uf): New constraint for IOR fill-bytes constants.
16097 (Uz): New constraint for AND zero-bytes constants.
16098 * config/pru/predicates.md (const_fillbytes_operand): New
16099 predicate for IOR fill-bytes constants.
16100 (const_zerobytes_operand): New predicate for AND zero-bytes
16101 constants.
16102 * config/pru/pru-protos.h (pru_output_sign_extend): Remove.
16103 (struct pru_byterange): New struct to describe a byte range.
16104 (pru_calc_byterange): New declaration.
16105 * config/pru/pru.cc (pru_rtx_costs): Add penalty for
16106 64-bit zero-extend.
16107 (pru_output_sign_extend): Remove.
16108 (pru_calc_byterange): New helper function to extract byte
16109 range info from a constant.
16110 (pru_print_operand): Remove 'y' and 'z' print modifiers.
16111 * config/pru/pru.md (zero_extendqidi2): New pattern.
16112 (zero_extendhidi2): New pattern.
16113 (zero_extendsidi2): New pattern.
16114 (extend<EQS0:mode><EQD:mode>2): Rewrite as an expand.
16115 (@pru_ior_fillbytes<mode>): New pattern.
16116 (@pru_and_zerobytes<mode>): New pattern.
16117 (<code>di3): Rewrite as an expand and handle ZERO and FILL
16118 special cases.
16119 (pru_<code>di3): New name for <code>di3.
16120 (@cbranch_qbbx_const_<BIT_TEST:code><HIDI:mode>): New pattern to
16121 handle bit-test for 64-bit registers.
16122
16123 2022-08-22 Richard Biener <rguenther@suse.de>
16124
16125 * gimple-predicate-analysis.h (predicate::m_use_expr): Remove.
16126 (predicate::def_expr): Likewise.
16127 (predicate::use_expr): Likewise.
16128 (predicate::expr): Likewise.
16129 * gimple-predicate-analysis.cc (predicate::def_expr): Remove.
16130 (predicate::use_expr): Likewise.
16131 (predicate::expr): Likewise.
16132 (predicate::is_use_guarded): Do not build m_use_expr.
16133
16134 2022-08-22 Martin Liska <mliska@suse.cz>
16135
16136 PR lto/106700
16137 * configure.ac: Detect O_NONBLOCK flag for open.
16138 * config.in: Regenerate.
16139 * configure: Regenerate.
16140 * opts-common.cc (jobserver_info::connect): Set is_connected
16141 properly based on O_NONBLOCK.
16142 * opts-jobserver.h (struct jobserver_info): Add is_connected
16143 member variable.
16144
16145 2022-08-22 zhongjuzhe <juzhe.zhong@rivai.ai>
16146
16147 * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value
16148 and repeat value different.
16149
16150 2022-08-22 Tobias Burnus <tobias@codesourcery.com>
16151
16152 PR lto/106686
16153 * lto-wrapper.cc (free_array_of_ptrs): Move before tool_cleanup.
16154 (tool_cleanup): Unlink offload_names.
16155 (compile_offload_image): Take filename argument to set it early.
16156 (compile_images_for_offload_targets): Update call; set
16157 offload_names to NULL after freeing the array.
16158
16159 2022-08-22 Richard Biener <rguenther@suse.de>
16160
16161 PR tree-optimization/105937
16162 * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
16163 on backedges.
16164 (execute_late_warn_uninitialized): Mark backedges.
16165
16166 2022-08-22 Richard Biener <rguenther@suse.de>
16167
16168 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
16169 If the use is guarded with multiple predicate paths compute
16170 the predicates intersection before going forward. When
16171 compute_control_dep_chain wasn't able to come up with at
16172 least one path from function entry to the PHI edge compute
16173 a conservative sparse path instead.
16174
16175 2022-08-20 Lulu Cheng <chenglulu@loongson.cn>
16176
16177 * config/loongarch/loongarch-opts.cc: Allow cmodel to be extreme.
16178 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
16179 Add extreme support for TLS GD and LD types.
16180 (loongarch_legitimize_tls_address): Add extreme support for TLS LE
16181 and IE.
16182 (loongarch_split_symbol): When compiling with -mcmodel=extreme,
16183 the symbol address will be obtained through five instructions.
16184 (loongarch_print_operand_reloc): Add support.
16185 (loongarch_print_operand): Add support.
16186 (loongarch_print_operand_address): Add support.
16187 (loongarch_option_override_internal): Set '-mcmodel=extreme' option
16188 incompatible with '-mno-explicit-relocs'.
16189 * config/loongarch/loongarch.md (@lui_l_hi20<mode>):
16190 Loads bits 12-31 of data into registers.
16191 (lui_h_lo20): Load bits 32-51 of the data and spell bits 0-31 of
16192 the source register.
16193 (lui_h_hi12): Load bits 52-63 of the data and spell bits 0-51 of
16194 the source register.
16195 * config/loongarch/predicates.md: Symbols need to be decomposed
16196 when defining the macro TARGET_CMODEL_EXTREME
16197 * doc/invoke.texi: Modify the description information of cmodel in the document.
16198 Document -W[no-]extreme-plt.
16199
16200 2022-08-19 Tobias Burnus <tobias@codesourcery.com>
16201
16202 * config/gcn/mkoffload.cc (main): Add omp_requires_file and dbgobj to
16203 files_to_cleanup.
16204 * config/i386/intelmic-mkoffload.cc (prepare_target_image): Add
16205 omp_requires_file to temp_files.
16206 * config/nvptx/mkoffload.cc (omp_requires_file): New global static var.
16207 (main): Remove local omp_requires_file var.
16208 (tool_cleanup): Handle omp_requires_file.
16209
16210 2022-08-19 Aldy Hernandez <aldyh@redhat.com>
16211
16212 * gimple-range-path.cc (path_range_query::path_range_query):
16213 Remove constructor that takes edge.
16214 * gimple-range-path.h (class path_range_query): Same.
16215 * tree-ssa-loop-ch.cc (edge_range_query): New.
16216 (entry_loop_condition_is_static): Call edge_range_query.
16217
16218 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16219
16220 * config/xtensa/xtensa.h
16221 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
16222 Add new register class "ISC_REGS".
16223 * config/xtensa/constraints.md (c): Add new register constraint.
16224 * config/xtensa/xtensa.md (define_constants): Remove "A11_REG".
16225 (sibcall_internal, sibcall_value_internal):
16226 Change to use the new register constraint, and remove two split
16227 patterns for fixups that are no longer needed.
16228
16229 2022-08-18 Maciej W. Rozycki <macro@embecosm.com>
16230
16231 * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output
16232 pattern formatting.
16233
16234 2022-08-18 Tim Lange <mail@tim-lange.me>
16235
16236 PR analyzer/106181
16237 * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic.
16238
16239 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
16240
16241 * gimple-range-path.cc (path_range_query::path_range_query): Add
16242 various constructors to take a path.
16243 (path_range_query::~path_range_query): Remove m_alloced_ranger.
16244 (path_range_query::range_on_path_entry): Adjust for m_ranger being
16245 a reference.
16246 (path_range_query::set_path): Rename to...
16247 (path_range_query::reset_path): ...this and call compute_ranges.
16248 (path_range_query::ssa_range_in_phi): Adjust for m_ranger
16249 reference.
16250 (path_range_query::range_defined_in_block): Same.
16251 (path_range_query::compute_ranges_in_block): Same.
16252 (path_range_query::adjust_for_non_null_uses): Same.
16253 (path_range_query::compute_exit_dependencies): Use m_path instead
16254 of argument.
16255 (path_range_query::compute_ranges): Remove path argument.
16256 (path_range_query::range_of_stmt): Adjust for m_ranger reference.
16257 (path_range_query::compute_outgoing_relations): Same.
16258 * gimple-range-path.h (class path_range_query): Add various
16259 constructors.
16260 Make compute_ranges and compute_exit_dependencies private.
16261 Rename set_path to reset_path.
16262 Make m_ranger a reference.
16263 Remove m_alloced_ranger.
16264 * tree-ssa-dom.cc (pass_dominator::execute): Adjust constructor to
16265 path_range_query.
16266 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Take a
16267 ranger and instantiate a new path_range_query every time.
16268 (ch_base::copy_headers): Pass ranger instead of path_range_query.
16269 * tree-ssa-threadbackward.cc (class back_threader): Remove m_solver.
16270 (back_threader::~back_threader): Remove m_solver.
16271 (back_threader::find_taken_edge_switch): Adjust for m_ranger
16272 reference.
16273 (back_threader::find_taken_edge_cond): Same.
16274 (back_threader::dump): Remove m_solver.
16275 (back_threader::back_threader): Move verify_marked_backedges
16276 here from the path_range_query constructor.
16277 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Move
16278 some code from compute_ranges_from_state here.
16279 (hybrid_jt_simplifier::compute_ranges_from_state): Rename...
16280 (hybrid_jt_simplifier::compute_exit_dependencies): ...to this.
16281 * tree-ssa-threadedge.h (class hybrid_jt_simplifier): Rename
16282 compute_ranges_from_state to compute_exit_dependencies.
16283 Remove m_path.
16284
16285 2022-08-18 Richard Biener <rguenther@suse.de>
16286
16287 PR middle-end/106617
16288 * match.pd ((a ? b : c) > d -> a ? (b > d) : (c > d)): Fix
16289 guard, disable on GENERIC to not cause quadratic behavior
16290 with the fold-const.cc implementation and the use of !
16291
16292 2022-08-18 Andrew Pinski <apinski@marvell.com>
16293
16294 PR gcov-profile/106659
16295 * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with
16296 INCLUDE_VECTOR.
16297
16298 2022-08-18 konglin1 <lingling.kong@intel.com>
16299
16300 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle vector
16301 BFmode.
16302 (ix86_expand_vector_init_duplicate): Support vector BFmode.
16303 (ix86_expand_vector_init_one_nonzero): Ditto.
16304 (ix86_expand_vector_init_one_var): Ditto.
16305 (ix86_expand_vector_init_concat): Ditto.
16306 (ix86_expand_vector_init_interleave): Ditto.
16307 (ix86_expand_vector_init_general): Ditto.
16308 (ix86_expand_vector_init): Ditto.
16309 (ix86_expand_vector_set_var): Ditto.
16310 (ix86_expand_vector_set): Ditto.
16311 (ix86_expand_vector_extract): Ditto.
16312 * config/i386/i386.cc (classify_argument): Add BF vector modes.
16313 (function_arg_64): Ditto.
16314 (ix86_gimplify_va_arg): Ditto.
16315 (ix86_get_ssemov): Ditto.
16316 * config/i386/i386.h (VALID_AVX256_REG_MODE): Add BF vector modes.
16317 (VALID_AVX512F_REG_MODE): Ditto.
16318 (host_detect_local_cpu): Ditto.
16319 (VALID_SSE2_REG_MODE): Ditto.
16320 * config/i386/i386.md: Add BF vector modes.
16321 (MODE_SIZE): Ditto.
16322 (ssemodesuffix): Add bf suffix for BF vector modes.
16323 (ssevecmode): Ditto.
16324 * config/i386/sse.md (VMOVE): Adjust for BF vector modes.
16325 (VI12HFBF_AVX512VL): Ditto.
16326 (V_256_512): Ditto.
16327 (VF_AVX512HFBF16): Ditto.
16328 (VF_AVX512BWHFBF16): Ditto.
16329 (VIHFBF): Ditto.
16330 (avx512): Ditto.
16331 (VIHFBF_256): Ditto.
16332 (VIHFBF_AVX512BW): Ditto.
16333 (VI2F_256_512):Ditto.
16334 (V8_128):Ditto.
16335 (V16_256): Ditto.
16336 (V32_512): Ditto.
16337 (sseinsnmode): Ditto.
16338 (sseconstm1): Ditto.
16339 (sseintmodesuffix): New mode_attr.
16340 (avx512fmaskmode): Ditto.
16341 (avx512fmaskmodelower): Ditto.
16342 (ssedoublevecmode): Ditto.
16343 (ssehalfvecmode): Ditto.
16344 (ssehalfvecmodelower): Ditto.
16345 (ssescalarmode): Add vector BFmode mapping.
16346 (ssescalarmodelower): Ditto.
16347 (ssexmmmode): Ditto.
16348 (ternlogsuffix): Ditto.
16349 (ssescalarsize): Ditto.
16350 (sseintprefix): Ditto.
16351 (i128): Ditto.
16352 (xtg_mode): Ditto.
16353 (bcstscalarsuff): Ditto.
16354 (<avx512>_blendm<mode>): New define_insn for BFmode.
16355 (<avx512>_store<mode>_mask): Ditto.
16356 (vcond_mask_<mode><avx512fmaskmodelower>): Ditto.
16357 (vec_set<mode>_0): New define_insn for BF vector set.
16358 (V8BFH_128): New mode_iterator for BFmode.
16359 (avx512fp16_mov<mode>): Ditto.
16360 (vec_set<mode>): New define_insn for BF vector set.
16361 (@vec_extract_hi_<mode>): Ditto.
16362 (@vec_extract_lo_<mode>): Ditto.
16363 (vec_set_hi_<mode>): Ditto.
16364 (vec_set_lo_<mode>): Ditto.
16365 (*vec_extract<mode>_0): New define_insn_and_split for BF
16366 vector extract.
16367 (*vec_extract<mode>): New define_insn.
16368 (VEC_EXTRACT_MODE): Add BF vector modes.
16369 (PINSR_MODE): Add V8BF.
16370 (sse2p4_1): Ditto.
16371 (pinsr_evex_isa): Ditto.
16372 (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support
16373 insert for V8BFmode.
16374 (pbroadcast_evex_isa): Add BF vector modes.
16375 (AVX2_VEC_DUP_MODE): Ditto.
16376 (VEC_INIT_MODE): Ditto.
16377 (VEC_INIT_HALF_MODE): Ditto.
16378 (avx2_pbroadcast<mode>): Adjust to support BF vector mode
16379 broadcast.
16380 (avx2_pbroadcast<mode>_1): Ditto.
16381 (<avx512>_vec_dup<mode>_1): Ditto.
16382 (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>):
16383 Ditto.
16384
16385 2022-08-18 Martin Liska <mliska@suse.cz>
16386
16387 * configure: Regenerate.
16388
16389 2022-08-18 Haochen Gui <guihaoc@gcc.gnu.org>
16390
16391 PR target/103109
16392 * config/rs6000/rs6000.md (<u>maddditi4): New pattern for multiply-add.
16393 (<u>madddi4_highpart): New.
16394 (<u>madddi4_highpart_le): New.
16395
16396 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
16397
16398 * gimple-range-path.cc
16399 (path_range_query::compute_exit_dependencies): Use
16400 gimple_range_ssa_names.
16401
16402 2022-08-18 zhongjuzhe <juzhe.zhong@rivai.ai>
16403
16404 * config/riscv/predicates.md: Adjust runtime invariant.
16405 * config/riscv/riscv-modes.def (MAX_BITSIZE_MODE_ANY_MODE): New.
16406 (NUM_POLY_INT_COEFFS): New.
16407 * config/riscv/riscv-protos.h (riscv_initial_elimination_offset):Adjust
16408 runtime invariant.
16409 * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls):
16410 Adjust runtime invariant.
16411 * config/riscv/riscv.cc (struct riscv_frame_info): Adjust runtime
16412 invariant.
16413 (enum riscv_microarchitecture_type): Ditto.
16414 (riscv_valid_offset_p): Ditto.
16415 (riscv_valid_lo_sum_p): Ditto.
16416 (riscv_address_insns): Ditto.
16417 (riscv_load_store_insns): Ditto.
16418 (riscv_legitimize_move): Ditto.
16419 (riscv_binary_cost): Ditto.
16420 (riscv_rtx_costs): Ditto.
16421 (riscv_output_move): Ditto.
16422 (riscv_extend_comparands): Ditto.
16423 (riscv_flatten_aggregate_field): Ditto.
16424 (riscv_get_arg_info): Ditto.
16425 (riscv_pass_by_reference): Ditto.
16426 (riscv_elf_select_rtx_section): Ditto.
16427 (riscv_stack_align): Ditto.
16428 (riscv_compute_frame_info): Ditto.
16429 (riscv_initial_elimination_offset): Ditto.
16430 (riscv_set_return_address): Ditto.
16431 (riscv_for_each_saved_reg): Ditto.
16432 (riscv_first_stack_step): Ditto.
16433 (riscv_expand_prologue): Ditto.
16434 (riscv_expand_epilogue): Ditto.
16435 (riscv_can_use_return_insn): Ditto.
16436 (riscv_secondary_memory_needed): Ditto.
16437 (riscv_hard_regno_nregs): Ditto.
16438 (riscv_convert_vector_bits): New.
16439 (riscv_option_override): Adjust runtime invariant.
16440 (riscv_promote_function_mode): Ditto.
16441 * config/riscv/riscv.h (POLY_SMALL_OPERAND_P): New.
16442 (BITS_PER_RISCV_VECTOR): New.
16443 (BYTES_PER_RISCV_VECTOR): New.
16444 * config/riscv/riscv.md: Adjust runtime invariant.
16445
16446 2022-08-18 Lulu Cheng <chenglulu@loongson.cn>
16447
16448 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
16449 Get __tls_get_addr address through got table when disable plt.
16450
16451 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16452
16453 * config/xtensa/xtensa.cc (xtensa_expand_prologue):
16454 Use an "addmi" machine instruction for updating the stack pointer
16455 rather than addition/subtraction via hard register A9, if the amount
16456 of change satisfies the literal value conditions of that instruction
16457 when the CALL0 ABI is used.
16458 (xtensa_expand_epilogue): Ditto.
16459 And also inhibit the stack pointer addition of constant zero.
16460
16461 2022-08-17 Roger Sayle <roger@nextmovesoftware.com>
16462
16463 PR target/106640
16464 * config/i386/i386-features.cc
16465 (timde_scalar_chain::compute_convert_gain): Replace incorrect use
16466 of XINT with INTVAL (XEXP (src, 1)).
16467
16468 2022-08-17 Aldy Hernandez <aldyh@redhat.com>
16469
16470 * gimple-range-path.cc
16471 (path_range_query::compute_ranges_in_block): Remove
16472 set_root_oracle call.
16473 (path_range_query::compute_ranges): Pass ranger oracle to
16474 reset_path.
16475 * value-relation.cc (path_oracle::reset_path): Set root oracle.
16476 * value-relation.h (path_oracle::reset_path): Add root oracle
16477 argument.
16478
16479 2022-08-17 Marek Polacek <polacek@redhat.com>
16480
16481 PR c++/89780
16482 * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Handle
16483 OPT_Wpessimizing_move and OPT_Wredundant_move.
16484 * diagnostic-spec.h (nowarn_spec_t): Add NW_REDUNDANT enumerator.
16485
16486 2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16487 Jakub Jelinek <jakub@redhat.com>
16488
16489 PR fortran/46539
16490 * common.opt (static-libquadmath): New option.
16491 * gcc.cc (driver_handle_option): Always accept -static-libquadmath.
16492 * config/darwin.h (LINK_SPEC): Handle -static-libquadmath.
16493
16494 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
16495
16496 * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic
16497 when filenames come out identically.
16498
16499 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
16500
16501 PR middle-end/106548
16502 * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
16503 for 'simd' linear-step values that are variable.
16504
16505 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
16506 Chung-Lin Tang <cltang@codesourcery.com>
16507
16508 PR c++/104493
16509 * gimplify.cc (omp_notice_variable): Call omp_mappable_type
16510 instead of removed langhook.
16511 * omp-general.h (omp_mappable_type): New prototype.
16512 * omp-general.cc (omp_mappable_type): New; moved from ...
16513 * langhooks.cc (lhd_omp_mappable_type): ... here.
16514 * langhooks-def.h (lhd_omp_mappable_type,
16515 LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove.
16516 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remote the latter.
16517 * langhooks.h (struct lang_hooks_for_types): Remove
16518 omp_mappable_type.
16519
16520 2022-08-17 Christophe Lyon <christophe.lyon@arm.com>
16521
16522 * config.gcc (arm): Define with_float to hard if target name ends
16523 with 'hf'.
16524
16525 2022-08-17 Richard Biener <rguenther@suse.de>
16526
16527 * tree-ssa-threadbackward.cc
16528 (back_threader_profitability): Split profitable_path_p
16529 into possibly_profitable_path_p and itself, keep state
16530 as new members.
16531 (back_threader::m_profit): Remove.
16532 (back_threader::find_paths): Likewise.
16533 (back_threader::maybe_register_path): Take profitability
16534 instance as parameter.
16535 (back_threader::find_paths_to_names): Likewise. Use
16536 possibly_profitable_path_p and avoid the path range query
16537 when the path is currently too large.
16538 (back_threader::find_paths): Fold into ...
16539 (back_threader::maybe_thread_block): ... this.
16540 (get_gimple_control_stmt): Remove.
16541 (back_threader_profitability::possibly_profitable_path_p):
16542 Split out from profitable_path_p, do early profitability
16543 checks.
16544 (back_threader_profitability::profitable_path_p): Do final
16545 profitability path after the taken edge has been determined.
16546
16547 2022-08-17 Xi Ruoyao <xry111@xry111.site>
16548
16549 * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern.
16550 (fmin<mode>3): Likewise.
16551
16552 2022-08-17 Andrew MacLeod <amacleod@redhat.com>
16553
16554 * gimple-range-fold.cc (gimple_range_ssa_names): New.
16555 * gimple-range-fold.h (gimple_range_ssa_names): New prototype.
16556 * gimple-range-gori.cc (range_def_chain::get_def_chain): Move
16557 code to new routine.
16558
16559 2022-08-16 Martin Liska <mliska@suse.cz>
16560
16561 PR target/106637
16562 * doc/install.texi: Remove link to www.bullfreeware.com
16563
16564 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
16565
16566 * common/config/riscv/riscv-common.cc (riscv_implied_info): Add
16567 zfh and zfhmin.
16568 (riscv_ext_version_table): Ditto.
16569 (riscv_ext_flag_table): Ditto.
16570 * config/riscv/riscv-opts.h (MASK_ZFHMIN): New.
16571 (MASK_ZFH): Ditto.
16572 (TARGET_ZFHMIN): Ditto.
16573 (TARGET_ZFH): Ditto.
16574 * config/riscv/riscv.cc (riscv_output_move): Handle HFmode move
16575 for zfh and zfhmin.
16576 (riscv_emit_float_compare): Handle HFmode.
16577 * config/riscv/riscv.md (ANYF): Add HF.
16578 (SOFTF): Add HF.
16579 (load): Ditto.
16580 (store): Ditto.
16581 (truncsfhf2): New.
16582 (truncdfhf2): Ditto.
16583 (extendhfsf2): Ditto.
16584 (extendhfdf2): Ditto.
16585 (*movhf_hardfloat): Ditto.
16586 (*movhf_softfloat): Make sure not ZFHMIN.
16587 * config/riscv/riscv.opt (riscv_zf_subext): New.
16588
16589 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
16590
16591 * config/riscv/riscv-builtins.cc: include stringpool.h
16592 (riscv_float16_type_node): New.
16593 (riscv_init_builtin_types): Ditto.
16594 (riscv_init_builtins): Call riscv_init_builtin_types.
16595 * config/riscv/riscv-modes.def (HF): New.
16596 * config/riscv/riscv.cc (riscv_output_move): Handle HFmode.
16597 (riscv_mangle_type): New.
16598 (riscv_scalar_mode_supported_p): Ditto.
16599 (riscv_libgcc_floating_mode_supported_p): Ditto.
16600 (riscv_excess_precision): Ditto.
16601 (riscv_floatn_mode): Ditto.
16602 (riscv_init_libfuncs): Ditto.
16603 (TARGET_MANGLE_TYPE): Ditto.
16604 (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto.
16605 (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Ditto.
16606 (TARGET_INIT_LIBFUNCS): Ditto.
16607 (TARGET_C_EXCESS_PRECISION): Ditto.
16608 (TARGET_FLOATN_MODE): Ditto.
16609 * config/riscv/riscv.md (mode): Add HF.
16610 (softload): Add HF.
16611 (softstore): Ditto.
16612 (fmt): Ditto.
16613 (UNITMODE): Ditto.
16614 (movhf): New.
16615 (*movhf_softfloat): New.
16616
16617 2022-08-16 Richard Biener <rguenther@suse.de>
16618
16619 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
16620 Do not walk further if we are leaving the current loop.
16621
16622 2022-08-16 Sergei Trofimovich <siarheit@google.com>
16623
16624 PR driver/106624
16625 * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
16626 argument using xstrdup().
16627
16628 2022-08-16 Aldy Hernandez <aldyh@redhat.com>
16629
16630 * gimple-range-path.cc (path_range_query::import_p): Rename to...
16631 (path_range_query::exit_dependency_p): ...this.
16632 (path_range_query::dump): Rename imports to exit dependencies.
16633 (path_range_query::compute_ranges_in_phis): Same.
16634 (path_range_query::compute_ranges_in_block): Same.
16635 (path_range_query::adjust_for_non_null_uses): Same.
16636 (path_range_query::compute_ranges): Same.
16637 (path_range_query::compute_phi_relations): Same.
16638 (path_range_query::add_to_imports): Rename to...
16639 (path_range_query::add_to_exit_dependencies): ...this.
16640 (path_range_query::compute_imports): Rename to...
16641 (path_range_query::compute_exit_dependencies): ...this.
16642 * gimple-range-path.h (class path_range_query): Rename imports to
16643 exit dependencies.
16644
16645 2022-08-16 Martin Liska <mliska@suse.cz>
16646
16647 * value-range-storage.h (class obstack_vrange_allocator): Mark
16648 the class as final.
16649 (class ggc_vrange_allocator): Likewise.
16650
16651 2022-08-16 Martin Liska <mliska@suse.cz>
16652
16653 * value-range-equiv.h (class value_range_equiv): Add virtual
16654 destructor.
16655 * value-range.h: Likewise.
16656
16657 2022-08-16 Richard Biener <rguenther@suse.de>
16658
16659 PR middle-end/106630
16660 * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to
16661 narrowing conversions.
16662
16663 2022-08-16 Martin Liska <mliska@suse.cz>
16664
16665 * value-range-equiv.h (class value_range_equiv):
16666
16667 2022-08-16 Martin Liska <mliska@suse.cz>
16668
16669 * config/i386/i386-features.h (class general_scalar_chain): Add
16670 final override for a method.
16671 (class timode_scalar_chain): Likewise.
16672
16673 2022-08-16 Richard Biener <rguenther@suse.de>
16674
16675 * doc/invoke.texi (max-jump-thread-paths): Adjust.
16676
16677 2022-08-16 Martin Liska <mliska@suse.cz>
16678
16679 * opts-common.cc (jobserver_info::connect): Open fifo
16680 in non-blocking mode.
16681
16682 2022-08-16 Kewen.Lin <linkw@gcc.gnu.org>
16683
16684 PR target/103353
16685 * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
16686 check to preparation statements and add handlings for !TARGET_MMA.
16687 (define_expand movxo): Likewise.
16688
16689 2022-08-16 Kewen Lin <linkw@linux.ibm.com>
16690
16691 PR tree-optimization/106322
16692 * tree-vect-stmts.cc (vectorizable_call): Don't allow
16693 vect_emulated_vector_p type for both vectype_in and vectype_out.
16694
16695 2022-08-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16696
16697 * common/config/xtensa/xtensa-common.cc
16698 (xtensa_option_optimization_table): Add OPT_fsplit_wide_types_early
16699 for OPT_LEVELS_ALL in order to restore pre-GCC10 behavior.
16700
16701 2022-08-15 Andrew MacLeod <amacleod@redhat.com>
16702
16703 PR tree-optimization/106621
16704 * value-range.cc (irange::set): Check for POLY_INT_CST early.
16705
16706 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
16707
16708 * config/i386/i386-features.cc
16709 (timode_scalar_chain::compute_convert_gain): Provide costs for
16710 shifts and rotates.
16711 (timode_scalar_chain::convert_insn): Handle ASHIFTRT, ROTATERT
16712 and ROTATE just like existing ASHIFT and LSHIFTRT cases.
16713 (timode_scalar_to_vector_candidate_p): Handle all shifts and
16714 rotates by integer constants between 0 and 127.
16715
16716 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
16717
16718 * config/i386/i386-features.cc
16719 (timode_scalar_chain::compute_convert_gain): Provide gains for
16720 comparisons against 0/-1, including "*testti" patterns.
16721
16722 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
16723
16724 PR tree-optimization/64992
16725 PR tree-optimization/98956
16726 * match.pd (ne (lshift @0 @1) 0): Simplify (X << C) != 0 to X
16727 when X is zero_one_valued_p and the shift constant C is valid.
16728 (eq (lshift @0 @1) 0): Likewise, simplify (X << C) == 0 to !X
16729 when X is zero_one_valued_p and the shift constant C is valid.
16730
16731 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
16732 Richard Biener <rguenther@suse.de>
16733
16734 PR tree-optimization/71343
16735 * match.pd (op (lshift @0 @1) (lshift @2 @1)): Optimize the
16736 expression (X<<C) + (Y<<C) to (X+Y)<<C for multiple operators.
16737 (op (rshift @0 @1) (rshift @2 @1)): Likewise, simplify (X>>C)^(Y>>C)
16738 to (X^Y)>>C for binary logical operators, AND, IOR and XOR.
16739
16740 2022-08-15 Richard Biener <rguenther@suse.de>
16741
16742 * gimple-range-path.cc (range_on_path_entry): Just
16743 call range_on_entry.
16744
16745 2022-08-15 Jakub Jelinek <jakub@redhat.com>
16746
16747 PR rtl-optimization/106590
16748 * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
16749 (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
16750 mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
16751 further conditional moves.
16752
16753 2022-08-15 konglin1 <lingling.kong@intel.com>
16754
16755 * config/i386/i386-builtin-types.def (BFLOAT16): New primitive type.
16756 * config/i386/i386-builtins.cc : Support __bf16 type for i386 backend.
16757 (ix86_register_bf16_builtin_type): New function.
16758 (ix86_bf16_type_node): New.
16759 (ix86_bf16_ptr_type_node): Ditto.
16760 (ix86_init_builtin_types): Add ix86_register_bf16_builtin_type function call.
16761 * config/i386/i386-modes.def (FLOAT_MODE): Add BFmode.
16762 (ADJUST_FLOAT_FORMAT): Ditto.
16763 * config/i386/i386.cc (classify_argument): Handle BFmode.
16764 (construct_container): Ditto.
16765 (function_value_32): Return __bf16 by %xmm0.
16766 (function_value_64): Return __bf16 by SSE register.
16767 (ix86_output_ssemov): Handle BFmode.
16768 (ix86_legitimate_constant_p): Disable BFmode constant double.
16769 (ix86_secondary_reload): Require gpr as intermediate register
16770 to store __bf16 from sse register when sse4 is not available.
16771 (ix86_scalar_mode_supported_p): Enable __bf16 under sse2.
16772 (ix86_mangle_type): Add manlging for __bf16 type.
16773 (ix86_invalid_conversion): New function for target hook.
16774 (ix86_invalid_unary_op): Ditto.
16775 (ix86_invalid_binary_op): Ditto.
16776 (TARGET_INVALID_CONVERSION): New define for target hook.
16777 (TARGET_INVALID_UNARY_OP): Ditto.
16778 (TARGET_INVALID_BINARY_OP): Ditto.
16779 * config/i386/i386.h (host_detect_local_cpu): Add BFmode.
16780 * config/i386/i386.md ("mode"): Add BFmode.
16781 (MODE_SIZE): Ditto.
16782 (X87MODEFH): Ditto.
16783 (HFBF): Add new define_mode_iterator.
16784 (*pushhf_rex64): Change for BFmode.
16785 (*push<mode>_rex64): Ditto.
16786 (*pushhf): Ditto.
16787 (*push<mode>): Ditto.
16788 (MODESH): Ditto.
16789 (hfbfconstf): Add new define_mode_attr.
16790 (*mov<mode>_internal): Add BFmode.
16791
16792 2022-08-13 Roger Sayle <roger@nextmovesoftware.com>
16793 Uroš Bizjak <ubizjak@gmail.com>
16794
16795 * config/i386/predicates.md (const_0_to_255_not_mul_8_operand):
16796 New predicate for values between 0/1 and 255, not multiples of 8.
16797 * config/i386/sse.md (ashlv1ti3): Delay lowering of logical left
16798 shifts by constant bit counts.
16799 (*ashlvti3_internal): New define_insn_and_split that lowers
16800 logical left shifts by constant bit counts, that aren't multiples
16801 of 8, before reload.
16802 (lshrv1ti3): Delay lowering of logical right shifts by constant.
16803 (*lshrv1ti3_internal): New define_insn_and_split that lowers
16804 logical right shifts by constant bit counts, that aren't multiples
16805 of 8, before reload.
16806 (ashrv1ti3):: Delay lowering of arithmetic right shifts by
16807 constant bit counts.
16808 (*ashrv1ti3_internal): New define_insn_and_split that lowers
16809 arithmetic right shifts by constant bit counts before reload.
16810 (rotlv1ti3): Delay lowering of rotate left by constant.
16811 (*rotlv1ti3_internal): New define_insn_and_split that lowers
16812 rotate left by constant bits counts before reload.
16813 (rotrv1ti3): Delay lowering of rotate right by constant.
16814 (*rotrv1ti3_internal): New define_insn_and_split that lowers
16815 rotate right by constant bits counts before reload.
16816
16817 2022-08-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
16818
16819 * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options.
16820
16821 2022-08-12 Jan Hubicka <hubicka@ucw.cz>
16822
16823 PR middle-end/106057
16824 * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
16825 function.
16826 (possible_polymorphic_call_targets): Use it.
16827
16828 2022-08-12 Andrew Carlotti <andrew.carlotti@arm.com>
16829
16830 * tree-ssa-loop.h: Improve comment
16831
16832 2022-08-12 Jakub Jelinek <jakub@redhat.com>
16833
16834 PR tree-optimization/106506
16835 * tree-ssa-phiopt.cc (spaceship_replacement): Don't punt for
16836 is_cast or orig_use_lhs cases if phi_bb has 3 predecessors.
16837
16838 2022-08-12 Richard Biener <rguenther@suse.de>
16839
16840 PR tree-optimization/106593
16841 * tree-ssa-threadbackward.cc (back_threader::find_paths):
16842 If the imports from the conditional do not satisfy
16843 gimple_range_ssa_p don't try to thread anything.
16844
16845 2022-08-12 Tamar Christina <tamar.christina@arm.com>
16846
16847 PR target/106524
16848 * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
16849 *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
16850
16851 2022-08-12 Tim Lange <mail@tim-lange.me>
16852
16853 PR analyzer/106000
16854 * doc/invoke.texi: Add Wanalyzer-out-of-bounds.
16855
16856 2022-08-12 Andrew Pinski <apinski@marvell.com>
16857
16858 * config/aarch64/aarch64.md: Remove comment
16859 about MD_INCLUDES as it is out of date and not needed.
16860
16861 2022-08-11 Richard Biener <rguenther@suse.de>
16862
16863 * gimple-range-path.cc (path_range_query::compute_imports):
16864 Restrict walking SSA defs to blocks inside the path. Track
16865 the same operands as range_def_chain::get_def_chain does.
16866
16867 2022-08-11 Richard Biener <rguenther@suse.de>
16868
16869 PR tree-optimization/106514
16870 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
16871 Compute and unwind both m_imports and interesting on the fly during
16872 path discovery.
16873 (back_threader::find_paths): Compute the original m_imports
16874 from just the SSA uses of the exit conditional. Drop
16875 handling single_succ_to_potentially_threadable_block.
16876 * gimple-range-path.cc (path_range_query::ssa_range_in_phi): Handle
16877 constant PHI arguments without crashing. Use PHI_ARG_DEF_FROM_EDGE.
16878
16879 2022-08-11 Richard Biener <rguenther@suse.de>
16880
16881 * gimple-range-path.h (path_range_query::compute_imports):
16882 Take path as argument, not the exit block.
16883 * gimple-range-path.cc (path_range_query::compute_imports):
16884 Likewise, and adjust, avoiding possibly stale m_path.
16885 (path_range_query::compute_outgoing_relations): Register
16886 relations for all conditionals.
16887 * tree-ssa-threadbackward.cc (back_threader::find_paths):
16888 Adjust.
16889
16890 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
16891
16892 * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Fix the
16893 oversight on ENB_CELL by simplifying with rs6000_builtin_is_supported.
16894 (rs6000_expand_builtin): Simplify with rs6000_builtin_is_supported.
16895
16896 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
16897
16898 * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p):
16899 Remove function declaration.
16900
16901 2022-08-10 Richard Biener <rguenther@suse.de>
16902
16903 PR tree-optimization/106513
16904 * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
16905 for head_marker.
16906
16907 2022-08-10 Martin Liska <mliska@suse.cz>
16908
16909 PR lto/106328
16910 * opts-jobserver.h (struct jobserver_info): Add pipefd.
16911 (jobserver_info::connect): New.
16912 (jobserver_info::disconnect): Likewise.
16913 (jobserver_info::get_token): Likewise.
16914 (jobserver_info::return_token): Likewise.
16915 * opts-common.cc: Implement the new functions.
16916
16917 2022-08-10 Martin Liska <mliska@suse.cz>
16918
16919 * opts-jobserver.h: Add one member.
16920 * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
16921 format of --jobserver-auth.
16922
16923 2022-08-10 Martin Liska <mliska@suse.cz>
16924
16925 * gcc.cc (driver::detect_jobserver): Remove and move to
16926 jobserver.h.
16927 * lto-wrapper.cc (jobserver_active_p): Likewise.
16928 (run_gcc): Likewise.
16929 * opts-jobserver.h: New file.
16930 * opts-common.cc (jobserver_info::jobserver_info): New function.
16931
16932 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
16933
16934 * config/i386/i386-features.cc (scalar_chain::convert_compare):
16935 Create new pseudos only when/if needed. Add support for TEST,
16936 i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST.
16937 When broadcasting V2DImode and V4SImode use new pseudo register.
16938 (timode_scalar_chain::convert_op): Do nothing if operand is
16939 already V1TImode. Avoid generating useless SUBREG conversions,
16940 i.e. (SUBREG:V1TImode (REG:V1TImode) 0). Handle CONST_WIDE_INT
16941 in addition to CONST_INT by using CONST_SCALAR_INT_P.
16942 (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both
16943 CONST_WIDE_INT and CONST_INT. Recognize new *testti_doubleword
16944 pattern as an STV candidate.
16945 (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P
16946 operands in binary logic operations.
16947 * config/i386/i386.cc (ix86_rtx_costs) <case UNSPEC>: Add costs
16948 for UNSPEC_PTEST; a PTEST that performs an AND has the same cost
16949 as regular PTEST, i.e. cost->sse_op.
16950 * config/i386/i386.md (*testti_doubleword): New pre-reload
16951 define_insn_and_split that recognizes comparison of TI mode AND
16952 against zero.
16953 * config/i386/sse.md (*ptest<mode>_and): New pre-reload
16954 define_insn_and_split that recognizes UNSPEC_PTEST of identical
16955 AND operands.
16956
16957 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
16958 Richard Biener <rguenther@suse.de>
16959
16960 PR middle-end/21137
16961 PR tree-optimization/98954
16962 * fold-const.cc (fold_binary_loc): Remove optimizations to
16963 optimize ((X >> C1) & C2) ==/!= 0.
16964 * match.pd (cmp (bit_and (lshift @0 @1) @2) @3): Remove wi::ctz
16965 check, and handle all values of INTEGER_CSTs @2 and @3.
16966 (cmp (bit_and (rshift @0 @1) @2) @3): Likewise, remove wi::clz
16967 checks, and handle all values of INTEGER_CSTs @2 and @3.
16968
16969 2022-08-09 David Malcolm <dmalcolm@redhat.com>
16970
16971 * doc/invoke.texi (Static Analyzer Options): Add notes on which
16972 functions the analyzer has hardcoded knowledge of.
16973
16974 2022-08-09 Andrew Stubbs <ams@codesourcery.com>
16975
16976 * config/gcn/gcn.cc (gcn_function_value): Allow vector return values.
16977 (num_arg_regs): Allow vector arguments.
16978 (gcn_function_arg): Likewise.
16979 (gcn_function_arg_advance): Likewise.
16980 (gcn_arg_partial_bytes): Likewise.
16981 (gcn_return_in_memory): Likewise.
16982 (gcn_expand_epilogue): Get return value from v8.
16983 * config/gcn/gcn.h (RETURN_VALUE_REG): Set to v8.
16984 (FIRST_PARM_REG): USE FIRST_SGPR_REG for clarity.
16985 (FIRST_VPARM_REG): New.
16986 (FUNCTION_ARG_REGNO_P): Allow vector parameters.
16987 (struct gcn_args): Add vnum field.
16988 (LIBCALL_VALUE): All vector return values.
16989 * config/gcn/gcn.md (gcn_call_value): Add vector constraints.
16990 (gcn_call_value_indirect): Likewise.
16991
16992 2022-08-09 Richard Biener <rguenther@suse.de>
16993
16994 * omp-expand.cc (expand_omp_atomic_load): Emit GIMPLE
16995 directly. Avoid update_ssa when in SSA form.
16996 (expand_omp_atomic_store): Likewise.
16997 (expand_omp_atomic_fetch_op): Avoid update_ssa when in SSA
16998 form.
16999 (expand_omp_atomic_pipeline): Likewise.
17000 (expand_omp_atomic_mutex): Likewise.
17001 * tree-parloops.cc (gen_parallel_loop): Use
17002 TODO_update_ssa_no_phi after loop_version.
17003
17004 2022-08-09 Richard Biener <rguenther@suse.de>
17005
17006 * doc/invoke.texi (max-fsm-thread-length): Remove.
17007 * params.opt (max-fsm-thread-length): Likewise.
17008 * tree-ssa-threadbackward.cc
17009 (back_threader_profitability::profitable_path_p): Do not
17010 check max-fsm-thread-length.
17011
17012 2022-08-09 Richard Biener <rguenther@suse.de>
17013
17014 PR tree-optimization/106514
17015 * params.opt (max-jump-thread-paths): New.
17016 * doc/invoke.texi (max-jump-thread-paths): Document.
17017 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
17018 Honor max-jump-thread-paths, take overall_path argument.
17019 (back_threader::find_paths): Pass 1 as initial overall_path.
17020
17021 2022-08-09 Tobias Burnus <tobias@codesourcery.com>
17022
17023 PR middle-end/106492
17024 * omp-low.cc (lower_rec_input_clauses): Add missing folding
17025 to data type of linear-clause list item.
17026
17027 2022-08-08 Andrew MacLeod <amacleod@redhat.com>
17028
17029 PR tree-optimization/106556
17030 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use the
17031 type of the cond_expr operands being evaluted.
17032
17033 2022-08-08 Tom Honermann <tom@honermann.net>
17034
17035 * ginclude/stdatomic.h (atomic_char8_t,
17036 ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro.
17037
17038 2022-08-08 Andrew Pinski <apinski@marvell.com>
17039
17040 PR middle-end/103645
17041 * gimplify.cc (gimplify_init_constructor): Don't build/add
17042 gimple assignment of an empty type.
17043
17044 2022-08-08 Richard Biener <rguenther@suse.de>
17045
17046 PR lto/106540
17047 PR lto/106334
17048 * dwarf2out.cc (dwarf2out_register_external_die): Restore
17049 original assert.
17050 * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
17051 to input DECL_INITIAL, avoiding to commit drefs.
17052
17053 2022-08-07 Roger Sayle <roger@nextmovesoftware.com>
17054
17055 * config/i386/i386.md (*cmp<dwi>_doubleword): Change predicate
17056 for x86_64_hilo_general_operand to general operand. Call
17057 force_reg on parts that are not x86_64_immediate_operand.
17058
17059 2022-08-05 David Malcolm <dmalcolm@redhat.com>
17060
17061 PR analyzer/105947
17062 * doc/invoke.texi: Add -Wanalyzer-jump-through-null.
17063
17064 2022-08-05 Roger Sayle <roger@nextmovesoftware.com>
17065
17066 * expmed.cc (emit_store_flag_1): Move code to expand double word
17067 equality and inequality against zero or -1, using word operations,
17068 to after trying to use the backend's cstore<mode>4 optab/expander.
17069
17070 2022-08-05 Tamar Christina <tamar.christina@arm.com>
17071
17072 PR middle-end/106534
17073 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the
17074 value_replacement and store_elim from diamonds.
17075
17076 2022-08-05 Richard Biener <rguenther@suse.de>
17077
17078 * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
17079 Check whether the registry register_path rejected the path.
17080 (back_threader_registry::register_path): Return whether
17081 register_jump_thread succeeded.
17082
17083 2022-08-05 Aldy Hernandez <aldyh@redhat.com>
17084
17085 PR tree-optimization/106514
17086 * value-range.cc (unsupported_range::unsupported_range): Move...
17087 * value-range.h (unsupported_range::unsupported_range): ...here.
17088 (unsupported_range::set_undefined): New.
17089
17090 2022-08-05 Richard Biener <rguenther@suse.de>
17091
17092 PR tree-optimization/106533
17093 * tree-loop-distribution.cc (loop_distribution::execute): Continue
17094 analyzing the inner loops when find_seed_stmts_for_distribution
17095 fails.
17096
17097 2022-08-05 Andrew Pinski <apinski@marvell.com>
17098
17099 * config/riscv/predicates.md (splittable_const_int_operand):
17100 Remove the check for TARGET_64BIT for single bit const values.
17101
17102 2022-08-04 Andrew MacLeod <amacleod@redhat.com>
17103
17104 PR tree-optimization/106514
17105 * gimple-range-path.cc (path_range_query::compute_ranges_in_block):
17106 Use EXECUTE_IF_AND_IN_BITMAP to loop over 2 bitmaps.
17107
17108 2022-08-04 Tamar Christina <tamar.christina@arm.com>
17109
17110 * match.pd: New bit_not rule.
17111
17112 2022-08-04 Tamar Christina <tamar.christina@arm.com>
17113
17114 PR middle-end/106519
17115 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for
17116 diamond shapes.
17117
17118 2022-08-04 Sam Feifer <sfeifer@redhat.com>
17119
17120 PR tree-optimization/106243
17121 * match.pd (-x & 1): New simplification.
17122
17123 2022-08-04 Richard Biener <rguenther@suse.de>
17124
17125 PR tree-optimization/106521
17126 * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Perform
17127 CFG cleanup manually before rewriting into LC SSA.
17128
17129 2022-08-04 Richard Biener <rguenther@suse.de>
17130
17131 * tree-ssa-threadbackward.cc (populate_worklist): Remove.
17132 (back_threader::resolve_phi): Likewise.
17133 (back_threader::find_paths_to_names): Rewrite greedy search.
17134
17135 2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com>
17136
17137 * config/s390/vector.md (V_HW_FT): New iterator.
17138 * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
17139 of V_HW.
17140
17141 2022-08-03 Michael Meissner <meissner@linux.ibm.com>
17142
17143 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
17144 setting -mblock-ops-vector-pair.
17145
17146 2022-08-03 Andrew MacLeod <amacleod@redhat.com>
17147
17148 PR tree-optimization/106514
17149 * value-relation.cc (path_oracle::killing_def) Do not walk the
17150 equivalence set clearing bits.
17151
17152 2022-08-03 Tamar Christina <tamar.christina@arm.com>
17153
17154 * tree-ssa-phiopt.cc (minmax_replacement): Optionally search for the phi
17155 sequence of a three-way conditional.
17156 (replace_phi_edge_with_variable): Support diamonds.
17157 (tree_ssa_phiopt_worker): Detect diamond phi structure for three-way
17158 min/max.
17159 (strip_bit_not, invert_minmax_code): New.
17160
17161 2022-08-03 Richard Earnshaw <rearnsha@arm.com>
17162
17163 PR rtl-optimization/106187
17164 * alias.h (mems_same_for_tbaa_p): Declare.
17165 * alias.cc (mems_same_for_tbaa_p): New function.
17166 * dse.cc (record_store): Use it instead of open-coding
17167 alias check.
17168 * cselib.h (cselib_redundant_set_p): Declare.
17169 * cselib.cc: Include alias.h
17170 (cselib_redundant_set_p): New function.
17171 * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
17172 of rtx_equal_for_cselib_p.
17173 * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
17174 (reload_cse_noop_set_p): Delete.
17175
17176 2022-08-03 Martin Liska <mliska@suse.cz>
17177
17178 * doc/gcov-dump.texi: Document the new option.
17179 * gcov-dump.cc (main): Parse the new option.
17180 (print_usage): Show the option.
17181 (tag_counters): Sort key:value pairs of TOP N counter.
17182
17183 2022-08-03 Martin Liska <mliska@suse.cz>
17184
17185 * profile.cc (compute_branch_probabilities): Do not collect
17186 stats unless TDF_DETAILS.
17187
17188 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
17189 Uroš Bizjak <ubizjak@gmail.com>
17190
17191 PR target/47949
17192 * config/i386/i386.md (peephole2): New peephole2 to convert
17193 SWI48 moves to/from %rax/%eax where the src is dead to xchg,
17194 when optimizing for minimal size with -Oz.
17195
17196 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
17197
17198 * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case
17199 to split comparisons against -1 using AND and CMP -1 instructions.
17200
17201 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
17202
17203 * config/i386/i386-features.cc (compute_convert_gain): Add gain
17204 for converting suitable TImode shift to a V1TImode shift.
17205 (timode_scalar_chain::convert_insn): Add support for converting
17206 suitable ASHIFT and LSHIFTRT.
17207 (timode_scalar_to_vector_candidate_p): Consider logical shifts
17208 by integer constants that are multiples of 8 to be candidates.
17209
17210 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
17211 Segher Boessenkool <segher@kernel.crashing.org>
17212 Richard Sandiford <richard.sandiford@arm.com>
17213
17214 * simplify-rtx.cc (simplify_unary_operation_1) <ABS>: Add
17215 optimizations for CLRSB, PARITY, POPCOUNT, SS_ABS and LSHIFTRT
17216 that are all positive to complement the existing FFS and
17217 idempotent ABS simplifications.
17218 <SIGN_EXTEND>: Canonicalize SIGN_EXTEND to ZERO_EXTEND when
17219 val_signbit_known_clear_p is true of the operand.
17220 Simplify sign extensions of SUBREG truncations of operands
17221 that are already suitably (zero) extended.
17222 <ZERO_EXTEND>: Simplify zero extensions of SUBREG truncations
17223 of operands that are already suitably zero extended.
17224
17225 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
17226
17227 PR tree-optimization/106510
17228 * gimple-range-fold.cc (fur_source::register_outgoing_edges):
17229 Check for unsupported statements early.
17230
17231 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
17232
17233 PR tree-optimization/106474
17234 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Query
17235 range of equivalences that may contribute to the range.
17236
17237 2022-08-02 Jose E. Marchesi <jose.marchesi@oracle.com>
17238
17239 * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR
17240 encoding bit in BTF.
17241
17242 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
17243
17244 * gimple-range-fold.cc (fold_using_range::range_of_phi): Remove
17245 irange check.
17246 (tree_lower_bound): New.
17247 (tree_upper_bound): New.
17248 (fold_using_range::range_of_ssa_name_with_loop_info): Convert to
17249 vrange.
17250 * gimple-range-fold.h (range_of_ssa_name_with_loop_info): Change
17251 argument to vrange.
17252
17253 2022-08-02 Richard Biener <rguenther@suse.de>
17254
17255 * tree-ssa-threadbackward.cc
17256 (back_threader_profitability::profitable_path_p): Apply
17257 size constraints to all paths again.
17258
17259 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
17260
17261 * range-op-float.cc (finite_operands_p): New.
17262 (frelop_early_resolve): New.
17263 (default_frelop_fold_range): New.
17264 (class foperator_equal): New.
17265 (class foperator_not_equal): New.
17266 (class foperator_lt): New.
17267 (class foperator_le): New.
17268 (class foperator_gt): New.
17269 (class foperator_ge): New.
17270 (class foperator_unordered): New.
17271 (class foperator_ordered): New.
17272 (class foperator_relop_unknown): New.
17273 (floating_op_table::floating_op_table): Add above classes to
17274 floating op table.
17275 * value-range.h (frange::supports_p): Enable.
17276
17277 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
17278
17279 * tree-core.h (struct tree_ssa_name): Add frange_info and
17280 reshuffle the rest.
17281 * value-range-storage.cc (vrange_storage::alloc_slot): Add case
17282 for frange.
17283 (vrange_storage::set_vrange): Same.
17284 (vrange_storage::get_vrange): Same.
17285 (vrange_storage::fits_p): Same.
17286 (frange_storage_slot::alloc_slot): New.
17287 (frange_storage_slot::set_frange): New.
17288 (frange_storage_slot::get_frange): New.
17289 (frange_storage_slot::fits_p): New.
17290 * value-range-storage.h (class frange_storage_slot): New.
17291
17292 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
17293
17294 * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger
17295 query to integrals.
17296
17297 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
17298
17299 * value-range.cc (frange::set): Initialize m_props and cleanup.
17300
17301 2022-08-02 Richard Biener <rguenther@suse.de>
17302
17303 PR tree-optimization/106497
17304 * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
17305 Also verify we can copy EDGE_COPY_SRC_JOINER_BLOCK.
17306
17307 2022-08-02 Martin Liska <mliska@suse.cz>
17308
17309 * profile.cc (compute_branch_probabilities): Dump details only
17310 if TDF_DETAILS.
17311 * symtab.cc (symtab_node::dump_base): Do not dump pointer unless
17312 TDF_ADDRESS is used, it makes comparison harder.
17313
17314 2022-08-02 Richard Biener <rguenther@suse.de>
17315
17316 PR tree-optimization/106498
17317 * omp-expand.cc (expand_omp_taskreg): Do not perform virtual
17318 SSA update here.
17319 (expand_omp_for): Or here.
17320 (execute_expand_omp): Instead schedule it here together
17321 with CFG cleanup via TODO.
17322
17323 2022-08-02 Richard Biener <rguenther@suse.de>
17324
17325 PR lto/106334
17326 * dwarf2out.cc (dwarf2out_register_external_die): Adjust
17327 assert.
17328
17329 2022-08-02 Richard Biener <rguenther@suse.de>
17330
17331 PR tree-optimization/106495
17332 * tree-ssa-threadbackward.cc
17333 (back_threader_profitability::profitable_path_p): If known_edge
17334 is probably never executed avoid threading.
17335
17336 2022-08-01 David Malcolm <dmalcolm@redhat.com>
17337
17338 * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste
17339 error.
17340
17341 2022-08-01 Roger Sayle <roger@nextmovesoftware.com>
17342 Uroš Bizjak <ubizjak@gmail.com>
17343
17344 PR target/106481
17345 * config/i386/i386-features.cc (timode_scalar_chain::convert_insn):
17346 Convert a CONST_SCALAR_INT_P in a REG_EQUAL note into a V1TImode
17347 CONST_VECTOR.
17348
17349 2022-08-01 H.J. Lu <hjl.tools@gmail.com>
17350
17351 PR target/83782
17352 * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New.
17353 (TARGET_IFUNC_REF_LOCAL_OK): Use it.
17354
17355 2022-08-01 Jose E. Marchesi <jose.marchesi@oracle.com>
17356
17357 PR debug/106263
17358 * ctfc.h (struct ctf_dtdef): Add field linkage.
17359 * ctfc.cc (ctf_add_function): Set ctti_linkage.
17360 * dwarf2ctf.cc (gen_ctf_function_type): Pass a linkage for
17361 function types and subprograms.
17362 * btfout.cc (btf_asm_func_type): Emit linkage information for the
17363 function.
17364 (btf_dtd_emit_preprocess_cb): Propagate the linkage information
17365 for functions.
17366
17367 2022-08-01 Andrew Stubbs <ams@codesourcery.com>
17368 Jakub Jelinek <jakub@redhat.com>
17369
17370 * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match
17371 the mask type.
17372
17373 2022-08-01 Sam Feifer <sfeifer@redhat.com>
17374
17375 PR tree-optimization/104992
17376 * match.pd (x / y * y == x): New simplification.
17377
17378 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
17379
17380 * value-range.cc (tree_compare): New.
17381 (frange::set): Make more general.
17382 (frange::normalize_kind): Cleanup and return bool.
17383 (frange::union_): Use normalize_kind return value.
17384 (frange::intersect): Same.
17385 (frange::verify_range): Remove unnecessary else.
17386 * value-range.h (vrp_val_max): Move before frange class.
17387 (vrp_val_min): Same.
17388 (frange::frange): Remove set to m_type.
17389
17390 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
17391
17392 * value-range.cc (vrange::supports_type_p): Use const_tree.
17393 (irange::supports_type_p): Same.
17394 (frange::supports_type_p): Same.
17395 * value-range.h (Value_Range::supports_type_p): Same.
17396 (irange::supports_p): Same.
17397
17398 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
17399
17400 * gimple-range-fold.cc (fold_using_range::range_of_phi): Only
17401 query SCEV for integers.
17402 (fold_using_range::range_of_ssa_name_with_loop_info): Remove
17403 irange check.
17404
17405 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
17406
17407 * config/i386/i386.md (define_expand <any_rotate>ti3): For
17408 rotations by 64 bits use new rot[lr]64ti2_doubleword pattern.
17409 (rot[lr]64ti2_doubleword): New post-reload splitter.
17410
17411 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
17412 H.J. Lu <hjl.tools@gmail.com>
17413
17414 PR target/106450
17415 * config/i386/i386-features.cc (timode_check_non_convertible_regs):
17416 Do nothing if REGNO is set in the REGS bitmap, or is a hard reg.
17417 (timode_remove_non_convertible_regs): Update comment.
17418 Call timode_check_non_convertible_reg on all TImode register
17419 DEFs and USEs in each instruction.
17420
17421 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
17422
17423 * config/xtensa/xtensa.md: Change hard register number used in
17424 the split patterns for indirect sibling call fixups from 10 to 11,
17425 the last free one for the CALL0 ABI.
17426
17427 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
17428
17429 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
17430 Add new case for IF_THEN_ELSE.
17431
17432 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
17433
17434 * config/gcn/gcn-valu.md (V_INT_noHI): New iterator.
17435 (<expander><mode>3<exec>): Use V_INT_noHI.
17436 (v<expander><mode>3<exec>): Likewise.
17437
17438 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
17439
17440 * config/gcn/gcn.md (one_cmpldi2): New.
17441
17442 2022-07-29 Richard Biener <rguenther@suse.de>
17443
17444 PR tree-optimization/105679
17445 * tree-ssa-threadbackward.cc
17446 (back_threader_profitability::profitable_path_p): Avoid threading
17447 when the entry edge is probably never executed.
17448
17449 2022-07-29 Richard Biener <rguenther@suse.de>
17450
17451 PR tree-optimization/106422
17452 * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
17453 Check whether we can copy thread blocks and cancel the thread if not.
17454
17455 2022-07-29 Jakub Jelinek <jakub@redhat.com>
17456
17457 PR middle-end/106449
17458 * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
17459 iterators in non-rectangular simd loops. Unshare fd->loops[i].n2
17460 or n2 before regimplifying it inside of a condition.
17461
17462 2022-07-29 Jakub Jelinek <jakub@redhat.com>
17463
17464 * omp-expand.cc (expand_omp_for_init_counts, expand_omp_for_init_vars,
17465 extract_omp_for_update_vars, expand_omp_for_ordered_loops,
17466 expand_omp_simd): Don't fold_convert second argument to
17467 fold_build_pointer_plus to sizetype.
17468
17469 2022-07-29 Lulu Cheng <chenglulu@loongson.cn>
17470
17471 * config.in: Regenerate.
17472 * config/loongarch/loongarch.h (ASM_PREFERRED_EH_DATA_FORMAT):
17473 Select the value of the macro definition according to whether
17474 HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT is defined.
17475 * configure: Regenerate.
17476 * configure.ac: Reinstate HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT test.
17477
17478 2022-07-29 Richard Biener <rguenther@suse.de>
17479
17480 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
17481 Use CONVERT_EXPR_CODE_P.
17482
17483 2022-07-29 Richard Biener <rguenther@suse.de>
17484
17485 * tree-vect-patterns.cc (vect_recog_bool_pattern): Use
17486 get_vectype_for_scalar_type instead of
17487 vect_get_vector_types_for_stmt.
17488
17489 2022-07-28 David Malcolm <dmalcolm@redhat.com>
17490
17491 PR analyzer/105893
17492 * doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var.
17493
17494 2022-07-28 David Malcolm <dmalcolm@redhat.com>
17495
17496 * doc/invoke.texi (-fdiagnostics-show-cwe): Use uref rather than
17497 url.
17498 (Static Analyzer Options): Likewise. Add urefs for all of the
17499 warnings that have associated CWE identifiers.
17500
17501 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
17502
17503 * doc/implement-c.texi (Floating point implementation): Mention
17504 `-fno-trapping-math' in the context of FENV_ACCESS pragma.
17505 * doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma
17506 implication in the descriptions of `-fno-trapping-math' and
17507 `-frounding-math'.
17508
17509 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
17510
17511 * config/riscv/riscv.md (UNSPECV_FSNVSNAN): New constant.
17512 (QUIET_PATTERN): New int attribute.
17513 (f<quiet_pattern>_quiet<ANYF:mode><X:mode>4): Emit the intended
17514 RTL insns entirely within the preparation statements.
17515 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
17516 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Remove
17517 insns.
17518 (*riscv_fsnvsnan<mode>2): New insn.
17519
17520 2022-07-28 Richard Biener <rguenther@suse.de>
17521
17522 PR middle-end/106457
17523 * tree.cc (array_at_struct_end_p): Handle array objects
17524 specially.
17525
17526 2022-07-28 Jakub Jelinek <jakub@redhat.com>
17527
17528 PR tree-optimization/106099
17529 * internal-fn.def (TRAP): New internal fn.
17530 * internal-fn.h (expand_TRAP): Declare.
17531 * internal-fn.cc (expand_TRAP): Define.
17532 * gimple.cc (gimple_build_builtin_unreachable): For BUILT_IN_TRAP,
17533 use internal fn rather than builtin.
17534
17535 2022-07-27 Andrew Carlotti <andrew.carlotti@arm.com>
17536
17537 * doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead.
17538
17539 2022-07-27 WANG Xuerui <i@xen0n.name>
17540
17541 * doc/invoke.texi: Document -m[no-]explicit-relocs for
17542 LoongArch.
17543
17544 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
17545
17546 * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
17547 duplicate backslashes.
17548
17549 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
17550
17551 * config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New
17552 case.
17553
17554 2022-07-27 Jakub Jelinek <jakub@redhat.com>
17555
17556 PR debug/106261
17557 * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
17558 output asm thunks for -dx.
17559
17560 2022-07-27 Jakub Jelinek <jakub@redhat.com>
17561
17562 PR middle-end/106332
17563 * opts-common.cc (candidates_list_and_hint): Add gcc_assert
17564 that candidates is not an empty vector.
17565
17566 2022-07-27 Xi Ruoyao <xry111@xry111.site>
17567
17568 * configure.ac (HAVE_AS_EXPLICIT_RELOCS): Define to 1 if the
17569 assembler supports explicit relocation for LoongArch.
17570 * configure: Regenerate.
17571 * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS):
17572 Define to 0 if not defined.
17573 * config/loongarch/genopts/loongarch.opt.in
17574 (TARGET_EXPLICIT_RELOCS): Default to HAVE_AS_EXPLICIT_RELOCS.
17575 * config/loongarch/loongarch.opt: Regenerate.
17576
17577 2022-07-26 Peter Bergner <bergner@linux.ibm.com>
17578
17579 PR c/106016
17580 * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
17581
17582 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
17583
17584 * config/loongarch/loongarch-opts.cc: Modify the output message string
17585 of the warning.
17586
17587 2022-07-26 Martin Liska <mliska@suse.cz>
17588
17589 * doc/tm.texi.in: Fix placement of defmac.
17590 * doc/tm.texi: Copy.
17591
17592 2022-07-26 Martin Liska <mliska@suse.cz>
17593
17594 * doc/tm.texi.in: Fix cross @defmac and @hook.
17595 * doc/tm.texi: Copy.
17596
17597 2022-07-26 Aldy Hernandez <aldyh@redhat.com>
17598
17599 PR tree-optimization/106444
17600 * value-range-pretty-print.cc (vrange_printer::visit): Handle
17601 legacy ranges.
17602 (vrange_printer::print_irange_bound): Work on wide_int's.
17603 * value-range-pretty-print.h (print_irange_bound): Same.
17604 * value-range.cc (irange::get_nonzero_bits): Handle legacy ranges.
17605
17606 2022-07-26 Richard Biener <rguenther@suse.de>
17607
17608 * tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1
17609 points to a constant continue checking ptr2.
17610
17611 2022-07-26 Andrew Carlotti <Andrew.Carlotti@arm.com>
17612
17613 * config/aarch64/aarch64-builtins.cc
17614 (MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8)
17615 (MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16)
17616 (MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64)
17617 (MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8)
17618 (MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16)
17619 (MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64)
17620 (MODE_q_p128): Define macro to map to corresponding mode name.
17621 (QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16)
17622 (QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64)
17623 (QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to
17624 corresponding qualifier name.
17625 (LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix.
17626 (SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro
17627 functions for the above mappings
17628 (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS)
17629 (VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1)
17630 (VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN)
17631 (AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions
17632 for all vreinterpret intrinsics
17633 (enum aarch64_builtins): Add vreinterpret function codes
17634 (aarch64_init_simd_intrinsics): New
17635 (handle_arm_neon_h): Improved comment.
17636 (aarch64_general_fold_builtin): Fold vreinterpret calls
17637 * config/aarch64/arm_neon.h
17638 (vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8)
17639 (vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64)
17640 (vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16)
17641 (vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16)
17642 (vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8)
17643 (vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64)
17644 (vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8)
17645 (vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64)
17646 (vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128)
17647 (vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8)
17648 (vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64)
17649 (vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16)
17650 (vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8)
17651 (vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8)
17652 (vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64)
17653 (vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8)
17654 (vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64)
17655 (vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128)
17656 (vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8)
17657 (vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64)
17658 (vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16)
17659 (vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8)
17660 (vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8)
17661 (vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64)
17662 (vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128)
17663 (vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16)
17664 (vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8)
17665 (vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16)
17666 (vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64)
17667 (vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16)
17668 (vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16)
17669 (vreinterpretq_p128_u32, vreinterpret_f16_f64, vreinterpret_f16_s8)
17670 (vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64)
17671 (vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16)
17672 (vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8)
17673 (vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64)
17674 (vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32)
17675 (vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8)
17676 (vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64)
17677 (vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16)
17678 (vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64)
17679 (vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32)
17680 (vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16)
17681 (vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8)
17682 (vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16)
17683 (vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16)
17684 (vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8)
17685 (vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64)
17686 (vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64)
17687 (vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32)
17688 (vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64)
17689 (vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32)
17690 (vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16)
17691 (vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16)
17692 (vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16)
17693 (vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16)
17694 (vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8)
17695 (vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64)
17696 (vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8)
17697 (vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32)
17698 (vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32)
17699 (vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16)
17700 (vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8)
17701 (vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16)
17702 (vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16)
17703 (vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8)
17704 (vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128)
17705 (vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8)
17706 (vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64)
17707 (vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16)
17708 (vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16)
17709 (vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8)
17710 (vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64)
17711 (vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8)
17712 (vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8)
17713 (vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128)
17714 (vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16)
17715 (vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32)
17716 (vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32)
17717 (vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16)
17718 (vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16)
17719 (vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16)
17720 (vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16)
17721 (vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8)
17722 (vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128)
17723 (vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8)
17724 (vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32)
17725 (vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32)
17726 (vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16)
17727 (vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8)
17728 (vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16)
17729 (vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16)
17730 (vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8)
17731 (vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128)
17732 (vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8)
17733 (vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32)
17734 (vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32)
17735 (vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16)
17736 (vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8)
17737 (vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16)
17738 (vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16)
17739 (vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8)
17740 (vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128)
17741 (vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8)
17742 (vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64)
17743 (vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32)
17744 (vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16)
17745 (vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8)
17746 (vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64)
17747 (vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16)
17748 (vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8)
17749 (vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128)
17750 (vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8)
17751 (vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64)
17752 (vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32)
17753 (vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16)
17754 (vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8)
17755 (vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64)
17756 (vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8)
17757 (vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8)
17758 (vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128)
17759 (vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8)
17760 (vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64)
17761 (vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16)
17762 (vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16)
17763 (vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8)
17764 (vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64)
17765 (vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8)
17766 (vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8)
17767 (vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128)
17768 (vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8)
17769 (vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64)
17770 (vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32)
17771 (vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16)
17772 (vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32)
17773 (vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16)
17774 (vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8)
17775 (vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64)
17776 (vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64)
17777 (vreinterpretq_bf16_p128, vreinterpretq_bf16_f16)
17778 (vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16)
17779 (vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16)
17780 (vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16)
17781 (vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16)
17782 (vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16)
17783 (vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16)
17784 (vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16)
17785 (vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16)
17786 (vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16)
17787 (vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16)
17788 (vreinterpretq_p128_bf16): Delete
17789
17790 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
17791
17792 * config/aarch64/aarch64-builtins.cc
17793 (aarch64_simd_builtin_std_type): Rename to...
17794 (aarch64_int_or_fp_type): ...this, and allow irrelevant qualifiers.
17795 (aarch64_lookup_simd_builtin_type): Rename to...
17796 (aarch64_simd_builtin_type): ...this. Add const/pointer
17797 support, and extract table lookup to...
17798 (aarch64_lookup_simd_type_in_table): ...this function.
17799 (aarch64_init_crc32_builtins): Update to use aarch64_simd_builtin_type.
17800 (aarch64_init_fcmla_laneq_builtins): Ditto.
17801 (aarch64_init_simd_builtin_functions): Ditto.
17802
17803 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
17804
17805 * config/aarch64/aarch64-builtins.cc
17806 (aarch64_general_gimple_fold_builtin): Add combine.
17807
17808 2022-07-26 Richard Biener <rguenther@suse.de>
17809
17810 PR tree-optimization/106189
17811 * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
17812 Divide using offset_ints.
17813
17814 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
17815
17816 * common/config/loongarch/loongarch-common.cc:
17817 Enable '-fsection-anchors' when O1 and more advanced optimization.
17818 * config/loongarch/genopts/loongarch.opt.in: Add new option
17819 '-mexplicit-relocs', and enable by default.
17820 * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p):
17821 Delete function declaration.
17822 (loongarch_split_move_insn): Delete function declaration.
17823 (loongarch_split_symbol_type): Add function declaration.
17824 * config/loongarch/loongarch.cc (enum loongarch_address_type):
17825 Add new address type 'ADDRESS_LO_SUM'.
17826 (loongarch_classify_symbolic_expression): New function definitions.
17827 Classify the base of symbolic expression X, given that X appears in
17828 context CONTEXT.
17829 (loongarch_symbol_insns): Add a judgment condition TARGET_EXPLICIT_RELOCS.
17830 (loongarch_split_symbol_type): New function definitions.
17831 Determines whether the symbol load should be split into two instructions.
17832 (loongarch_valid_lo_sum_p): New function definitions.
17833 Return true if a LO_SUM can address a value of mode MODE when the LO_SUM
17834 symbol has type SYMBOL_TYPE.
17835 (loongarch_classify_address): Add handling of 'LO_SUM'.
17836 (loongarch_address_insns): Add handling of 'ADDRESS_LO_SUM'.
17837 (loongarch_signed_immediate_p): Sort code.
17838 (loongarch_12bit_offset_address_p): Return true if address type is ADDRESS_LO_SUM.
17839 (loongarch_const_insns): Add handling of 'HIGH'.
17840 (loongarch_split_move_insn_p): Add the static attribute to the function.
17841 (loongarch_emit_set): New function definitions.
17842 (loongarch_call_tls_get_addr): Add symbol handling when defining TARGET_EXPLICIT_RELOCS.
17843 (loongarch_legitimize_tls_address): Add symbol handling when defining the
17844 TARGET_EXPLICIT_RELOCS macro.
17845 (loongarch_split_symbol): New function definitions. Split symbol.
17846 (loongarch_legitimize_address): Add codes see if the address can split into a high part
17847 and a LO_SUM.
17848 (loongarch_legitimize_const_move): Add codes split moves of symbolic constants into
17849 high and low.
17850 (loongarch_split_move_insn): Delete function definitions.
17851 (loongarch_output_move): Add support for HIGH and LO_SUM.
17852 (loongarch_print_operand_reloc): New function definitions.
17853 Print symbolic operand OP, which is part of a HIGH or LO_SUM in context CONTEXT.
17854 (loongarch_memmodel_needs_release_fence): Sort code.
17855 (loongarch_print_operand): Rearrange alphabetical order and add H and L to support HIGH
17856 and LOW output.
17857 (loongarch_print_operand_address): Add handling of 'ADDRESS_LO_SUM'.
17858 (TARGET_MIN_ANCHOR_OFFSET): Define macro to -IMM_REACH/2.
17859 (TARGET_MAX_ANCHOR_OFFSET): Define macro to IMM_REACH/2-1.
17860 * config/loongarch/loongarch.md (movti): Delete the template.
17861 (*movti): Delete the template.
17862 (movtf): Delete the template.
17863 (*movtf): Delete the template.
17864 (*low<mode>): New template of normal symbol low address.
17865 (@tls_low<mode>): New template of tls symbol low address.
17866 (@ld_from_got<mode>): New template load address from got table.
17867 (@ori_l_lo12<mode>): New template.
17868 * config/loongarch/loongarch.opt: Update from loongarch.opt.in.
17869 * config/loongarch/predicates.md: Add support for symbol_type HIGH.
17870
17871 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
17872
17873 * config/loongarch/constraints.md (a): Delete the constraint.
17874 (b): A constant call not local address.
17875 (h): Delete the constraint.
17876 (t): Delete the constraint.
17877 * config/loongarch/loongarch-opts.cc (loongarch_config_target):
17878 Remove cModel type support other than normal.
17879 * config/loongarch/loongarch-protos.h (enum loongarch_symbol_type):
17880 Add new symbol type 'SYMBOL_PCREL', 'SYMBOL_TLS_IE' and 'SYMBOL_TLS_LE'.
17881 (loongarch_split_symbol): Delete useless function declarations.
17882 (loongarch_split_symbol_type): Delete useless function declarations.
17883 * config/loongarch/loongarch.cc (enum loongarch_address_type):
17884 Delete unnecessary comment information.
17885 (loongarch_symbol_binds_local_p): Modified the judgment order of label
17886 and symbol.
17887 (loongarch_classify_symbol): Return symbol type. If symbol is a label,
17888 or symbol is a local symbol return SYMBOL_PCREL. If is a tls symbol,
17889 return SYMBOL_TLS. If is a not local symbol return SYMBOL_GOT_DISP.
17890 (loongarch_symbolic_constant_p): Add handling of 'SYMBOL_TLS_IE'
17891 'SYMBOL_TLS_LE' and 'SYMBOL_PCREL'.
17892 (loongarch_symbol_insns): Add handling of 'SYMBOL_TLS_IE' 'SYMBOL_TLS_LE'
17893 and 'SYMBOL_PCREL'.
17894 (loongarch_address_insns): Sort code.
17895 (loongarch_12bit_offset_address_p): Sort code.
17896 (loongarch_14bit_shifted_offset_address_p): Sort code.
17897 (loongarch_call_tls_get_addr): Sort code.
17898 (loongarch_legitimize_tls_address): Sort code.
17899 (loongarch_output_move): Remove schema support for cmodel other than normal.
17900 (loongarch_memmodel_needs_release_fence): Sort code.
17901 (loongarch_print_operand): Sort code.
17902 * config/loongarch/loongarch.h (LARCH_U12BIT_OFFSET_P):
17903 Rename to LARCH_12BIT_OFFSET_P.
17904 (LARCH_12BIT_OFFSET_P): New macro.
17905 * config/loongarch/loongarch.md: Reimplement the function call. Remove schema
17906 support for cmodel other than normal.
17907 * config/loongarch/predicates.md (is_const_call_weak_symbol): Delete this predicate.
17908 (is_const_call_plt_symbol): Delete this predicate.
17909 (is_const_call_global_noplt_symbol): Delete this predicate.
17910 (is_const_call_no_local_symbol): New predicate, determines whether it is a local
17911 symbol or label.
17912
17913 2022-07-26 Kewen Lin <linkw@linux.ibm.com>
17914
17915 PR target/106091
17916 * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
17917 REG_EH_REGION when replacing one store insn having it.
17918 (replace_swapped_aligned_load): Likewise.
17919
17920 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
17921
17922 * Makefile.in (OBJS): Add range-op-float.o.
17923 * range-op.cc (get_float_handler): New.
17924 (range_op_handler::range_op_handler): Save code and type for
17925 delayed querying.
17926 (range_op_handler::oeprator bool): Move from header file, and
17927 add support for floats.
17928 (range_op_handler::fold_range): Add support for floats.
17929 (range_op_handler::op1_range): Same.
17930 (range_op_handler::op2_range): Same.
17931 (range_op_handler::lhs_op1_relation): Same.
17932 (range_op_handler::lhs_op2_relation): Same.
17933 (range_op_handler::op1_op2_relation): Same.
17934 * range-op.h (class range_operator_float): New.
17935 (class floating_op_table): New.
17936 * value-query.cc (range_query::get_tree_range): Add case for
17937 REAL_CST.
17938 * range-op-float.cc: New file.
17939
17940 2022-07-25 Roger Sayle <roger@nextmovesoftware.com>
17941 Uroš Bizjak <ubizjak@gmail.com>
17942
17943 PR target/91681
17944 * config/i386/i386-expand.cc (split_double_concat): A new helper
17945 function for setting a double word value from two word values.
17946 * config/i386/i386-protos.h (split_double_concat): Prototype here.
17947 * config/i386/i386.md (zero_extendditi2): New define_insn_and_split.
17948 (*add<dwi>3_doubleword_zext): New define_insn_and_split.
17949 (*sub<dwi>3_doubleword_zext): New define_insn_and_split.
17950 (*concat<mode><dwi>3_1): New define_insn_and_split replacing
17951 previous define_split for implementing DST = (HI<<32)|LO as
17952 pair of move instructions, setting lopart and hipart.
17953 (*concat<mode><dwi>3_2): Likewise.
17954 (*concat<mode><dwi>3_3): Likewise, where HI is zero_extended.
17955 (*concat<mode><dwi>3_4): Likewise, where HI is zero_extended.
17956
17957 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
17958
17959 PR middle-end/106432
17960 * gimple-range.cc (gimple_ranger::range_on_edge): Return false
17961 when the result range type is unsupported.
17962
17963 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
17964
17965 * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
17966
17967 2022-07-25 Richard Biener <rguenther@suse.de>
17968
17969 PR middle-end/106414
17970 * match.pd (~(x ^ y) -> x == y): Restrict to single bit
17971 precision types.
17972
17973 2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com>
17974
17975 * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
17976 (@aarch64_rbit<mode>): ... to this and change it in...
17977 (ffs<mode>2,ctz<mode>2): ... here.
17978 (@aarch64_rev16<mode>): New.
17979 * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
17980 Define the following enum AARCH64_REV16, AARCH64_REV16L,
17981 AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
17982 (aarch64_init_data_intrinsics): New.
17983 (aarch64_general_init_builtins): Add call to
17984 aarch64_init_data_intrinsics.
17985 (aarch64_expand_builtin_data_intrinsic): New.
17986 (aarch64_general_expand_builtin): Add call to
17987 aarch64_expand_builtin_data_intrinsic.
17988 * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
17989 __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
17990 __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
17991
17992 2022-07-25 Martin Liska <mliska@suse.cz>
17993
17994 * doc/extend.texi: Remove trailing whitespaces.
17995 * doc/invoke.texi: Likewise.
17996
17997 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
17998
17999 * value-range-pretty-print.cc (vrange_printer::visit): New.
18000 (vrange_printer::print_frange_prop): New.
18001 * value-range-pretty-print.h (class vrange_printer): Add visit and
18002 print_frange_prop.
18003 * value-range-storage.h (vrange_allocator::alloc_vrange): Handle frange.
18004 (vrange_allocator::alloc_frange): New.
18005 * value-range.cc (vrange::operator=): Handle frange.
18006 (vrange::operator==): Same.
18007 (frange::accept): New.
18008 (frange::set): New.
18009 (frange::normalize_kind): New.
18010 (frange::union_): New.
18011 (frange::intersect): New.
18012 (frange::operator=): New.
18013 (frange::operator==): New.
18014 (frange::supports_type_p): New.
18015 (frange::verify_range): New.
18016 * value-range.h (enum value_range_discriminator): Handle frange.
18017 (class fp_prop): New.
18018 (FP_PROP_ACCESSOR): New.
18019 (class frange_props): New.
18020 (FRANGE_PROP_ACCESSOR): New.
18021 (class frange): New.
18022 (Value_Range::init): Handle frange.
18023 (Value_Range::operator=): Same.
18024 (Value_Range::supports_type_p): Same.
18025 (frange_props::operator==): New.
18026 (frange_props::union_): New.
18027 (frange_props::intersect): New
18028 (frange::frange): New.
18029 (frange::type): New.
18030 (frange::set_varying): New.
18031 (frange::set_undefined): New.
18032
18033 2022-07-25 Peter Bergner <bergner@linux.ibm.com>
18034 Kewen Lin <linkw@linux.ibm.com>
18035
18036 PR testsuite/106345
18037 * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
18038 to filter out all -mtune options.
18039
18040 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
18041
18042 * value-query.cc (range_query::get_value_range): Add assert.
18043 * vr-values.cc (vr_values::range_of_expr): Make sure we don't ICE
18044 on unsupported types in vr_values.
18045 (simplify_using_ranges::simplify): Same.
18046
18047 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
18048
18049 * tree-ssanames.cc (get_nonzero_bits): Return -1 for unsupported
18050 types.
18051 * value-query.cc (get_ssa_name_range_info): Remove precision check.
18052
18053 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
18054
18055 * value-relation.cc (value_relation::set_relation): Remove assert.
18056 (path_oracle::register_relation): Exit when trying to register
18057 same SSA name relations.
18058
18059 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
18060
18061 * gimple-range-cache.cc (ranger_cache::edge_range): Convert to vrange.
18062 (ranger_cache::range_from_dom): Same.
18063 * tree-ssa-dom.cc
18064 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same.
18065
18066 2022-07-24 Roger Sayle <roger@nextmovesoftware.com>
18067 H.J. Lu <hjl.tools@gmail.com>
18068
18069 PR target/106303
18070 PR target/106347
18071 * config/i386/i386-features.cc (make_vector_copies): Move from
18072 general_scalar_chain to scalar_chain.
18073 (convert_reg): Likewise.
18074 (convert_insn_common): New scalar_chain method split out from
18075 general_scalar_chain convert_insn.
18076 (convert_registers): Move from general_scalar_chain to
18077 scalar_chain.
18078 (scalar_chain::convert): Call convert_insn_common before calling
18079 convert_insn.
18080 (timode_remove_non_convertible_regs): Iterate until there are
18081 no further changes to the candidates.
18082 * config/i386/i386-features.h (scalar_chain::hash_map): Move
18083 from general_scalar_chain.
18084 (scalar_chain::convert_reg): Likewise.
18085 (scalar_chain::convert_insn_common): New shared method.
18086 (scalar_chain::make_vector_copies): Move from general_scalar_chain.
18087 (scalar_chain::convert_registers): Likewise. No longer virtual.
18088 (general_scalar_chain::hash_map): Delete. Moved to scalar_chain.
18089 (general_scalar_chain::convert_reg): Likewise.
18090 (general_scalar_chain::make_vector_copies): Likewise.
18091 (general_scalar_chain::convert_registers): Delete virtual method.
18092 (timode_scalar_chain::convert_registers): Likewise.
18093
18094 2022-07-23 Immad Mir <mirimmad@outlook.com>
18095
18096 * doc/extend.texi: Add fd_arg, fd_arg_read and fd_arg_write under
18097 "Common Function Attributes" section.
18098 * doc/invoke.texi: Add docs to -Wanalyzer-fd-access-mode-mismatch,
18099 -Wanalyzer-use-after-close, -Wanalyzer-fd-use-without-check that these
18100 warnings may be emitted through usage of three function attributes used
18101 for static analysis of file descriptors namely fd_arg, fd_arg_read and
18102 fd_arg_write.
18103
18104 2022-07-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18105
18106 * config/xtensa/xtensa.md (*masktrue_const_bitcmpl):
18107 Add a new insn_and_split pattern, and a few split patterns for
18108 spacial cases.
18109
18110 2022-07-22 Richard Sandiford <richard.sandiford@arm.com>
18111
18112 * graphds.cc (graphds_scc): Fix algorithm attribution.
18113
18114 2022-07-22 Richard Biener <rguenther@suse.de>
18115
18116 PR tree-optimization/106403
18117 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored
18118 value valueization after check for IFN_MASKED_STORE or
18119 IFN_LEN_STORE.
18120
18121 2022-07-22 Richard Biener <rguenther@suse.de>
18122
18123 PR tree-optimization/106397
18124 * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do
18125 not update SSA form here.
18126 (mark_nontemporal_stores): Return whether we marked any
18127 non-temporal stores and inserted mfence.
18128 (loop_prefetch_arrays): Note when we need to update SSA.
18129 (tree_ssa_prefetch_arrays): Perform required (LC) SSA update
18130 at the end of the pass.
18131
18132 2022-07-22 Richard Biener <rguenther@suse.de>
18133
18134 PR tree-optimization/106387
18135 * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name
18136 if ptr is not an SSA name.
18137
18138 2022-07-22 liuhongt <hongtao.liu@intel.com>
18139
18140 PR target/106038
18141 * config/i386/mmx.md (<code><mode>3): New define_expand, it's
18142 original "<code><mode>3".
18143 (*<code><mode>3): New define_insn, it's original
18144 "<code><mode>3" be extended to handle memory and immediate
18145 operand with ix86_binary_operator_ok. Also adjust define_split
18146 after it.
18147 (mmxinsnmode): New mode attribute.
18148 (*mov<mode>_imm): Refactor with mmxinsnmode.
18149 * config/i386/predicates.md
18150 (register_or_x86_64_const_vector_operand): New predicate.
18151
18152 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
18153
18154 * config/rs6000/altivec.md:
18155 (vstrir_code_<mode>): Rename to...
18156 (vstrir_direct_<mode>): ... this.
18157 (vstrir_p_code_<mode>): Rename to...
18158 (vstrir_p_direct_<mode>): ... this.
18159 (vstril_code_<mode>): Rename to...
18160 (vstril_direct_<mode>): ... this.
18161 (vstril_p_code_<mode>): Rename to...
18162 (vstril_p_direct_<mode>): ... this.
18163
18164 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
18165
18166 * config/rs6000/rs6000-c.cc: Update comments.
18167 (rs6000_target_modify_macros): Remove bu_mask references.
18168 (rs6000_define_or_undefine_macro): Replace bu_mask reference
18169 with a rs6000_cpu value check.
18170 (rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate()
18171 parameter from call to rs6000_target_modify_macros.
18172 * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros,
18173 rs6000_target_modify_macros_ptr): Remove parameter from extern
18174 for the prototype.
18175 * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove
18176 parameter from prototype, update calls to this function.
18177 (rs6000_print_builtin_options): Remove prototype, call and function.
18178 (rs6000_builtin_mask_calculate): Remove function.
18179 (rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options.
18180 (rs6000_option_override_internal): Remove rs6000_builtin_mask var
18181 and builtin_mask debug output.
18182 (rs6000_builtin_mask_names): Remove.
18183 (rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask,
18184 diff_bumask references; Update calls to rs6000_target_modify_ptr.
18185 * config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove.
18186
18187 2022-07-21 Sam Feifer <sfeifer@redhat.com>
18188
18189 PR tree-optimization/94920
18190 * match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification.
18191 (x <= 0 ? -x : 0): New simplification.
18192
18193 2022-07-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
18194
18195 Revert:
18196 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
18197
18198 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
18199 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
18200
18201 2022-07-21 Richard Biener <rguenther@suse.de>
18202
18203 PR tree-optimization/106379
18204 * match.pd (~(a ^ b) -> a == b): New pattern.
18205
18206 2022-07-21 Richard Biener <rguenther@suse.de>
18207
18208 PR tree-optimization/106378
18209 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle
18210 LEN_STORE, add mode to initialize a may-def and handle
18211 MASK_STORE that way.
18212 (dse_optimize_stmt): Query may-defs. Handle internal
18213 functions LEN_STORE and MASK_STORE similar to how
18214 we handle memory builtins but without byte tracking.
18215
18216 2022-07-21 Richard Biener <rguenther@suse.de>
18217
18218 PR tree-optimization/106365
18219 * tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining
18220 the offset to start encoding of RHS from.
18221 (vn_walk_cb_data::vn_walk_cb_data): Initialize it.
18222 (vn_walk_cb_data::push_partial_def): Allow the first partial
18223 definition to be fully providing the def. Offset RHS
18224 before encoding if requested.
18225 (vn_reference_lookup_3): Initialize def_rhs everywhere.
18226 Add support for .MASK_STORE and .LEN_STORE (partial) definitions.
18227
18228 2022-07-21 Richard Biener <rguenther@suse.de>
18229
18230 * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case
18231 store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD
18232 and IFN_MASK_LOAD_LANES.
18233 (call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE,
18234 IFN_LEN_STORE and IFN_MASK_STORE_LANES.
18235
18236 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
18237
18238 PR rtl-optimization/101347
18239 * builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move
18240 population of nonlocal_goto_handler_labels from here ...
18241 (expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here.
18242 * rtlanal.cc (remove_node_from_insn_list): Verify that a
18243 duplicate is not present in the remainder of the list.
18244
18245 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
18246
18247 * rtl.h (remove_node_from_expr_list): Remove declaration.
18248 * rtlanal.cc (remove_node_from_expr_list): Remove (no uses).
18249
18250 2022-07-20 Richard Biener <rguenther@suse.de>
18251
18252 * tree-vect-data-refs.cc (bump_vector_ptr): Return an
18253 invariant updated address when the input was invariant.
18254
18255 2022-07-20 liuhongt <hongtao.liu@intel.com>
18256
18257 * passes.def: (Split pass_cse_sincos to pass_expand_powcabs
18258 and pass_cse_sincos, and move pass_cse_sincos after vectorizer).
18259 * timevar.def (TV_TREE_POWCABS): New timevar.
18260 * tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos.
18261 * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto.
18262 (class pass_expand_powcabs): Ditto.
18263 (pass_expand_powcabs::execute): Ditto.
18264 (make_pass_expand_powcabs): Ditto.
18265 (pass_cse_sincos::execute): Remove pow/cabs expand part.
18266 (make_pass_cse_sincos): Ditto.
18267
18268 2022-07-20 Richard Biener <richard.guenther@gmail.com>
18269 Hongtao Liu <hongtao.liu@intel.com>
18270
18271 PR tree-optimization/106010
18272 * tree-complex.cc (init_dont_simulate_again): Lower complex
18273 type move.
18274 (expand_complex_move): Also expand COMPLEX_CST for rhs.
18275
18276 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
18277
18278 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check
18279 for incoming ranges on join nodes and add to worklist.
18280
18281 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
18282
18283 * gimple-range-cache.cc (ranger_cache::resolve_dom): New.
18284 (ranger_cache::range_from_dom): Put all nodes to be calculated
18285 in the worklist and resolve after the dom walk.
18286 * gimple-range-cache.h (resolve_dom): New prototype.
18287
18288 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
18289
18290 * tree-cfg.cc (gimple_verify_flow_info): Check placement of
18291 returns_twice calls.
18292
18293 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
18294
18295 * cfghooks.cc (duplicate_block): Expand comment.
18296 * tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with
18297 calls that may return twice.
18298
18299 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
18300
18301 * tree-ssa-sink.cc (select_best_block): Punt if selected block
18302 has incoming abnormal edges.
18303
18304 2022-07-19 Martin Liska <mliska@suse.cz>
18305
18306 * doc/extend.texi: Remove trailing :.
18307
18308 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
18309
18310 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
18311 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
18312
18313 2022-07-19 Richard Biener <rguenther@suse.de>
18314
18315 PR middle-end/106331
18316 * builtins.cc (get_memory_rtx): Compute alignment from
18317 the original address and set MEM_OFFSET to unknown when
18318 we create a MEM_EXPR from the base object of the address.
18319
18320 2022-07-19 Richard Biener <rguenther@suse.de>
18321
18322 PR lto/106334
18323 * dwarf2out.cc (dwarf2out_register_external_die): Allow
18324 map entry re-use during WPA.
18325
18326 2022-07-19 Roger Sayle <roger@nextmovesoftware.com>
18327 Richard Biener <rguenther@suse.de>
18328
18329 PR c/106264
18330 * builtins.cc (fold_builtin_frexp): Call suppress_warning on
18331 COMPOUND_EXPR to silence spurious warning if result isn't used.
18332 (fold_builtin_modf): Likewise.
18333 (do_mpfr_remquo): Likewise.
18334
18335 2022-07-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18336
18337 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
18338 Change the relative cost of '(set (reg) (const_int N))' where
18339 N fits into signed 12-bit from 4 to 0 if optimizing for size.
18340 And use the appropriate macro instead of the bare number 4.
18341
18342 2022-07-18 Andrew MacLeod <amacleod@redhat.com>
18343
18344 PR tree-optimization/106280
18345 * value-relation.cc (dom_oracle::register_relation): Register
18346 transitives only when it is possible for there to be one.
18347 (dom_oracle::set_one_relation): Return NULL if this is an
18348 existing relation.
18349
18350 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
18351
18352 * doc/invoke.texi (RISC-V Options): Add index references for
18353 `mrelax' and `mriscv-attribute'.
18354
18355 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
18356
18357 * doc/invoke.texi (Option Summary): Add missing second space
18358 around `-mstack-protector-guard-reg='.
18359
18360 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
18361
18362 * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'.
18363 (RISC-V Options): Likewise, and `-mriscv-attribute'.
18364
18365 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
18366
18367 * config/arc/arc-arch.h (arc_tune_attr): Add
18368 ARC_TUNE_ARCHS4X_REL31A variant.
18369 * config/arc/arc.cc (arc_override_options): Tune options for
18370 release 310a.
18371 (arc_sched_issue_rate): Use correct enum.
18372 (arc600_corereg_hazard): Textual change.
18373 (arc_hazard): Add release 310a tunning.
18374 * config/arc/arc.md (tune): Update and take into consideration new
18375 tune option.
18376 (tune_dspmpy): Likewise.
18377 (tune_store): New attribute.
18378 * config/arc/arc.opt (mtune): New tune option.
18379 * config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units.
18380 (hs4x_brcc_op): New instruction rezervation.
18381 (hs4x_data_store_1_op): Likewise.
18382 * config/arc/arc-cpus.def (hs4x_rel31): New cpu variant.
18383 * config/arc/arc-tables.opt: Regenerate.
18384 * config/arc/t-multilib: Likewise.
18385 * doc/invoke.texi (ARC): Update mcpu and tune sections.
18386
18387 2022-07-18 Richard Biener <rguenther@suse.de>
18388
18389 * tree-loop-distribution.cc (loop_distribution::distribute_loop):
18390 When computing cost-based merging do not disregard builtin
18391 classified partitions in some cases.
18392
18393 2022-07-18 Richard Sandiford <richard.sandiford@arm.com>
18394
18395 PR target/106253
18396 * config/arm/arm-builtins.cc (arm_builtin_vectorized_function):
18397 Delete.
18398 * config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete.
18399 * config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
18400 Delete.
18401 * config/arm/arm_neon_builtins.def (copysignf): Delete.
18402 * config/arm/iterators.md (nvrint_pattern): New attribute.
18403 * config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2):
18404 New pattern.
18405 (l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2):
18406 Likewise.
18407 (neon_copysignf<mode>): Rename to...
18408 (copysign<mode>3): ...this.
18409
18410 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
18411
18412 * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame
18413 pointer first when in interrupts.
18414
18415 2022-07-18 Richard Biener <rguenther@suse.de>
18416
18417 * tree-loop-distribution.cc (copy_loop_before): Add
18418 the ability to replace the original LC PHI defs.
18419 (generate_loops_for_partition): Pass through a flag
18420 whether to redirect original LC PHI defs.
18421 (generate_code_for_partition): Likewise.
18422 (loop_distribution::distribute_loop): Compute the partition
18423 that should provide the LC PHI defs for common reductions
18424 and pass that down.
18425
18426 2022-07-18 Richard Ball <richard.ball@arm.com>
18427
18428 * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
18429 (aarch64_evpc_uzp): Likewise.
18430 (aarch64_evpc_zip): Likewise.
18431
18432 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
18433
18434 PR target/106231
18435 * config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split
18436 to recognize any_extend:DI of ctz:SI which is implicitly extended.
18437 (*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode
18438 extended ctz:SI that has preceding xor to break false dependency.
18439
18440 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
18441
18442 * config/i386/predicates.md (x86_64_const_vector_operand):
18443 Check the operand's mode matches the specified mode argument.
18444
18445 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
18446
18447 * config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec.
18448 (kunpcksi): Likewise, add UNSPEC_MASKOP unspec.
18449 (kunpckdi): Likewise, add UNSPEC_MASKOP unspec.
18450 (vec_pack_trunc_qi): Update to specify the now required
18451 UNSPEC_MASKOP unspec.
18452 (vec_pack_trunc_<mode>): Likewise.
18453
18454 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18455
18456 * config/xtensa/xtensa.md
18457 (*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
18458 *masktrue_const_shifted_mask): If the immediate for bitwise AND is
18459 represented as '-(1 << N)', decrease the lower bound of N from 12
18460 to 1. And the other immediate for conditional branch is now no
18461 longer limited to zero, but also one of some positive integers.
18462 Finally, remove the checks of some conditions, because the comparison
18463 expressions that don't satisfy such checks are determined as
18464 compile-time constants and thus will be optimized away before
18465 RTL expansion.
18466
18467 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18468
18469 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove.
18470 (xtensa_constantsynth_2insn): Change to try all three synthetic
18471 methods and to use the one that fits the immediate value of
18472 the seed into a Narrow Move Immediate instruction "MOVI.N"
18473 when the Code Density Option is configured.
18474
18475 2022-07-15 H.J. Lu <hjl.tools@gmail.com>
18476
18477 PR target/85620
18478 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
18479 false if callee has indirect_return attribute and caller
18480 doesn't.
18481
18482 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
18483
18484 PR target/106273
18485 * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the
18486 constraints to reflect the output is earlyclobber, unless it is
18487 the same register (pair) as one of the operands.
18488
18489 2022-07-15 David Malcolm <dmalcolm@redhat.com>
18490
18491 * doc/invoke.texi (Static Analyzer Options): Add the new fd
18492 warnings to the initial gccoptlist, and to the list of those
18493 disabled by -fanalyzer-checker=taint.
18494
18495 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
18496
18497 * config/aarch64/aarch64-builtins.cc
18498 (enum aarch64_type_qualifiers): Remove qualifier_internal.
18499 (aarch64_init_simd_builtin_functions): Remove qualifier_internal check.
18500
18501 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
18502
18503 * config/aarch64/aarch64-builtins.cc
18504 (v1di_UP): Add V1DI mode to _UP macros.
18505 * config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode.
18506 * config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode.
18507 * config/aarch64/aarch64-simd.md
18508 (vec_extractv2dfv1df): Replace with...
18509 (vec_extract<mode><V1half>): ...this.
18510 * config/aarch64/aarch64.cc
18511 (aarch64_classify_vector_mode): Add V1DI mode.
18512 * config/aarch64/iterators.md
18513 (VQ_2E, V1HALF, V1half): New.
18514 (nunits): Add V1DI mode.
18515
18516 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
18517
18518 PR target/106278
18519 * config/i386/i386-features.cc (general_scalar_chain::convert_insn):
18520 Fix indentation whitespace.
18521 (timode_scalar_chain::fix_debug_reg_uses): Likewise.
18522 (timode_scalar_chain::convert_insn): Delete dead code.
18523 Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI.
18524 Fix indentation whitespace.
18525 (convertible_comparison_p): Likewise.
18526 (timode_scalar_to_vector_candidate_p): Likewise.
18527
18528 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
18529
18530 * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange.
18531
18532 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
18533
18534 * Makefile.in (OBJS): Add value-range-pretty-print.o.
18535 * pretty-print.h (pp_vrange): New.
18536 * value-range.cc (vrange::dump): Call pp version.
18537 (unsupported_range::dump): Move to its own file.
18538 (dump_bound_with_infinite_markers): Same.
18539 (irange::dump): Same.
18540 (irange::dump_bitmasks): Same.
18541 (vrange::debug): Remove.
18542 * value-range.h: Remove virtual designation for dump methods.
18543 Remove dump_bitmasks method.
18544 * value-range-pretty-print.cc: New file.
18545 * value-range-pretty-print.h: New file.
18546
18547 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
18548
18549 * value-range.cc (irange::accept): New.
18550 (unsupported_range::accept): New.
18551 * value-range.h (class vrange_visitor): New.
18552 (class vrange): Add accept method.
18553 (class unsupported_range): Same.
18554 (class Value_Range): Same.
18555
18556 2022-07-15 Jonathan Wakely <jwakely@redhat.com>
18557
18558 * diagnostic-format-json.cc (json_from_location_range): Adjust
18559 to new label_text API.
18560 * diagnostic-format-sarif.cc (sarif_builder::make_location_object):
18561 Likewise.
18562 * diagnostic-show-locus.cc (struct pod_label_text): Likewise.
18563 (layout::print_any_labels): Likewise.
18564 * tree-diagnostic-path.cc (class path_label): Likewise.
18565 (struct event_range): Likewise.
18566 (default_tree_diagnostic_path_printer): Likewise.
18567 (default_tree_make_json_for_path): Likewise.
18568
18569 2022-07-15 konglin1 <lingling.kong@intel.com>
18570
18571 PR target/106113
18572 * config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd}
18573 comparison due to intrinsics changed over time.
18574 * config/i386/i386-expand.cc (ix86_ssecom_setcc):
18575 Add unordered check and mode for sse comi codegen.
18576 (ix86_expand_sse_comi): Add unordered check and check a different
18577 CCmode.
18578 (ix86_expand_sse_comi_round):Extract unordered check and mode part
18579 in ix86_ssecom_setcc.
18580
18581 2022-07-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
18582
18583 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use
18584 op_mode instead of vmode in calls to force_reg for op0 and op1.
18585
18586 2022-07-14 H.J. Lu <hjl.tools@gmail.com>
18587
18588 PR tree-optimization/103798
18589 * tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h".
18590 (simplify_builtin_call): Inline memchr with constant strings of
18591 no more than the bytes of a word.
18592 * tree-ssa-strlen.cc (use_in_zero_equality): Make it global.
18593 * tree-ssa-strlen.h (use_in_zero_equality): New.
18594
18595 2022-07-14 Eric Botcazou <ebotcazou@adacore.com>
18596
18597 * gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter
18598 and set DECL_NOT_GIMPLE_REG_P on the variable according to it.
18599 (internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and
18600 pass it in the call to lookup_tmp_var.
18601 (get_formal_tmp_var): Pass false in the call to lookup_tmp_var.
18602 (get_initialized_tmp_var): Likewise.
18603 (prepare_gimple_addressable): Call internal_get_tmp_var instead of
18604 get_initialized_tmp_var with NOT_GIMPLE_REG set to true.
18605
18606 2022-07-14 Martin Liska <mliska@suse.cz>
18607
18608 * doc/gimple.texi: Close properly a deftypefn.
18609
18610 2022-07-14 Martin Liska <mliska@suse.cz>
18611
18612 * doc/gimple.texi: Close properly a deftypefn.
18613
18614 2022-07-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18615
18616 * config/xtensa/xtensa.md:
18617 In FP constant synthesis split pattern, subcontract to
18618 avoid_constant_pool_reference() as in the case of integer,
18619 because it can handle well too. And cast to int32_t before
18620 calling xtensa_constantsynth() in order to ignore upper 32-bit.
18621
18622 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
18623
18624 * range-op.cc (operator_lt::fold_range): Use nonzero bits.
18625
18626 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
18627
18628 * value-range.cc (irange::copy_to_legacy): Set nonzero mask.
18629 (irange::legacy_intersect): Clear nonzero mask.
18630 (irange::legacy_union): Same.
18631 (irange::invert): Same.
18632
18633 2022-07-13 Richard Biener <rguenther@suse.de>
18634
18635 * tree-ssa-dom.h (record_temporary_equivalences): Remove.
18636 * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New.
18637 (dom_jt_state::get_blocks_on_stack): Likewise.
18638 (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state.
18639 (back_propagate_equivalences): Remove dominator bitmap
18640 compute and instead use passed in m_blocks_on_stack.
18641 (record_temporary_equivalences): Likewise.
18642 (record_equivalences_from_incoming_edge): Likewise.
18643 (dom_opt_dom_walker::before_dom_children): Maintain and
18644 pass down blocks on stack.
18645 (dom_opt_dom_walker::after_dom_children): Likewise.
18646
18647 2022-07-13 Andrew Carlotti <andrew.carlotti@arm.com>
18648
18649 * config/aarch64/aarch64-builtins.cc
18650 (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE.
18651
18652 2022-07-13 Richard Biener <rguenther@suse.de>
18653
18654 PR tree-optimization/106249
18655 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop):
18656 Only verify LC SSA of the new_loop if we created it.
18657 Use TODO_update_ssa_nophi for the SSA update after versioning
18658 the loop.
18659
18660 2022-07-12 Aldy Hernandez <aldyh@redhat.com>
18661
18662 * range-op.cc (unsigned_singleton_p): Remove.
18663 (operator_bitwise_and::remove_impossible_ranges): Remove.
18664 (operator_bitwise_and::fold_range): Set nonzero bits. *
18665 * value-range.cc (irange::get_nonzero_bits): Remove
18666 legacy_mode_p assert.
18667 (irange::dump_bitmasks): Remove legacy_mode_p check.
18668
18669 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
18670
18671 PR target/106253
18672 * predict.h (insn_optimization_type): Declare.
18673 * predict.cc (insn_optimization_type): New function.
18674 * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
18675 (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
18676 (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
18677 * internal-fn.cc (unary_convert_direct): New macro.
18678 (expand_convert_optab_fn): New function.
18679 (expand_unary_convert_optab_fn): New macro.
18680 (direct_unary_convert_optab_supported_p): Likewise.
18681 * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
18682 convert_optab_handler.
18683 * config/aarch64/aarch64-protos.h
18684 (aarch64_builtin_vectorized_function): Delete.
18685 * config/aarch64/aarch64-builtins.cc
18686 (aarch64_builtin_vectorized_function): Delete.
18687 * config/aarch64/aarch64.cc
18688 (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
18689 * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab.
18690 * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove
18691 optimize_insn_for_size_p test.
18692
18693 2022-07-12 Richard Biener <rguenther@suse.de>
18694
18695 * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
18696 Remove.
18697 (vect_do_peeling): Do not call it, adjust comment.
18698
18699 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
18700
18701 * config/aarch64/aarch64-builtins.cc
18702 (aarch64_builtin_vectorized_function): Remove handling of
18703 floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
18704
18705 2022-07-11 Andrew MacLeod <amacleod@redhat.com>
18706
18707 PR tree-optimization/106234
18708 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
18709 cache value before recursively resolving it.
18710
18711 2022-07-11 Roger Sayle <roger@nextmovesoftware.com>
18712
18713 * config/i386/i386-features.h (scalar_chain): Add fields
18714 insns_conv, n_sse_to_integer and n_integer_to_sse to this
18715 parent class, moved from general_scalar_chain.
18716 (scalar_chain::convert_compare): Protected method moved
18717 from general_scalar_chain.
18718 (mark_dual_mode_def): Make protected, not private virtual.
18719 (scalar_chain:convert_op): New private virtual method.
18720 (general_scalar_chain::general_scalar_chain): Simplify constructor.
18721 (general_scalar_chain::~general_scalar_chain): Delete destructor.
18722 (general_scalar_chain): Move insns_conv, n_sse_to_integer and
18723 n_integer_to_sse fields to parent class, scalar_chain.
18724 (general_scalar_chain::mark_dual_mode_def): Delete prototype.
18725 (general_scalar_chain::convert_compare): Delete prototype.
18726 (timode_scalar_chain::compute_convert_gain): Remove simplistic
18727 implementation, convert to a method prototype.
18728 (timode_scalar_chain::mark_dual_mode_def): Delete prototype.
18729 (timode_scalar_chain::convert_op): Prototype new virtual method.
18730 * config/i386/i386-features.cc (scalar_chain::scalar_chain):
18731 Allocate insns_conv and initialize n_sse_to_integer and
18732 n_integer_to_sse fields in constructor.
18733 (scalar_chain::scalar_chain): Free insns_conv in destructor.
18734 (general_scalar_chain::general_scalar_chain): Delete
18735 constructor, now defined in the class declaration.
18736 (general_scalar_chain::~general_scalar_chain): Delete destructor.
18737 (scalar_chain::mark_dual_mode_def): Renamed from
18738 general_scalar_chain::mark_dual_mode_def.
18739 (timode_scalar_chain::mark_dual_mode_def): Delete.
18740 (scalar_chain::convert_compare): Renamed from
18741 general_scalar_chain::convert_compare.
18742 (timode_scalar_chain::compute_convert_gain): New method to
18743 determine the gain from converting a TImode chain to V1TImode.
18744 (timode_scalar_chain::convert_op): New method to convert an
18745 operand from TImode to V1TImode.
18746 (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
18747 on REG_EQUAL notes that were originally TImode (not CONST_INT).
18748 Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
18749 (timode_mem_p): Helper predicate to check where operand is
18750 memory reference with sufficient alignment for TImode STV.
18751 (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
18752 to check whether COMPARE is convertible. Handle SET_DESTs that
18753 that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
18754 CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
18755
18756 2022-07-11 Richard Sandiford <richard.sandiford@arm.com>
18757
18758 PR tree-optimization/106250
18759 * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
18760 argument to directly_supported_p.
18761
18762 2022-07-11 Richard Biener <rguenther@suse.de>
18763
18764 * tree-into-ssa.cc (update_ssa): Do not forcefully
18765 re-compute dominance fast queries for TODO_update_ssa_no_phi.
18766
18767 2022-07-11 Richard Biener <rguenther@suse.de>
18768
18769 PR tree-optimization/106228
18770 * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
18771 VUSE compute for the non-loop case.
18772
18773 2022-07-11 Richard Biener <rguenther@suse.de>
18774
18775 * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
18776 (rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
18777 (rewrite_update_dom_walker::m_in_region_flag): New.
18778 (rewrite_update_dom_walker::before_dom_children): If the region
18779 to update is marked, STOP at exits.
18780 (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
18781 to be updated.
18782 (dump_update_ssa): Use bitmap_empty_p.
18783 (update_ssa): Likewise. Use REWRITE_UPDATE_REGION when
18784 TODO_update_ssa_no_phi.
18785 * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
18786 pending update_ssa to the caller.
18787
18788 2022-07-11 Richard Biener <rguenthert@suse.de>
18789
18790 PR target/105459
18791 * config/i386/i386-options.cc (ix86_set_current_function):
18792 Rebuild the target optimization node whenever necessary,
18793 not only when the optimization node didn't change.
18794
18795 2022-07-11 Richard Biener <rguenther@suse.de>
18796
18797 PR tree-optimization/106228
18798 * tree-vect-data-refs.cc (vect_setup_realignment): Properly
18799 set a VUSE operand on the emitted load.
18800
18801 2022-07-11 Aldy Hernandez <aldyh@redhat.com>
18802
18803 * gimple-range.cc (gimple_ranger::export_global_ranges): Remove
18804 verification against legacy value_range.
18805 (gimple_ranger::register_inferred_ranges): Same.
18806 (gimple_ranger::export_global_ranges): Rename update_global_range
18807 to set_range_info.
18808 * tree-core.h (struct range_info_def): Remove.
18809 (struct irange_storage_slot): New.
18810 (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
18811 (struct tree_ssa_name): Add vrange_storage support.
18812 * tree-ssanames.cc (range_info_p): New.
18813 (range_info_fits_p): New.
18814 (range_info_alloc): New.
18815 (range_info_free): New.
18816 (range_info_get_range): New.
18817 (range_info_set_range): New.
18818 (set_range_info_raw): Remove.
18819 (set_range_info): Adjust to use vrange_storage.
18820 (set_nonzero_bits): Same.
18821 (get_nonzero_bits): Same.
18822 (duplicate_ssa_name_range_info): Remove overload taking
18823 value_range_kind.
18824 Rewrite tree overload to use vrange_storage.
18825 (duplicate_ssa_name_fn): Adjust to use vrange_storage.
18826 * tree-ssanames.h (struct range_info_def): Remove.
18827 (set_range_info): Adjust prototype to take vrange.
18828 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
18829 duplicate_ssa_name_range_info.
18830 * tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
18831 (SSA_NAME_RANGE_TYPE): Remove.
18832 * value-query.cc (get_ssa_name_range_info): Adjust to use
18833 vrange_storage.
18834 (update_global_range): Remove.
18835 (get_range_global): Remove as_a<irange>.
18836 * value-query.h (update_global_range): Remove.
18837 * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
18838 Rename update_global_range to set_range_info.
18839 * value-range-storage.cc (vrange_storage::alloc_slot): Remove
18840 gcc_unreachable.
18841
18842 2022-07-10 Aldy Hernandez <aldyh@redhat.com>
18843
18844 * value-range.cc (irange::operator=): Call verify_range.
18845 (irange::irange_set): Normalize kind after everything else has
18846 been set.
18847 (irange::irange_set_anti_range): Same.
18848 (irange::set): Same.
18849 (irange::verify_range): Disallow nonzero masks for VARYING.
18850 (irange::irange_union): Call verify_range.
18851 Handle nonzero masks better.
18852 (irange::irange_intersect): Same.
18853 (irange::set_nonzero_bits): Calculate mask if either range has an
18854 explicit mask.
18855 (irange::intersect_nonzero_bits): Same.
18856 (irange::union_nonzero_bits): Same.
18857 (range_tests_nonzero_bits): New.
18858 (range_tests): Call range_tests_nonzero_bits.
18859 * value-range.h (class irange): Remove set_nonzero_bits method
18860 with trees.
18861 (irange::varying_compatible_p): Set nonzero mask.
18862
18863 2022-07-10 Xi Ruoyao <xry111@xry111.site>
18864
18865 * config/loongarch/loongarch.md (<any_div>di3_fake): Describe
18866 the sign-extend of result in the RTL template.
18867 (<any_div><mode>3): Adjust for <any_div>di3_fake change.
18868
18869 2022-07-10 Xi Ruoyao <xry111@xry111.site>
18870
18871 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
18872 Remove static, for use in the machine description file.
18873 * config/loongarch/loongarch-protos.h:
18874 (loongarch_check_zero_div_p): Add prototype.
18875 * config/loongarch/loongarch.md (enabled): New attr.
18876 (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
18877 idiv. Conditionally enable the alternatives using
18878 loongarch_check_zero_div_p.
18879 (<optab>di3_fake): Likewise.
18880
18881 2022-07-10 Xi Ruoyao <xry111@xry111.site>
18882
18883 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
18884 instead of mul.d.
18885
18886 2022-07-09 Aldy Hernandez <aldyh@redhat.com>
18887
18888 * value-range.cc (irange::irange_single_pair_union): Set
18889 VR_VARYING when appropriate.
18890
18891 2022-07-09 Vit Kabele <vit.kabele@sysgo.com>
18892
18893 * stor-layout.cc (finalize_record_size): Extend warning message.
18894
18895 2022-07-09 Sam Feifer <sfeifer@redhat.com>
18896
18897 PR tree-optimization/98304
18898 * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
18899
18900 2022-07-09 Jeff Law <jeffreyalaw@gmail.com>
18901
18902 * expr.cc (store_expr): Identify trailing NULs in a STRING_CST
18903 initializer and use clear_storage rather than copying the
18904 NULs to the destination array.
18905
18906 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
18907
18908 * config/i386/i386.md (define_peephole2): Use match_operand of
18909 flags_reg_operand to capture and preserve the mode of FLAGS_REG.
18910 (define_peephole2): Likewise.
18911 (define_peephole2): Likewise...
18912
18913 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
18914
18915 * config/i386/i386-features.cc (convert_compare): Add support
18916 for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
18917 by generating a pandn followed by ptest.
18918 (convertible_comparison_p): Recognize both *cmpdi_doubleword and
18919 recent *testdi_not_doubleword comparison patterns.
18920
18921 2022-07-09 Tamar Christina <tamar.christina@arm.com>
18922
18923 * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
18924 indicate that the value is not undefined.
18925
18926 2022-07-09 Andrew Pinski <apinski@marvell.com>
18927
18928 PR tree-optimization/106087
18929 * tree-ssa-dce.cc (simple_dce_from_worklist): Check
18930 to make sure the statement is only defining one operand.
18931
18932 2022-07-08 Lewis Hyatt <lhyatt@gmail.com>
18933
18934 PR preprocessor/91733
18935 * input.cc (find_end_of_line): New helper function.
18936 (file_cache_slot::get_next_line): Recognize \r as a line ending.
18937 * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
18938 since \r will now be interpreted as a line-ending.
18939
18940 2022-07-08 Martin Liska <mliska@suse.cz>
18941
18942 PR sanitizer/106132
18943 * opts.cc (finish_options): Use 2 calls to
18944 report_conflicting_sanitizer_options.
18945
18946 2022-07-08 Richard Biener <rguenther@suse.de>
18947
18948 PR tree-optimization/106226
18949 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
18950 no SSA update is needed. Move virtual SSA update ...
18951 * tree-vectorizer.cc (pass_vectorize::execute): ... here,
18952 via forced virtual renaming when TODO_update_ssa_only_virtuals
18953 is queued.
18954 (vect_transform_loops): Return TODO_update_ssa_only_virtuals
18955 when virtual SSA update is required.
18956 (try_vectorize_loop_1): Adjust.
18957 * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
18958 virtual renaming if the ABI forces an aggregate return
18959 but the original call did not have a virtual definition.
18960
18961 2022-07-08 Martin Liska <mliska@suse.cz>
18962
18963 * toplev.cc (init_asm_output): Do not init asm_out_file.
18964
18965 2022-07-08 Tamar Christina <tamar.christina@arm.com>
18966
18967 PR tree-optimization/106063
18968 * match.pd: Do not apply pattern after veclower is not supported.
18969
18970 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
18971
18972 * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
18973 'fn2' computation.
18974
18975 2022-07-08 Tamar Christina <tamar.christina@arm.com>
18976
18977 * expmed.cc (store_bit_field_1): Add parameter that indicates if value is
18978 still undefined and if so emit a subreg move instead.
18979 (store_integral_bit_field): Likewise.
18980 (store_bit_field): Likewise.
18981 * expr.h (write_complex_part): Likewise.
18982 * expmed.h (store_bit_field): Add new parameter.
18983 * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
18984 parameter.
18985 (expand_ifn_atomic_compare_exchange): Likewise.
18986 * calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
18987 * emit-rtl.cc (validate_subreg): Likewise.
18988 * expr.cc (emit_group_store): Likewise.
18989 (copy_blkmode_from_reg): Likewise.
18990 (copy_blkmode_to_reg): Likewise.
18991 (clear_storage_hints): Likewise.
18992 (write_complex_part): Likewise.
18993 (emit_move_complex_parts): Likewise.
18994 (expand_assignment): Likewise.
18995 (store_expr): Likewise.
18996 (store_field): Likewise.
18997 (expand_expr_real_2): Likewise.
18998 * ifcvt.cc (noce_emit_move_insn): Likewise.
18999 * internal-fn.cc (expand_arith_set_overflow): Likewise.
19000 (expand_arith_overflow_result_store): Likewise.
19001 (expand_addsub_overflow): Likewise.
19002 (expand_neg_overflow): Likewise.
19003 (expand_mul_overflow): Likewise.
19004 (expand_arith_overflow): Likewise.
19005
19006 2022-07-08 Haochen Jiang <haochen.jiang@intel.com>
19007
19008 PR target/106180
19009 * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
19010 Rename from *sse2_cvtps2pd<mask_name>_1.
19011 (vec_unpacks_lo_v4sf): Add handler for memory operand.
19012
19013 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
19014
19015 * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
19016 Modify fp_sp_offset and gp_sp_offset's calculation method,
19017 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
19018 or UNITS_PER_FP_REG.
19019
19020 2022-07-07 David Malcolm <dmalcolm@redhat.com>
19021
19022 * diagnostic-format-json.cc (json_from_location_range): Update for
19023 removal of label_text::maybe_free in favor of automatic memory
19024 management.
19025 * diagnostic-format-sarif.cc
19026 (sarif_builder::make_location_object): Likewise.
19027 * diagnostic-show-locus.cc (struct pod_label_text): New.
19028 (class line_label): Convert m_text from label_text to pod_label_text.
19029 (layout::print_any_labels): Move "text" to the line_label.
19030 * tree-diagnostic-path.cc (path_label::get_text): Update for
19031 removal of label_text::maybe_free in favor of automatic memory
19032 management.
19033 (event_range::print): Likewise.
19034 (default_tree_diagnostic_path_printer): Likewise.
19035 (default_tree_make_json_for_path): Likewise.
19036
19037 2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
19038
19039 * statistics.cc (get_function_name): Add check to see if fn is not NULL.
19040
19041 2022-07-07 Richard Biener <rguenther@suse.de>
19042
19043 * tree-into-ssa.cc (iterating_old_ssa_names): New.
19044 (add_new_name_mapping): Grow {new,old}_ssa_names separately
19045 and only when actually needed. Assert we are not growing
19046 the old_ssa_names set when iterating over it.
19047 (update_ssa): Remove old_ssa_names copying and empty_p
19048 query, note we are iterating over it and expect no set changes.
19049
19050 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
19051
19052 * config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
19053 (prepare_target_image, main): Handle OpenMP 'requires'.
19054 (generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
19055 'GOMP_offload_unregister_ver'.
19056
19057 2022-07-07 Richard Biener <rguenther@suse.de>
19058
19059 PR target/106219
19060 * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
19061 set DECL_PURE_P.
19062
19063 2022-07-07 Richard Biener <rguenther@suse.de>
19064
19065 * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
19066 number of LC PHIs inserted.
19067 (add_exit_phis): Return whether any variable required
19068 multiple LC PHI nodes.
19069 (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
19070 when possible.
19071
19072 2022-07-07 Richard Biener <rguenther@suse.de>
19073
19074 * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
19075 the def loop exit block bitmap as argument instead of
19076 re-computing it here.
19077 (add_exit_phis_var): Adjust.
19078 (loop_name_cmp): New function.
19079 (add_exit_phis): Sort variables to insert LC PHI nodes
19080 after definition loop, for each definition loop compute
19081 the exit block bitmap once.
19082 (get_loops_exit): Remove.
19083 (rewrite_into_loop_closed_ssa_1): Do not pre-record
19084 all loop exit blocks into bitmaps. Record loop exits
19085 if required.
19086
19087 2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com>
19088
19089 * config/mips/mips.cc (mips_asan_shadow_offset): Reformat
19090 to handle the N32 ABI.
19091 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
19092 the macro, as it is not needed anymore.
19093
19094 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
19095
19096 * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
19097 '[...]_data'.
19098 * config/nvptx/mkoffload.cc (process): Likewise.
19099
19100 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
19101
19102 * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
19103
19104 2022-07-05 Andrew MacLeod <amacleod@redhat.com>
19105
19106 * value-relation.cc (relation_to_code): New vector.
19107 (relation_oracle::validate_relation): New.
19108 (set_relation): Allow ssa1 == ssa2 to be registered.
19109 * value-relation.h (validate_relation): New prototype.
19110 (query_relation): Make internal variant protected.
19111
19112 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
19113
19114 * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
19115 for double word comparisons and tests (comparisons against zero).
19116 * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
19117 and;cmp into andn;cmp $0 as a pre-reload splitter.
19118 (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
19119 (*<any_or><dwi>3_doubleword): Likewise.
19120
19121 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
19122 Hongtao Liu <hongtao.liu@intel.com>
19123
19124 * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
19125 CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
19126 * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
19127 and gen_ssse3_palignv1ti instead of TImode.
19128 * config/i386/sse.md (SSESCALARMODE): Delete.
19129 (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
19130 (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
19131 iterator instead of SSESCALARMODE.
19132 (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
19133 using a single move instruction (if required).
19134
19135 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
19136 Uroš Bizjak <ubizjak@gmail.com>
19137
19138 PR rtl-optimization/96692
19139 * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
19140 as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
19141
19142 2022-07-05 Richard Biener <rguenther@suse.de>
19143
19144 PR tree-optimization/106198
19145 * tree-cfgcleanup.cc (repair_loop_structures): Always do a
19146 full LC SSA rewrite but only if any blocks changed loop
19147 depth.
19148
19149 2022-07-05 Richard Biener <rguenther@suse.de>
19150
19151 * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
19152 (find_uses_to_rename_in_loop): Likewise.
19153 (rewrite_into_loop_closed_ssa_1): Remove loop parameter and
19154 uses.
19155 (rewrite_into_loop_closed_ssa): Adjust.
19156
19157 2022-07-05 Richard Biener <rguenther@suse.de>
19158
19159 PR tree-optimization/106186
19160 * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
19161 Properly handle virtual PHI nodes.
19162
19163 2022-07-05 Richard Biener <rguenther@suse.de>
19164
19165 PR tree-optimization/106196
19166 * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
19167 handle aggregate returns of calls for VDEF updates.
19168
19169 2022-07-05 Richard Biener <rguenther@suse.de>
19170
19171 * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
19172 Maintain LC SSA.
19173
19174 2022-07-05 Richard Sandiford <richard.sandiford@arm.com>
19175
19176 * tree-vect-patterns.cc (vect_convert_input): Expect the input
19177 type to be signed for optab_vector_mixed_sign. Update the vectype
19178 at the same time as type.
19179 (vect_recog_dot_prod_pattern): Update accordingly. If usdot isn't
19180 available, try sdot instead.
19181 * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
19182 (vect_model_reduction_cost): Model the cost of implementing usdot
19183 using sdot.
19184 (vectorizable_reduction): Likewise. Skip target support test
19185 for lane reductions.
19186 (vect_emulate_mixed_dot_prod): New function.
19187 (vect_transform_reduction): Use it to emulate usdot via sdot.
19188
19189 2022-07-05 Richard Biener <rguenther@suse.de>
19190
19191 PR tree-optimization/106182
19192 * loop-init.cc (fix_loop_structure): Return the number
19193 of newly discovered plus the number of deleted loops.
19194 * tree-cfgcleanup.cc (repair_loop_structures): Adjust
19195 variable name.
19196
19197 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
19198
19199 * gimple-range-fold.cc
19200 (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
19201 call to SCEV for irange supported types.
19202 (fold_using_range::range_of_builtin_int_call): Convert to vrange.
19203 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
19204 * tree-ssa-dom.cc (cprop_operand): Same.
19205
19206 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
19207
19208 PR target/104489
19209 * calls.cc (precompute_register_parameters): Allow promotion
19210 of floating point values to be passed in wider integer modes
19211 by calling new convert_float_to_wider_int.
19212 (expand_call): Allow floating point results to be returned in
19213 wider integer modes by calling new convert wider_int_to_float.
19214 * cfgexpand.cc (expand_value_return): Allow backends to promote
19215 a scalar floating point return value to a wider integer mode
19216 by calling new convert_float_to_wider_int.
19217 * expr.cc (convert_float_to_wider_int): New function.
19218 (convert_wider_int_to_float): Likewise.
19219 (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
19220 scalar FP PARM_DECLs to wider integer modes, by calling new
19221 convert_wider_int_to_float.
19222 * expr.h (convert_modes): Name arguments for improved documentation.
19223 (convert_float_to_wider_int): Prototype new function here.
19224 (convert_wider_int_to_float): Likewise.
19225 * function.cc (assign_parm_setup_stack): Allow floating point
19226 values to be passed on the stack as wider integer modes by
19227 calling new convert_wider_int_to_float.
19228
19229 2022-07-04 Martin Jambor <mjambor@suse.cz>
19230
19231 PR tree-optimization/105860
19232 * tree-sra.cc (build_reconstructed_reference): Start expr
19233 traversal only just below the outermost union.
19234
19235 2022-07-04 Richard Biener <rguenther@suse.de>
19236
19237 * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
19238 and update virtual SSA form again. Assert we do so for
19239 a known set of transforms only.
19240 * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
19241 * tree-vect-stmts.cc (vectorizable_load): When vectorizing
19242 using load-lanes allow virtual SSA update.
19243
19244 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
19245 Chung-Lin Tang <cltang@codesourcery.com>
19246 Thomas Schwinge <thomas@codesourcery.com>
19247
19248 * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
19249 (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
19250 (main): Ask lto1 to obtain omp_requires_mask and pass it on.
19251 * config/nvptx/mkoffload.cc (process, main): Likewise.
19252 * lto-cgraph.cc (omp_requires_to_name): New.
19253 (input_offload_tables): Save omp_requires_mask.
19254 (output_offload_tables): Read it, check for consistency,
19255 save value for mkoffload.
19256 * omp-low.cc (lower_omp_target): Force output_offloadtables
19257 call for OMP_REQUIRES_TARGET_USED.
19258
19259 2022-07-04 Richard Biener <rguenther@suse.de>
19260
19261 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
19262 no SSA update is needed instead of updating virtual SSA
19263 form.
19264 * tree-vect-stmts.cc (vectorizable_load): For hoisted
19265 invariant load use the loop entry virtual use.
19266 For emulated gather loads use the virtual use of the
19267 original stmt like vect_finish_stmt_generation would do.
19268
19269 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
19270
19271 * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
19272 for direct circularity.
19273
19274 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
19275
19276 * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
19277 the language for vector types.
19278
19279 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
19280
19281 * value-range-storage.cc (irange_storage_slot::set_irange): Set
19282 nonzero bits in irange.
19283 (irange_storage_slot::get_irange): Get nonzero bits from irange.
19284 * value-range.cc (irange::operator=): Set nonzero bits.
19285 (irange::irange_set): Same.
19286 (irange::irange_set_anti_range): Same.
19287 (irange::set): Same.
19288 (irange::verify_range): Same.
19289 (irange::legacy_equal_p): Check nonzero bits.
19290 (irange::equal_p): Same.
19291 (irange::contains_p): Handle nonzero bits.
19292 (irange::irange_union): Same.
19293 (irange::irange_intersect): Same.
19294 (irange::dump): Same.
19295 (irange::set_nonzero_bits): New.
19296 (irange::get_nonzero_bits): New.
19297 (irange::intersect_nonzero_bits): New.
19298 (irange::union_nonzero_bits): New.
19299 (irange::dump_bitmasks): New.
19300 * value-range.h (class irange): Add m_nonzero_mask.
19301 (gt_ggc_mx): Handle nonzero bits.
19302 (gt_pch_nx): Same.
19303 (irange::set_undefined): Set nonzero bits.
19304 (irange::set_varying): Same.
19305 (irange::normalize_kind): Call set_undefined.
19306
19307 2022-07-04 Richard Biener <rguenther@suse.de>
19308
19309 * tree-ssa-loop-manip.h
19310 (rewrite_virtuals_into_loop_closed_ssa): Remove.
19311 (rewrite_into_loop_closed_ssa_1): Likewise.
19312 * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
19313 Make static.
19314 (rewrite_into_loop_closed_ssa): Remove loop overload,
19315 always rewrite virtuals into LC SSA.
19316 (check_loop_closed_ssa_bb): Also check virtuals.
19317 * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
19318 LC PHIs when in LC SSA.
19319 * gimple-loop-jam.cc (fuse_loops): Do not rewrite into
19320 loop-closed SSA here, but ...
19321 (tree_loop_unroll_and_jam): ... here once.
19322 * tree-if-conv.cc (version_loop_for_if_conversion): Use
19323 the cheaper TODO_update_ssa_no_phi.
19324 * tree-loop-distribution.cc (version_loop_by_alias_check):
19325 Likewise.
19326 * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
19327 Likewise.
19328 * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
19329 (tree_unswitch_outer_loop): Do not rewrite virtuals into
19330 LC ssa.
19331 * tree-parloops.cc (transform_to_exit_first_loop_alt):
19332 Likewise.
19333 (pass_parallelize_loops::execute): After finishing rewrite
19334 into LC SSA again because we do not maintain it properly.
19335
19336 2022-07-04 Richard Biener <rguenther@suse.de>
19337
19338 PR tree-optimization/106055
19339 * graphite.cc (canonicalize_loop_closed_ssa): Check whether
19340 we can propagate.
19341
19342 2022-07-04 Haochen Jiang <haochen.jiang@intel.com>
19343
19344 PR target/43618
19345 * config/i386/sse.md (extendv2sfv2df2): New define_expand.
19346 (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
19347 (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
19348
19349 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
19350
19351 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
19352 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
19353 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
19354 with two arguments.
19355 (find_unswitching_predicates_for_bb): Same.
19356 * tree-vrp.cc (range_fold_unary_symbolics_p): Same.
19357 * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
19358 * value-range.cc (irange::equal_p): Rename to...
19359 (irange::operator==): ...this.
19360 * value-range.h (irange::set): Remove.
19361 (irange::operator==): Remove.
19362 (irange::set_zero): Use set with two arguments.
19363 * vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
19364 (vr_values::extract_range_from_unary_expr): Same.
19365 (check_for_binary_op_overflow): Same.
19366 (bounds_of_var_in_loop): Same.
19367
19368 2022-07-03 H.J. Lu <hjl.tools@gmail.com>
19369
19370 PR target/106022
19371 * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
19372 New.
19373 * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
19374 New.
19375 * config/i386/mmx.md (V_16_32_64): New.
19376 (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
19377 and 64-bit constant vector.
19378 * config/i386/predicates.md (x86_64_const_vector_operand): New.
19379
19380 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
19381
19382 * gimple-range-cache.cc: Include value-range-storage.h.
19383 * gimple-range-cache.h (class block_range_cache): Add "class" to
19384 m_range_allocator.
19385 * gimple-range-edge.cc
19386 (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
19387 (gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
19388 (gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
19389 * gimple-range-edge.h: Add "class" to m_range_allocator.
19390 * gimple-range-infer.cc
19391 (infer_range_manager::infer_range_manager): Allocate allocator.
19392 (infer_range_manager::~infer_range_manager): Free allocator.
19393 (infer_range_manager::get_nonzero): Dereference allocator.
19394 (infer_range_manager::add_range): Same.
19395 * gimple-range-infer.h (class vrange_allocator): Add "class" to
19396 m_range_allocator.
19397 * value-range-storage.h (class vrange_allocator): Move from
19398 value-range.h.
19399 (class obstack_vrange_allocator): Same.
19400 (class ggc_vrange_allocator): Same.
19401 (vrange_allocator::alloc_vrange): Same.
19402 (vrange_allocator::alloc_irange): Same.
19403 * value-range.h (class vrange_allocator): Move to value-range-storage.h.
19404 (class obstack_vrange_allocator): Same.
19405 (class ggc_vrange_allocator): Same.
19406
19407 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
19408
19409 * Makefile.in (OBJS): Add value-range-storage.o.
19410 (GTFILES): Add value-range-storage.h.
19411 * gengtype.cc (open_base_files): Add value-range-storage.h.
19412 * value-range-storage.cc: New file.
19413 * value-range-storage.h: New file.
19414
19415 2022-07-03 Xi Ruoyao <xry111@xry111.site>
19416 Lulu Cheng <chenglulu@loongson.cn>
19417
19418 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
19419 New static function.
19420 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
19421 of TARGET_CHECK_ZERO_DIV.
19422 (loongarch_output_division): Likewise.
19423 * common/config/loongarch/loongarch-common.cc
19424 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
19425 * doc/invoke.texi: Update to match the new behavior.
19426
19427 2022-07-03 Ian Lance Taylor <iant@golang.org>
19428
19429 * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
19430 statement if -fdelete-dead-exceptions.
19431
19432 2022-07-02 Tim Lange <mail@tim-lange.me>
19433
19434 PR analyzer/105900
19435 * doc/invoke.texi: Added Wanalyzer-allocation-size.
19436
19437 2022-07-02 Immad Mir <mirimmad17@gmail.com>
19438
19439 PR analyzer/106003
19440 * Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
19441 * doc/invoke.texi: Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
19442 -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
19443 -Wanalyzer-fd-use-after-close.
19444
19445 2022-07-01 Aldy Hernandez <aldyh@redhat.com>
19446
19447 * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
19448 (trailing_wide_ints::set_precision): Add num_elements argument.
19449 (trailing_wide_ints::extra_size): Same.
19450
19451 2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
19452
19453 * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
19454 Use "r" constraint for operand 1.
19455
19456 2022-07-01 Richard Biener <rguenther@suse.de>
19457
19458 * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
19459 Do not look at interesting_blocks which is a copy of
19460 blocks_to_update.
19461 (update_ssa): Do not initialize it.
19462 (pass_build_ssa::execute): Set interesting_blocks to NULL
19463 after releasing it.
19464
19465 2022-07-01 Richard Biener <rguenther@suse.de>
19466
19467 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
19468 back to using maybe_ne (off, -1).
19469
19470 2022-07-01 Richard Biener <rguenther@suse.de>
19471
19472 * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
19473 checking dominance check conditional on flag_checking.
19474
19475 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
19476
19477 * config/gcn/gcn-protos.h (print_operand_address): Remove register
19478 keyword on 'rtx addr' argument.
19479
19480 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
19481 Uroš Bizjak <ubizjak@gmail.com>
19482
19483 * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
19484 to post-reload define_insn_and_split.
19485
19486 2022-07-01 Jakub Jelinek <jakub@redhat.com>
19487
19488 PR middle-end/106144
19489 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
19490 emitting element for shift or if shift is 0 first element after start.
19491 (wide_int_cc_tests): Add tests for equivalency of wi::mask and
19492 wi::shifted_mask with 0 start.
19493
19494 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
19495
19496 PR target/106122
19497 * config/i386/i386.md (peephole2): Avoid generating pop %esp
19498 when optimizing for size.
19499
19500 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
19501 Uroš Bizjak <ubizjak@gmail.com>
19502
19503 * config/i386/i386.md (general_szext_operand): Add TImode
19504 support using x86_64_hilo_general_operand predicate.
19505 (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
19506 (*add<dwi>3_doubleword): Improved optimization of zero addition.
19507 (and<mode>3): Use SDWIM mode iterator to add support for double
19508 word bit-wise AND in TImode. Use force_reg when double word
19509 immediate operand isn't x86_64_hilo_general_operand.
19510 (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
19511 converted into a post-reload splitter.
19512 (*andndi3_doubleword): Previous define_insn deleted.
19513 (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
19514 TARGET_BMI that splits post-reload.
19515 (*andn<mode>3_doubleword): New define_insn_and_split for
19516 !TARGET_BMI, that lowers/splits before reload.
19517 (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
19518 double word bit-wise XOR and bit-wise IOR in TImode. Use
19519 force_reg when double word immediate operand isn't
19520 x86_64_hilo_general_operand.
19521 (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
19522 (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
19523 double word bit-wise NOT in TImode.
19524 (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
19525 and converted into a post-reload splitter.
19526
19527 2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
19528
19529 PR middle-end/105874
19530 * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
19531 EXPAND_MEMORY for the expansion of the inner reference only
19532 in the usual cases where a memory reference is required.
19533
19534 2022-07-01 Richard Biener <rguenther@suse.de>
19535
19536 PR tree-optimization/106131
19537 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
19538 zero when offsetting the read looking through an aggregate
19539 copy.
19540
19541 2022-07-01 Martin Liska <mliska@suse.cz>
19542
19543 PR tree-optimization/106126
19544 * gimple-if-to-switch.cc (struct condition_info): Save
19545 has_side_effect.
19546 (find_conditions): Parse all BBs.
19547 (pass_if_to_switch::execute): Allow only side effects for first
19548 BB.
19549
19550 2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
19551
19552 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
19553 Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
19554 OPTION_MASK_ISA2_AVX512BF16_UNSET and
19555 OPTION_MASK_ISA2_AVX512FP16_UNSET.
19556
19557 2022-06-30 Joseph Myers <joseph@codesourcery.com>
19558
19559 PR lto/106129
19560 * lto-wrapper.cc (find_option): Add argument start.
19561 (merge_and_complain): Loop over existing_opt_index and
19562 existing_opt2_index for Xassembler check. Update calls to
19563 find_option.
19564 (find_and_merge_options): Add argument first to determine whether
19565 to merge options with those passed in *opts.
19566 (run_gcc): Update calls to find_and_merge_options.
19567
19568 2022-06-30 Aldy Hernandez <aldyh@redhat.com>
19569
19570 * gimple-range-cache.cc (block_range_cache::block_range_cache):
19571 Rename vrange_allocator to obstack_vrange_allocator.
19572 (ssa_global_cache::ssa_global_cache): Same.
19573 * gimple-range-edge.h (class gimple_outgoing_range): Same.
19574 * gimple-range-infer.h (class infer_range_manager): Same.
19575 * value-range.h (class vrange_allocator): Make abstract.
19576 (class obstack_vrange_allocator): Inherit from vrange_allocator.
19577 (class ggc_vrange_allocator): New.
19578
19579 2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
19580 Uroš Bizjak <ubizjak@gmail.com>
19581
19582 * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
19583 provide gen_swapsi.
19584 (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
19585 via new gen_<insn>32di2_doubleword below.
19586 (<anyrotate>32di2_doubleword): New define_insn_and_split
19587 that splits after reload as either a pair of move instructions
19588 or an xchgl (using gen_swapsi).
19589
19590 2022-06-30 Richard Biener <rguenther@suse.de>
19591
19592 * domwalk.h (dom_walker::dom_walker): Update comment to
19593 reflect reality and new special argument value for
19594 bb_index_to_rpo.
19595 * domwalk.cc (dom_walker::dom_walker): Recognize -1
19596 bb_index_to_rpo.
19597 * tree-into-ssa.cc
19598 (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
19599 dom_walker to not use RPO.
19600
19601 2022-06-30 Martin Liska <mliska@suse.cz>
19602
19603 * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
19604 it is unused.
19605
19606 2022-06-30 Andrew MacLeod <amacleod@redhat.com>
19607
19608 PR tree-optimization/106114
19609 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
19610 statement operands instead of GORI cache.
19611
19612 2022-06-30 Antoni Boucher <bouanto@zoho.com>
19613
19614 PR target/106095
19615 * config/i386/sse.md: Fix asm generation.
19616
19617 2022-06-29 Sergei Trofimovich <siarheit@google.com>
19618
19619 PR c++/106102
19620 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
19621
19622 2022-06-29 Joseph Myers <joseph@codesourcery.com>
19623
19624 * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
19625 not gen_const_mem for UNSPEC_PIC_CALL_SYM.
19626
19627 2022-06-29 Richard Biener <rguenther@suse.de>
19628
19629 PR rtl-optimization/106082
19630 * combine.cc (distribute_notes): Preserve notes when
19631 they indicate a call doesn't perform a non-local goto.
19632
19633 2022-06-29 Richard Biener <rguenther@suse.de>
19634
19635 PR tree-optimization/106112
19636 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
19637 a constant operand according to its type.
19638
19639 2022-06-29 Martin Liska <mliska@suse.cz>
19640
19641 * doc/invoke.texi: Remove removed evrp-mode.
19642
19643 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
19644
19645 PR target/106097
19646 * config/loongarch/loongarch.cc (loongarch_build_integer):
19647 Remove undefined behavior from code.
19648
19649 2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
19650
19651 * doc/sourcebuild.texi: Document new no_alignment_constraints
19652 effective target check.
19653
19654 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
19655
19656 * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
19657 * flag-types.h (enum evrp_mode): Remove.
19658 * params.opt: Remove --param=evrp-mode.
19659 * tree-vrp.cc (make_pass_early_vrp): New.
19660 (pass_vrp::execute): Call early VRP instance.
19661 * gimple-ssa-evrp-analyze.cc: Removed.
19662 * gimple-ssa-evrp-analyze.h: Removed.
19663 * gimple-ssa-evrp.cc: Removed.
19664
19665 2022-06-28 Alexandre Oliva <oliva@adacore.com>
19666
19667 * Makefile.in (TFLAGS): New.
19668 (GCC_FOR_TARGET): Add TFLAGS.
19669 (FLAGS_TO_PASS): Pass TFLAGS down.
19670
19671 2022-06-28 Richard Biener <rguenther@suse.de>
19672
19673 * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
19674 call update_ssa.
19675
19676 2022-06-28 Richard Biener <rguenther@suse.de>
19677
19678 * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
19679 mark_block_for_update.
19680 (update_ssa): Adjust.
19681
19682 2022-06-28 Xi Ruoyao <xry111@xry111.site>
19683
19684 PR target/106096
19685 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
19686 $r13 from SIBCALL_REGS.
19687 * config/loongarch/loongarch.cc (loongarch_regno_to_class):
19688 Change $r13 to JIRL_REGS.
19689
19690 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
19691
19692 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
19693 irange::supports_p.
19694
19695 2022-06-28 Richard Biener <rguenther@suse.de>
19696
19697 PR middle-end/106053
19698 * match.pd ((T)a == (T)b): Avoid folding away sign
19699 changes in a comparison if we'd truncate to a boolean.
19700
19701 2022-06-28 Kewen Lin <linkw@linux.ibm.com>
19702
19703 * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
19704 iterator GPR with SImode, adjust the condition and output template,
19705 rename to ...
19706 (*rotlsi3_insert_4): ... this.
19707
19708 2022-06-27 David Malcolm <dmalcolm@redhat.com>
19709
19710 * genmatch.cc: Add "final" and "override" to various vfunc
19711 implementations, removing redundant "virtual" as appropriate.
19712 * gensupport.cc: Likewise.
19713 * gimple-range-cache.h: Likewise.
19714 * ipa-icf-gimple.h: Likewise.
19715 * ipa-icf.h: Likewise.
19716 * read-md.h: Likewise.
19717 * read-rtl-function.cc: Likewise.
19718 * tree-ssa-loop-ch.cc: Likewise.
19719 * tree-ssa-sccvn.cc: Likewise.
19720
19721 2022-06-27 David Malcolm <dmalcolm@redhat.com>
19722
19723 * config/i386/i386-features.h: Add "final" and "override" to
19724 scalar_chain vfunc implementations as appropriate.
19725
19726 2022-06-27 David Malcolm <dmalcolm@redhat.com>
19727
19728 * tree-switch-conversion.h: Add "final" and "override" to cluster
19729 vfunc implementations as appropriate.
19730
19731 2022-06-27 David Malcolm <dmalcolm@redhat.com>
19732
19733 * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
19734 implementations as appropriate.
19735
19736 2022-06-27 David Malcolm <dmalcolm@redhat.com>
19737
19738 * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
19739 implementations, removing redundant "virtual" as appropriate.
19740 * gimple-ssa-strength-reduction.cc: Likewise.
19741 * ipa-prop.cc: Likewise.
19742 * rtl-ssa/blocks.cc: Likewise.
19743 * tree-into-ssa.cc: Likewise.
19744 * tree-ssa-dom.cc: Likewise.
19745 * tree-ssa-math-opts.cc: Likewise.
19746 * tree-ssa-phiopt.cc: Likewise.
19747 * tree-ssa-propagate.cc: Likewise.
19748 * tree-ssa-sccvn.cc: Likewise.
19749 * tree-ssa-strlen.cc: Likewise.
19750 * tree-ssa-uncprop.cc: Likewise.
19751
19752 2022-06-27 David Malcolm <dmalcolm@redhat.com>
19753
19754 * adjust-alignment.cc: Add "final" and "override" to opt_pass
19755 vfunc implementations, removing redundant "virtual" as
19756 appropriate.
19757 * asan.cc: Likewise.
19758 * auto-inc-dec.cc: Likewise.
19759 * auto-profile.cc: Likewise.
19760 * bb-reorder.cc: Likewise.
19761 * cfgcleanup.cc: Likewise.
19762 * cfgexpand.cc: Likewise.
19763 * cfgrtl.cc: Likewise.
19764 * cgraphbuild.cc: Likewise.
19765 * combine-stack-adj.cc: Likewise.
19766 * combine.cc: Likewise.
19767 * compare-elim.cc: Likewise.
19768 * config/i386/i386-features.cc: Likewise.
19769 * coroutine-passes.cc: Likewise.
19770 * cprop.cc: Likewise.
19771 * cse.cc: Likewise.
19772 * dce.cc: Likewise.
19773 * df-core.cc: Likewise.
19774 * dse.cc: Likewise.
19775 * dwarf2cfi.cc: Likewise.
19776 * early-remat.cc: Likewise.
19777 * except.cc: Likewise.
19778 * final.cc: Likewise.
19779 * function.cc: Likewise.
19780 * fwprop.cc: Likewise.
19781 * gcse.cc: Likewise.
19782 * gimple-harden-conditionals.cc: Likewise.
19783 * gimple-if-to-switch.cc: Likewise.
19784 * gimple-isel.cc: Likewise.
19785 * gimple-laddress.cc: Likewise.
19786 * gimple-loop-interchange.cc: Likewise.
19787 * gimple-loop-jam.cc: Likewise.
19788 * gimple-loop-versioning.cc: Likewise.
19789 * gimple-low.cc: Likewise.
19790 * gimple-ssa-backprop.cc: Likewise.
19791 * gimple-ssa-evrp.cc: Likewise.
19792 * gimple-ssa-isolate-paths.cc: Likewise.
19793 * gimple-ssa-nonnull-compare.cc: Likewise.
19794 * gimple-ssa-split-paths.cc: Likewise.
19795 * gimple-ssa-store-merging.cc: Likewise.
19796 * gimple-ssa-strength-reduction.cc: Likewise.
19797 * gimple-ssa-warn-access.cc: Likewise.
19798 * gimple-ssa-warn-alloca.cc: Likewise.
19799 * gimple-ssa-warn-restrict.cc: Likewise.
19800 * gimple-warn-recursion.cc: Likewise.
19801 * graphite.cc: Likewise.
19802 * ifcvt.cc: Likewise.
19803 * init-regs.cc: Likewise.
19804 * ipa-comdats.cc: Likewise.
19805 * ipa-cp.cc: Likewise.
19806 * ipa-devirt.cc: Likewise.
19807 * ipa-fnsummary.cc: Likewise.
19808 * ipa-free-lang-data.cc: Likewise.
19809 * ipa-icf.cc: Likewise.
19810 * ipa-inline.cc: Likewise.
19811 * ipa-modref.cc: Likewise.
19812 * ipa-profile.cc: Likewise.
19813 * ipa-pure-const.cc: Likewise.
19814 * ipa-reference.cc: Likewise.
19815 * ipa-split.cc: Likewise.
19816 * ipa-sra.cc: Likewise.
19817 * ipa-visibility.cc: Likewise.
19818 * ipa.cc: Likewise.
19819 * ira.cc: Likewise.
19820 * jump.cc: Likewise.
19821 * loop-init.cc: Likewise.
19822 * lower-subreg.cc: Likewise.
19823 * mode-switching.cc: Likewise.
19824 * modulo-sched.cc: Likewise.
19825 * multiple_target.cc: Likewise.
19826 * omp-expand.cc: Likewise.
19827 * omp-low.cc: Likewise.
19828 * omp-oacc-kernels-decompose.cc: Likewise.
19829 * omp-oacc-neuter-broadcast.cc: Likewise.
19830 * omp-offload.cc: Likewise.
19831 * omp-simd-clone.cc: Likewise.
19832 * passes.cc: Likewise.
19833 * postreload-gcse.cc: Likewise.
19834 * postreload.cc: Likewise.
19835 * predict.cc: Likewise.
19836 * recog.cc: Likewise.
19837 * ree.cc: Likewise.
19838 * reg-stack.cc: Likewise.
19839 * regcprop.cc: Likewise.
19840 * reginfo.cc: Likewise.
19841 * regrename.cc: Likewise.
19842 * reorg.cc: Likewise.
19843 * sancov.cc: Likewise.
19844 * sanopt.cc: Likewise.
19845 * sched-rgn.cc: Likewise.
19846 * stack-ptr-mod.cc: Likewise.
19847 * store-motion.cc: Likewise.
19848 * tracer.cc: Likewise.
19849 * trans-mem.cc: Likewise.
19850 * tree-call-cdce.cc: Likewise.
19851 * tree-cfg.cc: Likewise.
19852 * tree-cfgcleanup.cc: Likewise.
19853 * tree-complex.cc: Likewise.
19854 * tree-eh.cc: Likewise.
19855 * tree-emutls.cc: Likewise.
19856 * tree-if-conv.cc: Likewise.
19857 * tree-into-ssa.cc: Likewise.
19858 * tree-loop-distribution.cc: Likewise.
19859 * tree-nrv.cc: Likewise.
19860 * tree-object-size.cc: Likewise.
19861 * tree-parloops.cc: Likewise.
19862 * tree-predcom.cc: Likewise.
19863 * tree-profile.cc: Likewise.
19864 * tree-sra.cc: Likewise.
19865 * tree-ssa-ccp.cc: Likewise.
19866 * tree-ssa-copy.cc: Likewise.
19867 * tree-ssa-dce.cc: Likewise.
19868 * tree-ssa-dom.cc: Likewise.
19869 * tree-ssa-dse.cc: Likewise.
19870 * tree-ssa-forwprop.cc: Likewise.
19871 * tree-ssa-ifcombine.cc: Likewise.
19872 * tree-ssa-loop-ch.cc: Likewise.
19873 * tree-ssa-loop-im.cc: Likewise.
19874 * tree-ssa-loop-ivcanon.cc: Likewise.
19875 * tree-ssa-loop-prefetch.cc: Likewise.
19876 * tree-ssa-loop-split.cc: Likewise.
19877 * tree-ssa-loop-unswitch.cc: Likewise.
19878 * tree-ssa-loop.cc: Likewise.
19879 * tree-ssa-math-opts.cc: Likewise.
19880 * tree-ssa-phiopt.cc: Likewise.
19881 * tree-ssa-phiprop.cc: Likewise.
19882 * tree-ssa-pre.cc: Likewise.
19883 * tree-ssa-reassoc.cc: Likewise.
19884 * tree-ssa-sccvn.cc: Likewise.
19885 * tree-ssa-sink.cc: Likewise.
19886 * tree-ssa-strlen.cc: Likewise.
19887 * tree-ssa-structalias.cc: Likewise.
19888 * tree-ssa-uncprop.cc: Likewise.
19889 * tree-ssa-uninit.cc: Likewise.
19890 * tree-ssanames.cc: Likewise.
19891 * tree-stdarg.cc: Likewise.
19892 * tree-switch-conversion.cc: Likewise.
19893 * tree-tailcall.cc: Likewise.
19894 * tree-vect-generic.cc: Likewise.
19895 * tree-vectorizer.cc: Likewise.
19896 * tree-vrp.cc: Likewise.
19897 * tsan.cc: Likewise.
19898 * ubsan.cc: Likewise.
19899 * var-tracking.cc: Likewise.
19900 * vtable-verify.cc: Likewise.
19901 * web.cc: Likewise.
19902
19903 2022-06-27 Andrew Stubbs <ams@codesourcery.com>
19904
19905 * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
19906 (jump): Likewise.
19907 (movdi_symbol_save_scc): Likewise.
19908
19909 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
19910
19911 PR rtl-optimization/7061
19912 * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
19913
19914 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
19915
19916 PR tree-optimization/94026
19917 * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
19918 (((X >> C1) & C2) eq/ne C3): Likewise.
19919
19920 2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
19921
19922 * statistics.cc: Include tree.h.
19923 (get_function_name): New function.
19924 (statistics_fini_pass_2): Call get_function_name instead of
19925 current_function_name.
19926 (statistics_counter_event): Call get_function_name instead of
19927 function_name.
19928 (statistics_histogram_event): Likewise.
19929
19930 2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
19931
19932 * config/xtensa/xtensa.md:
19933 Suppress unnecessary emitting nop insn in the split patterns for
19934 integer/FP constant synthesis, and add new peephole2 pattern that
19935 folds such synthesized additions.
19936
19937 2022-06-25 Aldy Hernandez <aldyh@redhat.com>
19938
19939 * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
19940 instead of evrp.
19941 (dom_jt_state::push): Remove m_evrp.
19942 (dom_jt_state::pop): Same.
19943 (dom_jt_state::record_ranges_from_stmt): Remove.
19944 (dom_jt_state::register_equiv): Remove updating of evrp ranges.
19945 (class dom_jt_simplifier): Pass ranger to constructor.
19946 Inherit from hybrid_jt_simplifier.
19947 (dom_jt_simplifier::simplify): Convert to ranger.
19948 (pass_dominator::execute): Same.
19949 (all_uses_feed_or_dominated_by_stmt): New.
19950 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
19951 (dom_opt_dom_walker::before_dom_children): Call
19952 set_global_ranges_from_unreachable_edges.
19953 Do not call record_ranges_from_stmt.
19954 (dom_opt_dom_walker::after_dom_children): Remove evrp use.
19955 (cprop_operand): Use int_range<> instead of value_range.
19956 (dom_opt_dom_walker::fold_cond): New.
19957 (dom_opt_dom_walker::optimize_stmt): Pass ranger to
19958 cprop_into_stmt.
19959 Use fold_cond() instead of vrp_visit_cond_stmt().
19960 * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
19961 pass state to simplifier.
19962 * vr-values.h (class vr_values): Make fold_cond public.
19963
19964 2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
19965
19966 * common/config/tilegx/tilegx-common.cc: Removed.
19967 * common/config/tilepro/tilepro-common.cc: Removed.
19968 * config.gcc: Remove tilegx and tilepro entries.
19969 * config/tilegx/constraints.md: Removed.
19970 * config/tilegx/feedback.h: Removed.
19971 * config/tilegx/linux.h: Removed.
19972 * config/tilegx/mul-tables.cc: Removed.
19973 * config/tilegx/predicates.md: Removed.
19974 * config/tilegx/sync.md: Removed.
19975 * config/tilegx/t-tilegx: Removed.
19976 * config/tilegx/tilegx-builtins.h: Removed.
19977 * config/tilegx/tilegx-c.cc: Removed.
19978 * config/tilegx/tilegx-generic.md: Removed.
19979 * config/tilegx/tilegx-modes.def: Removed.
19980 * config/tilegx/tilegx-multiply.h: Removed.
19981 * config/tilegx/tilegx-opts.h: Removed.
19982 * config/tilegx/tilegx-protos.h: Removed.
19983 * config/tilegx/tilegx.cc: Removed.
19984 * config/tilegx/tilegx.h: Removed.
19985 * config/tilegx/tilegx.md: Removed.
19986 * config/tilegx/tilegx.opt: Removed.
19987 * config/tilepro/constraints.md: Removed.
19988 * config/tilepro/feedback.h: Removed.
19989 * config/tilepro/gen-mul-tables.cc: Removed.
19990 * config/tilepro/linux.h: Removed.
19991 * config/tilepro/mul-tables.cc: Removed.
19992 * config/tilepro/predicates.md: Removed.
19993 * config/tilepro/t-tilepro: Removed.
19994 * config/tilepro/tilepro-builtins.h: Removed.
19995 * config/tilepro/tilepro-c.cc: Removed.
19996 * config/tilepro/tilepro-generic.md: Removed.
19997 * config/tilepro/tilepro-modes.def: Removed.
19998 * config/tilepro/tilepro-multiply.h: Removed.
19999 * config/tilepro/tilepro-protos.h: Removed.
20000 * config/tilepro/tilepro.cc: Removed.
20001 * config/tilepro/tilepro.h: Removed.
20002 * config/tilepro/tilepro.md: Removed.
20003 * config/tilepro/tilepro.opt: Removed.
20004 * configure.ac: Remove tilegx and tilepro entries.
20005 * configure: Rebuilt.
20006 * doc/extend.texi: Remove tilegx and tilepro entries.
20007 * doc/install.texi: Remove tilegx and tilepro entries.
20008 * doc/invoke.texi: Remove tilegx and tilepro entries.
20009 * doc/md.texi: Remove tilegx and tilepro entries.
20010
20011 2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
20012 Richard Biener <rguenther@suse.de>
20013
20014 * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
20015 iteration over each basic block that was updated by the second
20016 iteration.
20017
20018 2022-06-24 Jason Merrill <jason@redhat.com>
20019
20020 PR c++/87729
20021 PR c++/20423
20022 * doc/invoke.texi: Document changes.
20023
20024 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
20025
20026 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
20027 condition to avoid overflow.
20028
20029 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
20030
20031 * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
20032 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
20033 * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
20034 OPTION_MASK_PPC_GFXOPT.
20035 * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
20036 * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
20037 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
20038 * config/rs6000/rs6000-c.cc: Update comment.
20039 * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
20040 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
20041 MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
20042 (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
20043 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
20044 * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
20045 MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
20046 MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
20047 MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
20048
20049 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
20050
20051 * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
20052 OPTION_MASK_MFCRF.
20053 * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
20054 OPTION_MASK_MULTIPLE.
20055 * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
20056 * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
20057 OPTION_MASK_MFCRF.
20058 * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
20059 OPTION_MASK_EABI.
20060 * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
20061 * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
20062 MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
20063 * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
20064 MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
20065 MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
20066 MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
20067 MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
20068 Replace with
20069 OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
20070 OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
20071 OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
20072 OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
20073 OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
20074 OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
20075 OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
20076 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
20077 MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
20078 * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
20079 with OPTION_MASK_MULTIPLE.
20080 (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
20081 MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
20082 MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
20083 MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
20084 MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
20085 * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
20086 with OPTION_MASK_EABI.
20087
20088 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
20089
20090 * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
20091 RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
20092 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
20093 RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
20094 OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
20095 OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
20096 OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
20097 * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
20098 RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
20099 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
20100 RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
20101
20102 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
20103
20104 * config/rs6000/rs6000-c.cc: Update comments.
20105 * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
20106 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
20107 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
20108 RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
20109 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
20110 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
20111 OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
20112 OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
20113 OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
20114 OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
20115 OPTION_MASK_MMA, OPTION_MASK_POWER10.
20116 * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
20117 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
20118 RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
20119 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
20120 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
20121
20122 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
20123
20124 * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
20125 MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
20126 OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
20127
20128 2022-06-24 Richard Biener <rguenther@suse.de>
20129
20130 PR middle-end/106070
20131 * match.pd (a != b ? a : b): Fix translation of
20132 operand_equal_for_comparison_p.
20133
20134 2022-06-24 Jan Hubicka <jh@suse.cz>
20135
20136 PR ipa/106057
20137 * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
20138
20139 2022-06-24 Martin Liska <mliska@suse.cz>
20140
20141 PR middle-end/106059
20142 * profile-count.h: *= and /= operators need to modify this
20143 object.
20144
20145 2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
20146 Uroš Bizjak <ubizjak@gmail.com>
20147
20148 PR target/105930
20149 * config/i386/i386.md (*<any_or>di3_doubleword): Split after
20150 reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
20151 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
20152
20153 2022-06-24 Alexandre Oliva <oliva@adacore.com>
20154
20155 * common.opt (nostdlib++): New.
20156 * doc/invoke.texi (-nostdlib++): Document it.
20157
20158 2022-06-24 Alexandre Oliva <oliva@adacore.com>
20159
20160 * doc/sourcebuild.texi (Environment attributes): Document
20161 two_plus_gigs.
20162
20163 2022-06-23 David Malcolm <dmalcolm@redhat.com>
20164
20165 * common.opt (fdiagnostics-show-rules): New option.
20166 * diagnostic-format-json.cc (diagnostic_output_format_init_json):
20167 Fix up context->show_rules.
20168 * diagnostic-format-sarif.cc
20169 (diagnostic_output_format_init_sarif): Likewise.
20170 * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
20171 (diagnostic_metadata::precanned_rule): New class.
20172 (diagnostic_metadata::add_rule): New.
20173 (diagnostic_metadata::get_num_rules): New.
20174 (diagnostic_metadata::get_rule): New.
20175 (diagnostic_metadata::m_rules): New field.
20176 * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
20177 (print_any_rules): New.
20178 (diagnostic_report_diagnostic): Call it.
20179 * diagnostic.h (diagnostic_context::show_rules): New field.
20180 * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
20181 * opts.cc (common_handle_option): Handle
20182 OPT_fdiagnostics_show_rules.
20183 * toplev.cc (general_init): Set up global_dc->show_rules.
20184
20185 2022-06-23 Martin Liska <mliska@suse.cz>
20186
20187 PR c++/106062
20188 * ubsan.cc (sanitize_unreachable_fn): Change order of calls
20189 in order to initialize UBSAN built-ins.
20190
20191 2022-06-23 Martin Liska <mliska@suse.cz>
20192
20193 PR ipa/105600
20194 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
20195 Skip variables with body_removed.
20196
20197 2022-06-23 liuhongt <hongtao.liu@intel.com>
20198
20199 * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
20200 reg_or_subregno.
20201 (sse4_2_pcmpistr): Ditto.
20202
20203 2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
20204
20205 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
20206 typo.
20207 * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
20208 * tree-switch-conversion.h: Likewise.
20209
20210 2022-06-22 Jason Merrill <jason@redhat.com>
20211
20212 PR c++/104642
20213 * common.opt: Add -funreachable-traps.
20214 * doc/invoke.texi (-funreachable-traps): Document it.
20215 * opts.cc (finish_options): Enable at -O0 or -Og.
20216 * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
20217 (builtin_decl_unreachable, build_builtin_unreachable): New.
20218 * tree.h: Declare them.
20219 * ubsan.cc (sanitize_unreachable_fn): Factor out.
20220 (ubsan_instrument_unreachable): Use
20221 gimple_build_builtin_unreachable.
20222 * ubsan.h (sanitize_unreachable_fn): Declare.
20223 * gimple.cc (gimple_build_builtin_unreachable): New.
20224 * gimple.h: Declare it.
20225 * builtins.cc (expand_builtin_unreachable): Add assert.
20226 (fold_builtin_0): Call build_builtin_unreachable.
20227 * sanopt.cc: Don't run for just SANITIZE_RETURN
20228 or SANITIZE_UNREACHABLE when trapping.
20229 * cgraphunit.cc (walk_polymorphic_call_targets): Use new
20230 unreachable functions.
20231 * gimple-fold.cc (gimple_fold_call)
20232 (gimple_get_virt_method_for_vtable)
20233 * ipa-fnsummary.cc (redirect_to_unreachable)
20234 * ipa-prop.cc (ipa_make_edge_direct_to_target)
20235 (ipa_impossible_devirt_target)
20236 * ipa.cc (walk_polymorphic_call_targets)
20237 * tree-cfg.cc (pass_warn_function_return::execute)
20238 (execute_fixup_cfg)
20239 * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
20240 (unloop_loops)
20241 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
20242 Likewise.
20243
20244 2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
20245
20246 PR tree-optimization/106019
20247 * tree-data-ref.cc (dr_may_alias_p): Try using the
20248 innermost_loop_behavior to disambiguate non-loop queries.
20249
20250 2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
20251
20252 * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
20253
20254 2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20255
20256 * config/xtensa/xtensa.md (bswapsi2_internal):
20257 Enlarge the buffer that is obviously smaller than the template
20258 string given to sprintf().
20259
20260 2022-06-21 Roger Sayle <roger@nextmovesoftware.com>
20261 Marek Polacek <polacek@redhat.com>
20262 Segher Boessenkool <segher@kernel.crashing.org>
20263 Kewen Lin <linkw@linux.ibm.com>
20264
20265 PR target/105991
20266 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
20267 exact_log2 doesn't return -1 (or zero).
20268 (plus_xor): New code iterator.
20269 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
20270
20271 2022-06-21 Nathan Sidwell <nathan@acm.org>
20272
20273 * doc/invoke.texi (C++ Modules): Remove language-linkage
20274 as missing feature.
20275
20276 2022-06-21 Arjun Shankar <arjun@redhat.com>
20277
20278 PR tree-optimization/94899
20279 * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
20280 0x80000000): New simplification.
20281
20282 2022-06-21 Jakub Jelinek <jakub@redhat.com>
20283
20284 PR rtl-optimization/106032
20285 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
20286 t may_trap_or_fault_p, even if it is cheap.
20287
20288 2022-06-21 Jakub Jelinek <jakub@redhat.com>
20289
20290 PR middle-end/106030
20291 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
20292 temp to expand_operands if mode has been promoted.
20293
20294 2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
20295
20296 PR target/105740
20297 * gimple-if-to-switch.cc (find_conditions): Don't skip the first
20298 condition bb.
20299
20300 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
20301
20302 PR tree-optimization/105736
20303 * tree-object-size.cc (addr_object_size): Return size_unknown
20304 when object offset computation returns an error.
20305
20306 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
20307
20308 PR target/105960
20309 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
20310 false if PIC register is used when calling ifunc functions.
20311
20312 2022-06-20 Richard Biener <rguenther@suse.de>
20313
20314 PR middle-end/106027
20315 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
20316 type of the prevailing comparison for the new comparison type.
20317 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
20318 to A < X && A >= Y folding.
20319
20320 2022-06-20 Kewen Lin <linkw@linux.ibm.com>
20321
20322 PR tree-optimization/105940
20323 * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
20324 slp_done_for_suggested_uf and adjust with it accordingly.
20325 (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
20326 pass it down to vect_analyze_loop_2 for the initial analysis and
20327 applying suggested unroll factor.
20328 (vect_is_simple_reduction): Add parameter slp and adjust with it.
20329 (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
20330 (vect_analyze_scalar_cycles): Likewise.
20331
20332 2022-06-20 Martin Liska <mliska@suse.cz>
20333
20334 * bb-reorder.cc (find_traces_1_round): Add operators / and * and
20335 use them.
20336 (better_edge_p): Likewise.
20337 * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
20338 * cfgloopmanip.cc (scale_loop_profile): Likewise.
20339 * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
20340 * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
20341 * config/sh/sh.cc (expand_cbranchdi4): Likewise.
20342 * dojump.cc (do_compare_rtx_and_jump): Likewise.
20343 * final.cc (compute_alignments): Likewise.
20344 * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
20345 (decide_about_value): Likewise.
20346 * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
20347 * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
20348 * modulo-sched.cc (sms_schedule): Likewise.
20349 * omp-expand.cc (extract_omp_for_update_vars): Likewise.
20350 (expand_omp_ordered_sink): Likewise.
20351 (expand_omp_for_ordered_loops): Likewise.
20352 (expand_omp_for_static_nochunk): Likewise.
20353 * predict.cc (maybe_hot_count_p): Likewise.
20354 (probably_never_executed): Likewise.
20355 (set_even_probabilities): Likewise.
20356 (handle_missing_profiles): Likewise.
20357 (expensive_function_p): Likewise.
20358 * profile-count.h: Likewise.
20359 * profile.cc (compute_branch_probabilities): Likewise.
20360 * stmt.cc (emit_case_dispatch_table): Likewise.
20361 * symtab-thunks.cc (expand_thunk): Likewise.
20362 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
20363 * tree-ssa-sink.cc (select_best_block): Likewise.
20364 * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
20365 (switch_decision_tree::balance_case_nodes): Likewise.
20366 (switch_decision_tree::emit_case_nodes): Likewise.
20367 * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
20368
20369 2022-06-20 yulong <shiyulong@iscas.ac.cn>
20370
20371 * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
20372 * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
20373 of RISCV_BUILTIN.
20374 * config/riscv/riscv-ftypes.def (0): Remove unused.
20375 (1): New.
20376
20377 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20378
20379 * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
20380 Consider relaxed MOVI instructions as L32R.
20381
20382 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20383
20384 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
20385 Use can_create_pseudo_p(), instead of using individual
20386 reload_in_progress and reload_completed.
20387 (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
20388 the existing predicate function.
20389 (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
20390 Use the standard RTX code predicate macros such as MEM_P,
20391 SYMBOL_REF_P and/or CONST_INT_P.
20392 * config/xtensa/xtensa.md: Avoid using numeric literals to determine
20393 if callee-saved register, at the split patterns for indirect sibcall
20394 fixups.
20395
20396 2022-06-18 Jakub Jelinek <jakub@redhat.com>
20397
20398 * common.opt (flag_sanitize_trap): New variable.
20399 (fsanitize-trap=, fsanitize-trap): New options.
20400 (fsanitize-undefined-trap-on-error): Change into deprecated alias
20401 for -fsanitize-trap=all.
20402 * opts.h (struct sanitizer_opts_s): Add can_trap member.
20403 * opts.cc (finish_options): Complain about unsupported
20404 -fsanitize-trap= options.
20405 (sanitizer_opts): Add can_trap values to all entries.
20406 (get_closest_sanitizer_option): Ignore -fsanitize-trap=
20407 options which have can_trap false.
20408 (parse_sanitizer_options): Add support for -fsanitize-trap=.
20409 For -fsanitize-trap=all, enable
20410 SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow
20411 -fsanitize-trap=vptr here.
20412 (common_handle_option): Handle OPT_fsanitize_trap_ and
20413 OPT_fsanitize_trap.
20414 * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
20415 flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
20416 flag_sanitize_undefined_trap_on_error.
20417 * gcc.cc (sanitize_spec_function): Use
20418 flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
20419 and drop use of flag_sanitize_undefined_trap_on_error in
20420 "undefined" handling.
20421 * ubsan.cc (ubsan_instrument_unreachable): Use
20422 flag_sanitize_trap & SANITIZE_??? instead of
20423 flag_sanitize_undefined_trap_on_error.
20424 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
20425 ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
20426 ubsan_build_overflow_builtin, instrument_bool_enum_load,
20427 ubsan_instrument_float_cast, instrument_nonnull_arg,
20428 instrument_nonnull_return, instrument_builtin): Likewise.
20429 * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
20430 (-fsanitize-undefined-trap-on-error): Document as deprecated
20431 alias of -fsanitize-trap.
20432
20433 2022-06-18 Jakub Jelinek <jakub@redhat.com>
20434
20435 PR middle-end/105998
20436 * varasm.cc (narrowing_initializer_constant_valid_p): Check
20437 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
20438 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
20439
20440 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
20441
20442 PR tree-optimization/105835
20443 * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
20444 Narrow integer multiplication by a zero_one_valued_p operand.
20445 (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
20446 conversions inside COND_EXPR where both data operands are
20447 integer constants.
20448
20449 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20450
20451 * config/xtensa/constraints.md (Y):
20452 Change to include integer constants until reload begins.
20453 * config/xtensa/predicates.md (move_operand): Ditto.
20454 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
20455 Change to allow storing integer constants into litpool only after
20456 reload begins.
20457
20458 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
20459
20460 PR target/105209
20461 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
20462 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
20463 (alpha_store_data_bypass_p_1): Ditto.
20464 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
20465 of generic store_data_bypass_p.
20466 (ev4_ist_c): Remove insn reservation.
20467
20468 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
20469
20470 PR target/105970
20471 * config/i386/i386.cc (ix86_function_arg): Assert that
20472 the mode of pointer argumet is equal to ptr_mode, not Pmode.
20473
20474 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
20475
20476 PR target/105993
20477 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
20478 instead of REGNO comparisons in combine splitter.
20479
20480 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
20481
20482 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
20483 types.
20484
20485 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
20486
20487 * config/riscv/bitmanip.md: Supress warning.
20488
20489 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
20490
20491 PR target/106004
20492 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
20493 Clear bits in the mask above bit 31.
20494
20495 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
20496
20497 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
20498 to avoid spilling trivial literals to the constant pool.
20499
20500 2022-06-16 David Malcolm <dmalcolm@redhat.com>
20501
20502 * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
20503 auto_diagnostic_group to group any warning with its note.
20504 (maybe_warn_for_bound): Likewise.
20505 (check_access): Likewise.
20506 (warn_dealloc_offset): Likewise.
20507 (pass_waccess::maybe_warn_memmodel): Likewise.
20508 (pass_waccess::maybe_check_dealloc_call): Likewise.
20509 (pass_waccess::warn_invalid_pointer): Likewise.
20510 (pass_waccess::check_dangling_stores): Likewise.
20511
20512 2022-06-16 Jason Merrill <jason@redhat.com>
20513
20514 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
20515 opts_set->x_flag_sanitize.
20516
20517 2022-06-16 Jason Merrill <jason@redhat.com>
20518
20519 * flags.h (issue_strict_overflow_warning): Comment #endif.
20520
20521 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
20522
20523 * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
20524 was invaraint before, clear the invariant bit.
20525 * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
20526 * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
20527
20528 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
20529
20530 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
20531
20532 2022-06-16 Jakub Jelinek <jakub@redhat.com>
20533
20534 PR tree-optimization/105983
20535 * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
20536 y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
20537 on non-equality comparisons.
20538
20539 2022-06-16 Jakub Jelinek <jakub@redhat.com>
20540
20541 PR tree-optimization/105984
20542 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
20543 x > stype_max / cst || x < stype_min / cst): fold_convert @1
20544 to TREE_TYPE (@0) just once and test for negative divisor
20545 also on that folded constant instead of on @1.
20546
20547 2022-06-16 Jakub Jelinek <jakub@redhat.com>
20548
20549 PR middle-end/105951
20550 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
20551 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
20552 as last argument to the internal functions.
20553 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
20554 extra call argument to ifns. If expand_atomic_fetch_op fails for the
20555 lhs == NULL_TREE case, fall through into the optab code with
20556 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
20557 fails, construct a CALL_EXPR and expand that.
20558 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
20559 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
20560 expand that.
20561
20562 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
20563
20564 PR target/103316
20565 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
20566 gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
20567 RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
20568 RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
20569 * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support
20570 for new Power10 V1TI instructions.
20571 (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
20572 (vec_cmpu<mode><mode>): Likewise.
20573 (vector_nlt<mode>): Set mode iterator to VEC_IC.
20574 (vector_nltv1ti): Remove.
20575 (vector_gtu<mode>): Set mode iterator to VEC_IC.
20576 (vector_gtuv1ti): Remove.
20577 (vector_nltu<mode>): Set mode iterator to VEC_IC.
20578 (vector_nltuv1ti): Remove.
20579 (vector_geu<mode>): Set mode iterator to VEC_IC.
20580 (vector_ngt<mode>): Likewise.
20581 (vector_ngtv1ti): Remove.
20582 (vector_ngtu<mode>): Set mode iterator to VEC_IC.
20583 (vector_ngtuv1ti): Remove.
20584 (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
20585 (vector_gtu_v1ti_p): Remove.
20586 (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
20587 (vrotlv1ti3): Remove.
20588 (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
20589 (vashrv1ti3): Remove.
20590
20591 2022-06-16 Martin Liska <mliska@suse.cz>
20592
20593 * gengtype-state.cc (read_a_state_token): Do not skip extra
20594 character after escaped sequence.
20595
20596 2022-06-16 Martin Liska <mliska@suse.cz>
20597
20598 PR driver/105564
20599 * spellcheck.cc (test_find_closest_string): Add new test.
20600 * spellcheck.h (class best_match): Prefer a difference in
20601 trailing sign symbol.
20602
20603 2022-06-16 liuhongt <hongtao.liu@intel.com>
20604
20605 PR tree-optimization/53533
20606 * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
20607 (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
20608 and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
20609
20610 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20611
20612 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
20613
20614 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20615
20616 * config/xtensa/predicates.md (reload_operand):
20617 New predicate.
20618 * config/xtensa/xtensa.md: New peephole2 pattern.
20619
20620 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20621
20622 * config/xtensa/xtensa.md (*round_up_to_even):
20623 New insn-and-split pattern.
20624 (*signed_ge_zero): Ditto.
20625
20626 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20627
20628 * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
20629 xtensa_emit_sibcall): New prototypes.
20630 (xtensa_expand_epilogue): Add new argument that specifies whether
20631 or not sibling call.
20632 * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
20633 New macro definition.
20634 (xtensa_prepare_expand_call): New function in order to share
20635 the common code.
20636 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
20637 New functions.
20638 (xtensa_expand_epilogue): Add new argument sibcall_p and use it
20639 for sibling call handling.
20640 * config/xtensa/xtensa.md (call, call_value):
20641 Use xtensa_prepare_expand_call.
20642 (call_internal, call_value_internal):
20643 Add the condition in order to be disabled if sibling call.
20644 (sibcall, sibcall_value, sibcall_epilogue): New expansions.
20645 (sibcall_internal, sibcall_value_internal): New insn patterns,
20646 and split ones in order to take care of the indirect sibcalls.
20647
20648 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20649
20650 * doc/invoke.texi: Document -mextra-l32r-costs= option.
20651
20652 2022-06-15 David Malcolm <dmalcolm@redhat.com>
20653
20654 PR analyzer/105962
20655 * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
20656 * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
20657 Extend -fdiagnostics-path-format=separate-events so that with
20658 -fdiagnostics-show-path-depths it prints fndecls as well as stack
20659 depths.
20660
20661 2022-06-15 David Malcolm <dmalcolm@redhat.com>
20662
20663 * value-relation.h: Add "final" and "override" to relation_oracle
20664 vfunc implementations as appropriate.
20665
20666 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
20667
20668 PR middle-end/105975
20669 Revert everything apart from the expand_fn_using_insn and
20670 expand_direct_optab_fn changes from:
20671 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
20672 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
20673 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
20674 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
20675 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
20676 member variable.
20677 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
20678 (direct_internal_fn_p): Also return true for internal functions
20679 that map directly to instructions defined target-insns.def.
20680 (direct_internal_fn): Adjust comment accordingly.
20681 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
20682 (vectorizable_optab2): New local macros.
20683 (not_direct): Initialize directly_mapped.
20684 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
20685 (gather_load_direct, len_load_direct, mask_store_direct)
20686 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
20687 (vec_cond_direct, scatter_store_direct, len_store_direct)
20688 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
20689 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
20690 (while_direct, fold_extract_direct, fold_left_direct)
20691 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
20692 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
20693 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
20694 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
20695 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
20696 (direct_internal_fn_types): Handle functions that map to instructions
20697 defined in target-insns.def.
20698 (direct_internal_fn_types): Likewise.
20699 (direct_internal_fn_supported_p): Likewise.
20700 (internal_fn_expanders): Likewise.
20701 (expand_fn_using_insn): New function,
20702 split out and adapted from...
20703 (expand_direct_optab_fn): ...here.
20704 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
20705 (expand_GOMP_SIMT_EXIT): Likewise.
20706 (expand_GOMP_SIMT_LANE): Likewise.
20707 (expand_GOMP_SIMT_LAST_LANE): Likewise.
20708 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
20709 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
20710 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
20711 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
20712
20713 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
20714
20715 PR target/105981
20716 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
20717 to first_reg and second_reg respectively. Initialize them correctly
20718 when generating big-endian code.
20719
20720 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
20721
20722 PR target/105974
20723 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
20724
20725 2022-06-15 Richard Biener <rguenther@suse.de>
20726
20727 PR tree-optimization/105971
20728 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
20729 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
20730 to leak less surprising alias results.
20731
20732 2022-06-15 Richard Biener <rguenther@suse.de>
20733
20734 PR tree-optimization/105969
20735 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
20736 by zero in overflow check.
20737
20738 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
20739
20740 PR tree-optimization/105254
20741 PR tree-optimization/105940
20742 Revert:
20743 * config/aarch64/aarch64.cc
20744 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
20745 loop_vec_info as argument. Restrict the unroll factor to values
20746 that divide the VF.
20747 (aarch64_vector_costs::finish_cost): Update call accordingly.
20748
20749 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
20750
20751 * read-rtl.cc (find_int): Substitute symbolic constants
20752 before converting the string to an integer.
20753
20754 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
20755 Richard Biener <rguenther@suse.de>
20756
20757 * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
20758 left shifts by a constant when the result is truncated, and the
20759 shift constant is well-defined.
20760 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
20761 support for rotations of signed integer types, by lowering
20762 using unsigned vector shifts.
20763
20764 2022-06-15 liuhongt <hongtao.liu@intel.com>
20765
20766 PR target/105953
20767 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
20768 operands[3].
20769
20770 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
20771
20772 PR rtl-optimization/105041
20773 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
20774
20775 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
20776
20777 * config/rs6000/vsx.md (VS_scalar): Delete.
20778 (rest of file): Adjust.
20779
20780 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
20781
20782 PR ipa/105739
20783 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
20784
20785 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
20786
20787 * config/riscv/bitmanip.md: Add split to handle opportunities
20788 for slli + sh[123]add.uw
20789
20790 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
20791
20792 * config/riscv/predicates.md (consecutive_bits_operand):
20793 Implement new predicate.
20794
20795 2022-06-14 Richard Biener <rguenther@suse.de>
20796
20797 PR tree-optimization/105946
20798 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
20799 Do not look at arguments not specified in the function call.
20800
20801 2022-06-14 Richard Biener <rguenther@suse.de>
20802
20803 PR middle-end/105965
20804 * match.pd (view_convert CONSTRUCTOR): Handle single-element
20805 CTOR case.
20806
20807 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
20808
20809 * warning-control.cc (copy_warning) [generic version]: Do not erase
20810 the warning data of the destination location when the no-warning
20811 bit is not set on the source.
20812 (copy_warning) [tree version]: Return early if TO is equal to FROM.
20813 (copy_warning) [gimple version]: Likewise.
20814
20815 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
20816
20817 PR tree-optimization/105940
20818 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
20819 applying suggested_unroll_factor after start_over.
20820
20821 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20822
20823 * config/xtensa/predicates.md (shifted_mask_operand):
20824 New predicate.
20825 * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
20826 New insn-and-split pattern.
20827 (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
20828 *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
20829 *masktrue_const_shifted_mask): Ditto.
20830
20831 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20832
20833 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
20834
20835 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20836
20837 * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
20838 Remove the first argument.
20839 (xtensa_emit_bit_branch): Remove it because now called only from the
20840 output statement of *bittrue insn pattern.
20841 * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
20842 argument 'p_invert', and make so that the condition is reversed by
20843 itself as needed.
20844 (xtensa_expand_conditional_branch): Share the common path, and remove
20845 condition inversion code.
20846 (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
20847 "false side" pattern.
20848 (xtensa_emit_bit_branch): Remove it because of the abovementioned
20849 reason, and move the function body to *bittrue insn pattern.
20850 * config/xtensa/xtensa.md (*bittrue): Transplant the output
20851 statement from removed xtensa_emit_bit_branch().
20852 (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
20853 insn patterns.
20854
20855 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20856
20857 * config/xtensa/predicates.md (logical_shift_operator,
20858 xtensa_shift_per_byte_operator): New predicates.
20859 * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
20860 New prototype.
20861 * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
20862 New helper function for funnel shift patterns.
20863 * config/xtensa/xtensa.md (ior_op): New code iterator.
20864 (*ashlsi3_1): Replace with new split pattern.
20865 (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
20866 (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
20867 New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
20868 in order to omit unnecessary bitwise AND operation.
20869 (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
20870 *shlrd_per_byte_<code>_omit_AND):
20871 New insn patterns for funnel shifts.
20872
20873 2022-06-13 Jason Merrill <jason@redhat.com>
20874
20875 * tree-cfg.cc (pass_warn_function_return::execute): Also check
20876 BUILT_IN_TRAP.
20877
20878 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
20879
20880 * config/riscv/riscv.md (length): Remove the explicit setting
20881 for "fcmp".
20882
20883 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
20884
20885 * common/config/i386/cpuinfo.h (get_available_features): Require
20886 AVX for F16C and VAES.
20887
20888 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
20889
20890 PR target/105927
20891 * config/i386/predicates.md (register_no_elim_operand):
20892 Return true for subreg of a memory operand.
20893
20894 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
20895
20896 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
20897 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
20898 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
20899 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
20900 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
20901 member variable.
20902 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
20903 (direct_internal_fn_p): Also return true for internal functions
20904 that map directly to instructions defined target-insns.def.
20905 (direct_internal_fn): Adjust comment accordingly.
20906 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
20907 (vectorizable_optab2): New local macros.
20908 (not_direct): Initialize directly_mapped.
20909 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
20910 (gather_load_direct, len_load_direct, mask_store_direct)
20911 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
20912 (vec_cond_direct, scatter_store_direct, len_store_direct)
20913 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
20914 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
20915 (while_direct, fold_extract_direct, fold_left_direct)
20916 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
20917 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
20918 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
20919 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
20920 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
20921 (direct_internal_fn_types): Handle functions that map to instructions
20922 defined in target-insns.def.
20923 (direct_internal_fn_types): Likewise.
20924 (direct_internal_fn_supported_p): Likewise.
20925 (internal_fn_expanders): Likewise.
20926
20927 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
20928
20929 * internal-fn.cc (expand_fn_using_insn): New function,
20930 split out and adapted from...
20931 (expand_direct_optab_fn): ...here.
20932 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
20933 (expand_GOMP_SIMT_EXIT): Likewise.
20934 (expand_GOMP_SIMT_LANE): Likewise.
20935 (expand_GOMP_SIMT_LAST_LANE): Likewise.
20936 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
20937 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
20938 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
20939 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
20940
20941 2022-06-13 Jakub Jelinek <jakub@redhat.com>
20942
20943 * omp-expand.cc (expand_omp_target): Remap user provided
20944 device clause arguments, -1 to -2 and -2 to -3, either
20945 at compile time if constant, or at runtime.
20946
20947 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
20948
20949 * common.opt (finstrument-functions): Set explicit value.
20950 (-finstrument-functions-once): New option.
20951 * doc/invoke.texi (Program Instrumentation Options): Document it.
20952 * gimplify.cc (build_instrumentation_call): New static function.
20953 (gimplify_function_tree): Call it to emit the instrumentation calls
20954 if -finstrument-functions[-once] is specified.
20955
20956 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
20957
20958 * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
20959 * gimple.h (gimple_set_location): Do not copy warning data from
20960 the previous location when it is UNKNOWN_LOCATION.
20961 * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
20962
20963 2022-06-13 Jakub Jelinek <jakub@redhat.com>
20964
20965 PR target/105911
20966 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
20967 *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
20968 (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
20969 operands[3] unmodified.
20970
20971 2022-06-12 Simon Wright <simon@pushface.org>
20972
20973 PR target/104871
20974 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
20975 version is darwin20 (macOS 11) or greater, truncate the version to the
20976 major number.
20977
20978 2022-06-12 Mark Mentovai <mark@mentovai.com>
20979
20980 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
20981
20982 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
20983
20984 PR target/96463
20985 * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
20986 (svld1rq_impl::fold): Define.
20987 * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
20988 op_mode and op_vec_flags.
20989 (aarch64_evpc_reencode): Initialize newd.op_mode and
20990 newd.op_vec_flags.
20991 (aarch64_evpc_sve_dup): New function.
20992 (aarch64_expand_vec_perm_const_1): Gate existing calls to
20993 aarch64_evpc_* functions under d->vmode == d->op_mode,
20994 and call aarch64_evpc_sve_dup.
20995 (aarch64_vectorize_vec_perm_const): Remove assert
20996 d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
20997 * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
20998 vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
20999 constant.
21000
21001 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21002
21003 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
21004 New prototype.
21005 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
21006 xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
21007 xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
21008 New backend functions that process the abovementioned logic.
21009 (xtensa_emit_move_sequence): Revert the previous changes.
21010 * config/xtensa/xtensa.md: New split patterns for integer
21011 and floating-point, as the frontend part.
21012
21013 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21014
21015 * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
21016 for ABS and NEG, add missing case for BSWAP and CLRSB, and
21017 double the costs for integer divisions using libfuncs if
21018 optimizing for speed, in order to take advantage of fast constant
21019 division by multiplication.
21020 (TARGET_INSN_COST): New macro definition.
21021 (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
21022 calculating relative costs of a RTL insns, for both of speed and
21023 size.
21024 * config/xtensa/xtensa.md (return, nop, trap): Correct values of
21025 the attribute "length" that depends on TARGET_DENSITY.
21026 (define_asm_attributes, blockage, frame_blockage): Add missing
21027 attributes.
21028 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
21029 dependent option, however, preparatory work for now.
21030
21031 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21032
21033 * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
21034 Pass through the block length / loop count conditions if
21035 zero-overhead looping is configured and active,
21036
21037 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21038
21039 * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
21040 Split into individual signedness, in order to use libcall
21041 "__umulsidi3" but not the other.
21042 (<u>mulhisi3): Merge into one by using code iterator.
21043 (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
21044
21045 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
21046
21047 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
21048 not generate block copies with vector pair instructions if we are
21049 tuning for power10.
21050
21051 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
21052
21053 PR rtl-optimization/7061
21054 * expr.cc (emit_group_store): For groups that consist of a single
21055 scalar integer register that hold a complex mode value, use
21056 gen_lowpart to generate a SUBREG to "view_convert" to the complex
21057 mode. For modes of different sizes, first convert to an integer
21058 mode of the appropriate size.
21059
21060 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21061
21062 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
21063
21064 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21065
21066 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
21067 New insn_and_split pattern.
21068
21069 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21070
21071 * config/xtensa/xtensa.md (one_cmplsi2):
21072 Rearrange as an insn_and_split pattern.
21073
21074 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21075
21076 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
21077
21078 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
21079
21080 * config/rs6000/rs6000.md (FP_ISA3): Delete.
21081 (float<QHI:mode><FP_ISA3:mode>2): Rename to...
21082 (float<QHI:mode><SFDF:mode>2): ... this. Adjust.
21083 (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
21084 (*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
21085 (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
21086 (floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust.
21087 (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
21088 (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
21089
21090 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
21091
21092 * config/riscv/riscv.md
21093 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
21094 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
21095 rather than space with FSFLAGS.
21096
21097 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
21098
21099 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
21100 omp_discover_declare_target_fn_r): Don't walk reverse-offload
21101 target regions.
21102
21103 2022-06-09 Jakub Jelinek <jakub@redhat.com>
21104
21105 * doc/invoke.texi (-Waddress): Fix a typo in small example.
21106 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
21107
21108 2022-06-09 Cui,Lili <lili.cui@intel.com>
21109
21110 PR target/105493
21111 * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
21112 from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
21113 unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
21114 (icelake_cost): Ditto.
21115 (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
21116 stores and unaligned stores cost from {6, 6, 6, 10, 15} to
21117 {8, 8, 8, 10, 15}.
21118
21119 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
21120
21121 * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
21122 and ior insns to one rotate and mask insn.
21123 (define_split for bswapdi register): Likewise.
21124
21125 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
21126
21127 PR middle-end/105874
21128 * expr.cc (expand_expr_real_1) <normal_inner_ref>: New local
21129 variable tem_modifier for calculating the expand_modifier enum to
21130 use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY.
21131
21132 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
21133
21134 PR target/105879
21135 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
21136 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
21137 'gen_highpart' bitwise semantics and fix order of highpart and
21138 lowpart depending on target endianness.
21139
21140 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
21141
21142 * config/arm/arm-cpus.in (star-mc1): New cpu.
21143 * config/arm/arm-tables.opt: Regenerate.
21144 * config/arm/arm-tune.md: Regenerate.
21145 * doc/invoke.texi: Update docs.
21146
21147 2022-06-08 liuhongt <hongtao.liu@intel.com>
21148
21149 PR target/105513
21150 PR target/105504
21151 * config/i386/i386.md (*movsi_internal): Change alternative
21152 from *v to ?v.
21153 (*movdi_internal): Ditto.
21154 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
21155 to ?r.
21156 (*vec_extractv4sf_mem): Ditto.
21157 (*vec_extracthf): Ditto.
21158
21159 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
21160
21161 PR target/105090
21162 * config/arm/arm.cc (arm_bfi_1_p): New function.
21163 (arm_bfi_p): New function.
21164 (arm_rtx_costs_internal): Add costs for BFI idioms.
21165 (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
21166 * config/arm/constraints.md (Dj): New constraint.
21167 * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
21168 (insv_zero): Convert to an insn with a split.
21169 (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
21170
21171 2022-06-07 liuhongt <hongtao.liu@intel.com>
21172
21173 PR target/105854
21174 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
21175 from Yv to Yw.
21176
21177 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
21178
21179 PR middle-end/105853
21180 PR target/105856
21181 * calls.cc (load_register_parameters): Call store_constructor
21182 and int_expr_size directly instead of expanding via expand_expr.
21183 * expr.cc (static void store_constructor): Don't prototype here.
21184 (static HOST_WIDE_INT int_expr_size): Likewise.
21185 (store_constructor): No longer static.
21186 (int_expr_size): Likewise, no longer static.
21187 * expr.h (store_constructor): Prototype here.
21188 (int_expr_size): Prototype here.
21189
21190 2022-06-07 Jan Beulich <jbeulich@suse.com>
21191
21192 Revert:
21193 2022-06-03 Jan Beulich <jbeulich@suse.com>
21194
21195 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
21196 * configure.ac: Check for objcopy, producing
21197 ORIGINAL_OBJCOPY_FOR_TARGET.
21198 * configure: Update accordingly.
21199 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
21200 Handle objcopy.
21201
21202 2022-06-07 Jakub Jelinek <jakub@redhat.com>
21203
21204 * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
21205 * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
21206 Adjust clause printing style depending on
21207 OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
21208
21209 2022-06-07 Jan Beulich <jbeulich@suse.com>
21210
21211 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
21212 Change type.
21213 * config/i386/i386-builtin-types.def: New function type
21214 (V4DI, V32QI, V32QI).
21215 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
21216 V4DI_FTYPE_V32QI_V32QI.
21217
21218 2022-06-07 Jan Beulich <jbeulich@suse.com>
21219
21220 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
21221 into account for reg-only insns.
21222
21223 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
21224
21225 * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
21226 IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
21227 TARGET_CMOVE's (scalar integer) conditional moves.
21228 * config/i386/sse.md (define_split): Recognize XOP's vpcmov
21229 from its equivalent (canonical) pxor;pand;pxor sequence.
21230
21231 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
21232
21233 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
21234 parameter ORDER.
21235
21236 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
21237
21238 * config.in: Regenerate.
21239 * configure: Regenerate.
21240 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
21241
21242 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
21243
21244 PR middle-end/95126
21245 * calls.cc (load_register_parameters): When loading a suitable
21246 immediate_const_ctor_p VAR_DECL into a single word_mode register,
21247 construct it directly in a pseudo rather than read it (by parts)
21248 from memory.
21249 * expr.cc (int_expr_size): Make tree argument a const_tree.
21250 (immediate_const_ctor_p): Helper predicate. Return true for
21251 simple constructors that may be materialized in a register.
21252 (expand_expr_real_1) [VAR_DECL]: When expanding a constant
21253 VAR_DECL with a suitable immediate_const_ctor_p constructor
21254 use store_constructor to materialize it directly in a pseudo.
21255 * expr.h (immediate_const_ctor_p): Prototype here.
21256 * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
21257 VALUE argument from tree to const_tree.
21258 * varasm.h (initializer_constant_valid_for_bitfield_p): Update
21259 prototype.
21260
21261 2022-06-04 Jakub Jelinek <jakub@redhat.com>
21262
21263 PR target/105825
21264 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
21265 *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
21266 bits of mask aren't all set, use operands[2] mode for the AND
21267 operation instead of always SImode.
21268
21269 2022-06-03 Jakub Jelinek <jakub@redhat.com>
21270
21271 PR middle-end/30314
21272 PR middle-end/105777
21273 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
21274 x > stype_max / cst || x < stype_min / cst): New simplification.
21275
21276 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
21277
21278 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
21279 Value_Range.
21280 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
21281 * value-range.h (Value_Range::Value_Range): Implement copy
21282 constructor for Value_Range.
21283
21284 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
21285
21286 * value-range.h (struct vrange_traits): Remove.
21287 (is_a): Rewrite without vrange_traits.
21288 (as_a): Same.
21289
21290 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
21291
21292 * value-range.cc (vrange::contains_p): Implement.
21293 (vrange::type): Return void.
21294 (vrange::supports_type_p): Implement.
21295 (irange::fits_p): Same.
21296 (vrange::set_undefined): Same.
21297 (irange::set_nonnegative): Same.
21298 (vrange::set_varying): Same.
21299 (vrange::union_): Same.
21300 (unsupported_range::set): Move to vrange.
21301 (unsupported_range::type): Move to vrange.
21302 (vrange::intersect): Implement for varying and undefined.
21303 (vrange::zero_p): Implement.
21304 (unsupported_range::supports_type_p): Move to vrange.
21305 (vrange::nonzero_p): Implement.
21306 (unsupported_range::set_undefined): Move to vrange.
21307 (unsupported_range::set_varying): Same.
21308 (unsupported_range::dump): Same.
21309 (unsupported_range::union_): Same. Implement for varying and
21310 undefined.
21311 (unsupported_range::intersect): Move to vrange.
21312 (unsupported_range::zero_p): Same.
21313 (unsupported_range::nonzero_p): Same.
21314 (unsupported_range::set_nonzero): Same.
21315 (unsupported_range::set_zero): Same.
21316 (unsupported_range::set_nonnegative): Same.
21317 (unsupported_range::fits_p): Same.
21318 * value-range.h (class vrange): Remove abstract markers for most
21319 methods.
21320 (class unsupported_range): Remove most methods as they will now be
21321 inherited from vrange.
21322
21323 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
21324
21325 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
21326 an object level supports_type_p for irange and a static
21327 Value_Range::supports_type_p.
21328 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
21329 (fold_using_range::range_of_address): Same.
21330 (fold_using_range::range_of_builtin_call): Same.
21331 * gimple-range-fold.h (gimple_range_type): Same.
21332 (gimple_range_ssa_p): Same.
21333 * gimple-range-path.cc (path_range_query::internal_range_of_expr):
21334 Same.
21335 (path_range_query::range_of_stmt): Same.
21336 (path_range_query::add_to_imports): Same.
21337 * gimple-range.cc (gimple_ranger::range_on_edge): Same.
21338 (gimple_ranger::export_global_ranges): Same.
21339 * gimple-ssa-evrp-analyze.cc
21340 (evrp_range_analyzer::record_ranges_from_phis): Same.
21341 * range-op.cc (range_operator::wi_fold): Same.
21342 (range_operator::fold_range): Same.
21343 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
21344 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
21345 (evaluate_control_stmt_using_entry_checks): Same.
21346 * tree-ssa-threadedge.cc
21347 (hybrid_jt_simplifier::compute_ranges_from_state): Same.
21348 * tree-vrp.cc (supported_types_p): Same.
21349 * value-query.cc (range_query::value_of_expr): Same.
21350 (range_query::value_on_edge): Same.
21351 (range_query::value_of_stmt): Same.
21352 (range_query::get_tree_range): Same.
21353 (get_range_global): Same.
21354 (global_range_query::range_of_expr): Same.
21355 * value-range-equiv.h (class value_range_equiv): Same.
21356 * value-range.cc (irange::supports_type_p): Same.
21357 (unsupported_range::supports_type_p): Same.
21358 * value-range.h (enum value_range_discriminator): Same.
21359 (Value_Range::init): Same.
21360 (Value_Range::supports_type_p): Same.
21361 (irange::supports_type_p): Same.
21362 (irange::supports_p): Same.
21363 (vrange::supports_type_p): Same.
21364 (vrange_allocator::alloc_vrange): Same.
21365
21366 2022-06-03 Jan Beulich <jbeulich@suse.com>
21367
21368 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
21369 * configure.ac: Check for objcopy, producing
21370 ORIGINAL_OBJCOPY_FOR_TARGET.
21371 * configure: Update accordingly.
21372 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
21373 Handle objcopy.
21374
21375 2022-06-03 Jan Beulich <jbeulich@suse.com>
21376
21377 * config/i386/mmx.md (mmx_psadbw): Convert to expander.
21378 (*mmx_psadbw): New. Mark as commutative.
21379 * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
21380 (*<sse2_avx2>_psadbw): New. Mark as commutative.
21381
21382 2022-06-03 Alexandre Oliva <oliva@adacore.com>
21383
21384 PR tree-optimization/105665
21385 PR tree-optimization/100810
21386 * tree-ssa-loop-ivopts.cc
21387 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
21388 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
21389 (find_ssa_undef): Check precomputed flag and intervening uses.
21390 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
21391
21392 2022-06-02 David Malcolm <dmalcolm@redhat.com>
21393
21394 * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
21395 tree-logical-location.o.
21396 (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
21397 (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
21398 * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
21399 (sarif-stderr, sarif-file): New enum values.
21400 * diagnostic-client-data-hooks.h: New file.
21401 * diagnostic-format-sarif.cc: New file.
21402 * diagnostic-path.h (enum diagnostic_event::verb): New enum.
21403 (enum diagnostic_event::noun): New enum.
21404 (enum diagnostic_event::property): New enum.
21405 (struct diagnostic_event::meaning): New struct.
21406 (diagnostic_event::get_logical_location): New vfunc.
21407 (diagnostic_event::get_meaning): New vfunc.
21408 (simple_diagnostic_event::get_logical_location): New vfunc impl.
21409 (simple_diagnostic_event::get_meaning): New vfunc impl.
21410 * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
21411 (diagnostic_initialize): Initialize m_client_data_hooks.
21412 (diagnostic_finish): Clean up m_client_data_hooks.
21413 (diagnostic_event::meaning::dump_to_pp): New.
21414 (diagnostic_event::meaning::maybe_get_verb_str): New.
21415 (diagnostic_event::meaning::maybe_get_noun_str): New.
21416 (diagnostic_event::meaning::maybe_get_property_str): New.
21417 (get_cwe_url): Make non-static.
21418 (diagnostic_output_format_init): Handle
21419 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
21420 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
21421 * diagnostic.h (enum diagnostics_output_format): Add
21422 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
21423 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
21424 (class diagnostic_client_data_hooks): New forward decl.
21425 (class logical_location): New forward decl.
21426 (diagnostic_context::m_client_data_hooks): New field.
21427 (diagnostic_output_format_init_sarif_stderr): New decl.
21428 (diagnostic_output_format_init_sarif_file): New decl.
21429 (get_cwe_url): New decl.
21430 * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
21431 sarif-file.
21432 * doc/sourcebuild.texi (Scan a particular file): Add
21433 scan-sarif-file and scan-sarif-file-not.
21434 * langhooks-def.h (lhd_get_sarif_source_language): New decl.
21435 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
21436 (LANG_HOOKS_INITIALIZER): Add
21437 LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
21438 * langhooks.cc (lhd_get_sarif_source_language): New.
21439 * langhooks.h (lang_hooks::get_sarif_source_language): New field.
21440 * logical-location.h: New file.
21441 * plugin.cc (struct for_each_plugin_closure): New.
21442 (for_each_plugin_cb): New.
21443 (for_each_plugin): New.
21444 * plugin.h (for_each_plugin): New decl.
21445 * tree-diagnostic-client-data-hooks.cc: New file.
21446 * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
21447 (tree_diagnostics_defaults): Populate m_client_data_hooks.
21448 * tree-logical-location.cc: New file.
21449 * tree-logical-location.h: New file.
21450
21451 2022-06-02 David Malcolm <dmalcolm@redhat.com>
21452
21453 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
21454 to description.
21455 (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
21456 (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
21457 (diagnostics_output_format): Add json-stderr and json-file.
21458 * diagnostic-format-json.cc (json_flush_to_file): New.
21459 (json_final_cb): Convert to...
21460 (json_flush_to_file): ...this, ...
21461 (json_stderr_final_cb): ...this, and...
21462 (json_file_final_cb): ...this.
21463 (diagnostic_output_format_init): Move to diagnostic.cc.
21464 (json_output_base_file_name): New.
21465 (diagnostic_output_format_init_json): New.
21466 (diagnostic_output_format_init_json_stderr): New.
21467 (diagnostic_output_format_init_json_file): New.
21468 * diagnostic.cc (diagnostic_output_format_init): Move here from
21469 diagnostic-format-json.cc; update for changes to enum.
21470 * diagnostic.h (enum diagnostics_output_format): Rename
21471 DIAGNOSTICS_OUTPUT_FORMAT_JSON to
21472 DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
21473 DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
21474 (diagnostic_output_format_init): Add base_file_name param.
21475 (diagnostic_output_format_init_json_stderr): New decl.
21476 (diagnostic_output_format_init_json_file): New dec.
21477 * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
21478 "json-file". Rewrite so that the existing "json" is a synonym of
21479 "json-stderr".
21480 * gcc.cc (driver_handle_option): Pass dump_base_name to
21481 diagnostic_output_format_init.
21482 * opts.cc (common_handle_option): Likewise.
21483
21484 2022-06-02 David Malcolm <dmalcolm@redhat.com>
21485
21486 * json.cc (string::print): Fix escaping of '\'.
21487
21488 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
21489
21490 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
21491 (-1 << 31) for the single-bit case, when operating on (1 << 31)
21492 in SImode.
21493 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
21494 any single-bit value, moving the special case for (1 << 31) to
21495 riscv_build_integer_1 (in riscv.c).
21496
21497 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
21498
21499 PR target/105791
21500 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
21501 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
21502
21503 2022-06-02 Jakub Jelinek <jakub@redhat.com>
21504
21505 PR target/105778
21506 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
21507 from AND and its operands and just verify operands[2] has HImode,
21508 SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask
21509 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
21510 just throw away the masking. Use force_reg before calling
21511 gen_lowpart.
21512 (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
21513 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
21514 just throw away the masking.
21515 (*ashl<mode>3_doubleword): Rename to ...
21516 (ashl<mode>3_doubleword): ... this.
21517 (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
21518 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
21519 Use force_reg before calling gen_lowpart.
21520 (*<insn><mode>3_mask): Likewise.
21521 (*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be
21522 a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
21523 case just throw away the masking. Use force_reg before calling
21524 gen_lowpart.
21525 (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
21526 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
21527 throw away the masking.
21528 (*<insn><mode>3_doubleword): Rename to ...
21529 (<insn><mode>3_doubleword): ... this.
21530 (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
21531 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
21532 Use force_reg before calling gen_lowpart.
21533 (splitter after it): Remove :SI from AND and its operands and just
21534 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
21535 (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
21536 operands and just verify operands[1] has HImode, SImode or for
21537 TARGET_64BIT DImode. Use force_reg before calling gen_lowpart.
21538 (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
21539 * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
21540 ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
21541
21542 2022-06-02 Richard Biener <rguenther@suse.de>
21543
21544 PR tree-optimization/101668
21545 * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
21546 for vector types with compatible lane types.
21547 (vect_build_slp_tree_2): Deal with this.
21548 (vect_add_slp_permutation): Adjust. Emit lowpart/concat
21549 special cases without VEC_PERM.
21550 (vectorizable_slp_permutation): Select the operand vector
21551 type and relax requirements. Handle identity permutes
21552 with mismatching operand types.
21553 * optabs-query.cc (can_vec_perm_const_p): Only allow variable
21554 permutes for op_mode == mode.
21555
21556 2022-06-02 Richard Biener <rguenther@suse.de>
21557
21558 PR tree-optimization/105802
21559 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
21560 Make sure to also compute the range in the type of the switch index.
21561
21562 2022-06-01 David Seifert <soap@gentoo.org>
21563
21564 PR plugins/95648
21565 * configure: Regenerate.
21566
21567 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
21568
21569 PR rtl-optimization/105638
21570 * df-core.cc (df_find_single_def_src): Moved and renamed from
21571 find_single_def_src in loop-iv.cc. Change the argument to rtx
21572 and use rtx_equal_p. Return null for partial or conditional
21573 defs.
21574 * df.h (df_find_single_def_src): New prototype.
21575 * dse.cc (record_store): Use the constant source if the source
21576 register is set only once.
21577 * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
21578 (replace_single_def_regs): Replace find_single_def_src with
21579 df_find_single_def_src.
21580
21581 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
21582
21583 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
21584 selected_tune.
21585 (explicit_arch): Rename to selected_arch.
21586 (x_aarch64_override_tune_string): Remove.
21587 (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
21588 (aarch64_override_tune_string): Add Save so it gets saved/restored.
21589 * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
21590 * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
21591 (processor): Remove archtecture_version field.
21592 (selected_arch): Remove global.
21593 (selected_cpu): Remove global.
21594 (selected_tune): Remove global.
21595 (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
21596 (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
21597 (aarch64_override_options): Further simplify code to only set
21598 selected_arch and selected_tune globals.
21599 (aarch64_option_save): Remove now that target options are saved.
21600 (aarch64_option_restore): Remove redundant target option restores.
21601 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
21602 AARCH64_ISA_V9.
21603 * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
21604 * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
21605 (aarch64_ra_sign_key): Remove.
21606
21607 2022-06-01 Jakub Jelinek <jakub@redhat.com>
21608
21609 PR middle-end/30314
21610 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
21611 x > ~(utype)0 / cst): New simplification.
21612
21613 2022-06-01 Richard Biener <rguenther@suse.de>
21614
21615 PR tree-optimization/105786
21616 * tree-loop-distribution.cc
21617 (loop_distribution::transform_reduction_loop): Only do strlen
21618 replacement for integer type reductions.
21619
21620 2022-06-01 Jakub Jelinek <jakub@redhat.com>
21621
21622 PR tree-optimization/105770
21623 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
21624 CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
21625
21626 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
21627
21628 * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
21629 (sbr_vector::sbr_vector): Same.
21630 (sbr_vector::grow): Same.
21631 (sbr_vector::set_bb_range): Same.
21632 (sbr_vector::get_bb_range): Same.
21633 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
21634 (sbr_sparse_bitmap::set_bb_range): Same.
21635 (sbr_sparse_bitmap::get_bb_range): Same.
21636 (block_range_cache::set_bb_range): Same.
21637 (block_range_cache::get_bb_range): Same.
21638 (block_range_cache::dump): Same.
21639 (ssa_global_cache::get_global_range): Same.
21640 (ssa_global_cache::set_global_range): Same.
21641 (ssa_global_cache::clear): Same.
21642 (ssa_global_cache::dump): Same.
21643 (ranger_cache::get_global_range): Same.
21644 (ranger_cache::set_global_range): Same.
21645 (ranger_cache::range_of_def): Same.
21646 (ranger_cache::entry_range): Same.
21647 (ranger_cache::exit_range): Same.
21648 (ranger_cache::edge_range): Same.
21649 (ranger_cache::range_of_expr): Same.
21650 (ranger_cache::range_on_edge): Same.
21651 (ranger_cache::block_range): Same.
21652 (ranger_cache::propagate_cache): Same.
21653 (ranger_cache::fill_block_cache): Same.
21654 (ranger_cache::range_from_dom): Same.
21655 * gimple-range-cache.h: Same.
21656 * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
21657 Same.
21658 (gimple_outgoing_range::switch_edge_range): Same.
21659 (gimple_outgoing_range::edge_range_p): Same.
21660 * gimple-range-edge.h: Same.
21661 * gimple-range-fold.cc (fur_source::get_operand): Same.
21662 (fur_source::get_phi_operand): Same.
21663 (fur_edge::get_operand): Same.
21664 (fur_edge::get_phi_operand): Same.
21665 (fur_stmt::get_operand): Same.
21666 (fur_stmt::get_phi_operand): Same.
21667 (fur_list::fur_list): Same.
21668 (fur_list::get_operand): Same.
21669 (fur_list::get_phi_operand): Same.
21670 (fold_range): Same.
21671 (adjust_imagpart_expr): Same.
21672 (adjust_realpart_expr): Same.
21673 (gimple_range_adjustment): Same.
21674 (fold_using_range::fold_stmt): Same.
21675 (fold_using_range::range_of_range_op): Same.
21676 (fold_using_range::range_of_address): Same.
21677 (fold_using_range::range_of_phi): Same.
21678 (fold_using_range::range_of_call): Same.
21679 (fold_using_range::range_of_builtin_call): Same.
21680 (fold_using_range::range_of_builtin_int_call): Same.
21681 (fold_using_range::range_of_cond_expr): Same.
21682 (fur_source::register_outgoing_edges): Same.
21683 * gimple-range-fold.h (fold_range): Same.
21684 (gimple_range_type): Same.
21685 (gimple_range_ssa_p): Same.
21686 * gimple-range-gori.cc (gimple_range_calc_op1): Same.
21687 (gimple_range_calc_op2): Same.
21688 (gori_compute::compute_operand_range_switch): Same.
21689 (gori_compute::compute_operand_range): Same.
21690 (gori_compute::logical_combine): Same.
21691 (gori_compute::compute_logical_operands): Same.
21692 (gori_compute::compute_operand1_range): Same.
21693 (gori_compute::compute_operand2_range): Same.
21694 (gori_compute::compute_operand1_and_operand2_range): Same.
21695 (gori_compute::outgoing_edge_range_p): Same.
21696 (gori_compute::condexpr_adjust): Same.
21697 * gimple-range-gori.h (gimple_range_calc_op1): Same.
21698 (gimple_range_calc_op2): Same.
21699 * gimple-range-path.cc (path_range_query::get_cache): Same.
21700 (path_range_query::set_cache): Same.
21701 (path_range_query::range_on_path_entry): Same.
21702 (path_range_query::internal_range_of_expr): Same.
21703 (path_range_query::range_of_expr): Same.
21704 (path_range_query::ssa_range_in_phi): Same.
21705 (path_range_query::range_defined_in_block): Same.
21706 (path_range_query::compute_ranges_in_phis): Same.
21707 (path_range_query::compute_ranges_in_block): Same.
21708 (path_range_query::add_to_imports): Same.
21709 (path_range_query::range_of_stmt): Same.
21710 * gimple-range-path.h: Same.
21711 * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
21712 (gimple_infer_range::~side_effect_manager): Same.
21713 (gimple_infer_range::get_nonzero): Same.
21714 (gimple_infer_range::maybe_adjust_range): Same.
21715 (gimple_infer_range::add_range): Same.
21716 * gimple-range-infer.h: Same.
21717 * gimple-range-tests.cc: Same.
21718 * gimple-range-trace.cc (range_tracer::trailer): Same.
21719 (debug_seed_ranger): Same.
21720 * gimple-range-trace.h: Same.
21721 * gimple-range.cc (gimple_ranger::range_of_expr): Same.
21722 (gimple_ranger::range_on_entry): Same.
21723 (gimple_ranger::range_on_exit): Same.
21724 (gimple_ranger::range_on_edge): Same.
21725 (gimple_ranger::fold_range_internal): Same.
21726 (gimple_ranger::range_of_stmt): Same.
21727 (gimple_ranger::prefill_name): Same.
21728 (gimple_ranger::prefill_stmt_dependencies): Same.
21729 (gimple_ranger::export_global_ranges): Same.
21730 (gimple_ranger::dump_bb): Same.
21731 * gimple-range.h: Same.
21732 * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
21733 (memmodel_to_uhwi): Same.
21734 * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
21735 (determine_value_range): Same.
21736 (record_nonwrapping_iv): Same.
21737 (infer_loop_bounds_from_signedness): Same.
21738 (scev_var_range_cant_overflow): Same.
21739 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
21740 * value-query.cc (range_query::range_on_edge): Same.
21741 (range_query::range_of_stmt): Same.
21742 (range_query::value_of_expr): Same.
21743 (range_query::value_on_edge): Same.
21744 (range_query::value_of_stmt): Same.
21745 (range_query::get_tree_range): Same.
21746 (update_global_range): Same.
21747 (get_range_global): Same.
21748 (gimple_range_global): Same.
21749 (global_range_query::range_of_expr): Same.
21750 (range_query::query_relation): Same.
21751 * value-query.h (gimple_range_global): Same.
21752 (update_global_range): Same.
21753 * vr-values.cc (vr_values::range_of_expr): Same.
21754 (bounds_of_var_in_loop): Same.
21755 (simplify_using_ranges::vrp_visit_cond_stmt): Same.
21756 * vr-values.h (class vr_values): Same.
21757 * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
21758
21759 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
21760
21761 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
21762 vrange allocator.
21763 (sbr_vector::grow): Same.
21764 (sbr_vector::set_bb_range): Same.
21765 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
21766 (sbr_sparse_bitmap::set_bb_range): Same.
21767 (block_range_cache::~block_range_cache): Same.
21768 (block_range_cache::set_bb_range): Same.
21769 (ssa_global_cache::ssa_global_cache): Same.
21770 (ssa_global_cache::~ssa_global_cache): Same.
21771 (ssa_global_cache::set_global_range): Same.
21772 * gimple-range-cache.h (block_range_cache): Same.
21773 (ssa_global_cache): Same.
21774 * gimple-range-edge.cc
21775 (gimple_outgoing_range::calc_switch_ranges): Same.
21776 * gimple-range-edge.h (gimple_outgoing_range): Same.
21777 * gimple-range-infer.cc (infer_range_manager::get_nonzero):
21778 Same.
21779 (infer_range_manager::add_range): Same.
21780 * gimple-range-infer.h (class infer_range_manager): Same.
21781 * value-range.h (class irange_allocator): Rename to...
21782 (class vrange_allocator): ...this.
21783 (irange_allocator::irange_allocator): New.
21784 (vrange_allocator::vrange_allocator): New.
21785 (irange_allocator::~irange_allocator): New.
21786 (vrange_allocator::~vrange_allocator): New.
21787 (irange_allocator::get_memory): Rename to...
21788 (vrange_allocator::alloc): ...this.
21789 (vrange_allocator::alloc_vrange): Rename from...
21790 (irange_allocator::allocate): ...this.
21791 (vrange_allocator::alloc_irange): New.
21792
21793 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
21794
21795 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
21796 vrange and convert range_op_handler function calls to use the
21797 identically named object.
21798 * gimple-range-fold.cc (gimple_range_operand1): Same.
21799 (gimple_range_operand2): Same.
21800 (fold_using_range::fold_stmt): Same.
21801 (fold_using_range::range_of_range_op): Same.
21802 (fold_using_range::range_of_builtin_ubsan_call): Same.
21803 (fold_using_range::relation_fold_and_or): Same.
21804 (fur_source::register_outgoing_edges): Same.
21805 * gimple-range-fold.h (gimple_range_handler): Remove.
21806 * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
21807 (gimple_range_calc_op2): Same.
21808 (range_def_chain::get_def_chain): Same.
21809 (gori_compute::compute_operand_range): Same.
21810 (gori_compute::condexpr_adjust): Same.
21811 * gimple-range.cc (gimple_ranger::prefill_name): Same.
21812 (gimple_ranger::prefill_stmt_dependencies): Same.
21813 * range-op.cc (get_bool_state): Same.
21814 (class operator_equal): Add using clause.
21815 (class operator_not_equal): Same.
21816 (class operator_lt): Same.
21817 (class operator_le): Same.
21818 (class operator_gt): Same.
21819 (class operator_ge): Same.
21820 (class operator_plus): Same.
21821 (class operator_minus): Same.
21822 (class operator_mult): Same.
21823 (class operator_exact_divide): Same.
21824 (class operator_lshift): Same.
21825 (class operator_rshift): Same.
21826 (class operator_cast): Same.
21827 (class operator_logical_and): Same.
21828 (class operator_bitwise_and): Same.
21829 (class operator_logical_or): Same.
21830 (class operator_bitwise_or): Same.
21831 (class operator_bitwise_xor): Same.
21832 (class operator_trunc_mod): Same.
21833 (class operator_logical_not): Same.
21834 (class operator_bitwise_not): Same.
21835 (class operator_cst): Same.
21836 (class operator_identity): Same.
21837 (class operator_unknown): Same.
21838 (class operator_abs): Same.
21839 (class operator_negate): Same.
21840 (class operator_addr_expr): Same.
21841 (class pointer_or_operator): Same.
21842 (operator_plus::op1_range): Adjust for vrange.
21843 (operator_minus::op1_range): Same.
21844 (operator_mult::op1_range): Same.
21845 (operator_cast::op1_range): Same.
21846 (operator_bitwise_not::fold_range): Same.
21847 (operator_negate::fold_range): Same.
21848 (range_op_handler): Rename to...
21849 (get_handler): ...this.
21850 (range_op_handler::range_op_handler): New.
21851 (range_op_handler::fold_range): New.
21852 (range_op_handler::op1_range): New.
21853 (range_op_handler::op2_range): New.
21854 (range_op_handler::lhs_op1_relation): New.
21855 (range_op_handler::lhs_op2_relation): New.
21856 (range_op_handler::op1_op2_relation): New.
21857 (range_cast): Adjust for vrange.
21858 * range-op.h (range_op_handler): Remove function.
21859 (range_cast): Adjust for vrange.
21860 (class range_op_handler): New.
21861 (get_bool_state): Adjust for vrange.
21862 (empty_range_varying): Same.
21863 (relop_early_resolve): Same.
21864 * tree-data-ref.cc (compute_distributive_range): Same.
21865 * tree-vrp.cc (get_range_op_handler): Remove.
21866 (range_fold_binary_symbolics_p): Use range_op_handler class
21867 instead of get_range_op_handler.
21868 (range_fold_unary_symbolics_p): Same.
21869 (range_fold_binary_expr): Same.
21870 (range_fold_unary_expr): Same.
21871 * value-query.cc (range_query::get_tree_range): Adjust for vrange.
21872
21873 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
21874
21875 * gimple-range-fold.h (gimple_range_type): Check type before
21876 calling supports_type_p.
21877 * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
21878 * value-query.cc (range_query::get_tree_range): Same.
21879 * value-range.cc (Value_Range::lower_bound): New.
21880 (Value_Range::upper_bound): New.
21881 (Value_Range::dump): New.
21882 * value-range.h (class Value_Range): New.
21883 (irange::supports_type_p): Do not check if type is non-zero.
21884
21885 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
21886
21887 * value-range-equiv.cc (value_range_equiv::set): New.
21888 * value-range-equiv.h (class value_range_equiv): Make set method
21889 virtual.
21890 Remove default bitmap argument from set method.
21891 * value-range.cc (vrange::contains_p): New.
21892 (vrange::singleton_p): New.
21893 (vrange::operator=): New.
21894 (vrange::operator==): New.
21895 (irange::fits_p): Move to .cc file.
21896 (irange::set_nonnegative): New.
21897 (unsupported_range::unsupported_range): New.
21898 (unsupported_range::set): New.
21899 (unsupported_range::type): New.
21900 (unsupported_range::set_undefined): New.
21901 (unsupported_range::set_varying): New.
21902 (unsupported_range::dump): New.
21903 (unsupported_range::union_): New.
21904 (unsupported_range::intersect): New.
21905 (unsupported_range::zero_p): New.
21906 (unsupported_range::nonzero_p): New.
21907 (unsupported_range::set_nonzero): New.
21908 (unsupported_range::set_zero): New.
21909 (unsupported_range::set_nonnegative): New.
21910 (unsupported_range::fits_p): New.
21911 (irange::set): Call irange::set_undefined.
21912 (irange::verify_range): Check discriminator field.
21913 (irange::dump): Dump [irange] marker.
21914 (irange::debug): Move to...
21915 (vrange::debug): ...here.
21916 (dump_value_range): Accept vrange.
21917 (debug): Same.
21918 * value-range.h (enum value_range_discriminator): New.
21919 (class vrange): New.
21920 (class unsupported_range): New.
21921 (struct vrange_traits): New.
21922 (is_a): New.
21923 (as_a): New.
21924 (class irange): Inherit from vrange.
21925 (dump_value_range): Adjust for vrange.
21926 (irange::kind): Rename to...
21927 (vrange::kind): ...this.
21928 (irange::varying_p): Rename to...
21929 (vrange::varying_p): ...this.
21930 (irange::undefined_p): Rename to...
21931 (vrange::undefined_p): ...this.
21932 (irange::irange): Set discriminator.
21933 (irange::union_): Convert to irange before passing to irange
21934 method.
21935 (irange::intersect): Same.
21936 (vrange::supports_type_p): New.
21937 * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
21938 NULL bitmap argument to value_range_equiv::set.
21939 (vr_values::extract_range_basic): Same.
21940
21941 2022-06-01 Richard Biener <rguenther@suse.de>
21942
21943 PR tree-optimization/105763
21944 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
21945 Check gimple_range_ssa_p.
21946
21947 2022-05-31 Jason Merrill <jason@redhat.com>
21948
21949 * Makefile.in (TAGS): Look at libcpp/*.cc.
21950
21951 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
21952
21953 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
21954 Prefix mode names with E_.
21955
21956 2022-05-31 Alan Modra <amodra@gmail.com>
21957
21958 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
21959 spelling of DW_AT_namelist_item.
21960
21961 2022-05-31 Jakub Jelinek <jakub@redhat.com>
21962
21963 * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
21964 allow var to be private in the outer context.
21965 (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
21966 to build_outer_var_ref.
21967
21968 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
21969
21970 * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
21971 tieable with DImode on TARGET_64BIT, and SCmode tieable with
21972 V2SFmode, and DCmode with V2DFmode.
21973
21974 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
21975
21976 PR rtl-optimization/101617
21977 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
21978 special case (indicated by negate_cc_compare_p) to generate a
21979 -1/0 mask using neg;sbb.
21980 * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
21981 to generate an *x86_neg<mode>_ccc instruction.
21982 (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
21983 generate a *x86_mov<mode>cc_0_m1_neg instruction.
21984
21985 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
21986
21987 * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
21988 SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
21989 <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
21990
21991 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
21992
21993 PR target/70321
21994 * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
21995 DI mode equality/inequality using XOR here. Instead generate a
21996 COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
21997 * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
21998 gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
21999 (general_scalar_chain::convert_compare): New function to convert
22000 scalar equality/inequality comparison into vector operations.
22001 (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
22002 new convert_compare helper method.
22003 (convertible_comparion_p): Update to match doubleword COMPARE
22004 of two register, memory or integer constant operands.
22005 * config/i386/i386-features.h (general_scalar_chain::convert_compare):
22006 Prototype/declare member function here.
22007 * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
22008 only allow new doubleword modes for EQ and NE operators.
22009 (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
22010 doubleword comparison into a pair of XORs followed by an IOR to
22011 set the (zero) flags register, optimizing the XORs if possible.
22012 * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
22013 iterator; V_AVX is (currently) only used by ptest.
22014 (sse4_1 mode attribute): Update to support V1TI and V2TI.
22015
22016 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
22017
22018 * config/i386/i386.md: Remove constraints when used with
22019 const_int_operand, const0_operand, const_1_operand, constm1_operand,
22020 const8_operand, const128_operand, const248_operand, const123_operand,
22021 const2367_operand, const1248_operand, const359_operand,
22022 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
22023 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
22024 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
22025 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
22026 const_0_to_255_mul_8_operand, const_1_to_31_operand,
22027 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
22028 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
22029 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
22030 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
22031 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
22032 const_24_to_27_operand and const_28_to_31_operand.
22033 * config/i386/mmx.md: Ditto.
22034 * config/i386/sse.md: Ditto.
22035 * config/i386/subst.md: Ditto.
22036 * config/i386/sync.md: Ditto.
22037
22038 2022-05-30 Jan Beulich <jbeulich@suse.com>
22039
22040 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
22041 arguments.
22042
22043 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
22044
22045 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
22046
22047 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
22048
22049 PR target/105599
22050 * config/darwin.h: Move versions-specific handling of multiply_defined
22051 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
22052
22053 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
22054
22055 PR other/82383
22056 * doc/sourcebuild.texi: Add entries for the c++tools,
22057 gotools, libbacktrace, libcc1, libcody, liboffloadmic,
22058 and libsanitizer directories. Remove entry for boehm-gc.
22059 Fix alphabetization for libquadmath.
22060
22061 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
22062
22063 * config/avr/avr-mcus.def: Add device definitions.
22064 * doc/avr-mmcu.texi: Corresponding changes.
22065 * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
22066 device prefix.
22067 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
22068 from leaking into cc1.
22069
22070 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
22071
22072 PR target/103722
22073 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
22074 is special) for various scenarios.
22075
22076 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
22077
22078 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
22079 describing this macro.
22080
22081 2022-05-27 Richard Biener <rguenther@suse.de>
22082
22083 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
22084
22085 2022-05-27 Martin Jambor <mjambor@suse.cz>
22086
22087 PR ipa/105639
22088 * ipa-prop.cc (propagate_controlled_uses): Check type of the
22089 constant before adding a LOAD reference.
22090
22091 2022-05-27 Jakub Jelinek <jakub@redhat.com>
22092
22093 * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
22094 to OMP_CLAUSE_ENTER.
22095 * tree.h (OMP_CLAUSE_ENTER_TO): Define.
22096 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
22097 OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
22098 * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
22099 instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
22100 "to" instead of "enter".
22101 * tree-nested.cc (convert_nonlocal_omp_clauses,
22102 convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
22103 OMP_CLAUSE_TO_DECLARE.
22104
22105 2022-05-27 Richard Biener <rguenther@suse.de>
22106
22107 PR tree-optimization/105726
22108 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
22109 Constrain array-of-flexarray case more.
22110
22111 2022-05-27 Jakub Jelinek <jakub@redhat.com>
22112
22113 PR sanitizer/105729
22114 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
22115 to (X &) z + w if -fsanitize=null during GENERIC folding.
22116
22117 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
22118
22119 * match.pd (match_zero_one_valued_p): New predicate.
22120 (mult @0 @1): Use zero_one_valued_p for optimization to the
22121 expression "bit_and @0 @1".
22122 (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
22123 (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
22124 (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
22125 (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
22126 Remove three redundant transforms obsoleted by the three above.
22127
22128 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
22129
22130 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
22131 to split a combined "and;cmp" sequence into "not;test".
22132
22133 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
22134
22135 * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
22136 (bswapsi2_internal): Revise the template and condition, and add
22137 detection code for preceding the same insn in order to omit a
22138 "SSAI 8" instruction of the latter.
22139 (bswapdi2): Suppress built-in insn expansion with the corresponding
22140 library call when optimizing for size.
22141
22142 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
22143
22144 * config/xtensa/xtensa-protos.h
22145 (xtensa_expand_block_set_unrolled_loop,
22146 xtensa_expand_block_set_small_loop): New prototypes.
22147 * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
22148 xtensa_expand_block_set_unrolled_loop,
22149 xtensa_expand_block_set_small_loop): New functions.
22150 * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
22151 * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
22152
22153 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
22154
22155 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
22156 Make instruction counting more accurate, and simplify emitting insns.
22157
22158 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
22159
22160 * config/xtensa/constraints.md (M, O): Use the macro.
22161 * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
22162 sext_fldsz_operand): Ditto.
22163 * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
22164 xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
22165 xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
22166 xtensa_expand_prologue): Ditto.
22167 * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
22168
22169 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
22170
22171 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
22172 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
22173 Ditto.
22174
22175 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
22176
22177 * gimple-range-cache.cc: Adjust comments.
22178 * gimple-range-infer.cc: Adjust comments.
22179 * gimple-range-infer.h: Adjust comments.
22180 * gimple-range.cc: Adjust comments.
22181
22182 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
22183
22184 * Makefile.in (OBJS): Use gimple-range-infer.o.
22185 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
22186 (ranger_cache::range_from_dom): Rename var side_effect to infer.
22187 (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
22188 * gimple-range-cache.h: Include gimple-range-infer.h.
22189 (class ranger_cache): Adjust prototypes, use infer_range_manager.
22190 * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
22191 (gimple_infer_range::*): Rename from stmt_side_effects.
22192 (infer_range_manager::*): Rename from side_effect_manager.
22193 * gimple-range-side-effect.cc: Rename.
22194 * gimple-range-side-effect.h: Rename.
22195 * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
22196 (class gimple_infer_range): Rename from stmt_side_effects.
22197 (class infer_range_manager): Rename from side_effect_manager.
22198 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
22199 from register_side_effects.
22200 * gimple-range.h (register_inferred_ranges): Adjust prototype.
22201 * range-op.h: Adjust comment.
22202 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
22203 (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
22204
22205 2022-05-25 Simon Cook <simon.cook@embecosm.com>
22206
22207 * config/riscv/arch-canonicalize: Only add mafd extension if
22208 base was rv32/rv64g.
22209
22210 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
22211
22212 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
22213
22214 2022-05-25 Jakub Jelinek <jakub@redhat.com>
22215
22216 PR sanitizer/105714
22217 * asan.cc (has_stmt_been_instrumented_p): For assignments which
22218 are both stores and loads, return true only if both destination
22219 and source have been instrumented.
22220
22221 2022-05-25 Martin Liska <mliska@suse.cz>
22222 Richard Biener <rguenther@suse.de>
22223
22224 * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
22225 * params.opt (max-unswitch-level): Remove.
22226 * doc/invoke.texi (max-unswitch-level): Likewise.
22227 * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
22228 gimplified expressions.
22229 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
22230 (tree_may_unswitch_on): Rename to ...
22231 (find_unswitching_predicates_for_bb): ... this and handle
22232 switch statements.
22233 (get_predicates_for_bb): Likewise.
22234 (set_predicates_for_bb): Likewise.
22235 (init_loop_unswitch_info): Likewise.
22236 (tree_ssa_unswitch_loops): Prepare stuff before calling
22237 tree_unswitch_single_loop.
22238 (tree_unswitch_single_loop): Rework the function using
22239 pre-computed predicates and with a per original loop cost model.
22240 (merge_last): New.
22241 (add_predicate_to_path): Likewise.
22242 (find_range_for_lhs): Likewise.
22243 (simplify_using_entry_checks): Rename to ...
22244 (evaluate_control_stmt_using_entry_checks): ... this, handle
22245 switch statements and improve simplifications using ranger.
22246 (simplify_loop_version): Rework using
22247 evaluate_control_stmt_using_entry_checks.
22248 (evaluate_bbs): New.
22249 (evaluate_loop_insns_for_predicate): Likewise.
22250 (tree_unswitch_loop): Adjust to allow switch statements and
22251 pass in the edge to unswitch.
22252 (clean_up_after_unswitching): New.
22253 (pass_tree_unswitch::execute): Pass down fun.
22254
22255 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
22256
22257 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
22258 counts for the epilog loop.
22259
22260 2022-05-24 Martin Sebor <msebor@redhat.com>
22261 Richard Biener <rguenther@suse.de>
22262
22263 PR middle-end/105604
22264 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
22265 (get_origin_and_offset_r): Remove null handling. Handle variable array
22266 sizes.
22267 (get_origin_and_offset): Handle null argument here. Simplify.
22268 (alias_offset): Update comment.
22269 * pointer-query.cc (field_at_offset): Update comment. Handle members
22270 of variable-length types.
22271
22272 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
22273
22274 * target.def (vec_perm_const): Define new parameter op_mode and
22275 update doc.
22276 * doc/tm.texi: Regenerate.
22277 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
22278 vec_perm_const hook to add new parameter op_mode and return false
22279 if result and operand modes do not match.
22280 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
22281 * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
22282 * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
22283 * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
22284 * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
22285 * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
22286 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
22287 * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
22288 * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
22289 prototype.
22290 * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
22291 (ashrv2di3): Likewise.
22292 * optabs.cc (expand_vec_perm_const): Likewise.
22293 * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
22294 * optabs-query.cc (can_vec_perm_const_p): Define new parameter
22295 op_mode and pass it to vec_perm_const hook.
22296 (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
22297 * match.pd (vec_perm X Y CST): Likewise.
22298 * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
22299 * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
22300 (vect_grouped_load_supported): Likewise.
22301 (vect_shift_permute_load_chain): Likewise.
22302 * tree-vect-generic.cc (lower_vec_perm): Likewise.
22303 * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
22304 * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
22305 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
22306 * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
22307 (vect_transform_slp_perm_load): Likewise.
22308 (vectorizable_slp_permutation): Likewise.
22309 * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
22310 (vectorizable_bswap): Likewise.
22311 (scan_store_can_perm_p): Likewise.
22312 (vect_gen_perm_mask_checked): Likewise.
22313
22314 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
22315
22316 PR target/104816
22317 * config/i386/i386.opt: Remove Undocumented.
22318 * doc/invoke.texi: Document -mcet-switch.
22319
22320 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
22321
22322 * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
22323 * config/gcn/gcn-opts.h (enum gcn_isa): New.
22324 (TARGET_GCN3): Use enum gcn_isa.
22325 (TARGET_GCN3_PLUS): Likewise.
22326 (TARGET_GCN5): Likewise.
22327 (TARGET_GCN5_PLUS): Likewise.
22328 (TARGET_CDNA1): New.
22329 (TARGET_CDNA1_PLUS): New.
22330 (TARGET_CDNA2): New.
22331 (TARGET_CDNA2_PLUS): New.
22332 (TARGET_M0_LDS_LIMIT): New.
22333 (TARGET_PACKED_WORK_ITEMS): New.
22334 * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
22335 (gcn_option_override): Recognise CDNA ISA variants.
22336 (gcn_omp_device_kind_arch_isa): Support gfx90a.
22337 (gcn_expand_prologue): Make m0 init optional.
22338 Add support for packed work items.
22339 (output_file_start): Support gfx90a.
22340 (gcn_hsa_declare_function_name): Support gfx90a metadata.
22341 * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
22342 __CDNA2__.
22343 * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
22344 (<su>mulsi3_highpart_imm): Likewise.
22345 (<su>mulsidi3): Likewise.
22346 (<su>mulsidi3_imm): Likewise.
22347 * config/gcn/gcn.opt (gpu_type): Add gfx90a.
22348 * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
22349 (main): Support gfx90a.
22350 * config/gcn/t-gcn-hsa: Add gfx90a multilib.
22351 * config/gcn/t-omp-device: Add gfx90a isa.
22352
22353 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
22354
22355 * config.in: Regenerate.
22356 * config/gcn/gcn-hsa.h (X_FIJI): Delete.
22357 (X_900): Delete.
22358 (X_906): Delete.
22359 (X_908): Delete.
22360 (S_FIJI): Delete.
22361 (S_900): Delete.
22362 (S_906): Delete.
22363 (S_908): Delete.
22364 (NO_XNACK): New macro.
22365 (NO_SRAM_ECC): New macro.
22366 (SRAMOPT): Keep only v4 variant.
22367 (HSACO3_SELECT_OPT): Delete.
22368 (DRIVER_SELF_SPECS): Delete.
22369 (ASM_SPEC): Remove LLVM 9 support.
22370 * config/gcn/gcn-valu.md
22371 (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
22372 (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
22373 * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
22374 (print_operand_address): Remove assembler bug workaround.
22375 * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
22376 (EF_AMDGPU_SRAM_ECC_V3): Delete.
22377 (SET_XNACK_ON): Delete v3 variants.
22378 (SET_XNACK_OFF): Delete v3 variants.
22379 (TEST_XNACK): Delete v3 variants.
22380 (SET_SRAM_ECC_ON): Delete v3 variants.
22381 (SET_SRAM_ECC_ANY): Delete v3 variants.
22382 (SET_SRAM_ECC_OFF): Delete v3 variants.
22383 (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
22384 (TEST_SRAM_ECC_ANY): Delete v3 variants.
22385 (TEST_SRAM_ECC_ON): Delete v3 variants.
22386 (copy_early_debug_info): Remove v3 support.
22387 (main): Remove v3 support.
22388 * configure: Regenerate.
22389 * configure.ac: Replace all GCN feature checks with a version check.
22390
22391 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
22392
22393 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
22394 i.e. a double word negation of a zero extended operand, to
22395 neg;sbb.
22396
22397 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
22398
22399 PR tree-optimization/105668
22400 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
22401 V1TImode, just like V2DImode.
22402 * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
22403 Use VI_128 mode iterator instead of VI124_128 to include V2DI.
22404 (vcond_mask_v2div2di): Delete.
22405 (vcond_mask_v1tiv1ti): New define_expand.
22406
22407 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
22408
22409 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
22410 to strncmp for strings of length one.
22411
22412 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
22413
22414 * config/riscv/predicates.md (imm5_operand): Add a new operand type for
22415 prefetch instructions.
22416 * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
22417 Extensions.
22418 (RISCV_ATYPE_SI): New.
22419 (RISCV_ATYPE_DI): New.
22420 * config/riscv/riscv-ftypes.def (0): New.
22421 (1): New.
22422 * config/riscv/riscv.md (riscv_clean_<mode>): New.
22423 (riscv_flush_<mode>): New.
22424 (riscv_inval_<mode>): New.
22425 (riscv_zero_<mode>): New.
22426 (prefetch): New.
22427 (riscv_prefetchi_<mode>): New.
22428 * config/riscv/riscv-cmo.def: New file.
22429
22430 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
22431
22432 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
22433 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
22434 (MASK_ZICBOM): New.
22435 (MASK_ZICBOP): New.
22436 (TARGET_ZICBOZ): New.
22437 (TARGET_ZICBOM): New.
22438 (TARGET_ZICBOP): New.
22439 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
22440
22441 2022-05-24 David Malcolm <dmalcolm@redhat.com>
22442
22443 * tree-vect-slp-patterns.cc: Add "final" and "override" to
22444 vect_pattern::build impls as appropriate.
22445
22446 2022-05-24 David Malcolm <dmalcolm@redhat.com>
22447
22448 * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
22449 implementations, removing redundant "virtual" as appropriate.
22450 * ipa-fnsummary.h: Likewise.
22451 * ipa-modref.cc: Likewise.
22452 * ipa-param-manipulation.cc: Likewise.
22453 * ipa-profile.cc: Likewise.
22454 * ipa-prop.h: Likewise.
22455 * ipa-pure-const.cc: Likewise.
22456 * ipa-reference.cc: Likewise.
22457 * ipa-sra.cc: Likewise.
22458 * symbol-summary.h: Likewise.
22459 * symtab-thunks.cc: Likewise.
22460
22461 2022-05-24 Martin Liska <mliska@suse.cz>
22462
22463 Revert:
22464 2022-05-24 Martin Liska <mliska@suse.cz>
22465
22466 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
22467 warning.
22468
22469 2022-05-24 Martin Liska <mliska@suse.cz>
22470
22471 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
22472 warning.
22473
22474 2022-05-24 Bruno Haible <bruno@clisp.org>
22475
22476 PR other/105527
22477 * doc/install.texi (Configuration): Add more details about --with-zstd.
22478 Document --with-zstd-include and --with-zstd-lib
22479
22480 2022-05-24 Richard Biener <rguenther@suse.de>
22481
22482 PR middle-end/105711
22483 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
22484 and use it.
22485 (extract_bit_field_1): Pass down the mode of op0 to
22486 extract_bit_field_as_subreg.
22487
22488 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
22489
22490 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
22491 fmv_cost.
22492 (rocket_tune_info): Add default fmv_cost 8.
22493 (sifive_7_tune_info): Ditto.
22494 (thead_c906_tune_info): Ditto.
22495 (optimize_size_tune_info): Ditto.
22496 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
22497
22498 2022-05-24 Jakub Jelinek <jakub@redhat.com>
22499
22500 PR c/105378
22501 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
22502 builtin.
22503 * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
22504 clause but no depend clauses.
22505 * omp-expand.cc (expand_taskwait_call): Use
22506 BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
22507 BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
22508
22509 2022-05-24 Richard Biener <rguenther@suse.de>
22510
22511 PR tree-optimization/100221
22512 * tree-ssa-dse.cc (contains_phi_arg): New function.
22513 (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
22514
22515 2022-05-24 Richard Biener <rguenther@suse.de>
22516
22517 PR tree-optimization/105629
22518 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
22519 a sign-extending conversion.
22520
22521 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
22522
22523 PR target/105627
22524 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
22525 be a debug insn.
22526 (union_uses): Skip debug use_insn.
22527
22528 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
22529
22530 * config/riscv/predicates.md (const_0_operand): Remove
22531 const_double.
22532 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
22533 CONST_DOUBLE.
22534 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
22535
22536 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
22537
22538 * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
22539 the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
22540 (cpu_indicator_init): Handle Zhaoxin processors.
22541 * common/config/i386/i386-common.cc: Add lujiazui.
22542 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
22543 VENDOR_ZHAOXIN.
22544 (enum processor_types): Add ZHAOXIN_FAM7H.
22545 (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
22546 * config.gcc: Add lujiazui.
22547 * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
22548 Signatures for zhaoxin
22549 (signature_SHANGHAI_ecx): Ditto.
22550 (signature_SHANGHAI_edx): Ditto.
22551 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
22552 -march=native recognize lujiazui processors.
22553 * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
22554 * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
22555 * config/i386/i386.h (enum processor_type): Ditto.
22556 * config/i386/i386.md: Add lujiazui.
22557 * config/i386/x86-tune-costs.h (struct processor_costs): Add
22558 lujiazui costs.
22559 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
22560 (ix86_adjust_cost): Ditto.
22561 * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
22562 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
22563 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
22564 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
22565 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
22566 (X86_TUNE_MOVX): Ditto.
22567 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
22568 (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
22569 (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
22570 (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
22571 (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
22572 (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
22573 (X86_TUNE_USE_LEAVE): Ditto.
22574 (X86_TUNE_PUSH_MEMORY): Ditto.
22575 (X86_TUNE_LCP_STALL): Ditto.
22576 (X86_TUNE_USE_INCDEC): Ditto.
22577 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
22578 (X86_TUNE_OPT_AGU): Ditto.
22579 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
22580 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
22581 (X86_TUNE_USE_SAHF): Ditto.
22582 (X86_TUNE_USE_BT): Ditto.
22583 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
22584 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
22585 (X86_TUNE_AVOID_MFENCE): Ditto.
22586 (X86_TUNE_EXPAND_ABS): Ditto.
22587 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
22588 (X86_TUNE_USE_FFREEP): Ditto.
22589 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
22590 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
22591 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
22592 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
22593 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
22594 * doc/extend.texi: Add details about lujiazui.
22595 * doc/invoke.texi: Add details about lujiazui.
22596 * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
22597
22598 2022-05-23 Martin Liska <mliska@suse.cz>
22599
22600 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
22601
22602 2022-05-23 Richard Biener <rguenther@suse.de>
22603
22604 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
22605 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
22606
22607 2022-05-23 Richard Biener <rguenther@suse.de>
22608
22609 * gimple-expr.cc (is_gimple_condexpr): Remove.
22610 * gimple-expr.h (is_gimple_condexpr): Likewise.
22611 * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
22612 * tree-if-conv.cc (set_bb_predicate): Likewie.
22613 (add_to_predicate_list): Likewise.
22614 (gen_phi_arg_condition): Likewise.
22615 (predicate_scalar_phi): Likewise.
22616 (predicate_statements): Likewise.
22617
22618 2022-05-23 Richard Biener <rguenther@suse.de>
22619
22620 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
22621 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
22622 as is_gimple_val.
22623 * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
22624 * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
22625 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
22626 Build the condition of the COND_EXPR separately.
22627 * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
22628 * tree-vect-generic.cc (expand_vector_condition): Likewise.
22629 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
22630 Likewise.
22631 * vr-values.cc (simplify_using_ranges::simplify): Likewise.
22632 * tree-vect-patterns.cc: Add comment indicating we are
22633 building invalid COND_EXPRs and why.
22634 * omp-expand.cc (expand_omp_simd): Gimplify the condition
22635 to the COND_EXPR separately.
22636 (expand_omp_atomic_cas): Note part that should be unreachable
22637 now.
22638 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
22639 condition for valid replacements.
22640 * tree-if-conv.cc (predicate_bbs): Simulate previous
22641 re-folding of the condition in folded COND_EXPRs which
22642 is necessary because of unfolded GIMPLE_CONDs in the IL
22643 as in for example gcc.dg/fold-bopcond-1.c.
22644 * gimple-range-gori.cc (gori_compute::condexpr_adjust):
22645 Handle that the comparison is now in the def stmt of
22646 the select operand. Required by gcc.dg/pr104526.c.
22647
22648 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
22649
22650 PR fortran/104949
22651 * langhooks-def.h (lhd_omp_array_size): New.
22652 (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
22653 (LANG_HOOKS_DECLS): Add it.
22654 * langhooks.cc (lhd_omp_array_size): New.
22655 * langhooks.h (struct lang_hooks_for_decls): Add hook.
22656 * omp-low.cc (scan_sharing_clauses, lower_omp_target):
22657 Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
22658
22659 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
22660
22661 * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
22662 XOR/IOR case. Account for two instructions for double-word
22663 operations. In case of vector pandn, account for single
22664 instruction. Likewise for integer andn with TARGET_BMI.
22665 <case NOT>: Vector NOT requires more than 1 instruction (pxor).
22666 <case NEG>: Double-word negation requires 3 instructions.
22667
22668 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
22669
22670 * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
22671 Fix "K" extension prefix to be placed before "J".
22672 * config/riscv/arch-canonicalize: Likewise.
22673
22674 2022-05-23 liuhongt <hongtao.liu@intel.com>
22675
22676 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
22677 <-> mask cost from 5 to 6.
22678 (icelake_cost): Ditto.
22679
22680 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
22681
22682 * config/aarch64/aarch64.md
22683 (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
22684 (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
22685 (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
22686 (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
22687 (one_cmpl_<optab><mode>2): Likewise.
22688 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
22689 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
22690 (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
22691 (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
22692 (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
22693 (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
22694 (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
22695 (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
22696 (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
22697 (rolsi3_insn_uxtw): New pattern.
22698 * config/aarch64/iterators.md (SHIFT): Add rotate left.
22699 (SHIFT_no_rotate): Add new iterator.
22700 (SHIFT:shift): Print rotate left as ror.
22701 (is_rotl): Add test for left rotate.
22702
22703 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
22704
22705 * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
22706 processing. Add support for architectural extensions.
22707 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
22708 AARCH64_CPU_DEFAULT_FLAGS.
22709 (TARGET_CPU_NBITS): Remove.
22710 (TARGET_CPU_MASK): Remove.
22711 * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
22712 (get_tune_cpu): Assert CPU is always valid.
22713 (get_arch): Assert architecture is always valid.
22714 (aarch64_override_options): Cleanup CPU selection code and simplify logic.
22715 (aarch64_option_restore): Remove unnecessary checks on tune.
22716
22717 2022-05-20 David Malcolm <dmalcolm@redhat.com>
22718
22719 * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
22720 "FINAL" and "OVERRIDE" with "final" and "override".
22721 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
22722 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
22723 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
22724 * diagnostic-path.h: Likewise.
22725 * digraph.cc: Likewise.
22726 * gcc-rich-location.h: Likewise.
22727 * gimple-array-bounds.cc: Likewise.
22728 * gimple-loop-versioning.cc: Likewise.
22729 * gimple-range-cache.cc: Likewise.
22730 * gimple-range-cache.h: Likewise.
22731 * gimple-range-fold.cc: Likewise.
22732 * gimple-range-fold.h: Likewise.
22733 * gimple-range-tests.cc: Likewise.
22734 * gimple-range.h: Likewise.
22735 * gimple-ssa-evrp.cc: Likewise.
22736 * input.cc: Likewise.
22737 * json.h: Likewise.
22738 * read-rtl-function.cc: Likewise.
22739 * tree-complex.cc: Likewise.
22740 * tree-diagnostic-path.cc: Likewise.
22741 * tree-ssa-ccp.cc: Likewise.
22742 * tree-ssa-copy.cc: Likewise.
22743 * tree-vrp.cc: Likewise.
22744 * value-query.h: Likewise.
22745 * vr-values.h: Likewise.
22746
22747 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
22748
22749 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
22750 target_memcpy_rect_async to omp_runtime_apis array.
22751
22752 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
22753
22754 * doc/sourcebuild.texi (Decimal floating point attributes): Document
22755 dfp_bid effective-target.
22756
22757 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
22758
22759 * config/aarch64/aarch64.cc
22760 (aarch64_split_128bit_move): Handle DFP modes.
22761 (aarch64_mode_valid_for_sched_fusion_p): Likewise.
22762 (aarch64_classify_address): Likewise.
22763 (aarch64_legitimize_address_displacement): Likewise.
22764 (aarch64_reinterpret_float_as_int): Likewise.
22765 (aarch64_float_const_zero_rtx_p): Likewise.
22766 (aarch64_can_const_movi_rtx_p): Likewise.
22767 (aarch64_anchor_offset): Likewise.
22768 (aarch64_secondary_reload): Likewise.
22769 (aarch64_rtx_costs): Likewise.
22770 (aarch64_legitimate_constant_p): Likewise.
22771 (aarch64_gimplify_va_arg_expr): Likewise.
22772 (aapcs_vfp_sub_candidate): Likewise.
22773 (aarch64_vfp_is_call_or_return_candidate): Likewise.
22774 (aarch64_output_scalar_simd_mov_immediate): Likewise.
22775 (aarch64_gen_adjusted_ldpstp): Likewise.
22776 (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
22777 * config/aarch64/aarch64.md
22778 (movsf_aarch64): Use SFD iterator and rename into
22779 mov<mode>_aarch64.
22780 (movdf_aarch64): Use DFD iterator and rename into
22781 mov<mode>_aarch64.
22782 (movtf_aarch64): Use TFD iterator and rename into
22783 mov<mode>_aarch64.
22784 (split pattern for move TF mode): Use TFD iterator.
22785 * config/aarch64/iterators.md
22786 (GPF_TF_F16_MOV): Add DFP modes.
22787 (SFD, DFD, TFD): New iterators.
22788 (GPF_TF): Add DFP modes.
22789 (TX, DX, DX2): Likewise.
22790
22791 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
22792
22793 * configure: Regenerate.
22794
22795 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
22796
22797 PR middle-end/98865
22798 * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y
22799 when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
22800 likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
22801
22802 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
22803
22804 * config/rs6000/rs6000-builtins.def: Rephrase
22805 to remove RS6000_BTC_SPECIAL from comment.
22806 * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
22807 RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
22808 RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
22809 RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
22810 RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
22811 RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
22812 RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
22813 RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
22814 RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
22815 RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
22816 RS6000_BTM_ALWAYS): Delete.
22817
22818 2022-05-19 Richard Biener <rguenther@suse.de>
22819
22820 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
22821 computation of the new value.
22822
22823 2022-05-19 Richard Biener <rguenther@suse.de>
22824
22825 * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
22826 (add_to_value): Use get_expression_id.
22827 (bitmap_insert_into_set): Likewise.
22828 (bitmap_value_insert_into_set): Likewise.
22829
22830 2022-05-19 David Malcolm <dmalcolm@redhat.com>
22831
22832 * doc/invoke.texi (-fanalyzer-checker=): Add
22833 -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
22834 the list of analyzer warnings disabled by
22835 -fanalyzer-checker=taint.
22836
22837 2022-05-19 Jakub Jelinek <jakub@redhat.com>
22838
22839 PR debug/105630
22840 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
22841 global vars without symtab node even when they have DECL_RTL
22842 set.
22843
22844 2022-05-19 Jakub Jelinek <jakub@redhat.com>
22845
22846 PR c/105635
22847 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
22848 doesn't have pointer or reference type.
22849
22850 2022-05-18 Marek Polacek <polacek@redhat.com>
22851
22852 PR c/105131
22853 * doc/invoke.texi: Document -Wenum-int-mismatch.
22854
22855 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
22856
22857 * config/i386/gnu-user-common.h (defined): Only define
22858 TARGET_CAN_SPLIT_STACK for glibc targets.
22859 * config/i386/gnu.h (defined): Ditto.
22860
22861 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
22862
22863 * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
22864 is wider than word_mode, a multiplication costs three word_mode
22865 multiplications and two word_mode additions.
22866
22867 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
22868
22869 * config/i386/i386.md (define_split): Split *andsi_1
22870 and *andn_si_ccno after reload with -Oz.
22871
22872 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
22873
22874 * graphite-scop-detection.cc (scop_detection::can_represent_loop):
22875 Output reason for failure to dump file.
22876 (scop_detection::harmful_loop_in_region): Likewise.
22877 (scop_detection::graphite_can_represent_expr): Likewise.
22878 (scop_detection::stmt_has_simple_data_refs_p): Likewise.
22879 (scop_detection::stmt_simple_for_scop_p): Likewise.
22880 (print_sese_loop_numbers): New function.
22881 (scop_detection::add_scop): Use from here.
22882
22883 2022-05-18 liuhongt <hongtao.liu@intel.com>
22884
22885 PR middle-end/103462
22886 * match.pd (bitwise_induction_p): New match.
22887 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
22888 Declare.
22889 (analyze_and_compute_bitwise_induction_effect): New function.
22890 (enum bit_op_kind): New enum.
22891 (final_value_replacement_loop): Enhanced to handle bitwise
22892 induction.
22893
22894 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
22895
22896 PR target/95737
22897 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
22898
22899 2022-05-18 liuhongt <hongtao.liu@intel.com>
22900
22901 PR target/104375
22902 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
22903 define_insn.
22904
22905 2022-05-18 liuhongt <hongtao.liu@intel.com>
22906
22907 PR target/104610
22908 * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
22909 for QImode when code is EQ or NE.
22910 * config/i386/i386.md (cbranchoi4): New expander.
22911
22912 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
22913 Segher Boessenkool <segher@kernel.crashing.org>
22914
22915 PR target/105556
22916 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
22917 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
22918 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
22919 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
22920 Update other operands accordingly.
22921
22922 2022-05-17 Marek Polacek <polacek@redhat.com>
22923
22924 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
22925
22926 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
22927
22928 PR target/99685
22929 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
22930 register count when not splitting IEEE 128-bit Complex.
22931
22932 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
22933
22934 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
22935 target inside target if inner is reverse offload.
22936
22937 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
22938
22939 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
22940 * config/nvptx/mkoffload.cc (process): Likewise.
22941
22942 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
22943
22944 * Makefile.in (OBJS): Add gimple-range-side-effect.o.
22945 * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
22946 (non_null_ref::~non_null_ref): Delete.
22947 (non_null_ref::set_nonnull): Delete.
22948 (non_null_ref::non_null_deref_p): Delete.
22949 (non_null_ref::process_name): Delete.
22950 (ranger_cache::ranger_cache): Initialize m_exit object.
22951 (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
22952 (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
22953 (ranger_cache::update_to_nonnull): Delete.
22954 (non_null_loadstore): Delete.
22955 (ranger_cache::block_apply_nonnull): Delete.
22956 (ranger_cache::apply_side_effects): New.
22957 * gimple-range-cache.h (class non_null_ref): Delete.
22958 (non_null_ref::adjust_range): Delete.
22959 (class ranger_cache): Adjust prototypes, add side effect manager.
22960 * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
22961 side effect manager for queries.
22962 (path_range_query::adjust_for_non_null_uses): Ditto.
22963 * gimple-range-path.h (class path_range_query): Delete non_null_ref.
22964 * gimple-range-side-effect.cc: New.
22965 * gimple-range-side-effect.h: New.
22966 * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
22967 (gimple_ranger::range_of_expr): Check def block for override value.
22968 (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
22969 (gimple_ranger::range_on_edge): Check for outgoing side-effects.
22970 (gimple_ranger::register_side_effects): Call apply_side_effects.
22971 (enable_ranger): Update contructor.
22972 * gimple-range.h (class gimple_ranger): Update prototype.
22973 (enable_ranger): Update prototype.
22974 * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
22975
22976 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
22977
22978 PR c++/105169
22979 * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
22980 * varasm.cc (switch_to_comdat_section): New
22981 (handle_vtv_comdat_section): Call switch_to_comdat_section.
22982 * varasm.h: Declare switch_to_comdat_section.
22983
22984 2022-05-17 Richard Biener <rguenther@suse.de>
22985
22986 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
22987 not clear bb->aux of the copied blocks.
22988
22989 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
22990
22991 PR tree-optimization/105458
22992 * value-relation.cc (path_oracle::register_relation): Merge, then check
22993 for equivalence.
22994
22995 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
22996
22997 PR target/105624
22998 Revert:
22999 * config/i386/i386.md: Remove constraints when used with
23000 const_int_operand, const0_operand, const_1_operand, constm1_operand,
23001 const8_operand, const128_operand, const248_operand, const123_operand,
23002 const2367_operand, const1248_operand, const359_operand,
23003 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
23004 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
23005 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
23006 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
23007 const_0_to_255_mul_8_operand, const_1_to_31_operand,
23008 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
23009 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
23010 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
23011 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
23012 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
23013 const_24_to_27_operand and const_28_to_31_operand.
23014 * config/i386/mmx.md: Ditto.
23015 * config/i386/sse.md: Ditto.
23016 * config/i386/subst.md: Ditto.
23017 * config/i386/sync.md: Ditto.
23018
23019 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
23020
23021 * diagnostic.cc: Don't advise to call 'abort' instead of
23022 'internal_error'.
23023 * system.h: Advise to call 'internal_error' instead of 'abort' or
23024 'fancy_abort'.
23025
23026 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
23027
23028 * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
23029 a reference to a variable which does not exist.
23030 * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
23031 in comment.
23032
23033 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
23034
23035 * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
23036 (isl_id_for_parameter): ... this new function name.
23037 (build_scop_context): Adjust function use.
23038
23039 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
23040
23041 PR target/105602
23042 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
23043 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
23044
23045 2022-05-17 Jakub Jelinek <jakub@redhat.com>
23046
23047 * tree-core.h (enum omp_clause_depend_kind): Add
23048 OMP_CLAUSE_DEPEND_INOUTSET.
23049 * tree-pretty-print.cc (dump_omp_clause): Handle
23050 OMP_CLAUSE_DEPEND_INOUTSET.
23051 * gimplify.cc (gimplify_omp_depend): Likewise.
23052 * omp-low.cc (lower_depend_clauses): Likewise.
23053
23054 2022-05-17 Jakub Jelinek <jakub@redhat.com>
23055
23056 PR target/105613
23057 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
23058 andv4si3 only for EQ, for NE use iorv4si3 instead.
23059
23060 2022-05-17 Richard Biener <rguenther@suse.de>
23061
23062 PR tree-optimization/105618
23063 * tree-ssa-sink.cc (statement_sink_location): For virtual
23064 PHI uses ignore those defining the used virtual operand.
23065
23066 2022-05-17 Jakub Jelinek <jakub@redhat.com>
23067
23068 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
23069 hanlde -> handle. Fix up comment formatting.
23070
23071 2022-05-17 liuhongt <hongtao.liu@intel.com>
23072
23073 PR target/105033
23074 * config/i386/sse.md (*vec_concatv4si): Extend to ..
23075 (*vec_concat<mode>): .. V16QI and V8HImode.
23076 (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
23077 (*vec_concatv8hi_permt2): Ditto.
23078
23079 2022-05-17 liuhongt <hongtao.liu@intel.com>
23080
23081 PR tree-optimization/105591
23082 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
23083 vec_perm_expr index.
23084
23085 2022-05-16 Jason Merrill <jason@redhat.com>
23086
23087 PR c/105492
23088 * attribs.cc (decl_attributes): Fix broken typedefs here.
23089
23090 2022-05-16 David Malcolm <dmalcolm@redhat.com>
23091
23092 PR analyzer/105103
23093 * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
23094 * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
23095 -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
23096 -Wanalyzer-va-list-use-after-va-end.
23097
23098 2022-05-16 Richard Biener <rguenther@suse.de>
23099
23100 * gimple-match.h (gimple_build): Move code_helper overloads ...
23101 * gimple-fold.h (gimple_build): ... here.
23102 (gimple_build): Transition to new worker API. Provide
23103 overloads from sequence-based API.
23104 (gimple_convert): Likewise.
23105 (gimple_convert_to_ptrofftype): Likewise.
23106 (gimple_build_vector_from_val): Likewise.
23107 (gimple_build_vector): Likewise.
23108 (gimple_build_round_up): Likewise.
23109 * gimple-fold.cc (gimple_build_insert_seq): New helper.
23110 (gimple_build): Use it. Transition combined_fn and code_helper
23111 API parts.
23112 (gimple_convert): Transition to new worker API.
23113 (gimple_convert_to_ptrofftype): Likewise.
23114 (gimple_build_vector_from_val): Likewise.
23115 (gimple_build_vector): Likewise.
23116 (gimple_build_round_up): Likewise.
23117
23118 2022-05-16 Richard Biener <rguenther@suse.de>
23119
23120 * gimple-match.h (code_helper): Move class ...
23121 * tree.h (code_helper): ... here.
23122
23123 2022-05-16 Martin Liska <mliska@suse.cz>
23124
23125 * opts-global.cc (write_langs): Add comment.
23126
23127 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
23128
23129 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
23130 instead of a bitwise negation.
23131 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
23132
23133 2022-05-16 Martin Liska <mliska@suse.cz>
23134
23135 * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
23136 (decls_mismatched_attributes): Likewise.
23137 * builtins.cc (c_strlen): Likewise.
23138 * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
23139 * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
23140 * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
23141 (aarch64_init_simd_builtin_types): Likewise.
23142 (aarch64_init_builtin_rsqrt): Likewise.
23143 * config/aarch64/aarch64.cc (is_madd_op): Likewise.
23144 * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
23145 (arm_init_simd_builtin_types): Likewise.
23146 * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
23147 (c_prefix): Likewise.
23148 (main): Likewise.
23149 * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
23150 * config/darwin-c.cc (darwin_register_frameworks): Likewise.
23151 * config/gcn/mkoffload.cc (process_obj): Likewise.
23152 * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
23153 (fold_builtin_cpu): Likewise.
23154 * config/m32c/m32c.cc (PUSHM_N): Likewise.
23155 * config/nvptx/mkoffload.cc (process): Likewise.
23156 * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
23157 * config/s390/s390.cc (NR_C_MODES): Likewise.
23158 * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
23159 (create_insn_code_compression_table): Likewise.
23160 * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
23161 * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
23162 * dwarf2out.cc (ARRAY_SIZE): Likewise.
23163 * genhooks.cc (emit_documentation): Likewise.
23164 (emit_init_macros): Likewise.
23165 * gimple-ssa-sprintf.cc (format_floating): Likewise.
23166 * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
23167 * godump.cc (keyword_hash_init): Likewise.
23168 * hash-table.cc (hash_table_higher_prime_index): Likewise.
23169 * input.cc (for_each_line_table_case): Likewise.
23170 * ipa-free-lang-data.cc (free_lang_data): Likewise.
23171 * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
23172 * optc-save-gen.awk: Likewise.
23173 * spellcheck.cc (test_metric_conditions): Likewise.
23174 * tree-vect-slp-patterns.cc (sizeof): Likewise.
23175 (ARRAY_SIZE): Likewise.
23176 * tree.cc (build_common_tree_nodes): Likewise.
23177
23178 2022-05-16 Martin Liska <mliska@suse.cz>
23179
23180 * opts-global.cc (write_langs): Allocate at least one byte.
23181
23182 2022-05-16 Richard Biener <rguenther@suse.de>
23183
23184 * match.pd (A cmp B ? A : B -> min/max): New patterns
23185 carried over from fold_cond_expr_with_comparison.
23186
23187 2022-05-16 liuhongt <hongtao.liu@intel.com>
23188
23189 PR target/105587
23190 * config/i386/i386-expand.cc
23191 (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
23192 d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
23193
23194 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
23195
23196 * config/i386/i386.md: Remove constraints when used with
23197 const_int_operand, const0_operand, const_1_operand, constm1_operand,
23198 const8_operand, const128_operand, const248_operand, const123_operand,
23199 const2367_operand, const1248_operand, const359_operand,
23200 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
23201 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
23202 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
23203 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
23204 const_0_to_255_mul_8_operand, const_1_to_31_operand,
23205 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
23206 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
23207 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
23208 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
23209 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
23210 const_24_to_27_operand and const_28_to_31_operand.
23211 * config/i386/mmx.md: Ditto.
23212 * config/i386/sse.md: Ditto.
23213 * config/i386/subst.md: Ditto.
23214 * config/i386/sync.md: Ditto.
23215
23216 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
23217 Uroš Bizjak <ubizjak@gmail.com>
23218
23219 * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
23220 For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
23221 by a pshufd and pand.
23222 (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
23223 vector equality as a V2DImode vector comparison (see above),
23224 followed by a pshufd and pand.
23225
23226 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
23227
23228 PR tree-optimization/83907
23229 * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
23230 for memset with an constant char value.
23231 (handle_store): Improved handling of stores with a first byte
23232 of zero, but not storing_all_zeros_p.
23233
23234 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
23235 Manolis Tsamis <manolis.tsamis@vrull.eu>
23236
23237 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
23238 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
23239 * doc/sourcebuild.texi: add documentation for RISC-V specific
23240 test target keywords
23241
23242 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
23243
23244 PR tree-optimization/105597
23245 * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
23246 of the lhs and make sure it is not undefined.
23247
23248 2022-05-13 Sebastian Pop <spop@amazon.com>
23249
23250 PR target/105162
23251 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
23252 of str array.
23253 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
23254 memmodel_from_int and handle MEMMODEL_SYNC_*.
23255 (DEF0): Add __aarch64_*_sync functions.
23256
23257 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
23258
23259 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
23260 enumerated values.
23261 * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
23262 * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
23263 new VREL enumerated values.
23264 (*::lhs_op2_relation): Ditto.
23265 (*::op1_op2_relation): Ditto.
23266 (*::fold_range): Use new VREL enumerated values.
23267 (minus_op1_op2_relation_effect): Ditto.
23268 (range_relational_tests): Ditto.
23269 * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
23270 (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
23271 relation_kind.
23272 (*_op1_op2_relation): Return relation_kind.
23273 (relop_early_resolve): Use VREL_UNDEFINED.
23274 * value-query.cc (range_query::query_relation): Use VREL_VARYING.
23275 * value-relation.cc (VREL_LAST): Change enumerated value.
23276 (vrel_range_assert): Delete.
23277 (print_relation): Remove range assert.
23278 (rr_negate_table): Adjust table to use new enumerated values..
23279 (relation_negate): Remove range assert.
23280 (rr_swap_table): Adjust.
23281 (relation_swap): Remove range assert.
23282 (rr_intersect_table): Adjust.
23283 (relation_intersect): Remove range assert.
23284 (rr_union_table): Adjust.
23285 (relation_union): Remove range assert.
23286 (rr_transitive_table): Adjust.
23287 (relation_transitive): Remove range assert.
23288 (equiv_oracle::query_relation): Use new VREL enumerated values.
23289 (equiv_oracle::register_relation): Ditto.
23290 (relation_oracle::register_stmt): Ditto.
23291 (dom_oracle::set_one_relation): Ditto.
23292 (dom_oracle::register_transitives): Ditto.
23293 (dom_oracle::query_relation): Ditto.
23294 (path_oracle::register_relation): Ditto.
23295 (path_oracle::query_relation): Ditto.
23296 * value-relation.h (enum relation_kind_t): New relation_kind.
23297 (*_op1_op2_relation): Adjust prototypes.
23298
23299 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
23300
23301 * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
23302 * value-range.cc (irange::legacy_verbose_union_): Add return value.
23303 (irange::irange_single_pair_union): New.
23304 (irange::irange_union): Add return value.
23305 * value-range.h (class irange): Adjust prototypes.
23306
23307 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
23308
23309 * value-range.cc (irange::legacy_verbose_intersect): Add return value.
23310 (irange::irange_contains_p): New.
23311 (irange::irange_intersect): Add return value.
23312 * value-range.h (class irange): Adjust prototypes.
23313
23314 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
23315
23316 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
23317 had_global value instead.
23318
23319 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
23320
23321 PR tree-optimization/104547
23322 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
23323 the op1/op2 relation to the relation call.
23324 * range-op.cc (*::lhs_op1_relation): Add param.
23325 (*::lhs_op2_relation): Ditto.
23326 (operator_minus::lhs_op1_relation): New.
23327 (range_relational_tests): Add relation param.
23328 * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
23329
23330 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
23331
23332 * gimple-range.cc (gimple_ranger::register_side_effects): First check
23333 if the DEF should be exported as a global.
23334 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
23335 which will export globals.
23336 (execute_ranger_vrp): Remove call to export_global_ranges.
23337
23338 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
23339
23340 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
23341
23342 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
23343
23344 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
23345 worlist truncated.
23346 (ranger_cache::entry_range): Add rfd_mode parameter.
23347 (ranger_cache::exit_range): Ditto.
23348 (ranger_cache::edge_range): New. Incorporate from range_on_edge.
23349 (ranger_cache::range_of_expr): Adjust call to entry_range.
23350 (ranger_cache::range_on_edge): Split to edge_range and call.
23351 (ranger_cache::fill_block_cache): Always invoke range_from_dom.
23352 (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
23353 mutiple predecessors.
23354 (ranger_cache::update_to_nonnull): Adjust call to exit_range.
23355 * gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust
23356 prototypes.
23357
23358 2022-05-13 Alexandre Oliva <oliva@adacore.com>
23359
23360 * gimple-harden-conditionals.cc: Include sbitmap.h.
23361 (pass_harden_conditional_branches::execute): Skip new blocks.
23362 (pass_harden_compares::execute): Likewise.
23363
23364 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
23365
23366 PR target/105463
23367 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
23368 mve_memory_operand.
23369 (*movmisalign<mode>_mve_load): Likewise.
23370 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
23371 form...
23372 (@movmisalign<mode>): ... thus. Use generic predicates and then
23373 rework operands if they are not valid. For MVE rework to a
23374 narrower element size if the alignment is not high enough.
23375
23376 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
23377
23378 * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
23379 when there is no write-back. Fix use when strict is true.
23380
23381 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
23382
23383 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
23384 definition.
23385
23386 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
23387
23388 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
23389 extzvsi_internal): Rename from extv, extv_internal, extzv and
23390 extzv_internal, respectively.
23391
23392 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
23393
23394 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
23395 is the same on the LHS and RHS before rewriting one with the model
23396 of the other.
23397
23398 2022-05-13 Richard Biener <rguenther@suse.de>
23399
23400 * gimple-fold.cc (gimple_build): Adjust for new
23401 main API.
23402 * gimple-fold.h (gimple_build): New main APIs with
23403 iterator, insert direction and iterator update.
23404 (gimple_build): New forwarder template.
23405 (clear_padding_type_may_have_padding_p): Remove.
23406 (clear_type_padding_in_mask): Likewise.
23407 (arith_overflowed_p): Likewise.
23408 * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
23409 (clear_type_padding_in_mask): Likewise.
23410 (arith_overflowed_p): Likewise.
23411 * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
23412 (gimplify_build2): Likewise.
23413 (gimplify_build1): Likewise.
23414 * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
23415 compare stmt.
23416 * gengtype.cc (open_base_files): Re-order includes.
23417 * builtins.cc: Re-order gimple-fold.h include.
23418 * calls.cc: Likewise.
23419 * cgraphbuild.cc: Likewise.
23420 * cgraphunit.cc: Likewise.
23421 * config/rs6000/rs6000-builtin.cc: Likewise.
23422 * config/rs6000/rs6000-call.cc: Likewise.
23423 * config/rs6000/rs6000.cc: Likewise.
23424 * config/s390/s390.cc: Likewise.
23425 * expr.cc: Likewise.
23426 * fold-const.cc: Likewise.
23427 * function-tests.cc: Likewise.
23428 * gimple-match-head.cc: Likewise.
23429 * gimple-range-fold.cc: Likewise.
23430 * gimple-ssa-evrp-analyze.cc: Likewise.
23431 * gimple-ssa-evrp.cc: Likewise.
23432 * gimple-ssa-sprintf.cc: Likewise.
23433 * gimple-ssa-warn-access.cc: Likewise.
23434 * gimplify.cc: Likewise.
23435 * graphite-isl-ast-to-gimple.cc: Likewise.
23436 * ipa-cp.cc: Likewise.
23437 * ipa-devirt.cc: Likewise.
23438 * ipa-prop.cc: Likewise.
23439 * omp-low.cc: Likewise.
23440 * pointer-query.cc: Likewise.
23441 * range-op.cc: Likewise.
23442 * tree-cfg.cc: Likewise.
23443 * tree-if-conv.cc: Likewise.
23444 * tree-inline.cc: Likewise.
23445 * tree-object-size.cc: Likewise.
23446 * tree-ssa-ccp.cc: Likewise.
23447 * tree-ssa-dom.cc: Likewise.
23448 * tree-ssa-forwprop.cc: Likewise.
23449 * tree-ssa-ifcombine.cc: Likewise.
23450 * tree-ssa-loop-ivcanon.cc: Likewise.
23451 * tree-ssa-math-opts.cc: Likewise.
23452 * tree-ssa-pre.cc: Likewise.
23453 * tree-ssa-propagate.cc: Likewise.
23454 * tree-ssa-reassoc.cc: Likewise.
23455 * tree-ssa-sccvn.cc: Likewise.
23456 * tree-ssa-strlen.cc: Likewise.
23457 * tree-ssa.cc: Likewise.
23458 * value-pointer-equiv.cc: Likewise.
23459 * vr-values.cc: Likewise.
23460
23461 2022-05-13 Alexandre Oliva <oliva@adacore.com>
23462
23463 PR rtl-optimization/105455
23464 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
23465 probabilities for newly-conditional edges.
23466
23467 2022-05-13 liuhongt <hongtao.liu@intel.com>
23468
23469 PR tree-optimization/102583
23470 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
23471 contiguous stride in the VEC_PERM_EXPR.
23472
23473 2022-05-12 Richard Biener <rguenther@suse.de>
23474
23475 PR rtl-optimization/105577
23476 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
23477 edges before running fast DCE via df_analyze.
23478
23479 2022-05-12 Richard Biener <rguenther@suse.de>
23480
23481 PR tree-optimization/105562
23482 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
23483 against all CLOBBER defs if there's not an obvious must-alias
23484 and we are not doing redundant store elimination.
23485 (vn_walk_cb_data::redundant_store_removal_p): New field.
23486 (vn_reference_lookup_pieces): Initialize it.
23487 (vn_reference_lookup): Add argument to specify if we are
23488 doing redundant store removal.
23489 (eliminate_dom_walker::eliminate_stmt): Specify we do.
23490 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
23491
23492 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
23493
23494 PR target/104371
23495 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
23496 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
23497 New define_split pattern.
23498
23499 2022-05-12 Jakub Jelinek <jakub@redhat.com>
23500
23501 * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
23502 if null_pointer_node.
23503 (gimplify_scan_omp_clauses): Likewise.
23504 * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
23505 as omp_all_memory.
23506
23507 2022-05-11 Patrick Palka <ppalka@redhat.com>
23508
23509 * tree.h (TREE_VEC_BEGIN): Define.
23510 (TREE_VEC_END): Correct 'length' member access.
23511 (class tree_vec_range): Define.
23512
23513 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
23514
23515 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
23516
23517 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
23518
23519 * config/rs6000/rs6000.md: Use d instead of <Ff>.
23520
23521 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
23522
23523 * config/rs6000/constraints.md (register_constraint "f"): Use
23524 RS6000_CONSTRAINT_d.
23525 * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
23526 RS6000_CONSTRAINT_f.
23527 (rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit.
23528 * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
23529 RS6000_CONSTRAINT_d.
23530
23531 2022-05-11 Richard Biener <rguenther@suse.de>
23532
23533 * gimple-fold.h (gimple_build): Use variadic template
23534 functions for the gimple_build API forwarders without
23535 location_t argument.
23536
23537 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
23538
23539 PR middle-end/70090
23540 * asan.cc (initialize_sanitizer_builtins): Register
23541 __builtin_dynamic_object_size if necessary.
23542
23543 2022-05-11 Richard Biener <rguenther@suse.de>
23544
23545 PR rtl-optimization/105559
23546 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
23547 for non-debug insns.
23548
23549 2022-05-11 Richard Biener <rguenther@suse.de>
23550
23551 * generic-match-head.cc: Include tree-eh.h.
23552 * match.pd ((cond ...) cmp X): New simplification inspired
23553 by fold_binary_op_with_conditional_arg.
23554 (eq/ne (cmp ...) true/false): Likewise.
23555
23556 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
23557
23558 * doc/install.texi: Don't document '--with-hsa-runtime',
23559 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
23560
23561 2022-05-11 Martin Liska <mliska@suse.cz>
23562
23563 PR other/105527
23564 * doc/install.texi: Document the configure option --with-zstd.
23565
23566 2022-05-11 Martin Liska <mliska@suse.cz>
23567
23568 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
23569 compute index in cpu_features2.
23570 (set_cpu_feature): Likewise.
23571 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
23572 loop for cpu_features2 and use NOP_EXPRs.
23573
23574 2022-05-11 Richard Biener <rguenther@suse.de>
23575
23576 PR bootstrap/105551
23577 * opts.cc (finish_options): Also disable var-tracking if
23578 !DWARF2_DEBUGGING_INFO.
23579
23580 2022-05-11 liuhongt <hongtao.liu@intel.com>
23581
23582 PR target/104915
23583 * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
23584 pre_reload define_insn_and_split.
23585 (*vec_setv2di_0_zero_extendhi_1): Ditto.
23586 (*vec_set<mode>_0_zero_extendsi): Ditto.
23587 (*vec_setv2di_0_zero_extendsi_1): Ditto.
23588 (ssewvecmode): New mode attr.
23589 (ssewvecmodelower): Ditto.
23590 (ssepackmodelower): Ditto.
23591
23592 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
23593
23594 * config/rs6000/constraints.md (register constraint v): Use
23595 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
23596
23597 2022-05-11 Martin Liska <mliska@suse.cz>
23598
23599 PR target/105355
23600 * config/riscv/riscv.opt: Remove Separate from
23601 -msmall-data-limit=.
23602 * optc-gen.awk: Report error for the described situation.
23603 * gcc.cc: Use Separate syntax.
23604 * opts.cc (gen_command_line_string): Change option name.
23605
23606 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
23607
23608 PR target/105414
23609 * match.pd (minmax): Skip constant folding for fmin/fmax when both
23610 arguments are sNaN or one is sNaN and another is NaN.
23611
23612 2022-05-10 Jakub Jelinek <jakub@redhat.com>
23613
23614 PR tree-optimization/105528
23615 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
23616 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
23617
23618 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
23619
23620 * doc/md.texi (Defining Mode Iterators): Correct example replacement
23621 text.
23622
23623 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
23624
23625 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
23626 constants.
23627 (fmin<mode>3, fmax<mode>3): New insns.
23628
23629 2022-05-10 Richard Biener <rguenther@suse.de>
23630
23631 * tree-if-conv.cc (fold_build_cond_expr): Use
23632 match-and-simplify to simplify the condition.
23633 (ifcvt_follow_ssa_use_edges): Remove.
23634 (predicate_scalar_phi): Use follow_all_ssa_edges.
23635
23636 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
23637
23638 PR middle-end/100400
23639 * omp-oacc-kernels-decompose.cc
23640 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
23641 call 'internal_error'.
23642
23643 2022-05-10 Richard Biener <rguenther@suse.de>
23644
23645 PR middle-end/105537
23646 * toplev.cc (process_options): Move flag_var_tracking
23647 handling ...
23648 * opts.cc (finish_options): ... here.
23649
23650 2022-05-10 Martin Liska <mliska@suse.cz>
23651
23652 * basic-block.h (struct basic_block_d): Use void *
23653 instead PTR.
23654 * cfgloop.h: Likewise.
23655 * cgraph.h: Likewise.
23656 * gengtype-state.cc (state_ident_by_name): Likewise.
23657 (record_type): Likewise.
23658 (read_state_already_seen_type): Likewise.
23659 * gengtype.cc (dump_type): Likewise.
23660 (input_file_by_name): Likewise.
23661 (main): Likewise.
23662 * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
23663 * ipa-utils.h (struct ipa_dfs_info): Likewise.
23664 * plugin.cc (htab_hash_plugin): Likewise.
23665
23666 2022-05-10 Richard Biener <rguenther@suse.de>
23667
23668 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
23669 API with !GENERATOR_FILE.
23670 * opts.cc (global_options): Poison.
23671 (global_options_set): Likewise.
23672 (finish_options): Refer to options via opts.
23673
23674 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
23675 Roger Sayle <roger@nextmovesoftware.com>
23676
23677 * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
23678 alternative when optimizing for size and the immediate operand is
23679 const_0_to_127_operand.
23680 (*andqi_2_maybe_si): Likewise.
23681 * config/i386/predicates.md (const_0_to_127_operand): New predicate.
23682
23683 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
23684
23685 * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
23686 "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
23687 can't be negative.
23688
23689 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
23690
23691 PR target/105292
23692 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
23693 true only for 8-byte vector modes.
23694
23695 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
23696
23697 PR middle-end/70090
23698 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
23699 (instrument_object_size): Get dynamic object size expression.
23700
23701 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
23702
23703 PR preprocessor/101168
23704 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
23705 Avoid empty identifier.
23706
23707 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
23708
23709 PR target/101891
23710 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
23711 as a generic MMX mode instead of V4HImode.
23712 (zero_all_mm_registers): Use SET to zero instead of MOV for
23713 zeroing scratch registers.
23714 (ix86_zero_call_used_regs): Likewise.
23715
23716 2022-05-09 liuhongt <hongtao.liu@intel.com>
23717
23718 PR target/105354
23719 * config/i386/i386-expand.cc
23720 (expand_vec_perm_pslldq_psrldq_por): New function.
23721 (ix86_expand_vec_perm_const_1): Try
23722 expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
23723 4/5-instruction sequence.
23724
23725 2022-05-09 Martin Liška <mliska@suse.cz>
23726
23727 * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
23728 * system.h (STATIC_ASSERT): Define as static_assert for C++
23729 and fallback to array index in C.
23730
23731 2022-05-09 Richard Biener <rguenther@suse.de>
23732
23733 PR tree-optimization/105517
23734 * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
23735 offset can be represented in the POINTER_PLUS_EXPR IL.
23736 (vn_reference_insert): Likewise.
23737 * poly-int.h (sext_hwi): Add poly version of sext_hwi.
23738
23739 2022-05-09 Richard Biener <rguenther@suse.de>
23740
23741 * match.pd: Remove #if GIMPLE guards around ! using patterns.
23742
23743 2022-05-09 liuhongt <hongtao.liu@intel.com>
23744
23745 PR target/105072
23746 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
23747 New define_insn.
23748 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
23749 define_insn_and_split.
23750
23751 2022-05-09 Alex Coplan <alex.coplan@arm.com>
23752
23753 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
23754 symtab state is PARSING.
23755
23756 2022-05-09 Martin Liska <mliska@suse.cz>
23757
23758 * system.h (LIKELY): Define.
23759 (UNLIKELY): Likewise.
23760 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
23761 macros.
23762 * dse.cc (set_position_unneeded): Likewise.
23763 (set_all_positions_unneeded): Likewise.
23764 (any_positions_needed_p): Likewise.
23765 (all_positions_needed_p): Likewise.
23766 * expmed.cc (flip_storage_order): Likewise.
23767 * genmatch.cc (dt_simplify::gen_1): Likewise.
23768 * ggc-common.cc (gt_pch_save): Likewise.
23769 * print-rtl.cc: Likewise.
23770 * rtl-iter.h (T>::array_type::~array_type): Likewise.
23771 (T>::next): Likewise.
23772 * rtl-ssa/internals.inl: Likewise.
23773 * rtl-ssa/member-fns.inl: Likewise.
23774 * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
23775 (rtx_properties::try_to_add_dest): Likewise.
23776 * rtlanal.h (growing_rtx_properties::repeat): Likewise.
23777 (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
23778 * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
23779 * sort.cc (likely): Likewise.
23780 (mergesort): Likewise.
23781 * wide-int.h (wi::eq_p): Likewise.
23782 (wi::ltu_p): Likewise.
23783 (wi::cmpu): Likewise.
23784 (wi::bit_and): Likewise.
23785 (wi::bit_and_not): Likewise.
23786 (wi::bit_or): Likewise.
23787 (wi::bit_or_not): Likewise.
23788 (wi::bit_xor): Likewise.
23789 (wi::add): Likewise.
23790 (wi::sub): Likewise.
23791
23792 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
23793
23794 * config/riscv/arch-canonicalize: Handle g correctly.
23795
23796 2022-05-07 Marek Polacek <polacek@redhat.com>
23797
23798 PR c++/101833
23799 PR c++/47634
23800 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
23801
23802 2022-05-06 Jason Merrill <jason@redhat.com>
23803
23804 * diagnostic-color.cc: Add fnname and targs color entries.
23805 * doc/invoke.texi: Document them.
23806
23807 2022-05-06 Jason Merrill <jason@redhat.com>
23808
23809 * vec.h (vec::iterate): Fix comment.
23810
23811 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
23812
23813 PR target/102059
23814 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
23815 and -mpower10-fusion options for inlining purposes.
23816
23817 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
23818
23819 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
23820
23821 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
23822
23823 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
23824 omp_runtime_apis array.
23825
23826 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
23827
23828 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
23829 (scan_sharing_clauses): Check a restriction on allocate clause.
23830
23831 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
23832
23833 * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
23834 and ORDERED clause conflict errors. Add check for GRAINSIZE and
23835 NUM_TASKS on TASKLOOP.
23836
23837 2022-05-05 Martin Liska <mliska@suse.cz>
23838
23839 * genautomata.cc (create_composed_state): Remove dead code.
23840 * graphite-poly.cc (print_pdrs): Likewise.
23841 * lto-wrapper.cc (run_gcc): Likewise.
23842 * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
23843 Likewise.
23844
23845 2022-05-05 Martin Liska <mliska@suse.cz>
23846
23847 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
23848 PROF_*.
23849 (gimple_gen_time_profiler): Likewise.
23850
23851 2022-05-05 Martin Liska <mliska@suse.cz>
23852
23853 * value-prof.cc (stream_out_histogram_value): Remove sanity
23854 checking.
23855
23856 2022-05-05 Richard Biener <rguenther@suse.de>
23857
23858 PR tree-optimization/104162
23859 * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
23860 &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
23861 becomes invariant.
23862 (vn_reference_insert): Likewise.
23863
23864 2022-05-05 Richard Biener <rguenther@suse.de>
23865
23866 * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
23867 to real_value field.
23868 (tree_real_cst::value): Add real_value field.
23869 * tree.h (TREE_REAL_CST_PTR): Adjust.
23870 * tree.cc (build_real): Remove separate allocation.
23871 * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
23872 Likewise.
23873
23874 2022-05-05 Richard Biener <rguenther@suse.de>
23875
23876 * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
23877 divisions with undefined overflow unconditionally.
23878 (pass_tree_ifcombine::execute): Rewrite stmts with undefined
23879 overflow to defined.
23880
23881 2022-05-05 Richard Biener <rguenther@suse.de>
23882
23883 PR tree-optimization/105484
23884 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
23885 whether the CFG changed.
23886 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
23887
23888 2022-05-05 Richard Biener <rguenther@suse.de>
23889
23890 PR tree-optimization/104595
23891 * tree-vect-patterns.cc (vect_recog_bool_pattern): For
23892 COND_EXPR do not fail if check_bool_pattern returns false.
23893
23894 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
23895
23896 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
23897 item that is in an outer data-sharing clause.
23898
23899 2022-05-04 Richard Biener <rguenther@suse.de>
23900
23901 PR tree-optimization/104658
23902 * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
23903 create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector
23904 type on nodes we promote.
23905 (vectorizable_bb_reduc_epilogue): Deal with externalized
23906 root.
23907 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
23908 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
23909
23910 2022-05-04 Richard Biener <rguenther@suse.de>
23911
23912 PR tree-optimization/103116
23913 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
23914 case we need peeling for gaps even though GROUP_GAP is zero.
23915
23916 2022-05-04 Martin Liska <mliska@suse.cz>
23917
23918 * gengtype-state.cc (read_a_state_token): Remove dead code.
23919 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
23920
23921 2022-05-04 Richard Biener <rguenther@suse.de>
23922
23923 * gimplify.cc (gimplify_init_constructor): First gimplify,
23924 then simplify the result to a VECTOR_CST.
23925
23926 2022-05-04 Jakub Jelinek <jakub@redhat.com>
23927
23928 * genconditions.cc (write_conditions): Append a { nullptr, -1 }
23929 element at the end of insn_conditions.
23930 (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
23931 ARRAY_SIZE (insn_conditions).
23932
23933 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
23934
23935 PR target/104662
23936 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
23937 vector of booleans and MVE is not enabled.
23938
23939 2022-05-04 Richard Biener <rguenther@suse.de>
23940
23941 PR debug/105158
23942 * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
23943 Move debug stmts to the predecessor if moving to the
23944 destination is not possible.
23945 (remove_forwarder_block): Adjust.
23946 (remove_forwarder_block_with_phi): Likewise.
23947
23948 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
23949
23950 PR tree-optimization/102950
23951 * range-op.cc (wi_optimize_signed_bitwise_op): New function to
23952 determine bounds of bitwise operations on signed types.
23953 (operator_bitwise_and::wi_fold): Call the above function.
23954 (operator_bitwise_or::wi_fold): Likewise.
23955 (operator_bitwise_xor::wi_fold): Likewise. Additionally, the
23956 result can't be zero if the operands can't be equal.
23957
23958 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
23959
23960 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
23961 protocol class methods linker-visible.
23962
23963 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
23964
23965 PR target/105079
23966 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
23967 define_insn_and_split pattern.
23968
23969 2022-05-03 Richard Biener <rguenther@suse.de>
23970
23971 PR middle-end/105083
23972 * tree-scalar-evolution.cc (scev_initialize): Verify we
23973 have appropriate loop state.
23974 * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
23975 loop init and finalization.
23976
23977 2022-05-03 Richard Biener <rguenther@suse.de>
23978
23979 PR middle-end/105461
23980 * opts.cc (finish_options): Match the condition to
23981 disable flag_var_tracking to that of process_options.
23982
23983 2022-05-03 Richard Biener <rguenther@suse.de>
23984
23985 * opts.cc: #undef OPTIONS_SET_P.
23986 (finish_options): Use opts_set instead of OPTIONS_SET_P.
23987
23988 2022-05-03 Richard Biener <rguenther@suse.de>
23989
23990 PR tree-optimization/105394
23991 * tree-vect-generic.cc (expand_vector_condition): Adjust
23992 comp_width for non-integer mode masks as well.
23993
23994 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
23995
23996 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
23997 omp_runtime_apis array.
23998
23999 2022-05-02 Richard Biener <rguenther@suse.de>
24000
24001 * tree-scalar-evolution.cc (expression_expensive_p):
24002 Never consider mismatched calls as cheap.
24003
24004 2022-05-02 Richard Biener <rguenther@suse.de>
24005
24006 PR tree-optimization/104240
24007 * tree-vect-slp.cc (op1_op0_map): New.
24008 (vect_get_operand_map): Handle compares.
24009 (vect_build_slp_tree_1): Support swapped operands for
24010 tcc_comparison.
24011
24012 2022-05-02 Jakub Jelinek <jakub@redhat.com>
24013
24014 PR debug/105415
24015 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
24016 if there is no symtab node for the VAR_DECL.
24017
24018 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
24019
24020 * gcov-io.cc (gcov_rewrite): Clear the file error status.
24021
24022 2022-05-02 Richard Biener <rguenther@suse.de>
24023
24024 PR tree-optimization/105437
24025 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
24026 case where last_stmt alters control flow.
24027
24028 2022-05-02 Richard Biener <rguenther@suse.de>
24029
24030 * dojump.cc (do_jump): Use CASE_CONVERT.
24031 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
24032
24033 2022-05-02 Jakub Jelinek <jakub@redhat.com>
24034
24035 * system.h: Include initializer_list.
24036
24037 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
24038
24039 * config/rs6000/constraints.md (Y constraint): Fix comment.
24040
24041 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
24042
24043 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
24044 VR_RANGE before passing a piecewise range to set_range_info_raw.
24045
24046 2022-04-30 Patrick Palka <ppalka@redhat.com>
24047
24048 * gengtype.cc (adjust_field_tree_exp): Remove.
24049 (adjust_field_type): Don't handle the "tree_exp" special attribute.
24050 * tree-core.h (struct tree_exp): Remove "special" and "desc"
24051 attributes. Add "length" attribute.
24052
24053 2022-04-29 Martin Jambor <mjambor@suse.cz>
24054
24055 PR ipa/100413
24056 * cgraph.cc (cgraph_node::remove): Release body of the node this
24057 is clone_of if appropriate.
24058
24059 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
24060
24061 PR target/51954
24062 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
24063
24064 2022-04-29 Richard Biener <rguenther@suse.de>
24065
24066 * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
24067 (canonicalize_cond_expr_cond): Move here from gimple.cc,
24068 allow both COND_EXPR and GIMPLE_COND forms.
24069 * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
24070 * gimple.cc (canonicalize_cond_expr_cond): Remove here.
24071 * gimple.h (canonicalize_cond_expr_cond): Likewise.
24072 * gimple-loop-versioning.cc (loop_versioning::version_loop):
24073 Use is_gimple_condexpr_for_cond.
24074 * tree-parloops.cc (gen_parallel_loop): Likewise.
24075 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
24076 a proper cond expr after canonicalize_cond_expr_cond.
24077 Use is_gimple_condexpr_for_cond where appropriate.
24078 * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
24079 * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
24080
24081 2022-04-29 Richard Biener <rguenther@suse.de>
24082
24083 * gimple-iterator.h (gsi_after_labels): Add overload for
24084 gimple_seq.
24085 (gsi_start_1): Rename to gsi_start and take a reference.
24086 (gsi_last_1): Likewise.
24087 * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
24088 * omp-low.cc (lower_rec_input_clauses): Likewise.
24089 (lower_omp_scan): Likewise.
24090
24091 2022-04-29 Richard Biener <rguenther@suse.de>
24092
24093 PR tree-optimization/105431
24094 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
24095 (powi_as_mults): Use absu_hwi.
24096 (gimple_expand_builtin_powi): Remove now pointless n != -n
24097 check.
24098
24099 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
24100
24101 * range-op.cc (empty_range_varying): Move to range-op.h.
24102 (range_true): Move to range.h.
24103 (range_false): Same.
24104 (range_true_and_false): Same.
24105 (enum bool_range_state): Move to range-op.h.
24106 (relop_early_resolve): Same.
24107 (operator_equal::op1_op2_relation): Abstract code to...
24108 (equal_op1_op2_relation): ...here.
24109 (operator_not_equal::op1_op2_relation): Abstract code to...
24110 (not_equal_op1_op2_relation): ...here.
24111 (operator_lt::op1_op2_relation): Abstract code to...
24112 (lt_op1_op2_relation): ...here.
24113 (operator_le::op1_op2_relation): Abstract code to...
24114 (le_op1_op2_relation): ...here.
24115 (operator_gt::op1_op2_relation): Abstract code to...
24116 (gt_op1_op2_relation): ...here.
24117 (operator_ge::op1_op2_relation): Abstract code to...
24118 (ge_op1_op2_relation): ...here.
24119 (class range_op_table): Move to range-op.h.
24120 * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
24121 (not_equal_op1_op2_relation): Same.
24122 (lt_op1_op2_relation): Same.
24123 (le_op1_op2_relation): Same.
24124 (gt_op1_op2_relation): Same.
24125 (ge_op1_op2_relation): Same.
24126 (enum bool_range_state): Same.
24127 (get_bool_state): Same.
24128 (empty_range_varying): Same.
24129 (relop_early_resolve): Same.
24130 (class range_op_table): Same.
24131 * range.h (range_true): Same.
24132 (range_false): Same.
24133 (range_true_and_false): Same.
24134
24135 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
24136
24137 * gimple-fold.cc (size_must_be_zero_p): Use reference
24138 instead of pointer
24139 * gimple-ssa-evrp-analyze.cc
24140 (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
24141 intersect to legacy_verbose_intersect.
24142 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
24143 of pointer.
24144 * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
24145 instead of value_range_equiv.
24146 * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
24147 instead of pointer.
24148 (find_case_label_range): Same.
24149 * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
24150 (value_range_equiv::legacy_verbose_intersect): ...this.
24151 (value_range_equiv::union_): Rename to...
24152 (value_range_equiv::legacy_verbose_union_): ...this.
24153 * value-range-equiv.h (class value_range_equiv): Rename union and
24154 intersect to legacy_verbose_{intersect,union}.
24155 * value-range.cc (irange::union_): Rename to...
24156 (irange::legacy_verbose_union_): ...this.
24157 (irange::intersect): Rename to...
24158 (irange::legacy_verbose_intersect): ...this.
24159 * value-range.h (irange::union_): Rename union_ to
24160 legacy_verbose_union.
24161 (irange::intersect): Rename intersect to legacy_verbose_intersect.
24162 * vr-values.cc (vr_values::update_value_range): Same.
24163 (vr_values::extract_range_for_var_from_comparison_expr): Same.
24164 (vr_values::extract_range_from_cond_expr): Rename union_ to
24165 legacy_verbose_union.
24166 (vr_values::extract_range_from_phi_node): Same.
24167
24168 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
24169
24170 * gimple-ssa-evrp-analyze.cc
24171 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
24172 that take a range.
24173 * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
24174 * ipa-prop.cc (ipcp_update_vr): Same.
24175 * tree-inline.cc (remap_ssa_name): Same.
24176 * tree-ssa-copy.cc (fini_copy_prop): Same.
24177 * tree-ssa-math-opts.cc (optimize_spaceship): Same.
24178 * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
24179 * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
24180 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
24181 * tree-ssa-strlen.cc (set_strlen_range): Same.
24182 (strlen_pass::handle_builtin_string_cmp): Same.
24183 * tree-ssanames.cc (set_range_info): Make static.
24184 (duplicate_ssa_name_range_info): Make static and add a new variant
24185 calling the static.
24186 * tree-ssanames.h (set_range_info): Remove version taking wide ints.
24187 (duplicate_ssa_name_range_info): Remove version taking a
24188 range_info_def and replace with a version taking SSA names.
24189 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
24190 that take a range.
24191 (vect_do_peeling): Same.
24192 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
24193 * vr-values.cc (simplify_truth_ops_using_ranges): Same.
24194
24195 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
24196
24197 * value-range.h (irange::irange): Use set_undefined.
24198
24199 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
24200
24201 * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
24202 irange::intersect (wide_int, wide_int).
24203 * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
24204 (adjust_imagpart_expr): Same.
24205 * value-range.h (irange::intersect (wide_int, wide_int)): Make
24206 private.
24207
24208 2022-04-29 Richard Biener <rguenther@suse.de>
24209
24210 PR tree-optimization/104322
24211 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
24212
24213 2022-04-29 Richard Biener <rguenther@suse.de>
24214
24215 PR middle-end/105376
24216 * tree.cc (build_real): Special case dconst* arguments
24217 for decimal floating point types.
24218
24219 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24220
24221 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
24222 Environments): New section.
24223
24224 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24225
24226 * doc/gcov-tool.texi: Document merge-stream subcommand.
24227 * doc/invoke.texi (fprofile-info-section): Mention merge-stream
24228 subcommand of gcov-tool.
24229 * gcov-tool.cc (gcov_profile_merge_stream): Declare.
24230 (print_merge_stream_usage_message): New.
24231 (merge_stream_usage): Likewise.
24232 (do_merge_stream): Likewise.
24233 (print_usage): Call print_merge_stream_usage_message().
24234 (main): Call do_merge_stream() to execute merge-stream subcommand.
24235
24236 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24237
24238 * gcov-io.cc (gcov_file_error): New enum.
24239 (gcov_var): Use gcov_file_error enum for the error member.
24240 (gcov_open): Use GCOV_FILE_NO_ERROR.
24241 (gcov_close): Use GCOV_FILE_WRITE_ERROR.
24242 (gcov_write): Likewise.
24243 (gcov_write_unsigned): Likewise.
24244 (gcov_write_string): Likewise.
24245 (gcov_read_bytes): Set error code if EOF is reached.
24246 (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
24247
24248 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24249
24250 * gcov-io.cc (GCOV_MODE_STDIN): Define.
24251 (gcov_position): For gcov-tool, return calculated position if file is
24252 stdin.
24253 (gcov_open): For gcov-tool, use stdin if filename is NULL.
24254 (gcov_close): For gcov-tool, do not close stdin.
24255 (gcov_read_bytes): For gcov-tool, update position if file is stdin.
24256 (gcov_sync): For gcov-tool, discard input if file is stdin.
24257
24258 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24259
24260 * doc/invoke.texi (fprofile-info-section): Mention
24261 __gcov_filename_to_gcfn(). Use "freestanding" to match with C11
24262 standard language. Fix minor example code issues.
24263 * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
24264
24265 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24266
24267 * gcov-io.cc (gcov_seek): Make it static.
24268 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
24269
24270 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24271
24272 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
24273 (gcov_output_files): Open files for reading and writing.
24274
24275 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24276
24277 * gcov-io.cc (gcov_open): Always use the mode parameter.
24278 * gcov-io.h (gcov_open): Declare it unconditionally.
24279
24280 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24281
24282 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
24283 (profile_merge): Allow merging of directories which contain no profile
24284 files.
24285
24286 2022-04-28 David Malcolm <dmalcolm@redhat.com>
24287
24288 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
24289 fpath.txt output.
24290
24291 2022-04-28 Jakub Jelinek <jakub@redhat.com>
24292
24293 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
24294 temporary only if out overlaps compare_op, not when it overlaps
24295 op0 or op1.
24296
24297 2022-04-28 Jakub Jelinek <jakub@redhat.com>
24298
24299 PR lto/105399
24300 * cgraph.cc (cgraph_node::verify_node): Don't verify
24301 semantic_interposition flag against
24302 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
24303
24304 2022-04-28 Jakub Jelinek <jakub@redhat.com>
24305
24306 PR target/105331
24307 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
24308 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
24309 of it.
24310
24311 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
24312
24313 * doc/install.texi (Configuration): Remove misleading text
24314 around LE PowerPC Linux multilibs.
24315
24316 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
24317
24318 PR d/103528
24319 * doc/install.texi (Tools/packages necessary for building GCC)
24320 (GDC): Document libphobos requirement.
24321 (Host/target specific installation notes for GCC, *-*-solaris2*):
24322 Document libphobos and GDC specifics.
24323
24324 2022-04-28 Richard Biener <rguenther@suse.de>
24325
24326 PR tree-optimization/105219
24327 * tree-vect-loop.cc (vect_transform_loop): Disable
24328 special code narrowing the vectorized epilogue max
24329 iterations when peeling for alignment or gaps was in effect.
24330
24331 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
24332
24333 * config/loongarch/loongarch.cc
24334 (loongarch_flatten_aggregate_field): Ignore empty fields for
24335 RECORD_TYPE.
24336
24337 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
24338
24339 * config/loongarch/loongarch.md: Add fdiv define_expand template,
24340 then generate floating-point division and floating-point reciprocal
24341 instructions.
24342
24343 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
24344
24345 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
24346 to PLV instruction templates.
24347
24348 2022-04-27 Richard Biener <rguenther@suse.de>
24349
24350 PR middle-end/104492
24351 * gimple-ssa-warn-access.cc
24352 (pass_waccess::warn_invalid_pointer): Exclude equality compare
24353 diagnostics for all kind of invalidations.
24354 (pass_waccess::check_dangling_uses): Fix post-dominator query.
24355 (pass_waccess::check_pointer_uses): Likewise.
24356
24357 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
24358
24359 PR target/102024
24360 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
24361 prototype.
24362 * config/s390/s390.cc (s390_single_field_struct_p): New function.
24363 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
24364 (s390_function_arg_float): Likewise.
24365
24366 2022-04-27 Jakub Jelinek <jakub@redhat.com>
24367
24368 PR sanitizer/105396
24369 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
24370 where offset is bigger than off but smaller than m_prev_offset + 32
24371 bits by pushing one or more 0 bytes. Sink the
24372 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
24373 all cases to the end of the function.
24374
24375 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
24376
24377 PR target/105271
24378 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
24379 stanza.
24380
24381 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
24382
24383 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
24384 data-share memory exhausted" error more verbose.
24385
24386 2022-04-26 Martin Liska <mliska@suse.cz>
24387
24388 PR lto/105364
24389 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
24390 (run_gcc): Parse OPT_fdiagnostics_urls_.
24391 (main): Initialize global_dc.
24392
24393 2022-04-26 Jakub Jelinek <jakub@redhat.com>
24394
24395 PR rtl-optimization/105314
24396 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
24397 operand is equal to if_info->x, instead use the non-zero operand
24398 as one of the operands of AND with if_info->x as target.
24399
24400 2022-04-26 Jakub Jelinek <jakub@redhat.com>
24401
24402 PR tree-optimization/105374
24403 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
24404 !fold_convertible_p rather than assuming fold_convert must succeed.
24405
24406 2022-04-26 Jakub Jelinek <jakub@redhat.com>
24407
24408 PR target/105367
24409 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
24410 el_mode == DFmode ? double_type_node : float_type_node instead of
24411 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
24412
24413 2022-04-25 David Malcolm <dmalcolm@redhat.com>
24414
24415 PR analyzer/104308
24416 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
24417 the location of new_stmt in all places that don't already set it,
24418 whether explicitly, or via a call to gsi_replace.
24419
24420 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
24421
24422 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
24423
24424 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
24425
24426 PR tree-optimization/105276
24427 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
24428 existing global range with calculated value.
24429
24430 2022-04-25 Richard Biener <rguenther@suse.de>
24431
24432 PR tree-optimization/105368
24433 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
24434
24435 2022-04-25 Richard Biener <rguenther@suse.de>
24436
24437 PR tree-optimization/100810
24438 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
24439 (find_ssa_undef): New function.
24440 (add_candidate_1): Avoid adding derived candidates with
24441 undefined SSA names and mark the original ones.
24442 (determine_group_iv_cost_generic): Reject rewriting
24443 uses with a different IV when that involves undefined SSA names.
24444
24445 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
24446
24447 PR target/89125
24448 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
24449 bsd_libc_has_function.
24450 * targhooks.cc (bsd_libc_has_function): New function.
24451 Expand the supported math functions to inclue C99 libm.
24452 * targhooks.h (bsd_libc_has_function): New Prototype.
24453
24454 2022-04-25 Richard Biener <rguenther@suse.de>
24455
24456 PR rtl-optimization/105231
24457 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
24458 with landing pad > 0 is from i3. Put any REG_EH_REGION note
24459 on i3 or drop it if the insn can not trap.
24460 (try_combine): Ensure that we can merge REG_EH_REGION notes
24461 with non-call exceptions. Ensure we are not splitting a
24462 trapping part of an insn with non-call exceptions when there
24463 is any REG_EH_REGION note to preserve.
24464
24465 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
24466
24467 PR target/105339
24468 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
24469 Add parentheses for parameters and djust format.
24470 (_mm512_mask_scalef_round_pd): Ditto.
24471 (_mm512_maskz_scalef_round_pd): Ditto.
24472 (_mm512_scalef_round_ps): Ditto.
24473 (_mm512_mask_scalef_round_ps): Ditto.
24474 (_mm512_maskz_scalef_round_ps): Ditto.
24475 (_mm_scalef_round_sd): Use _mm_undefined_pd.
24476 (_mm_scalef_round_ss): Use _mm_undefined_ps.
24477 (_mm_mask_scalef_round_sd): New macro.
24478 (_mm_mask_scalef_round_ss): Ditto.
24479 (_mm_maskz_scalef_round_sd): Ditto.
24480 (_mm_maskz_scalef_round_ss): Ditto.
24481
24482 2022-04-23 Jakub Jelinek <jakub@redhat.com>
24483
24484 PR target/105338
24485 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
24486 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
24487 cases.
24488
24489 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
24490
24491 PR target/105334
24492 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
24493 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
24494 (pack<mode>_hard for FMOVE128): ... this...
24495 (pack<mode>_soft for FMOVE128): ... and this.
24496
24497 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
24498
24499 * doc/extend.texi: Correct "This" to "These".
24500
24501 2022-04-22 Jakub Jelinek <jakub@redhat.com>
24502
24503 PR rtl-optimization/105333
24504 * rtlanal.cc (replace_rtx): Use simplify_subreg or
24505 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
24506 CONST_INT_P.
24507
24508 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
24509
24510 PR target/103197
24511 PR target/102146
24512 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
24513 the "Z" alternatives in {l,st}{f,xs}iwzx.
24514 (zero_extendhi<mode>2 for EXTHI): Ditto.
24515 (zero_extendsi<mode>2 for EXTSI): Ditto.
24516 (*movsi_internal1): Ditto.
24517 (*mov<mode>_internal1 for QHI): Ditto.
24518 (movsd_hardfloat): Ditto.
24519
24520 2022-04-21 Martin Liska <mliska@suse.cz>
24521
24522 * configure.ac: Enable compressed debug sections for mold
24523 linker.
24524 * configure: Regenerate.
24525
24526 2022-04-21 Jakub Jelinek <jakub@redhat.com>
24527
24528 PR debug/105203
24529 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
24530 on DEBUG_INSNs.
24531
24532 2022-04-20 Richard Biener <rguenther@suse.de>
24533
24534 PR tree-optimization/104912
24535 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
24536 the cost model check to a separate BB to make sure it is
24537 checked first and not combined with other version checks.
24538
24539 2022-04-20 Richard Biener <rguenther@suse.de>
24540
24541 PR tree-optimization/105312
24542 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
24543 VCOND and VCONDU for EQ and NE.
24544
24545 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
24546
24547 PR ipa/103818
24548 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
24549 poly_offset_int to avoid overflow.
24550 (modref_access_node::update2): likewise.
24551
24552 2022-04-20 Jakub Jelinek <jakub@redhat.com>
24553
24554 PR ipa/105306
24555 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
24556 to opt_for_fn (decl, flag_semantic_interposition).
24557 * cgraphclones.cc (cgraph_node::create_clone): Copy over
24558 semantic_interposition flag.
24559
24560 2022-04-19 Sergei Trofimovich <siarheit@google.com>
24561
24562 PR gcov-profile/105282
24563 * value-prof.cc (stream_out_histogram_value): Allow negative counts
24564 on HIST_TYPE_INDIR_CALL.
24565
24566 2022-04-19 Jakub Jelinek <jakub@redhat.com>
24567
24568 PR target/105257
24569 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
24570 use gen_raw_REG instead of gen_rtx_REG and copy over also
24571 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
24572
24573 2022-04-19 Richard Biener <rguenther@suse.de>
24574
24575 PR tree-optimization/104010
24576 PR tree-optimization/103941
24577 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
24578 we run into stmts in patterns continue walking those
24579 for uses outside of the vectorized region instead of
24580 marking the lane live.
24581
24582 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
24583
24584 * doc/install.texi <CRIS>: Remove references to removed websites and
24585 adjust for cris-*-elf being the only remaining toolchain.
24586
24587 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
24588
24589 * doc/invoke.texi <CRIS>: Remove references to options for removed
24590 subtarget cris-axis-linux-gnu and tweak wording accordingly.
24591
24592 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
24593
24594 * doc/install.texi (Specific): Adjust mingw-w64 download link.
24595
24596 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
24597
24598 * config/i386/smmintrin.h: Correct target pragma from sse4.1
24599 and sse4.2 to crc32 for crc32 intrinsics.
24600
24601 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
24602
24603 PR debug/105089
24604 * ctfc.cc (ctf_dvd_ignore_insert): New function.
24605 (ctf_dvd_ignore_lookup): Likewise.
24606 (ctf_add_variable): Keep track of non-defining decl DIEs.
24607 (new_ctf_container): Initialize the new hash-table.
24608 (ctfc_delete_container): Empty hash-table.
24609 * ctfc.h (struct ctf_container): Add new hash-table.
24610 (ctf_dvd_ignore_lookup): New declaration.
24611 (ctf_add_variable): Add additional argument.
24612 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
24613 record for non-defining decl for which a defining decl exists
24614 in the same TU.
24615 (ctf_preprocess): Defer updating the number of global objts
24616 until here.
24617 (output_ctf_header): Use ctfc_vars_list_count as some CTF
24618 variables may not make it to the final output.
24619 (output_ctf_vars): Likewise.
24620 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
24621 if this is known to be a non-defining decl DIE.
24622
24623 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
24624
24625 * ctfc.h (struct ctf_container): Introduce a new member.
24626 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
24627 variable.
24628
24629 2022-04-14 Jakub Jelinek <jakub@redhat.com>
24630
24631 PR target/105247
24632 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
24633 or rotates by VOIDmode constant integer shift count use word_mode
24634 for the operand if int_mode is narrower than word.
24635
24636 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
24637
24638 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
24639 (s390_get_unit_mask): Likewise.
24640 (s390_is_fpd): Likewise.
24641 (s390_is_fxd): Likewise.
24642 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
24643 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
24644 Add z16.
24645 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
24646 Likewise.
24647 * config/s390/3931.md: New file.
24648
24649 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
24650
24651 PR tree-optimization/105254
24652 * config/aarch64/aarch64.cc
24653 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
24654 loop_vec_info as argument. Restrict the unroll factor to values
24655 that divide the VF.
24656 (aarch64_vector_costs::finish_cost): Update call accordingly.
24657
24658 2022-04-13 Richard Biener <rguenther@suse.de>
24659
24660 PR tree-optimization/105263
24661 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
24662 negates in multiplication chains with DFP.
24663
24664 2022-04-13 Jakub Jelinek <jakub@redhat.com>
24665
24666 PR middle-end/105253
24667 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
24668 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
24669 comparisons or tree_nop_conversion_p checks.
24670
24671 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
24672
24673 PR target/103069
24674 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
24675 Add missing set to target_val at pause label.
24676
24677 2022-04-13 Jakub Jelinek <jakub@redhat.com>
24678
24679 PR target/105234
24680 * attribs.cc (decl_attributes): Don't set
24681 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
24682 NULL.
24683
24684 2022-04-13 Richard Biener <rguenther@suse.de>
24685
24686 PR tree-optimization/105250
24687 * fold-const.cc (fold_convertible_p): Revert
24688 r12-7979-geaaf77dd85c333, instead check for size equality
24689 of the vector types involved.
24690
24691 2022-04-13 Richard Biener <rguenther@suse.de>
24692
24693 Revert:
24694 2022-04-13 Richard Biener <rguenther@suse.de>
24695
24696 PR tree-optimization/104912
24697 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
24698 the cost model check to a separate BB to make sure it is
24699 checked first and not combined with other version checks.
24700
24701 2022-04-13 Richard Biener <rguenther@suse.de>
24702
24703 PR tree-optimization/104912
24704 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
24705 the cost model check to a separate BB to make sure it is
24706 checked first and not combined with other version checks.
24707
24708 2022-04-13 Jakub Jelinek <jakub@redhat.com>
24709
24710 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
24711
24712 2022-04-12 Antoni Boucher <bouanto@zoho.com>
24713
24714 PR jit/104072
24715 * reginfo.cc: New functions (clear_global_regs_cache,
24716 reginfo_cc_finalize) to avoid an issue where compiling the same
24717 code multiple times gives an error about assigning the same
24718 register to 2 global variables.
24719 * rtl.h: New function (reginfo_cc_finalize).
24720 * toplev.cc: Call it.
24721
24722 2022-04-12 Antoni Boucher <bouanto@zoho.com>
24723
24724 PR jit/104071
24725 * toplev.cc: Call the new function tree_cc_finalize in
24726 toplev::finalize.
24727 * tree.cc: New functions (clear_nonstandard_integer_type_cache
24728 and tree_cc_finalize) to clear the cache of non-standard integer
24729 types to avoid having issues with some optimizations of
24730 bitcast where the SSA_NAME will have a size of a cached
24731 integer type that should have been invalidated, causing a
24732 comparison of integer constant to fail.
24733 * tree.h: New function (tree_cc_finalize).
24734
24735 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
24736
24737 PR target/97348
24738 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
24739 * config/nvptx/nvptx.opt (misa): Adjust comment.
24740
24741 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
24742
24743 Revert:
24744 2022-03-03 Tom de Vries <tdevries@suse.de>
24745
24746 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
24747
24748 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
24749
24750 Revert:
24751 2022-03-31 Tom de Vries <tdevries@suse.de>
24752
24753 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
24754
24755 2022-04-12 Richard Biener <rguenther@suse.de>
24756
24757 PR ipa/104303
24758 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
24759 include local escaped memory as obviously necessary stores.
24760
24761 2022-04-12 Richard Biener <rguenther@suse.de>
24762
24763 PR tree-optimization/105235
24764 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
24765 return whether the CFG changed.
24766 (execute_cse_sincos_1): Adjust.
24767
24768 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
24769
24770 PR target/104144
24771 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
24772 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
24773 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
24774 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
24775 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
24776 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
24777 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
24778
24779 2022-04-12 Richard Biener <rguenther@suse.de>
24780
24781 PR tree-optimization/105232
24782 * tree.cc (component_ref_size): Bail out for too large
24783 or non-constant sizes.
24784
24785 2022-04-12 Richard Biener <rguenther@suse.de>
24786
24787 PR tree-optimization/105226
24788 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
24789 we can split the exit of an outer loop we choose to version.
24790
24791 2022-04-12 Jakub Jelinek <jakub@redhat.com>
24792
24793 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
24794 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
24795 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
24796 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
24797 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
24798 Formatting fix.
24799 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
24800
24801 2022-04-12 Jakub Jelinek <jakub@redhat.com>
24802
24803 PR target/105214
24804 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
24805 do_pending_stack_adjust.
24806
24807 2022-04-12 Jakub Jelinek <jakub@redhat.com>
24808
24809 PR rtl-optimization/105211
24810 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
24811 fails for TREE_TYPE (arg), retry it with
24812 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
24813 fails, emit call normally.
24814
24815 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
24816
24817 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
24818 * config.gcc: Add z16 as march/mtune switch.
24819 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
24820 Recognize z16 with -march=native.
24821 * config/s390/s390-opts.h (enum processor_type): Rename
24822 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
24823 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
24824 (PROCESSOR_3931_Z16): ... throughout the file.
24825 (s390_processor processor_table): Add z16 as cpu string.
24826 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
24827 PF_Z16.
24828 (TARGET_CPU_ARCH14): Rename to ...
24829 (TARGET_CPU_Z16): ... this.
24830 (TARGET_CPU_ARCH14_P): Rename to ...
24831 (TARGET_CPU_Z16_P): ... this.
24832 (TARGET_ARCH14): Rename to ...
24833 (TARGET_Z16): ... this.
24834 (TARGET_ARCH14_P): Rename to ...
24835 (TARGET_Z16_P): ... this.
24836 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
24837 check TARGET_Z16 instead of TARGET_ARCH14.
24838 * config/s390/s390.opt: Add z16 to processor_type.
24839 * doc/invoke.texi: Document z16 and arch14.
24840
24841 2022-04-12 chenglulu <chenglulu@loongson.cn>
24842
24843 * config/loongarch/loongarch.cc: Fix bug for
24844 tmpdir-g++.dg-struct-layout-1/t033.
24845
24846 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
24847
24848 PR target/104894
24849 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
24850 to longcall functions.
24851
24852 2022-04-11 Jason Merrill <jason@redhat.com>
24853
24854 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
24855
24856 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
24857
24858 PR target/105213
24859 PR target/103623
24860 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
24861
24862 2022-04-11 Jakub Jelinek <jakub@redhat.com>
24863
24864 PR tree-optimization/105218
24865 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
24866 more than one predecessor or phi's bb more than 2 predecessors,
24867 reset phi result uses instead of adding a debug temp.
24868
24869 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
24870
24871 PR target/104853
24872 * config.gcc: Pass -misa-spec to arch-canonicalize and
24873 multilib-generator.
24874 * config/riscv/arch-canonicalize: Adding -misa-spec option.
24875 (SUPPORTED_ISA_SPEC): New.
24876 (arch_canonicalize): New argument `isa_spec`.
24877 Handle multiple ISA spec versions.
24878 * config/riscv/multilib-generator: Adding -misa-spec option.
24879
24880 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
24881
24882 * config/riscv/arch-canonicalize: Add TODO item.
24883 (IMPLIED_EXT): Sync.
24884 (arch_canonicalize): Checking until no change.
24885
24886 2022-04-11 Tamar Christina <tamar.christina@arm.com>
24887
24888 PR target/105197
24889 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
24890 not masked.
24891
24892 2022-04-11 Jason Merrill <jason@redhat.com>
24893
24894 PR c++/100370
24895 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
24896 deref == -1.
24897
24898 2022-04-11 Jakub Jelinek <jakub@redhat.com>
24899
24900 PR tree-optimization/104639
24901 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
24902 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
24903 into x != cst3.
24904
24905 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
24906
24907 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
24908 sign bit of the source ends up in CC.
24909
24910 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
24911
24912 PR ipa/103376
24913 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
24914 flag.
24915
24916 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
24917
24918 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
24919 nondeterministic and side_effects flags.
24920
24921 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
24922
24923 PR target/105157
24924 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
24925 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
24926 (TARGET_CPU_MASK): Likewise.
24927 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
24928 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
24929 (aarch64_get_arch): Likewise.
24930 (aarch64_override_options): Use TARGET_CPU_NBITS.
24931
24932 2022-04-08 Richard Biener <rguenther@suse.de>
24933
24934 PR tree-optimization/105198
24935 * tree-predcom.cc (find_looparound_phi): Check whether
24936 the found memory location of the entry value is clobbered
24937 inbetween the value we want to use and loop entry.
24938
24939 2022-04-08 Jakub Jelinek <jakub@redhat.com>
24940
24941 PR tree-optimization/105189
24942 * fold-const.cc (make_range_step): Fix up handling of
24943 (unsigned) x +[low, -] ranges for signed x if low fits into
24944 typeof (x).
24945
24946 2022-04-08 Richard Biener <rguenther@suse.de>
24947
24948 PR tree-optimization/105175
24949 * tree-vect-stmts.cc (vectorizable_operation): Suppress
24950 -Wvector-operation-performance if using emulated vectors.
24951 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
24952 -Wvector-operation-performance when suppressed.
24953 (expand_vector_parallel): Likewise.
24954 (expand_vector_comparison): Likewise.
24955 (expand_vector_condition): Likewise.
24956 (lower_vec_perm): Likewise.
24957 (expand_vector_conversion): Likewise.
24958
24959 2022-04-07 Tamar Christina <tamar.christina@arm.com>
24960
24961 PR target/104409
24962 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
24963 (aarch64_general_init_builtins): Move LS64 code.
24964 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
24965 arm_acle.h
24966 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
24967 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
24968
24969 2022-04-07 Richard Biener <rguenther@suse.de>
24970 Jan Hubicka <hubicka@ucw.cz>
24971
24972 PR ipa/104303
24973 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
24974 ref_may_alias_global_p, ref_may_alias_global_p,
24975 stmt_may_clobber_global_p, pt_solution_includes_global): Add
24976 bool parameters indicating whether escaped locals should be
24977 considered global.
24978 * tree-ssa-structalias.cc (pt_solution_includes_global):
24979 When the new escaped_nonlocal_p flag is true also consider
24980 pt->vars_contains_escaped.
24981 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
24982 Pass down new escaped_nonlocal_p flag.
24983 (ref_may_alias_global_p): Likewise.
24984 (stmt_may_clobber_global_p): Likewise.
24985 (ref_may_alias_global_p_1): Likewise. For decls also
24986 query the escaped solution if true.
24987 (ref_may_access_global_memory_p): Remove.
24988 (modref_may_conflict): Use ref_may_alias_global_p with
24989 escaped locals considered global.
24990 (ref_maybe_used_by_stmt_p): Adjust.
24991 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
24992 Likewise.
24993 * tree-ssa-dse.cc (dse_classify_store): Likewise.
24994 * trans-mem.cc (thread_private_new_memory): Likewise, but
24995 consider escaped locals global.
24996 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
24997
24998 2022-04-07 Richard Biener <rguenther@suse.de>
24999
25000 PR tree-optimization/105185
25001 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
25002 modref query again.
25003
25004 2022-04-07 Tamar Christina <tamar.christina@arm.com>
25005
25006 PR target/104049
25007 * config/aarch64/aarch64-simd.md
25008 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
25009 (reduc_plus_scal_<mode>): ... This.
25010 (reduc_plus_scal_v4sf): Moved.
25011 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
25012 (reduc_plus_scal_v2si): ... This.
25013
25014 2022-04-07 Jakub Jelinek <jakub@redhat.com>
25015
25016 PR tree-optimization/102586
25017 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
25018 langhook.
25019 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
25020 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
25021 * gimple-fold.cc (clear_padding_type): Use ftype instead of
25022 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
25023 name try the lang_hooks.types.classtype_as_base langhook and
25024 if it returns non-NULL, use that instead of ftype for recursive call.
25025
25026 2022-04-07 Jakub Jelinek <jakub@redhat.com>
25027
25028 PR tree-optimization/105150
25029 * tree.cc (tree_builtin_call_types_compatible_p): New function.
25030 (get_call_combined_fn): Use it.
25031
25032 2022-04-07 Richard Biener <rguenther@suse.de>
25033
25034 PR middle-end/105165
25035 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
25036 _Complex outputs.
25037
25038 2022-04-07 liuhongt <hongtao.liu@intel.com>
25039
25040 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
25041 Removed.
25042 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
25043 for mask_applied.
25044 (<code><mode>3<mask_name>): Ditto.
25045 (*<code><mode>3<mask_name>): Ditto.
25046 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
25047 real instruction.
25048 (VFB_512): Ditto.
25049 (VFB): Ditto.
25050
25051 2022-04-06 Jakub Jelinek <jakub@redhat.com>
25052
25053 PR rtl-optimization/104985
25054 * combine.cc (struct undo): Add where.regno member.
25055 (do_SUBST_MODE): Rename to ...
25056 (subst_mode): ... this. Change first argument from rtx * into int,
25057 operate on regno_reg_rtx[regno] and save regno into where.regno.
25058 (SUBST_MODE): Remove.
25059 (try_combine): Use subst_mode instead of SUBST_MODE, change first
25060 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
25061 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
25062 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
25063 instead of *undo->where.r.
25064 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
25065 argument from regno_reg_rtx[whatever] to whatever.
25066
25067 2022-04-06 Jakub Jelinek <jakub@redhat.com>
25068
25069 PR target/105069
25070 * config/sh/sh.opt (mdiv=): Add Save.
25071
25072 2022-04-06 Martin Liska <mliska@suse.cz>
25073
25074 PR driver/105096
25075 * common.opt: Document properly based on what it does.
25076 * gcc.cc (display_help): Unify with what we have in common.opt.
25077 * opts.cc (common_handle_option): Do not print undocumented
25078 options.
25079
25080 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
25081
25082 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
25083 cxx17_empty_base_field_p fields and set an indicator.
25084 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
25085 (mips_function_value_1): Inform psABI change about C++17 empty
25086 bases.
25087
25088 2022-04-06 Jakub Jelinek <jakub@redhat.com>
25089
25090 PR tree-optimization/105150
25091 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
25092 builtin_decl_explicit here...
25093 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
25094 here.
25095
25096 2022-04-06 Richard Biener <rguenther@suse.de>
25097
25098 PR tree-optimization/105173
25099 * tree-ssa-reassoc.cc (find_insert_point): Get extra
25100 insert_before output argument and compute it.
25101 (insert_stmt_before_use): Adjust.
25102 (rewrite_expr_tree): Likewise.
25103
25104 2022-04-06 Richard Biener <rguenther@suse.de>
25105
25106 PR ipa/105166
25107 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
25108 out for non-pointer arguments.
25109
25110 2022-04-06 Richard Biener <rguenther@suse.de>
25111
25112 PR tree-optimization/105163
25113 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
25114 negated abnormals.
25115
25116 2022-04-06 Jakub Jelinek <jakub@redhat.com>
25117
25118 PR tree-optimization/105150
25119 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
25120 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
25121 preferrably on builtin_decl_explicit decl rather than fndecl.
25122 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
25123 gimple_builtin_call_types_compatible_p here.
25124
25125 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
25126
25127 PR tree-optimization/103761
25128 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
25129 the ncopies parameter with an slp_node parameter. Calculate the
25130 number of vectors based on it and vectype. Rename lambda to
25131 group_memory_nvectors.
25132 (vectorizable_store, vectorizable_load): Update calls accordingly.
25133
25134 2022-04-06 Martin Liska <mliska@suse.cz>
25135
25136 * doc/invoke.texi: Document it.
25137
25138 2022-04-06 Richard Biener <rguenther@suse.de>
25139
25140 PR tree-optimization/105148
25141 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
25142 2 and 3 of ARRAY_REFs.
25143
25144 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
25145
25146 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
25147 (*andnottf3): Replace with...
25148 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
25149
25150 2022-04-06 Richard Biener <rguenther@suse.de>
25151
25152 PR tree-optimization/105142
25153 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
25154 basic-block parameter.
25155 (maybe_fold_or_comparisons): Likewise.
25156 * gimple-fold.cc (follow_outer_ssa_edges): New.
25157 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
25158 when an outer condition basic-block is specified.
25159 (and_comparisons_1, and_var_with_comparison,
25160 and_var_with_comparison_1, or_comparisons_1,
25161 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
25162 down the outer condition basic-block.
25163 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
25164 basic-block of the outer condition.
25165
25166 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
25167
25168 PR target/105002
25169 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
25170 comparison codes UNLT/UNLE/UNGT/UNGE.
25171
25172 2022-04-05 David Malcolm <dmalcolm@redhat.com>
25173
25174 * doc/extend.texi (Common Function Attributes): Document that
25175 'access' does not imply 'nonnull'.
25176
25177 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
25178
25179 PR target/105139
25180 * config/i386/mmx.md (*movv2qi_internal):
25181 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
25182
25183 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
25184
25185 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
25186 define_expand and turn operands 0 and 1 from REGs to MEMs.
25187 (*aarch64_cpymemdi): New pattern.
25188 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
25189 from a REG to a MEM.
25190 (*aarch64_setmemdi): New pattern.
25191 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
25192 copy_to_mode_reg on all three registers. Replace the original
25193 MEM addresses rather than creating wild reads and writes.
25194 (aarch64_expand_setmem_mops): Likewise for the size and for the
25195 destination memory and address.
25196
25197 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
25198
25199 PR target/103147
25200 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
25201 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
25202 from aarch64_simd_switcher.
25203 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
25204 New variable.
25205 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
25206 (register_tuple_type): Add more asserts. Expect the alignment
25207 of the structure to be subject to flag_pack_struct and
25208 maximum_field_alignment. Set aarch64_simd_tuple_modes.
25209 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
25210 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
25211 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
25212 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
25213 while calling aarch64_init_simd_builtins.
25214 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
25215 (sve_switcher::~sve_switcher): Remove code now performed by
25216 aarch64_simd_switcher.
25217
25218 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
25219
25220 PR target/104897
25221 * config/aarch64/aarch64-sve-builtins.cc
25222 (function_resolver::infer_vector_or_tuple_type): Use error_n
25223 for "%d vectors" messages.
25224
25225 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
25226
25227 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
25228 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
25229 current clause.
25230
25231 2022-04-05 Richard Biener <rguenther@suse.de>
25232
25233 PR c/105151
25234 * passes.def (pass_walloca): Move early instance into
25235 pass_build_ssa_passes to make SSA form available.
25236
25237 2022-04-05 liuhongt <hongtao.liu@intel.com>
25238
25239 PR target/101908
25240 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
25241 function
25242 (ix86_reorg): Call ix86_split_stlf_stall_load.
25243 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
25244 param.
25245
25246 2022-04-05 Alexandre Oliva <oliva@adacore.com>
25247
25248 * targhooks.cc (default_zero_call_used_regs): Attempt to group
25249 regs that the target refuses to use in their natural modes.
25250 (zcur_select_mode_rtx): New.
25251 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
25252 (hard_regno_max_nregs): Define.
25253 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
25254
25255 2022-04-04 Alex Coplan <alex.coplan@arm.com>
25256
25257 * doc/match-and-simplify.texi: Fix typos.
25258
25259 2022-04-04 Jakub Jelinek <jakub@redhat.com>
25260
25261 PR target/105144
25262 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
25263 only if configured with --enable-maintainer-mode, otherwise compare
25264 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
25265 if they differ, emit a message and fail.
25266
25267 2022-04-04 Jakub Jelinek <jakub@redhat.com>
25268
25269 PR target/105144
25270 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
25271 * config/aarch64/aarch64-tune.md: Regenerated.
25272
25273 2022-04-04 Richard Biener <rguenther@suse.de>
25274
25275 PR tree-optimization/105132
25276 * tree-vect-stmts.cc (vectorizable_operation): Check that
25277 the input vectors have the same number of elements.
25278
25279 2022-04-04 Richard Biener <rguenther@suse.de>
25280
25281 PR middle-end/105140
25282 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
25283
25284 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
25285
25286 PR target/104987
25287 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
25288 (delay slot descripts): Use different delay slot description when
25289 the insn as the "bbi" attribute.
25290 (bbi, bbin patterns): Set the bbi attribute to yes.
25291
25292 2022-04-03 Jakub Jelinek <jakub@redhat.com>
25293
25294 PR target/105123
25295 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
25296 using word as target for expand_simple_binop when doing ASHIFT and
25297 IOR.
25298
25299 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
25300
25301 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
25302 NULL before dereferencing it.
25303
25304 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
25305
25306 * config/i386/i386.cc (zero_all_st_registers): Return the value of
25307 num_of_st.
25308 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
25309 the return value of zero_all_st_registers.
25310 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
25311 * function.cc (gen_call_used_regs_seq): Add an assertion.
25312 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
25313
25314 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
25315
25316 PR target/102024
25317 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
25318 fields, and inform if it causes a psABI change.
25319
25320 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
25321
25322 PR target/102024
25323 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
25324 zero-width bit-fields and set up an indicator.
25325 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
25326 (mips_function_value_1): Diagnose when the presense of a C++
25327 zero-width bit-field changes function returning in GCC 12.
25328
25329 2022-04-01 Jakub Jelinek <jakub@redhat.com>
25330
25331 PR tree-optimization/104645
25332 * tree-ssa-phiopt.cc (value_replacement): If assign has
25333 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
25334 statement with constant evaluation.
25335
25336 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
25337
25338 * config/mips/mips.cc (mips_expand_prologue):
25339 IPL is 8bit for MCU ASE.
25340
25341 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
25342
25343 PR target/104004
25344 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
25345 (MTFSB0): Likewise.
25346 (MTFSB1): Likewise.
25347 (SET_FPSCR_RN): Likewise.
25348 (SET_FPSCR_DRN): Mark nosoft and no32bit.
25349
25350 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
25351
25352 * doc/options.texi (Option file format): Clarifications around
25353 option definition records' help texts.
25354
25355 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
25356
25357 * optc-gen.awk <END>: Fix "Multiple different help strings" error
25358 diagnostic.
25359
25360 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
25361
25362 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
25363 determine_suggested_unroll_factor and m_has_avg.
25364 (determine_suggested_unroll_factor): New function.
25365 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
25366 to set m_nosve_pattern.
25367 (aarch64_vector_costs::finish_costs): Use
25368 determine_suggested_unroll_factor.
25369 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
25370 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
25371
25372 2022-03-31 Martin Jambor <mjambor@suse.cz>
25373
25374 PR ipa/103083
25375 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
25376 (ipa_get_jf_ancestor_keep_null): New function.
25377 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
25378 ancestor function.
25379 (compute_complex_assign_jump_func): Pass false to keep_null
25380 parameter of ipa_set_ancestor_jf.
25381 (compute_complex_ancestor_jump_func): Pass true to keep_null
25382 parameter of ipa_set_ancestor_jf.
25383 (update_jump_functions_after_inlining): Carry over keep_null from the
25384 original ancestor jump-function or merge them.
25385 (ipa_write_jump_function): Stream keep_null flag.
25386 (ipa_read_jump_function): Likewise.
25387 (ipa_print_node_jump_functions_for_edge): Print the new flag.
25388 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
25389 member function known_nonzero_p.
25390 (ipcp_bits_lattice::known_nonzero_p): New.
25391 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
25392 observe it.
25393 (ipcp_bits_lattice::meet_with): Likewise.
25394 (propagate_bits_across_jump_function): Simplify. Pass true in
25395 drop_all_ones when it is necessary.
25396 (propagate_aggs_across_jump_function): Take care of keep_null
25397 flag.
25398 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
25399 jump functions.
25400
25401 2022-03-31 Martin Jambor <mjambor@suse.cz>
25402
25403 PR ipa/102513
25404 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
25405 which do not fit the known value_range.
25406
25407 2022-03-31 Martin Jambor <mjambor@suse.cz>
25408
25409 PR ipa/103171
25410 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
25411 always when an ADDR_EXPR constant is known to reach a load because
25412 of inlining, not just when removing an ADDR reference.
25413
25414 2022-03-31 Richard Biener <rguenther@suse.de>
25415
25416 PR tree-optimization/105109
25417 * tree-ssa.cc (execute_update_addresses_taken): Suppress
25418 diagnostics on the load of the other complex component.
25419
25420 2022-03-31 Tom de Vries <tdevries@suse.de>
25421
25422 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
25423
25424 2022-03-31 Richard Biener <rguenther@suse.de>
25425
25426 PR rtl-optimization/105091
25427 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
25428 bases.
25429
25430 2022-03-31 Richard Biener <rguenther@suse.de>
25431
25432 Revert:
25433 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
25434
25435 PR target/102125
25436 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
25437 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
25438
25439 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
25440
25441 * gcov-io.cc (gcov_read_string): Reword documentation comment.
25442
25443 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
25444
25445 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
25446 stanza.
25447 (NEG_V4SF): Likewise.
25448 (NEG_V4SI): Likewise.
25449 (NEG_V8HI): Likewise.
25450 (NEG_V2DF): Move to [vsx] stanza.
25451 (NEG_V2DI): Likewise.
25452
25453 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
25454
25455 PR middle-end/105032
25456 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
25457
25458 2022-03-30 Tom de Vries <tdevries@suse.de>
25459 Tobias Burnus <tobias@codesourcery.com>
25460
25461 * doc/invoke.texi (march): Document __PTX_SM__.
25462 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
25463 __PTX_ISA_VERSION_MINOR__.
25464
25465 2022-03-30 Jakub Jelinek <jakub@redhat.com>
25466
25467 PR sanitizer/105093
25468 * ubsan.cc (instrument_object_size): If t is equal to inner and
25469 is a decl other than global var, punt. When emitting call to
25470 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
25471
25472 2022-03-30 Jakub Jelinek <jakub@redhat.com>
25473
25474 PR tree-optimization/105094
25475 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
25476 bitsize <= 0 rather than just == 0.
25477
25478 2022-03-30 Tom de Vries <tdevries@suse.de>
25479
25480 * doc/invoke.texi (misa, mptx): Update.
25481 (march, march-map): Add.
25482
25483 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
25484
25485 * opt-functions.awk (n_args): New function.
25486 (lang_enabled_by): Merge function into...
25487 * optc-gen.awk <END>: ... sole user here.
25488 Improve diagnostics.
25489
25490 2022-03-29 Marek Polacek <polacek@redhat.com>
25491 Jakub Jelinek <jakub@redhat.com>
25492
25493 PR middle-end/103597
25494 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
25495 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
25496 (gimplify_cond_expr): Set UNUSED_LABEL_P.
25497 * tree.h (UNUSED_LABEL_P): New.
25498
25499 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
25500
25501 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
25502 be any VSX register.
25503
25504 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
25505
25506 PR target/102024
25507 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
25508 zero-sized bit-fields. Detect cases where a warning may be needed.
25509 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
25510 zero-sized bit-field has caused parameter passing to change.
25511
25512 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
25513
25514 PR target/102024
25515 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
25516 bit-fields. Detect cases where a warning may be needed.
25517 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
25518 a zero-sized bit-field has caused parameter passing to change.
25519
25520 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
25521
25522 PR target/96882
25523 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
25524 ARM_PCS_AAPCS_LOCAL.
25525
25526 2022-03-29 Tom de Vries <tdevries@suse.de>
25527
25528 PR target/104857
25529 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
25530 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
25531 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
25532 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
25533
25534 2022-03-29 Tom de Vries <tdevries@suse.de>
25535
25536 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
25537 is ignored.
25538
25539 2022-03-29 Tom de Vries <tdevries@suse.de>
25540
25541 PR target/104714
25542 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
25543
25544 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
25545
25546 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
25547 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
25548 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
25549 (TARGET_USE_GATHER_4PARTS): New macro.
25550 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
25551 (X86_TUNE_USE_GATHER_4PARTS): New tune
25552
25553 2022-03-29 Tom de Vries <tdevries@suse.de>
25554
25555 * config/nvptx/nvptx.opt (march): Add alias of misa.
25556
25557 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
25558 Lulu Cheng <chenglulu@loongson.cn>
25559
25560 * doc/install.texi: Add LoongArch options section.
25561 * doc/invoke.texi: Add LoongArch options section.
25562 * doc/md.texi: Add LoongArch options section.
25563
25564 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
25565 Lulu Cheng <chenglulu@loongson.cn>
25566
25567 * config/loongarch/loongarch-c.cc
25568
25569 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
25570 Lulu Cheng <chenglulu@loongson.cn>
25571
25572 * config/loongarch/larchintrin.h: New file.
25573 * config/loongarch/loongarch-builtins.cc: New file.
25574
25575 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
25576 Lulu Cheng <chenglulu@loongson.cn>
25577
25578 * config/host-linux.cc: Add LoongArch support.
25579 * config/loongarch/loongarch-protos.h: New file.
25580 * config/loongarch/loongarch-tune.h: Likewise.
25581 * config/loongarch/loongarch.cc: Likewise.
25582 * config/loongarch/loongarch.h: Likewise.
25583
25584 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
25585 Lulu Cheng <chenglulu@loongson.cn>
25586
25587 * config/loongarch/constraints.md: New file.
25588 * config/loongarch/generic.md: New file.
25589 * config/loongarch/la464.md: New file.
25590 * config/loongarch/loongarch-ftypes.def: New file.
25591 * config/loongarch/loongarch-modes.def: New file.
25592 * config/loongarch/loongarch.md: New file.
25593 * config/loongarch/predicates.md: New file.
25594 * config/loongarch/sync.md: New file.
25595
25596 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
25597 Lulu Cheng <chenglulu@loongson.cn>
25598
25599 * configure: Regenerate file.
25600
25601 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
25602 Lulu Cheng <chenglulu@loongson.cn>
25603
25604 * common/config/loongarch/loongarch-common.cc: New file.
25605 * config/loongarch/genopts/genstr.sh: New file.
25606 * config/loongarch/genopts/loongarch-strings: New file.
25607 * config/loongarch/genopts/loongarch.opt.in: New file.
25608 * config/loongarch/loongarch-str.h: New file.
25609 * config/loongarch/gnu-user.h: New file.
25610 * config/loongarch/linux.h: New file.
25611 * config/loongarch/loongarch-cpu.cc: New file.
25612 * config/loongarch/loongarch-cpu.h: New file.
25613 * config/loongarch/loongarch-def.c: New file.
25614 * config/loongarch/loongarch-def.h: New file.
25615 * config/loongarch/loongarch-driver.cc: New file.
25616 * config/loongarch/loongarch-driver.h: New file.
25617 * config/loongarch/loongarch-opts.cc: New file.
25618 * config/loongarch/loongarch-opts.h: New file.
25619 * config/loongarch/loongarch.opt: New file.
25620 * config/loongarch/t-linux: New file.
25621 * config/loongarch/t-loongarch: New file.
25622 * config.gcc: Add LoongArch support.
25623 * configure.ac: Add LoongArch support.
25624
25625 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
25626
25627 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
25628 typo.
25629
25630 2022-03-29 Richard Biener <rguenther@suse.de>
25631
25632 PR tree-optimization/105080
25633 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
25634 loops and SCEV.
25635
25636 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
25637
25638 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
25639 (output_ctf_vars): Likewise.
25640
25641 2022-03-28 Jason Merrill <jason@redhat.com>
25642
25643 PR c++/59426
25644 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
25645
25646 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
25647
25648 PR target/105068
25649 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
25650 "Yw" in clobber.
25651
25652 2022-03-28 Tom de Vries <tdevries@suse.de>
25653
25654 PR target/104818
25655 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
25656 * config/nvptx/nvptx-gen.opt: Regenerate.
25657 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
25658 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
25659 gen-opt.sh.
25660
25661 2022-03-28 David Malcolm <dmalcolm@redhat.com>
25662
25663 PR analyzer/104308
25664 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
25665 to loads then stores, set the location of the new load stmt.
25666
25667 2022-03-28 Richard Biener <rguenther@suse.de>
25668
25669 PR tree-optimization/105070
25670 * tree-switch-conversion.h
25671 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
25672 argument.
25673 * tree-switch-conversion.cc
25674 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
25675 cond with location.
25676 (bit_test_cluster::emit): Annotate all generated expressions
25677 with location.
25678
25679 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
25680
25681 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
25682
25683 2022-03-28 liuhongt <hongtao.liu@intel.com>
25684
25685 PR target/105066
25686 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
25687 alternative 4 from sse4_noavx to noavx.
25688
25689 2022-03-28 Jakub Jelinek <jakub@redhat.com>
25690
25691 PR tree-optimization/105056
25692 * tree-predcom.cc (component::component): Initialize also comp_step.
25693
25694 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
25695
25696 PR target/105068
25697 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
25698 "Yw".
25699
25700 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
25701
25702 PR middle-end/104885
25703 * calls.cc (mark_stack_region_used): Check that the region
25704 is within the allocated size of stack_usage_map.
25705
25706 2022-03-26 Jakub Jelinek <jakub@redhat.com>
25707
25708 PR rtl-optimization/103775
25709 * recog.cc (check_invalid_inc_dec): New function.
25710 (insn_invalid_p): Return 1 if REG_INC operand overlaps
25711 any stored REGs.
25712
25713 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
25714
25715 PR target/105058
25716 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
25717 (aes<aesklvariant>u8): Likewise.
25718
25719 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
25720
25721 PR target/105052
25722 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
25723 Replace "Yv" with "x".
25724 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
25725 (ssse3_psign<mode>3): Likewise.
25726
25727 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
25728
25729 * reload.cc (find_reloads): Align comment with code where
25730 considering the intersection of register classes then tweaking the
25731 regclass for the current alternative or rejecting it.
25732
25733 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
25734
25735 PR target/104882
25736 Revert
25737 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
25738
25739 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
25740 (mve_vec_unpack<US>_hi_<mode>): Delete.
25741 (@mve_vec_pack_trunc_lo_<mode>): Delete.
25742 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
25743 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
25744 from vec-common.md.
25745 (vec_unpack<US>_lo_<mode>): Likewise.
25746 (vec_pack_trunc_<mode>): Rename from
25747 neon_quad_vec_pack_trunc_<mode>.
25748 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
25749 (vec_unpack<US>_lo_<mode>): Delete.
25750 (vec_pack_trunc_<mode>): Delete.
25751
25752 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
25753
25754 PR middle-end/104971
25755 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
25756 regs to clear remove_p flag.
25757
25758 2022-03-25 Richard Biener <rguenther@suse.de>
25759
25760 PR tree-optimization/105053
25761 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
25762 the correct live-out stmt for a reduction chain.
25763
25764 2022-03-25 Richard Biener <rguenther@suse.de>
25765
25766 PR middle-end/105049
25767 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
25768 CONSTRUCTOR first elements.
25769
25770 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
25771
25772 PR analyzer/103533
25773 * doc/invoke.texi (Static Analyzer Options): Move
25774 @ignore block after @gccoptlist's '}' for 'make pdf'.
25775
25776 2022-03-25 David Malcolm <dmalcolm@redhat.com>
25777
25778 PR analyzer/104954
25779 * doc/invoke.texi (Static Analyzer Options): Add
25780 -fdump-analyzer-untracked.
25781
25782 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
25783
25784 PR analyzer/103533
25785 * doc/invoke.texi: Document that enabling taint analyzer
25786 checker disables some warnings from `-fanalyzer`.
25787
25788 2022-03-24 Alexandre Oliva <oliva@adacore.com>
25789
25790 PR debug/104564
25791 * gimple-harden-conditionals.cc (detach_value): Keep temps
25792 anonymous.
25793
25794 2022-03-24 Alexandre Oliva <oliva@adacore.com>
25795
25796 PR middle-end/104975
25797 * gimple-harden-conditionals.cc
25798 (pass_harden_compares::execute): Force split in case of
25799 multiple edges.
25800
25801 2022-03-24 Jakub Jelinek <jakub@redhat.com>
25802
25803 PR c++/105035
25804 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
25805 field0 or field1 is not a FIELD_DECL, return false.
25806
25807 2022-03-24 Richard Biener <rguenther@suse.de>
25808
25809 * tree-predcom.cc (chain::chain): Add CTOR.
25810 (component::component): Likewise.
25811 (pcom_worker::release_chain): Use delete.
25812 (release_components): Likewise.
25813 (pcom_worker::filter_suitable_components): Likewise.
25814 (pcom_worker::split_data_refs_to_components): Use new.
25815 (make_invariant_chain): Likewise.
25816 (make_rooted_chain): Likewise.
25817 (pcom_worker::combine_chains): Likewise.
25818 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
25819 Make sure to release previously constructed scalar_results.
25820 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
25821 for vec_offsets.
25822 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
25823 Release m_flag_set_edges.
25824
25825 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
25826
25827 PR tree-optimization/104970
25828 * tree-object-size.cc (parm_object_size): Restrict size
25829 computation scenarios to explicit access attributes.
25830
25831 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
25832
25833 PR target/104967
25834 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
25835 function types.
25836
25837 2022-03-23 Richard Biener <rguenther@suse.de>
25838
25839 PR target/102125
25840 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
25841 use of movmisalign when either the source or destination
25842 decl is properly aligned.
25843
25844 2022-03-23 Richard Biener <rguenther@suse.de>
25845
25846 PR rtl-optimization/105028
25847 * ira-color.cc (form_threads_from_copies): Remove unnecessary
25848 copying of the sorted_copies tail.
25849
25850 2022-03-23 Martin Liska <mliska@suse.cz>
25851
25852 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
25853 Use %qs in format.
25854 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
25855 Reword the error message.
25856
25857 2022-03-23 liuhongt <hongtao.liu@intel.com>
25858
25859 PR target/104976
25860 * config/i386/sse.md (ssePSmodelower): New.
25861 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
25862 lowpart_subreg to avoid NULL_RTX.
25863 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
25864 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
25865 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
25866 <avx512>_<complexopname>_<mode>_mask<round_name>,
25867 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
25868 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
25869 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
25870 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
25871 float<floatunssuffix><mode>v4hf2,
25872 float<floatunssuffix>v2div2hf2,
25873 fix<fixunssuffix>_truncv4hf<mode>2,
25874 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
25875 extendv2hfv2df2,
25876 trunc<mode>v4hf2,truncv2dfv2hf2,
25877 *avx512bw_permvar_truncv16siv16hi_1,
25878 *avx512bw_permvar_truncv16siv16hi_1_hf,
25879 *avx512f_permvar_truncv8siv8hi_1,
25880 *avx512f_permvar_truncv8siv8hi_1_hf,
25881 *avx512f_vpermvar_truncv8div8si_1,
25882 *avx512f_permvar_truncv32hiv32qi_1,
25883 *avx512f_permvar_truncv16hiv16qi_1,
25884 *avx512f_permvar_truncv4div4si_1,
25885 *avx512f_pshufb_truncv8hiv8qi_1,
25886 *avx512f_pshufb_truncv4siv4hi_1,
25887 *avx512f_pshufd_truncv2div2si_1,
25888 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
25889 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
25890
25891 2022-03-22 Tom de Vries <tdevries@suse.de>
25892
25893 PR target/104925
25894 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
25895 Use % as register prefix.
25896
25897 2022-03-22 Tom de Vries <tdevries@suse.de>
25898
25899 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
25900 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
25901 mexperimental.
25902
25903 2022-03-22 Tom de Vries <tdevries@suse.de>
25904
25905 * config/nvptx/nvptx.opt (mexperimental): New option.
25906
25907 2022-03-22 Tom de Vries <tdevries@suse.de>
25908
25909 PR target/104957
25910 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
25911 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
25912 for alias.
25913 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
25914 (nvptx_asm_output_def_from_decls): New function.
25915 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
25916 gcc_unreachable ().
25917 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
25918 nvptx_asm_output_def_from_decls.
25919 * config/nvptx/nvptx.opt (malias): New opt.
25920
25921 2022-03-22 Tom de Vries <tdevries@suse.de>
25922
25923 PR target/104916
25924 PR target/104783
25925 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
25926 sync (or uniform warp check for mptx < 6.0).
25927
25928 2022-03-22 Richard Biener <rguenther@suse.de>
25929
25930 PR tree-optimization/105012
25931 * tree-if-conv.cc (ifcvt_local_dce): Only call
25932 dse_classify_store when we have a VDEF.
25933
25934 2022-03-22 Martin Liska <mliska@suse.cz>
25935
25936 PR target/104902
25937 * config/nvptx/nvptx.cc (handle_ptx_version_option):
25938 Fix option wrapping in an error message.
25939
25940 2022-03-22 Martin Liska <mliska@suse.cz>
25941
25942 PR target/104903
25943 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
25944 Wrap const keyword.
25945
25946 2022-03-22 Martin Liska <mliska@suse.cz>
25947
25948 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
25949 name.
25950
25951 2022-03-22 Martin Liska <mliska@suse.cz>
25952
25953 PR target/104898
25954 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
25955 Use %qs instead of (%qs).
25956
25957 2022-03-22 Martin Liska <mliska@suse.cz>
25958
25959 PR target/104898
25960 * config/i386/i386-options.cc (ix86_option_override_internal):
25961 Use '%qs' instead of '(%qs)'.
25962
25963 2022-03-22 Martin Liska <mliska@suse.cz>
25964
25965 PR target/104898
25966 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
25967 Use 'qs' and remove usage '(%qs)'.
25968 (aarch64_handle_attr_cpu): Likewise.
25969 (aarch64_handle_attr_tune): Likewise.
25970 (aarch64_handle_attr_isa_flags): Likewise.
25971
25972 2022-03-22 Tamar Christina <tamar.christina@arm.com>
25973 Andre Vieira <andre.simoesdiasvieira@arm.com>
25974
25975 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
25976 struct.
25977 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
25978 cost.
25979 (neoverse512tvb_tunings): Likewise.
25980
25981 2022-03-22 Tamar Christina <tamar.christina@arm.com>
25982 Andre Vieira <andre.simoesdiasvieira@arm.com>
25983
25984 * config/aarch64/aarch64.cc (demeter_addrcost_table,
25985 demeter_regmove_cost, demeter_advsimd_vector_cost,
25986 demeter_sve_vector_cost, demeter_scalar_issue_info,
25987 demeter_advsimd_issue_info, demeter_sve_issue_info,
25988 demeter_vec_issue_info, demeter_vector_cost,
25989 demeter_tunings): New tuning structs.
25990 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
25991 tuning.
25992 * config/aarch64/aarch64-cores.def: Add entry for demeter.
25993 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
25994
25995 2022-03-22 Tamar Christina <tamar.christina@arm.com>
25996 Andre Vieira <andre.simoesdiasvieira@arm.com>
25997
25998 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
25999 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
26000 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
26001 tunings to use cpu_memmov_cost struct.
26002
26003 2022-03-22 Tamar Christina <tamar.christina@arm.com>
26004 Andre Vieira <andre.simoesdiasvieira@arm.com>
26005
26006 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
26007 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
26008 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
26009 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
26010 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
26011 (neoversen2_tunings): Use new structs and update tuning flags.
26012 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
26013 tuning.
26014
26015 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
26016
26017 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
26018 bit.
26019
26020 2022-03-22 liuhongt <hongtao.liu@intel.com>
26021
26022 PR target/104982
26023 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
26024 following splitter to reversed condition.
26025
26026 2022-03-22 Jakub Jelinek <jakub@redhat.com>
26027
26028 PR rtl-optimization/104989
26029 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
26030 sorry for passing too large argument, instead set sibcall_failure
26031 for pass == 0, or a new normal_failure flag otherwise. If
26032 normal_failure is set, don't assert all stack has been deallocated
26033 at the end and throw away the whole insn sequence.
26034
26035 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
26036
26037 * print-tree.cc: Change array length
26038
26039 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
26040
26041 PR target/104978
26042 * config/i386/sse.md
26043 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
26044 Use avx512f_movsf_mask instead of vmovaps or vblend, and
26045 force_reg before lowpart_subreg.
26046 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
26047
26048 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
26049
26050 PR target/105000
26051 * common/config/i386/i386-common.cc
26052 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
26053 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
26054
26055 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
26056
26057 PR target/104998
26058 * common/config/i386/cpuinfo.h (get_available_features): Pass
26059 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
26060 bit_AESKLE is set.
26061
26062 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
26063
26064 PR middle-end/104869
26065 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
26066 (clobber_group::next_clobber): Likewise.
26067 (def_lookup::prev_def): Rename to...
26068 (def_lookup::last_def_of_prev_group): ...this.
26069 (def_lookup::next_def): Rename to...
26070 (def_lookup::first_def_of_next_group): ...this.
26071 (def_lookup::matching_or_prev_def): Rename to...
26072 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
26073 (def_lookup::matching_or_next_def): Rename to...
26074 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
26075 (def_lookup::prev_def): New function, taking the lookup insn as
26076 argument.
26077 (def_lookup::next_def): Likewise.
26078 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
26079 (def_lookup::last_def_of_prev_group): ...this.
26080 (def_lookup::next_def): Rename to...
26081 (def_lookup::first_def_of_next_group): ...this.
26082 (def_lookup::matching_or_prev_def): Rename to...
26083 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
26084 (def_lookup::matching_or_next_def): Rename to...
26085 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
26086 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
26087 above renaming.
26088 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
26089 (clobber_group::next_clobber): Likewise.
26090 (def_lookup::prev_def): Likewise.
26091 (def_lookup::next_def): Likewise.
26092 (function_info::make_use_available): Pass the lookup insn to
26093 def_lookup::prev_def and def_lookup::next_def.
26094
26095 2022-03-21 Martin Liska <mliska@suse.cz>
26096
26097 * doc/invoke.texi: Document min-pagesize parameter.
26098
26099 2022-03-21 Richard Biener <rguenther@suse.de>
26100
26101 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
26102 we are estimating niter of loop.
26103
26104 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
26105
26106 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
26107 Update flag name and mask name.
26108 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
26109 misc macro for vector extensions.
26110 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
26111 (MASK_VECTOR_ELEN_32): ... this.
26112 (MASK_VECTOR_EEW_64): Rename to ...
26113 (MASK_VECTOR_ELEN_64): ... this.
26114 (MASK_VECTOR_EEW_FP_32): Rename to ...
26115 (MASK_VECTOR_ELEN_FP_32): ... this.
26116 (MASK_VECTOR_EEW_FP_64): Rename to ...
26117 (MASK_VECTOR_ELEN_FP_64): ... this.
26118 (TARGET_VECTOR_ELEN_32): New.
26119 (TARGET_VECTOR_ELEN_64): Ditto.
26120 (TARGET_VECTOR_ELEN_FP_32): Ditto.
26121 (TARGET_VECTOR_ELEN_FP_64): Ditto.
26122 (TARGET_MIN_VLEN): Ditto.
26123 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
26124 (riscv_vector_elen_flags): ... this.
26125
26126 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
26127
26128 PR target/104977
26129 * config/i386/sse.md
26130 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
26131 Correct round operand for intel dialect.
26132
26133 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
26134
26135 * diagnostic.cc (diagnostic_cc_tests): Rename to...
26136 (c_diagnostic_cc_tests): ...this.
26137 * opt-problem.cc (opt_problem_cc_tests): Rename to...
26138 (c_opt_problem_cc_tests): ...this.
26139 * selftest-run-tests.cc (selftest::run_tests): No longer run
26140 opt_problem_cc_tests or diagnostic_cc_tests.
26141 * selftest.h (diagnostic_cc_tests): Remove declaration.
26142 (opt_problem_cc_tests): Likewise.
26143
26144 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
26145
26146 PR jit/63854
26147 * hash-traits.h (struct typed_const_free_remove): New.
26148 (struct free_string_hash): New.
26149 * pass_manager.h: Use free_string_hash.
26150 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
26151 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
26152
26153 2022-03-19 Jakub Jelinek <jakub@redhat.com>
26154
26155 PR middle-end/104971
26156 * config/i386/i386-expand.cc
26157 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
26158 don't push/pop anything and just return const0_rtx.
26159
26160 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
26161
26162 PR rtl-optimization/104961
26163 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
26164
26165 2022-03-18 Jason Merrill <jason@redhat.com>
26166
26167 * tree.h (IDENTIFIER_LENGTH): Add comment.
26168
26169 2022-03-18 Jakub Jelinek <jakub@redhat.com>
26170
26171 PR middle-end/99578
26172 PR middle-end/100680
26173 PR tree-optimization/100834
26174 * params.opt (--param=min-pagesize=): New parameter.
26175 * pointer-query.cc
26176 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
26177 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
26178 of zero for pointer constants equal or larger than min-pagesize.
26179
26180 2022-03-18 Tom de Vries <tdevries@suse.de>
26181
26182 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
26183 Set gfor location only when dealing with a OMP_TASKLOOP.
26184
26185 2022-03-18 Tom de Vries <tdevries@suse.de>
26186
26187 * gimplify.cc (gimplify_omp_for): Set taskloop location.
26188
26189 2022-03-18 Tom de Vries <tdevries@suse.de>
26190
26191 PR target/104952
26192 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
26193 is executed unconditionally.
26194
26195 2022-03-18 liuhongt <hongtao.liu@intel.com>
26196
26197 PR target/104974
26198 * config/i386/i386.md (*movhi_internal): Set attr type from HI
26199 to HF for alternative 12 under TARGET_AVX512FP16.
26200
26201 2022-03-18 Cui,Lili <lili.cui@intel.com>
26202
26203 PR target/104963
26204 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
26205 * doc/invoke.texi: Update documents for Intel sapphirerapids.
26206
26207 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
26208
26209 PR target/86722
26210 PR tree-optimization/90356
26211 * config/i386/i386.md (*movtf_internal): Don't guard
26212 standard_sse_constant_p clause by optimize_function_for_size_p.
26213 (*movdf_internal): Likewise.
26214 (*movsf_internal): Likewise.
26215
26216 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
26217
26218 PR tree-optimization/102943
26219 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
26220 dominators and apply intermediary outgoing edge ranges.
26221
26222 2022-03-17 Richard Biener <rguenther@suse.de>
26223
26224 PR tree-optimization/104960
26225 * passes.def: Add pass parameter to pass_sink_code, mark
26226 last one to unsplit edges.
26227 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
26228 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
26229 when we need to unsplit edges.
26230
26231 2022-03-17 Jakub Jelinek <jakub@redhat.com>
26232
26233 PR middle-end/103984
26234 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
26235 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
26236 and asan unpoisioning, then append the temporary sequence and
26237 finally the TARGET_EXPR_CLEANUP clobbers.
26238
26239 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
26240
26241 * config/i386/sse.md: Delete corrupt character/typo.
26242
26243 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
26244
26245 PR target/94680
26246 * config/i386/sse.md (sse2_movq128): New define_expand to
26247 preserve previous named instruction.
26248 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
26249 generalized to VI8F_128 (both V2DI and V2DF).
26250
26251 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
26252
26253 PR tree-optimization/104941
26254 * tree-object-size.cc (size_for_offset): Make useless conversion
26255 check lighter and assign result of fold_convert to OFFSET.
26256
26257 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
26258
26259 PR target/104890
26260 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
26261 pushing target("general-regs-only").
26262
26263 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
26264
26265 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
26266 Add version info for zk, zks and zkn.
26267
26268 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
26269
26270 * common/config/riscv/riscv-common.cc
26271 (riscv_combine_info): New.
26272 (riscv_subset_list::handle_combine_ext): Combine back into zk to
26273 maintain the canonical order in isa strings.
26274 (riscv_subset_list::parse): Ditto.
26275 * config/riscv/riscv-subset.h (handle_combine_ext): New.
26276
26277 2022-03-16 Richard Biener <rguenther@suse.de>
26278
26279 PR tree-optimization/102008
26280 * passes.def: Move the added code sinking pass before the
26281 preceeding phiopt pass.
26282
26283 2022-03-16 Patrick Palka <ppalka@redhat.com>
26284
26285 PR c++/96780
26286 * doc/invoke.texi (C++ Dialect Options): Document
26287 -ffold-simple-inlines.
26288
26289 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
26290
26291 PR tree-optimization/104942
26292 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
26293
26294 2022-03-16 Jakub Jelinek <jakub@redhat.com>
26295
26296 PR target/104910
26297 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
26298 imm rtx.
26299
26300 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
26301 Richard Biener <rguenther@suse.de>
26302
26303 * gimple-match-head.cc (single_use): Implement inline using a
26304 single loop.
26305
26306 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
26307
26308 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
26309 instead of HONOR_NANS.
26310 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
26311 this can't trap/signal.
26312
26313 2022-03-16 liuhongt <hongtao.liu@intel.com>
26314
26315 PR target/104946
26316 * config/i386/i386-builtin.def (BDESC): Add
26317 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
26318 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
26319 __builtin_ia32_blendvpd w/o sse4.2
26320
26321 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
26322
26323 PR target/104923
26324 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
26325 acceptable MEM addresses.
26326
26327 2022-03-15 Jakub Jelinek <jakub@redhat.com>
26328
26329 PR target/91229
26330 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
26331 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
26332 to warning calls.
26333
26334 2022-03-15 Jakub Jelinek <jakub@redhat.com>
26335
26336 PR target/104890
26337 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
26338 instead of general-regs-only.
26339
26340 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
26341 Marc Glisse <marc.glisse@inria.fr>
26342 Richard Biener <rguenther@suse.de>
26343
26344 PR tree-optimization/101895
26345 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
26346 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
26347
26348 2022-03-15 Jakub Jelinek <jakub@redhat.com>
26349
26350 PR rtl-optimization/104814
26351 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
26352 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
26353
26354 2022-03-15 Martin Sebor <msebor@redhat.com>
26355
26356 PR middle-end/104436
26357 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
26358 Check for warning suppression. Avoid by-value arguments transformed
26359 into by-transparent-reference.
26360
26361 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
26362 Uroš Bizjak <ubizjak@gmail.com>
26363
26364 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
26365 transformation when *zero_extend<mode>si2 is not available.
26366
26367 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
26368
26369 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
26370 * config/mips/mips.cc (mips_option_override): Make
26371 -fsanitize=address imply -fasynchronous-unwind-tables. This is
26372 needed by libasan for stack backtrace on MIPS.
26373 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
26374
26375 2022-03-14 Jakub Jelinek <jakub@redhat.com>
26376
26377 PR debug/104778
26378 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
26379 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
26380 call simplified the first operand into VOIDmode constant.
26381
26382 2022-03-14 Jakub Jelinek <jakub@redhat.com>
26383
26384 PR tree-optimization/102586
26385 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
26386 argument type should be pointer to trivially-copyable type unless it
26387 is address of a variable or parameter.
26388
26389 2022-03-14 Jakub Jelinek <jakub@redhat.com>
26390
26391 PR target/99754
26392 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
26393 first rather than last element of the vector, use __m32_u to do
26394 a really unaligned load, use just 0 instead of (int)0.
26395 (_mm_loadu_si16): Put loaded value into first rather than last
26396 element of the vector, use __m16_u to do a really unaligned load,
26397 use just 0 instead of (short)0.
26398
26399 2022-03-14 Jakub Jelinek <jakub@redhat.com>
26400
26401 PR other/104899
26402 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
26403 in diagnostic message - cannott -> cannot. Use %< and %> around
26404 names of attribute. Avoid too long line.
26405 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
26406 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
26407
26408 2022-03-14 liuhongt <hongtao.liu@intel.com>
26409
26410 PR target/104666
26411 * config/i386/i386-expand.cc
26412 (ix86_check_builtin_isa_match): New func.
26413 (ix86_expand_builtin): Move code to
26414 ix86_check_builtin_isa_match and call it.
26415 * config/i386/i386-protos.h
26416 (ix86_check_builtin_isa_match): Declare.
26417 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
26418 builtin into gimple when isa mismatches.
26419
26420 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
26421
26422 * doc/invoke.texi: Fix typos.
26423 * doc/tm.texi.in: Remove duplicated word.
26424 * doc/tm.texi: Regenerate.
26425
26426 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
26427
26428 PR target/104829
26429 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
26430 "ppc" and "ppc64" based on rs6000_cpu.
26431
26432 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
26433
26434 PR middle-end/100280
26435 PR middle-end/104892
26436 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
26437 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
26438
26439 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
26440
26441 PR middle-end/100280
26442 PR middle-end/104086
26443 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
26444 Mark variables used in 'present' clauses as addressable.
26445 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
26446 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
26447
26448 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
26449
26450 PR other/65095
26451 * tree-core.h (user_omp_claus_code_name): Declare function.
26452 * tree.cc (user_omp_clause_code_name): New function.
26453
26454 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
26455
26456 PR middle-end/98420
26457 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
26458 (the defaut) or -fno-signed-zeros.
26459
26460 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
26461
26462 PR target/104868
26463 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
26464 moving from a GPR register to an Altivec register.
26465
26466 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
26467
26468 PR tree-optimization/98335
26469 * config/i386/i386.md (peephole2): Eliminate redundant insv.
26470 Combine movl followed by movb. Transform xorl followed by
26471 a suitable movb or movw into the equivalent movz[bw]l.
26472
26473 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
26474 Richard Biener <rguenther@suse.de>
26475
26476 PR tree-optimization/98335
26477 * builtins.cc (get_object_alignment_2): Export.
26478 * builtins.h (get_object_alignment_2): Likewise.
26479 * tree-ssa-alias.cc (ao_ref_alignment): New.
26480 * tree-ssa-alias.h (ao_ref_alignment): Declare.
26481 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
26482 to align head/tail, writing more bytes but using fewer store insns.
26483
26484 2022-03-11 Richard Biener <rguenther@suse.de>
26485
26486 PR tree-optimization/104880
26487 * tree-ssa.cc (execute_update_address_taken): Remember if we
26488 optimistically made something not addressable and
26489 prepare to undo it.
26490
26491 2022-03-11 Richard Biener <rguenther@suse.de>
26492
26493 PR target/104762
26494 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
26495 cost the first lane of SSE pieces as inserts for vec_construct.
26496
26497 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
26498
26499 PR c++/84964
26500 * calls.cc (expand_call): Ignore stack adjustments after sorry.
26501
26502 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
26503
26504 PR target/103074
26505 * lra-constraints.cc (split_reg): Set up
26506 check_and_force_assignment_correctness_p when splitting hard
26507 register live range.
26508
26509 2022-03-10 Martin Jambor <mjambor@suse.cz>
26510
26511 PR ipa/104813
26512 * ipa-cp.cc (create_specialized_node): Move removal of
26513 self-recursive calls from callers vector before refrence
26514 adjustments.
26515
26516 2022-03-10 Richard Biener <rguenther@suse.de>
26517
26518 PR tree-optimization/102943
26519 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
26520 Make a bitmap_head.
26521 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
26522 to tree view.
26523 (sbr_sparse_bitmap::set_bb_range): Adjust.
26524 (sbr_sparse_bitmap::get_bb_range): Likewise.
26525
26526 2022-03-10 Richard Biener <rguenther@suse.de>
26527
26528 PR tree-optimization/102943
26529 * tree-ssa-dom.cc (back_propagate_equivalences): Only
26530 populate the dominance bitmap if fast queries are not
26531 available. Use a tree view bitmap.
26532 (record_temporary_equivalences): Cache the dominance bitmap
26533 across all equivalences on the edge.
26534
26535 2022-03-10 Tom de Vries <tdevries@suse.de>
26536
26537 PR target/104840
26538 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
26539 of false,true.
26540
26541 2022-03-10 Tom de Vries <tdevries@suse.de>
26542
26543 PR target/104783
26544 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
26545 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
26546 (nvptx_get_unisimt_outside_simt_predicate): New function.
26547 (predicate_insn): New function, factored out of ...
26548 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
26549 * config/nvptx/nvptx.h (struct machine_function): Add
26550 unisimt_outside_simt_predicate field.
26551 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
26552 (define_insn "nvptx_uniform_warp_check"): Make predicable.
26553
26554 2022-03-10 Tom de Vries <tdevries@suse.de>
26555
26556 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
26557 result.
26558
26559 2022-03-10 Tom de Vries <tdevries@suse.de>
26560
26561 PR target/104815
26562 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
26563 modifier.
26564 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
26565
26566 2022-03-10 Tom de Vries <tdevries@suse.de>
26567
26568 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
26569 Emit atom.and.b64 instead of atom.b64.and.
26570
26571 2022-03-10 Tom de Vries <tdevries@suse.de>
26572
26573 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
26574 (MULTILIB_OPTIONS): ... here.
26575
26576 2022-03-10 Tom de Vries <tdevries@suse.de>
26577
26578 PR target/104758
26579 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
26580 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
26581
26582 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
26583
26584 PR middle-end/90115
26585 PR middle-end/102330
26586 PR middle-end/104774
26587 * omp-low.cc (oacc_privatization_candidate_p)
26588 (oacc_privatization_scan_clause_chain)
26589 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
26590 Analyze 'lookup_decl'-translated DECL.
26591
26592 2022-03-10 Jakub Jelinek <jakub@redhat.com>
26593
26594 PR target/99708
26595 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
26596 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
26597 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
26598 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
26599 "**NULL**" if type_node is NULL first. Handle
26600 ieee128_float_type_node.
26601 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
26602 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
26603 ieee128_float_type_node to NULL rather than long_double_type_node if
26604 they aren't supported. Do support __ibm128 even if
26605 !TARGET_FLOAT128_TYPE when long double is double double.
26606 (rs6000_expand_builtin): Error if bif_is_ibm128 and
26607 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
26608 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
26609 for it.
26610 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
26611 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
26612 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
26613 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
26614 Formatting fix.
26615 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
26616 (struct attrinfo): Add isibm128 member.
26617 (TYPE_MAP_SIZE): Remove.
26618 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
26619 ibm128_float_type_node only if it is non-NULL, otherwise fall back
26620 to long_double_type_node. Remove "pif" entry.
26621 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
26622 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
26623 (write_type_node): Use sizeof type_map / sizeof type_map[0]
26624 instead of TYPE_MAP_SIZE.
26625 (write_bif_static_init): Handle isibm128.
26626 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
26627 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
26628 attribute.
26629
26630 2022-03-09 Richard Biener <rguenther@suse.de>
26631
26632 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
26633 with non-decl operand, avoiding a copy.
26634
26635 2022-03-09 Jakub Jelinek <jakub@redhat.com>
26636
26637 PR target/104781
26638 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
26639
26640 2022-03-09 Richard Biener <rguenther@suse.de>
26641
26642 PR middle-end/104786
26643 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
26644 for VLAs without an upper size bound.
26645
26646 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
26647
26648 PR tree-optimization/104851
26649 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
26650 error.
26651
26652 2022-03-09 Jakub Jelinek <jakub@redhat.com>
26653
26654 PR c/104711
26655 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
26656 is enabled by it only for C++11 to C++17 rather than for C++03 or
26657 later.
26658 (-Wshift-negative-value): Similarly (except here we stated
26659 that it is enabled for C++11 or later).
26660
26661 2022-03-09 Jakub Jelinek <jakub@redhat.com>
26662
26663 PR rtl-optimization/104839
26664 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
26665 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
26666 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
26667 instead of incorrect 0 in SUBREG_PROMOTED_SET.
26668
26669 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
26670
26671 PR target/104842
26672 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
26673 value before adding an offset.
26674
26675 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
26676
26677 * config/arm/arm-builtins.cc
26678 (arm_binop_none_none_unone_qualifiers): Delete.
26679 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
26680
26681 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
26682
26683 PR translation/104552
26684 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
26685 the PCH out of memory error message punctuation and wording.
26686
26687 2022-03-08 Marek Polacek <polacek@redhat.com>
26688
26689 PR rtl-optimization/104777
26690 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
26691 ASM_OPERANDS_LABEL_VEC has at least one element.
26692
26693 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
26694
26695 PR target/104781
26696 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
26697 stack realignment or regparm nested function with EH return.
26698
26699 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
26700
26701 PR target/104790
26702 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
26703 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
26704 register for non widening loads or narrowing stores.
26705
26706 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
26707
26708 PR translation/104552
26709 * params.opt: Fix typo.
26710
26711 2022-03-08 Richard Biener <rguenther@suse.de>
26712
26713 PR tree-optimization/84201
26714 * params.opt (-param=vect-induction-float): Add.
26715 * doc/invoke.texi (vect-induction-float): Document.
26716 * tree-vect-loop.cc (vectorizable_induction): Honor
26717 param_vect_induction_float.
26718
26719 2022-03-08 Martin Jambor <mjambor@suse.cz>
26720
26721 PR translation/104552
26722 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
26723 "that" in the description.
26724
26725 2022-03-08 Richard Biener <rguenther@suse.de>
26726
26727 PR tree-optimization/104825
26728 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
26729 guard modref get_ao_ref on a pointer typed argument.
26730
26731 2022-03-08 liuhongt <hongtao.liu@intel.com>
26732
26733 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
26734 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
26735
26736 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
26737
26738 * doc/invoke.texi (C++ Modules): Remove anachronism.
26739
26740 2022-03-07 Martin Liska <mliska@suse.cz>
26741
26742 PR middle-end/104381
26743 * opts.cc (finish_options): If debug info is disabled
26744 (debug_info_level) and -fvar-tracking is unset, disable it.
26745
26746 2022-03-07 Jakub Jelinek <jakub@redhat.com>
26747
26748 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
26749 * config/riscv/riscv.cc: Likewise.
26750 * config/darwin.h: Likewise.
26751 * config/i386/i386.cc: Likewise.
26752 * config/aarch64/thunderx3t110.md: Likewise.
26753 * config/aarch64/fractional-cost.h: Likewise.
26754 * config/vax/vax.cc: Likewise.
26755 * config/rs6000/pcrel-opt.md: Likewise.
26756 * config/rs6000/predicates.md: Likewise.
26757 * ctfc.h: Likewise.
26758 * tree-ssa-uninit.cc: Likewise.
26759 * value-relation.h: Likewise.
26760 * gimple-range-gori.cc: Likewise.
26761 * ipa-polymorphic-call.cc: Likewise.
26762 * pointer-query.cc: Likewise.
26763 * ipa-sra.cc: Likewise.
26764 * internal-fn.cc: Likewise.
26765 * varasm.cc: Likewise.
26766 * gimple-ssa-warn-access.cc: Likewise.
26767
26768 2022-03-07 Martin Liska <mliska@suse.cz>
26769
26770 PR target/104794
26771 * config/arm/arm.cc (arm_option_override_internal): Add missing
26772 space.
26773
26774 2022-03-07 Richard Biener <rguenther@suse.de>
26775
26776 PR tree-optimization/104782
26777 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
26778 Re-instantiate r10-5979 fix, add comment.
26779
26780 2022-03-07 Martin Liska <mliska@suse.cz>
26781
26782 PR target/104797
26783 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
26784 parenthesis from built-in name.
26785
26786 2022-03-07 Martin Liska <mliska@suse.cz>
26787
26788 PR target/104794
26789 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
26790 of options in error messages.
26791 (arm_option_reconfigure_globals): Likewise.
26792
26793 2022-03-07 Martin Liska <mliska@suse.cz>
26794
26795 PR target/104794
26796 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
26797 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
26798 have only range [0,32].
26799
26800 2022-03-07 Jakub Jelinek <jakub@redhat.com>
26801
26802 PR target/104775
26803 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
26804 S constraint instead of T in the last alternative.
26805
26806 2022-03-07 Martin Liska <mliska@suse.cz>
26807
26808 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
26809 message.
26810
26811 2022-03-07 Martin Liska <mliska@suse.cz>
26812
26813 PR translation/90148
26814 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
26815 quote to a proper place.
26816 * plugin.cc (default_plugin_dir_name): Likewise.
26817
26818 2022-03-07 Martin Liska <mliska@suse.cz>
26819
26820 PR target/99297
26821 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
26822 string.
26823
26824 2022-03-07 Jakub Jelinek <jakub@redhat.com>
26825
26826 PR target/104779
26827 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
26828 define_expand pattern. Rename define_insn to ...
26829 (*avx512dq_mul<mode>3<mask_name>): ... this.
26830 (<code><mode>3_mask): New any_logic define_expand pattern.
26831 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
26832 (*<code><mode>3<mask_name>): ... this.
26833
26834 2022-03-05 Jakub Jelinek <jakub@redhat.com>
26835
26836 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
26837 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
26838
26839 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
26840 Uroš Bizjak <ubizjak@gmail.com>
26841
26842 PR testsuite/104732
26843 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
26844 Include DI mode unconditionally.
26845 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
26846 i.e. always split on !TARGET_64BIT.
26847 (*<any_or>di3_doubleword): Likewise.
26848 (*one_cmpldi2_doubleword): Likewise.
26849 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
26850 (<any_or><mode>3 expander): Likewise.
26851 (one_cmpl<mode>2 expander): Likewise.
26852
26853 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
26854
26855 PR target/104698
26856 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
26857 (mtvsrdd_diti_w1): Delete.
26858 (extendditi2): Convert from define_expand to
26859 define_insn_and_split. Replace with code to deal with both GPR
26860 registers and with altivec registers.
26861
26862 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
26863
26864 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
26865 bit. Handle most older CPUs.
26866
26867 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
26868
26869 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
26870 avoid a mismatch with DECL_MD_FUNCTION_CODE().
26871
26872 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
26873
26874 PR target/104117
26875 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
26876 (@machopic_low_<mode>): New.
26877 * config/rs6000/predicates.md (macho_pic_address): New.
26878 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
26879 apply the TLS processing to Darwin.
26880 * lra-constraints.cc (process_address_1): Revert the changes
26881 in r12-7209.
26882
26883 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
26884
26885 PR target/87496
26886 PR target/104208
26887 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
26888 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
26889 -mlong-double-128.
26890 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
26891 from here...
26892 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
26893 ... to here.
26894
26895 2022-03-04 Jakub Jelinek <jakub@redhat.com>
26896
26897 PR middle-end/104529
26898 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
26899 on automatic objects which will be runtime initialized.
26900
26901 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
26902
26903 PR middle-end/100280
26904 PR middle-end/104132
26905 PR middle-end/104133
26906 * omp-low.cc (task_shared_vars): Rename to
26907 'make_addressable_vars'. Adjust all users.
26908 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
26909 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
26910
26911 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
26912
26913 PR middle-end/100280
26914 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
26915 * tree-core.h: Document it.
26916 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
26917 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
26918 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
26919 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
26920 'TREE_ADDRESSABLE'.
26921
26922 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
26923
26924 PR middle-end/100280
26925 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
26926 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
26927 '[...]' declared in block made addressable".
26928
26929 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
26930
26931 PR middle-end/100400
26932 PR middle-end/103836
26933 PR middle-end/104061
26934 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
26935 Catch 'GIMPLE_DEBUG'.
26936
26937 2022-03-04 Jakub Jelinek <jakub@redhat.com>
26938
26939 PR c/104627
26940 * tree.cc (warn_deprecated_use): For types prefer to use node
26941 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
26942 NULL.
26943
26944 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
26945
26946 PR target/104704
26947 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
26948 a pseudo register.
26949
26950 2022-03-03 Martin Sebor <msebor@redhat.com>
26951
26952 PR middle-end/104761
26953 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
26954 mark_dfs_back_edges.
26955
26956 2022-03-03 Martin Liska <mliska@suse.cz>
26957
26958 * configure.ac: Use linker plug-in by default.
26959 * configure: Regenerate.
26960
26961 2022-03-03 Martin Liska <mliska@suse.cz>
26962
26963 * configure.ac: Now ld.mold support LTO plugin API, use it.
26964 * configure: Regenerate.
26965
26966 2022-03-03 Tom de Vries <tdevries@suse.de>
26967
26968 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
26969
26970 2022-03-03 Tom de Vries <tdevries@suse.de>
26971
26972 PR target/104758
26973 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
26974
26975 2022-03-03 Tom de Vries <tdevries@suse.de>
26976
26977 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
26978
26979 2022-03-03 Jakub Jelinek <jakub@redhat.com>
26980
26981 PR middle-end/104757
26982 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
26983 gimplify_omp_for.
26984 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
26985 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
26986
26987 2022-03-03 Jakub Jelinek <jakub@redhat.com>
26988
26989 PR middle-end/104558
26990 * calls.cc (store_one_arg): When not calling emit_push_insn
26991 because size_rtx is const0_rtx, call at least anti_adjust_stack
26992 on arg->locate.alignment_pad if !argblock and the alignment might
26993 be non-zero.
26994
26995 2022-03-02 Alexandre Oliva <oliva@adacore.com>
26996
26997 * lra-constraints.cc (undo_optional_reloads): Recognize and
26998 drop insns of multi-word move sequences, tolerate removal
26999 iteration on an already-removed clobber, and refuse to
27000 substitute original pseudos into clobbers.
27001
27002 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
27003
27004 PR middle-end/102276
27005 * common.opt (-Wtrivial-auto-var-init): New option.
27006 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
27007 (-ftrivial-auto-var-init): Update option;
27008 * gimplify.cc (emit_warn_switch_unreachable): New function.
27009 (warn_switch_unreachable_r): Rename to ...
27010 (warn_switch_unreachable_and_auto_init_r): This.
27011 (maybe_warn_switch_unreachable): Rename to ...
27012 (maybe_warn_switch_unreachable_and_auto_init): This.
27013 (gimplify_switch_expr): Update calls to renamed function.
27014
27015 2022-03-02 Richard Biener <rguenther@suse.de>
27016
27017 PR rtl-optimization/104686
27018 * ira-color.cc (object_conflicts_with_allocno_p): New function
27019 using a bitvector test instead of iterating when possible.
27020 (allocnos_conflict_p): Choose the best allocno to iterate over
27021 object conflicts.
27022 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
27023 last.
27024
27025 2022-03-02 Jakub Jelinek <jakub@redhat.com>
27026
27027 * cfg.cc (dump_edge_info): Dump goto_locus if present.
27028
27029 2022-03-02 Jakub Jelinek <jakub@redhat.com>
27030
27031 PR rtl-optimization/104589
27032 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
27033 INSN_LOCATION comparison with goto_locus.
27034
27035 2022-03-02 Jakub Jelinek <jakub@redhat.com>
27036
27037 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
27038 strlen_pass::before_dom_children): Comment spelling fixes.
27039
27040 2022-03-02 Jakub Jelinek <jakub@redhat.com>
27041
27042 * ipa-modref-tree.cc (modref_access_node::contains,
27043 modref_access_node::closer_pair_p, modref_access_node::insert,
27044 modref_access_node::insert_kill): Comment spelling fixes.
27045 * ipa-modref.cc: Likewise.
27046 (modref_summary::finalize, ignore_nondeterminism_p,
27047 class modref_access_analysis,
27048 modref_access_analysis::set_side_effects,
27049 modref_access_analysis::set_nondeterministic,
27050 modref_access_analysis::record_global_memory_load,
27051 modref_access_analysis::propagate, modref_access_analysis::analyze,
27052 struct escape_point, class modref_lattice, modref_lattice::merge,
27053 modref_lattice::merge_deref, class modref_eaf_analysis,
27054 modref_eaf_analysis::merge_call_lhs_flags,
27055 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
27056 modref_eaf_analysis::record_escape_points, remap_kills,
27057 update_escape_summary, remove_useless_summaries,
27058 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
27059 Likewise.
27060 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
27061 Likewise.
27062 * ipa-modref-tree.h (enum modref_special_parms,
27063 struct modref_access_node): Likewise.
27064
27065 2022-03-01 Jakub Jelinek <jakub@redhat.com>
27066
27067 PR tree-optimization/104715
27068 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
27069 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
27070 of a call if gimple_call_return_arg is equal to ptr, not just when it
27071 is non-NULL.
27072
27073 2022-03-01 Jakub Jelinek <jakub@redhat.com>
27074
27075 * gimple-ssa-warn-access.cc (warn_string_no_nul,
27076 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
27077 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
27078 pass_waccess::check_alloca, pass_waccess::check_strcat,
27079 memmodel_to_uhwi, fntype_argno_type,
27080 pass_waccess::maybe_check_access_sizes,
27081 pass_waccess::check_call_access,
27082 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
27083 Comment spelling fixes.
27084
27085 2022-03-01 Richard Biener <rguenther@suse.de>
27086
27087 PR tree-optimization/104716
27088 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
27089 Check if we can copy the loop.
27090
27091 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
27092
27093 PR middle-end/104721
27094 * cfgexpand.cc (expand_gimple_basic_block): Clear
27095 currently_expanding_gimple_stmt when returning inside the loop.
27096
27097 2022-03-01 Martin Liska <mliska@suse.cz>
27098
27099 PR ipa/104533
27100 * multiple_target.cc (get_attr_len): Move to tree.c.
27101 (expand_target_clones): Remove single value checking.
27102 * tree.cc (get_target_clone_attr_len): New fn.
27103 * tree.h (get_target_clone_attr_len): Likewise.
27104
27105 2022-03-01 Martin Liska <mliska@suse.cz>
27106
27107 PR gcov-profile/104677
27108 * doc/invoke.texi: Document more .gcda file name generation.
27109
27110 2022-03-01 Tom de Vries <tdevries@suse.de>
27111
27112 PR target/102429
27113 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
27114 * config/nvptx/nvptx.md
27115 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
27116 New predicate.
27117 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
27118 Use nvptx_register_or_complex_di_df_register_operand.
27119
27120 2022-03-01 Tom de Vries <tdevries@suse.de>
27121
27122 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
27123 * config/nvptx/gen-copyright.sh: New file.
27124 * config/nvptx/gen-h.sh: New file.
27125 * config/nvptx/gen-opt.sh: New file.
27126 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
27127 (TARGET_SM75, TARGET_SM80): Move ...
27128 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
27129 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
27130 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
27131 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
27132 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
27133
27134 2022-03-01 Tom de Vries <tdevries@suse.de>
27135
27136 * config/nvptx/gen-omp-device-properties.sh: New file.
27137 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
27138
27139 2022-03-01 Tom de Vries <tdevries@suse.de>
27140
27141 * config/nvptx/nvptx-sm.def: New file.
27142 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
27143 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
27144 * config/nvptx/nvptx.cc (sm_version_to_string)
27145 (nvptx_omp_device_kind_arch_isa): Same.
27146
27147 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
27148
27149 PR rtl-optimization/104154
27150 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
27151 comparison ifcvt passed us.
27152
27153 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
27154
27155 PR target/104664
27156 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
27157 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
27158
27159 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
27160
27161 PR tree-optimization/91384
27162 * config/i386/i386.md (peephole2): Eliminate final testl insn
27163 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
27164 transforming using *negsi_2 for the negation.
27165
27166 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
27167 Eric Botcazou <ebotcazou@adacore.com>
27168
27169 PR middle-end/80270
27170 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
27171 register, copy it to a pseudo before calling simplify_gen_subreg.
27172
27173 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
27174
27175 PR rtl-optimization/104637
27176 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
27177 as possible on one subpass.
27178
27179 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
27180
27181 PR middle-end/104550
27182 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
27183 created uses.
27184
27185 2022-02-28 Martin Liska <mliska@suse.cz>
27186
27187 PR ipa/104648
27188 * main.cc (main): Use flag_checking instead of CHECKING_P
27189 and run toplev::finalize only if there is not error seen.
27190
27191 2022-02-28 Richard Biener <rguenther@suse.de>
27192
27193 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
27194
27195 2022-02-28 Richard Biener <rguenther@suse.de>
27196
27197 PR tree-optimization/104700
27198 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
27199 into ...
27200 (find_or_generate_expression): ... here, simplifying code.
27201
27202 2022-02-28 Tom de Vries <tdevries@suse.de>
27203
27204 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
27205 PTX_VERSION_default.
27206 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
27207 PTX_VERSION_default.
27208 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
27209
27210 2022-02-28 Richard Biener <rguenther@suse.de>
27211
27212 PR rtl-optimization/104686
27213 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
27214 skipping bits that are zero.
27215 (ira_object_conflict_iter_cond): Likewise.
27216
27217 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
27218
27219 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
27220 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
27221 char to avoid error when using ~enum as parameter.
27222 (_mm512_mask_ternarylogic_epi64): Likewise.
27223 (_mm512_maskz_ternarylogic_epi64): Likewise.
27224 (_mm512_ternarylogic_epi32): Likewise.
27225 (_mm512_mask_ternarylogic_epi32): Likewise.
27226 (_mm512_maskz_ternarylogic_epi32): Likewise.
27227 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
27228 Adjust imm param type to unsigned char.
27229 (_mm256_mask_ternarylogic_epi64): Likewise.
27230 (_mm256_maskz_ternarylogic_epi64): Likewise.
27231 (_mm256_ternarylogic_epi32): Likewise.
27232 (_mm256_mask_ternarylogic_epi32): Likewise.
27233 (_mm256_maskz_ternarylogic_epi32): Likewise.
27234 (_mm_ternarylogic_epi64): Likewise.
27235 (_mm_mask_ternarylogic_epi64): Likewise.
27236 (_mm_maskz_ternarylogic_epi64): Likewise.
27237 (_mm_ternarylogic_epi32): Likewise.
27238 (_mm_mask_ternarylogic_epi32): Likewise.
27239 (_mm_maskz_ternarylogic_epi32): Likewise.
27240
27241 2022-02-25 Jakub Jelinek <jakub@redhat.com>
27242 Marc Glisse <marc.glisse@inria.fr>
27243
27244 PR tree-optimization/104675
27245 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
27246 Restrict simplifications to INTEGRAL_TYPE_P.
27247
27248 2022-02-25 Jakub Jelinek <jakub@redhat.com>
27249
27250 PR target/104681
27251 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
27252
27253 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
27254
27255 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
27256 comparison is not valid.
27257 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
27258 (movdicc): Likewise.
27259 (movsfcc): Likewise.
27260 (movdfcc): Likewise.
27261
27262 2022-02-25 Richard Biener <rguenther@suse.de>
27263
27264 PR tree-optimization/103037
27265 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
27266 (vn_nary_length_from_stmt): Likewise.
27267 (init_vn_nary_op_from_stmt): Likewise.
27268 (vn_nary_op_compute_hash): Likewise.
27269 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
27270 (vn_nary_length_from_stmt): Likewise.
27271 (init_vn_nary_op_from_stmt): Likewise.
27272 (vn_nary_op_compute_hash): Likewise.
27273 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
27274 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
27275 (re-)compute the hash value and if the expression is not
27276 found allocate it from pre_expr_obstack.
27277 (phi_translate_1): Do not insert the NARY found in the
27278 VN tables but build a PRE expression from the valueized
27279 NARY with the value-id we eventually found.
27280 (find_or_generate_expression): Assert we have an entry
27281 for constant values.
27282 (compute_avail): Insert not valueized expressions into
27283 EXP_GEN using the value-id from the VN tables.
27284 (init_pre): Allocate pre_expr_obstack.
27285 (fini_pre): Free pre_expr_obstack.
27286
27287 2022-02-25 Jakub Jelinek <jakub@redhat.com>
27288
27289 PR target/104674
27290 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
27291 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
27292 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
27293
27294 2022-02-25 Jakub Jelinek <jakub@redhat.com>
27295
27296 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
27297
27298 2022-02-25 Jakub Jelinek <jakub@redhat.com>
27299
27300 PR middle-end/104679
27301 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
27302
27303 2022-02-25 Jakub Jelinek <jakub@redhat.com>
27304
27305 PR tree-optimization/104675
27306 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
27307 COMPLEX_TYPE.
27308
27309 2022-02-25 Alexandre Oliva <oliva@adacore.com>
27310
27311 PR target/104121
27312 PR target/103302
27313 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
27314
27315 2022-02-25 Alexandre Oliva <oliva@adacore.com>
27316
27317 PR middle-end/104540
27318 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
27319 dw_cfi_cfa_loc.
27320
27321 2022-02-25 Alexandre Oliva <oliva@adacore.com>
27322
27323 PR tree-optimization/103856
27324 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
27325 eh edge to be requested through an extra parameter.
27326 (pass_harden_compares::execute): Copy PHI args in the EH dest
27327 block for the new EH edge added for the inverted compare.
27328
27329 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
27330
27331 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
27332 of position independence that -mcmodel=medany affords.
27333
27334 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
27335
27336 PR target/104656
27337 * configure.ac: --disable-gcov if targetting bpf-*.
27338 * configure: Regenerate.
27339
27340 2022-02-24 Richard Biener <rguenther@suse.de>
27341
27342 PR tree-optimization/104676
27343 * tree-loop-distribution.cc (loop_distribution::execute):
27344 Do a full scev_reset.
27345
27346 2022-02-24 Jakub Jelinek <jakub@redhat.com>
27347
27348 PR tree-optimization/104601
27349 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
27350 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
27351 vuse value number.
27352
27353 2022-02-24 Tom de Vries <tdevries@suse.de>
27354 Tobias Burnus <tobias@codesourcery.com>
27355
27356 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
27357 sm_70, sm_75 and sm_80.
27358 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
27359
27360 2022-02-24 Tom de Vries <tdevries@suse.de>
27361
27362 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
27363 "rotrsi3"): New define_insn.
27364
27365 2022-02-24 Tom de Vries <tdevries@suse.de>
27366
27367 * config/nvptx/nvptx.cc (gen_comment): Use
27368 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
27369
27370 2022-02-24 liuhongt <hongtao.liu@intel.com>
27371
27372 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
27373 isa attr of alternative 2 from avx to avx512vl.
27374
27375 2022-02-23 Richard Biener <rguenther@suse.de>
27376 Jakub Jelinek <jakub@redhat.com>
27377
27378 PR tree-optimization/104644
27379 * doc/match-and-simplify.texi: Amend ! documentation.
27380 * genmatch.cc (expr::gen_transform): Code-generate ! support
27381 for GENERIC.
27382 (parser::parse_expr): Allow ! for GENERIC.
27383 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
27384 bswap.
27385
27386 2022-02-23 Richard Biener <rguenther@suse.de>
27387
27388 PR tree-optimization/101636
27389 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
27390 vector type of the node.
27391 (vect_slp_analyze_operations): Make sure the CTOR
27392 is vectorized with an expected type.
27393 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
27394
27395 2022-02-23 Jakub Jelinek <jakub@redhat.com>
27396
27397 PR c/104633
27398 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
27399 Don't warn about calls to corresponding builtin from extern inline
27400 gnu_inline wrappers.
27401
27402 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
27403
27404 PR target/104489
27405 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
27406
27407 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
27408
27409 PR target/100757
27410 PR target/101325
27411 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
27412 typo.
27413
27414 2022-02-23 Cui,Lili <lili.cui@intel.com>
27415
27416 * doc/invoke.texi: Update documents for Intel architectures.
27417
27418 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
27419
27420 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
27421 bootstrap.
27422
27423 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
27424
27425 * omp-low.cc (omp_build_component_ref): Move function...
27426 * omp-general.cc (omp_build_component_ref): ... here. Remove
27427 'static'.
27428 * omp-general.h (omp_build_component_ref): Declare function.
27429 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
27430 function.
27431 (build_receiver_ref, build_sender_ref): Call
27432 'omp_build_component_ref' instead.
27433
27434 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
27435
27436 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
27437 simplify. Adjust all users.
27438
27439 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
27440
27441 PR target/88134
27442 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
27443 atomic_update_decl): Add GTY markup.
27444
27445 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
27446
27447 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
27448
27449 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
27450
27451 PR target/100757
27452 PR target/101325
27453 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
27454 predicate.
27455 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
27456 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
27457 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
27458 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
27459 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
27460 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
27461 * config/arm/mve.md: Use VxBI instead of HI.
27462
27463 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
27464
27465 PR target/100757
27466 PR target/101325
27467 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
27468 qualifier.
27469 (STRSBU_P_QUALIFIERS): Likewise.
27470 (LDRGBS_Z_QUALIFIERS): Likewise.
27471 (LDRGBU_Z_QUALIFIERS): Likewise.
27472 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
27473 (LDRGBWBS_Z_QUALIFIERS): Likewise.
27474 (LDRGBWBU_Z_QUALIFIERS): Likewise.
27475 (STRSBWBS_P_QUALIFIERS): Likewise.
27476 (STRSBWBU_P_QUALIFIERS): Likewise.
27477 * config/arm/mve.md: Use VxBI instead of HI.
27478
27479 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
27480
27481 PR target/100757
27482 PR target/101325
27483 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
27484 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
27485 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
27486 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
27487 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
27488 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
27489 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
27490 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
27491 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
27492 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
27493 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
27494 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
27495 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
27496 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
27497 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
27498 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
27499 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
27500 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
27501 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
27502 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
27503 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
27504 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
27505 (STRS_P_QUALIFIERS): Use predicate qualifier.
27506 (STRU_P_QUALIFIERS): Likewise.
27507 (STRSU_P_QUALIFIERS): Likewise.
27508 (STRSS_P_QUALIFIERS): Likewise.
27509 (LDRGS_Z_QUALIFIERS): Likewise.
27510 (LDRGU_Z_QUALIFIERS): Likewise.
27511 (LDRS_Z_QUALIFIERS): Likewise.
27512 (LDRU_Z_QUALIFIERS): Likewise.
27513 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
27514 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
27515 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
27516 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
27517 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
27518 * config/arm/mve.md: Use MVE_VPRED instead of HI.
27519
27520 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
27521
27522 PR target/100757
27523 PR target/101325
27524 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
27525 Delete.
27526 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
27527 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
27528 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
27529 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
27530 predicated qualifiers.
27531 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
27532 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
27533
27534 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
27535
27536 PR target/100757
27537 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
27538 (arm_expand_vector_compare): Update prototype.
27539 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
27540 (arm_vector_mode_supported_p): Add support for VxBI modes.
27541 (arm_expand_vector_compare): Remove useless generation of vpsel.
27542 (arm_expand_vcond): Fix select operands.
27543 (arm_get_mask_mode): New.
27544 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
27545 (vec_cmpu<mode><MVE_vpred>): New.
27546 (vcond_mask_<mode><MVE_vpred>): New.
27547 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
27548 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
27549 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
27550 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
27551 and disable for MVE.
27552 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
27553
27554 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
27555
27556 PR target/100757
27557 PR target/101325
27558 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
27559 (BINOP_PRED_NONE_NONE_QUALIFIERS)
27560 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
27561 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
27562 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
27563 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
27564 modes.
27565 (arm_mode_to_pred_mode): New.
27566 (arm_expand_vector_compare): Use the right VxBI mode instead of
27567 HI.
27568 (arm_expand_vcond): Likewise.
27569 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
27570 (mve_bool_vec_to_const): New.
27571 (neon_make_constant): Call mve_bool_vec_to_const when needed.
27572 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
27573 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
27574 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
27575 (vpselq_s, vpselq_f): Use new predicated qualifiers.
27576 * config/arm/constraints.md (DB): New.
27577 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
27578 (MVE_VPRED, MVE_vpred): New attribute iterators.
27579 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
27580 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
27581 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
27582 (@mve_vpselq_<supf>v2di): Define separately.
27583 (mov<mode>): New expander for VxBI modes.
27584 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
27585 MVE_7_HI iterator and add support for DB constraint.
27586
27587 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
27588 Richard Sandiford <richard.sandiford@arm.com>
27589
27590 PR target/100757
27591 PR target/101325
27592 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
27593 VNx2BI): Update definition.
27594 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
27595 simd types.
27596 (arm_init_builtin): Map predicate vectors arguments to HImode.
27597 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
27598 rtx. Move return value to HImode rtx.
27599 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
27600 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
27601 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
27602 Pred2x8_t,Pred4x4_t): New.
27603 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
27604 * genmodes.cc (mode_data): Add boolean field.
27605 (blank_mode): Initialize it.
27606 (make_complex_modes): Fix handling of boolean modes.
27607 (make_vector_modes): Likewise.
27608 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
27609 (make_vector_bool_mode): Likewise.
27610 (BOOL_MODE): New.
27611 (make_bool_mode): New.
27612 (emit_insn_modes_h): Fix generation of boolean modes.
27613 (emit_class_narrowest_mode): Likewise.
27614 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
27615 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
27616 define BImode.
27617 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
27618 Fix handling of constm1_rtx for VECTOR_BOOL.
27619 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
27620 (native_decode_vector_rtx): Likewise.
27621 (test_vector_ops_duplicate): Skip vec_merge test
27622 with vectors of booleans.
27623 * varasm.cc (output_constant_pool_2): Likewise.
27624
27625 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
27626
27627 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
27628 for operand 1.
27629
27630 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
27631
27632 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
27633
27634 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
27635
27636 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
27637 (REG_CLASS_NAMES): Likewise.
27638 (REG_CLASS_CONTENTS): Likewise.
27639 (CLASS_MAX_NREGS): Handle VPR.
27640 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
27641
27642 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
27643 Tom de Vries <tdevries@suse.de>
27644
27645 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
27646 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
27647 Likewise.
27648 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
27649
27650 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
27651 Tom de Vries <tdevries@suse.de>
27652
27653 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
27654 * doc/invoke.texi (-mptx): Update for new values and defaults.
27655
27656 2022-02-22 Tom de Vries <tdevries@suse.de>
27657
27658 * config/nvptx/nvptx.cc (gen_comment): New function.
27659 (workaround_uninit_method_1, workaround_uninit_method_2)
27660 (workaround_uninit_method_3): : Use gen_comment.
27661 * config/nvptx/nvptx.opt (mptx-comment): New option.
27662
27663 2022-02-22 Richard Biener <rguenther@suse.de>
27664
27665 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
27666 for a splat.
27667
27668 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
27669 Richard Biener <rguenther@suse.de>
27670
27671 * fold-const.cc (ctor_single_nonzero_element): New function to
27672 return the single non-zero element of a (vector) constructor.
27673 * fold-const.h (ctor_single_nonzero_element): Prototype here.
27674 * match.pd (reduc (constructor@0)): Simplify reductions of a
27675 constructor containing a single non-zero element.
27676 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
27677 reductions of vector operations of the same operator with
27678 constant vector operands.
27679
27680 2022-02-22 Jakub Jelinek <jakub@redhat.com>
27681
27682 PR tree-optimization/104604
27683 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
27684 Only check if gimple_assign_rhs1 is COMPLEX_CST if
27685 gimple_assign_rhs_code is COMPLEX_CST.
27686
27687 2022-02-22 Jakub Jelinek <jakub@redhat.com>
27688
27689 PR target/104612
27690 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
27691 on input operands before calling lowpart_subreg on it. For output
27692 operand, use a vmode pseudo as destination and then move its lowpart
27693 subreg into operands[0] if lowpart_subreg fails on dest.
27694 (ix86_expand_xorsign): Likewise.
27695
27696 2022-02-22 Richard Biener <rguenther@suse.de>
27697
27698 PR tree-optimization/104582
27699 PR target/99881
27700 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
27701 Cost GPR to vector register moves for integer vector construction.
27702
27703 2022-02-22 Richard Biener <rguenther@suse.de>
27704
27705 PR tree-optimization/104582
27706 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
27707 (vector_costs::add_stmt_cost): Add SLP node parameter.
27708 (dump_stmt_cost): Likewise.
27709 (add_stmt_cost): Likewise, new overload and adjust.
27710 (add_stmt_costs): Adjust.
27711 (record_stmt_cost): New overload.
27712 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
27713 (vector_costs::add_stmt_cost): Adjust.
27714 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
27715 Adjust.
27716 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
27717 the SLP node for costing.
27718 (vectorizable_slp_permutation): Likewise.
27719 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
27720 new overloads.
27721 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
27722 Adjust.
27723 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
27724 Adjust.
27725 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
27726 Adjust.
27727 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
27728
27729 2022-02-22 Richard Biener <rguenther@suse.de>
27730
27731 PR tree-optimization/104582
27732 * tree-vectorizer.h (add_stmt_cost): New overload.
27733 (record_stmt_cost): Likewise.
27734 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
27735 Use add_stmt_costs.
27736 (vect_get_known_peeling_cost): Use new overloads.
27737 (vect_estimate_min_profitable_iters): Likewise. Consistently
27738 use scalar_stmt for costing versioning checks.
27739 * tree-vect-stmts.cc (record_stmt_cost): New overload.
27740
27741 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
27742
27743 PR target/103069
27744 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
27745 Split atomic fetch and loop part.
27746 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
27747 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
27748 prototype.
27749 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
27750 expander under TARGET_RELAX_CMPXCHG_LOOP.
27751 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
27752
27753 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
27754
27755 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
27756 Change wb_candidate[12] to wb_push_candidate[12].
27757 (aarch64_layout_frame): Likewise, and
27758 change callee_adjust when scs is enabled.
27759 (aarch64_save_callee_saves):
27760 Change wb_candidate[12] to wb_push_candidate[12].
27761 (aarch64_restore_callee_saves):
27762 Change wb_candidate[12] to wb_pop_candidate[12].
27763 (aarch64_get_separate_components):
27764 Change wb_candidate[12] to wb_push_candidate[12].
27765 (aarch64_expand_prologue): Push x30 onto SCS before it's
27766 pushed onto stack.
27767 (aarch64_expand_epilogue): Pop x30 frome SCS, while
27768 preventing it from being popped from the regular stack again.
27769 (aarch64_override_options_internal): Add SCS compile option check.
27770 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
27771 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
27772 wb_pop_candidate[12], and rename wb_candidate[12] to
27773 wb_push_candidate[12].
27774 * config/aarch64/aarch64.md (scs_push): New template.
27775 (scs_pop): Likewise.
27776 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
27777 * doc/tm.texi: Regenerate.
27778 * doc/tm.texi.in: Add hook have_shadow_call_stack.
27779 * flag-types.h (enum sanitize_code):
27780 Add SANITIZE_SHADOW_CALL_STACK.
27781 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
27782 and exclude SANITIZE_SHADOW_CALL_STACK.
27783 * target.def: New hook.
27784 * toplev.cc (process_options): Add SCS compile option check.
27785 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
27786
27787 2022-02-21 Tom de Vries <tdevries@suse.de>
27788
27789 PR target/104440
27790 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
27791 (workaround_uninit_method_2, workaround_uninit_method_3)
27792 (workaround_uninit): New function.
27793 (nvptx_reorg): Use workaround_uninit.
27794 * config/nvptx/nvptx.opt (minit-regs): New option.
27795
27796 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
27797
27798 PR rtl-optimization/104498
27799 * alias.cc (compare_base_symbol_refs): Correct distance computation
27800 when swapping x and y.
27801
27802 2022-02-21 Andrew Pinski <apinski@marvell.com>
27803
27804 PR c/104506
27805 * tree-ssa.cc (tree_ssa_useless_type_conversion):
27806 Check the inner type before calling useless_type_conversion_p.
27807
27808 2022-02-19 Tom de Vries <tdevries@suse.de>
27809
27810 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
27811 * config/nvptx/nvptx.md
27812 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
27813 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
27814 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
27815 (define_expand "atomic_store<mode>"): Handle rename. Use
27816 nvptx_atomic_store instead of atomic_exchange.
27817
27818 2022-02-19 Tom de Vries <tdevries@suse.de>
27819
27820 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
27821 insns with atomic attribute. Assert that all handled insns are
27822 PARALLELs.
27823 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
27824 Set atomic attribute to false.
27825
27826 2022-02-19 Tom de Vries <tdevries@suse.de>
27827
27828 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
27829 type to bool.
27830 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
27831 nvptx_warpsync, if necessary.
27832
27833 2022-02-19 Jakub Jelinek <jakub@redhat.com>
27834
27835 PR sanitizer/102656
27836 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
27837 known to be within bounds, treat it like automatic variables.
27838 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
27839 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
27840 it addressable.
27841
27842 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
27843
27844 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
27845 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
27846 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
27847 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
27848 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
27849 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
27850 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
27851 power10_sched_reorder): Likewise.
27852 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
27853 gen_addadd): Likewise
27854 * config/rs6000/fusion.md: Regenerate.
27855
27856 2022-02-18 Jakub Jelinek <jakub@redhat.com>
27857
27858 PR target/104257
27859 PR target/104598
27860 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
27861 rather than __posix_memalign.
27862
27863 2022-02-18 Richard Biener <rguenther@suse.de>
27864
27865 PR target/104581
27866 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
27867 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
27868 of calling ix86_avx_u128_mode_source which would eventually
27869 have returned AVX_U128_ANY in some very special case.
27870
27871 2022-02-18 Richard Biener <rguenther@suse.de>
27872
27873 PR tree-optimization/96881
27874 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
27875 CLOBBER handling.
27876 (control_parents_preserved_p): New function.
27877 (eliminate_unnecessary_stmts): Check that we preserved control
27878 parents before retaining a CLOBBER.
27879 (perform_tree_ssa_dce): Pass down aggressive flag
27880 to eliminate_unnecessary_stmts.
27881
27882 2022-02-17 Jason Merrill <jason@redhat.com>
27883
27884 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
27885 on TYPE_MAIN_VARIANT.
27886
27887 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
27888
27889 PR target/104257
27890 * config/rs6000/bmi2intrin.h: Uglify local variables.
27891 * config/rs6000/emmintrin.h: Likewise.
27892 * config/rs6000/mm_malloc.h: Likewise.
27893 * config/rs6000/mmintrin.h: Likewise.
27894 * config/rs6000/pmmintrin.h: Likewise.
27895 * config/rs6000/smmintrin.h: Likewise.
27896 * config/rs6000/tmmintrin.h: Likewise.
27897 * config/rs6000/xmmintrin.h: Likewise.
27898
27899 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
27900
27901 PR target/104335
27902 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
27903 if the expected comparison's first operand is of mode MODE_CC.
27904
27905 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
27906
27907 PR rtl-optimization/104447
27908 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
27909 hard reg set by lra_no_alloc_regs.
27910
27911 2022-02-17 liuhongt <hongtao.liu@intel.com>
27912
27913 PR tree-optimization/104551
27914 PR tree-optimization/103771
27915 * match.pd (cond_expr_convert_p): Add types_match check when
27916 convert is extension.
27917 * tree-vect-patterns.cc
27918 (gimple_cond_expr_convert_p): Adjust comments.
27919 (vect_recog_cond_expr_convert_pattern): Ditto.
27920
27921 2022-02-17 Jakub Jelinek <jakub@redhat.com>
27922
27923 PR debug/104557
27924 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
27925 if expr has VOIDmode.
27926
27927 2022-02-17 liuhongt <hongtao.liu@intel.com>
27928
27929 * config/i386/cpuid.h (bit_MPX): Removed.
27930 (bit_BNDREGS): Ditto.
27931 (bit_BNDCSR): Ditto.
27932
27933 2022-02-17 Michael Meissner <meissner@the-meissners.org>
27934
27935 PR target/99708
27936 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
27937 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
27938 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
27939 is created.
27940
27941 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
27942
27943 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
27944 range_compatible_p instead of direct type comparison.
27945
27946 2022-02-16 Jakub Jelinek <jakub@redhat.com>
27947
27948 PR rtl-optimization/104544
27949 * combine.cc (try_combine): When looking for insn whose links
27950 should be updated from i3 to i2, don't stop on debug insns, instead
27951 skip over them.
27952
27953 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
27954
27955 PR target/100056
27956 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
27957 * config/aarch64/aarch64.md: Extend the PR100056 patterns
27958 to handle plus in the same way as ior, if the operands have
27959 no set bits in common.
27960
27961 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
27962
27963 PR tree-optimization/104526
27964 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
27965 new routine.
27966 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
27967 of dependency chain if there isn't one.
27968 (gori_compute::condexpr_adjust): New.
27969 * gimple-range-gori.h (class gori_compute): New prototype.
27970
27971 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
27972
27973 PR target/100874
27974 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
27975 Declare.
27976 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
27977 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
27978
27979 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
27980
27981 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
27982 (vect_scalar_ops_slice_hash): Likewise.
27983 (vect_scalar_ops_slice::op): New function.
27984 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
27985 (vect_scalar_ops_slice_hash::hash): Likewise.
27986 (vect_scalar_ops_slice_hash::equal): Likewise.
27987 (vect_prologue_cost_for_slp): Check for duplicate vectors.
27988 * config/aarch64/aarch64.cc
27989 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
27990 (aarch64_aligned_constant_offset_p): New function.
27991 (aarch64_stp_sequence_cost): Likewise.
27992 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
27993 (aarch64_vector_costs::finish_cost): Likewise.
27994
27995 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
27996
27997 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
27998 use after free.
27999
28000 2022-02-15 Richard Biener <rguenther@suse.de>
28001
28002 PR tree-optimization/104543
28003 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
28004 come after the inner loop.
28005
28006 2022-02-15 Jakub Jelinek <jakub@redhat.com>
28007
28008 PR target/104536
28009 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
28010 cannot instead of can%'t in diagnostics. Formatting fixes.
28011
28012 2022-02-15 Jakub Jelinek <jakub@redhat.com>
28013
28014 PR middle-end/104522
28015 * fold-const.h (native_interpret_real): Declare.
28016 * fold-const.cc (native_interpret_real): No longer static. Don't
28017 perform MODE_COMPOSITE_P verification here.
28018 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
28019 for all modes.
28020 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
28021 instead of native_interpret_expr.
28022 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
28023 and comparison verification for all FLOAT_MODE_P modes, not just
28024 MODE_COMPOSITE_P.
28025
28026 2022-02-15 Richard Biener <rguenther@suse.de>
28027
28028 PR tree-optimization/104519
28029 * fold-const.cc (multiple_of_p): Remove never true condition.
28030 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
28031 the appropriate types for determining whether the difference
28032 of final and base is a multiple of the step.
28033
28034 2022-02-15 Jakub Jelinek <jakub@redhat.com>
28035
28036 PR debug/104517
28037 * omp-low.cc (task_cpyfns): New variable.
28038 (delete_omp_context): Don't call finalize_task_copyfn from here.
28039 (create_task_copyfn): Push task_stmt into task_cpyfns.
28040 (execute_lower_omp): Call finalize_task_copyfn here on entries from
28041 task_cpyfns vector and release the vector.
28042
28043 2022-02-14 Martin Sebor <msebor@redhat.com>
28044
28045 PR middle-end/104355
28046 * doc/invoke.texi (-Warray-bounds): Update documentation.
28047
28048 2022-02-14 Michael Meissner <meissner@the-meissners.org>
28049
28050 PR target/104253
28051 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
28052 conversion functions used to convert IFmode types.
28053
28054 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
28055
28056 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
28057
28058 2022-02-14 Richard Biener <rguenther@suse.de>
28059
28060 PR tree-optimization/104528
28061 * tree-ssa.h (find_released_ssa_name): Declare.
28062 * tree-ssa.cc (find_released_ssa_name): Export.
28063 * cfgloop.cc (verify_loop_structure): Look for released
28064 SSA names in loops nb_iterations.
28065 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
28066 estimates.
28067
28068 2022-02-14 Richard Biener <rguenther@suse.de>
28069
28070 PR tree-optimization/104511
28071 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
28072 touching DFP <-> FP conversions.
28073
28074 2022-02-14 Richard Biener <rguenther@suse.de>
28075
28076 PR middle-end/104497
28077 * gimplify.cc (gimplify_compound_lval): Make sure the
28078 base is a non-register if needed and possible.
28079
28080 2022-02-13 liuhongt <hongtao.liu@intel.com>
28081
28082 PR target/103771
28083 * match.pd (cond_expr_convert_p): New match.
28084 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
28085 (vect_recog_cond_expr_convert_pattern): New.
28086
28087 2022-02-12 Jakub Jelinek <jakub@redhat.com>
28088
28089 PR sanitizer/104449
28090 * asan.cc: Include tree-eh.h.
28091 (handle_builtin_alloca): Handle the case when __builtin_alloca or
28092 __builtin_alloca_with_align can throw.
28093
28094 2022-02-12 Jakub Jelinek <jakub@redhat.com>
28095
28096 PR target/104502
28097 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
28098 and AVX512VL isn't available, move operands[1] to operands[0] first.
28099
28100 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
28101
28102 PR target/79754
28103 * config/i386/i386.cc (type_natural_mode):
28104 Skip decimal float vector modes.
28105
28106 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
28107 Vladimir Makarov <vmakarov@redhat.com>
28108
28109 PR target/104117
28110 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
28111 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
28112 emitting PIC code.
28113 (legitimate_lo_sum_address_p): Likewise.
28114 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
28115 load from an invalid lo_sum address.
28116
28117 2022-02-11 Jakub Jelinek <jakub@redhat.com>
28118
28119 PR tree-optimization/104499
28120 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
28121 of convert.
28122
28123 2022-02-11 Jakub Jelinek <jakub@redhat.com>
28124
28125 * tree.cc (build_common_builtin_nodes): Fix up formatting in
28126 __builtin_clear_padding decl creation.
28127 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
28128 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
28129 argument rather than in 3rd argument.
28130 (gimplify_call_expr): Likewise. Fix up comment formatting.
28131 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
28132 2 arguments instead of 3, take for_auto_init from the value
28133 of 2nd argument.
28134
28135 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
28136
28137 PR rtl-optimization/104400
28138 * lra-constraints.cc (process_alt_operands): Don't make union of
28139 this_alternative_exclude_start_hard_regs when reg class in insn
28140 alternative covers other reg classes in the same alternative.
28141
28142 2022-02-11 Jakub Jelinek <jakub@redhat.com>
28143
28144 PR middle-end/104446
28145 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
28146 operands.
28147
28148 2022-02-11 Richard Biener <rguenther@suse.de>
28149
28150 PR middle-end/104496
28151 * internal-fn.cc (vectorized_internal_fn_supported_p):
28152 Bail out for integer mode vector types.
28153
28154 2022-02-11 Jakub Jelinek <jakub@redhat.com>
28155
28156 PR rtl-optimization/104459
28157 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
28158 moving DEBUG_INSNs between bbs.
28159
28160 2022-02-11 liuhongt <hongtao.liu@intel.com>
28161
28162 PR tree-optimization/104479
28163 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
28164 for the dest of uncond_op.
28165
28166 2022-02-11 Tom de Vries <tdevries@suse.de>
28167
28168 PR target/104456
28169 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
28170 insn.
28171
28172 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
28173
28174 PR middle-end/100775
28175 * function.cc (gen_call_used_regs_seq): Call
28176 df_update_exit_block_uses when updating df.
28177
28178 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
28179
28180 PR target/104469
28181 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
28182 Change operand 1 constraint to register_operand.
28183
28184 2022-02-10 Richard Biener <rguenther@suse.de>
28185
28186 PR tree-optimization/104373
28187 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
28188 walk kind.
28189 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
28190 walk kind as argument.
28191 (run_rpo_vn): Adjust.
28192 (pass_fre::execute): Likewise.
28193 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
28194 blocks not reachable.
28195 (execute_late_warn_uninitialized): Mark all edges as
28196 executable.
28197 (execute_early_warn_uninitialized): Use VN to compute
28198 executable edges.
28199 (pass_data_early_warn_uninitialized): Enable a dump file,
28200 change dump name to warn_uninit.
28201
28202 2022-02-10 Richard Biener <rguenther@suse.de>
28203
28204 PR middle-end/104467
28205 * match.pd (vector extract simplification): Multiply the
28206 number of CTOR elements with the number of element elements.
28207
28208 2022-02-10 Richard Biener <rguenther@suse.de>
28209
28210 PR tree-optimization/104466
28211 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
28212 for the MR_DEPENDENCE checks as intended.
28213
28214 2022-02-10 Tom de Vries <tdevries@suse.de>
28215
28216 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
28217 define_insn.
28218 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
28219 TARGET_SM70.
28220 (define_c_enum "unspecv"): Add UNSPECV_ST.
28221
28222 2022-02-10 Tom de Vries <tdevries@suse.de>
28223
28224 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
28225 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
28226 (nvptx_mem_maybe_shared_p): New function.
28227 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
28228 define_expand.
28229
28230 2022-02-10 Tom de Vries <tdevries@suse.de>
28231
28232 PR target/97005
28233 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
28234 driver JIT bug by using sub.s16 instead of sub.u16.
28235
28236 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
28237
28238 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
28239 floating point constants as operands 1 and/or 2.
28240
28241 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
28242
28243 PR target/104345
28244 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
28245 (sel_false<mode>): Likewise.
28246 (define_code_iterator eqne): New code iterator for EQ and NE.
28247 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
28248 the negation of a selp instruction.
28249 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
28250 the bitwise not of a selp instruction.
28251 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
28252
28253 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
28254
28255 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
28256 in machine description.
28257 (logic): Move code attribute earlier in machine description.
28258 (ilogic): New code attribute, like logic but "ior" for IOR.
28259 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
28260 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
28261 (<ilogic>bi3): New define_insn for BI mode logic operations.
28262 (define_split): Lower logic operations from integer modes to
28263 BI mode predicate operations.
28264
28265 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
28266
28267 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
28268 (one_cmplbi2): New define_insn for not.pred.
28269 (mulditi3): New define_expand for signed widening multiply.
28270 (umulditi3): New define_expand for unsigned widening multiply.
28271 (smul<mode>3_highpart): New define_insn for signed highpart mult.
28272 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
28273 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
28274 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
28275 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
28276 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
28277 (*setcc<mode>_from_not_bi): New define_insn.
28278 (*setcc_isinf<mode>): New define_insn for testp.infinite.
28279 (isinf<mode>2): New define_expand.
28280
28281 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
28282
28283 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
28284 (setcc<mode>_from_bi): Additionally support QImode.
28285 (extendbi<mode>2): Additionally support QImode.
28286 (zero_extendbi<mode>2): Additionally support QImode.
28287 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
28288 iterators for signed and unsigned, binary and unary operations.
28289 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
28290 expanders to perform QImode operations using SImode instructions.
28291 (cstoreqi4): New define_expand.
28292 (*ext_truncsi2_qi): New define_insn.
28293 (*zext_truncsi2_qi): New define_insn.
28294
28295 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
28296
28297 * config/nvptx/nvptx.md (*cmpf): New define_insn.
28298 (cstorehf4): New define_expand.
28299 (fmahf4): New define_insn.
28300 (neghf2): New define_insn.
28301 (abshf2): New define_insn.
28302
28303 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
28304
28305 * doc/install.texi (Specific): Change the www.bitwizard.nl
28306 reference to use https.
28307
28308 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
28309
28310 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
28311 OMP_CLAUSE_HAS_DEVICE_ADDR
28312 and handle array sections.
28313 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
28314 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
28315 (lower_omp_target): Same.
28316 * tree-core.h (enum omp_clause_code): Same.
28317 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
28318 (convert_local_omp_clauses): Same.
28319 * tree-pretty-print.cc (dump_omp_clause): Same.
28320 * tree.cc: Same.
28321
28322 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
28323
28324 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
28325 that will result in direct recursive calls.
28326
28327 2022-02-10 Andrew Pinski <apinski@marvell.com>
28328
28329 PR target/104474
28330 * config/aarch64/aarch64.cc
28331 (aarch64_sve_expand_vector_init_handle_trailing_constants):
28332 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
28333
28334 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
28335
28336 PR target/104462
28337 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
28338 Also include OPTION_MASK_ISA2_AVX2_UNSET.
28339
28340 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
28341
28342 PR target/104458
28343 * config/i386/i386-expand.cc (ix86_split_idivmod):
28344 Force operands[2] and operands[3] into a register..
28345
28346 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
28347
28348 PR target/97040
28349 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
28350 (*v850_fnmssf4): Renamed from fnmssf4
28351
28352 2022-02-09 Ian Lance Taylor <iant@golang.org>
28353
28354 * godump.cc (go_force_record_alignment): Really name the alignment
28355 field "_" (complete 2021-12-29 change).
28356
28357 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
28358
28359 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
28360 function prototype.
28361 (VREPLACE_UN_UV4SI): Likewise.
28362 (VREPLACE_UN_V2DF): Likewise.
28363 (VREPLACE_UN_V2DI): Likewise.
28364 (VREPLACE_UN_V4SF): Likewise.
28365 (VREPLACE_UN_V4SI): Likewise.
28366 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
28367 function prototypes.
28368 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
28369 (vreplace_un_<mode>): New define_insn.
28370
28371 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
28372
28373 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
28374 (VDBL): Handle SF.
28375 (single_wx, single_type, single_dtype, dblq): New mode attributes.
28376 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
28377 from VDC to VDCSIF.
28378 (store_pair_lanes<mode>): Likewise.
28379 (*aarch64_combine_internal<mode>): Likewise.
28380 (*aarch64_combine_internal_be<mode>): Likewise.
28381 (*aarch64_combinez<mode>): Likewise.
28382 (*aarch64_combinez_be<mode>): Likewise.
28383 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
28384 8-byte modes for ADDR_QUERY_LDP_STP_N.
28385 (aarch64_print_operand): Likewise for %y.
28386
28387 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
28388
28389 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
28390 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
28391 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
28392 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
28393 (vec_pack_trunc_<mode>): Take general_operand elements and use
28394 aarch64_combine rather than move_lo/hi_quad to combine them.
28395 (vec_pack_trunc_df): Likewise.
28396
28397 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
28398
28399 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
28400 Delete.
28401 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
28402 to...
28403 (*aarch64_combinez<mode>): ...this.
28404 (@aarch64_combinez_be<mode>): Rename to...
28405 (*aarch64_combinez_be<mode>): ...this.
28406 (@aarch64_vec_concat<mode>): New expander.
28407 (aarch64_combine<mode>): Use it.
28408 (@aarch64_simd_combine<mode>): Delete.
28409 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
28410 (aarch64_expand_vector_init): Use aarch64_vec_concat.
28411
28412 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
28413
28414 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
28415 New predicate.
28416 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
28417 (*aarch64_combine_internal_be<mode>): New patterns.
28418
28419 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
28420
28421 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
28422 (move_lo_quad_internal_be_<mode>): Delete.
28423 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
28424
28425 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
28426
28427 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
28428 Declare.
28429 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
28430 aarch64_mergeable_load_pair_p instead of inline check.
28431 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
28432 (aarch64_check_consecutive_mems): Allow the reversed parameter
28433 to be null.
28434 (aarch64_mergeable_load_pair_p): New function.
28435
28436 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
28437
28438 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
28439 element to be an aarch64_simd_nonimmediate_operand.
28440
28441 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
28442
28443 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
28444 aarch64_simd_nonimmediate_operand instead of
28445 aarch64_simd_general_operand.
28446 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
28447 general_operand.
28448 (@aarch64_combinez_be<mode>): Likewise.
28449
28450 2022-02-09 Richard Biener <rguenther@suse.de>
28451
28452 PR middle-end/104464
28453 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
28454 throwing check to after unproblematic replacement.
28455
28456 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
28457
28458 PR tree-optimization/104420
28459 * match.pd (mult @0 real_zerop): Tweak conditions for constant
28460 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
28461
28462 2022-02-09 Jakub Jelinek <jakub@redhat.com>
28463
28464 PR debug/104407
28465 * dwarf2out.cc (mangle_referenced_decls): New function.
28466 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
28467 early_dwarf. Instead walk the initializer and try to mangle vars or
28468 functions referenced from it.
28469
28470 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
28471
28472 PR tree-optimization/104288
28473 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
28474 (non_null_ref::adjust_range): Move to header.
28475 (ranger_cache::range_of_def): Don't check non-null.
28476 (ranger_cache::entry_range): Don't check non-null.
28477 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
28478 (ranger_cache::update_to_nonnull): New.
28479 (non_null_loadstore): New.
28480 (ranger_cache::block_apply_nonnull): New.
28481 * gimple-range-cache.h (class non_null_ref): Update prototypes.
28482 (non_null_ref::adjust_range): Move to here and inline.
28483 (class ranger_cache): Update prototypes.
28484 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
28485 not search dominators.
28486 (path_range_query::adjust_for_non_null_uses): Ditto.
28487 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
28488 def overrides. Do not check nonnull.
28489 (gimple_ranger::range_on_entry): Check dominators for nonnull.
28490 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
28491 (gimple_ranger::register_side_effects): New.
28492 * gimple-range.h (gimple_ranger::register_side_effects): New.
28493 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
28494
28495 2022-02-09 Richard Biener <rguenther@suse.de>
28496
28497 PR tree-optimization/104445
28498 PR tree-optimization/102832
28499 * optabs-query.h (can_vec_extract): New.
28500 * optabs-query.cc (can_vec_extract): Likewise.
28501 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
28502 we can extract a hi/lo part from the larger vector, rework
28503 check iteration from larger to smaller sizes.
28504
28505 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
28506
28507 PR target/35513
28508 PR target/100593
28509 * config/i386/gnu-property.cc: Include "i386-protos.h".
28510 (file_end_indicate_exec_stack_and_gnu_property): Generate
28511 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
28512 nodirect_extern_access attribute.
28513 * config/i386/i386-options.cc
28514 (handle_nodirect_extern_access_attribute): New function.
28515 (ix86_attribute_table): Add nodirect_extern_access attribute.
28516 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
28517 bool argument.
28518 (ix86_has_no_direct_extern_access): New.
28519 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
28520 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
28521 call operand. Force non-call load from GOT for
28522 -mno-direct-extern-access or nodirect_extern_access attribute.
28523 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
28524 for -mno-direct-extern-access or nodirect_extern_access attribute.
28525 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
28526 for call operand.
28527 (asm_preferred_eh_data_format): Use PC-relative format for
28528 -mno-direct-extern-access to avoid copy relocation. Check
28529 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
28530 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
28531 true for -mno-direct-extern-access or nodirect_extern_access
28532 attribute. Don't treat protected data as extern and avoid copy
28533 relocation on common symbol with -mno-direct-extern-access or
28534 nodirect_extern_access attribute.
28535 (ix86_reloc_rw_mask): New to avoid copy relocation for
28536 -mno-direct-extern-access.
28537 (TARGET_ASM_RELOC_RW_MASK): New.
28538 * config/i386/i386.opt: Add -mdirect-extern-access.
28539 * doc/extend.texi: Document nodirect_extern_access attribute.
28540 * doc/invoke.texi: Document -m[no-]direct-extern-access.
28541
28542 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
28543
28544 PR target/104441
28545 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
28546 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
28547 Call ix86_avx_u128_mode_source to check mode for each component
28548 of source operand.
28549
28550 2022-02-09 liuhongt <hongtao.liu@intel.com>
28551
28552 PR target/104451
28553 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
28554 operands[2] from SImode to QImode.
28555
28556 2022-02-09 Richard Biener <rguenther@suse.de>
28557
28558 PR middle-end/104450
28559 * gimple-isel.cc: Pass cfun around.
28560 (+gimple_expand_vec_cond_expr): Do not combine a throwing
28561 comparison with the select.
28562
28563 2022-02-09 Richard Biener <rguenther@suse.de>
28564
28565 PR target/104453
28566 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
28567 folding for NULL LHS.
28568
28569 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
28570
28571 PR rtl-optimization/104198
28572 PR rtl-optimization/104153
28573 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
28574 using it directly. Rework comparison handling and always
28575 perform a second pass.
28576
28577 2022-02-08 Jakub Jelinek <jakub@redhat.com>
28578
28579 PR target/102140
28580 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
28581 split1 pass has finished already.
28582
28583 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
28584
28585 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
28586 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
28587 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
28588 (vmsumcud): New define_insn.
28589
28590 2022-02-08 Tom de Vries <tdevries@suse.de>
28591
28592 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
28593 * config/nvptx/nvptx.h (TARGET_SM70): Define.
28594
28595 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
28596
28597 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
28598 on condition.
28599 * config/s390/s390.md: Use paradoxical subreg.
28600
28601 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
28602
28603 * combine.cc (reg_subword_p): Check for paradoxical subreg.
28604
28605 2022-02-08 Tom de Vries <tdevries@suse.de>
28606
28607 PR target/104283
28608 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
28609 and PTX_VERSION_4_2.
28610 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
28611 (default_ptx_version_option, ptx_version_to_string)
28612 (sm_version_to_string, handle_ptx_version_option): New function.
28613 (nvptx_option_override): Call handle_ptx_version_option.
28614 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
28615 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
28616 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
28617 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
28618
28619 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
28620
28621 * doc/install.texi (Configuration): Document `--with-isa-spec='
28622 RISC-V option.
28623 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
28624 option.
28625 (RISC-V Options): Document it.
28626
28627 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
28628
28629 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
28630
28631 2022-02-08 Tom de Vries <tdevries@suse.de>
28632
28633 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
28634
28635 2022-02-08 Tom de Vries <tdevries@suse.de>
28636
28637 PR target/104364
28638 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
28639 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
28640 change is validated.
28641 (nvptx_mem_local_p): New function.
28642 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
28643 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
28644 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
28645 non-atomic, non-predicable define_insn, factored out of ...
28646 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
28647 Make predicable again.
28648 (define_expand "atomic_compare_and_swap<mode>"): Use
28649 atomic_compare_and_swap<mode>_1_local.
28650
28651 2022-02-08 liuhongt <hongtao.liu@intel.com>
28652
28653 PR rtl-optimization/104059
28654 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
28655 for a more expensive reg-reg move.
28656
28657 2022-02-07 Tamar Christina <tamar.christina@arm.com>
28658
28659 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
28660 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
28661 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
28662 (usdot_laneq, sudot_laneq): New.
28663 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
28664 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
28665
28666 2022-02-07 Tamar Christina <tamar.christina@arm.com>
28667
28668 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
28669 vdot_laneq_s32, vdotq_laneq_s32): New.
28670 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
28671 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
28672 (<sup>dot_prod<vsi2qi>): Re-order rtl.
28673 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
28674 (neon_<sup>dot_laneq<vsi2qi>): New.
28675
28676 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
28677
28678 PR target/104327
28679 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
28680 if always_inline is set. Don't inline when tune differs without
28681 always_inline.
28682
28683 2022-02-07 Richard Biener <rguenther@suse.de>
28684
28685 PR middle-end/104402
28686 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
28687 compares are not valid.
28688 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
28689 check is_gimple_condexpr.
28690
28691 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
28692
28693 PR target/103627
28694 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
28695 hunk affecting VSX and ALTIVEC to appropriate place.
28696
28697 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
28698
28699 PR target/103627
28700 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
28701 MMA if !TARGET_VSX.
28702
28703 2022-02-06 Jakub Jelinek <jakub@redhat.com>
28704
28705 PR c++/89074
28706 PR c++/104033
28707 * fold-const.h (folding_initializer): Adjust comment.
28708 (folding_cxx_constexpr): Declare.
28709 * fold-const.cc (folding_initializer): Adjust comment.
28710 (folding_cxx_constexpr): New variable.
28711 (address_compare): Restrict the decl vs. STRING_CST
28712 or vice versa or STRING_CST vs. STRING_CST or
28713 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
28714 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
28715 assume non-aliased functions have non-zero size and have different
28716 addresses. For folding_cxx_constexpr, punt on comparisons of start
28717 of some object and end of another one, regardless whether it is a decl
28718 or string literal. Also punt for folding_cxx_constexpr on
28719 STRING_CST vs. STRING_CST comparisons if the two literals could be
28720 overlapping.
28721
28722 2022-02-05 Jakub Jelinek <jakub@redhat.com>
28723
28724 PR tree-optimization/104389
28725 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
28726 honored.
28727
28728 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
28729
28730 * configure.ac: Fix detection for zifencei support.
28731 * configure: Regenerate.
28732
28733 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
28734
28735 PR target/104219
28736 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
28737 (all_defaults): Add isa_spec.
28738 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
28739
28740 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
28741
28742 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
28743 parameters instead of arglist and nargs. Simplify accordingly. Remove
28744 unnecessary test for argument count mismatch.
28745 (resolve_vec_cmpne): Likewise.
28746 (resolve_vec_adde_sube): Likewise.
28747 (resolve_vec_addec_subec): Likewise.
28748 (altivec_resolve_overloaded_builtin): Move overload special handling
28749 after the gathering of arguments into args[] and types[] and the test
28750 for correct number of arguments. Don't perform the test for correct
28751 number of arguments for certain special cases. Call the other special
28752 cases with args and types instead of arglist and nargs.
28753
28754 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
28755
28756 PR target/100808
28757 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
28758 3.1): Provide consistent type names. Remove unnecessary semicolons.
28759 Fix bad line breaks.
28760
28761 2022-02-04 Jakub Jelinek <jakub@redhat.com>
28762
28763 PR target/104380
28764 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
28765 adjust mangling of __builtin*printf_chk.
28766
28767 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
28768
28769 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
28770
28771 2022-02-04 Richard Biener <rguenther@suse.de>
28772 Bin Cheng <bin.cheng@linux.alibaba.com>
28773
28774 PR tree-optimization/100499
28775 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
28776 to true.
28777 * fold-const.cc (multiple_of_p): Likewise. Honor it for
28778 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
28779 switching to false for conversions.
28780 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
28781 claim the outermost expression does not wrap when calling
28782 multiple_of_p. Refactor the check done to check the
28783 original IV, avoiding a bias that might wrap.
28784
28785 2022-02-04 Richard Biener <rguenther@suse.de>
28786
28787 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
28788 handling.
28789
28790 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
28791
28792 PR debug/104366
28793 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
28794 (dwarf2out_early_finish): Likewise.
28795
28796 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
28797
28798 PR tree-optimization/104356
28799 * match.pd (X / bool_range_Y is X): Add guard.
28800 (X / X is one): Likewise.
28801 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
28802 (X / -X is -1): Likewise.
28803 (1 / X -> X == 1): Likewise.
28804
28805 2022-02-04 Richard Biener <rguenther@suse.de>
28806
28807 PR tree-optimization/103641
28808 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
28809 Pass the vector mode to choose_mult_variant.
28810
28811 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
28812
28813 PR rtl-optimization/101885
28814 * combine.cc (try_combine): When splitting a parallel into two
28815 sequential sets, check not only that the first doesn't clobber
28816 the second but also that the second doesn't clobber the first.
28817
28818 2022-02-04 Richard Biener <rguenther@suse.de>
28819
28820 PR middle-end/90348
28821 PR middle-end/104092
28822 * tree-core.h (clobber_kind): New enum.
28823 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
28824 * tree.h (CLOBBER_KIND): Add.
28825 (build_clobber): Add clobber kind argument, defaulted to
28826 CLOBBER_UNDEF.
28827 * tree.cc (build_clobber): Likewise.
28828 * gimple.h (gimple_clobber_p): New overload with specified kind.
28829 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
28830 CLOBBER_KIND.
28831 * tree-streamer-out.cc (streamer_write_tree_bitfields):
28832 Likewise.
28833 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
28834 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
28835 with CLOBBER_EOL.
28836 (gimplify_target_expr): Likewise.
28837 * tree-inline.cc (expand_call_inline): Likewise.
28838 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
28839 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
28840 CLOBBER_EOL clobbers as ending lifetime of storage.
28841
28842 2022-02-04 Martin Sebor <msebor@redhat.com>
28843
28844 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
28845 cleanup.
28846
28847 2022-02-03 Martin Sebor <msebor@redhat.com>
28848
28849 PR middle-end/104260
28850 * passes.def (pass_warn_access): Adjust pass placement.
28851
28852 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
28853
28854 PR target/104362
28855 * config/i386/i386.cc (find_drap_reg): For 32bit targets
28856 return DI_REG if function uses __builtin_eh_return.
28857
28858 2022-02-03 Martin Sebor <msebor@redhat.com>
28859
28860 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
28861 (pass_wrestrict::m_ptr_qry): New member.
28862 (wrestrict_walk): Rename...
28863 (pass_wrestrict::check_block): ...to this.
28864 (pass_wrestrict::execute): Set up and tear down pointer_query and
28865 ranger.
28866 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
28867 (builtin_access::builtin_access): Same.
28868 (builtin_access::m_ptr_qry): New member.
28869 (check_call): Rename...
28870 (pass_wrestrict::check_call): ...to this.
28871 (check_bounds_or_overlap): Change argument.
28872 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
28873
28874 2022-02-03 Martin Sebor <msebor@redhat.com>
28875
28876 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
28877 Define ctor.
28878 (array_bounds_checker::get_value_range): Use new member.
28879 (array_bounds_checker::check_mem_ref): Same.
28880 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
28881 Outline ctor.
28882 (array_bounds_checker::m_ptr_query): New member.
28883
28884 2022-02-03 Martin Sebor <msebor@redhat.com>
28885
28886 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
28887 pointer_query cache.
28888 * pointer-query.cc (pointer_query::pointer_query): Remove cache
28889 argument. Zero-initialize new cache member.
28890 (pointer_query::get_ref): Replace cache pointer with direct access.
28891 (pointer_query::put_ref): Same.
28892 (pointer_query::flush_cache): Same.
28893 (pointer_query::dump): Same.
28894 * pointer-query.h (class pointer_query): Remove cache argument from
28895 ctor. Change cache pointer to cache subobject member.
28896 * tree-ssa-strlen.cc: Remove pointer_query cache.
28897
28898 2022-02-03 Martin Sebor <msebor@redhat.com>
28899
28900 PR tree-optimization/104119
28901 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
28902 (format_none): Same.
28903 (format_percent): Same.
28904 (format_integer): Same.
28905 (format_floating): Same.
28906 (get_string_length): Same.
28907 (format_character): Same.
28908 (format_string): Same.
28909 (format_plain): Same.
28910 (format_directive): Same.
28911 (compute_format_length): Same.
28912 (handle_printf_call): Same.
28913 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
28914 get_maxbound.
28915 (get_range_strlen_phi): Same.
28916 (get_maxbound): New function.
28917 (strlen_pass::get_len_or_size): Adjust to parameter change.
28918 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
28919
28920 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
28921
28922 PR target/103686
28923 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
28924 test for !rs6000_fold_gimple.
28925 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
28926 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
28927
28928 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
28929
28930 PR target/95082
28931 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
28932 endianness for vclzlsbb and vctzlsbb.
28933 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
28934 default pattern and indicate a different pattern will be used for
28935 big endian.
28936 (VCLZLSBB_V4SI): Likewise.
28937 (VCLZLSBB_V8HI): Likewise.
28938 (VCTZLSBB_V16QI): Likewise.
28939 (VCTZLSBB_V4SI): Likewise.
28940 (VCTZLSBB_V8HI): Likewise.
28941
28942 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
28943
28944 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
28945 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
28946 from other files.
28947 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
28948 rs6000-builtin.cc.
28949 (cpu_supports_info): Likewise.
28950 (rs6000_type_string): Likewise.
28951 (altivec_expand_predicate_builtin): Likewise.
28952 (rs6000_htm_spr_icode): Likewise.
28953 (altivec_expand_vec_init_builtin): Likewise.
28954 (get_element_number): Likewise.
28955 (altivec_expand_vec_set_builtin): Likewise.
28956 (altivec_expand_vec_ext_builtin): Likewise.
28957 (rs6000_invalid_builtin): Likewise.
28958 (rs6000_fold_builtin): Likewise.
28959 (fold_build_vec_cmp): Likewise.
28960 (fold_compare_helper): Likewise.
28961 (map_to_integral_tree_type): Likewise.
28962 (fold_mergehl_helper): Likewise.
28963 (fold_mergeeo_helper): Likewise.
28964 (rs6000_builtin_valid_without_lhs): Likewise.
28965 (rs6000_builtin_is_supported): Likewise.
28966 (rs6000_gimple_fold_mma_builtin): Likewise.
28967 (rs6000_gimple_fold_builtin): Likewise.
28968 (rs6000_expand_ldst_mask): Likewise.
28969 (cpu_expand_builtin): Likewise.
28970 (elemrev_icode): Likewise.
28971 (ldv_expand_builtin): Likewise.
28972 (lxvrse_expand_builtin): Likewise.
28973 (lxvrze_expand_builtin): Likewise.
28974 (stv_expand_builtin): Likewise.
28975 (mma_expand_builtin): Likewise.
28976 (htm_spr_num): Likewise.
28977 (htm_expand_builtin): Likewise.
28978 (rs6000_expand_builtin): Likewise.
28979 (rs6000_vector_type): Likewise.
28980 (rs6000_init_builtins): Likewise. Remove initialization of
28981 builtin_mode_to_type entries.
28982 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
28983 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
28984 external declaration.
28985 (rs6000_builtin_md_vectorized_function): Likewise.
28986 (rs6000_builtin_reciprocal): Likewise.
28987 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
28988 (rs6000_builtin_types): Likewise.
28989 (builtin_mode_to_type): Remove.
28990 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
28991 static qualifier.
28992 (rs6000_builtin_md_vectorized_function): Likewise.
28993 (rs6000_builtin_reciprocal): Likewise.
28994 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
28995 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
28996
28997 2022-02-03 Richard Biener <rguenther@suse.de>
28998
28999 PR debug/104337
29000 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
29001 together via DECL_ABSTRACT_ORIGIN.
29002
29003 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
29004
29005 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
29006 message for RES_BITS case.
29007
29008 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
29009
29010 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
29011
29012 2022-02-03 Jakub Jelinek <jakub@redhat.com>
29013
29014 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
29015 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
29016
29017 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
29018
29019 * cfganal.cc (verify_marked_backedges): New.
29020 * cfganal.h (verify_marked_backedges): New.
29021 * gimple-range-path.cc (path_range_query::path_range_query):
29022 Verify freshness of back edges.
29023 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
29024 mark_dfs_back_edges.
29025 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
29026 path_range_query construction after backedges have been
29027 updated.
29028
29029 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
29030
29031 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
29032 VALL to VALL_F16.
29033
29034 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
29035
29036 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
29037 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
29038 of VALL_F16MOV.
29039
29040 2022-02-03 Martin Liska <mliska@suse.cz>
29041
29042 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
29043 Change subject and object in the error message.
29044 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
29045 Likewise.
29046
29047 2022-02-03 Martin Liska <mliska@suse.cz>
29048
29049 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
29050 Use the error message for i386 target.
29051
29052 2022-02-03 Jakub Jelinek <jakub@redhat.com>
29053
29054 PR tree-optimization/104334
29055 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
29056 and rh_range type to widest_int and subtract in widest_int. Remove
29057 ov_rh, ov_lh and sign vars, always perform comparisons as signed
29058 and use >, < and == operators for it.
29059
29060 2022-02-03 Martin Sebor <msebor@redhat.com>
29061
29062 * common.opt (-Wuse-after-free): Correct typos.
29063
29064 2022-02-02 David Malcolm <dmalcolm@redhat.com>
29065
29066 PR analyzer/104270
29067 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
29068 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
29069 -ftrivial-auto-var-init= doesn't suppress warnings.
29070
29071 2022-02-02 Martin Liska <mliska@suse.cz>
29072
29073 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
29074
29075 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
29076
29077 PR target/94372
29078 * config/or1k/linux.h (CPP_SPEC): Define.
29079
29080 2022-02-02 Tamar Christina <tamar.christina@arm.com>
29081
29082 PR tree-optimization/102819
29083 PR tree-optimization/103169
29084 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
29085 canonical order.
29086
29087 2022-02-02 Tamar Christina <tamar.christina@arm.com>
29088
29089 PR tree-optimization/102819
29090 PR tree-optimization/103169
29091 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
29092 canonical order.
29093 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
29094
29095 2022-02-02 Tamar Christina <tamar.christina@arm.com>
29096
29097 PR tree-optimization/102819
29098 PR tree-optimization/103169
29099 * doc/md.texi: Update docs for cfms, cfma.
29100 * tree-data-ref.h (same_data_refs): Accept optional offset.
29101 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
29102 patterns.
29103 (vect_normalize_conj_loc): Remove.
29104 (is_eq_or_top): Change to take two nodes.
29105 (enum _conj_status, compatible_complex_nodes_p,
29106 vect_validate_multiplication): New.
29107 (class complex_add_pattern, complex_add_pattern::matches,
29108 complex_add_pattern::recognize, class complex_mul_pattern,
29109 complex_mul_pattern::recognize, class complex_fms_pattern,
29110 complex_fms_pattern::recognize, class complex_operations_pattern,
29111 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
29112 new cache.
29113 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
29114 cache and use new validation code.
29115 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
29116 vect_analyze_slp): Pass along cache.
29117 (compatible_calls_p): Expose.
29118 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
29119 slp_compat_nodes_map_t): New.
29120 (class vect_pattern): Update signatures include new cache.
29121
29122 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
29123
29124 * config/cris/cris.cc (cris_preferred_reload_class): Reject
29125 "eliminated" registers and small-enough constants unless
29126 reloaded into a class that is a subset of GENERAL_REGS.
29127 * config/cris/cris.md (attribute "cpu_variant"): New.
29128 (attribute "enabled"): Conditionalize on a matching attribute
29129 cpu_variant, if specified.
29130 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
29131 memory, add cpu-variant-enabled variants for "r" alternatives on
29132 the far side of the "x" alternatives, preferring the "x" ones
29133 only for variants where MOF is present (in addition to SRP).
29134
29135 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
29136
29137 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
29138 extra cost for ALL_REGS.
29139
29140 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
29141
29142 * config/cris/constraints.md (define_register_constraint "b"): Now
29143 GENERAL_REGS.
29144 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
29145 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
29146 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
29147 and SPEC_GENNONACR_REGS.
29148 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
29149 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
29150
29151 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
29152
29153 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
29154 Conditionalize on (sub-)register operands or operand 1 being 0.
29155
29156 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
29157
29158 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
29159 (MUL_BUG_ASM_DEFAULT): New macro.
29160 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
29161 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
29162 accordingly.
29163
29164 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
29165
29166 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
29167 to 10 for AutoFDO.
29168
29169 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
29170
29171 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
29172
29173 2022-02-01 Andrew Pinski <apinski@marvell.com>
29174
29175 * doc/install.texi:
29176
29177 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
29178
29179 * config/s390/s390.cc (s390_code_end): Do not switch back to
29180 code section.
29181
29182 2022-02-01 Jakub Jelinek <jakub@redhat.com>
29183
29184 PR target/104323
29185 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
29186 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
29187 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
29188 GTY((user)) for struct bifdata and struct ovlddata. Instead add
29189 GTY((skip(""))) to members with pointer and enum types that don't need
29190 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
29191 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
29192 (write_extern_fntype, write_fntype): Remove.
29193 (write_fntype_init): Emit the fntype vars as automatic vars instead
29194 of file scope ones.
29195 (write_header_file): Don't iterate with write_extern_fntype.
29196 (write_init_file): Don't iterate with write_fntype. Don't emit
29197 gt_ggc_mx and gt_pch_nx definitions.
29198
29199 2022-02-01 Jason Merrill <jason@redhat.com>
29200
29201 * tree.h (struct tree_vec_map_cache_hasher): Move from...
29202 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
29203
29204 2022-02-01 Tom de Vries <tdevries@suse.de>
29205
29206 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
29207 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
29208 UNSPECV_UNIFORM_WARP_CHECK.
29209 (define_insn "nvptx_uniform_warp_check"): New define_insn.
29210
29211 2022-02-01 Tom de Vries <tdevries@suse.de>
29212
29213 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
29214 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
29215 UNSPECV_WARPSYNC.
29216 (define_insn "nvptx_warpsync"): New define_insn.
29217
29218 2022-02-01 Tom de Vries <tdevries@suse.de>
29219
29220 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
29221
29222 2022-02-01 Tom de Vries <tdevries@suse.de>
29223
29224 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
29225 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
29226 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
29227 insn for TARGET_PTX_6_0.
29228
29229 2022-02-01 Tom de Vries <tdevries@suse.de>
29230
29231 PR target/100428
29232 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
29233 insn.
29234
29235 2022-02-01 Tom de Vries <tdevries@suse.de>
29236
29237 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
29238 (define_insn "atomic_exchange<mode>")
29239 (define_insn "atomic_fetch_add<mode>")
29240 (define_insn "atomic_fetch_addsf")
29241 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
29242 if memory operands is frame-relative.
29243
29244 2022-02-01 Tom de Vries <tdevries@suse.de>
29245
29246 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
29247 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
29248 (VOID): New macro.
29249 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
29250 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
29251 NVPTX_BUILTIN_MEMBAR_CTA.
29252 (nvptx_lockfull_update): Add level parameter. Emit barriers.
29253 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
29254 nvptx_lockfull_update.
29255 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
29256 UNSPECV_MEMBAR_GL.
29257 (define_expand "nvptx_membar_gl"): New expand.
29258 (define_insn "*nvptx_membar_gl"): New insn.
29259
29260 2022-02-01 Martin Liska <mliska@suse.cz>
29261
29262 * doc/install.texi: Remove option for GCC < 4.8.
29263
29264 2022-02-01 Jakub Jelinek <jakub@redhat.com>
29265
29266 PR middle-end/104307
29267 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
29268 stmts to uses vector, just set vec_cond_expr_only to false for
29269 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
29270 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
29271 like non-VEC_COND_EXPRs.
29272
29273 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
29274
29275 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
29276 (VEC_BLENDV): Likewise.
29277 (VEC_BPERM): Likewise.
29278 (VEC_CFUGE): Likewise.
29279 (VEC_CIPHER_BE): Likewise.
29280 (VEC_CIPHERLAST_BE): Likewise.
29281 (VEC_CLRL): Likewise.
29282 (VEC_CLRR): Likewise.
29283 (VEC_CMPNEZ): Likewise.
29284 (VEC_CNTLZ): Likewise.
29285 (VEC_CNTLZM): Likewise.
29286 (VEC_CNTTZM): Likewise.
29287 (VEC_CNTLZ_LSBB): Likewise.
29288 (VEC_CNTM): Likewise.
29289 (VEC_CNTTZ): Likewise.
29290 (VEC_CNTTZ_LSBB): Likewise.
29291 (VEC_CONVERT_4F32_8F16): Likewise.
29292 (VEC_DIV): Likewise.
29293 (VEC_DIVE): Likewise.
29294 (VEC_EQV): Likewise.
29295 (VEC_EXPANDM): Likewise.
29296 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
29297 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
29298 (VEC_EXTRACTH): Likewise.
29299 (VEC_EXTRACTL): Likewise.
29300 (VEC_EXTRACTM): Likewise.
29301 (VEC_EXTRACT4B): Likewise.
29302 (VEC_EXTULX): Likewise.
29303 (VEC_EXTURX): Likewise.
29304 (VEC_FIRSTMATCHINDEX): Likewise.
29305 (VEC_FIRSTMACHOREOSINDEX): Likewise.
29306 (VEC_FIRSTMISMATCHINDEX): Likewise.
29307 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
29308 (VEC_GB): Likewise.
29309 (VEC_GENBM): Likewise.
29310 (VEC_GENHM): Likewise.
29311 (VEC_GENWM): Likewise.
29312 (VEC_GENDM): Likewise.
29313 (VEC_GENQM): Likewise.
29314 (VEC_GENPCVM): Likewise.
29315 (VEC_GNB): Likewise.
29316 (VEC_INSERTH): Likewise.
29317 (VEC_INSERTL): Likewise.
29318 (VEC_INSERT4B): Likewise.
29319 (VEC_LXVL): Likewise.
29320 (VEC_MERGEE): Likewise.
29321 (VEC_MERGEO): Likewise.
29322 (VEC_MOD): Likewise.
29323 (VEC_MSUB): Likewise.
29324 (VEC_MULH): Likewise.
29325 (VEC_NAND): Likewise.
29326 (VEC_NCIPHER_BE): Likewise.
29327 (VEC_NCIPHERLAST_BE): Likewise.
29328 (VEC_NEARBYINT): Likewise.
29329 (VEC_NMADD): Likewise.
29330 (VEC_ORC): Likewise.
29331 (VEC_PDEP): Likewise.
29332 (VEC_PERMX): Likewise.
29333 (VEC_PEXT): Likewise.
29334 (VEC_POPCNT): Likewise.
29335 (VEC_PARITY_LSBB): Likewise.
29336 (VEC_REPLACE_ELT): Likewise.
29337 (VEC_REPLACE_UN): Likewise.
29338 (VEC_REVB): Likewise.
29339 (VEC_RINT): Likewise.
29340 (VEC_RLMI): Likewise.
29341 (VEC_RLNM): Likewise.
29342 (VEC_SBOX_BE): Likewise.
29343 (VEC_SIGNEXTI): Likewise.
29344 (VEC_SIGNEXTLL): Likewise.
29345 (VEC_SIGNEXTQ): Likewise.
29346 (VEC_SLDB): Likewise.
29347 (VEC_SLV): Likewise.
29348 (VEC_SPLATI): Likewise.
29349 (VEC_SPLATID): Likewise.
29350 (VEC_SPLATI_INS): Likewise.
29351 (VEC_SQRT): Likewise.
29352 (VEC_SRDB): Likewise.
29353 (VEC_SRV): Likewise.
29354 (VEC_STRIL): Likewise.
29355 (VEC_STRIL_P): Likewise.
29356 (VEC_STRIR): Likewise.
29357 (VEC_STRIR_P): Likewise.
29358 (VEC_STXVL): Likewise.
29359 (VEC_TERNARYLOGIC): Likewise.
29360 (VEC_TEST_LSBB_ALL_ONES): Likewise.
29361 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
29362 (VEC_VEE): Likewise.
29363 (VEC_VES): Likewise.
29364 (VEC_VIE): Likewise.
29365 (VEC_VPRTYB): Likewise.
29366 (VEC_VSCEEQ): Likewise.
29367 (VEC_VSCEGT): Likewise.
29368 (VEC_VSCELT): Likewise.
29369 (VEC_VSCEUO): Likewise.
29370 (VEC_VSEE): Likewise.
29371 (VEC_VSES): Likewise.
29372 (VEC_VSIE): Likewise.
29373 (VEC_VSTDC): Likewise.
29374 (VEC_VSTDCN): Likewise.
29375 (VEC_VTDC): Likewise.
29376 (VEC_XL): Likewise.
29377 (VEC_XL_BE): Likewise.
29378 (VEC_XL_LEN_R): Likewise.
29379 (VEC_XL_SEXT): Likewise.
29380 (VEC_XL_ZEXT): Likewise.
29381 (VEC_XST): Likewise.
29382 (VEC_XST_BE): Likewise.
29383 (VEC_XST_LEN_R): Likewise.
29384 (VEC_XST_TRUNC): Likewise.
29385 (VEC_XXPERMDI): Likewise.
29386 (VEC_XXSLDWI): Likewise.
29387 (VEC_TSTSFI_EQ_DD): Likewise.
29388 (VEC_TSTSFI_EQ_TD): Likewise.
29389 (VEC_TSTSFI_GT_DD): Likewise.
29390 (VEC_TSTSFI_GT_TD): Likewise.
29391 (VEC_TSTSFI_LT_DD): Likewise.
29392 (VEC_TSTSFI_LT_TD): Likewise.
29393 (VEC_TSTSFI_OV_DD): Likewise.
29394 (VEC_TSTSFI_OV_TD): Likewise.
29395 (VEC_VADDCUQ): Likewise.
29396 (VEC_VADDECUQ): Likewise.
29397 (VEC_VADDEUQM): Likewise.
29398 (VEC_VADDUDM): Likewise.
29399 (VEC_VADDUQM): Likewise.
29400 (VEC_VBPERMQ): Likewise.
29401 (VEC_VCLZB): Likewise.
29402 (VEC_VCLZD): Likewise.
29403 (VEC_VCLZH): Likewise.
29404 (VEC_VCLZW): Likewise.
29405 (VEC_VCTZB): Likewise.
29406 (VEC_VCTZD): Likewise.
29407 (VEC_VCTZH): Likewise.
29408 (VEC_VCTZW): Likewise.
29409 (VEC_VEEDP): Likewise.
29410 (VEC_VEESP): Likewise.
29411 (VEC_VESDP): Likewise.
29412 (VEC_VESSP): Likewise.
29413 (VEC_VIEDP): Likewise.
29414 (VEC_VIESP): Likewise.
29415 (VEC_VPKSDSS): Likewise.
29416 (VEC_VPKSDUS): Likewise.
29417 (VEC_VPKUDUM): Likewise.
29418 (VEC_VPKUDUS): Likewise.
29419 (VEC_VPOPCNT): Likewise.
29420 (VEC_VPOPCNTB): Likewise.
29421 (VEC_VPOPCNTD): Likewise.
29422 (VEC_VPOPCNTH): Likewise.
29423 (VEC_VPOPCNTW): Likewise.
29424 (VEC_VPRTYBD): Likewise.
29425 (VEC_VPRTYBQ): Likewise.
29426 (VEC_VPRTYBW): Likewise.
29427 (VEC_VRLD): Likewise.
29428 (VEC_VSLD): Likewise.
29429 (VEC_VSRAD): Likewise.
29430 (VEC_VSRD): Likewise.
29431 (VEC_VSTDCDP): Likewise.
29432 (VEC_VSTDCNDP): Likewise.
29433 (VEC_VSTDCNQP): Likewise.
29434 (VEC_VSTDCNSP): Likewise.
29435 (VEC_VSTDCQP): Likewise.
29436 (VEC_VSTDCSP): Likewise.
29437 (VEC_VSUBECUQ): Likewise.
29438 (VEC_VSUBEUQM): Likewise.
29439 (VEC_VSUBUDM): Likewise.
29440 (VEC_VSUBUQM): Likewise.
29441 (VEC_VTDCDP): Likewise.
29442 (VEC_VTDCSP): Likewise.
29443 (VEC_VUPKHSW): Likewise.
29444 (VEC_VUPKLSW): Likewise.
29445
29446 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
29447
29448 PR rtl-optimization/101260
29449 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
29450 copy_regno.
29451
29452 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
29453
29454 PR middle-end/95115
29455 * fold-const.cc (const_binop): Do not fold NaN result from
29456 non-NaN operands.
29457
29458 2022-02-01 Tom de Vries <tdevries@suse.de>
29459
29460 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
29461 -ftree-loop-distribute-patterns.
29462 (loop_distribution::execute): Don't call transform_reduction_loop for
29463 -fno-tree-loop-distribute-patterns.
29464
29465 2022-01-31 Andrew Pinski <apinski@marvell.com>
29466
29467 * fold-const.h (operand_compare::operand_equal_p):
29468 Fix comment about OEP_* flags.
29469
29470 2022-01-31 Jakub Jelinek <jakub@redhat.com>
29471
29472 PR target/104298
29473 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
29474 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
29475 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
29476 if not already defined.
29477
29478 2022-01-31 Martin Sebor <msebor@redhat.com>
29479
29480 PR middle-end/104232
29481 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
29482 Handle PHIs. Add a synonymous overload.
29483 (pass_waccess::check_pointer_uses): Call pointers_related_p.
29484
29485 2022-01-31 Richard Biener <rguenther@suse.de>
29486
29487 PR tree-optimization/100499
29488 * fold-const.cc (multiple_of_p): Pass the correct type of
29489 the expression to the recursive invocation of multiple_of_p
29490 for conversions and use CASE_CONVERT.
29491
29492 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
29493
29494 PR target/104189
29495 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
29496
29497 2022-01-31 Richard Biener <rguenther@suse.de>
29498
29499 PR tree-optimization/100499
29500 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
29501 on poly-ints instead of multiple_of_p.
29502 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
29503 (non_rewritable_mem_ref_base): Likewise.
29504 (non_rewritable_lvalue_p): Likewise.
29505 (execute_update_addresses_taken): Likewise.
29506
29507 2022-01-29 Jakub Jelinek <jakub@redhat.com>
29508 Andrew Pinski <apinski@marvell.com>
29509
29510 PR tree-optimization/104279
29511 PR tree-optimization/104280
29512 PR tree-optimization/104281
29513 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
29514 boolean_type_node and convert to type. Formatting fixes.
29515
29516 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
29517
29518 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
29519
29520 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
29521
29522 PR tree-optimization/103514
29523 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
29524 (a & b) == (a ^ b) -> !(a | b): New optimization.
29525
29526 2022-01-28 Marek Polacek <polacek@redhat.com>
29527
29528 * doc/invoke.texi: Update -Wbidi-chars documentation.
29529
29530 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
29531
29532 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
29533
29534 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
29535
29536 PR tree-optimization/95424
29537 * match.pd: Simplify 1 / X where X is an integer.
29538
29539 2022-01-28 Jakub Jelinek <jakub@redhat.com>
29540
29541 PR tree-optimization/104263
29542 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
29543 cfun->can_throw_non_call_exceptions && cfun->eh test whether
29544 last non-debug stmt in the bb is store_valid_for_store_merging_p
29545 rather than last stmt.
29546
29547 2022-01-28 Martin Liska <mliska@suse.cz>
29548
29549 * diagnostic.cc (diagnostic_action_after_output): Remove extra
29550 newline.
29551
29552 2022-01-28 Martin Liska <mliska@suse.cz>
29553
29554 * config/rs6000/host-darwin.cc (segv_crash_handler):
29555 Do not use leading capital letter.
29556 (segv_handler): Likewise.
29557 * ipa-sra.cc (verify_splitting_accesses): Likewise.
29558 * varasm.cc (get_section): Likewise.
29559
29560 2022-01-28 Richard Biener <rguenther@suse.de>
29561
29562 PR tree-optimization/104267
29563 * tree-vect-stmts.cc (vectorizable_call): Properly use the
29564 per-argument determined vector type for externals and
29565 invariants.
29566
29567 2022-01-28 Richard Biener <rguenther@suse.de>
29568
29569 PR tree-optimization/104263
29570 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
29571 Purge edges also when !cfun->has_nonlocal_label
29572 and !cfun->calls_setjmp.
29573
29574 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
29575
29576 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
29577 attributes.
29578
29579 2022-01-28 Jakub Jelinek <jakub@redhat.com>
29580
29581 PR lto/104237
29582 * cfgrtl.cc (loc_equal): New function.
29583 (unique_locus_on_edge_between_p): Use it.
29584
29585 2022-01-28 Richard Biener <rguenther@suse.de>
29586
29587 * cfganal.h (mark_dfs_back_edges): Provide API with struct
29588 function argument.
29589 * cfganal.cc (mark_dfs_back_edges): Take a struct function
29590 to work on, add a wrapper passing cfun.
29591 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
29592 uses with fun which is already passed.
29593 (draw_cfg_edges): Likewise.
29594 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
29595 for fun != cfun.
29596
29597 2022-01-27 Patrick Palka <ppalka@redhat.com>
29598
29599 PR c++/99895
29600 * tree.cc (build_call_vec): Add const to second parameter.
29601 * tree.h (build_call_vec): Likewise.
29602
29603 2022-01-27 Martin Liska <mliska@suse.cz>
29604
29605 PR web/104254
29606 * diagnostic.cc (diagnostic_initialize):
29607 Initialize report_bug flag.
29608 (diagnostic_action_after_output):
29609 Explain that -freport-bug option can be used for pre-processed
29610 file creation. Make the message shorter.
29611 (error_recursion): Rename Internal to internal.
29612 * diagnostic.h (struct diagnostic_context): New field.
29613 * opts.cc (common_handle_option): Init the field here.
29614
29615 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
29616
29617 PR target/103702
29618 * config/rs6000/rs6000.cc
29619 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
29620 assertion with early return.
29621
29622 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
29623
29624 PR middle-end/103642
29625 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
29626 for non-pointer or non-reference-to-pointer cases.
29627
29628 2022-01-27 Jakub Jelinek <jakub@redhat.com>
29629
29630 PR tree-optimization/104196
29631 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
29632 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
29633 return NULL and emit needed stmts before and after stmt.
29634 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
29635 pick as operand_entry that will hold the merged test the one feeding
29636 earliest condition, ensure that by swapping range->idx with some
29637 other range's idx if needed. If seq is non-NULL, don't actually swap
29638 it but instead rewrite stmts with undefined overflow in between
29639 the two locations.
29640 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
29641 corresponding condition even if they have non-NULL ops[]->op.
29642 Formatting fix.
29643
29644 2022-01-26 Jakub Jelinek <jakub@redhat.com>
29645
29646 PR target/104239
29647 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
29648 asm.
29649 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
29650 before for loop instead of for init clause.
29651 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
29652
29653 2022-01-26 Jakub Jelinek <jakub@redhat.com>
29654
29655 PR target/104239
29656 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
29657 _X86INTRIN_H_INCLUDED and adjust #error wording.
29658 * config/rs6000/bmi2intrin.h: Likewise.
29659
29660 2022-01-26 Jakub Jelinek <jakub@redhat.com>
29661
29662 PR debug/104194
29663 * dwarf2out.cc (long_double_as_float128): New function.
29664 (modified_type_die): For powerpc64le IEEE 754 quad long double
29665 and complex long double emit those as DW_TAG_typedef to
29666 _Float128 or complex _Float128 base type.
29667
29668 2022-01-26 Marek Polacek <polacek@redhat.com>
29669
29670 PR target/104213
29671 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
29672 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
29673
29674 2022-01-26 Martin Liska <mliska@suse.cz>
29675
29676 * ipa-modref-tree.cc (modref_access_node::update):
29677 Remove "--param param=foo" with "--param foo".
29678 (modref_access_node::insert): Likewise.
29679 (modref_access_node::insert_kill): Likewise.
29680 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
29681 (struct modref_base_node): Likewise.
29682 (struct modref_tree): Likewise.
29683
29684 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
29685
29686 PR target/94193
29687 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
29688 predicate check.
29689
29690 2022-01-25 Martin Sebor <msebor@redhat.com>
29691
29692 PR tree-optimization/104203
29693 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
29694 TV_WARN_ACCESS.
29695 * pointer-query.cc (access_ref::merge_ref): Change return type.
29696 Convert failure to a conservative success.
29697 (access_ref::get_ref): Adjust to the change above. Short-circuit
29698 PHI evaluation after first failure turned into conservative success.
29699 * pointer-query.h (access_ref::merge_ref): Change return type.
29700 * timevar.def (TV_WARN_ACCESS): New timer variable.
29701
29702 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
29703
29704 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
29705
29706 2022-01-25 Richard Biener <rguenther@suse.de>
29707
29708 PR tree-optimization/104214
29709 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
29710 stronger guarantees for relational pointer compares when
29711 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
29712 BASE0 + STEP0 - STEP1 cmp BASE1.
29713
29714 2022-01-25 Jakub Jelinek <jakub@redhat.com>
29715
29716 PR target/104172
29717 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
29718 declare.
29719 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
29720 ieee128_mangling_gcc_8_1): Remove.
29721 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
29722 (rs6000_mangle_type): Return "u9__ieee128" instead of
29723 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
29724 (rs6000_globalize_decl_name): Remove.
29725 * config/rs6000/rs6000-call.cc (init_cumulative_args,
29726 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
29727
29728 2022-01-24 Martin Sebor <msebor@redhat.com>
29729
29730 * pointer-query.cc (pointer_query::dump): Remove duplicate
29731 block.
29732
29733 2022-01-24 Marek Polacek <polacek@redhat.com>
29734
29735 PR preprocessor/104030
29736 * doc/invoke.texi: Update documentation for -Wbidi-chars.
29737
29738 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
29739
29740 PR target/94193
29741 * builtins.cc (expand_builtin_fegetround): New function.
29742 (expand_builtin_feclear_feraise_except): New function.
29743 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
29744 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
29745 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
29746 (feclearexceptsi): New Pattern.
29747 (feraiseexceptsi): New Pattern.
29748 * doc/extend.texi: Add a new introductory paragraph about the
29749 new builtins.
29750 * doc/md.texi: (fegetround@var{m}): Document new optab.
29751 (feclearexcept@var{m}): Document new optab.
29752 (feraiseexcept@var{m}): Document new optab.
29753 * optabs.def (fegetround_optab): New optab.
29754 (feclearexcept_optab): New optab.
29755 (feraiseexcept_optab): New optab.
29756
29757 2022-01-24 Richard Biener <rguenther@suse.de>
29758 Jiufu Guo <guojiufu@linux.ibm.com>
29759
29760 PR tree-optimization/100740
29761 PR tree-optimization/101508
29762 PR tree-optimization/101972
29763 PR tree-optimization/102131
29764 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
29765 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
29766 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
29767
29768 2022-01-24 Jakub Jelinek <jakub@redhat.com>
29769
29770 PR sanitizer/104158
29771 * opt-functions.awk (var_set): Handle EnumBitSet property.
29772 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
29773 specified.
29774 * opts.h (enum cl_enum_var_value): New type.
29775 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
29776 Handle CLEV_BITSET.
29777 (cmdline_handle_error): Handle CLEV_BITSET.
29778 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
29779 * doc/options.texi (EnumBitSet): Document.
29780 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
29781 EnumSet.
29782 (trace-pc, trace-cmp): Drop Set properties.
29783
29784 2022-01-24 Jakub Jelinek <jakub@redhat.com>
29785
29786 PR sanitizer/104158
29787 * common.opt (flag_sanitize_coverage): Remove Variable entry.
29788 (fsanitize-coverage=): Remove RejectNegative property, add
29789 Var(flag_sanitize_coverage) and EnumSet properties.
29790 (trace-pc): Add Set(1) property.
29791 (trace-cmp): Add Set(2) property.
29792 * opts.cc (common_handle_option): Don't handle
29793 OPT_fsanitize_coverage_.
29794
29795 2022-01-24 Jakub Jelinek <jakub@redhat.com>
29796
29797 PR sanitizer/104158
29798 * opt-functions.awk (var_set): Handle EnumSet property.
29799 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
29800 specified.
29801 * opt-read.awk: Handle Set property.
29802 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
29803 (struct cl_decoded_option): Mention enum in value description.
29804 Add mask member.
29805 (set_option): Add mask argument defaulted to 0.
29806 * opts.cc (test_enum_sets): New function.
29807 (opts_cc_tests): Call it.
29808 * opts-common.cc (enum_arg_to_value): Change return argument
29809 from bool to int, on success return index into the cl_enum_arg
29810 array, on failure -1. Add len argument, if non-0, use strncmp
29811 instead of strcmp.
29812 (opt_enum_arg_to_value): Adjust caller.
29813 (decode_cmdline_option): Handle EnumSet represented as
29814 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
29815 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
29816 (handle_option): Pass decoded->mask to set_options last argument.
29817 (generate_option): Clear decoded->mask.
29818 (generate_option_input_file): Likewise.
29819 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
29820 (set_option): Add mask argument, use it for CLVC_ENUM.
29821 (control_warning_option): Adjust enum_arg_to_value caller.
29822 * doc/options.texi: Document Set and EnumSet properties.
29823
29824 2022-01-24 Jakub Jelinek <jakub@redhat.com>
29825
29826 PR bootstrap/104170
29827 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
29828 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
29829 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
29830 using OPTION_*_P macros.
29831 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
29832 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
29833 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
29834 using OPTION_*_P macros.
29835 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
29836 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
29837 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
29838 using OPTION_*_P macros.
29839 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
29840 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
29841 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
29842 using OPTION_*_P macros.
29843 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
29844 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
29845 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
29846 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
29847 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
29848 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
29849 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
29850 otherwise assume if (true).
29851
29852 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
29853
29854 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
29855 Skip zicsr and zifencei if I-ext is 2.0.
29856
29857 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
29858
29859 * config.gcc: Modify default isa_spec version.
29860
29861 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
29862
29863 PR tree-optimization/102087
29864 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
29865 Correct PLUS result type.
29866
29867 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
29868
29869 PR target/104188
29870 * config/i386/predicates.md (bcst_mem_operand): Also check mode
29871 of memory broadcast.
29872
29873 2022-01-23 Andrew Pinski <apinski@marvell.com>
29874
29875 PR target/64821
29876 * config/aarch64/aarch64-builtins.cc
29877 (aarch64_general_gimple_fold_builtin): Handle
29878 __builtin_aarch64_sqrt* and simplify into SQRT internal
29879 function.
29880
29881 2022-01-22 Jakub Jelinek <jakub@redhat.com>
29882
29883 PR other/104176
29884 * opts-global.cc (handle_common_deferred_options): Quote
29885 --enable-plugin in diagnostics to avoid -Werror=format-diag.
29886
29887 2022-01-21 Michael Meissner <meissner@the-meissners.org>
29888
29889 PR target/104136
29890 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
29891 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
29892 * config/rs6000/rs6000.md (prefixed attribute): Delete section
29893 that sets the prefixed attribute for xxspltiw, xxspltidp, and
29894 xxsplti32dx instructions.
29895 (movsf_hardfloat): Explicitly set the prefixed attribute
29896 when xxspltiw and xxspltidp instructions are generated.
29897 (mov<mode>_hardfloat32): Likewise.
29898 (mov<mode>_hardfloat64): Likewise.
29899 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
29900 prefixed attribute for xxspltiw and xxspltidp instructions.
29901 (vsx_mov<mode>_32bit): Likewise.
29902
29903 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
29904
29905 PR bootstrap/104170
29906 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
29907 Return true only on glibc.
29908 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
29909 Revert commit c163647ffbc.
29910 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
29911
29912 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
29913
29914 * common/config/s390/s390-common.cc (s390_supports_split_stack):
29915 Only support split-stack on glibc targets.
29916 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
29917 * config/i386/gnu.h (defined): Ditto.
29918
29919 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
29920
29921 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
29922 vector float and vector double.
29923
29924 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
29925
29926 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
29927 Fix mention of ifunc in string.
29928
29929 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
29930
29931 PR middle-end/104140
29932 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
29933 operands of the widening multiplication are either both signed or
29934 both unsigned, and abort the conversion if mismatched.
29935 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
29936 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
29937 signedness.
29938 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
29939 integer types with the same precision and signedness.
29940 (WIDEN_MULT_EXPR): Document that operands must have integer types
29941 with the same precision, but possibly differing signedness.
29942 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
29943 riscv_current_subset_list returning a NULL pointer (empty list).
29944
29945 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
29946
29947 PR target/103676
29948 * ira.h (struct target_ira): Add member
29949 x_ira_exclude_class_mode_regs.
29950 (ira_exclude_class_mode_regs): New macro.
29951 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
29952 move from here ...
29953 * lra-int.h: ... to here.
29954 (lra_create_new_reg_with_unique_value): Add arg
29955 exclude_start_hard_regs.
29956 (class lra_reg): Add member exclude_start_hard_regs.
29957 * lra-assigns.cc (find_hard_regno_for_1): Setup
29958 impossible_start_hard_regs from exclude_start_hard_regs.
29959 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
29960 it lra_create_new_reg[_with_unique_value].
29961 (match_reload): Ditto.
29962 (check_and_process_move): Pass NULL
29963 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
29964 (goal_alt_exclude_start_hard_regs): New static variable.
29965 (process_addr_reg, simplify_operand_subreg): Pass NULL
29966 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
29967 and get_reload_reg.
29968 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
29969 Use this_alternative_exclude_start_hard_regs additionally to find
29970 winning operand alternative.
29971 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
29972 exclude_start_hard_regs to lra_create_new_reg.
29973 (process_address_1, emit_inc): Ditto.
29974 (curr_insn_transform): Pass exclude_start_hard_regs value to
29975 lra_create_new_reg, get_reload_reg, match_reload.
29976 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
29977 to lra_create_new_reg.
29978 (process_invariant_for_inheritance): Ditto.
29979 * lra-remat.cc (update_scratch_ops): Ditto.
29980 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
29981 exclude_start_hard_regs. Setup the corresponding member of
29982 lra reg info.
29983 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
29984 to lra_create_new_reg_with_unique_value.
29985 (initialize_lra_reg_info_element): Initialize member
29986 exclude_start_hard_regs.
29987 (get_scratch_reg): Pass NULL to lra_create_new_reg.
29988 * ira.cc (setup_prohibited_class_mode_regs): Rename to
29989 setup_prohibited_and_exclude_class_mode_regs and calculate
29990 ira_exclude_class_mode_regs.
29991
29992 2022-01-21 Martin Liska <mliska@suse.cz>
29993
29994 * configure.ac: Detect ld_is_mold and use it for
29995 comdat_group=yes and gcc_cv_ld_hidden=yes.
29996 * configure: Regenerate.
29997
29998 2022-01-21 Richard Biener <rguenther@suse.de>
29999
30000 PR tree-optimization/100089
30001 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
30002 of if-converted loops with unvectorized COND_EXPRs for
30003 all but the unlimited cost models.
30004
30005 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
30006
30007 * config/arm/arm-opts.h (enum stack_protector_guard): New.
30008 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
30009 New.
30010 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
30011 (arm_option_override_internal): Handle and put in error checks.
30012 for stack protector guard options.
30013 (arm_option_reconfigure_globals): Likewise.
30014 (arm_stack_protect_tls_canary_mem): New.
30015 (arm_stack_protect_guard): New.
30016 * config/arm/arm.md (stack_protect_set): New.
30017 (stack_protect_set_tls): Likewise.
30018 (stack_protect_test): Likewise.
30019 (stack_protect_test_tls): Likewise.
30020 (reload_tp_hard): Likewise.
30021 * config/arm/arm.opt (-mstack-protector-guard): New
30022 (-mstack-protector-guard-offset): New.
30023 * doc/invoke.texi: Document new options.
30024
30025 2022-01-21 Richard Biener <rguenther@suse.de>
30026
30027 PR tree-optimization/104156
30028 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
30029 Collect and reset debug stmts with out-of-loop uses when
30030 hoisting guards.
30031 (find_loop_guard): Adjust.
30032 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
30033 (used_outside_loop_p): Push debug uses to a vector of
30034 debug stmts to reset.
30035 (hoist_guard): Adjust -fopt-info category.
30036
30037 2022-01-21 Richard Biener <rguenther@suse.de>
30038
30039 PR tree-optimization/104152
30040 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
30041 can_duplicate_and_interleave_p check.
30042
30043 2022-01-21 Jakub Jelinek <jakub@redhat.com>
30044
30045 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
30046 Avoid passing var to warning_at when the format string doesn't
30047 refer to it.
30048
30049 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
30050
30051 PR tree-optimization/103721
30052 * gimple-range-path.cc
30053 (path_range_query::relations_may_be_invalidated): New.
30054 (path_range_query::compute_ranges_in_block): Reset relations if
30055 they may be invalidated.
30056 (path_range_query::maybe_register_phi_relation): Exit if relations
30057 may be invalidated on incoming edge.
30058 (path_range_query::compute_phi_relations): Pass incoming PHI edge
30059 to maybe_register_phi_relation.
30060 * gimple-range-path.h (relations_may_be_invalidated): New.
30061 (maybe_register_phi_relation): Pass edge instead of tree.
30062 * tree-ssa-threadbackward.cc (back_threader::back_threader):
30063 Mark DFS edges.
30064 * value-relation.cc (path_oracle::path_oracle): Call
30065 mark_dfs_back_edges.
30066 (path_oracle::register_relation): Add SSA names to m_registered
30067 bitmap.
30068 (path_oracle::reset_path): Clear m_registered bitmap.
30069 * value-relation.h (path_oracle::set_root_oracle): New.
30070
30071 2022-01-21 Jakub Jelinek <jakub@redhat.com>
30072
30073 PR rtl-optimization/102478
30074 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
30075 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
30076 would be needed.
30077
30078 2022-01-20 Richard Biener <rguenther@suse.de>
30079
30080 PR middle-end/100786
30081 * gimple-fold.cc (get_symbol_constant_value): Only return
30082 values of compatible type to the symbol.
30083
30084 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
30085
30086 * value-relation.cc (relation_oracle::valid_equivs): Query and add
30087 if valid members of a set.
30088 (equiv_oracle::register_equiv): Call valid_equivs rather than
30089 bitmap direct operations.
30090 (path_oracle::register_equiv): Ditto.
30091 * value-relation.h (relation_oracle::valid_equivs): New prototype.
30092
30093 2022-01-20 Richard Biener <rguenther@suse.de>
30094
30095 PR target/100784
30096 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
30097 LHS before folding __builtin_ia32_shufpd and friends.
30098
30099 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
30100
30101 * config/arm/crypto.md (aes_op_protect): Allow moves from core
30102 registers and from memory.
30103 (aes_op_protect_misalign_load): New pattern.
30104 (aes_op_protect_neon_vld1v16qi): New pattern.
30105
30106 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
30107
30108 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
30109 New pattern.
30110 (aarch32_crypto_aese_fused_protected): Likewise.
30111 (aarch32_crypto_aesd_fused_protected): Likewise.
30112
30113 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
30114
30115 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
30116 to define_expand. Add mitigation for the Cortex-A AES erratum
30117 when enabled.
30118 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
30119 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
30120 (aes_op_protect): New pattern.
30121 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
30122
30123 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
30124
30125 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
30126 (ALL_QUIRKS): Add it.
30127 (cortex-a57, cortex-a72): Enable it.
30128 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
30129 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
30130 option.
30131 (mfix-cortex-a72-aes-1655431): New option alias.
30132 * config/arm/arm.cc (arm_option_override): Handle default settings
30133 for AES erratum switch.
30134 * doc/invoke.texi (Arm Options): Document new options.
30135
30136 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
30137
30138 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
30139 <crypto_mode> rather than hard-coding the mode.
30140 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
30141 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
30142 (*aarch32_crypto_aese_fused): Likewise.
30143 (*aarch32_crypto_aesd_fused): Likewise.
30144 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
30145 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
30146 (crypto_sha1h_lb): Likewise.
30147 (crypto_vmullp64): Likewise.
30148 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
30149 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
30150
30151 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
30152
30153 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
30154 iterator to pattern name to disambiguate.
30155 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
30156 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
30157 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
30158 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
30159 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
30160
30161 2022-01-20 Martin Liska <mliska@suse.cz>
30162
30163 PR bootstrap/104135
30164 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
30165 * rtl.cc: Partially disable -Wformat-diag for RTL checking
30166 error messages.
30167
30168 2022-01-20 Jakub Jelinek <jakub@redhat.com>
30169
30170 PR debug/103874
30171 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
30172 block_num > 0, index entry even if !have_multiple_function_sections.
30173
30174 2022-01-20 liuhongt <hongtao.liu@intel.com>
30175
30176 PR target/103771
30177 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
30178 integral mode mask pack by multi steps which takes
30179 vec_pack_sbool_trunc_optab as start when elements number is
30180 less than BITS_PER_UNITS.
30181
30182 2022-01-20 Richard Biener <rguenther@suse.de>
30183
30184 PR tree-optimization/104114
30185 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
30186 single element vector decomposition.
30187
30188 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
30189
30190 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
30191 (noce_convert_multiple_sets): Call function a second time if we can
30192 improve the first try.
30193
30194 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
30195
30196 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
30197 reversed comparison.
30198 (try_emit_cmove_seq): New function to facilitate creating a cmov
30199 sequence.
30200 (noce_convert_multiple_sets): Create two sequences and use the less
30201 expensive one.
30202
30203 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
30204
30205 * rtl.h (struct rtx_comparison): New struct that holds an rtx
30206 comparison.
30207 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
30208 single parameters.
30209 (rs6000_emit_swsqrt): Likewise.
30210 * expmed.cc (expand_sdiv_pow2): Likewise.
30211 (emit_store_flag): Likewise.
30212 * expr.cc (expand_cond_expr_using_cmove): Likewise.
30213 (expand_expr_real_2): Likewise.
30214 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
30215 parameters.
30216 * optabs.cc (emit_conditional_move_1): New function.
30217 (expand_doubleword_shift_condmove): Use struct.
30218 (emit_conditional_move): Use struct and allow to call directly
30219 without going through preparation steps.
30220 * optabs.h (emit_conditional_move): Use struct.
30221
30222 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
30223
30224 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
30225 (noce_process_if_block): Use potential costs.
30226
30227 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
30228
30229 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
30230 (bb_ok_for_noce_convert_multiple_sets): Likewise.
30231
30232 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
30233
30234 * ifcvt.cc (need_cmov_or_rewire): New function.
30235 (noce_convert_multiple_sets): Call it.
30236
30237 2022-01-19 David Malcolm <dmalcolm@redhat.com>
30238
30239 * attribs.cc (attribute_c_tests): Rename to...
30240 (attribs_cc_tests): ...this.
30241 * bitmap.cc (bitmap_c_tests): Rename to...
30242 (bitmap_cc_tests): ...this.
30243 * cgraph.cc (cgraph_c_finalize): Rename to...
30244 (cgraph_cc_finalize): ...this.
30245 (cgraph_c_tests): Rename to...
30246 (cgraph_cc_tests): ...this.
30247 * cgraph.h (cgraph_c_finalize): Rename to...
30248 (cgraph_cc_finalize): ...this.
30249 (cgraphunit_c_finalize): Rename to...
30250 (cgraphunit_cc_finalize): ...this.
30251 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
30252 (cgraphunit_cc_finalize): ...this.
30253 * convert.cc (convert_c_tests): Rename to...
30254 (convert_cc_tests): ...this.
30255 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
30256 (dbgcnt_cc_tests): ...this.
30257 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
30258 (diagnostic_show_locus_cc_tests): ...this.
30259 * diagnostic.cc (diagnostic_c_tests): Rename to...
30260 (diagnostic_cc_tests): ...this.
30261 * dumpfile.cc (dumpfile_c_tests): Rename to...
30262 (dumpfile_cc_tests): ...this.
30263 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
30264 (dwarf2out_cc_finalize): ...this.
30265 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
30266 (dwarf2out_cc_finalize): ...this.
30267 * edit-context.cc (edit_context_c_tests): Rename to...
30268 (edit_context_cc_tests): ...this.
30269 * et-forest.cc (et_forest_c_tests): Rename to...
30270 (et_forest_cc_tests): ...this.
30271 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
30272 (fibonacci_heap_cc_tests): ...this.
30273 * fold-const.cc (fold_const_c_tests): Rename to...
30274 (fold_const_cc_tests): ...this.
30275 * function-tests.cc (function_tests_c_tests): Rename to...
30276 (function_tests_cc_tests): ...this.
30277 * gcse.cc (gcse_c_finalize): Rename to...
30278 (gcse_cc_finalize): ...this.
30279 * gcse.h (gcse_c_finalize): Rename to...
30280 (gcse_cc_finalize): ...this.
30281 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
30282 (ggc_tests_cc_tests): ...this.
30283 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
30284 (store_merging_cc_tests): ...this.
30285 * gimple.cc (gimple_c_tests): Rename to...
30286 (gimple_cc_tests): ...this.
30287 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
30288 (hash_map_tests_cc_tests): ...this.
30289 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
30290 (hash_set_tests_cc_tests): ...this.
30291 * input.cc (input_c_tests): Rename to...
30292 (input_cc_tests): ...this.
30293 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
30294 (ipa_cp_cc_finalize): ...this.
30295 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
30296 (ipa_fnsummary_cc_finalize): ...this.
30297 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
30298 (ipa_fnsummary_cc_finalize): ...this.
30299 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
30300 (ipa_modref_tree_cc_tests): ...this.
30301 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
30302 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
30303 (ipa_modref_cc_finalize): ...this.
30304 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
30305 (ipa_modref_cc_finalize): ...this.
30306 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
30307 (ipa_cp_cc_finalize): ...this.
30308 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
30309 (ipa_reference_cc_finalize): ...this.
30310 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
30311 (ipa_reference_cc_finalize): ...this.
30312 * ira-costs.cc (ira_costs_c_finalize): Rename to...
30313 (ira_costs_cc_finalize): ...this.
30314 * ira.h (ira_costs_c_finalize): Rename to...
30315 (ira_costs_cc_finalize): ...this.
30316 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
30317 (opt_suggestions_cc_tests): ...this.
30318 * opts.cc (opts_c_tests): Rename to...
30319 (opts_cc_tests): ...this.
30320 * predict.cc (predict_c_tests): Rename to...
30321 (predict_cc_tests): ...this.
30322 * pretty-print.cc (pretty_print_c_tests): Rename to...
30323 (pretty_print_cc_tests): ...this.
30324 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
30325 (read_rtl_function_cc_tests): ...this.
30326 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
30327 (rtl_tests_cc_tests): ...this.
30328 * sbitmap.cc (sbitmap_c_tests): Rename to...
30329 (sbitmap_cc_tests): ...this.
30330 * selftest-run-tests.cc (selftest::run_tests): Update calls for
30331 _c_ to _cc_ function renamings; fix names of attribs and
30332 opt-suggestions tests.
30333 * selftest.cc (selftest_c_tests): Rename to...
30334 (selftest_cc_tests): ...this.
30335 * selftest.h (attribute_c_tests): Rename to...
30336 (attribs_cc_tests): ...this.
30337 (bitmap_c_tests): Rename to...
30338 (bitmap_cc_tests): ...this.
30339 (cgraph_c_tests): Rename to...
30340 (cgraph_cc_tests): ...this.
30341 (convert_c_tests): Rename to...
30342 (convert_cc_tests): ...this.
30343 (diagnostic_c_tests): Rename to...
30344 (diagnostic_cc_tests): ...this.
30345 (diagnostic_show_locus_c_tests): Rename to...
30346 (diagnostic_show_locus_cc_tests): ...this.
30347 (dumpfile_c_tests): Rename to...
30348 (dumpfile_cc_tests): ...this.
30349 (edit_context_c_tests): Rename to...
30350 (edit_context_cc_tests): ...this.
30351 (et_forest_c_tests): Rename to...
30352 (et_forest_cc_tests): ...this.
30353 (fibonacci_heap_c_tests): Rename to...
30354 (fibonacci_heap_cc_tests): ...this.
30355 (fold_const_c_tests): Rename to...
30356 (fold_const_cc_tests): ...this.
30357 (function_tests_c_tests): Rename to...
30358 (function_tests_cc_tests): ...this.
30359 (ggc_tests_c_tests): Rename to...
30360 (ggc_tests_cc_tests): ...this.
30361 (gimple_c_tests): Rename to...
30362 (gimple_cc_tests): ...this.
30363 (hash_map_tests_c_tests): Rename to...
30364 (hash_map_tests_cc_tests): ...this.
30365 (hash_set_tests_c_tests): Rename to...
30366 (hash_set_tests_cc_tests): ...this.
30367 (input_c_tests): Rename to...
30368 (input_cc_tests): ...this.
30369 (opts_c_tests): Rename to...
30370 (opts_cc_tests): ...this.
30371 (predict_c_tests): Rename to...
30372 (predict_cc_tests): ...this.
30373 (pretty_print_c_tests): Rename to...
30374 (pretty_print_cc_tests): ...this.
30375 (read_rtl_function_c_tests): Rename to...
30376 (read_rtl_function_cc_tests): ...this.
30377 (rtl_tests_c_tests): Rename to...
30378 (rtl_tests_cc_tests): ...this.
30379 (sbitmap_c_tests): Rename to...
30380 (sbitmap_cc_tests): ...this.
30381 (selftest_c_tests): Rename to...
30382 (selftest_cc_tests): ...this.
30383 (simplify_rtx_c_tests): Rename to...
30384 (simplify_rtx_cc_tests): ...this.
30385 (spellcheck_c_tests): Rename to...
30386 (spellcheck_cc_tests): ...this.
30387 (spellcheck_tree_c_tests): Rename to...
30388 (spellcheck_tree_cc_tests): ...this.
30389 (sreal_c_tests): Rename to...
30390 (sreal_cc_tests): ...this.
30391 (store_merging_c_tests): Rename to...
30392 (store_merging_cc_tests): ...this.
30393 (tree_c_tests): Rename to...
30394 (tree_cc_tests): ...this.
30395 (tree_cfg_c_tests): Rename to...
30396 (tree_cfg_cc_tests): ...this.
30397 (typed_splay_tree_c_tests): Rename to...
30398 (typed_splay_tree_cc_tests): ...this.
30399 (vec_c_tests): Rename to...
30400 (vec_cc_tests): ...this.
30401 (vec_perm_indices_c_tests): Rename to...
30402 (vec_perm_indices_cc_tests): ..this.
30403 (opt_proposer_c_tests): Rename to...
30404 (opt_suggestions_cc_tests): ...this.
30405 (dbgcnt_c_tests): Rename to...
30406 (dbgcnt_cc_tests): ...this.
30407 (ipa_modref_tree_c_tests): Rename to...
30408 (ipa_modref_tree_cc_tests): ...this.
30409 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
30410 (simplify_rtx_cc_tests): ...this.
30411 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
30412 (spellcheck_tree_cc_tests): ...this.
30413 * spellcheck.cc (spellcheck_c_tests): Rename to...
30414 (spellcheck_cc_tests): ...this.
30415 * sreal.cc (sreal_c_tests): Rename to...
30416 (sreal_cc_tests): ...this.
30417 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
30418 function renamings.
30419 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
30420 (tree_cfg_cc_tests): ...this.
30421 * tree.cc (tree_c_tests): Rename to...
30422 (tree_cc_tests): ...this.
30423 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
30424 (typed_splay_tree_cc_tests): ...this.
30425 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
30426 (vec_perm_indices_cc_tests): ...this.
30427 * vec.cc (vec_c_tests): Rename to...
30428 (vec_cc_tests): ...this.
30429
30430 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
30431
30432 PR tree-optimization/103997
30433 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
30434 vectorization.
30435
30436 2022-01-19 Jakub Jelinek <jakub@redhat.com>
30437
30438 PR middle-end/102860
30439 * match.pd (x %[fl] y -> x % y): New simplification for
30440 unsigned integral types.
30441 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
30442 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
30443
30444 2022-01-19 Richard Biener <rguenther@suse.de>
30445
30446 PR tree-optimization/104112
30447 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
30448 for required intermediate vector types.
30449
30450 2022-01-19 Jakub Jelinek <jakub@redhat.com>
30451
30452 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
30453
30454 2022-01-19 Martin Liska <mliska@suse.cz>
30455
30456 * configure.ac: Remove -Wno-error=format-diag.
30457 * configure: Regenerate.
30458
30459 2022-01-19 Martin Liska <mliska@suse.cz>
30460
30461 * config/riscv/riscv.cc (riscv_handle_type_attribute):
30462 Update one -Wformat-diag string in warning message.
30463
30464 2022-01-19 Jakub Jelinek <jakub@redhat.com>
30465
30466 PR middle-end/104103
30467 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
30468 .ASAN_MARK calls.
30469
30470 2022-01-19 Jakub Jelinek <jakub@redhat.com>
30471
30472 PR c++/89074
30473 * fold-const.cc (address_compare): Consider different STRING_CSTs
30474 with the same lengths that memcmp the same as equal, not different.
30475
30476 2022-01-19 Jakub Jelinek <jakub@redhat.com>
30477
30478 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
30479 {%0}.
30480
30481 2022-01-19 Martin Liska <mliska@suse.cz>
30482 Thomas Schwinge <thomas@codesourcery.com>
30483
30484 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
30485 warning messages.
30486
30487 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
30488
30489 PR target/104090
30490 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
30491 rs6000_cpu.
30492
30493 2022-01-19 Jakub Jelinek <jakub@redhat.com>
30494
30495 PR target/104104
30496 * config/i386/sse.md
30497 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
30498 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
30499 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
30500 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
30501 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
30502 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
30503 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
30504 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
30505 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
30506
30507 2022-01-19 Martin Sebor <msebor@redhat.com>
30508
30509 PR middle-end/104069
30510 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
30511 an unknown result as documented.
30512
30513 2022-01-18 Andrew Pinski <apinski@marvell.com>
30514
30515 * ipa-split.cc (visit_bb): Fix comment before the
30516 warning/error attribute checking code.
30517
30518 2022-01-18 David Faust <david.faust@oracle.com>
30519
30520 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
30521 for base strtab offset yet as it may change.
30522 (output_asm_btfext_core_reloc): Do so here instead.
30523 (output_btfext_core_sections): Likewise.
30524
30525 2022-01-18 David Faust <david.faust@oracle.com>
30526
30527 * config/bpf/coreout.cc (output_btfext_header): Account for
30528 4-byte record size in core_relo_len.
30529 (output_btfext_core_sections): Only write record size once.
30530 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
30531 member.
30532
30533 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
30534
30535 * common/config/riscv/riscv-common.cc
30536 (riscv_subset_list::parse_multiletter_ext): Move pointer
30537 arithmetic ahead of `free'.
30538
30539 2022-01-18 Jason Merrill <jason@redhat.com>
30540
30541 PR c++/104007
30542 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
30543 context.
30544
30545 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
30546
30547 PR middle-end/103163
30548 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
30549 (init_emit_once): ...not here.
30550
30551 2022-01-18 Martin Liska <mliska@suse.cz>
30552
30553 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
30554 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
30555 * config/arc/arc.md: Likewise.
30556 * config/avr/avr.cc (avr_section_type_flags): Likewise.
30557 * config/bfin/bfin.cc (bfin_option_override): Likewise.
30558 (bfin_handle_longcall_attribute): Likewise.
30559 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
30560 * config/frv/frv.cc (frv_expand_builtin): Likewise.
30561 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
30562 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
30563 (iq2000_print_operand_address): Likewise.
30564 (iq2000_print_operand): Likewise.
30565 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
30566 (m32c_pragma_address): Likewise.
30567 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
30568 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
30569 (mips_set_compression_mode): Likewise.
30570 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
30571 (mmix_print_operand): Likewise.
30572 (mmix_output_shiftvalue_op_from_str): Likewise.
30573 (mmix_output_shifted_value): Likewise.
30574 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
30575 * config/msp430/msp430.cc (msp430_option_override): Likewise.
30576 (msp430_attr): Likewise.
30577 (msp430_expand_delay_cycles): Likewise.
30578 (msp430_expand_builtin): Likewise.
30579 * config/rs6000/aix73.h: Likewise.
30580 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
30581 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
30582 (valid_psw_flag): Likewise.
30583 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
30584 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
30585 (xstormy16_expand_builtin_va_start): Likewise.
30586 (xstormy16_handle_below100_attribute): Likewise.
30587
30588 2022-01-18 Martin Liska <mliska@suse.cz>
30589
30590 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
30591 warning.
30592 (vms_pragma_standard): Likewise.
30593 (vms_pragma_extern_prefix): Likewise.
30594
30595 2022-01-18 Martin Liska <mliska@suse.cz>
30596
30597 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
30598 (print_operand_address): Likewise.
30599 (xtensa_multibss_section_type_flags): Likewise.
30600
30601 2022-01-18 Martin Liska <mliska@suse.cz>
30602
30603 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
30604 wording of an error message.
30605
30606 2022-01-18 Martin Liska <mliska@suse.cz>
30607
30608 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
30609 warning.
30610 (ghs_pragma_section): Likewise.
30611 (ghs_pragma_interrupt): Likewise.
30612 (ghs_pragma_starttda): Likewise.
30613 (ghs_pragma_startsda): Likewise.
30614 (ghs_pragma_startzda): Likewise.
30615 (ghs_pragma_endtda): Likewise.
30616 (ghs_pragma_endsda): Likewise.
30617 (ghs_pragma_endzda): Likewise.
30618
30619 2022-01-18 Martin Liska <mliska@suse.cz>
30620
30621 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
30622 Fix warnings.
30623 * config/nds32/nds32-intrinsic.md: Likewise.
30624 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
30625 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
30626 (nds32_insert_attributes): Likewise.
30627
30628 2022-01-18 Martin Liska <mliska@suse.cz>
30629
30630 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
30631 keyword.
30632 * config/nvptx/nvptx.md: Remove trailing dot.
30633
30634 2022-01-18 Martin Liska <mliska@suse.cz>
30635
30636 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
30637 Wrap keywords with quotes and remove trailing dots.
30638 (riscv_subset_list::parsing_subset_version): Likewise.
30639 (riscv_subset_list::parse_std_ext): Likewise.
30640 (riscv_subset_list::parse_multiletter_ext): Likewise.
30641 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
30642
30643 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
30644
30645 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
30646 argument suggested_unroll_factor.
30647 (vect_analyze_loop_costing): Likewise.
30648 (_loop_vec_info::_loop_vec_info): Initialize new member
30649 suggested_unroll_factor.
30650 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
30651 main loop use partial vectors.
30652 (vect_analyze_loop_2): Pass and use new argument
30653 suggested_unroll_factor.
30654 (vect_analyze_loop_1): Change to intialize local
30655 suggested_unroll_factor and use it.
30656 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
30657 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
30658 suggested_unroll_factor.
30659 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
30660 (vector_costs::suggested_unroll_factor): New getter function.
30661 (finish_cost): Set return argument suggested_unroll_factor.
30662
30663 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
30664
30665 PR tree-optimization/104038
30666 * doc/invoke.texi (relation-block-limit): New.
30667 * params.opt (relation-block-limit): New.
30668 * value-relation.cc (dom_oracle::register_relation): Check for NULL
30669 record before invoking transitive registery.
30670 (dom_oracle::set_one_relation): Check limit before creating record.
30671 (dom_oracle::register_transitives): Stop when no record created.
30672 * value-relation.h (relation_chain_head::m_num_relations): New.
30673
30674 2022-01-18 Richard Biener <rguenther@suse.de>
30675
30676 PR ipa/103989
30677 * ipa-inline.cc (inline_small_functions): Do not enqueue call
30678 edges originating in functions compiled with -Og.
30679
30680 2022-01-18 Richard Biener <rguenther@suse.de>
30681
30682 PR ipa/103989
30683 * passes.def (pass_all_optimizations_g): Remove pass_modref
30684 and pass_local_pure_const.
30685
30686 2022-01-18 Martin Liska <mliska@suse.cz>
30687
30688 * config/s390/s390.cc: Fix -Wformat-diag warnings.
30689
30690 2022-01-18 Martin Liska <mliska@suse.cz>
30691
30692 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
30693 keyword in quotes.
30694 (s390_resolve_overloaded_builtin): Remove trailing dot.
30695 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
30696 (s390_expand_builtin): Remove trailing dot.
30697 (s390_emit_prologue): Likewise, use semicolon.
30698 (s390_option_override_internal): Update keyword.
30699 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
30700
30701 2022-01-18 Martin Liska <mliska@suse.cz>
30702
30703 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
30704 keywords and use %qs instead of %<%s%>.
30705
30706 2022-01-18 Richard Biener <rguenther@suse.de>
30707
30708 PR tree-optimization/103987
30709 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
30710 query with a pointer check.
30711
30712 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
30713
30714 PR target/104005
30715 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
30716 When using MEM_EXPR, require the base to be a decl.
30717
30718 2022-01-18 Richard Biener <rguenther@suse.de>
30719
30720 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
30721 avoid padding.
30722 * function.h (struct function): Likewise.
30723
30724 2022-01-18 Arnaud Charlet <charlet@adacore.com>
30725
30726 * doc/install.texi: Update prerequisites for GNAT
30727
30728 2022-01-18 Andrew Pinski <apinski@marvell.com>
30729
30730 PR tree-optimization/101941
30731 * ipa-split.cc (visit_bb): Disallow function calls where
30732 the function has either error or warning attribute.
30733
30734 2022-01-18 Richard Biener <rguenther@suse.de>
30735
30736 PR tree-optimization/104064
30737 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
30738 DR_INIT fits in a signed HWI, represent the difference from the
30739 first DR in unsigned.
30740
30741 2022-01-17 Martin Liska <mliska@suse.cz>
30742
30743 * Makefile.in: Rename .c names to .cc.
30744 * config.gcc: Likewise.
30745 * configure: Regenerate. Likewise.
30746 * configure.ac: Likewise.
30747 * gengtype.cc (set_gc_used): Likewise.
30748 (source_dot_c_frul): Likewise.
30749 (source_dot_cc_frul): Likewise.
30750 (struct file_rule_st): Likewise.
30751 (close_output_files): Likewise.
30752 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
30753
30754 2022-01-17 Martin Liska <mliska@suse.cz>
30755
30756 * Makefile.in: Rename .c names to .cc.
30757 * alias.h: Likewise.
30758 * asan.cc: Likewise.
30759 * auto-profile.h: Likewise.
30760 * basic-block.h (struct basic_block_d): Likewise.
30761 * btfout.cc: Likewise.
30762 * builtins.cc (expand_builtin_longjmp): Likewise.
30763 (validate_arg): Likewise.
30764 (access_ref::offset_bounded): Likewise.
30765 * caller-save.cc (reg_restore_code): Likewise.
30766 (setup_save_areas): Likewise.
30767 * calls.cc (initialize_argument_information): Likewise.
30768 (expand_call): Likewise.
30769 (emit_library_call_value_1): Likewise.
30770 * cfg-flags.def (RTL): Likewise.
30771 (SIBCALL): Likewise.
30772 (CAN_FALLTHRU): Likewise.
30773 * cfganal.cc (post_order_compute): Likewise.
30774 * cfgcleanup.cc (try_simplify_condjump): Likewise.
30775 (merge_blocks_move_predecessor_nojumps): Likewise.
30776 (merge_blocks_move_successor_nojumps): Likewise.
30777 (merge_blocks_move): Likewise.
30778 (old_insns_match_p): Likewise.
30779 (try_crossjump_bb): Likewise.
30780 * cfgexpand.cc (expand_gimple_stmt): Likewise.
30781 * cfghooks.cc (split_block_before_cond_jump): Likewise.
30782 (profile_record_check_consistency): Likewise.
30783 * cfghooks.h: Likewise.
30784 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
30785 (rtl_can_merge_blocks): Likewise.
30786 (try_redirect_by_replacing_jump): Likewise.
30787 (make_pass_outof_cfg_layout_mode): Likewise.
30788 (cfg_layout_can_merge_blocks_p): Likewise.
30789 * cgraph.cc (release_function_body): Likewise.
30790 (cgraph_node::get_fun): Likewise.
30791 * cgraph.h (struct cgraph_node): Likewise.
30792 (asmname_hasher::equal): Likewise.
30793 (cgraph_inline_failed_type): Likewise.
30794 (thunk_adjust): Likewise.
30795 (dump_callgraph_transformation): Likewise.
30796 (record_references_in_initializer): Likewise.
30797 (ipa_discover_variable_flags): Likewise.
30798 * cgraphclones.cc (GTY): Likewise.
30799 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
30800 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
30801 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
30802 * collect2.cc (maybe_run_lto_and_relink): Likewise.
30803 * combine-stack-adj.cc: Likewise.
30804 * combine.cc (setup_incoming_promotions): Likewise.
30805 (combine_simplify_rtx): Likewise.
30806 (count_rtxs): Likewise.
30807 * common.opt: Likewise.
30808 * common/config/aarch64/aarch64-common.cc: Likewise.
30809 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
30810 * common/config/avr/avr-common.cc: Likewise.
30811 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
30812 * conditions.h: Likewise.
30813 * config.gcc: Likewise.
30814 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
30815 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
30816 (aarch64_get_extension_string_for_isa_flags): Likewise.
30817 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
30818 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
30819 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
30820 (aarch64_option_valid_attribute_p): Likewise.
30821 (aarch64_short_vector_p): Likewise.
30822 (aarch64_float_const_representable_p): Likewise.
30823 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
30824 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
30825 (GTY): Likewise.
30826 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
30827 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
30828 * config/aarch64/t-aarch64: Likewise.
30829 * config/aarch64/x-aarch64: Likewise.
30830 * config/aarch64/x-darwin: Likewise.
30831 * config/alpha/alpha-protos.h: Likewise.
30832 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
30833 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
30834 (enum reg_class): Likewise.
30835 * config/alpha/alpha.md: Likewise.
30836 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
30837 * config/alpha/x-alpha: Likewise.
30838 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
30839 * config/arc/arc.cc (ARC_OPT): Likewise.
30840 (arc_ccfsm_advance): Likewise.
30841 (arc_arg_partial_bytes): Likewise.
30842 (conditionalize_nonjump): Likewise.
30843 * config/arc/arc.md: Likewise.
30844 * config/arc/builtins.def: Likewise.
30845 * config/arc/t-arc: Likewise.
30846 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
30847 (arm_pragma_target_parse): Likewise.
30848 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
30849 (arm_cpu_cpp_builtins): Likewise.
30850 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
30851 (shift_op): Likewise.
30852 (thumb2_final_prescan_insn): Likewise.
30853 (arm_final_prescan_insn): Likewise.
30854 (arm_asm_output_labelref): Likewise.
30855 (arm_small_register_classes_for_mode_p): Likewise.
30856 * config/arm/arm.h: Likewise.
30857 * config/arm/arm.md: Likewise.
30858 * config/arm/driver-arm.cc: Likewise.
30859 * config/arm/symbian.h: Likewise.
30860 * config/arm/t-arm: Likewise.
30861 * config/arm/thumb1.md: Likewise.
30862 * config/arm/x-arm: Likewise.
30863 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
30864 * config/avr/avr-fixed.md: Likewise.
30865 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
30866 * config/avr/avr-mcus.def: Likewise.
30867 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
30868 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
30869 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
30870 * config/avr/avr.cc (avr_option_override): Likewise.
30871 (avr_build_builtin_va_list): Likewise.
30872 (avr_mode_dependent_address_p): Likewise.
30873 (avr_function_arg_advance): Likewise.
30874 (avr_asm_output_aligned_decl_common): Likewise.
30875 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
30876 (SUPPORTS_INIT_PRIORITY): Likewise.
30877 * config/avr/avr.md: Likewise.
30878 * config/avr/builtins.def: Likewise.
30879 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
30880 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
30881 (main): Likewise.
30882 * config/avr/t-avr: Likewise.
30883 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
30884 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
30885 * config/bpf/bpf.h (enum reg_class): Likewise.
30886 * config/bpf/t-bpf: Likewise.
30887 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
30888 * config/cr16/cr16-protos.h: Likewise.
30889 * config/cris/cris.cc (cris_address_cost): Likewise.
30890 (cris_side_effect_mode_ok): Likewise.
30891 (cris_init_machine_status): Likewise.
30892 (cris_emit_movem_store): Likewise.
30893 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
30894 (enum reg_class): Likewise.
30895 (struct cum_args): Likewise.
30896 * config/cris/cris.opt: Likewise.
30897 * config/cris/sync.md: Likewise.
30898 * config/csky/csky.cc (csky_expand_prologue): Likewise.
30899 * config/darwin-c.cc: Likewise.
30900 * config/darwin-f.cc: Likewise.
30901 * config/darwin-sections.def (zobj_const_section): Likewise.
30902 * config/darwin.cc (output_objc_section_asm_op): Likewise.
30903 (fprintf): Likewise.
30904 * config/darwin.h (GTY): Likewise.
30905 * config/elfos.h: Likewise.
30906 * config/epiphany/epiphany-sched.md: Likewise.
30907 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
30908 * config/epiphany/epiphany.h (GTY): Likewise.
30909 (NO_FUNCTION_CSE): Likewise.
30910 * config/epiphany/mode-switch-use.cc: Likewise.
30911 * config/epiphany/predicates.md: Likewise.
30912 * config/epiphany/t-epiphany: Likewise.
30913 * config/fr30/fr30-protos.h: Likewise.
30914 * config/frv/frv-protos.h: Likewise.
30915 * config/frv/frv.cc (TLS_BIAS): Likewise.
30916 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
30917 * config/ft32/ft32-protos.h: Likewise.
30918 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
30919 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
30920 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
30921 * config/gcn/t-gcn-hsa: Likewise.
30922 * config/gcn/t-omp-device: Likewise.
30923 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
30924 (same_cmp_following_p): Likewise.
30925 * config/h8300/h8300.cc (F): Likewise.
30926 * config/h8300/h8300.h (struct cum_arg): Likewise.
30927 (BRANCH_COST): Likewise.
30928 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
30929 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
30930 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
30931 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
30932 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
30933 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
30934 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
30935 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
30936 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
30937 (ix86_register_pragmas): Likewise.
30938 (ix86_d_has_stdcall_convention): Likewise.
30939 (i386_pe_seh_init_sections): Likewise.
30940 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
30941 (ix86_function_value_regno_p): Likewise.
30942 (ix86_compute_frame_layout): Likewise.
30943 (legitimize_pe_coff_symbol): Likewise.
30944 (output_pic_addr_const): Likewise.
30945 * config/i386/i386.h (defined): Likewise.
30946 (host_detect_local_cpu): Likewise.
30947 (CONSTANT_ADDRESS_P): Likewise.
30948 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
30949 (struct machine_frame_state): Likewise.
30950 * config/i386/i386.md: Likewise.
30951 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
30952 * config/i386/mmx.md: Likewise.
30953 * config/i386/sse.md: Likewise.
30954 * config/i386/t-cygming: Likewise.
30955 * config/i386/t-djgpp: Likewise.
30956 * config/i386/t-gnu-property: Likewise.
30957 * config/i386/t-i386: Likewise.
30958 * config/i386/t-intelmic: Likewise.
30959 * config/i386/t-omp-device: Likewise.
30960 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
30961 (i386_pe_adjust_class_at_definition): Likewise.
30962 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
30963 (i386_pe_mangle_decl_assembler_name): Likewise.
30964 (i386_pe_encode_section_info): Likewise.
30965 * config/i386/x-cygwin: Likewise.
30966 * config/i386/x-darwin: Likewise.
30967 * config/i386/x-i386: Likewise.
30968 * config/i386/x-mingw32: Likewise.
30969 * config/i386/x86-tune-sched-core.cc: Likewise.
30970 * config/i386/x86-tune.def: Likewise.
30971 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
30972 * config/ia64/freebsd.h: Likewise.
30973 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
30974 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
30975 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
30976 (ia64_secondary_reload_class): Likewise.
30977 (bundling): Likewise.
30978 * config/ia64/ia64.h: Likewise.
30979 * config/ia64/ia64.md: Likewise.
30980 * config/ia64/predicates.md: Likewise.
30981 * config/ia64/sysv4.h: Likewise.
30982 * config/ia64/t-ia64: Likewise.
30983 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
30984 * config/iq2000/iq2000.md: Likewise.
30985 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
30986 (if): Likewise.
30987 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
30988 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
30989 * config/m32c/t-m32c: Likewise.
30990 * config/m32r/m32r-protos.h: Likewise.
30991 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
30992 * config/m32r/m32r.h: Likewise.
30993 * config/m32r/m32r.md: Likewise.
30994 * config/m68k/m68k-isas.def: Likewise.
30995 * config/m68k/m68k-microarchs.def: Likewise.
30996 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
30997 (m68k_epilogue_uses): Likewise.
30998 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
30999 (m68k_sched_adjust_cost): Likewise.
31000 (m68k_sched_md_init): Likewise.
31001 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
31002 (enum m68k_function_kind): Likewise.
31003 * config/m68k/m68k.md: Likewise.
31004 * config/m68k/m68kemb.h: Likewise.
31005 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
31006 * config/mcore/mcore-protos.h: Likewise.
31007 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
31008 (mcore_expand_prolog): Likewise.
31009 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
31010 * config/mcore/mcore.md: Likewise.
31011 * config/microblaze/microblaze-protos.h: Likewise.
31012 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
31013 (microblaze_function_prologue): Likewise.
31014 (microblaze_function_epilogue): Likewise.
31015 (microblaze_select_section): Likewise.
31016 (microblaze_asm_output_mi_thunk): Likewise.
31017 (microblaze_eh_return): Likewise.
31018 * config/microblaze/microblaze.h: Likewise.
31019 * config/microblaze/microblaze.md: Likewise.
31020 * config/microblaze/t-microblaze: Likewise.
31021 * config/mips/driver-native.cc: Likewise.
31022 * config/mips/loongson2ef.md: Likewise.
31023 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
31024 * config/mips/mips.cc (mips_rtx_costs): Likewise.
31025 (mips_output_filename): Likewise.
31026 (mips_output_function_prologue): Likewise.
31027 (mips_output_function_epilogue): Likewise.
31028 (mips_output_mi_thunk): Likewise.
31029 * config/mips/mips.h: Likewise.
31030 * config/mips/mips.md: Likewise.
31031 * config/mips/t-mips: Likewise.
31032 * config/mips/x-native: Likewise.
31033 * config/mmix/mmix-protos.h: Likewise.
31034 * config/mmix/mmix.cc (mmix_option_override): Likewise.
31035 (mmix_dbx_register_number): Likewise.
31036 (mmix_expand_prologue): Likewise.
31037 * config/mmix/mmix.h: Likewise.
31038 * config/mmix/mmix.md: Likewise.
31039 * config/mmix/predicates.md: Likewise.
31040 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
31041 (mn10300_legitimate_pic_operand_p): Likewise.
31042 * config/mn10300/mn10300.h (enum reg_class): Likewise.
31043 (NO_FUNCTION_CSE): Likewise.
31044 * config/moxie/moxie-protos.h: Likewise.
31045 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
31046 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
31047 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
31048 (msp430_incoming_return_addr_rtx): Likewise.
31049 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
31050 * config/msp430/t-msp430: Likewise.
31051 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
31052 (nds32_rtx_costs_size_prefer): Likewise.
31053 (nds32_init_rtx_costs): Likewise.
31054 * config/nds32/nds32-doubleword.md: Likewise.
31055 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
31056 (nds32_builtin_decl): Likewise.
31057 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
31058 (enum nds32_isr_nested_type): Likewise.
31059 (enum reg_class): Likewise.
31060 * config/nds32/predicates.md: Likewise.
31061 * config/nds32/t-nds32: Likewise.
31062 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
31063 * config/nvptx/nvptx-protos.h: Likewise.
31064 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
31065 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
31066 * config/nvptx/t-nvptx: Likewise.
31067 * config/nvptx/t-omp-device: Likewise.
31068 * config/pa/elf.h: Likewise.
31069 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
31070 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
31071 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
31072 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
31073 (pa_legitimize_reload_address): Likewise.
31074 (pa_can_use_return_insn): Likewise.
31075 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
31076 (som_output_text_section_asm_op): Likewise.
31077 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
31078 * config/pa/pa.md: Likewise.
31079 * config/pa/som.h: Likewise.
31080 * config/pa/t-pa: Likewise.
31081 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
31082 * config/pdp11/pdp11.h: Likewise.
31083 * config/pdp11/pdp11.md: Likewise.
31084 * config/pdp11/t-pdp11: Likewise.
31085 * config/pru/pru.md: Likewise.
31086 * config/pru/t-pru: Likewise.
31087 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
31088 (riscv_gpr_save_operation_p): Likewise.
31089 (riscv_d_register_target_info): Likewise.
31090 (riscv_init_builtins): Likewise.
31091 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
31092 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
31093 * config/riscv/t-riscv: Likewise.
31094 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
31095 * config/rl78/t-rl78: Likewise.
31096 * config/rs6000/aix.h: Likewise.
31097 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
31098 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
31099 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
31100 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
31101 * config/rs6000/driver-rs6000.cc: Likewise.
31102 * config/rs6000/freebsd.h: Likewise.
31103 * config/rs6000/freebsd64.h: Likewise.
31104 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
31105 * config/rs6000/rbtree.cc: Likewise.
31106 * config/rs6000/rbtree.h: Likewise.
31107 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
31108 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
31109 (rs6000_expand_builtin): Likewise.
31110 (rs6000_init_builtins): Likewise.
31111 * config/rs6000/rs6000-cpus.def: Likewise.
31112 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
31113 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
31114 (quad_address_offset_p): Likewise.
31115 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
31116 (rs6000_emit_epilogue): Likewise.
31117 * config/rs6000/rs6000-overload.def: Likewise.
31118 * config/rs6000/rs6000-p8swap.cc: Likewise.
31119 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
31120 (rs6000_const_f32_to_i32): Likewise.
31121 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
31122 (rs6000_debug_legitimize_address): Likewise.
31123 (rs6000_mode_dependent_address): Likewise.
31124 (rs6000_adjust_priority): Likewise.
31125 (rs6000_c_mode_for_suffix): Likewise.
31126 * config/rs6000/rs6000.h (defined): Likewise.
31127 (LONG_DOUBLE_TYPE_SIZE): Likewise.
31128 * config/rs6000/rs6000.md: Likewise.
31129 * config/rs6000/sysv4.h: Likewise.
31130 * config/rs6000/t-linux: Likewise.
31131 * config/rs6000/t-linux64: Likewise.
31132 * config/rs6000/t-rs6000: Likewise.
31133 * config/rs6000/x-darwin: Likewise.
31134 * config/rs6000/x-darwin64: Likewise.
31135 * config/rs6000/x-rs6000: Likewise.
31136 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
31137 * config/rx/rx.cc (rx_expand_builtin): Likewise.
31138 * config/s390/constraints.md: Likewise.
31139 * config/s390/driver-native.cc: Likewise.
31140 * config/s390/htmxlintrin.h: Likewise.
31141 * config/s390/s390-builtins.def (B_DEF): Likewise.
31142 (OB_DEF_VAR): Likewise.
31143 * config/s390/s390-builtins.h: Likewise.
31144 * config/s390/s390-c.cc: Likewise.
31145 * config/s390/s390-opts.h: Likewise.
31146 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
31147 (s390_register_target_pragmas): Likewise.
31148 * config/s390/s390.cc (s390_init_builtins): Likewise.
31149 (s390_expand_plus_operand): Likewise.
31150 (s390_expand_atomic): Likewise.
31151 (s390_valid_target_attribute_inner_p): Likewise.
31152 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
31153 * config/s390/s390.md: Likewise.
31154 * config/s390/t-s390: Likewise.
31155 * config/s390/vx-builtins.md: Likewise.
31156 * config/s390/x-native: Likewise.
31157 * config/sh/divtab-sh4-300.cc (main): Likewise.
31158 * config/sh/divtab-sh4.cc (main): Likewise.
31159 * config/sh/divtab.cc (main): Likewise.
31160 * config/sh/elf.h: Likewise.
31161 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
31162 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
31163 (sh_struct_value_rtx): Likewise.
31164 (sh_remove_reg_dead_or_unused_notes): Likewise.
31165 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
31166 * config/sh/t-sh: Likewise.
31167 * config/sol2-protos.h (solaris_override_options): Likewise.
31168 * config/sol2.h: Likewise.
31169 * config/sparc/driver-sparc.cc: Likewise.
31170 * config/sparc/freebsd.h: Likewise.
31171 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
31172 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
31173 (sparc_asan_shadow_offset): Likewise.
31174 * config/sparc/sparc.h: Likewise.
31175 * config/sparc/sparc.md: Likewise.
31176 * config/sparc/t-sparc: Likewise.
31177 * config/sparc/x-sparc: Likewise.
31178 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
31179 * config/t-darwin: Likewise.
31180 * config/t-dragonfly: Likewise.
31181 * config/t-freebsd: Likewise.
31182 * config/t-glibc: Likewise.
31183 * config/t-linux: Likewise.
31184 * config/t-netbsd: Likewise.
31185 * config/t-openbsd: Likewise.
31186 * config/t-pnt16-warn: Likewise.
31187 * config/t-sol2: Likewise.
31188 * config/t-vxworks: Likewise.
31189 * config/t-winnt: Likewise.
31190 * config/tilegx/t-tilegx: Likewise.
31191 * config/tilegx/tilegx-c.cc: Likewise.
31192 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
31193 * config/tilegx/tilegx.md: Likewise.
31194 * config/tilepro/t-tilepro: Likewise.
31195 * config/tilepro/tilepro-c.cc: Likewise.
31196 * config/v850/t-v850: Likewise.
31197 * config/v850/v850-protos.h: Likewise.
31198 * config/v850/v850.cc (F): Likewise.
31199 * config/v850/v850.h (enum reg_class): Likewise.
31200 (SLOW_BYTE_ACCESS): Likewise.
31201 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
31202 * config/vax/vax.h (enum reg_class): Likewise.
31203 * config/vax/vax.md: Likewise.
31204 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
31205 * config/visium/visium.h: Likewise.
31206 * config/vms/t-vms: Likewise.
31207 * config/vms/vms-crtlmap.map: Likewise.
31208 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
31209 * config/vx-common.h: Likewise.
31210 * config/x-darwin: Likewise.
31211 * config/x-hpux: Likewise.
31212 * config/x-linux: Likewise.
31213 * config/x-netbsd: Likewise.
31214 * config/x-openbsd: Likewise.
31215 * config/x-solaris: Likewise.
31216 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
31217 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
31218 * config/xtensa/xtensa.h: Likewise.
31219 * configure.ac: Likewise.
31220 * context.cc: Likewise.
31221 * convert.h: Likewise.
31222 * coretypes.h: Likewise.
31223 * coverage.cc: Likewise.
31224 * coverage.h: Likewise.
31225 * cppdefault.h (struct default_include): Likewise.
31226 * cprop.cc (local_cprop_pass): Likewise.
31227 (one_cprop_pass): Likewise.
31228 * cse.cc (hash_rtx_cb): Likewise.
31229 (fold_rtx): Likewise.
31230 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
31231 * data-streamer.h (bp_unpack_var_len_int): Likewise.
31232 (streamer_write_widest_int): Likewise.
31233 * dbgcnt.def: Likewise.
31234 * dbxout.cc (dbxout_early_global_decl): Likewise.
31235 (dbxout_common_check): Likewise.
31236 * dbxout.h: Likewise.
31237 * debug.h (struct gcc_debug_hooks): Likewise.
31238 (dump_go_spec_init): Likewise.
31239 * df-core.cc: Likewise.
31240 * df-scan.cc (df_insn_info_delete): Likewise.
31241 (df_insn_delete): Likewise.
31242 * df.h (debug_df_chain): Likewise.
31243 (can_move_insns_across): Likewise.
31244 * dfp.cc (decimal_from_binary): Likewise.
31245 * diagnostic-color.cc: Likewise.
31246 * diagnostic-event-id.h: Likewise.
31247 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
31248 * diagnostic.cc (bt_callback): Likewise.
31249 (num_digits): Likewise.
31250 * doc/avr-mmcu.texi: Likewise.
31251 * doc/cfg.texi: Likewise.
31252 * doc/contrib.texi: Likewise.
31253 * doc/cppinternals.texi: Likewise.
31254 * doc/extend.texi: Likewise.
31255 * doc/generic.texi: Likewise.
31256 * doc/gimple.texi: Likewise.
31257 * doc/gty.texi: Likewise.
31258 * doc/invoke.texi: Likewise.
31259 * doc/loop.texi: Likewise.
31260 * doc/lto.texi: Likewise.
31261 * doc/match-and-simplify.texi: Likewise.
31262 * doc/md.texi: Likewise.
31263 * doc/optinfo.texi: Likewise.
31264 * doc/options.texi: Likewise.
31265 * doc/passes.texi: Likewise.
31266 * doc/plugins.texi: Likewise.
31267 * doc/rtl.texi: Likewise.
31268 * doc/sourcebuild.texi: Likewise.
31269 * doc/tm.texi: Likewise.
31270 * doc/tm.texi.in: Likewise.
31271 * doc/tree-ssa.texi: Likewise.
31272 * dojump.cc (do_jump): Likewise.
31273 * dojump.h: Likewise.
31274 * dumpfile.cc (test_impl_location): Likewise.
31275 (test_capture_of_dump_calls): Likewise.
31276 * dumpfile.h (enum dump_kind): Likewise.
31277 (class dump_location_t): Likewise.
31278 (dump_enabled_p): Likewise.
31279 (enable_rtl_dump_file): Likewise.
31280 (dump_combine_total_stats): Likewise.
31281 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
31282 * dwarf2ctf.h (ctf_debug_finish): Likewise.
31283 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
31284 (struct loc_descr_context): Likewise.
31285 (rtl_for_decl_location): Likewise.
31286 (gen_subprogram_die): Likewise.
31287 (gen_label_die): Likewise.
31288 (is_trivial_indirect_ref): Likewise.
31289 (dwarf2out_late_global_decl): Likewise.
31290 (dwarf_file_hasher::hash): Likewise.
31291 (dwarf2out_end_source_file): Likewise.
31292 (dwarf2out_define): Likewise.
31293 (dwarf2out_early_finish): Likewise.
31294 * dwarf2out.h (struct dw_fde_node): Likewise.
31295 (struct dw_discr_list_node): Likewise.
31296 (output_loc_sequence_raw): Likewise.
31297 * emit-rtl.cc (gen_raw_REG): Likewise.
31298 (maybe_set_max_label_num): Likewise.
31299 * emit-rtl.h (struct rtl_data): Likewise.
31300 * errors.cc (internal_error): Likewise.
31301 (trim_filename): Likewise.
31302 * et-forest.cc: Likewise.
31303 * except.cc (init_eh_for_function): Likewise.
31304 * explow.cc (promote_ssa_mode): Likewise.
31305 (get_dynamic_stack_size): Likewise.
31306 * explow.h: Likewise.
31307 * expmed.h: Likewise.
31308 * expr.cc (safe_from_p): Likewise.
31309 (expand_expr_real_2): Likewise.
31310 (expand_expr_real_1): Likewise.
31311 * file-prefix-map.cc (remap_filename): Likewise.
31312 * final.cc (app_enable): Likewise.
31313 (make_pass_compute_alignments): Likewise.
31314 (final_scan_insn_1): Likewise.
31315 (final_scan_insn): Likewise.
31316 * fixed-value.h (fixed_from_string): Likewise.
31317 * flag-types.h (NO_DEBUG): Likewise.
31318 (DWARF2_DEBUG): Likewise.
31319 (VMS_DEBUG): Likewise.
31320 (BTF_DEBUG): Likewise.
31321 (enum ctf_debug_info_levels): Likewise.
31322 * fold-const.cc (const_binop): Likewise.
31323 (fold_binary_loc): Likewise.
31324 (fold_checksum_tree): Likewise.
31325 * fp-test.cc: Likewise.
31326 * function.cc (expand_function_end): Likewise.
31327 * function.h (struct function): Likewise.
31328 * fwprop.cc (should_replace_address): Likewise.
31329 * gcc-main.cc: Likewise.
31330 * gcc-rich-location.h (class gcc_rich_location): Likewise.
31331 * gcc-symtab.h: Likewise.
31332 * gcc.cc (MIN_FATAL_STATUS): Likewise.
31333 (driver_handle_option): Likewise.
31334 (quote_spec_arg): Likewise.
31335 (driver::finalize): Likewise.
31336 * gcc.h (set_input): Likewise.
31337 * gcov-dump.cc: Likewise.
31338 * gcov.cc (solve_flow_graph): Likewise.
31339 * gcse-common.cc: Likewise.
31340 * gcse.cc (make_pass_rtl_hoist): Likewise.
31341 * genattr-common.cc: Likewise.
31342 * genattrtab.cc (min_fn): Likewise.
31343 (write_const_num_delay_slots): Likewise.
31344 * genautomata.cc: Likewise.
31345 * genconditions.cc (write_one_condition): Likewise.
31346 * genconstants.cc: Likewise.
31347 * genemit.cc (gen_exp): Likewise.
31348 * generic-match-head.cc: Likewise.
31349 * genextract.cc: Likewise.
31350 * gengenrtl.cc (always_void_p): Likewise.
31351 * gengtype-parse.cc (gtymarker_opt): Likewise.
31352 * gengtype-state.cc (state_writer::state_writer): Likewise.
31353 (write_state_trailer): Likewise.
31354 (equals_type_number): Likewise.
31355 (read_state): Likewise.
31356 * gengtype.cc (open_base_files): Likewise.
31357 (struct file_rule_st): Likewise.
31358 (header_dot_h_frul): Likewise.
31359 * gengtype.h: Likewise.
31360 * genmatch.cc (main): Likewise.
31361 * genmddeps.cc: Likewise.
31362 * genmodes.cc (emit_mode_inner): Likewise.
31363 (emit_mode_unit_size): Likewise.
31364 * genpeep.cc (gen_peephole): Likewise.
31365 * genpreds.cc (write_tm_preds_h): Likewise.
31366 * genrecog.cc (validate_pattern): Likewise.
31367 (write_header): Likewise.
31368 (main): Likewise.
31369 * gensupport.cc (change_subst_attribute): Likewise.
31370 (traverse_c_tests): Likewise.
31371 (add_predicate): Likewise.
31372 (init_predicate_table): Likewise.
31373 * gensupport.h (struct optab_pattern): Likewise.
31374 (get_num_insn_codes): Likewise.
31375 (maybe_eval_c_test): Likewise.
31376 (struct pred_data): Likewise.
31377 * ggc-internal.h: Likewise.
31378 * gimple-fold.cc (maybe_fold_reference): Likewise.
31379 (get_range_strlen_tree): Likewise.
31380 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
31381 * gimple-low.cc: Likewise.
31382 * gimple-match-head.cc (directly_supported_p): Likewise.
31383 * gimple-pretty-print.h: Likewise.
31384 * gimple-ssa-sprintf.cc (format_percent): Likewise.
31385 (adjust_range_for_overflow): Likewise.
31386 * gimple-streamer.h: Likewise.
31387 * gimple.h (struct GTY): Likewise.
31388 (is_gimple_resx): Likewise.
31389 * gimplify.cc (gimplify_expr): Likewise.
31390 (gimplify_init_constructor): Likewise.
31391 (omp_construct_selector_matches): Likewise.
31392 (gimplify_omp_target_update): Likewise.
31393 (gimplify_omp_ordered): Likewise.
31394 (gimplify_va_arg_expr): Likewise.
31395 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
31396 * haifa-sched.cc (increase_insn_priority): Likewise.
31397 (try_ready): Likewise.
31398 (sched_create_recovery_edges): Likewise.
31399 * ifcvt.cc (find_if_case_1): Likewise.
31400 (find_if_case_2): Likewise.
31401 * inchash.h: Likewise.
31402 * incpath.cc (add_env_var_paths): Likewise.
31403 * input.cc (dump_location_info): Likewise.
31404 (assert_loceq): Likewise.
31405 (test_lexer_string_locations_concatenation_1): Likewise.
31406 (test_lexer_string_locations_concatenation_2): Likewise.
31407 (test_lexer_string_locations_concatenation_3): Likewise.
31408 * input.h (BUILTINS_LOCATION): Likewise.
31409 (class string_concat_db): Likewise.
31410 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
31411 (expand_LOOP_VECTORIZED): Likewise.
31412 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
31413 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
31414 (ipa_fn_summary_t::duplicate): Likewise.
31415 (make_pass_ipa_fn_summary): Likewise.
31416 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
31417 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
31418 (free_lang_data_in_decl): Likewise.
31419 * ipa-inline.cc (compute_inlined_call_time): Likewise.
31420 (inline_always_inline_functions): Likewise.
31421 * ipa-inline.h (free_growth_caches): Likewise.
31422 (inline_account_function_p): Likewise.
31423 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
31424 (modref_eaf_analysis::analyze_ssa_name): Likewise.
31425 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
31426 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
31427 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
31428 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
31429 (unadjusted_ptr_and_unit_offset): Likewise.
31430 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
31431 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
31432 * ipa-split.cc (consider_split): Likewise.
31433 * ipa-sra.cc (isra_read_node_info): Likewise.
31434 * ipa-utils.h (struct ipa_dfs_info): Likewise.
31435 (recursive_call_p): Likewise.
31436 (ipa_make_function_pure): Likewise.
31437 * ira-build.cc (ira_create_allocno): Likewise.
31438 (ira_flattening): Likewise.
31439 * ira-color.cc (do_coloring): Likewise.
31440 (update_curr_costs): Likewise.
31441 * ira-conflicts.cc (process_regs_for_copy): Likewise.
31442 * ira-int.h (struct ira_emit_data): Likewise.
31443 (ira_prohibited_mode_move_regs): Likewise.
31444 (ira_get_dup_out_num): Likewise.
31445 (ira_destroy): Likewise.
31446 (ira_tune_allocno_costs): Likewise.
31447 (ira_implicitly_set_insn_hard_regs): Likewise.
31448 (ira_build_conflicts): Likewise.
31449 (ira_color): Likewise.
31450 * ira-lives.cc (process_bb_node_lives): Likewise.
31451 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
31452 (setup_uniform_class_p): Likewise.
31453 (def_dominates_uses): Likewise.
31454 * ira.h (ira_nullify_asm_goto): Likewise.
31455 * langhooks.cc (lhd_post_options): Likewise.
31456 * langhooks.h (class substring_loc): Likewise.
31457 (struct lang_hooks_for_tree_inlining): Likewise.
31458 (struct lang_hooks_for_types): Likewise.
31459 (struct lang_hooks): Likewise.
31460 * libfuncs.h (synchronize_libfunc): Likewise.
31461 * loop-doloop.cc (doloop_condition_get): Likewise.
31462 * loop-init.cc (fix_loop_structure): Likewise.
31463 * loop-invariant.cc: Likewise.
31464 * lower-subreg.h: Likewise.
31465 * lra-constraints.cc (curr_insn_transform): Likewise.
31466 * lra-int.h (struct lra_insn_reg): Likewise.
31467 (lra_undo_inheritance): Likewise.
31468 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
31469 (lra_split_hard_reg_for): Likewise.
31470 (lra_coalesce): Likewise.
31471 (lra_final_code_change): Likewise.
31472 * lra-spills.cc (lra_final_code_change): Likewise.
31473 * lra.cc (lra_process_new_insns): Likewise.
31474 * lto-compress.h (struct lto_compression_stream): Likewise.
31475 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
31476 (write_symbol): Likewise.
31477 * lto-streamer.h (enum LTO_tags): Likewise.
31478 (lto_value_range_error): Likewise.
31479 (lto_append_block): Likewise.
31480 (lto_streamer_hooks_init): Likewise.
31481 (stream_read_tree_ref): Likewise.
31482 (lto_prepare_function_for_streaming): Likewise.
31483 (select_what_to_stream): Likewise.
31484 (omp_lto_input_declare_variant_alt): Likewise.
31485 (cl_optimization_stream_in): Likewise.
31486 * lto-wrapper.cc (append_compiler_options): Likewise.
31487 * machmode.def: Likewise.
31488 * machmode.h (struct int_n_data_t): Likewise.
31489 * main.cc (main): Likewise.
31490 * match.pd: Likewise.
31491 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
31492 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
31493 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
31494 (make_pass_expand_omp_ssa): Likewise.
31495 * omp-low.cc (struct omp_context): Likewise.
31496 (struct omp_taskcopy_context): Likewise.
31497 (lower_omp): Likewise.
31498 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
31499 (mask_name): Likewise.
31500 (omp_sese_dump_pars): Likewise.
31501 (worker_single_simple): Likewise.
31502 * omp-offload.cc (omp_finish_file): Likewise.
31503 (execute_oacc_loop_designation): Likewise.
31504 * optabs-query.cc (lshift_cheap_p): Likewise.
31505 * optc-gen.awk: Likewise.
31506 * optc-save-gen.awk: Likewise.
31507 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
31508 * opts-common.cc: Likewise.
31509 * output.h (app_enable): Likewise.
31510 (output_operand_lossage): Likewise.
31511 (insn_current_reference_address): Likewise.
31512 (get_insn_template): Likewise.
31513 (output_quoted_string): Likewise.
31514 * pass_manager.h (struct register_pass_info): Likewise.
31515 * plugin.cc: Likewise.
31516 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
31517 * plugin.h (invoke_plugin_callbacks): Likewise.
31518 * pointer-query.cc (handle_mem_ref): Likewise.
31519 * postreload-gcse.cc (alloc_mem): Likewise.
31520 * predict.h (enum prediction): Likewise.
31521 (add_reg_br_prob_note): Likewise.
31522 * prefix.h: Likewise.
31523 * profile.h (get_working_sets): Likewise.
31524 * read-md.cc: Likewise.
31525 * read-md.h (struct mapping): Likewise.
31526 (class md_reader): Likewise.
31527 (class noop_reader): Likewise.
31528 * read-rtl-function.cc (function_reader::create_function): Likewise.
31529 (function_reader::extra_parsing_for_operand_code_0): Likewise.
31530 * read-rtl.cc (initialize_iterators): Likewise.
31531 * real.cc: Likewise.
31532 * real.h (struct real_value): Likewise.
31533 (format_helper::format_helper): Likewise.
31534 (real_hash): Likewise.
31535 (real_can_shorten_arithmetic): Likewise.
31536 * recog.cc (struct target_recog): Likewise.
31537 (offsettable_nonstrict_memref_p): Likewise.
31538 (constrain_operands): Likewise.
31539 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
31540 (which_op_alt): Likewise.
31541 (struct insn_gen_fn): Likewise.
31542 * reg-notes.def (REG_NOTE): Likewise.
31543 * reg-stack.cc: Likewise.
31544 * regs.h (reg_is_parm_p): Likewise.
31545 * regset.h: Likewise.
31546 * reload.cc (push_reload): Likewise.
31547 (find_reloads): Likewise.
31548 (find_reloads_address_1): Likewise.
31549 (find_replacement): Likewise.
31550 (refers_to_regno_for_reload_p): Likewise.
31551 (refers_to_mem_for_reload_p): Likewise.
31552 * reload.h (push_reload): Likewise.
31553 (deallocate_reload_reg): Likewise.
31554 * reload1.cc (emit_input_reload_insns): Likewise.
31555 * reorg.cc (relax_delay_slots): Likewise.
31556 * rtl.def (UNKNOWN): Likewise.
31557 (SEQUENCE): Likewise.
31558 (BARRIER): Likewise.
31559 (ASM_OPERANDS): Likewise.
31560 (EQ_ATTR_ALT): Likewise.
31561 * rtl.h (struct GTY): Likewise.
31562 (LABEL_NAME): Likewise.
31563 (LABEL_ALT_ENTRY_P): Likewise.
31564 (SUBREG_BYTE): Likewise.
31565 (get_stack_check_protect): Likewise.
31566 (dump_rtx_statistics): Likewise.
31567 (unwrap_const_vec_duplicate): Likewise.
31568 (subreg_promoted_mode): Likewise.
31569 (gen_lowpart_common): Likewise.
31570 (operand_subword): Likewise.
31571 (immed_wide_int_const): Likewise.
31572 (decide_function_section): Likewise.
31573 (active_insn_p): Likewise.
31574 (delete_related_insns): Likewise.
31575 (try_split): Likewise.
31576 (val_signbit_known_clear_p): Likewise.
31577 (simplifiable_subregs): Likewise.
31578 (set_insn_deleted): Likewise.
31579 (subreg_get_info): Likewise.
31580 (remove_free_EXPR_LIST_node): Likewise.
31581 (finish_subregs_of_mode): Likewise.
31582 (get_mem_attrs): Likewise.
31583 (lookup_constant_def): Likewise.
31584 (rtx_to_tree_code): Likewise.
31585 (hash_rtx): Likewise.
31586 (condjump_in_parallel_p): Likewise.
31587 (validate_subreg): Likewise.
31588 (make_compound_operation): Likewise.
31589 (schedule_ebbs): Likewise.
31590 (print_inline_rtx): Likewise.
31591 (fixup_args_size_notes): Likewise.
31592 (expand_dec): Likewise.
31593 (prepare_copy_insn): Likewise.
31594 (mark_elimination): Likewise.
31595 (valid_mode_changes_for_regno): Likewise.
31596 (make_debug_expr_from_rtl): Likewise.
31597 (delete_vta_debug_insns): Likewise.
31598 (simplify_using_condition): Likewise.
31599 (set_insn_locations): Likewise.
31600 (fatal_insn_not_found): Likewise.
31601 (word_register_operation_p): Likewise.
31602 * rtlanal.cc (get_call_fndecl): Likewise.
31603 (side_effects_p): Likewise.
31604 (subreg_nregs): Likewise.
31605 (rtx_cost): Likewise.
31606 (canonicalize_condition): Likewise.
31607 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
31608 * run-rtl-passes.cc (run_rtl_passes): Likewise.
31609 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
31610 * sched-deps.cc (add_dependence_1): Likewise.
31611 * sched-ebb.cc (begin_move_insn): Likewise.
31612 (add_deps_for_risky_insns): Likewise.
31613 (advance_target_bb): Likewise.
31614 * sched-int.h (reemit_notes): Likewise.
31615 (struct _haifa_insn_data): Likewise.
31616 (HID): Likewise.
31617 (DEP_CANCELLED): Likewise.
31618 (debug_ds): Likewise.
31619 (number_in_ready): Likewise.
31620 (schedule_ebbs_finish): Likewise.
31621 (find_modifiable_mems): Likewise.
31622 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
31623 * sel-sched-dump.cc (dump_lv_set): Likewise.
31624 * sel-sched-dump.h: Likewise.
31625 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
31626 (setup_id_reg_sets): Likewise.
31627 (has_dependence_p): Likewise.
31628 (sel_num_cfg_preds_gt_1): Likewise.
31629 (bb_ends_ebb_p): Likewise.
31630 * sel-sched-ir.h (struct _list_node): Likewise.
31631 (struct idata_def): Likewise.
31632 (bb_next_bb): Likewise.
31633 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
31634 (choose_best_pseudo_reg): Likewise.
31635 (verify_target_availability): Likewise.
31636 (can_speculate_dep_p): Likewise.
31637 (sel_rank_for_schedule): Likewise.
31638 * selftest-run-tests.cc (selftest::run_tests): Likewise.
31639 * selftest.h (class auto_fix_quotes): Likewise.
31640 * shrink-wrap.cc (handle_simple_exit): Likewise.
31641 * shrink-wrap.h: Likewise.
31642 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
31643 (simplify_context::simplify_gen_vec_select): Likewise.
31644 * spellcheck-tree.h: Likewise.
31645 * spellcheck.h: Likewise.
31646 * statistics.h (struct function): Likewise.
31647 * stmt.cc (conditional_probability): Likewise.
31648 * stmt.h: Likewise.
31649 * stor-layout.h: Likewise.
31650 * streamer-hooks.h: Likewise.
31651 * stringpool.h: Likewise.
31652 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
31653 * target.def (HOOK_VECTOR_END): Likewise.
31654 (type.): Likewise.
31655 * target.h (union cumulative_args_t): Likewise.
31656 (by_pieces_ninsns): Likewise.
31657 (class predefined_function_abi): Likewise.
31658 * targhooks.cc (default_translate_mode_attribute): Likewise.
31659 * timevar.def: Likewise.
31660 * timevar.h (class timer): Likewise.
31661 * toplev.h (enable_rtl_dump_file): Likewise.
31662 * trans-mem.cc (collect_bb2reg): Likewise.
31663 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
31664 * tree-cfg.cc (remove_bb): Likewise.
31665 (verify_gimple_debug): Likewise.
31666 (remove_edge_and_dominated_blocks): Likewise.
31667 (push_fndecl): Likewise.
31668 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
31669 * tree-complex.cc (expand_complex_multiplication): Likewise.
31670 (expand_complex_div_straight): Likewise.
31671 * tree-core.h (enum tree_index): Likewise.
31672 (enum operand_equal_flag): Likewise.
31673 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
31674 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
31675 * tree-inline.cc (initialize_inlined_parameters): Likewise.
31676 * tree-inline.h (force_value_to_type): Likewise.
31677 * tree-nested.cc (get_chain_decl): Likewise.
31678 (walk_all_functions): Likewise.
31679 * tree-object-size.h: Likewise.
31680 * tree-outof-ssa.cc: Likewise.
31681 * tree-parloops.cc (create_parallel_loop): Likewise.
31682 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
31683 (dump_generic_node): Likewise.
31684 * tree-profile.cc (tree_profiling): Likewise.
31685 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
31686 * tree-ssa-address.cc: Likewise.
31687 * tree-ssa-alias.cc: Likewise.
31688 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
31689 (dump_alias_stats): Likewise.
31690 * tree-ssa-ccp.cc: Likewise.
31691 * tree-ssa-coalesce.h: Likewise.
31692 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
31693 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
31694 * tree-ssa-loop-unswitch.cc: Likewise.
31695 * tree-ssa-math-opts.cc: Likewise.
31696 * tree-ssa-operands.cc (class operands_scanner): Likewise.
31697 * tree-ssa-pre.cc: Likewise.
31698 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
31699 (debug_range_entry): Likewise.
31700 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
31701 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
31702 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
31703 (equal_mem_array_ref_p): Likewise.
31704 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
31705 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
31706 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
31707 * tree-ssa-ter.h: Likewise.
31708 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
31709 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
31710 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
31711 (write_ts_block_tree_pointers): Likewise.
31712 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
31713 (streamer_read_tree_bitfields): Likewise.
31714 (streamer_write_integer_cst): Likewise.
31715 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
31716 (vect_synth_mult_by_constant): Likewise.
31717 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
31718 * tree-vectorizer.cc: Likewise.
31719 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
31720 (vect_update_inits_of_drs): Likewise.
31721 (vect_get_mask_type_for_stmt): Likewise.
31722 (vect_rgroup_iv_might_wrap_p): Likewise.
31723 (cse_and_gimplify_to_preheader): Likewise.
31724 (vect_free_slp_tree): Likewise.
31725 (vect_pattern_recog): Likewise.
31726 (vect_stmt_dominates_stmt_p): Likewise.
31727 * tree.cc (initialize_tree_contains_struct): Likewise.
31728 (need_assembler_name_p): Likewise.
31729 (type_with_interoperable_signedness): Likewise.
31730 * tree.def (SWITCH_EXPR): Likewise.
31731 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
31732 (poly_int_tree_p): Likewise.
31733 (inlined_function_outer_scope_p): Likewise.
31734 (tree_code_for_canonical_type_merging): Likewise.
31735 * value-prof.cc: Likewise.
31736 * value-prof.h (get_nth_most_common_value): Likewise.
31737 (find_func_by_profile_id): Likewise.
31738 * value-range.cc (vrp_operand_equal_p): Likewise.
31739 * value-range.h: Likewise.
31740 * var-tracking.cc: Likewise.
31741 * varasm.cc (default_function_section): Likewise.
31742 (function_section_1): Likewise.
31743 (assemble_variable): Likewise.
31744 (handle_vtv_comdat_section): Likewise.
31745 * vec.h (struct vec_prefix): Likewise.
31746 * vmsdbgout.cc (full_name): Likewise.
31747 * vtable-verify.cc: Likewise.
31748 * vtable-verify.h (struct vtv_graph_node): Likewise.
31749 * xcoffout.cc: Likewise.
31750 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
31751
31752 2022-01-17 Martin Liska <mliska@suse.cz>
31753
31754 * adjust-alignment.c: Moved to...
31755 * adjust-alignment.cc: ...here.
31756 * alias.c: Moved to...
31757 * alias.cc: ...here.
31758 * alloc-pool.c: Moved to...
31759 * alloc-pool.cc: ...here.
31760 * asan.c: Moved to...
31761 * asan.cc: ...here.
31762 * attribs.c: Moved to...
31763 * attribs.cc: ...here.
31764 * auto-inc-dec.c: Moved to...
31765 * auto-inc-dec.cc: ...here.
31766 * auto-profile.c: Moved to...
31767 * auto-profile.cc: ...here.
31768 * bb-reorder.c: Moved to...
31769 * bb-reorder.cc: ...here.
31770 * bitmap.c: Moved to...
31771 * bitmap.cc: ...here.
31772 * btfout.c: Moved to...
31773 * btfout.cc: ...here.
31774 * builtins.c: Moved to...
31775 * builtins.cc: ...here.
31776 * caller-save.c: Moved to...
31777 * caller-save.cc: ...here.
31778 * calls.c: Moved to...
31779 * calls.cc: ...here.
31780 * ccmp.c: Moved to...
31781 * ccmp.cc: ...here.
31782 * cfg.c: Moved to...
31783 * cfg.cc: ...here.
31784 * cfganal.c: Moved to...
31785 * cfganal.cc: ...here.
31786 * cfgbuild.c: Moved to...
31787 * cfgbuild.cc: ...here.
31788 * cfgcleanup.c: Moved to...
31789 * cfgcleanup.cc: ...here.
31790 * cfgexpand.c: Moved to...
31791 * cfgexpand.cc: ...here.
31792 * cfghooks.c: Moved to...
31793 * cfghooks.cc: ...here.
31794 * cfgloop.c: Moved to...
31795 * cfgloop.cc: ...here.
31796 * cfgloopanal.c: Moved to...
31797 * cfgloopanal.cc: ...here.
31798 * cfgloopmanip.c: Moved to...
31799 * cfgloopmanip.cc: ...here.
31800 * cfgrtl.c: Moved to...
31801 * cfgrtl.cc: ...here.
31802 * cgraph.c: Moved to...
31803 * cgraph.cc: ...here.
31804 * cgraphbuild.c: Moved to...
31805 * cgraphbuild.cc: ...here.
31806 * cgraphclones.c: Moved to...
31807 * cgraphclones.cc: ...here.
31808 * cgraphunit.c: Moved to...
31809 * cgraphunit.cc: ...here.
31810 * collect-utils.c: Moved to...
31811 * collect-utils.cc: ...here.
31812 * collect2-aix.c: Moved to...
31813 * collect2-aix.cc: ...here.
31814 * collect2.c: Moved to...
31815 * collect2.cc: ...here.
31816 * combine-stack-adj.c: Moved to...
31817 * combine-stack-adj.cc: ...here.
31818 * combine.c: Moved to...
31819 * combine.cc: ...here.
31820 * common/common-targhooks.c: Moved to...
31821 * common/common-targhooks.cc: ...here.
31822 * common/config/aarch64/aarch64-common.c: Moved to...
31823 * common/config/aarch64/aarch64-common.cc: ...here.
31824 * common/config/alpha/alpha-common.c: Moved to...
31825 * common/config/alpha/alpha-common.cc: ...here.
31826 * common/config/arc/arc-common.c: Moved to...
31827 * common/config/arc/arc-common.cc: ...here.
31828 * common/config/arm/arm-common.c: Moved to...
31829 * common/config/arm/arm-common.cc: ...here.
31830 * common/config/avr/avr-common.c: Moved to...
31831 * common/config/avr/avr-common.cc: ...here.
31832 * common/config/bfin/bfin-common.c: Moved to...
31833 * common/config/bfin/bfin-common.cc: ...here.
31834 * common/config/bpf/bpf-common.c: Moved to...
31835 * common/config/bpf/bpf-common.cc: ...here.
31836 * common/config/c6x/c6x-common.c: Moved to...
31837 * common/config/c6x/c6x-common.cc: ...here.
31838 * common/config/cr16/cr16-common.c: Moved to...
31839 * common/config/cr16/cr16-common.cc: ...here.
31840 * common/config/cris/cris-common.c: Moved to...
31841 * common/config/cris/cris-common.cc: ...here.
31842 * common/config/csky/csky-common.c: Moved to...
31843 * common/config/csky/csky-common.cc: ...here.
31844 * common/config/default-common.c: Moved to...
31845 * common/config/default-common.cc: ...here.
31846 * common/config/epiphany/epiphany-common.c: Moved to...
31847 * common/config/epiphany/epiphany-common.cc: ...here.
31848 * common/config/fr30/fr30-common.c: Moved to...
31849 * common/config/fr30/fr30-common.cc: ...here.
31850 * common/config/frv/frv-common.c: Moved to...
31851 * common/config/frv/frv-common.cc: ...here.
31852 * common/config/gcn/gcn-common.c: Moved to...
31853 * common/config/gcn/gcn-common.cc: ...here.
31854 * common/config/h8300/h8300-common.c: Moved to...
31855 * common/config/h8300/h8300-common.cc: ...here.
31856 * common/config/i386/i386-common.c: Moved to...
31857 * common/config/i386/i386-common.cc: ...here.
31858 * common/config/ia64/ia64-common.c: Moved to...
31859 * common/config/ia64/ia64-common.cc: ...here.
31860 * common/config/iq2000/iq2000-common.c: Moved to...
31861 * common/config/iq2000/iq2000-common.cc: ...here.
31862 * common/config/lm32/lm32-common.c: Moved to...
31863 * common/config/lm32/lm32-common.cc: ...here.
31864 * common/config/m32r/m32r-common.c: Moved to...
31865 * common/config/m32r/m32r-common.cc: ...here.
31866 * common/config/m68k/m68k-common.c: Moved to...
31867 * common/config/m68k/m68k-common.cc: ...here.
31868 * common/config/mcore/mcore-common.c: Moved to...
31869 * common/config/mcore/mcore-common.cc: ...here.
31870 * common/config/microblaze/microblaze-common.c: Moved to...
31871 * common/config/microblaze/microblaze-common.cc: ...here.
31872 * common/config/mips/mips-common.c: Moved to...
31873 * common/config/mips/mips-common.cc: ...here.
31874 * common/config/mmix/mmix-common.c: Moved to...
31875 * common/config/mmix/mmix-common.cc: ...here.
31876 * common/config/mn10300/mn10300-common.c: Moved to...
31877 * common/config/mn10300/mn10300-common.cc: ...here.
31878 * common/config/msp430/msp430-common.c: Moved to...
31879 * common/config/msp430/msp430-common.cc: ...here.
31880 * common/config/nds32/nds32-common.c: Moved to...
31881 * common/config/nds32/nds32-common.cc: ...here.
31882 * common/config/nios2/nios2-common.c: Moved to...
31883 * common/config/nios2/nios2-common.cc: ...here.
31884 * common/config/nvptx/nvptx-common.c: Moved to...
31885 * common/config/nvptx/nvptx-common.cc: ...here.
31886 * common/config/or1k/or1k-common.c: Moved to...
31887 * common/config/or1k/or1k-common.cc: ...here.
31888 * common/config/pa/pa-common.c: Moved to...
31889 * common/config/pa/pa-common.cc: ...here.
31890 * common/config/pdp11/pdp11-common.c: Moved to...
31891 * common/config/pdp11/pdp11-common.cc: ...here.
31892 * common/config/pru/pru-common.c: Moved to...
31893 * common/config/pru/pru-common.cc: ...here.
31894 * common/config/riscv/riscv-common.c: Moved to...
31895 * common/config/riscv/riscv-common.cc: ...here.
31896 * common/config/rs6000/rs6000-common.c: Moved to...
31897 * common/config/rs6000/rs6000-common.cc: ...here.
31898 * common/config/rx/rx-common.c: Moved to...
31899 * common/config/rx/rx-common.cc: ...here.
31900 * common/config/s390/s390-common.c: Moved to...
31901 * common/config/s390/s390-common.cc: ...here.
31902 * common/config/sh/sh-common.c: Moved to...
31903 * common/config/sh/sh-common.cc: ...here.
31904 * common/config/sparc/sparc-common.c: Moved to...
31905 * common/config/sparc/sparc-common.cc: ...here.
31906 * common/config/tilegx/tilegx-common.c: Moved to...
31907 * common/config/tilegx/tilegx-common.cc: ...here.
31908 * common/config/tilepro/tilepro-common.c: Moved to...
31909 * common/config/tilepro/tilepro-common.cc: ...here.
31910 * common/config/v850/v850-common.c: Moved to...
31911 * common/config/v850/v850-common.cc: ...here.
31912 * common/config/vax/vax-common.c: Moved to...
31913 * common/config/vax/vax-common.cc: ...here.
31914 * common/config/visium/visium-common.c: Moved to...
31915 * common/config/visium/visium-common.cc: ...here.
31916 * common/config/xstormy16/xstormy16-common.c: Moved to...
31917 * common/config/xstormy16/xstormy16-common.cc: ...here.
31918 * common/config/xtensa/xtensa-common.c: Moved to...
31919 * common/config/xtensa/xtensa-common.cc: ...here.
31920 * compare-elim.c: Moved to...
31921 * compare-elim.cc: ...here.
31922 * config/aarch64/aarch64-bti-insert.c: Moved to...
31923 * config/aarch64/aarch64-bti-insert.cc: ...here.
31924 * config/aarch64/aarch64-builtins.c: Moved to...
31925 * config/aarch64/aarch64-builtins.cc: ...here.
31926 * config/aarch64/aarch64-c.c: Moved to...
31927 * config/aarch64/aarch64-c.cc: ...here.
31928 * config/aarch64/aarch64-d.c: Moved to...
31929 * config/aarch64/aarch64-d.cc: ...here.
31930 * config/aarch64/aarch64.c: Moved to...
31931 * config/aarch64/aarch64.cc: ...here.
31932 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
31933 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
31934 * config/aarch64/driver-aarch64.c: Moved to...
31935 * config/aarch64/driver-aarch64.cc: ...here.
31936 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
31937 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
31938 * config/aarch64/host-aarch64-darwin.c: Moved to...
31939 * config/aarch64/host-aarch64-darwin.cc: ...here.
31940 * config/alpha/alpha.c: Moved to...
31941 * config/alpha/alpha.cc: ...here.
31942 * config/alpha/driver-alpha.c: Moved to...
31943 * config/alpha/driver-alpha.cc: ...here.
31944 * config/arc/arc-c.c: Moved to...
31945 * config/arc/arc-c.cc: ...here.
31946 * config/arc/arc.c: Moved to...
31947 * config/arc/arc.cc: ...here.
31948 * config/arc/driver-arc.c: Moved to...
31949 * config/arc/driver-arc.cc: ...here.
31950 * config/arm/aarch-common.c: Moved to...
31951 * config/arm/aarch-common.cc: ...here.
31952 * config/arm/arm-builtins.c: Moved to...
31953 * config/arm/arm-builtins.cc: ...here.
31954 * config/arm/arm-c.c: Moved to...
31955 * config/arm/arm-c.cc: ...here.
31956 * config/arm/arm-d.c: Moved to...
31957 * config/arm/arm-d.cc: ...here.
31958 * config/arm/arm.c: Moved to...
31959 * config/arm/arm.cc: ...here.
31960 * config/arm/driver-arm.c: Moved to...
31961 * config/arm/driver-arm.cc: ...here.
31962 * config/avr/avr-c.c: Moved to...
31963 * config/avr/avr-c.cc: ...here.
31964 * config/avr/avr-devices.c: Moved to...
31965 * config/avr/avr-devices.cc: ...here.
31966 * config/avr/avr-log.c: Moved to...
31967 * config/avr/avr-log.cc: ...here.
31968 * config/avr/avr.c: Moved to...
31969 * config/avr/avr.cc: ...here.
31970 * config/avr/driver-avr.c: Moved to...
31971 * config/avr/driver-avr.cc: ...here.
31972 * config/avr/gen-avr-mmcu-specs.c: Moved to...
31973 * config/avr/gen-avr-mmcu-specs.cc: ...here.
31974 * config/avr/gen-avr-mmcu-texi.c: Moved to...
31975 * config/avr/gen-avr-mmcu-texi.cc: ...here.
31976 * config/bfin/bfin.c: Moved to...
31977 * config/bfin/bfin.cc: ...here.
31978 * config/bpf/bpf.c: Moved to...
31979 * config/bpf/bpf.cc: ...here.
31980 * config/bpf/coreout.c: Moved to...
31981 * config/bpf/coreout.cc: ...here.
31982 * config/c6x/c6x.c: Moved to...
31983 * config/c6x/c6x.cc: ...here.
31984 * config/cr16/cr16.c: Moved to...
31985 * config/cr16/cr16.cc: ...here.
31986 * config/cris/cris.c: Moved to...
31987 * config/cris/cris.cc: ...here.
31988 * config/csky/csky.c: Moved to...
31989 * config/csky/csky.cc: ...here.
31990 * config/darwin-c.c: Moved to...
31991 * config/darwin-c.cc: ...here.
31992 * config/darwin-d.c: Moved to...
31993 * config/darwin-d.cc: ...here.
31994 * config/darwin-driver.c: Moved to...
31995 * config/darwin-driver.cc: ...here.
31996 * config/darwin-f.c: Moved to...
31997 * config/darwin-f.cc: ...here.
31998 * config/darwin.c: Moved to...
31999 * config/darwin.cc: ...here.
32000 * config/default-c.c: Moved to...
32001 * config/default-c.cc: ...here.
32002 * config/default-d.c: Moved to...
32003 * config/default-d.cc: ...here.
32004 * config/dragonfly-d.c: Moved to...
32005 * config/dragonfly-d.cc: ...here.
32006 * config/epiphany/epiphany.c: Moved to...
32007 * config/epiphany/epiphany.cc: ...here.
32008 * config/epiphany/mode-switch-use.c: Moved to...
32009 * config/epiphany/mode-switch-use.cc: ...here.
32010 * config/epiphany/resolve-sw-modes.c: Moved to...
32011 * config/epiphany/resolve-sw-modes.cc: ...here.
32012 * config/fr30/fr30.c: Moved to...
32013 * config/fr30/fr30.cc: ...here.
32014 * config/freebsd-d.c: Moved to...
32015 * config/freebsd-d.cc: ...here.
32016 * config/frv/frv.c: Moved to...
32017 * config/frv/frv.cc: ...here.
32018 * config/ft32/ft32.c: Moved to...
32019 * config/ft32/ft32.cc: ...here.
32020 * config/gcn/driver-gcn.c: Moved to...
32021 * config/gcn/driver-gcn.cc: ...here.
32022 * config/gcn/gcn-run.c: Moved to...
32023 * config/gcn/gcn-run.cc: ...here.
32024 * config/gcn/gcn-tree.c: Moved to...
32025 * config/gcn/gcn-tree.cc: ...here.
32026 * config/gcn/gcn.c: Moved to...
32027 * config/gcn/gcn.cc: ...here.
32028 * config/gcn/mkoffload.c: Moved to...
32029 * config/gcn/mkoffload.cc: ...here.
32030 * config/glibc-c.c: Moved to...
32031 * config/glibc-c.cc: ...here.
32032 * config/glibc-d.c: Moved to...
32033 * config/glibc-d.cc: ...here.
32034 * config/h8300/h8300.c: Moved to...
32035 * config/h8300/h8300.cc: ...here.
32036 * config/host-darwin.c: Moved to...
32037 * config/host-darwin.cc: ...here.
32038 * config/host-hpux.c: Moved to...
32039 * config/host-hpux.cc: ...here.
32040 * config/host-linux.c: Moved to...
32041 * config/host-linux.cc: ...here.
32042 * config/host-netbsd.c: Moved to...
32043 * config/host-netbsd.cc: ...here.
32044 * config/host-openbsd.c: Moved to...
32045 * config/host-openbsd.cc: ...here.
32046 * config/host-solaris.c: Moved to...
32047 * config/host-solaris.cc: ...here.
32048 * config/i386/djgpp.c: Moved to...
32049 * config/i386/djgpp.cc: ...here.
32050 * config/i386/driver-i386.c: Moved to...
32051 * config/i386/driver-i386.cc: ...here.
32052 * config/i386/driver-mingw32.c: Moved to...
32053 * config/i386/driver-mingw32.cc: ...here.
32054 * config/i386/gnu-property.c: Moved to...
32055 * config/i386/gnu-property.cc: ...here.
32056 * config/i386/host-cygwin.c: Moved to...
32057 * config/i386/host-cygwin.cc: ...here.
32058 * config/i386/host-i386-darwin.c: Moved to...
32059 * config/i386/host-i386-darwin.cc: ...here.
32060 * config/i386/host-mingw32.c: Moved to...
32061 * config/i386/host-mingw32.cc: ...here.
32062 * config/i386/i386-builtins.c: Moved to...
32063 * config/i386/i386-builtins.cc: ...here.
32064 * config/i386/i386-c.c: Moved to...
32065 * config/i386/i386-c.cc: ...here.
32066 * config/i386/i386-d.c: Moved to...
32067 * config/i386/i386-d.cc: ...here.
32068 * config/i386/i386-expand.c: Moved to...
32069 * config/i386/i386-expand.cc: ...here.
32070 * config/i386/i386-features.c: Moved to...
32071 * config/i386/i386-features.cc: ...here.
32072 * config/i386/i386-options.c: Moved to...
32073 * config/i386/i386-options.cc: ...here.
32074 * config/i386/i386.c: Moved to...
32075 * config/i386/i386.cc: ...here.
32076 * config/i386/intelmic-mkoffload.c: Moved to...
32077 * config/i386/intelmic-mkoffload.cc: ...here.
32078 * config/i386/msformat-c.c: Moved to...
32079 * config/i386/msformat-c.cc: ...here.
32080 * config/i386/winnt-cxx.c: Moved to...
32081 * config/i386/winnt-cxx.cc: ...here.
32082 * config/i386/winnt-d.c: Moved to...
32083 * config/i386/winnt-d.cc: ...here.
32084 * config/i386/winnt-stubs.c: Moved to...
32085 * config/i386/winnt-stubs.cc: ...here.
32086 * config/i386/winnt.c: Moved to...
32087 * config/i386/winnt.cc: ...here.
32088 * config/i386/x86-tune-sched-atom.c: Moved to...
32089 * config/i386/x86-tune-sched-atom.cc: ...here.
32090 * config/i386/x86-tune-sched-bd.c: Moved to...
32091 * config/i386/x86-tune-sched-bd.cc: ...here.
32092 * config/i386/x86-tune-sched-core.c: Moved to...
32093 * config/i386/x86-tune-sched-core.cc: ...here.
32094 * config/i386/x86-tune-sched.c: Moved to...
32095 * config/i386/x86-tune-sched.cc: ...here.
32096 * config/ia64/ia64-c.c: Moved to...
32097 * config/ia64/ia64-c.cc: ...here.
32098 * config/ia64/ia64.c: Moved to...
32099 * config/ia64/ia64.cc: ...here.
32100 * config/iq2000/iq2000.c: Moved to...
32101 * config/iq2000/iq2000.cc: ...here.
32102 * config/linux.c: Moved to...
32103 * config/linux.cc: ...here.
32104 * config/lm32/lm32.c: Moved to...
32105 * config/lm32/lm32.cc: ...here.
32106 * config/m32c/m32c-pragma.c: Moved to...
32107 * config/m32c/m32c-pragma.cc: ...here.
32108 * config/m32c/m32c.c: Moved to...
32109 * config/m32c/m32c.cc: ...here.
32110 * config/m32r/m32r.c: Moved to...
32111 * config/m32r/m32r.cc: ...here.
32112 * config/m68k/m68k.c: Moved to...
32113 * config/m68k/m68k.cc: ...here.
32114 * config/mcore/mcore.c: Moved to...
32115 * config/mcore/mcore.cc: ...here.
32116 * config/microblaze/microblaze-c.c: Moved to...
32117 * config/microblaze/microblaze-c.cc: ...here.
32118 * config/microblaze/microblaze.c: Moved to...
32119 * config/microblaze/microblaze.cc: ...here.
32120 * config/mips/driver-native.c: Moved to...
32121 * config/mips/driver-native.cc: ...here.
32122 * config/mips/frame-header-opt.c: Moved to...
32123 * config/mips/frame-header-opt.cc: ...here.
32124 * config/mips/mips-d.c: Moved to...
32125 * config/mips/mips-d.cc: ...here.
32126 * config/mips/mips.c: Moved to...
32127 * config/mips/mips.cc: ...here.
32128 * config/mmix/mmix.c: Moved to...
32129 * config/mmix/mmix.cc: ...here.
32130 * config/mn10300/mn10300.c: Moved to...
32131 * config/mn10300/mn10300.cc: ...here.
32132 * config/moxie/moxie.c: Moved to...
32133 * config/moxie/moxie.cc: ...here.
32134 * config/msp430/driver-msp430.c: Moved to...
32135 * config/msp430/driver-msp430.cc: ...here.
32136 * config/msp430/msp430-c.c: Moved to...
32137 * config/msp430/msp430-c.cc: ...here.
32138 * config/msp430/msp430-devices.c: Moved to...
32139 * config/msp430/msp430-devices.cc: ...here.
32140 * config/msp430/msp430.c: Moved to...
32141 * config/msp430/msp430.cc: ...here.
32142 * config/nds32/nds32-cost.c: Moved to...
32143 * config/nds32/nds32-cost.cc: ...here.
32144 * config/nds32/nds32-fp-as-gp.c: Moved to...
32145 * config/nds32/nds32-fp-as-gp.cc: ...here.
32146 * config/nds32/nds32-intrinsic.c: Moved to...
32147 * config/nds32/nds32-intrinsic.cc: ...here.
32148 * config/nds32/nds32-isr.c: Moved to...
32149 * config/nds32/nds32-isr.cc: ...here.
32150 * config/nds32/nds32-md-auxiliary.c: Moved to...
32151 * config/nds32/nds32-md-auxiliary.cc: ...here.
32152 * config/nds32/nds32-memory-manipulation.c: Moved to...
32153 * config/nds32/nds32-memory-manipulation.cc: ...here.
32154 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
32155 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
32156 * config/nds32/nds32-predicates.c: Moved to...
32157 * config/nds32/nds32-predicates.cc: ...here.
32158 * config/nds32/nds32-relax-opt.c: Moved to...
32159 * config/nds32/nds32-relax-opt.cc: ...here.
32160 * config/nds32/nds32-utils.c: Moved to...
32161 * config/nds32/nds32-utils.cc: ...here.
32162 * config/nds32/nds32.c: Moved to...
32163 * config/nds32/nds32.cc: ...here.
32164 * config/netbsd-d.c: Moved to...
32165 * config/netbsd-d.cc: ...here.
32166 * config/netbsd.c: Moved to...
32167 * config/netbsd.cc: ...here.
32168 * config/nios2/nios2.c: Moved to...
32169 * config/nios2/nios2.cc: ...here.
32170 * config/nvptx/mkoffload.c: Moved to...
32171 * config/nvptx/mkoffload.cc: ...here.
32172 * config/nvptx/nvptx-c.c: Moved to...
32173 * config/nvptx/nvptx-c.cc: ...here.
32174 * config/nvptx/nvptx.c: Moved to...
32175 * config/nvptx/nvptx.cc: ...here.
32176 * config/openbsd-d.c: Moved to...
32177 * config/openbsd-d.cc: ...here.
32178 * config/or1k/or1k.c: Moved to...
32179 * config/or1k/or1k.cc: ...here.
32180 * config/pa/pa-d.c: Moved to...
32181 * config/pa/pa-d.cc: ...here.
32182 * config/pa/pa.c: Moved to...
32183 * config/pa/pa.cc: ...here.
32184 * config/pdp11/pdp11.c: Moved to...
32185 * config/pdp11/pdp11.cc: ...here.
32186 * config/pru/pru-passes.c: Moved to...
32187 * config/pru/pru-passes.cc: ...here.
32188 * config/pru/pru-pragma.c: Moved to...
32189 * config/pru/pru-pragma.cc: ...here.
32190 * config/pru/pru.c: Moved to...
32191 * config/pru/pru.cc: ...here.
32192 * config/riscv/riscv-builtins.c: Moved to...
32193 * config/riscv/riscv-builtins.cc: ...here.
32194 * config/riscv/riscv-c.c: Moved to...
32195 * config/riscv/riscv-c.cc: ...here.
32196 * config/riscv/riscv-d.c: Moved to...
32197 * config/riscv/riscv-d.cc: ...here.
32198 * config/riscv/riscv-shorten-memrefs.c: Moved to...
32199 * config/riscv/riscv-shorten-memrefs.cc: ...here.
32200 * config/riscv/riscv-sr.c: Moved to...
32201 * config/riscv/riscv-sr.cc: ...here.
32202 * config/riscv/riscv.c: Moved to...
32203 * config/riscv/riscv.cc: ...here.
32204 * config/rl78/rl78-c.c: Moved to...
32205 * config/rl78/rl78-c.cc: ...here.
32206 * config/rl78/rl78.c: Moved to...
32207 * config/rl78/rl78.cc: ...here.
32208 * config/rs6000/driver-rs6000.c: Moved to...
32209 * config/rs6000/driver-rs6000.cc: ...here.
32210 * config/rs6000/host-darwin.c: Moved to...
32211 * config/rs6000/host-darwin.cc: ...here.
32212 * config/rs6000/host-ppc64-darwin.c: Moved to...
32213 * config/rs6000/host-ppc64-darwin.cc: ...here.
32214 * config/rs6000/rbtree.c: Moved to...
32215 * config/rs6000/rbtree.cc: ...here.
32216 * config/rs6000/rs6000-c.c: Moved to...
32217 * config/rs6000/rs6000-c.cc: ...here.
32218 * config/rs6000/rs6000-call.c: Moved to...
32219 * config/rs6000/rs6000-call.cc: ...here.
32220 * config/rs6000/rs6000-d.c: Moved to...
32221 * config/rs6000/rs6000-d.cc: ...here.
32222 * config/rs6000/rs6000-gen-builtins.c: Moved to...
32223 * config/rs6000/rs6000-gen-builtins.cc: ...here.
32224 * config/rs6000/rs6000-linux.c: Moved to...
32225 * config/rs6000/rs6000-linux.cc: ...here.
32226 * config/rs6000/rs6000-logue.c: Moved to...
32227 * config/rs6000/rs6000-logue.cc: ...here.
32228 * config/rs6000/rs6000-p8swap.c: Moved to...
32229 * config/rs6000/rs6000-p8swap.cc: ...here.
32230 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
32231 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
32232 * config/rs6000/rs6000-string.c: Moved to...
32233 * config/rs6000/rs6000-string.cc: ...here.
32234 * config/rs6000/rs6000.c: Moved to...
32235 * config/rs6000/rs6000.cc: ...here.
32236 * config/rx/rx.c: Moved to...
32237 * config/rx/rx.cc: ...here.
32238 * config/s390/driver-native.c: Moved to...
32239 * config/s390/driver-native.cc: ...here.
32240 * config/s390/s390-c.c: Moved to...
32241 * config/s390/s390-c.cc: ...here.
32242 * config/s390/s390-d.c: Moved to...
32243 * config/s390/s390-d.cc: ...here.
32244 * config/s390/s390.c: Moved to...
32245 * config/s390/s390.cc: ...here.
32246 * config/sh/divtab-sh4-300.c: Moved to...
32247 * config/sh/divtab-sh4-300.cc: ...here.
32248 * config/sh/divtab-sh4.c: Moved to...
32249 * config/sh/divtab-sh4.cc: ...here.
32250 * config/sh/divtab.c: Moved to...
32251 * config/sh/divtab.cc: ...here.
32252 * config/sh/sh-c.c: Moved to...
32253 * config/sh/sh-c.cc: ...here.
32254 * config/sh/sh.c: Moved to...
32255 * config/sh/sh.cc: ...here.
32256 * config/sol2-c.c: Moved to...
32257 * config/sol2-c.cc: ...here.
32258 * config/sol2-cxx.c: Moved to...
32259 * config/sol2-cxx.cc: ...here.
32260 * config/sol2-d.c: Moved to...
32261 * config/sol2-d.cc: ...here.
32262 * config/sol2-stubs.c: Moved to...
32263 * config/sol2-stubs.cc: ...here.
32264 * config/sol2.c: Moved to...
32265 * config/sol2.cc: ...here.
32266 * config/sparc/driver-sparc.c: Moved to...
32267 * config/sparc/driver-sparc.cc: ...here.
32268 * config/sparc/sparc-c.c: Moved to...
32269 * config/sparc/sparc-c.cc: ...here.
32270 * config/sparc/sparc-d.c: Moved to...
32271 * config/sparc/sparc-d.cc: ...here.
32272 * config/sparc/sparc.c: Moved to...
32273 * config/sparc/sparc.cc: ...here.
32274 * config/stormy16/stormy16.c: Moved to...
32275 * config/stormy16/stormy16.cc: ...here.
32276 * config/tilegx/mul-tables.c: Moved to...
32277 * config/tilegx/mul-tables.cc: ...here.
32278 * config/tilegx/tilegx-c.c: Moved to...
32279 * config/tilegx/tilegx-c.cc: ...here.
32280 * config/tilegx/tilegx.c: Moved to...
32281 * config/tilegx/tilegx.cc: ...here.
32282 * config/tilepro/mul-tables.c: Moved to...
32283 * config/tilepro/mul-tables.cc: ...here.
32284 * config/tilepro/tilepro-c.c: Moved to...
32285 * config/tilepro/tilepro-c.cc: ...here.
32286 * config/tilepro/tilepro.c: Moved to...
32287 * config/tilepro/tilepro.cc: ...here.
32288 * config/v850/v850-c.c: Moved to...
32289 * config/v850/v850-c.cc: ...here.
32290 * config/v850/v850.c: Moved to...
32291 * config/v850/v850.cc: ...here.
32292 * config/vax/vax.c: Moved to...
32293 * config/vax/vax.cc: ...here.
32294 * config/visium/visium.c: Moved to...
32295 * config/visium/visium.cc: ...here.
32296 * config/vms/vms-c.c: Moved to...
32297 * config/vms/vms-c.cc: ...here.
32298 * config/vms/vms-f.c: Moved to...
32299 * config/vms/vms-f.cc: ...here.
32300 * config/vms/vms.c: Moved to...
32301 * config/vms/vms.cc: ...here.
32302 * config/vxworks-c.c: Moved to...
32303 * config/vxworks-c.cc: ...here.
32304 * config/vxworks.c: Moved to...
32305 * config/vxworks.cc: ...here.
32306 * config/winnt-c.c: Moved to...
32307 * config/winnt-c.cc: ...here.
32308 * config/xtensa/xtensa.c: Moved to...
32309 * config/xtensa/xtensa.cc: ...here.
32310 * context.c: Moved to...
32311 * context.cc: ...here.
32312 * convert.c: Moved to...
32313 * convert.cc: ...here.
32314 * coverage.c: Moved to...
32315 * coverage.cc: ...here.
32316 * cppbuiltin.c: Moved to...
32317 * cppbuiltin.cc: ...here.
32318 * cppdefault.c: Moved to...
32319 * cppdefault.cc: ...here.
32320 * cprop.c: Moved to...
32321 * cprop.cc: ...here.
32322 * cse.c: Moved to...
32323 * cse.cc: ...here.
32324 * cselib.c: Moved to...
32325 * cselib.cc: ...here.
32326 * ctfc.c: Moved to...
32327 * ctfc.cc: ...here.
32328 * ctfout.c: Moved to...
32329 * ctfout.cc: ...here.
32330 * data-streamer-in.c: Moved to...
32331 * data-streamer-in.cc: ...here.
32332 * data-streamer-out.c: Moved to...
32333 * data-streamer-out.cc: ...here.
32334 * data-streamer.c: Moved to...
32335 * data-streamer.cc: ...here.
32336 * dbgcnt.c: Moved to...
32337 * dbgcnt.cc: ...here.
32338 * dbxout.c: Moved to...
32339 * dbxout.cc: ...here.
32340 * dce.c: Moved to...
32341 * dce.cc: ...here.
32342 * ddg.c: Moved to...
32343 * ddg.cc: ...here.
32344 * debug.c: Moved to...
32345 * debug.cc: ...here.
32346 * df-core.c: Moved to...
32347 * df-core.cc: ...here.
32348 * df-problems.c: Moved to...
32349 * df-problems.cc: ...here.
32350 * df-scan.c: Moved to...
32351 * df-scan.cc: ...here.
32352 * dfp.c: Moved to...
32353 * dfp.cc: ...here.
32354 * diagnostic-color.c: Moved to...
32355 * diagnostic-color.cc: ...here.
32356 * diagnostic-show-locus.c: Moved to...
32357 * diagnostic-show-locus.cc: ...here.
32358 * diagnostic-spec.c: Moved to...
32359 * diagnostic-spec.cc: ...here.
32360 * diagnostic.c: Moved to...
32361 * diagnostic.cc: ...here.
32362 * dojump.c: Moved to...
32363 * dojump.cc: ...here.
32364 * dominance.c: Moved to...
32365 * dominance.cc: ...here.
32366 * domwalk.c: Moved to...
32367 * domwalk.cc: ...here.
32368 * double-int.c: Moved to...
32369 * double-int.cc: ...here.
32370 * dse.c: Moved to...
32371 * dse.cc: ...here.
32372 * dumpfile.c: Moved to...
32373 * dumpfile.cc: ...here.
32374 * dwarf2asm.c: Moved to...
32375 * dwarf2asm.cc: ...here.
32376 * dwarf2cfi.c: Moved to...
32377 * dwarf2cfi.cc: ...here.
32378 * dwarf2ctf.c: Moved to...
32379 * dwarf2ctf.cc: ...here.
32380 * dwarf2out.c: Moved to...
32381 * dwarf2out.cc: ...here.
32382 * early-remat.c: Moved to...
32383 * early-remat.cc: ...here.
32384 * edit-context.c: Moved to...
32385 * edit-context.cc: ...here.
32386 * emit-rtl.c: Moved to...
32387 * emit-rtl.cc: ...here.
32388 * errors.c: Moved to...
32389 * errors.cc: ...here.
32390 * et-forest.c: Moved to...
32391 * et-forest.cc: ...here.
32392 * except.c: Moved to...
32393 * except.cc: ...here.
32394 * explow.c: Moved to...
32395 * explow.cc: ...here.
32396 * expmed.c: Moved to...
32397 * expmed.cc: ...here.
32398 * expr.c: Moved to...
32399 * expr.cc: ...here.
32400 * fibonacci_heap.c: Moved to...
32401 * fibonacci_heap.cc: ...here.
32402 * file-find.c: Moved to...
32403 * file-find.cc: ...here.
32404 * file-prefix-map.c: Moved to...
32405 * file-prefix-map.cc: ...here.
32406 * final.c: Moved to...
32407 * final.cc: ...here.
32408 * fixed-value.c: Moved to...
32409 * fixed-value.cc: ...here.
32410 * fold-const-call.c: Moved to...
32411 * fold-const-call.cc: ...here.
32412 * fold-const.c: Moved to...
32413 * fold-const.cc: ...here.
32414 * fp-test.c: Moved to...
32415 * fp-test.cc: ...here.
32416 * function-tests.c: Moved to...
32417 * function-tests.cc: ...here.
32418 * function.c: Moved to...
32419 * function.cc: ...here.
32420 * fwprop.c: Moved to...
32421 * fwprop.cc: ...here.
32422 * gcc-ar.c: Moved to...
32423 * gcc-ar.cc: ...here.
32424 * gcc-main.c: Moved to...
32425 * gcc-main.cc: ...here.
32426 * gcc-rich-location.c: Moved to...
32427 * gcc-rich-location.cc: ...here.
32428 * gcc.c: Moved to...
32429 * gcc.cc: ...here.
32430 * gcov-dump.c: Moved to...
32431 * gcov-dump.cc: ...here.
32432 * gcov-io.c: Moved to...
32433 * gcov-io.cc: ...here.
32434 * gcov-tool.c: Moved to...
32435 * gcov-tool.cc: ...here.
32436 * gcov.c: Moved to...
32437 * gcov.cc: ...here.
32438 * gcse-common.c: Moved to...
32439 * gcse-common.cc: ...here.
32440 * gcse.c: Moved to...
32441 * gcse.cc: ...here.
32442 * genattr-common.c: Moved to...
32443 * genattr-common.cc: ...here.
32444 * genattr.c: Moved to...
32445 * genattr.cc: ...here.
32446 * genattrtab.c: Moved to...
32447 * genattrtab.cc: ...here.
32448 * genautomata.c: Moved to...
32449 * genautomata.cc: ...here.
32450 * gencfn-macros.c: Moved to...
32451 * gencfn-macros.cc: ...here.
32452 * gencheck.c: Moved to...
32453 * gencheck.cc: ...here.
32454 * genchecksum.c: Moved to...
32455 * genchecksum.cc: ...here.
32456 * gencodes.c: Moved to...
32457 * gencodes.cc: ...here.
32458 * genconditions.c: Moved to...
32459 * genconditions.cc: ...here.
32460 * genconfig.c: Moved to...
32461 * genconfig.cc: ...here.
32462 * genconstants.c: Moved to...
32463 * genconstants.cc: ...here.
32464 * genemit.c: Moved to...
32465 * genemit.cc: ...here.
32466 * genenums.c: Moved to...
32467 * genenums.cc: ...here.
32468 * generic-match-head.c: Moved to...
32469 * generic-match-head.cc: ...here.
32470 * genextract.c: Moved to...
32471 * genextract.cc: ...here.
32472 * genflags.c: Moved to...
32473 * genflags.cc: ...here.
32474 * gengenrtl.c: Moved to...
32475 * gengenrtl.cc: ...here.
32476 * gengtype-parse.c: Moved to...
32477 * gengtype-parse.cc: ...here.
32478 * gengtype-state.c: Moved to...
32479 * gengtype-state.cc: ...here.
32480 * gengtype.c: Moved to...
32481 * gengtype.cc: ...here.
32482 * genhooks.c: Moved to...
32483 * genhooks.cc: ...here.
32484 * genmatch.c: Moved to...
32485 * genmatch.cc: ...here.
32486 * genmddeps.c: Moved to...
32487 * genmddeps.cc: ...here.
32488 * genmddump.c: Moved to...
32489 * genmddump.cc: ...here.
32490 * genmodes.c: Moved to...
32491 * genmodes.cc: ...here.
32492 * genopinit.c: Moved to...
32493 * genopinit.cc: ...here.
32494 * genoutput.c: Moved to...
32495 * genoutput.cc: ...here.
32496 * genpeep.c: Moved to...
32497 * genpeep.cc: ...here.
32498 * genpreds.c: Moved to...
32499 * genpreds.cc: ...here.
32500 * genrecog.c: Moved to...
32501 * genrecog.cc: ...here.
32502 * gensupport.c: Moved to...
32503 * gensupport.cc: ...here.
32504 * gentarget-def.c: Moved to...
32505 * gentarget-def.cc: ...here.
32506 * genversion.c: Moved to...
32507 * genversion.cc: ...here.
32508 * ggc-common.c: Moved to...
32509 * ggc-common.cc: ...here.
32510 * ggc-none.c: Moved to...
32511 * ggc-none.cc: ...here.
32512 * ggc-page.c: Moved to...
32513 * ggc-page.cc: ...here.
32514 * ggc-tests.c: Moved to...
32515 * ggc-tests.cc: ...here.
32516 * gimple-builder.c: Moved to...
32517 * gimple-builder.cc: ...here.
32518 * gimple-expr.c: Moved to...
32519 * gimple-expr.cc: ...here.
32520 * gimple-fold.c: Moved to...
32521 * gimple-fold.cc: ...here.
32522 * gimple-iterator.c: Moved to...
32523 * gimple-iterator.cc: ...here.
32524 * gimple-laddress.c: Moved to...
32525 * gimple-laddress.cc: ...here.
32526 * gimple-loop-jam.c: Moved to...
32527 * gimple-loop-jam.cc: ...here.
32528 * gimple-low.c: Moved to...
32529 * gimple-low.cc: ...here.
32530 * gimple-match-head.c: Moved to...
32531 * gimple-match-head.cc: ...here.
32532 * gimple-pretty-print.c: Moved to...
32533 * gimple-pretty-print.cc: ...here.
32534 * gimple-ssa-backprop.c: Moved to...
32535 * gimple-ssa-backprop.cc: ...here.
32536 * gimple-ssa-evrp-analyze.c: Moved to...
32537 * gimple-ssa-evrp-analyze.cc: ...here.
32538 * gimple-ssa-evrp.c: Moved to...
32539 * gimple-ssa-evrp.cc: ...here.
32540 * gimple-ssa-isolate-paths.c: Moved to...
32541 * gimple-ssa-isolate-paths.cc: ...here.
32542 * gimple-ssa-nonnull-compare.c: Moved to...
32543 * gimple-ssa-nonnull-compare.cc: ...here.
32544 * gimple-ssa-split-paths.c: Moved to...
32545 * gimple-ssa-split-paths.cc: ...here.
32546 * gimple-ssa-sprintf.c: Moved to...
32547 * gimple-ssa-sprintf.cc: ...here.
32548 * gimple-ssa-store-merging.c: Moved to...
32549 * gimple-ssa-store-merging.cc: ...here.
32550 * gimple-ssa-strength-reduction.c: Moved to...
32551 * gimple-ssa-strength-reduction.cc: ...here.
32552 * gimple-ssa-warn-alloca.c: Moved to...
32553 * gimple-ssa-warn-alloca.cc: ...here.
32554 * gimple-ssa-warn-restrict.c: Moved to...
32555 * gimple-ssa-warn-restrict.cc: ...here.
32556 * gimple-streamer-in.c: Moved to...
32557 * gimple-streamer-in.cc: ...here.
32558 * gimple-streamer-out.c: Moved to...
32559 * gimple-streamer-out.cc: ...here.
32560 * gimple-walk.c: Moved to...
32561 * gimple-walk.cc: ...here.
32562 * gimple-warn-recursion.c: Moved to...
32563 * gimple-warn-recursion.cc: ...here.
32564 * gimple.c: Moved to...
32565 * gimple.cc: ...here.
32566 * gimplify-me.c: Moved to...
32567 * gimplify-me.cc: ...here.
32568 * gimplify.c: Moved to...
32569 * gimplify.cc: ...here.
32570 * godump.c: Moved to...
32571 * godump.cc: ...here.
32572 * graph.c: Moved to...
32573 * graph.cc: ...here.
32574 * graphds.c: Moved to...
32575 * graphds.cc: ...here.
32576 * graphite-dependences.c: Moved to...
32577 * graphite-dependences.cc: ...here.
32578 * graphite-isl-ast-to-gimple.c: Moved to...
32579 * graphite-isl-ast-to-gimple.cc: ...here.
32580 * graphite-optimize-isl.c: Moved to...
32581 * graphite-optimize-isl.cc: ...here.
32582 * graphite-poly.c: Moved to...
32583 * graphite-poly.cc: ...here.
32584 * graphite-scop-detection.c: Moved to...
32585 * graphite-scop-detection.cc: ...here.
32586 * graphite-sese-to-poly.c: Moved to...
32587 * graphite-sese-to-poly.cc: ...here.
32588 * graphite.c: Moved to...
32589 * graphite.cc: ...here.
32590 * haifa-sched.c: Moved to...
32591 * haifa-sched.cc: ...here.
32592 * hash-map-tests.c: Moved to...
32593 * hash-map-tests.cc: ...here.
32594 * hash-set-tests.c: Moved to...
32595 * hash-set-tests.cc: ...here.
32596 * hash-table.c: Moved to...
32597 * hash-table.cc: ...here.
32598 * hooks.c: Moved to...
32599 * hooks.cc: ...here.
32600 * host-default.c: Moved to...
32601 * host-default.cc: ...here.
32602 * hw-doloop.c: Moved to...
32603 * hw-doloop.cc: ...here.
32604 * hwint.c: Moved to...
32605 * hwint.cc: ...here.
32606 * ifcvt.c: Moved to...
32607 * ifcvt.cc: ...here.
32608 * inchash.c: Moved to...
32609 * inchash.cc: ...here.
32610 * incpath.c: Moved to...
32611 * incpath.cc: ...here.
32612 * init-regs.c: Moved to...
32613 * init-regs.cc: ...here.
32614 * input.c: Moved to...
32615 * input.cc: ...here.
32616 * internal-fn.c: Moved to...
32617 * internal-fn.cc: ...here.
32618 * intl.c: Moved to...
32619 * intl.cc: ...here.
32620 * ipa-comdats.c: Moved to...
32621 * ipa-comdats.cc: ...here.
32622 * ipa-cp.c: Moved to...
32623 * ipa-cp.cc: ...here.
32624 * ipa-devirt.c: Moved to...
32625 * ipa-devirt.cc: ...here.
32626 * ipa-fnsummary.c: Moved to...
32627 * ipa-fnsummary.cc: ...here.
32628 * ipa-icf-gimple.c: Moved to...
32629 * ipa-icf-gimple.cc: ...here.
32630 * ipa-icf.c: Moved to...
32631 * ipa-icf.cc: ...here.
32632 * ipa-inline-analysis.c: Moved to...
32633 * ipa-inline-analysis.cc: ...here.
32634 * ipa-inline-transform.c: Moved to...
32635 * ipa-inline-transform.cc: ...here.
32636 * ipa-inline.c: Moved to...
32637 * ipa-inline.cc: ...here.
32638 * ipa-modref-tree.c: Moved to...
32639 * ipa-modref-tree.cc: ...here.
32640 * ipa-modref.c: Moved to...
32641 * ipa-modref.cc: ...here.
32642 * ipa-param-manipulation.c: Moved to...
32643 * ipa-param-manipulation.cc: ...here.
32644 * ipa-polymorphic-call.c: Moved to...
32645 * ipa-polymorphic-call.cc: ...here.
32646 * ipa-predicate.c: Moved to...
32647 * ipa-predicate.cc: ...here.
32648 * ipa-profile.c: Moved to...
32649 * ipa-profile.cc: ...here.
32650 * ipa-prop.c: Moved to...
32651 * ipa-prop.cc: ...here.
32652 * ipa-pure-const.c: Moved to...
32653 * ipa-pure-const.cc: ...here.
32654 * ipa-ref.c: Moved to...
32655 * ipa-ref.cc: ...here.
32656 * ipa-reference.c: Moved to...
32657 * ipa-reference.cc: ...here.
32658 * ipa-split.c: Moved to...
32659 * ipa-split.cc: ...here.
32660 * ipa-sra.c: Moved to...
32661 * ipa-sra.cc: ...here.
32662 * ipa-utils.c: Moved to...
32663 * ipa-utils.cc: ...here.
32664 * ipa-visibility.c: Moved to...
32665 * ipa-visibility.cc: ...here.
32666 * ipa.c: Moved to...
32667 * ipa.cc: ...here.
32668 * ira-build.c: Moved to...
32669 * ira-build.cc: ...here.
32670 * ira-color.c: Moved to...
32671 * ira-color.cc: ...here.
32672 * ira-conflicts.c: Moved to...
32673 * ira-conflicts.cc: ...here.
32674 * ira-costs.c: Moved to...
32675 * ira-costs.cc: ...here.
32676 * ira-emit.c: Moved to...
32677 * ira-emit.cc: ...here.
32678 * ira-lives.c: Moved to...
32679 * ira-lives.cc: ...here.
32680 * ira.c: Moved to...
32681 * ira.cc: ...here.
32682 * jump.c: Moved to...
32683 * jump.cc: ...here.
32684 * langhooks.c: Moved to...
32685 * langhooks.cc: ...here.
32686 * lcm.c: Moved to...
32687 * lcm.cc: ...here.
32688 * lists.c: Moved to...
32689 * lists.cc: ...here.
32690 * loop-doloop.c: Moved to...
32691 * loop-doloop.cc: ...here.
32692 * loop-init.c: Moved to...
32693 * loop-init.cc: ...here.
32694 * loop-invariant.c: Moved to...
32695 * loop-invariant.cc: ...here.
32696 * loop-iv.c: Moved to...
32697 * loop-iv.cc: ...here.
32698 * loop-unroll.c: Moved to...
32699 * loop-unroll.cc: ...here.
32700 * lower-subreg.c: Moved to...
32701 * lower-subreg.cc: ...here.
32702 * lra-assigns.c: Moved to...
32703 * lra-assigns.cc: ...here.
32704 * lra-coalesce.c: Moved to...
32705 * lra-coalesce.cc: ...here.
32706 * lra-constraints.c: Moved to...
32707 * lra-constraints.cc: ...here.
32708 * lra-eliminations.c: Moved to...
32709 * lra-eliminations.cc: ...here.
32710 * lra-lives.c: Moved to...
32711 * lra-lives.cc: ...here.
32712 * lra-remat.c: Moved to...
32713 * lra-remat.cc: ...here.
32714 * lra-spills.c: Moved to...
32715 * lra-spills.cc: ...here.
32716 * lra.c: Moved to...
32717 * lra.cc: ...here.
32718 * lto-cgraph.c: Moved to...
32719 * lto-cgraph.cc: ...here.
32720 * lto-compress.c: Moved to...
32721 * lto-compress.cc: ...here.
32722 * lto-opts.c: Moved to...
32723 * lto-opts.cc: ...here.
32724 * lto-section-in.c: Moved to...
32725 * lto-section-in.cc: ...here.
32726 * lto-section-out.c: Moved to...
32727 * lto-section-out.cc: ...here.
32728 * lto-streamer-in.c: Moved to...
32729 * lto-streamer-in.cc: ...here.
32730 * lto-streamer-out.c: Moved to...
32731 * lto-streamer-out.cc: ...here.
32732 * lto-streamer.c: Moved to...
32733 * lto-streamer.cc: ...here.
32734 * lto-wrapper.c: Moved to...
32735 * lto-wrapper.cc: ...here.
32736 * main.c: Moved to...
32737 * main.cc: ...here.
32738 * mcf.c: Moved to...
32739 * mcf.cc: ...here.
32740 * mode-switching.c: Moved to...
32741 * mode-switching.cc: ...here.
32742 * modulo-sched.c: Moved to...
32743 * modulo-sched.cc: ...here.
32744 * multiple_target.c: Moved to...
32745 * multiple_target.cc: ...here.
32746 * omp-expand.c: Moved to...
32747 * omp-expand.cc: ...here.
32748 * omp-general.c: Moved to...
32749 * omp-general.cc: ...here.
32750 * omp-low.c: Moved to...
32751 * omp-low.cc: ...here.
32752 * omp-offload.c: Moved to...
32753 * omp-offload.cc: ...here.
32754 * omp-simd-clone.c: Moved to...
32755 * omp-simd-clone.cc: ...here.
32756 * opt-suggestions.c: Moved to...
32757 * opt-suggestions.cc: ...here.
32758 * optabs-libfuncs.c: Moved to...
32759 * optabs-libfuncs.cc: ...here.
32760 * optabs-query.c: Moved to...
32761 * optabs-query.cc: ...here.
32762 * optabs-tree.c: Moved to...
32763 * optabs-tree.cc: ...here.
32764 * optabs.c: Moved to...
32765 * optabs.cc: ...here.
32766 * opts-common.c: Moved to...
32767 * opts-common.cc: ...here.
32768 * opts-global.c: Moved to...
32769 * opts-global.cc: ...here.
32770 * opts.c: Moved to...
32771 * opts.cc: ...here.
32772 * passes.c: Moved to...
32773 * passes.cc: ...here.
32774 * plugin.c: Moved to...
32775 * plugin.cc: ...here.
32776 * postreload-gcse.c: Moved to...
32777 * postreload-gcse.cc: ...here.
32778 * postreload.c: Moved to...
32779 * postreload.cc: ...here.
32780 * predict.c: Moved to...
32781 * predict.cc: ...here.
32782 * prefix.c: Moved to...
32783 * prefix.cc: ...here.
32784 * pretty-print.c: Moved to...
32785 * pretty-print.cc: ...here.
32786 * print-rtl-function.c: Moved to...
32787 * print-rtl-function.cc: ...here.
32788 * print-rtl.c: Moved to...
32789 * print-rtl.cc: ...here.
32790 * print-tree.c: Moved to...
32791 * print-tree.cc: ...here.
32792 * profile-count.c: Moved to...
32793 * profile-count.cc: ...here.
32794 * profile.c: Moved to...
32795 * profile.cc: ...here.
32796 * read-md.c: Moved to...
32797 * read-md.cc: ...here.
32798 * read-rtl-function.c: Moved to...
32799 * read-rtl-function.cc: ...here.
32800 * read-rtl.c: Moved to...
32801 * read-rtl.cc: ...here.
32802 * real.c: Moved to...
32803 * real.cc: ...here.
32804 * realmpfr.c: Moved to...
32805 * realmpfr.cc: ...here.
32806 * recog.c: Moved to...
32807 * recog.cc: ...here.
32808 * ree.c: Moved to...
32809 * ree.cc: ...here.
32810 * reg-stack.c: Moved to...
32811 * reg-stack.cc: ...here.
32812 * regcprop.c: Moved to...
32813 * regcprop.cc: ...here.
32814 * reginfo.c: Moved to...
32815 * reginfo.cc: ...here.
32816 * regrename.c: Moved to...
32817 * regrename.cc: ...here.
32818 * regstat.c: Moved to...
32819 * regstat.cc: ...here.
32820 * reload.c: Moved to...
32821 * reload.cc: ...here.
32822 * reload1.c: Moved to...
32823 * reload1.cc: ...here.
32824 * reorg.c: Moved to...
32825 * reorg.cc: ...here.
32826 * resource.c: Moved to...
32827 * resource.cc: ...here.
32828 * rtl-error.c: Moved to...
32829 * rtl-error.cc: ...here.
32830 * rtl-tests.c: Moved to...
32831 * rtl-tests.cc: ...here.
32832 * rtl.c: Moved to...
32833 * rtl.cc: ...here.
32834 * rtlanal.c: Moved to...
32835 * rtlanal.cc: ...here.
32836 * rtlhash.c: Moved to...
32837 * rtlhash.cc: ...here.
32838 * rtlhooks.c: Moved to...
32839 * rtlhooks.cc: ...here.
32840 * rtx-vector-builder.c: Moved to...
32841 * rtx-vector-builder.cc: ...here.
32842 * run-rtl-passes.c: Moved to...
32843 * run-rtl-passes.cc: ...here.
32844 * sancov.c: Moved to...
32845 * sancov.cc: ...here.
32846 * sanopt.c: Moved to...
32847 * sanopt.cc: ...here.
32848 * sbitmap.c: Moved to...
32849 * sbitmap.cc: ...here.
32850 * sched-deps.c: Moved to...
32851 * sched-deps.cc: ...here.
32852 * sched-ebb.c: Moved to...
32853 * sched-ebb.cc: ...here.
32854 * sched-rgn.c: Moved to...
32855 * sched-rgn.cc: ...here.
32856 * sel-sched-dump.c: Moved to...
32857 * sel-sched-dump.cc: ...here.
32858 * sel-sched-ir.c: Moved to...
32859 * sel-sched-ir.cc: ...here.
32860 * sel-sched.c: Moved to...
32861 * sel-sched.cc: ...here.
32862 * selftest-diagnostic.c: Moved to...
32863 * selftest-diagnostic.cc: ...here.
32864 * selftest-rtl.c: Moved to...
32865 * selftest-rtl.cc: ...here.
32866 * selftest-run-tests.c: Moved to...
32867 * selftest-run-tests.cc: ...here.
32868 * selftest.c: Moved to...
32869 * selftest.cc: ...here.
32870 * sese.c: Moved to...
32871 * sese.cc: ...here.
32872 * shrink-wrap.c: Moved to...
32873 * shrink-wrap.cc: ...here.
32874 * simplify-rtx.c: Moved to...
32875 * simplify-rtx.cc: ...here.
32876 * sparseset.c: Moved to...
32877 * sparseset.cc: ...here.
32878 * spellcheck-tree.c: Moved to...
32879 * spellcheck-tree.cc: ...here.
32880 * spellcheck.c: Moved to...
32881 * spellcheck.cc: ...here.
32882 * sreal.c: Moved to...
32883 * sreal.cc: ...here.
32884 * stack-ptr-mod.c: Moved to...
32885 * stack-ptr-mod.cc: ...here.
32886 * statistics.c: Moved to...
32887 * statistics.cc: ...here.
32888 * stmt.c: Moved to...
32889 * stmt.cc: ...here.
32890 * stor-layout.c: Moved to...
32891 * stor-layout.cc: ...here.
32892 * store-motion.c: Moved to...
32893 * store-motion.cc: ...here.
32894 * streamer-hooks.c: Moved to...
32895 * streamer-hooks.cc: ...here.
32896 * stringpool.c: Moved to...
32897 * stringpool.cc: ...here.
32898 * substring-locations.c: Moved to...
32899 * substring-locations.cc: ...here.
32900 * symtab.c: Moved to...
32901 * symtab.cc: ...here.
32902 * target-globals.c: Moved to...
32903 * target-globals.cc: ...here.
32904 * targhooks.c: Moved to...
32905 * targhooks.cc: ...here.
32906 * timevar.c: Moved to...
32907 * timevar.cc: ...here.
32908 * toplev.c: Moved to...
32909 * toplev.cc: ...here.
32910 * tracer.c: Moved to...
32911 * tracer.cc: ...here.
32912 * trans-mem.c: Moved to...
32913 * trans-mem.cc: ...here.
32914 * tree-affine.c: Moved to...
32915 * tree-affine.cc: ...here.
32916 * tree-call-cdce.c: Moved to...
32917 * tree-call-cdce.cc: ...here.
32918 * tree-cfg.c: Moved to...
32919 * tree-cfg.cc: ...here.
32920 * tree-cfgcleanup.c: Moved to...
32921 * tree-cfgcleanup.cc: ...here.
32922 * tree-chrec.c: Moved to...
32923 * tree-chrec.cc: ...here.
32924 * tree-complex.c: Moved to...
32925 * tree-complex.cc: ...here.
32926 * tree-data-ref.c: Moved to...
32927 * tree-data-ref.cc: ...here.
32928 * tree-dfa.c: Moved to...
32929 * tree-dfa.cc: ...here.
32930 * tree-diagnostic.c: Moved to...
32931 * tree-diagnostic.cc: ...here.
32932 * tree-dump.c: Moved to...
32933 * tree-dump.cc: ...here.
32934 * tree-eh.c: Moved to...
32935 * tree-eh.cc: ...here.
32936 * tree-emutls.c: Moved to...
32937 * tree-emutls.cc: ...here.
32938 * tree-if-conv.c: Moved to...
32939 * tree-if-conv.cc: ...here.
32940 * tree-inline.c: Moved to...
32941 * tree-inline.cc: ...here.
32942 * tree-into-ssa.c: Moved to...
32943 * tree-into-ssa.cc: ...here.
32944 * tree-iterator.c: Moved to...
32945 * tree-iterator.cc: ...here.
32946 * tree-loop-distribution.c: Moved to...
32947 * tree-loop-distribution.cc: ...here.
32948 * tree-nested.c: Moved to...
32949 * tree-nested.cc: ...here.
32950 * tree-nrv.c: Moved to...
32951 * tree-nrv.cc: ...here.
32952 * tree-object-size.c: Moved to...
32953 * tree-object-size.cc: ...here.
32954 * tree-outof-ssa.c: Moved to...
32955 * tree-outof-ssa.cc: ...here.
32956 * tree-parloops.c: Moved to...
32957 * tree-parloops.cc: ...here.
32958 * tree-phinodes.c: Moved to...
32959 * tree-phinodes.cc: ...here.
32960 * tree-predcom.c: Moved to...
32961 * tree-predcom.cc: ...here.
32962 * tree-pretty-print.c: Moved to...
32963 * tree-pretty-print.cc: ...here.
32964 * tree-profile.c: Moved to...
32965 * tree-profile.cc: ...here.
32966 * tree-scalar-evolution.c: Moved to...
32967 * tree-scalar-evolution.cc: ...here.
32968 * tree-sra.c: Moved to...
32969 * tree-sra.cc: ...here.
32970 * tree-ssa-address.c: Moved to...
32971 * tree-ssa-address.cc: ...here.
32972 * tree-ssa-alias.c: Moved to...
32973 * tree-ssa-alias.cc: ...here.
32974 * tree-ssa-ccp.c: Moved to...
32975 * tree-ssa-ccp.cc: ...here.
32976 * tree-ssa-coalesce.c: Moved to...
32977 * tree-ssa-coalesce.cc: ...here.
32978 * tree-ssa-copy.c: Moved to...
32979 * tree-ssa-copy.cc: ...here.
32980 * tree-ssa-dce.c: Moved to...
32981 * tree-ssa-dce.cc: ...here.
32982 * tree-ssa-dom.c: Moved to...
32983 * tree-ssa-dom.cc: ...here.
32984 * tree-ssa-dse.c: Moved to...
32985 * tree-ssa-dse.cc: ...here.
32986 * tree-ssa-forwprop.c: Moved to...
32987 * tree-ssa-forwprop.cc: ...here.
32988 * tree-ssa-ifcombine.c: Moved to...
32989 * tree-ssa-ifcombine.cc: ...here.
32990 * tree-ssa-live.c: Moved to...
32991 * tree-ssa-live.cc: ...here.
32992 * tree-ssa-loop-ch.c: Moved to...
32993 * tree-ssa-loop-ch.cc: ...here.
32994 * tree-ssa-loop-im.c: Moved to...
32995 * tree-ssa-loop-im.cc: ...here.
32996 * tree-ssa-loop-ivcanon.c: Moved to...
32997 * tree-ssa-loop-ivcanon.cc: ...here.
32998 * tree-ssa-loop-ivopts.c: Moved to...
32999 * tree-ssa-loop-ivopts.cc: ...here.
33000 * tree-ssa-loop-manip.c: Moved to...
33001 * tree-ssa-loop-manip.cc: ...here.
33002 * tree-ssa-loop-niter.c: Moved to...
33003 * tree-ssa-loop-niter.cc: ...here.
33004 * tree-ssa-loop-prefetch.c: Moved to...
33005 * tree-ssa-loop-prefetch.cc: ...here.
33006 * tree-ssa-loop-split.c: Moved to...
33007 * tree-ssa-loop-split.cc: ...here.
33008 * tree-ssa-loop-unswitch.c: Moved to...
33009 * tree-ssa-loop-unswitch.cc: ...here.
33010 * tree-ssa-loop.c: Moved to...
33011 * tree-ssa-loop.cc: ...here.
33012 * tree-ssa-math-opts.c: Moved to...
33013 * tree-ssa-math-opts.cc: ...here.
33014 * tree-ssa-operands.c: Moved to...
33015 * tree-ssa-operands.cc: ...here.
33016 * tree-ssa-phiopt.c: Moved to...
33017 * tree-ssa-phiopt.cc: ...here.
33018 * tree-ssa-phiprop.c: Moved to...
33019 * tree-ssa-phiprop.cc: ...here.
33020 * tree-ssa-pre.c: Moved to...
33021 * tree-ssa-pre.cc: ...here.
33022 * tree-ssa-propagate.c: Moved to...
33023 * tree-ssa-propagate.cc: ...here.
33024 * tree-ssa-reassoc.c: Moved to...
33025 * tree-ssa-reassoc.cc: ...here.
33026 * tree-ssa-sccvn.c: Moved to...
33027 * tree-ssa-sccvn.cc: ...here.
33028 * tree-ssa-scopedtables.c: Moved to...
33029 * tree-ssa-scopedtables.cc: ...here.
33030 * tree-ssa-sink.c: Moved to...
33031 * tree-ssa-sink.cc: ...here.
33032 * tree-ssa-strlen.c: Moved to...
33033 * tree-ssa-strlen.cc: ...here.
33034 * tree-ssa-structalias.c: Moved to...
33035 * tree-ssa-structalias.cc: ...here.
33036 * tree-ssa-tail-merge.c: Moved to...
33037 * tree-ssa-tail-merge.cc: ...here.
33038 * tree-ssa-ter.c: Moved to...
33039 * tree-ssa-ter.cc: ...here.
33040 * tree-ssa-threadbackward.c: Moved to...
33041 * tree-ssa-threadbackward.cc: ...here.
33042 * tree-ssa-threadedge.c: Moved to...
33043 * tree-ssa-threadedge.cc: ...here.
33044 * tree-ssa-threadupdate.c: Moved to...
33045 * tree-ssa-threadupdate.cc: ...here.
33046 * tree-ssa-uncprop.c: Moved to...
33047 * tree-ssa-uncprop.cc: ...here.
33048 * tree-ssa-uninit.c: Moved to...
33049 * tree-ssa-uninit.cc: ...here.
33050 * tree-ssa.c: Moved to...
33051 * tree-ssa.cc: ...here.
33052 * tree-ssanames.c: Moved to...
33053 * tree-ssanames.cc: ...here.
33054 * tree-stdarg.c: Moved to...
33055 * tree-stdarg.cc: ...here.
33056 * tree-streamer-in.c: Moved to...
33057 * tree-streamer-in.cc: ...here.
33058 * tree-streamer-out.c: Moved to...
33059 * tree-streamer-out.cc: ...here.
33060 * tree-streamer.c: Moved to...
33061 * tree-streamer.cc: ...here.
33062 * tree-switch-conversion.c: Moved to...
33063 * tree-switch-conversion.cc: ...here.
33064 * tree-tailcall.c: Moved to...
33065 * tree-tailcall.cc: ...here.
33066 * tree-vect-data-refs.c: Moved to...
33067 * tree-vect-data-refs.cc: ...here.
33068 * tree-vect-generic.c: Moved to...
33069 * tree-vect-generic.cc: ...here.
33070 * tree-vect-loop-manip.c: Moved to...
33071 * tree-vect-loop-manip.cc: ...here.
33072 * tree-vect-loop.c: Moved to...
33073 * tree-vect-loop.cc: ...here.
33074 * tree-vect-patterns.c: Moved to...
33075 * tree-vect-patterns.cc: ...here.
33076 * tree-vect-slp-patterns.c: Moved to...
33077 * tree-vect-slp-patterns.cc: ...here.
33078 * tree-vect-slp.c: Moved to...
33079 * tree-vect-slp.cc: ...here.
33080 * tree-vect-stmts.c: Moved to...
33081 * tree-vect-stmts.cc: ...here.
33082 * tree-vector-builder.c: Moved to...
33083 * tree-vector-builder.cc: ...here.
33084 * tree-vectorizer.c: Moved to...
33085 * tree-vectorizer.cc: ...here.
33086 * tree-vrp.c: Moved to...
33087 * tree-vrp.cc: ...here.
33088 * tree.c: Moved to...
33089 * tree.cc: ...here.
33090 * tsan.c: Moved to...
33091 * tsan.cc: ...here.
33092 * typed-splay-tree.c: Moved to...
33093 * typed-splay-tree.cc: ...here.
33094 * ubsan.c: Moved to...
33095 * ubsan.cc: ...here.
33096 * valtrack.c: Moved to...
33097 * valtrack.cc: ...here.
33098 * value-prof.c: Moved to...
33099 * value-prof.cc: ...here.
33100 * var-tracking.c: Moved to...
33101 * var-tracking.cc: ...here.
33102 * varasm.c: Moved to...
33103 * varasm.cc: ...here.
33104 * varpool.c: Moved to...
33105 * varpool.cc: ...here.
33106 * vec-perm-indices.c: Moved to...
33107 * vec-perm-indices.cc: ...here.
33108 * vec.c: Moved to...
33109 * vec.cc: ...here.
33110 * vmsdbgout.c: Moved to...
33111 * vmsdbgout.cc: ...here.
33112 * vr-values.c: Moved to...
33113 * vr-values.cc: ...here.
33114 * vtable-verify.c: Moved to...
33115 * vtable-verify.cc: ...here.
33116 * web.c: Moved to...
33117 * web.cc: ...here.
33118 * xcoffout.c: Moved to...
33119 * xcoffout.cc: ...here.
33120
33121 2022-01-17 qing zhao <qing.zhao@oracle.com>
33122
33123 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
33124 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
33125 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
33126 specially.
33127 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
33128 (warn_uninitialized_vars): Likewise.
33129 (warn_uninitialized_phi): Likewise.
33130
33131 2022-01-17 Jason Merrill <jason@redhat.com>
33132
33133 * diagnostic.h (struct diagnostic_context): Add includes_seen.
33134 * diagnostic.c (diagnostic_initialize): Initialize it.
33135 (diagnostic_finish): Clean it up.
33136 (includes_seen): New function.
33137 (diagnostic_report_current_module): Use it.
33138
33139 2022-01-17 Richard Biener <rguenther@suse.de>
33140
33141 PR middle-end/101292
33142 * diagnostic-spec.c (copy_warning): Make sure to not
33143 reference old hashtable content on possible resize.
33144 * warning-control.cc (copy_warning): Likewise.
33145
33146 2022-01-17 Jakub Jelinek <jakub@redhat.com>
33147
33148 PR target/103973
33149 * tree-cfg.h (cond_only_block_p): Declare.
33150 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
33151 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
33152 * optabs.def (spaceship_optab): New optab.
33153 * internal-fn.def (SPACESHIP): New internal function.
33154 * internal-fn.h (expand_SPACESHIP): Declare.
33155 * internal-fn.c (expand_PHI): Formatting fix.
33156 (expand_SPACESHIP): New function.
33157 * tree-ssa-math-opts.c (optimize_spaceship): New function.
33158 (math_opts_dom_walker::after_dom_children): Use it.
33159 * config/i386/i386.md (spaceship<mode>3): New define_expand.
33160 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
33161 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
33162 * doc/md.texi (spaceship@var{m}3): Document.
33163
33164 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
33165
33166 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
33167 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
33168 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
33169 known constant values to simplify code.
33170
33171 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
33172
33173 PR target/103124
33174 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
33175
33176 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
33177
33178 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
33179 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
33180 Insert zero-idiom in output template when attr enabled, set new attribute to
33181 true for non-mask/maskz insn.
33182 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
33183 Likewise.
33184 (avx512dq_mul<mode>3<mask_name>): Likewise.
33185 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
33186 (avx2_perm<mode>_1<mask_name>): Likewise.
33187 (avx512f_perm<mode>_1<mask_name>): Likewise.
33188 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
33189 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
33190 Likewise.
33191 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
33192 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
33193 Likewise.
33194 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
33195 subst_attr.
33196 (mask4_dest_false_dep_for_glc_cond): Likewise.
33197 (mask6_dest_false_dep_for_glc_cond): Likewise.
33198 (mask10_dest_false_dep_for_glc_cond): Likewise.
33199 (maskc_dest_false_dep_for_glc_cond): Likewise.
33200 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
33201 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
33202 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
33203 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
33204
33205 2022-01-15 Martin Sebor <msebor@redhat.com>
33206
33207 PR c/63272
33208 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
33209 -Wdangling-pointer.
33210 * doc/invoke.texi (-Wdangling-pointer): Document new option.
33211 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
33212 (pass_waccess::check_pointer_uses): New function.
33213 (pass_waccess::gimple_call_return_arg): New function.
33214 (pass_waccess::gimple_call_return_arg_ref): New function.
33215 (pass_waccess::check_call_dangling): New function.
33216 (pass_waccess::check_dangling_uses): New function overloads.
33217 (pass_waccess::check_dangling_stores): New function.
33218 (pass_waccess::check_dangling_stores): New function.
33219 (pass_waccess::m_clobbers): New data member.
33220 (pass_waccess::m_func): New data member.
33221 (pass_waccess::m_run_number): New data member.
33222 (pass_waccess::m_check_dangling_p): New data member.
33223 (pass_waccess::check_alloca): Check m_early_checks_p.
33224 (pass_waccess::check_alloc_size_call): Same.
33225 (pass_waccess::check_strcat): Same.
33226 (pass_waccess::check_strncat): Same.
33227 (pass_waccess::check_stxcpy): Same.
33228 (pass_waccess::check_stxncpy): Same.
33229 (pass_waccess::check_strncmp): Same.
33230 (pass_waccess::check_memop_access): Same.
33231 (pass_waccess::check_read_access): Same.
33232 (pass_waccess::check_builtin): Call check_pointer_uses.
33233 (pass_waccess::warn_invalid_pointer): Add arguments.
33234 (is_auto_decl): New function.
33235 (pass_waccess::check_stmt): New function.
33236 (pass_waccess::check_block): Call check_stmt.
33237 (pass_waccess::execute): Call check_dangling_uses,
33238 check_dangling_stores. Empty m_clobbers.
33239 * passes.def (pass_warn_access): Invoke pass two more times.
33240
33241 2022-01-15 Martin Sebor <msebor@redhat.com>
33242
33243 PR tree-optimization/80532
33244 * common.opt (-Wuse-after-free): New options.
33245 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
33246 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
33247 * diagnostic-spec.h (NW_DANGLING): New enumerator.
33248 * doc/invoke.texi (-Wuse-after-free): Document new option.
33249 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
33250 (pass_waccess::check_call_access): ...to this.
33251 (pass_waccess::check): Rename...
33252 (pass_waccess::check_block): ...to this.
33253 (pass_waccess::check_pointer_uses): New function.
33254 (pass_waccess::gimple_call_return_arg): New function.
33255 (pass_waccess::warn_invalid_pointer): New function.
33256 (pass_waccess::check_builtin): Handle free and realloc.
33257 (gimple_use_after_inval_p): New function.
33258 (get_realloc_lhs): New function.
33259 (maybe_warn_mismatched_realloc): New function.
33260 (pointers_related_p): New function.
33261 (pass_waccess::check_call): Call check_pointer_uses.
33262 (pass_waccess::execute): Compute and free dominance info.
33263
33264 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
33265
33266 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
33267 expand_simple_unop and expand_simple_binop instead of manually
33268 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
33269 consistently. Eliminate common subexpressions and simplify code.
33270 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
33271 (<any_logic:code><MODEF:mode>3): Make public.
33272
33273 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
33274
33275 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
33276 reverse flag as "reverse" for the sake of consistency.
33277 * ipa-sra.c: Fix copyright year.
33278 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
33279 (dump_isra_access): Tweak dump line.
33280 (isra_write_node_summary): Write the reverse flag.
33281 (isra_read_node_info): Read it.
33282 (pull_accesses_from_callee): Test its consistency and copy it.
33283
33284 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
33285
33286 PR middle-end/104026
33287 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
33288 partial_load_store_bias.
33289
33290 2022-01-14 Martin Sebor <msebor@redhat.com>
33291
33292 PR middle-end/101475
33293 * pointer-query.cc (handle_component_ref): Use the size of
33294 the enclosing object if it's smaller than the member.
33295
33296 2022-01-14 Martin Liska <mliska@suse.cz>
33297
33298 * configure: Regenerate.
33299
33300 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
33301
33302 * config/i386/i386.md (*add<mode>_1_slp"):
33303 Mark alternative 1 output operand earlyclobbered.
33304 (*sub<mode>_1_slp): Ditto.
33305 (*and<mode>_1_slp): Ditto.
33306 (*<code><mode>_1_slp): Ditto.
33307 (*neg<mode>_1_slp): Ditto.
33308 (*one_cmpl<mode>_1_slp): Ditto.
33309 (*ashl<mode>3_1_slp): Ditto.
33310 (*<insn><mode>3_1_slp): Ditto.
33311 (*<insn><mode>3_1_slp): Ditto.
33312
33313 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
33314
33315 PR tree-optimization/104015
33316 * tree-vect-loop.c (vect_analyze_loop): Check
33317 param_vect_partial_vector_usage for supports_partial_vectors.
33318
33319 2022-01-14 Jakub Jelinek <jakub@redhat.com>
33320
33321 PR c++/89074
33322 * fold-const.c (address_compare): Punt on comparison of address of
33323 one object with address of end of another object if
33324 folding_initializer.
33325
33326 2022-01-14 Jakub Jelinek <jakub@redhat.com>
33327
33328 PR target/98737
33329 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
33330 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
33331 and __atomic_op_fetch (p, x, y) iop x into
33332 __atomic_fetch_op (p, x, y).
33333
33334 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
33335
33336 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
33337 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
33338 (INCOMING_RETURN_ADDR_RTX): Likewise.
33339 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
33340
33341 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
33342
33343 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
33344 computin checking accumulator regs.
33345 (arc_expand_prologue): Update comments.
33346 (arc_expand_epilogue): Likewise.
33347
33348 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
33349 Uroš Bizjak <ubizjak@gmail.com>
33350
33351 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
33352 (ix86_expand_ti_to_v1ti): Use force_reg.
33353 (ix86_expand_v1ti_shift): Use force_reg.
33354 (ix86_expand_v1ti_rotate): Use force_reg.
33355 (ix86_expand_v1ti_ashiftrt): Provide new three operation
33356 implementations for shifts by 111..126 bits. Use force_reg.
33357
33358 2022-01-14 Martin Liska <mliska@suse.cz>
33359
33360 * common/config/arm/arm-common.c (arm_target_mode): Fix
33361 warning: unterminated quoting directive [-Wformat=].
33362
33363 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
33364
33365 PR tree-optimization/104009
33366 * tree-object-size.c (compute_builtin_object_size): Bail out on
33367 negative offset.
33368 (plus_stmt_object_size): Return maximum of wholesize and minimum
33369 of 0 for negative offset.
33370
33371 2022-01-14 liuhongt <hongtao.liu@intel.com>
33372
33373 PR target/104001
33374 PR target/94790
33375 PR target/104014
33376 * config/i386/i386.md (*xor2andn): Refine predicate of
33377 operands[0] from nonimmediate_operand to
33378 register_operand, remove TARGET_AVX512BW from condition.
33379
33380 2022-01-14 David Malcolm <dmalcolm@redhat.com>
33381
33382 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
33383 be used on field decls.
33384 (Common Function Attributes): Add entry on "tainted_args" attribute.
33385
33386 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
33387 Jason Merrill <jason@redhat.com>
33388
33389 PR c++/70417
33390 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
33391
33392 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
33393
33394 PR target/103861
33395 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
33396 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
33397 * config/i386/mmx.md (<any_shift:insn>v2qi):
33398 New insn_and_split pattern.
33399
33400 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
33401
33402 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
33403 (expand_partial_store_optab_fn): Likewise.
33404 (internal_len_load_store_bias): New function.
33405 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
33406 (internal_len_load_store_bias): New function.
33407 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
33408 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
33409 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
33410 (vect_estimate_min_profitable_iters): Account for bias.
33411 (vect_get_loop_len): Add bias-adjusted length.
33412 * tree-vect-stmts.c (vectorizable_store): Use.
33413 (vectorizable_load): Use.
33414 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
33415 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
33416 * config/rs6000/vsx.md: Use const0 bias predicate.
33417 * doc/md.texi: Document bias value.
33418
33419 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
33420
33421 PR tree-optimization/83072
33422 PR tree-optimization/83073
33423 PR tree-optimization/97909
33424 * fold-const.c (expr_not_equal_to): Use a multi-range class.
33425
33426 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
33427
33428 PR tree-optimization/96707
33429 * range-op.cc (operator_rshift::lhs_op1_relation): New.
33430
33431 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
33432
33433 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
33434 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
33435 (negv2qi splitters): Use lowpart_subreg instead of
33436 gen_lowpart to create subreg.
33437 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
33438 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
33439 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
33440 gen_lowpart to create subreg.
33441 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
33442
33443 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
33444
33445 PR target/104003
33446 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
33447
33448 2022-01-13 Martin Liska <mliska@suse.cz>
33449
33450 * common/config/arm/arm-common.c (arm_target_mode): Wrap
33451 keywords with %<, %> and remove trailing punctuation char.
33452 (arm_canon_arch_option_1): Likewise.
33453 (arm_asm_auto_mfpu): Likewise.
33454 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
33455 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
33456 (use_vfp_abi): Likewise.
33457 (aapcs_vfp_is_call_or_return_candidate): Likewise.
33458 (arm_handle_cmse_nonsecure_entry): Likewise.
33459 (arm_handle_cmse_nonsecure_call): Likewise.
33460 (thumb1_md_asm_adjust): Likewise.
33461
33462 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
33463
33464 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
33465 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
33466 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
33467 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
33468 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
33469 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
33470 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
33471 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
33472 macro.
33473
33474 2022-01-13 Jakub Jelinek <jakub@redhat.com>
33475
33476 PR tree-optimization/103989
33477 * tree-inline.c (setup_one_parameter): Don't copy parms with
33478 empty type.
33479
33480 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
33481
33482 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
33483 'TYPE_ADDR_SPACE' for offloading.
33484 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
33485 'TYPE_ADDR_SPACE' for offloading.
33486
33487 2022-01-13 Julian Brown <julian@codesourcery.com>
33488 Thomas Schwinge <thomas@codesourcery.com>
33489
33490 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
33491 of...
33492 (add_async_clauses_and_wait): ...here. Call new outlined function.
33493 (decompose_kernels_region_body): Add wait at the end of
33494 explicitly-asynchronous kernels regions.
33495
33496 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
33497
33498 PR middle-end/100280
33499 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
33500 Mark variables used in synthesized data clauses as addressable.
33501
33502 2022-01-13 Martin Liska <mliska@suse.cz>
33503
33504 * config/epiphany/epiphany.c (epiphany_mode_priority):
33505 Use gcc_unreachable for not handled cases.
33506
33507 2022-01-13 Martin Liska <mliska@suse.cz>
33508
33509 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
33510 Use %qs format specifier.
33511 (epiphany_override_options): Wrap keyword in %<, %>.
33512
33513 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
33514
33515 PR target/94790
33516 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
33517
33518 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
33519
33520 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
33521
33522 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
33523
33524 PR target/100637
33525 PR target/103861
33526 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
33527 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
33528 when constructing vector logic RTXes.
33529 (expand_vec_perm_pshufb2): Ditto.
33530 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
33531 (<plusminus:insn>v2qi3): Ditto.
33532 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
33533 (vcondu<mode><mode>): Ditto.
33534 (vcond_mask_<mode><mode>): Ditto.
33535 (one_cmpl<VI_32:mode>2): Remove expander.
33536 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
33537 Use VI_16_32 mode iterator.
33538 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
33539 Use lowpart_subreg instead of gen_lowpart to create subreg.
33540 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
33541 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
33542 Disparage GPR alternative a bit. Add CC clobber.
33543 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
33544 Use lowpart_subreg instead of gen_lowpart to create subreg.
33545 (*<any_logic:code><VI_16_32:mode>3): Merge from
33546 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
33547 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
33548 Add CC clobber.
33549 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
33550 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
33551
33552 2022-01-12 Clément Chigot <clement.chigot@atos.net>
33553
33554 * configure.ac: Check sizeof ino_t and dev_t.
33555 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
33556 syscall being able to handle 64bit inodes.
33557 * config.in: Regenerate.
33558 * configure: Regenerate.
33559 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
33560 (remove_duplicates): Use it.
33561
33562 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
33563
33564 PR tree-optimization/103551
33565 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
33566
33567 2022-01-12 Richard Biener <rguenther@suse.de>
33568
33569 PR tree-optimization/103990
33570 * tree-pass.h (tail_merge_optimize): Drop unused argument.
33571 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
33572 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
33573 and adjust call to tail_merge_optimize.
33574
33575 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
33576
33577 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
33578 does not add autovectorize_vector_modes.
33579
33580 2022-01-12 Martin Liska <mliska@suse.cz>
33581
33582 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
33583 %qs where possible.
33584 (aarch64_parse_sve_width_string): Likewise.
33585 (aarch64_override_options_internal): Likewise.
33586 (aarch64_print_hint_for_extensions): Likewise.
33587 (aarch64_validate_sls_mitigation): Likewise.
33588 (aarch64_handle_attr_arch): Likewise.
33589 (aarch64_handle_attr_cpu): Likewise.
33590 (aarch64_handle_attr_tune): Likewise.
33591 (aarch64_handle_attr_isa_flags): Likewise.
33592
33593 2022-01-12 Martin Liska <mliska@suse.cz>
33594
33595 * config.gcc: Include elfos.h before ${tm_file}.
33596
33597 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
33598
33599 * config/cris/cris.c: Quote identifiers in parameters to error
33600 and internal_error, and remove extraneous spaces with punctuation.
33601 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
33602 expression to internal_error, pass it as a parameter instead of
33603 appending it to the format part.
33604
33605 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
33606
33607 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
33608 parameter to as_a.
33609
33610 2022-01-11 qing zhao <qing.zhao@oracle.com>
33611
33612 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
33613 Change the 3rd argument of function .DEFERRED_INIT to the name of the
33614 decl.
33615 (gimplify_decl_expr): Delete the 3rd argument when call
33616 gimple_add_init_for_auto_var.
33617 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
33618 the 3rd argument change of function .DEFERRED_INIT.
33619 * tree-cfg.c (verify_gimple_call): Update comments and verification
33620 to reflect the 3rd argument change of function .DEFERRED_INIT.
33621 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
33622 (sra_modify_deferred_init): Change the 3rd argument of function
33623 .DEFERRED_INIT to the name of the decl.
33624
33625 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
33626
33627 * flag-types.h (enum gfc_convert): Add flags for
33628 conversion.
33629
33630 2022-01-11 Michael Meissner <meissner@the-meissners.org>
33631
33632 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
33633 checks for only C/C++ front ends before allowing the long double
33634 format to change without a warning.
33635
33636 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
33637
33638 PR rtl-optimization/103974
33639 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
33640 extra argument, default true, that says whether old-reload
33641 targets should be excluded.
33642 * ira-color.c (color_pass): Pass false.
33643
33644 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
33645
33646 PR target/103861
33647 * config/i386/mmx.md (vcond<mode><mode>):
33648 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
33649 (vcondu<mode><mode>): Ditto.
33650 (vcond_mask_<mode><mode>): Ditto.
33651 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
33652 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
33653 Use VI_16_32 mode iterator.
33654 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
33655 Update for rename. Handle V2QImode.
33656 (expand_vec_perm_blend): Update for rename.
33657
33658 2022-01-11 Jakub Jelinek <jakub@redhat.com>
33659
33660 PR c++/101597
33661 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
33662
33663 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
33664
33665 PR middle-end/70090
33666 * tree-object-size.c (size_valid_p): New function.
33667 (size_for_offset): Remove OFFSET constness assertion.
33668 (addr_object_size): Build dynamic expressions for object
33669 sizes and use size_valid_p to decide if it is valid for the
33670 given OBJECT_SIZE_TYPE.
33671 (compute_builtin_object_size): Allow dynamic offsets when
33672 computing size at O0.
33673 (call_object_size): Call size_valid_p.
33674 (plus_stmt_object_size): Allow non-constant offset and use
33675 size_valid_p to decide if it is valid for the given
33676 OBJECT_SIZE_TYPE.
33677
33678 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
33679
33680 PR middle-end/70090
33681 * tree-object-size.c (alloc_object_size): Make and return
33682 non-constant size expression.
33683 (call_object_size): Return expression or unknown based on
33684 whether dynamic object size is requested.
33685
33686 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
33687
33688 PR middle-end/70090
33689 * tree-object-size.c: Include tree-dfa.h.
33690 (parm_object_size): New function.
33691 (collect_object_sizes_for): Call it.
33692
33693 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
33694
33695 PR middle-end/70090
33696 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
33697 expressions.
33698 * tree-object-size.c: Include gimplify-me.h.
33699 (struct object_size_info): New member UNKNOWNS.
33700 (size_initval_p, size_usable_p, object_sizes_get_raw): New
33701 functions.
33702 (object_sizes_get): Return suitable gimple variable for
33703 object size.
33704 (bundle_sizes): New function.
33705 (object_sizes_set): Use it and handle dynamic object size
33706 expressions.
33707 (object_sizes_set_temp): New function.
33708 (size_for_offset): Adjust for dynamic size expressions.
33709 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
33710 New functions.
33711 (compute_builtin_object_size): Call gimplify_size_expressions
33712 for OST_DYNAMIC.
33713 (dynamic_object_size): New function.
33714 (cond_expr_object_size): Use it.
33715 (phi_dynamic_object_size): New function.
33716 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
33717 accommodate dynamic object sizes.
33718
33719 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
33720 Jakub Jelinek <jakub@redhat.com>
33721
33722 PR tree-optimization/103961
33723 * tree-object-size.c (plus_stmt_object_size): Always avoid
33724 computing offset for -1 size.
33725
33726 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
33727
33728 PR tree-optimization/103821
33729 * range-op.cc (range_operator::fold_range): Only do precise ranges
33730 when there are not too many subranges.
33731
33732 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
33733
33734 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
33735 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
33736
33737 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
33738 Richard Biener <rguenther@suse.de>
33739
33740 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
33741 highpart_mults_inserted field.
33742 (convert_mult_to_highpart): New function to convert right shift
33743 of a widening multiply into a MULT_HIGHPART_EXPR.
33744 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
33745 Call new convert_mult_to_highpart function.
33746 (pass_optimize_widening_mul::execute): Add a statistics counter
33747 for tracking "highpart multiplications inserted" events.
33748
33749 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
33750
33751 PR target/102239
33752 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
33753 declare.
33754 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
33755 function.
33756 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
33757
33758 2022-01-11 Olivier Hainque <hainque@adacore.com>
33759
33760 * gcc.c (driver_handle_option): State --sysroot as
33761 validated.
33762
33763 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
33764
33765 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
33766 useless related to option -mno-power10.
33767
33768 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
33769
33770 PR target/53652
33771 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
33772 operands[1] from register_operand to vector_operand.
33773
33774 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
33775
33776 PR target/103861
33777 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
33778 Handle V2QImode.
33779 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
33780 Use VI1_16_32 mode iterator.
33781 (*eq<mode>3): Ditto.
33782 (*gt<mode>3): Ditto.
33783 (*xop_maskcmp<mode>3): Ditto.
33784 (*xop_maskcmp_uns<mode>3): Ditto.
33785 (vec_cmp<mode><mode>): Ditto.
33786 (vec_cmpu<mode><mode>): Ditto.
33787
33788 2022-01-10 Richard Biener <rguenther@suse.de>
33789
33790 PR tree-optimization/103948
33791 * tree-vect-generic.c (expand_vector_condition): Return true if
33792 all ones vector is returned for true, all zeros vector for false
33793 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
33794
33795 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
33796
33797 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
33798 when _ARCH_PWR10. Use signed types.
33799 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
33800 (_mm_blendv_pd): Likewise.
33801
33802 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
33803
33804 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
33805 epilogue costing.
33806 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
33807 epilogues, unless we are guaranteed that we can't have partial vectors.
33808 * genopinit.c: (partial_vectors_supported): Generate new function.
33809
33810 2022-01-10 Jakub Jelinek <jakub@redhat.com>
33811
33812 PR target/102024
33813 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
33814 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
33815 always ignore them, when seeing other zero sized bitfields, either
33816 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
33817 it. Pass it to recursive calls. Add wrapper
33818 with old arguments and diagnose ABI differences for C structures
33819 with zero width bitfields. Formatting fixes.
33820
33821 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
33822
33823 PR rtl-optimization/98782
33824 * ira-int.h (ira_soft_conflict): Declare.
33825 * ira-color.c (max_soft_conflict_loop_depth): New constant.
33826 (ira_soft_conflict): New function.
33827 (spill_soft_conflicts): Likewise.
33828 (assign_hard_reg): Use them to handle the case described by
33829 the comment above ira_soft_conflict.
33830 (improve_allocation): Likewise.
33831 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
33832 to share the same register.
33833
33834 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
33835
33836 PR rtl-optimization/98782
33837 * ira-int.h (ira_caller_save_cost): New function.
33838 (ira_caller_save_loop_spill_p): Likewise.
33839 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
33840 cheaper to spill a call-clobbered register throughout a loop rather
33841 than spill it around each individual call. If so, treat all
33842 call-clobbered registers as conflicts and...
33843 (propagate_allocno_info): ...do not propagate call information
33844 from the child to the parent.
33845 * ira-color.c (move_spill_restore): Update accordingly.
33846 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
33847
33848 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
33849
33850 PR rtl-optimization/98782
33851 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
33852 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
33853 (ira_single_region_allocno_p): New function.
33854 (ira_total_conflict_hard_regs): Likewise.
33855 * ira-build.c (ira_create_allocno): Initialize
33856 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
33857 (ira_propagate_hard_reg_costs): New function.
33858 (propagate_allocno_info): Use it. Try to avoid propagating
33859 hard register conflicts to parent allocnos if we can handle
33860 the conflicts by spilling instead. Limit the propagated
33861 register costs to the cost of spilling throughout the child loop.
33862 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
33863 test whether a child and parent allocno can share the same
33864 register.
33865 (move_spill_restore): Adjust for the new behavior of
33866 propagate_allocno_info.
33867
33868 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
33869
33870 PR rtl-optimization/98782
33871 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
33872 extracted from...
33873 * ira-color.c (color_pass): ...here.
33874
33875 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
33876
33877 PR rtl-optimization/98782
33878 * ira-color.c (color_pass): Add comments to describe the spill costs.
33879 (move_spill_restore): Likewise. Fix reversed calculation.
33880
33881 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
33882
33883 PR rtl-optimization/98782
33884 * ira-int.h (ira_loop_border_costs): New class.
33885 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
33886 New constructor.
33887 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
33888 (color_pass): Likewise.
33889 (move_spill_restore): Likewise.
33890
33891 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
33892
33893 PR target/103465
33894 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
33895
33896 2022-01-10 Richard Biener <rguenther@suse.de>
33897
33898 PR tree-optimization/100359
33899 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
33900 Allow non-growing peeling with !allow_peel and UL_ALL.
33901
33902 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
33903
33904 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
33905 special case for TImode to V1TImode moves, going via V2DImode.
33906
33907 2022-01-08 Jakub Jelinek <jakub@redhat.com>
33908
33909 PR c++/89074
33910 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
33911 simplification.
33912
33913 2022-01-08 David Malcolm <dmalcolm@redhat.com>
33914
33915 * doc/analyzer.texi
33916 (Special Functions for Debugging the Analyzer): Document
33917 __analyzer_dump_escaped.
33918
33919 2022-01-08 David Malcolm <dmalcolm@redhat.com>
33920
33921 * doc/analyzer.texi (Other Debugging Techniques): Document
33922 region::is_named_decl_p.
33923
33924 2022-01-07 Andrew Pinski <apinski@marvell.com>
33925
33926 PR target/102941
33927 * config/arm/aarch-common.c (arm_md_asm_adjust):
33928 Use a temp if !REG_P.
33929
33930 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
33931
33932 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
33933 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
33934
33935 2022-01-07 liuhongt <hongtao.liu@intel.com>
33936
33937 PR rtl-optimization/103750
33938 * fwprop.c (forward_propagate_into): Allow propagations from
33939 inner loop to outer loop.
33940
33941 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
33942
33943 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
33944
33945 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
33946
33947 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
33948 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
33949 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
33950
33951 2022-01-07 liuhongt <hongtao.liu@intel.com>
33952
33953 * config/i386/sse.md
33954 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
33955 UNSPEC_PCMP_UNSIGNED.
33956
33957 2022-01-07 liuhongt <hongtao.liu@intel.com>
33958
33959 PR target/103753
33960 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
33961 gen_avx2_pblendph_1 when elt == 0.
33962 * config/i386/sse.md (avx2_pblendph): Rename to ..
33963 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
33964 (*avx2_pblendw): Rename to ..
33965 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
33966 (avx2_pblendw): Rename to ..
33967 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
33968 (blendsuf): Removed.
33969 (sse4_1_pblend<blendsuf>): Renamed to ..
33970 (sse4_1_pblend<ssemodesuffix>): .. this.
33971
33972 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
33973
33974 PR target/103925
33975 * config/i386/i386.c (ix86_output_indirect_function_return):
33976 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
33977
33978 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
33979
33980 PR target/102952
33981 * config/i386/i386-opts.h (harden_sls): Replace
33982 harden_sls_indirect_branch with harden_sls_indirect_jmp.
33983 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
33984 Likewise.
33985 (ix86_output_indirect_jmp): Likewise.
33986 (ix86_output_call_insn): Likewise.
33987 * config/i386/i386.opt: Replace indirect-branch with
33988 indirect-jmp. Replace harden_sls_indirect_branch with
33989 harden_sls_indirect_jmp.
33990 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
33991 indirect-jmp.
33992
33993 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
33994
33995 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
33996 Add %q modifier for operands in general registers.
33997 <MODE_SI>: Add %q modifier for operands in general registers.
33998 * config/i386/i386.md (*movhi_internal): Change type attribute of
33999 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
34000 to SImode for non-avx512fp16 targets.
34001 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
34002 * config/i386/mmx.md (*movv2qi_internal):
34003 Ditto for xmm-gpr interunit alternatives 8,9.
34004
34005 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
34006
34007 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
34008 vector extensions.
34009 (riscv_ext_version_table): Add version info for vector extensions.
34010 (riscv_ext_flag_table): Add option mask for vector extensions.
34011 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
34012 (MASK_VECTOR_EEW_64): New.
34013 (MASK_VECTOR_EEW_FP_32): New.
34014 (MASK_VECTOR_EEW_FP_64): New.
34015 (MASK_ZVL32B): New.
34016 (MASK_ZVL64B): New.
34017 (MASK_ZVL128B): New.
34018 (MASK_ZVL256B): New.
34019 (MASK_ZVL512B): New.
34020 (MASK_ZVL1024B): New.
34021 (MASK_ZVL2048B): New.
34022 (MASK_ZVL4096B): New.
34023 (MASK_ZVL8192B): New.
34024 (MASK_ZVL16384B): New.
34025 (MASK_ZVL32768B): New.
34026 (MASK_ZVL65536B): New.
34027 (TARGET_ZVL32B): New.
34028 (TARGET_ZVL64B): New.
34029 (TARGET_ZVL128B): New.
34030 (TARGET_ZVL256B): New.
34031 (TARGET_ZVL512B): New.
34032 (TARGET_ZVL1024B): New.
34033 (TARGET_ZVL2048B): New.
34034 (TARGET_ZVL4096B): New.
34035 (TARGET_ZVL8192B): New.
34036 (TARGET_ZVL16384B): New.
34037 (TARGET_ZVL32768B): New.
34038 (TARGET_ZVL65536B): New.
34039 * config/riscv/riscv.opt (Mask(VECTOR)): New.
34040 (riscv_vector_eew_flags): New.
34041 (riscv_zvl_flags): New.
34042
34043 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
34044
34045 * common/config/riscv/riscv-common.c
34046 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
34047 digit.
34048
34049 2022-01-06 Jakub Jelinek <jakub@redhat.com>
34050
34051 PR tree-optimization/103899
34052 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
34053 warning by moving context variable to the only spot where it is used
34054 and moving gcc_assert into if body.
34055
34056 2022-01-06 Jakub Jelinek <jakub@redhat.com>
34057
34058 PR rtl-optimization/103908
34059 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
34060 asm goto.
34061
34062 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
34063
34064 PR target/103622
34065 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
34066 Skip over instances with undefined function types.
34067
34068 2022-01-05 Andrew Pinski <apinski@marvell.com>
34069
34070 PR target/103910
34071 * config/i386/i386.h (x86_mfence): Mark with GTY.
34072
34073 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
34074
34075 PR target/103861
34076 * config/i386/mmx.md (VI_16_32): New mode iterator.
34077 (VI1_16_32): Ditto.
34078 (mmxvecsize): Handle V2QI mode.
34079 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
34080 Use VI1_16_32 mode iterator.
34081 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
34082 Use VI1_16_32 mode iterator.
34083 (abs<mode>2): Use VI_16_32 mode iterator.
34084 (uavgv2qi3_ceil): New insn pattern.
34085
34086 2022-01-05 Martin Sebor <msebor@redhat.com>
34087
34088 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
34089 %qs to avoid -Wformat-diag.
34090
34091 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
34092
34093 PR target/103915
34094 * config/i386/mmx.md (one_cmplv2qi2): Change
34095 alternatives 1,2 type from sselog to sselog1.
34096
34097 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
34098
34099 PR target/103905
34100 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
34101 narrow mode remapped elements for !one_operand_p case.
34102
34103 2022-01-05 Richard Biener <rguenther@suse.de>
34104
34105 PR tree-optimization/103816
34106 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
34107 check DR_GROUP_GAP compute for overflow and representability.
34108
34109 2022-01-05 Jakub Jelinek <jakub@redhat.com>
34110
34111 PR fortran/103691
34112 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
34113 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
34114 it can do unwanted rhs folding like &a[0] into &2.0 etc.
34115
34116 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
34117
34118 PR ipa/102059
34119 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
34120 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
34121 (rs6000_need_ipa_fn_target_info): New function.
34122 (rs6000_update_ipa_fn_target_info): Likewise.
34123 (rs6000_can_inline_p): Adjust for ipa function summary target info.
34124 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
34125 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
34126 summary target info.
34127 (analyze_function_body): Adjust for ipa function summary target info
34128 and call hook rs6000_need_ipa_fn_target_info and
34129 rs6000_update_ipa_fn_target_info.
34130 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
34131 target info.
34132 (inline_read_section): Likewise.
34133 (ipa_fn_summary_write): Likewise.
34134 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
34135 * doc/tm.texi: Regenerate.
34136 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
34137 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
34138 * target.def (update_ipa_fn_target_info): New hook.
34139 (need_ipa_fn_target_info): Likewise.
34140 * targhooks.c (default_need_ipa_fn_target_info): New function.
34141 (default_update_ipa_fn_target_info): Likewise.
34142 * targhooks.h (default_update_ipa_fn_target_info): New declare.
34143 (default_need_ipa_fn_target_info): Likewise.
34144
34145 2022-01-04 Martin Sebor <msebor@redhat.com>
34146
34147 PR middle-end/99612
34148 * builtins.c (get_memmodel): Move warning code to
34149 gimple-ssa-warn-access.cc.
34150 (expand_builtin_atomic_compare_exchange): Same.
34151 (expand_ifn_atomic_compare_exchange): Same.
34152 (expand_builtin_atomic_load): Same.
34153 (expand_builtin_atomic_store): Same.
34154 (expand_builtin_atomic_clear): Same.
34155 * doc/extend.texi (__atomic_exchange_n): Update valid memory
34156 models.
34157 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
34158 (struct memmodel_pair): New struct.
34159 (memmodel_name): New function.
34160 (pass_waccess::maybe_warn_memmodel): New function.
34161 (pass_waccess::check_atomic_memmodel): New function.
34162 (pass_waccess::check_atomic_builtin): Handle memory model.
34163 * input.c (expansion_point_location_if_in_system_header): Return
34164 original location if expansion location is in a system header.
34165
34166 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
34167
34168 PR target/103861
34169 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
34170 (one_cmplv2qi3 splitters): New post-reload splitters.
34171 (*andnotv2qi3): New insn pattern.
34172 (andnotv2qi3 splitters): New post-reload splitters.
34173 (<any_logic:code>v2qi3): New insn pattern.
34174 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
34175
34176 2022-01-04 Richard Biener <rguenther@suse.de>
34177
34178 PR tree-optimization/103800
34179 * tree-vect-loop.c (vectorizable_phi): Remove assert and
34180 expand comment.
34181
34182 2022-01-04 Richard Biener <rguenther@suse.de>
34183
34184 PR tree-optimization/103690
34185 * tree-pass.h (tail_merge_optimize): Adjust.
34186 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
34187 to re-split critical edges, move CFG cleanup ...
34188 * tree-ssa-pre.c (pass_pre::execute): ... here, before
34189 simple_dce_from_worklist and delay freeing inserted_exprs from
34190 ...
34191 (fini_pre): .. here.
34192
34193 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
34194
34195 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
34196 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
34197 (setcc_from_bi): Remove SImode specific pattern.
34198 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
34199 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
34200 for sign- and zero-extending BImode predicates to integers.
34201 (setcc_int<mode>): Remove previous (-1-based) instructions.
34202 (cstorebi4): Remove BImode to SImode specific expander.
34203 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
34204 (cstore<mode>4): For both integer and floating point modes.
34205
34206 2022-01-04 Olivier Hainque <hainque@adacore.com>
34207
34208 * gcc.c (driver_handle_option): do_save --sysroot.
34209
34210 2022-01-04 Richard Biener <rguenther@suse.de>
34211
34212 PR tree-optimization/103864
34213 PR tree-optimization/103544
34214 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
34215 reductions wrapped in conversions from SLP handling.
34216 (vect_analyze_slp): Revert PR103544 change.
34217
34218 2022-01-04 Jakub Jelinek <jakub@redhat.com>
34219
34220 PR rtl-optimization/103860
34221 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
34222 uselessly for blocks for which it has been called already.
34223
34224 2022-01-04 Cui,Lili <lili.cui@intel.com>
34225
34226 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
34227 to Alderlake and Rocketlake.
34228
34229 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
34230
34231 PR middle-end/103643
34232 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
34233 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
34234
34235 2022-01-04 liuhongt <hongtao.liu@intel.com>
34236
34237 PR target/103895
34238 * config/i386/sse.md (*bit_and_float_vector_all_ones):
34239 Force_reg operand 1 to avoid ICE.
34240
34241 2022-01-04 Jason Merrill <jason@redhat.com>
34242
34243 * tree-pretty-print.c (do_niy): Add spc parameter.
34244 (NIY): Pass it.
34245 (print_call_name): Add spc local variable.
34246
34247 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
34248
34249 PR target/103894
34250 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
34251 (mov<V_32:mode>_internal): Ditto.
34252 (*push<V_32:mode>_rex64): Ditto.
34253 (movmisalign<V_32:mode>): Ditto.
34254 (*push<V_32:mode>_rex64 splitter): Enable for
34255 TARGET_64BIT && TARGET_SSE.
34256 (*push<V_32:mode>2): Remove insn pattern.
34257
34258 2022-01-03 Andrew Pinski <apinski@marvell.com>
34259
34260 PR c/33193
34261 * doc/extend.texi: Extend the documentation about Complex
34262 types for casting and also rewrite the __real__/__imag__
34263 expression portion to use tables.
34264 Move __builtin_complex to the Complex type section.
34265
34266 2022-01-03 Jakub Jelinek <jakub@redhat.com>
34267
34268 PR target/98737
34269 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
34270 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
34271 New internal fns.
34272 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
34273 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
34274 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
34275 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
34276 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
34277 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
34278 functions.
34279 * optabs.def (atomic_add_fetch_cmp_0_optab,
34280 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
34281 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
34282 direct optabs.
34283 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
34284 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
34285 * tree-ssa-ccp.c: Include internal-fn.h.
34286 (optimize_atomic_bit_test_and): Add . before internal fn call
34287 in function comment. Change return type from void to bool and
34288 return true only if successfully replaced.
34289 (optimize_atomic_op_fetch_cmp_0): New function.
34290 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
34291 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
34292 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
34293 for *XOR* ones only if optimize_atomic_bit_test_and failed.
34294 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
34295 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
34296 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
34297 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
34298 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
34299 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
34300 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
34301 new named patterns.
34302
34303 2022-01-03 Richard Biener <rguenther@suse.de>
34304
34305 PR middle-end/103851
34306 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
34307
34308 2022-01-03 Jakub Jelinek <jakub@redhat.com>
34309
34310 PR c++/94716
34311 * symtab.c: Include fold-const.h.
34312 (symtab_node::equal_address_to): If folding_initializer is true,
34313 handle it like memory_accessed. Simplify.
34314
34315 2022-01-03 Martin Liska <mliska@suse.cz>
34316
34317 * doc/extend.texi: Use ; for function declarations.
34318
34319 2022-01-03 Jakub Jelinek <jakub@redhat.com>
34320
34321 PR c++/103600
34322 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
34323 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
34324
34325 2022-01-03 Jakub Jelinek <jakub@redhat.com>
34326
34327 * gcc.c (process_command): Update copyright notice dates.
34328 * gcov-dump.c (print_version): Ditto.
34329 * gcov.c (print_version): Ditto.
34330 * gcov-tool.c (print_version): Ditto.
34331 * gengtype.c (create_file): Ditto.
34332 * doc/cpp.texi: Bump @copying's copyright year.
34333 * doc/cppinternals.texi: Ditto.
34334 * doc/gcc.texi: Ditto.
34335 * doc/gccint.texi: Ditto.
34336 * doc/gcov.texi: Ditto.
34337 * doc/install.texi: Ditto.
34338 * doc/invoke.texi: Ditto.
34339
34340 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
34341
34342 PR target/103861
34343 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
34344 (VALID_INT_MODE_P): Ditto.
34345 * config/i386/i386.c (ix86_secondary_reload): Handle
34346 V2QImode reloads from SSE register to memory.
34347 (vector_mode_supported_p): Always return true for V2QImode.
34348 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
34349 (*negqi_ext<mode>_2): Ditto.
34350 * config/i386/mmx.md (movv2qi): New expander.
34351 (movmisalignv2qi): Ditto.
34352 (*movv2qi_internal): New insn pattern.
34353 (*pushv2qi2): Ditto.
34354 (negv2qi2 and splitters): Ditto.
34355 (<plusminus:insn>v2qi3 and splitters): Ditto.
34356
34357 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
34358
34359 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
34360 sync_lock_test_and_set libfunc. Call convert_memory_address to
34361 convert memory address to Pmode.
34362 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
34363
34364 \f
34365 Copyright (C) 2022 Free Software Foundation, Inc.
34366
34367 Copying and distribution of this file, with or without modification,
34368 are permitted in any medium without royalty provided the copyright
34369 notice and this notice are preserved.