xref: /netbsd-src/external/gpl3/gcc/dist/gcc/ChangeLog (revision 0e2e28bced52bda3788c857106bde6c44d2df3b8)
12023-05-08  Release Manager
2
3	* GCC 12.3.0 released.
4
52023-04-27  Jakub Jelinek  <jakub@redhat.com>
6
7	Backported from master:
8	2023-04-08  Jakub Jelinek  <jakub@redhat.com>
9
10	PR tree-optimization/109392
11	* tree-vect-generic.cc (tree_vec_extract): Handle failure
12	of maybe_push_res_to_seq better.
13
142023-04-27  Richard Biener  <rguenther@suse.de>
15
16	Backported from master:
17	2023-02-16  Richard Biener  <rguenther@suse.de>
18
19	PR tree-optimization/108791
20	* tree-ssa-forwprop.cc (optimize_vector_load): Build
21	the ADDR_EXPR of a TARGET_MEM_REF using a more meaningful
22	type.
23
242023-04-27  Roger Sayle  <roger@nextmovesoftware.com>
25
26	Backported from master:
27	2023-01-10  Roger Sayle  <roger@nextmovesoftware.com>
28
29	PR rtl-optimization/106421
30	* cprop.cc (bypass_block): Check that DEST is local to this
31	function (non-NULL) before calling find_edge.
32
332023-04-27  H.J. Lu  <hjl.tools@gmail.com>
34
35	Backported from master:
36	2023-01-16  H.J. Lu  <hjl.tools@gmail.com>
37
38	PR target/105980
39	* config/i386/i386.cc (x86_output_mi_thunk): Disable
40	-mforce-indirect-call for PIC in 32-bit mode.
41
422023-04-27  Jan Hubicka  <jh@suse.cz>
43
44	Backported from master:
45	2022-08-12  Jan Hubicka  <hubicka@ucw.cz>
46
47	PR middle-end/106057
48	* ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
49	function.
50	(possible_polymorphic_call_targets): Use it.
51
522023-04-26  Martin Jambor  <mjambor@suse.cz>
53
54	Backported from master:
55	2023-04-17  Martin Jambor  <mjambor@suse.cz>
56
57	PR ipa/107769
58	PR ipa/109318
59	* cgraph.h (symtab_node::find_reference): Add parameter use_type.
60	* ipa-prop.h (ipa_pass_through_data): New flag refdesc_decremented.
61	(ipa_zap_jf_refdesc): New function.
62	(ipa_get_jf_pass_through_refdesc_decremented): Likewise.
63	(ipa_set_jf_pass_through_refdesc_decremented): Likewise.
64	* ipa-cp.cc (ipcp_discover_new_direct_edges): Provide a value for
65	the new parameter of find_reference.
66	(adjust_references_in_caller): Likewise. Make sure the constant jump
67	function is not used to decrement a refdec counter again.  Only
68	decrement refdesc counters when the pass_through jump function allows
69	it.  Added a detailed dump when decrementing refdesc counters.
70	* ipa-prop.cc (ipa_print_node_jump_functions_for_edge): Dump new flag.
71	(ipa_set_jf_simple_pass_through): Initialize the new flag.
72	(ipa_set_jf_unary_pass_through): Likewise.
73	(ipa_set_jf_arith_pass_through): Likewise.
74	(remove_described_reference): Provide a value for the new parameter of
75	find_reference.
76	(update_jump_functions_after_inlining): Zap refdesc of new jfunc if
77	the previous pass_through had a flag mandating that we do so.
78	(propagate_controlled_uses): Likewise.  Only decrement refdesc
79	counters when the pass_through jump function allows it.
80	(ipa_edge_args_sum_t::duplicate): Provide a value for the new
81	parameter of find_reference.
82	(ipa_write_jump_function): Assert the new flag does not have to be
83	streamed.
84	* symtab.cc (symtab_node::find_reference): Add parameter use_type, use
85	it in searching.
86
872023-04-26  Jakub Jelinek  <jakub@redhat.com>
88
89	Backported from master:
90	2023-04-25  Jakub Jelinek  <jakub@redhat.com>
91
92	PR target/109566
93	* config/rs6000/rs6000.cc (rs6000_is_valid_rotate_dot_mask): For
94	!TARGET_64BIT, don't return true if UINTVAL (mask) << (63 - nb)
95	is larger than signed int maximum.
96
972023-04-26  Richard Biener  <rguenther@suse.de>
98
99	Backported from master:
100	2023-04-25  Richard Biener  <rguenther@suse.de>
101
102	PR tree-optimization/109609
103	* attr-fnspec.h (arg_max_access_size_given_by_arg_p):
104	Clarify semantics.
105	* tree-ssa-alias.cc (check_fnspec): Correctly interpret
106	the size given by arg_max_access_size_given_by_arg_p as
107	maximum, not exact, size.
108
1092023-04-26  Richard Biener  <rguenther@suse.de>
110
111	Backported from master:
112	2023-04-25  Richard Biener  <rguenther@suse.de>
113
114	PR rtl-optimization/109585
115	* tree-ssa-alias.cc (aliasing_component_refs_p): Fix typo.
116
1172023-04-26  Richard Biener  <rguenther@suse.de>
118
119	Backported from master:
120	2023-04-21  Richard Biener  <rguenther@suse.de>
121
122	PR tree-optimization/109573
123	* tree-vect-loop.cc (vectorizable_live_operation): Allow
124	unhandled SSA copy as well.  Demote assert to checking only.
125
1262023-04-21  John David Anglin  <danglin@gcc.gnu.org>
127
128	PR target/109478
129	* config/pa/pa-protos.h (pa_function_arg_size): Update prototype.
130	* config/pa/pa.cc (pa_function_arg): Return NULL_RTX if argument
131	size is zero.
132	(pa_arg_partial_bytes): Don't call pa_function_arg_size twice.
133	(pa_function_arg_size): Change return type to int.  Return zero
134	for arguments larger than 1 GB.  Update comments.
135
1362023-04-21  Haochen Gui  <guihaoc@gcc.gnu.org>
137
138	Backported from master:
139	2023-04-11  Haochen Gui  <guihaoc@gcc.gnu.org>
140
141	PR target/108812
142	* config/rs6000/vsx.md (vsx_sign_extend_qi_<mode>): Rename to...
143	(vsx_sign_extend_v16qi_<mode>): ... this.
144	(vsx_sign_extend_hi_<mode>): Rename to...
145	(vsx_sign_extend_v8hi_<mode>): ... this.
146	(vsx_sign_extend_si_v2di): Rename to...
147	(vsx_sign_extend_v4si_v2di): ... this.
148	(vsignextend_qi_<mode>): Remove.
149	(vsignextend_hi_<mode>): Remove.
150	(vsignextend_si_v2di): Remove.
151	(vsignextend_v2di_v1ti): Remove.
152	(*xxspltib_<mode>_split): Replace gen_vsx_sign_extend_qi_v2di with
153	gen_vsx_sign_extend_v16qi_v2di and gen_vsx_sign_extend_qi_v4si
154	with gen_vsx_sign_extend_v16qi_v4si.
155	* config/rs6000/rs6000.md (split for DI constant generation):
156	Replace gen_vsx_sign_extend_qi_si with gen_vsx_sign_extend_v16qi_si.
157	(split for HSDI constant generation): Replace gen_vsx_sign_extend_qi_di
158	with gen_vsx_sign_extend_v16qi_di and gen_vsx_sign_extend_qi_si
159	with gen_vsx_sign_extend_v16qi_si.
160	* config/rs6000/rs6000-builtins.def (__builtin_altivec_vsignextsb2d):
161	Set bif-pattern to vsx_sign_extend_v16qi_v2di.
162	(__builtin_altivec_vsignextsb2w): Set bif-pattern to
163	vsx_sign_extend_v16qi_v4si.
164	(__builtin_altivec_visgnextsh2d): Set bif-pattern to
165	vsx_sign_extend_v8hi_v2di.
166	(__builtin_altivec_vsignextsh2w): Set bif-pattern to
167	vsx_sign_extend_v8hi_v4si.
168	(__builtin_altivec_vsignextsw2d): Set bif-pattern to
169	vsx_sign_extend_si_v2di.
170	(__builtin_altivec_vsignext): Set bif-pattern to
171	vsx_sign_extend_v2di_v1ti.
172	* config/rs6000/rs6000-builtin.cc (lxvrse_expand_builtin): Replace
173	gen_vsx_sign_extend_qi_v2di with gen_vsx_sign_extend_v16qi_v2di,
174	gen_vsx_sign_extend_hi_v2di with gen_vsx_sign_extend_v8hi_v2di and
175	gen_vsx_sign_extend_si_v2di with gen_vsx_sign_extend_v4si_v2di.
176
1772023-04-18  Jakub Jelinek  <jakub@redhat.com>
178
179	Backported from master:
180	2023-04-12  Jakub Jelinek  <jakub@redhat.com>
181
182	PR tree-optimization/109410
183	* tree-ssa-reassoc.cc (build_and_add_sum): Split edge from entry
184	block if first statement of the function is a call to returns_twice
185	function.
186
1872023-04-18  Jakub Jelinek  <jakub@redhat.com>
188
189	Backported from master:
190	2023-03-28  Jakub Jelinek  <jakub@redhat.com>
191
192	PR middle-end/106190
193	* sanopt.cc (pass_sanopt::execute): Return TODO_cleanup_cfg if any
194	of the IFN_{UB,HWA,A}SAN_* internal fns are lowered.
195
1962023-04-18  Jakub Jelinek  <jakub@redhat.com>
197
198	Backported from master:
199	2023-03-28  Jakub Jelinek  <jakub@redhat.com>
200
201	PR target/109276
202	* config/i386/i386.cc (assign_386_stack_local): For DImode
203	with SLOT_FLOATxFDI_387 and -m32 -mpreferred-stack-boundary=2 pass
204	align 32 rather than 0 to assign_stack_local.
205
2062023-04-18  Jakub Jelinek  <jakub@redhat.com>
207
208	Backported from master:
209	2023-03-26  Jakub Jelinek  <jakub@redhat.com>
210
211	PR ipa/105685
212	* predict.cc (compute_function_frequency): Don't call
213	warn_function_cold if function already has cold attribute.
214
2152023-04-18  Jakub Jelinek  <jakub@redhat.com>
216
217	Backported from master:
218	2023-03-23  Jakub Jelinek  <jakub@redhat.com>
219
220	PR tree-optimization/109176
221	* tree-vect-generic.cc (expand_vector_condition): If a has
222	vector boolean type and is a comparison, also check if both
223	the comparison and VEC_COND_EXPR could be successfully expanded
224	individually.
225
2262023-04-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
227
228	Backported from master:
229	2023-01-31  Philipp Tomsich  <philipp.tomsich@vrull.eu>
230
231	PR target/108589
232	* config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Check
233	REG_P on SET_DEST.
234
2352023-04-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
236
237	Backported from master:
238	2023-04-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
239		    Di Zhao  <di.zhao@amperecomputing.com>
240
241	* config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION):
242	Add AARCH64_EXTRA_TUNE_NO_LDP_COMBINE.
243	* config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp):
244	Check for the above tuning option when processing loads.
245
2462023-04-17  Richard Sandiford  <richard.sandiford@arm.com>
247
248	Backported from master:
249	2023-04-13  Richard Sandiford  <richard.sandiford@arm.com>
250
251	PR target/108910
252	* config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Do
253	not trust TYPE_ALIGN for pointer types; use POINTER_SIZE instead.
254
2552023-04-17  Richard Biener  <rguenther@suse.de>
256
257	PR tree-optimization/109434
258	* tree-ssa-dse.cc (initialize_ao_ref_for_dse): Properly
259	handle possibly throwing calls when processing the LHS
260	and may-defs are not OK.  Add mode to initialize a may-def.
261	(dse_optimize_stmt): Query may-defs.
262
2632023-04-17  Richard Biener  <rguenther@suse.de>
264
265	Backported from master:
266	2023-04-14  Richard Biener  <rguenther@suse.de>
267
268	PR tree-optimization/109502
269	* tree-vect-stmts.cc (vectorizable_assignment): Fix
270	check for conversion between mask and non-mask types.
271
2722023-04-17  Richard Biener  <rguenther@suse.de>
273
274	Backported from master:
275	2023-04-13  Richard Biener  <rguenther@suse.de>
276
277	PR tree-optimization/109491
278	* tree-ssa-sccvn.cc (expressions_equal_p): Restore the
279	NULL operands test.
280
2812023-04-17  Richard Biener  <rguenther@suse.de>
282
283	Backported from master:
284	2023-04-12  Richard Biener  <rguenther@suse.de>
285
286	PR tree-optimization/109473
287	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
288	Convert scalar result to the computation type before performing
289	the reduction adjustment.
290
2912023-04-17  Richard Biener  <rguenther@suse.de>
292
293	Backported from master:
294	2023-04-12  Richard Biener  <rguenther@suse.de>
295
296	PR tree-optimization/109469
297	* tree-vect-slp.cc (vect_slp_function): Skip region starts with
298	a returns-twice call.
299
3002023-04-17  Richard Biener  <rguenther@suse.de>
301
302	Backported from master:
303	2023-03-27  Richard Biener  <rguenther@suse.de>
304
305	PR lto/109263
306	* lto-wrapper.cc (run_gcc): Parse alternate debug options
307	as well, they always enable debug.
308
3092023-04-17  Richard Biener  <rguenther@suse.de>
310
311	Backported from master:
312	2023-03-21  Richard Biener  <rguenther@suse.de>
313
314	PR tree-optimization/109219
315	* tree-vect-loop.cc (vectorizable_reduction): Check
316	slp_node, not STMT_SLP_TYPE.
317	* tree-vect-stmts.cc (vectorizable_condition): Likewise.
318	* tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
319	Remove assertion on STMT_SLP_TYPE.
320
3212023-04-17  Richard Biener  <rguenther@suse.de>
322
323	Backported from master:
324	2023-03-29  Richard Biener  <rguenther@suse.de>
325
326	PR ipa/106124
327	* dwarf2out.cc (lookup_type_die): Reset TREE_ASM_WRITTEN
328	so we can re-create the DIE for the type if required.
329
3302023-04-17  Richard Biener  <rguenther@suse.de>
331
332	Backported from master:
333	2022-12-07  Richard Biener  <rguenther@suse.de>
334
335	PR ipa/105676
336	* ipa-pure-const.cc (ipa_make_function_pure): Skip also
337	for functions already being const.
338
3392023-04-17  Kewen Lin  <linkw@linux.ibm.com>
340
341	Backported from master:
342	2023-04-04  Kewen Lin  <linkw@linux.ibm.com>
343
344	PR target/108699
345	* config/rs6000/altivec.md (*p9v_parity<mode>2): Rename to ...
346	(rs6000_vprtyb<mode>2): ... this.
347	* config/rs6000/rs6000-builtins.def (VPRTYBD): Replace parityv2di2 with
348	rs6000_vprtybv2di2.
349	(VPRTYBW): Replace parityv4si2 with rs6000_vprtybv4si2.
350	(VPRTYBQ): Replace parityv1ti2 with rs6000_vprtybv1ti2.
351	* config/rs6000/vector.md (parity<mode>2 with VEC_IP): Expand with
352	popcountv16qi2 and the corresponding rs6000_vprtyb<mode>2.
353
3542023-04-17  Kewen Lin  <linkw@linux.ibm.com>
355
356	Backported from master:
357	2023-04-04  Kewen Lin  <linkw@linux.ibm.com>
358
359	PR target/108807
360	* config/rs6000/rs6000.cc (rs6000_expand_vector_set_var_p9): Fix gen
361	function for permutation control vector by considering big endianness.
362
3632023-04-14  Jan Hubicka  <hubicka@ucw.cz>
364
365	PR target/109137
366	* config/i386/x86-tune.def (X86_TUNE_AVX256_MOVE_BY_PIECES):
367	Remove znver1-3.
368	(X86_TUNE_AVX256_STORE_BY_PIECES): Remove znver1-3.
369
3702023-04-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
371
372	Backported from master:
373	2023-03-27  Philipp Tomsich  <philipp.tomsich@vrull.eu>
374		    Jiangning Liu  <jiangning.liu@amperecomputing.com>
375		    Manolis Tsamis  <manolis.tsamis@vrull.eu>
376
377	* config/aarch64/aarch64.cc: Update vector costs for ampere1.
378
3792023-04-11  Michael Meissner  <meissner@linux.ibm.com>
380
381	PR target/109067
382	* config/rs6000/rs6000.cc (create_complex_muldiv): Delete.
383	(init_float128_ieee): Delete code to switch complex multiply and divide
384	for long double.  Backport from master, 3/20/2023.
385	(complex_multiply_builtin_code): New helper function.
386	(complex_divide_builtin_code): Likewise.
387	(rs6000_mangle_decl_assembler_name): Add support for mangling the name
388	of complex 128-bit multiply and divide built-in functions.
389
3902023-04-06  Andrew Pinski  <apinski@marvell.com>
391
392	Backported from master:
393	2023-04-06  Andrew Pinski  <apinski@marvell.com>
394
395	PR tree-optimization/109427
396	* params.opt (-param=vect-induction-float=):
397	Fix option attribute typo for IntegerRange.
398
3992023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
400
401	PR tree-optimization/96373
402	PR tree-optimization/108979
403	* tree-vect-stmts.cc (vectorizable_operation): Predicate trapping
404	operations on the loop mask.  Reject partial vectors if this isn't
405	possible.  Don't mask operations on invariants.
406
4072023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
408
409	Backported from master:
410	2023-03-28  Richard Sandiford  <richard.sandiford@arm.com>
411
412	PR target/109072
413	* config/aarch64/aarch64-protos.h (aarch64_vector_load_decl): Declare.
414	* config/aarch64/aarch64.h (machine_function::vector_load_decls): New
415	variable.
416	* config/aarch64/aarch64-builtins.cc (aarch64_record_vector_load_arg):
417	New function.
418	(aarch64_general_gimple_fold_builtin): Delay folding of vld1 until
419	after inlining.  Record which decls are loaded from.  Fix handling
420	of vops for loads and stores.
421	* config/aarch64/aarch64.cc (aarch64_vector_load_decl): New function.
422	(aarch64_accesses_vector_load_decl_p): Likewise.
423	(aarch64_vector_costs::m_stores_to_vector_load_decl): New member
424	variable.
425	(aarch64_vector_costs::add_stmt_cost): If the function has a vld1
426	that loads from a decl, treat vector stores to those decls as
427	zero cost.
428	(aarch64_vector_costs::finish_cost): ...and in that case,
429	if the vector code does nothing more than a store, give the
430	prologue a zero cost as well.
431
4322023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
433
434	Backported from master:
435	2023-02-13  Richard Sandiford  <richard.sandiford@arm.com>
436
437	PR rtl-optimization/108681
438	* lra-spills.cc (lra_final_code_change): Extend subreg replacement
439	code to handle bare uses and clobbers.
440
4412023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
442
443	Backported from master:
444	2023-01-31  Richard Sandiford  <richard.sandiford@arm.com>
445
446	PR tree-optimization/108608
447	* tree-vect-loop.cc (vect_transform_reduction): Handle single
448	def-use cycles that involve function calls rather than tree codes.
449
4502023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
451
452	Backported from master:
453	2023-03-02  Richard Sandiford  <richard.sandiford@arm.com>
454
455	PR tree-optimization/108603
456	* explow.cc (convert_memory_address_addr_space_1): Only wrap
457	the result of a recursive call in a CONST if no instructions
458	were emitted.
459
4602023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
461
462	Backported from master:
463	2023-02-02  Richard Sandiford  <richard.sandiford@arm.com>
464
465	PR rtl-optimization/108508
466	* rtl-ssa/accesses.cc (function_info::split_clobber_group): When
467	the splay tree search gives the first clobber in the second group,
468	make sure that the root of the first clobber group is updated
469	correctly.  Enter the new clobber group into the definition splay
470	tree.
471
4722023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
473
474	Backported from master:
475	2023-03-02  Richard Sandiford  <richard.sandiford@arm.com>
476
477	PR tree-optimization/108430
478	* tree-vect-stmts.cc (vectorizable_condition): Fix handling
479	of inverted condition.
480
4812023-04-03  Richard Sandiford  <richard.sandiford@arm.com>
482
483	Backported from master:
484	2023-02-02  Richard Sandiford  <richard.sandiford@arm.com>
485
486	PR rtl-optimization/108086
487	* rtl-ssa/insns.h (insn_info): Make m_num_defs a full unsigned int.
488	Adjust size-related commentary accordingly.
489
4902023-03-31  Vladimir N. Makarov  <vmakarov@redhat.com>
491
492	* ira-costs.cc: Include print-rtl.h.
493	(record_reg_classes, scan_one_insn): Add code to print debug info.
494	(record_operand_costs): Find and use smaller cost for hard reg
495	move.
496
4972023-03-29  David Malcolm  <dmalcolm@redhat.com>
498
499	* doc/invoke.texi (Static Analyzer Options): Add notes about
500	limitations of -fanalyzer.
501
5022023-03-29  David Malcolm  <dmalcolm@redhat.com>
503
504	* doc/analyzer.texi: Drop out-of-date ideas for other checkers.
505
5062023-03-28  Eric Botcazou  <ebotcazou@adacore.com>
507
508	PR target/109140
509	* config/sparc/sparc.cc (sparc_expand_vcond): Call signed_condition
510	on operand #3 to get the final condition code.  Use std::swap.
511	* config/sparc/sparc.md (vcondv8qiv8qi): New VIS 4 expander.
512	(fucmp<gcond:code>8<P:mode>_vis): Move around.
513	(fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis): Likewise.
514	(vcondu<GCM:mode><GCM:mode>): New VIS 4 expander.
515
5162023-03-22  Martin Jambor  <mjambor@suse.cz>
517
518	Backported from master:
519	2023-03-14  Martin Jambor  <mjambor@suse.cz>
520
521	PR ipa/107925
522	* ipa-cp.cc (update_specialized_profile): Drop orig_node_count to
523	ipa count, remove assert, lenient_count_portion_handling, dump
524	also orig_node_count.
525
5262023-03-20  Peter Bergner  <bergner@linux.ibm.com>
527
528	Backported from master:
529	2023-03-20  Peter Bergner  <bergner@linux.ibm.com>
530
531	PR target/109178
532	* config/rs6000/rs6000-builtin.cc (stv_expand_builtin): Use tmode.
533
5342023-03-19  Jakub Jelinek  <jakub@redhat.com>
535
536	Backported from master:
537	2023-03-17  Jakub Jelinek  <jakub@redhat.com>
538
539	PR target/105554
540	* function.h (push_struct_function): Add ABSTRACT_P argument defaulted
541	to false.
542	* function.cc (push_struct_function): Add ABSTRACT_P argument, pass it
543	to allocate_struct_function instead of false.
544	* tree-inline.cc (initialize_cfun): Don't copy DECL_ARGUMENTS
545	nor DECL_RESULT here.  Pass true as ABSTRACT_P to
546	push_struct_function.  Call targetm.target_option.relayout_function
547	after it.
548	(tree_function_versioning): Formatting fix.
549
5502023-03-19  Jakub Jelinek  <jakub@redhat.com>
551
552	Backported from master:
553	2023-03-17  Jakub Jelinek  <jakub@redhat.com>
554
555	PR middle-end/108685
556	* omp-expand.cc (expand_omp_for_ordered_loops): Add L0_BB argument,
557	use its loop_father rather than BODY_BB's loop_father.
558	(expand_omp_for_generic): Adjust expand_omp_for_ordered_loops caller.
559	If broken_loop with ordered > collapse and at least one of those
560	extra loops aren't guaranteed to have at least one iteration, change
561	l0_bb's loop_father to entry_bb's loop_father.  Set cont_bb's
562	loop_father to l0_bb's loop_father rather than l1_bb's.
563
5642023-03-19  Jakub Jelinek  <jakub@redhat.com>
565
566	Backported from master:
567	2023-03-10  Jakub Jelinek  <jakub@redhat.com>
568
569	PR c/108079
570	* cgraphunit.cc (check_global_declaration): Don't warn for unused
571	variables which have OPT_Wunused_variable warning suppressed.
572
5732023-03-19  Jakub Jelinek  <jakub@redhat.com>
574
575	Backported from master:
576	2023-03-04  Jakub Jelinek  <jakub@redhat.com>
577
578	PR testsuite/108973
579	* selftest-diagnostic.cc
580	(test_diagnostic_context::test_diagnostic_context): Set
581	caret_max_width to 80.
582
5832023-03-19  Jakub Jelinek  <jakub@redhat.com>
584
585	Backported from master:
586	2023-03-03  Jakub Jelinek  <jakub@redhat.com>
587
588	PR c/108986
589	* gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes):
590	Return immediately if OPT_Wnonnull or OPT_Wstringop_overflow_ is
591	suppressed on stmt.  For [static %E] warning, print access_nelts
592	rather than access_size.  Fix up comment wording.
593
5942023-03-19  Jakub Jelinek  <jakub@redhat.com>
595
596	Backported from master:
597	2023-03-02  Jakub Jelinek  <jakub@redhat.com>
598
599	PR c++/108934
600	* fold-const.cc (native_interpret_expr) <case REAL_CST>: Before memcmp
601	comparison copy the bytes from ptr to a temporary buffer and clearing
602	padding bits in there.
603
6042023-03-19  Jakub Jelinek  <jakub@redhat.com>
605
606	Backported from master:
607	2023-03-01  Jakub Jelinek  <jakub@redhat.com>
608
609	PR debug/108967
610	* cfgexpand.cc (expand_debug_expr): Handle WIDEN_{PLUS,MINUS}_EXPR
611	and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR.
612
6132023-03-19  Jakub Jelinek  <jakub@redhat.com>
614
615	Backported from master:
616	2023-02-24  Jakub Jelinek  <jakub@redhat.com>
617
618	PR middle-end/108854
619	* cgraphclones.cc (duplicate_thunk_for_node): If no parameter
620	changes are needed, copy at least DECL_ARGUMENTS PARM_DECL
621	nodes and adjust their DECL_CONTEXT.
622
6232023-03-19  Jakub Jelinek  <jakub@redhat.com>
624
625	Backported from master:
626	2023-02-24  Jakub Jelinek  <jakub@redhat.com>
627
628	PR target/108881
629	* config/i386/i386-builtin.def (__builtin_ia32_cvtne2ps2bf16_v16hi,
630	__builtin_ia32_cvtne2ps2bf16_v16hi_mask,
631	__builtin_ia32_cvtne2ps2bf16_v16hi_maskz,
632	__builtin_ia32_cvtne2ps2bf16_v8hi,
633	__builtin_ia32_cvtne2ps2bf16_v8hi_mask,
634	__builtin_ia32_cvtne2ps2bf16_v8hi_maskz,
635	__builtin_ia32_cvtneps2bf16_v8sf_mask,
636	__builtin_ia32_cvtneps2bf16_v8sf_maskz,
637	__builtin_ia32_cvtneps2bf16_v4sf_mask,
638	__builtin_ia32_cvtneps2bf16_v4sf_maskz,
639	__builtin_ia32_dpbf16ps_v8sf, __builtin_ia32_dpbf16ps_v8sf_mask,
640	__builtin_ia32_dpbf16ps_v8sf_maskz, __builtin_ia32_dpbf16ps_v4sf,
641	__builtin_ia32_dpbf16ps_v4sf_mask,
642	__builtin_ia32_dpbf16ps_v4sf_maskz): Require also
643	OPTION_MASK_ISA_AVX512VL.
644
6452023-03-19  Jakub Jelinek  <jakub@redhat.com>
646
647	Backported from master:
648	2023-02-18  Jakub Jelinek  <jakub@redhat.com>
649
650	PR tree-optimization/108819
651	* tree-ssa-reassoc.cc (update_ops): Fold new stmt in place.
652
6532023-03-19  Jakub Jelinek  <jakub@redhat.com>
654
655	Backported from master:
656	2023-02-09  Jakub Jelinek  <jakub@redhat.com>
657
658	PR target/100758
659	* common/config/i386/cpuinfo.h (cpu_indicator_init): Call
660	get_available_features for all CPUs with max_level >= 1, rather
661	than just Intel or AMD.
662
6632023-03-15  Richard Biener  <rguenther@suse.de>
664
665	Backported from master:
666	2023-03-01  Richard Biener  <rguenther@suse.de>
667
668	PR tree-optimization/108950
669	* tree-vect-patterns.cc (vect_recog_widen_sum_pattern):
670	Check oprnd0 is defined in the loop.
671	* tree-vect-loop.cc (vectorizable_reduction): Record all
672	operands vector types, compute that of invariants and
673	properly update their SLP nodes.
674
6752023-03-15  Richard Biener  <rguenther@suse.de>
676
677	Backported from master:
678	2023-02-17  Richard Biener  <rguenther@suse.de>
679
680	PR tree-optimization/108821
681	* tree-ssa-loop-im.cc (sm_seq_valid_bb): We can also not
682	move volatile accesses.
683
6842023-03-15  Richard Biener  <rguenther@suse.de>
685
686	Backported from master:
687	2023-02-20  Richard Biener  <rguenther@suse.de>
688
689	PR tree-optimization/108816
690	* tree-vect-loop-manip.cc (vect_loop_versioning): Adjust
691	versioning condition split prerequesite, assert required
692	invariant.
693
6942023-03-15  Richard Biener  <rguenther@suse.de>
695
696	Backported from master:
697	2023-02-21  Richard Biener  <rguenther@suse.de>
698
699	PR tree-optimization/108793
700	* tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
701	Use convert operands to niter_type when computing num.
702
7032023-03-15  Richard Biener  <rguenther@suse.de>
704
705	Backported from master:
706	2023-02-10  Richard Biener  <rguenther@suse.de>
707
708	PR tree-optimization/108724
709	* tree-vect-stmts.cc (vectorizable_operation): Avoid
710	using word_mode vectors when vector lowering will
711	decompose them to elementwise operations.
712
7132023-03-15  Richard Biener  <rguenther@suse.de>
714
715	Backported from master:
716	2023-02-02  Richard Biener  <rguenther@suse.de>
717
718	PR middle-end/108625
719	* genmatch.cc (expr::gen_transform): Also disallow resimplification
720	from pushing to lseq with force_leaf.
721	(dt_simplify::gen_1): Likewise.
722
7232023-03-15  Richard Biener  <rguenther@suse.de>
724
725	Backported from master:
726	2023-02-01  Richard Biener  <rguenther@suse.de>
727
728	PR middle-end/108500
729	* dominance.cc (assign_dfs_numbers): Replace recursive DFS
730	with tree traversal algorithm.
731
7322023-03-15  Richard Biener  <rguenther@suse.de>
733
734	Backported from master:
735	2022-12-22  Richard Biener  <rguenther@suse.de>
736
737	PR tree-optimization/107451
738	* tree-vect-stmts.cc (vectorizable_load): Avoid loading
739	SLP group members from group numbers in excess of the
740	vectorization factor.
741
7422023-03-15  Richard Biener  <rguenther@suse.de>
743
744	Backported from master:
745	2022-12-11  Richard Biener  <rguenther@suse.de>
746
747	PR tree-optimization/106904
748	* tree.h (strip_zero_offset_components): Declare.
749	* tree.cc (strip_zero_offset_components): Define.
750	* tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref):
751	Strip zero offset components before building the address.
752
7532023-03-14  Jan Hubicka  <jh@suse.cz>
754
755	Backported from master:
756	2023-03-06  Jan Hubicka  <hubicka@ucw.cz>
757
758	PR target/108429
759	* config/i386/x86-tune.def (X86_TUNE_USE_SCATTER_2PARTS): Enable for
760	generic.
761	(X86_TUNE_USE_SCATTER_4PARTS): Likewise.
762	(X86_TUNE_USE_SCATTER): Likewise.
763
7642023-03-14  Jan Hubicka  <jh@suse.cz>
765
766	Backported from master:
767	2023-02-07  Jan Hubicka  <jh@suse.cz>
768
769	* config/i386/x86-tune.def (X86_TUNE_AVX256_OPTIMAL): Turn off
770	for znver4.
771
7722023-03-11  Andrew Pinski  <apinski@marvell.com>
773
774	Backported from master:
775	2022-12-21  Andrew Pinski  <apinski@marvell.com>
776
777	PR tree-optimization/105532
778	* match.pd (~(X >> Y) -> ~X >> Y): Check if it is an integral
779	type before calling tree_nonzero_bits.
780	(popcount(X) + popcount(Y)): Likewise.
781	(popcount(X&C1)): Likewise.
782
7832023-03-10  Andrew Pinski  <apinski@marvell.com>
784
785	Backported from master:
786	2023-02-10  Andrew Pinski  <apinski@marvell.com>
787		    Andrew Macleod   <amacleod@redhat.com>
788
789	PR tree-optimization/108684
790	* tree-ssa-dce.cc (simple_dce_from_worklist):
791	Check all ssa names and not just non-vdef ones
792	before accepting the inline-asm.
793	Call unlink_stmt_vdef on the statement before
794	removing it.
795
7962023-03-08  Tobias Burnus  <tobias@codesourcery.com>
797
798	Backported from master:
799	2023-03-01  Tobias Burnus  <tobias@codesourcery.com>
800
801	PR middle-end/108546
802	* omp-low.cc (lower_omp_target): Remove optional handling
803	on the receiver side, i.e. inside target (data), for
804	use_device_ptr.
805
8062023-03-06  Xi Ruoyao  <xry111@xry111.site>
807
808	Backported from master:
809	2023-03-06  Xi Ruoyao  <xry111@xry111.site>
810
811	PR target/109000
812	* config/loongarch/loongarch.h (FP_RETURN): Use
813	TARGET_*_FLOAT_ABI instead of TARGET_*_FLOAT.
814	(UNITS_PER_FP_ARG): Likewise.
815
8162023-02-27  Martin Liska  <mliska@suse.cz>
817
818	Backported from master:
819	2023-02-24  Martin Liska  <mliska@suse.cz>
820
821	PR sanitizer/108834
822	* asan.cc (asan_add_global): Use proper TU name for normal
823	global variables (and aux_base_name for the artificial one).
824
8252023-02-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
826
827	Backported from master:
828	2023-02-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
829
830	* config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs.
831	Add non-compact 32-bit multilibs.
832
8332023-02-20  Alex Coplan  <alex.coplan@arm.com>
834
835	Backported from master:
836	2023-02-06  Alex Coplan  <alex.coplan@arm.com>
837
838	PR target/104921
839	* config/aarch64/aarch64-simd.md (aarch64_bfmlal<bt>_lane<q>v4sf):
840	Use correct constraint for operand 3.
841
8422023-02-18  Xi Ruoyao  <xry111@xry111.site>
843
844	Backported from master:
845	2023-02-18  Xi Ruoyao  <xry111@xry111.site>
846
847	* config.gcc (triplet_abi): Set its value based on $with_abi,
848	instead of $target.
849	(la_canonical_triplet): Set it after $triplet_abi is set
850	correctly.
851	* config/loongarch/t-linux (MULTILIB_OSDIRNAMES): Make the
852	multiarch tuple for lp64d "loongarch64-linux-gnu" (without
853	"f64" suffix).
854
8552023-02-15  Eric Botcazou  <ebotcazou@adacore.com>
856
857	PR target/90458
858	* config/i386/i386.cc (ix86_compute_frame_layout): Disable the
859	effects of -fstack-clash-protection for TARGET_STACK_PROBE.
860	(ix86_expand_prologue): Likewise.
861
8622023-02-15  Marek Polacek  <polacek@redhat.com>
863
864	Backported from master:
865	2023-02-15  Marek Polacek  <polacek@redhat.com>
866
867	PR middle-end/106080
868	* gimple-ssa-warn-access.cc (is_auto_decl): Remove.  Use auto_var_p
869	instead.
870
8712023-02-14  Eric Botcazou  <ebotcazou@adacore.com>
872
873	* gimplify.cc (gimplify_save_expr): Add missing guard.
874
8752023-02-13  Kewen Lin  <linkw@linux.ibm.com>
876
877	Backported from master:
878	2023-01-18  Kewen Lin  <linkw@linux.ibm.com>
879		    Andrew Pinski  <apinski@marvell.com>
880
881	PR target/108396
882	* config/rs6000/rs6000-overload.def (VEC_VSUBCUQ): Fix typo
883	vec_vsubcuqP with vec_vsubcuq.
884
8852023-02-13  Kewen Lin  <linkw@linux.ibm.com>
886
887	Backported from master:
888	2023-01-18  Kewen Lin  <linkw@linux.ibm.com>
889
890	PR target/108348
891	* config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
892	support for invalid uses of MMA opaque type in function arguments.
893
8942023-02-13  Kewen Lin  <linkw@linux.ibm.com>
895
896	Backported from master:
897	2023-01-16  Kewen Lin  <linkw@linux.ibm.com>
898
899	PR target/108272
900	* config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
901	support for invalid uses in inline asm, factor out the checking and
902	erroring to lambda function check_and_error_invalid_use.
903
9042023-02-11  John David Anglin  <danglin@gcc.gnu.org>
905
906	* config/pa/pa.cc (pa_option_override): Disable -fstack-protector.
907
9082023-02-10  Jakub Jelinek  <jakub@redhat.com>
909
910	Backported from master:
911	2023-01-31  Jakub Jelinek  <jakub@redhat.com>
912
913	PR c++/105593
914	* config/i386/avx512erintrin.h (_mm512_exp2a23_round_pd,
915	_mm512_exp2a23_round_ps, _mm512_rcp28_round_pd, _mm512_rcp28_round_ps,
916	_mm512_rsqrt28_round_pd, _mm512_rsqrt28_round_ps): Use
917	_mm512_undefined_pd () or _mm512_undefined_ps () instead of using
918	uninitialized automatic variable __W.
919
9202023-02-10  Jakub Jelinek  <jakub@redhat.com>
921
922	Backported from master:
923	2023-01-16  Jakub Jelinek  <jakub@redhat.com>
924
925	PR c++/105593
926	* config/i386/xmmintrin.h (_mm_undefined_ps): Temporarily
927	disable -Winit-self using pragma GCC diagnostic ignored.
928	* config/i386/emmintrin.h (_mm_undefined_pd, _mm_undefined_si128):
929	Likewise.
930	* config/i386/avxintrin.h (_mm256_undefined_pd, _mm256_undefined_ps,
931	_mm256_undefined_si256): Likewise.
932	* config/i386/avx512fintrin.h (_mm512_undefined_pd,
933	_mm512_undefined_ps, _mm512_undefined_epi32): Likewise.
934	* config/i386/avx512fp16intrin.h (_mm_undefined_ph,
935	_mm256_undefined_ph, _mm512_undefined_ph): Likewise.
936
9372023-02-10  Jakub Jelinek  <jakub@redhat.com>
938
939	Backported from master:
940	2023-01-19  Jakub Jelinek  <jakub@redhat.com>
941
942	PR tree-optimization/108440
943	* tree-ssa-forwprop.cc: Include gimple-range.h.
944	(simplify_rotate): For the forms with T2 wider than T and shift counts of
945	Y and B - Y add & (B - 1) masking for the rotate count if Y could be equal
946	to B.  For the forms with T2 wider than T and shift counts of
947	Y and (-Y) & (B - 1), don't punt if range could be [B, B2], but only if
948	range doesn't guarantee Y < B or Y = N * B.  If range doesn't guarantee
949	Y < B, also add & (B - 1) masking for the rotate count.  Use lazily created
950	pass specific ranger instead of get_global_range_query.
951	(pass_forwprop::execute): Disable that ranger at the end of pass if it has
952	been created.
953
9542023-02-10  Jakub Jelinek  <jakub@redhat.com>
955
956	Backported from master:
957	2023-01-17  Jakub Jelinek  <jakub@redhat.com>
958
959	PR tree-optimization/106523
960	* tree-ssa-forwprop.cc (simplify_rotate): For the
961	patterns with (-Y) & (B - 1) in one operand's shift
962	count and Y in another, if T2 has wider precision than T,
963	punt if Y could have a value in [B, B2 - 1] range.
964
9652023-02-10  Andrew Pinski  <apinski@marvell.com>
966
967	Backported from master:
968	2023-02-09  Andrew Pinski  <apinski@marvell.com>
969
970	PR tree-optimization/108688
971	* match.pd (bit_field_ref [bit_insert]): Avoid generating
972	BIT_FIELD_REFs of non-mode-precision integral operands.
973
9742023-02-10  Jakub Jelinek  <jakub@redhat.com>
975
976	Backported from master:
977	2023-02-08  Jakub Jelinek  <jakub@redhat.com>
978
979	PR tree-optimization/108692
980	* tree-vect-patterns.cc (vect_widened_op_tree): If rhs_code is
981	widened_code which is different from code, don't call
982	vect_look_through_possible_promotion but instead just check op is
983	SSA_NAME with integral type for which vect_is_simple_use is true
984	and call set_op on this_unprom.
985
9862023-02-10  Jakub Jelinek  <jakub@redhat.com>
987
988	Backported from master:
989	2023-02-02  Jakub Jelinek  <jakub@redhat.com>
990
991	PR middle-end/108435
992	* tree-nested.cc (convert_nonlocal_omp_clauses)
993	<case OMP_CLAUSE_LASTPRIVATE>: If info->new_local_var_chain and *seq
994	is not a GIMPLE_BIND, wrap the sequence into a new GIMPLE_BIND
995	before calling declare_vars.
996	(convert_nonlocal_omp_clauses) <case OMP_CLAUSE_LINEAR>: Merge
997	with the OMP_CLAUSE_LASTPRIVATE handling except for whether
998	seq is initialized to &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause)
999	or &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause).
1000
10012023-02-10  Jakub Jelinek  <jakub@redhat.com>
1002
1003	Backported from master:
1004	2023-02-01  Jakub Jelinek  <jakub@redhat.com>
1005
1006	PR debug/108573
1007	* ree.cc (combine_reaching_defs): Don't return false for paradoxical
1008	subregs in DEBUG_INSNs.
1009
10102023-02-10  Jakub Jelinek  <jakub@redhat.com>
1011
1012	Backported from master:
1013	2023-01-31  Jakub Jelinek  <jakub@redhat.com>
1014
1015	PR target/108599
1016	* config/i386/i386-expand.cc
1017	(ix86_convert_const_wide_int_to_broadcast): Return nullptr if
1018	CONST_WIDE_INT_NUNITS (op) times HOST_BITS_PER_WIDE_INT isn't
1019	equal to bitsize of mode.
1020
10212023-02-10  Jakub Jelinek  <jakub@redhat.com>
1022
1023	Backported from master:
1024	2023-01-31  Jakub Jelinek  <jakub@redhat.com>
1025
1026	PR rtl-optimization/108596
1027	* bb-reorder.cc (fix_up_fall_thru_edges): Handle the case where cur_bb
1028	ends with asm goto and has a crossing fallthrough edge to the same bb
1029	that contains at least one of its labels by restoring EDGE_CROSSING
1030	flag even on possible edge from cur_bb to new_bb successor.
1031
10322023-02-10  Jakub Jelinek  <jakub@redhat.com>
1033
1034	Backported from master:
1035	2023-01-27  Jakub Jelinek  <jakub@redhat.com>
1036
1037	PR other/108560
1038	* doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len
1039	from size_t to int.
1040
10412023-02-10  Jakub Jelinek  <jakub@redhat.com>
1042
1043	Backported from master:
1044	2023-01-25  Jakub Jelinek  <jakub@redhat.com>
1045
1046	PR tree-optimization/108498
1047	* gimple-ssa-store-merging.cc (class store_operand_info):
1048	End coment with full stop rather than comma.
1049	(split_group): Likewise.
1050	(merged_store_group::apply_stores): Clear string_concatenation if
1051	start or end aren't on a byte boundary.
1052
10532023-02-10  Eric Biggers  <ebiggers@google.com>
1054
1055	Backported from master:
1056	2023-01-24  Eric Biggers  <ebiggers@google.com>
1057
1058	PR bootstrap/90543
1059	* optc-save-gen.awk: Fix copy-and-paste error.
1060
10612023-02-10  Jakub Jelinek  <jakub@redhat.com>
1062
1063	Backported from master:
1064	2023-01-19  Jakub Jelinek  <jakub@redhat.com>
1065
1066	PR middle-end/108459
1067	* omp-expand.cc (expand_omp_for_init_counts): Use fold_build1 rather
1068	than fold_unary for NEGATE_EXPR.
1069
10702023-02-10  Jakub Jelinek  <jakub@redhat.com>
1071
1072	Backported from master:
1073	2023-01-04  Jakub Jelinek  <jakub@redhat.com>
1074
1075	PR middle-end/108237
1076	* generic-match-head.cc: Include tree-pass.h.
1077	(canonicalize_math_p, optimize_vectors_before_lowering_p): Define
1078	to false if cfun and cfun->curr_properties has PROP_gimple_opt_math
1079	resp. PROP_gimple_lvec property set.
1080
10812023-02-10  Jakub Jelinek  <jakub@redhat.com>
1082
1083	Backported from master:
1084	2023-01-03  Jakub Jelinek  <jakub@redhat.com>
1085
1086	PR middle-end/108264
1087	* expr.cc (store_expr): For stores into SUBREG_PROMOTED_* targets
1088	from source which doesn't have scalar integral mode first convert
1089	it to outer_mode.
1090
10912023-02-10  Jakub Jelinek  <jakub@redhat.com>
1092
1093	Backported from master:
1094	2022-12-23  Jakub Jelinek  <jakub@redhat.com>
1095
1096	PR tree-optimization/108068
1097	* tree.h (real_maybe_zerop): Declare.
1098	* tree.cc (real_maybe_zerop): Define.
1099	* tree-ssa-dom.cc (record_edge_info): Use it instead of
1100	real_zerop or TREE_CODE (op1) == SSA_NAME || real_zerop.  Always set
1101	can_infer_simple_equiv to false for decimal floating point types.
1102
11032023-02-10  Jakub Jelinek  <jakub@redhat.com>
1104
1105	Backported from master:
1106	2022-12-22  Jakub Jelinek  <jakub@redhat.com>
1107
1108	PR tree-optimization/108166
1109	* tree-ssa-phiopt.cc (value_replacement): For the maybe_equal_p
1110	case turned into equal_p reset SSA_NAME_RANGE_INFO of phi result.
1111
11122023-02-10  Jakub Jelinek  <jakub@redhat.com>
1113
1114	Backported from master:
1115	2022-12-22  Jakub Jelinek  <jakub@redhat.com>
1116
1117	PR rtl-optimization/108193
1118	* cse.cc (compute_const_anchors): Change n type to
1119	unsigned HOST_WIDE_INT, adjust comparison against it to avoid
1120	warnings.  Formatting fix.
1121	(insert_const_anchor): Use gen_int_mode instead of GEN_INT.
1122
11232023-02-10  Jakub Jelinek  <jakub@redhat.com>
1124
1125	Backported from master:
1126	2022-12-16  Jakub Jelinek  <jakub@redhat.com>
1127
1128	PR rtl-optimization/106751
1129	* loop-invariant.cc (move_invariant_reg): If preheader bb ends
1130	with a JUMP_INSN, split the preheader edge and emit invariants
1131	into the new preheader basic block.
1132
11332023-02-10  Jakub Jelinek  <jakub@redhat.com>
1134
1135	Backported from master:
1136	2022-12-15  Jakub Jelinek  <jakub@redhat.com>
1137
1138	PR tree-optimization/108095
1139	* tree-into-ssa.cc (maybe_register_def): Insert debug stmt
1140	on all non-EH edges from asm goto if they have a single
1141	predecessor rather than asserting there is at most one such edge.
1142	Test whether there are no PHI nodes next to the single predecessor
1143	test.
1144
11452023-02-10  Jakub Jelinek  <jakub@redhat.com>
1146
1147	Backported from master:
1148	2022-12-10  Jakub Jelinek  <jakub@redhat.com>
1149
1150	PR tree-optimization/107997
1151	* tree-ssa-loop-ivopts.cc: Include cfganal.h.
1152	(create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends
1153	with a stmt which ends bb, instead of adding iv update after it split
1154	the latch edge and insert iterator into the new latch bb.
1155
11562023-02-10  Jakub Jelinek  <jakub@redhat.com>
1157
1158	Backported from master:
1159	2022-12-08  Jakub Jelinek  <jakub@redhat.com>
1160
1161	PR debug/106719
1162	* cfgbuild.cc (find_bb_boundaries): If there are NOTEs in between
1163	debug_insn (seen after flow_transfer_insn) and insn, move NOTEs
1164	before all the DEBUG_INSNs and split after NOTEs.  If there are
1165	other insns like jump table data, clear debug_insn.
1166
11672023-02-10  Jakub Jelinek  <jakub@redhat.com>
1168
1169	Backported from master:
1170	2022-11-28  Jakub Jelinek  <jakub@redhat.com>
1171
1172	PR target/106875
1173	* config/i386/i386.opt (x_ix86_abi): Remove TargetSave.
1174	(ix86_abi): Replace it with TargetVariable.
1175	* config/i386/i386-options.cc (ix86_function_specific_save,
1176	ix86_function_specific_restore): Don't save and restore x_ix86_abi.
1177
11782023-02-10  Jakub Jelinek  <jakub@redhat.com>
1179
1180	Backported from master:
1181	2022-11-24  Jakub Jelinek  <jakub@redhat.com>
1182
1183	PR middle-end/107317
1184	* asan.cc: Include diagnostic-core.h.
1185	(asan_emit_stack_protection): Return NULL early if seen_error ().
1186
11872023-02-07  Andrew Pinski  <apinski@marvell.com>
1188
1189	Backported from master:
1190	2023-01-30  Andrew Pinski  <apinski@marvell.com>
1191
1192	PR tree-optimization/108582
1193	* tree-ssa-phiopt.cc (match_simplify_replacement): Add check
1194	for middlebb to have no phi nodes.
1195
11962023-02-07  Siddhesh Poyarekar  <siddhesh@gotplt.org>
1197
1198	Backported from master:
1199	2023-01-26  Siddhesh Poyarekar  <siddhesh@gotplt.org>
1200
1201	PR tree-optimization/108522
1202	* tree-object-size.cc (compute_object_offset): Make EXPR
1203	argument non-const.  Call component_ref_field_offset.
1204
12052023-02-07  Siddhesh Poyarekar  <siddhesh@gotplt.org>
1206
1207	Backported from master:
1208	2023-01-25  Siddhesh Poyarekar  <siddhesh@gotplt.org>
1209		    Jakub Jelinek  <jakub@redhat.com>
1210
1211	PR tree-optimization/108522
1212	* tree-object-size.cc (compute_object_offset): Use
1213	TREE_OPERAND(ref, 2) for COMPONENT_REF when available.
1214
12152023-02-01  Martin Jambor  <mjambor@suse.cz>
1216
1217	Backported from master:
1218	2023-01-18  Martin Jambor  <mjambor@suse.cz>
1219
1220	PR ipa/107944
1221	* cgraph.cc (cgraph_node::remove): Check whether nodes up the
1222	lcone_of chain also do not need the body.
1223
12242023-01-30  Andrew MacLeod  <amacleod@redhat.com>
1225
1226	PR tree-optimization/108306
1227	* range-op.cc (operator_lshift::fold_range): Return [0, 0] not
1228	varying for shifts that are always out of void range.
1229	(operator_rshift::fold_range): Return [0, 0] not
1230	varying for shifts that are always out of void range.
1231
12322023-01-30  liuhongt  <hongtao.liu@intel.com>
1233
1234	* config/i386/i386.opt: Change AVX512FP16 to AVX512-FP16.
1235	* doc/invoke.texi: Ditto.
1236
12372023-01-29  Jan Hubicka  <jh@suse.cz>
1238
1239	Backported from master:
1240	2023-01-16  Jan Hubicka  <jh@suse.cz>
1241
1242	* config/i386/i386.cc (ix86_vectorize_builtin_scatter): Guard scatter
1243	by TARGET_USE_SCATTER.
1244	* config/i386/i386.h (TARGET_USE_SCATTER_2PARTS,
1245	TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New macros.
1246	* config/i386/x86-tune.def (TARGET_USE_SCATTER_2PARTS,
1247	TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New tunes.
1248	(X86_TUNE_AVOID_256FMA_CHAINS, X86_TUNE_AVOID_512FMA_CHAINS): Disable
1249	for znver4.  (X86_TUNE_USE_GATHER): Disable for zen4.
1250
12512023-01-29  Jan Hubicka  <jh@suse.cz>
1252
1253	Backported from master:
1254	2022-12-22  Jan Hubicka  <hubicka@ucw.cz>
1255
1256	* config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Add
1257	TARGET_AVX512_SPLIT_REGS
1258	* config/i386/i386-options.cc (ix86_option_override_internal):
1259	Honor x86_TONE_AVOID_256FMA_CHAINS.
1260	* config/i386/i386.cc (ix86_vec_cost): Honor TARGET_AVX512_SPLIT_REGS.
1261	(ix86_reassociation_width): Likewise.
1262	* config/i386/i386.h (TARGET_AVX512_SPLIT_REGS): New tune.
1263	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable
1264	for znver4.
1265	(X86_TUNE_USE_GATHER_4PARTS): Likewise.
1266	(X86_TUNE_AVOID_256FMA_CHAINS): Set for znver4.
1267	(X86_TUNE_AVOID_512FMA_CHAINS): New utne; set for znver4.
1268	(X86_TUNE_AVX256_OPTIMAL): Add znver4.
1269	(X86_TUNE_AVX512_SPLIT_REGS): New tune.
1270	(X86_TUNE_AVX256_MOVE_BY_PIECES): Add znver1-3.
1271	(X86_TUNE_AVX256_STORE_BY_PIECES): Add znver1-3.
1272	(X86_TUNE_AVX512_MOVE_BY_PIECES): Add znver4.
1273	(X86_TUNE_AVX512_STORE_BY_PIECES): Add znver4.
1274
12752023-01-29  Jan Hubicka  <jh@suse.cz>
1276
1277	Backported from master:
1278	2022-12-22  Jan Hubicka  <hubicka@ucw.cz>
1279
1280	* config/i386/x86-tune-costs.h (znver4_cost): Upate costs of FP and SSE
1281	moves, division multiplication, gathers, L2 cache size, and more
1282	complex FP instrutions.
1283
12842023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
1285
1286	Backported from master:
1287	2023-01-05  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
1288
1289	* common/config/i386/i386-common.cc (processor_alias_table):
1290	Use CPU_ZNVER4 for znver4.
1291	* config/i386/i386.md: Add znver4.md.
1292	* config/i386/znver4.md: New.
1293
12942023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
1295
1296	Backported from master:
1297	2022-10-25  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
1298
1299	* common/config/i386/i386-common.cc (processor_alias_table): Use
1300	CPU_ZNVER3 for znver4.
1301	* config/i386/znver.md: Remove znver4 reservations.
1302
13032023-01-28  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
1304
1305	Backported from master:
1306	2022-10-21  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
1307
1308	* common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
1309	* common/config/i386/i386-common.cc (processor_names): Add znver4.
1310	(processor_alias_table): Add znver4 and modularize old znvers.
1311	* common/config/i386/i386-cpuinfo.h (processor_subtypes):
1312	AMDFAM19H_ZNVER4.
1313	* config.gcc (x86_64-*-* |...): Likewise.
1314	* config/i386/driver-i386.cc (host_detect_local_cpu): Let
1315	-march=native recognize znver4 cpus.
1316	* config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
1317	* config/i386/i386-options.cc (m_ZNVER4): New definition.
1318	(m_ZNVER): Include m_ZNVER4.
1319	(processor_cost_table): Add znver4.
1320	* config/i386/i386.cc (ix86_reassociation_width): Likewise.
1321	* config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
1322	(PTA_ZNVER1): New definition.
1323	(PTA_ZNVER2): Likewise.
1324	(PTA_ZNVER3): Likewise.
1325	(PTA_ZNVER4): Likewise.
1326	* config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
1327	md file.
1328	* config/i386/x86-tune-costs.h (znver4_cost): New definition.
1329	* config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
1330	(ix86_adjust_cost): Likewise.
1331	* config/i386/znver1.md: Rename to znver.md.
1332	* config/i386/znver.md: Add new reservations for znver4.
1333	* doc/extend.texi: Add details about znver4.
1334	* doc/invoke.texi: Likewise.
1335
13362023-01-27  Andre Vieira  <andre.simoesdiasvieira@arm.com>
1337
1338	Backported from master:
1339	2022-12-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
1340
1341	PR target/107987
1342	* config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>,
1343	@mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar
1344	operand.
1345
13462023-01-26  Marek Polacek  <polacek@redhat.com>
1347
1348	Backported from master:
1349	2023-01-26  Marek Polacek  <polacek@redhat.com>
1350
1351	PR middle-end/108543
1352	* opts.cc (parse_sanitizer_options): Don't always clear SANITIZE_ADDRESS
1353	if it was previously set.
1354
13552023-01-26  Dimitar Dimitrov  <dimitar@dinux.eu>
1356
1357	Backported from master:
1358	2023-01-22  Dimitar Dimitrov  <dimitar@dinux.eu>
1359
1360	* config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix value for QI
1361	and HI input modes.
1362	* config/pru/pru.md (clz): Fix generated code for QI and HI
1363	input modes.
1364
13652023-01-25  Christophe Lyon  <christophe.lyon@arm.com>
1366
1367	Backported from master:
1368	2023-01-12  Christophe Lyon  <christophe.lyon@arm.com>
1369		    Richard Sandiford  <richard.sandiford@arm.com>
1370
1371	* config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Fix
1372	comment.
1373	(aarch64_layout_arg): Factorize warning conditions.
1374	(aarch64_function_arg_boundary): Fix typo.
1375	* function.cc (currently_expanding_function_start): New variable.
1376	(expand_function_start): Handle
1377	currently_expanding_function_start.
1378	* function.h (currently_expanding_function_start): Declare.
1379
13802023-01-24  Richard Biener  <rguenther@suse.de>
1381
1382	Backported from master:
1383	2022-12-19  Richard Biener  <rguenther@suse.de>
1384
1385	PR tree-optimization/108164
1386	* tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
1387	Perform vect_step_op_add update in the appropriate type.
1388
13892023-01-24  Richard Biener  <rguenther@suse.de>
1390
1391	Backported from master:
1392	2022-12-13  Richard Biener  <rguenther@suse.de>
1393
1394	PR tree-optimization/108076
1395	* tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks
1396	with non-local or forced labels that we later remove
1397	labels from.
1398
13992023-01-24  Richard Biener  <rguenther@suse.de>
1400
1401	Backported from master:
1402	2022-12-21  Richard Biener  <rguenther@suse.de>
1403
1404	PR middle-end/107994
1405	* gimplify.cc (gimplify_expr): Catch errorneous comparison
1406	operand.
1407
14082023-01-24  Richard Biener  <rguenther@suse.de>
1409
1410	Backported from master:
1411	2022-11-11  Richard Biener  <rguenther@suse.de>
1412		    Nikita Voronov  <nik_1357@mail.ru>
1413
1414	PR tree-optimization/107554
1415	* tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
1416	Use unsigned HOST_WIDE_INT type for the strlen.
1417
14182023-01-24  Sergei Trofimovich  <siarheit@google.com>
1419
1420	Backported from master:
1421	2022-08-16  Sergei Trofimovich  <siarheit@google.com>
1422
1423	PR driver/106624
1424	* gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
1425	argument using xstrdup().
1426
14272023-01-23  Andreas Krebbel  <krebbel@linux.ibm.com>
1428
1429	Backported from master:
1430	2022-08-25  Andreas Krebbel  <krebbel@linux.ibm.com>
1431
1432	PR target/106101
1433	* config/s390/predicates.md (subreg_register_operand): New
1434	predicate.
1435	* config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
1436	function prototype.
1437	* config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
1438	(s390_expand_insv): Use s390_gen_lowpart_subreg instead of
1439	gen_lowpart.
1440	* config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
1441	("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
1442	("movstrictqi", "movstricthi", "movstrictsi"): Use the
1443	subreg_register_operand predicate instead of register_operand.
1444
14452023-01-11  Eric Botcazou  <ebotcazou@adacore.com>
1446
1447	PR tree-optimization/108199
1448	* tree-sra.cc (sra_modify_expr): Deal with reverse storage order
1449	for bit-field references.
1450
14512023-01-11  Martin Liska  <mliska@suse.cz>
1452
1453	Backported from master:
1454	2022-12-28  Martin Liska  <mliska@suse.cz>
1455
1456	PR tree-optimization/108137
1457	* tree-ssa-strlen.cc (get_range_strlen_phi): Reject anything
1458	different from INTEGER_CST.
1459
14602023-01-10  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
1461
1462	Backported from master:
1463	2022-12-30  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
1464
1465	PR target/107714
1466	* config/arm/arm-protos.h (mve_struct_mem_operand): New protoype.
1467	* config/arm/arm.cc (mve_struct_mem_operand): New function.
1468	* config/arm/constraints.md (Ug): New constraint.
1469	* config/arm/mve.md (mve_vst4q<mode>): Change constraint.
1470	(mve_vst2q<mode>): Likewise.
1471	(mve_vld4q<mode>): Likewise.
1472	(mve_vld2q<mode>): Likewise.
1473	* config/arm/predicates.md (mve_struct_operand): New predicate.
1474
14752023-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1476
1477	Backported from master:
1478	2022-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1479
1480	PR target/108140
1481	* config/aarch64/aarch64-builtins.cc
1482	(aarch64_expand_builtin_data_intrinsic): Handle NULL target.
1483
14842023-01-05  Kewen Lin  <linkw@linux.ibm.com>
1485
1486	PR target/106736
1487	* config/rs6000/mma.md (define_expand movoo): Call function
1488	rs6000_opaque_type_invalid_use_p to check and emit error message for
1489	the invalid use of opaque type.
1490	(define_expand movxo): Likewise.
1491	* config/rs6000/rs6000-protos.h
1492	(rs6000_opaque_type_invalid_use_p): New function declaration.
1493	(currently_expanding_gimple_stmt): New extern declaration.
1494	* config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): New
1495	function.
1496
14972022-12-22  Richard Biener  <rguenther@suse.de>
1498
1499	Backported from master:
1500	2022-12-22  Richard Biener  <rguenther@suse.de>
1501
1502	PR bootstrap/106482
1503	* doc/install.texi (ISO C++11 Compiler): Document GCC version
1504	known to work.
1505
15062022-12-22  Martin Liska  <mliska@suse.cz>
1507
1508	Backported from master:
1509	2022-08-10  Martin Liska  <mliska@suse.cz>
1510
1511	* opts-jobserver.h: Add one member.
1512	* opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
1513	format of --jobserver-auth.
1514
15152022-12-22  Martin Liska  <mliska@suse.cz>
1516
1517	Backported from master:
1518	2022-08-10  Martin Liska  <mliska@suse.cz>
1519
1520	* gcc.cc (driver::detect_jobserver): Remove and move to
1521	jobserver.h.
1522	* lto-wrapper.cc (jobserver_active_p): Likewise.
1523	(run_gcc): Likewise.
1524	* opts-jobserver.h: New file.
1525	* opts-common.cc (jobserver_info::jobserver_info): New function.
1526
15272022-12-20  Richard Biener  <rguenther@suse.de>
1528
1529	Backported from master:
1530	2022-12-20  Richard Biener  <rguenther@suse.de>
1531
1532	PR d/104749
1533	* doc/install.texi (GDC): Document GDC 9.4 or later is required
1534	to build the D language frontend.
1535
15362022-12-20  Hongyu Wang  <hongyu.wang@intel.com>
1537
1538	* config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add
1539	m_SAPPHIRERAPIDS, m_ALDERLAKE.
1540
15412022-12-15  Sebastian Pop  <spop@amazon.com>
1542
1543	PR target/98776
1544	* config/aarch64/aarch64-protos.h (aarch64_output_patchable_area):
1545	Declared.
1546	* config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry):
1547	Emit an UNSPECV_PATCHABLE_AREA pseudo instruction.
1548	(aarch64_output_patchable_area): New.
1549	* config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New.
1550	(patchable_area): Define.
1551
15522022-12-13  Alex Coplan  <alex.coplan@arm.com>
1553
1554	Backported from master:
1555	2022-12-01  Alex Coplan  <alex.coplan@arm.com>
1556
1557	* varasm.cc (assemble_variable): Fix type confusion bug when
1558	checking for ".vtable_map_vars" section.
1559
15602022-12-12  Richard Biener  <rguenther@suse.de>
1561
1562	Backported from master:
1563	2022-11-29  Richard Biener  <rguenther@suse.de>
1564
1565	PR tree-optimization/107898
1566	* gimple-ssa-warn-alloca.cc (alloca_call_type): Check
1567	the type of the alloca argument is compatible with size_t
1568	before querying ranges.
1569
15702022-12-12  Richard Biener  <rguenther@suse.de>
1571
1572	Backported from master:
1573	2022-11-25  Richard Biener  <rguenther@suse.de>
1574
1575	PR tree-optimization/107865
1576	* tree-cfg.cc (move_sese_region_to_fn): Free the number of
1577	iterations of moved loops.
1578
15792022-12-12  Richard Biener  <rguenther@suse.de>
1580
1581	Backported from master:
1582	2022-12-05  Richard Biener  <rguenther@suse.de>
1583
1584	PR tree-optimization/107833
1585	PR tree-optimization/107839
1586	* cfghooks.cc: Include tree.h.
1587	* tree-ssa-loop-im.cc (movement_possibility): Wrap and
1588	make stmts using any ssa_name_maybe_undef_p operand
1589	to preserve execution.
1590	(loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs
1591	to init maybe-undefined status.
1592	* tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p,
1593	ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p,
1594	mark_ssa_maybe_undefs): Move ...
1595	* tree-ssa.cc: ... here.
1596	* tree-ssa.h (ssa_name_any_use_dominates_bb_p,
1597	mark_ssa_maybe_undefs): Declare.
1598	(ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define.
1599
16002022-12-12  Richard Biener  <rguenther@suse.de>
1601
1602	Backported from master:
1603	2022-11-16  Richard Biener  <rguenther@suse.de>
1604
1605	PR tree-optimization/107686
1606	* tree-ssa-forwprop.cc (optimize_vector_load): Restrict
1607	VEC_UNPACK support to integral typed bitfield refs.
1608
16092022-12-12  Richard Biener  <rguenther@suse.de>
1610
1611	Backported from master:
1612	2022-11-22  Richard Biener  <rguenther@suse.de>
1613
1614	PR tree-optimization/107766
1615	* tree-vect-slp-patterns.cc (complex_mul_pattern::matches):
1616	Use *node to check for FP vector types.
1617
16182022-12-12  Richard Biener  <rguenther@suse.de>
1619
1620	Backported from master:
1621	2022-11-18  Richard Biener  <rguenther@suse.de>
1622
1623	PR tree-optimization/107647
1624	* tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only
1625	allow FMA generation with -ffp-contract=fast for FP types.
1626	(complex_mul_pattern::matches): Likewise.
1627
16282022-12-12  Richard Biener  <rguenther@suse.de>
1629
1630	Backported from master:
1631	2022-10-28  Richard Biener  <rguenther@suse.de>
1632
1633	PR tree-optimization/107407
1634	* tree-ssa-dse.cc (dse_classify_store): Perform backedge
1635	varying index check when collecting PHI uses rather than
1636	after optimizing processing of the candidate defs.
1637
16382022-12-12  Richard Biener  <rguenther@suse.de>
1639
1640	Backported from master:
1641	2022-12-05  Richard Biener  <rguenther@suse.de>
1642
1643	PR tree-optimization/106868
1644	* gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref):
1645	Inline into single user ...
1646	(pass_waccess::check_dangling_uses): ... here and adjust the
1647	call and the PHI case to require that ref.aref is the address
1648	of the decl.
1649
16502022-12-09  Martin Liska  <mliska@suse.cz>
1651
1652	Backported from master:
1653	2022-12-09  Martin Liska  <mliska@suse.cz>
1654
1655	* config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path
1656	as for PR103661.
1657	* doc/extend.texi: Fix "x86-64" use.
1658
16592022-12-09  Martin Liska  <mliska@suse.cz>
1660
1661	Backported from master:
1662	2022-05-11  Martin Liska  <mliska@suse.cz>
1663
1664	* common/config/i386/cpuinfo.h (has_cpu_feature): Directly
1665	compute index in cpu_features2.
1666	(set_cpu_feature): Likewise.
1667	* config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
1668	loop for cpu_features2 and use NOP_EXPRs.
1669
16702022-12-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1671
1672	Backported from master:
1673	2022-11-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1674
1675	* config/aarch64/aarch64.md (aarch64_cpymemdi): Specify clobber of CC reg.
1676	(*aarch64_cpymemdi): Likewise.
1677	(aarch64_movmemdi): Likewise.
1678	(aarch64_setmemdi): Likewise.
1679	(*aarch64_setmemdi): Likewise.
1680
16812022-12-05  Andrew Pinski  <pinskia@gmail.com>
1682
1683	Backported from master:
1684	2022-12-05  Andrew Pinski  <pinskia@gmail.com>
1685
1686	PR tree-optimization/107956
1687	* tree-vect-patterns.cc (vect_recog_mask_conversion_pattern):
1688	Check for NULL LHS on masked loads.
1689
16902022-12-01  liuhongt  <hongtao.liu@intel.com>
1691
1692	PR target/107863
1693	* config/i386/i386-expand.cc (ix86_expand_vec_set_builtin):
1694	Convert op1 to target mode whenever mode mismatch.
1695
16962022-11-30  Iain Buclaw  <ibuclaw@gdcproject.org>
1697
1698	Backported from master:
1699	2022-09-08  Iain Buclaw  <ibuclaw@gdcproject.org>
1700
1701	* config/darwin-d.cc: Include tm.h.
1702	* config/dragonfly-d.cc: Likewise.
1703	* config/freebsd-d.cc: Remove memmodel.h.
1704	* config/glibc-d.cc: Likewise.
1705	* config/netbsd-d.cc: Include tm.h.
1706	* config/openbsd-d.cc: Likewise.
1707	* config/sol2-d.cc: Likewise.
1708
17092022-11-30  Iain Buclaw  <ibuclaw@gdcproject.org>
1710
1711	Backported from master:
1712	2022-09-02  Iain Buclaw  <ibuclaw@gdcproject.org>
1713
1714	PR d/105659
1715	* config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
1716	* config/aarch64/aarch64-d.cc: Include tm_d.h.
1717	* config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
1718	config/aarch64/aarch64-d.h.
1719	(aarch64_d_register_target_info): Likewise.
1720	* config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
1721	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1722	* config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
1723	tm_p.h.
1724	* config/arm/arm-protos.h (arm_d_target_versions): Move to
1725	config/arm/arm-d.h.
1726	(arm_d_register_target_info): Likewise.
1727	* config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
1728	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1729	* config/default-d.cc: Remove memmodel.h include.
1730	* config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
1731	* config/glibc-d.cc: Likewise.
1732	* config/i386/i386-d.cc: Include tm_d.h.
1733	* config/i386/i386-protos.h (ix86_d_target_versions): Move to
1734	config/i386/i386-d.h.
1735	(ix86_d_register_target_info): Likewise.
1736	(ix86_d_has_stdcall_convention): Likewise.
1737	* config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
1738	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1739	(TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
1740	* config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
1741	* config/mips/mips-d.cc: Include tm_d.h.
1742	* config/mips/mips-protos.h (mips_d_target_versions): Move to
1743	config/mips/mips-d.h.
1744	(mips_d_register_target_info): Likewise.
1745	* config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
1746	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1747	* config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
1748	* config/openbsd-d.cc: Likewise.
1749	* config/pa/pa-d.cc: Include tm_d.h.
1750	* config/pa/pa-protos.h (pa_d_target_versions): Move to
1751	config/pa/pa-d.h.
1752	(pa_d_register_target_info): Likewise.
1753	* config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
1754	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1755	* config/riscv/riscv-d.cc: Include tm_d.h.
1756	* config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
1757	config/riscv/riscv-d.h.
1758	(riscv_d_register_target_info): Likewise.
1759	* config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
1760	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1761	* config/rs6000/rs6000-d.cc: Include tm_d.h.
1762	* config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
1763	config/rs6000/rs6000-d.h.
1764	(rs6000_d_register_target_info): Likewise.
1765	* config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
1766	(TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
1767	* config/s390/s390-d.cc: Include tm_d.h.
1768	* config/s390/s390-protos.h (s390_d_target_versions): Move to
1769	config/s390/s390-d.h.
1770	(s390_d_register_target_info): Likewise.
1771	* config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
1772	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1773	* config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
1774	* config/sparc/sparc-d.cc: Include tm_d.h.
1775	* config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
1776	config/sparc/sparc-d.h.
1777	(sparc_d_register_target_info): Likewise.
1778	* config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
1779	(TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1780	* configure: Regenerate.
1781	* configure.ac (tm_d_file): Remove defaults.h.
1782	(tm_d_include_list): Remove options.h and insn-constants.h.
1783	* config/aarch64/aarch64-d.h: New file.
1784	* config/arm/arm-d.h: New file.
1785	* config/i386/i386-d.h: New file.
1786	* config/mips/mips-d.h: New file.
1787	* config/pa/pa-d.h: New file.
1788	* config/riscv/riscv-d.h: New file.
1789	* config/rs6000/rs6000-d.h: New file.
1790	* config/s390/s390-d.h: New file.
1791	* config/sparc/sparc-d.h: New file.
1792
17932022-11-30  John David Anglin  <danglin@gcc.gnu.org>
1794
1795	* config/pa/pa.md (addvdi3): Force operand 2 to a register.
1796	Remove "addi,tsv,*" instruction from unamed pattern.
1797	(subvdi3): Force operand 1 to a register.
1798	Remove "subi,tsv" instruction from from unamed pattern.
1799
18002022-11-29  Max Filippov  <jcmvbkbc@gmail.com>
1801
1802	Backported from master:
1803	2022-11-08  Max Filippov  <jcmvbkbc@gmail.com>
1804
1805	PR rtl-optimization/107482
1806	* ira-color.cc (assign_hard_reg): Only call
1807	update_costs_from_copies when retry_p is false.
1808
18092022-11-25  Eric Botcazou  <ebotcazou@adacore.com>
1810
1811	* range-op.cc (operator_bitwise_xor::op1_range): Fix thinko.
1812
18132022-11-25  Eric Botcazou  <ebotcazou@adacore.com>
1814
1815	* tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst):
1816	Bail out if source and destination do not have the same storage order.
1817
18182022-11-21  Jakub Jelinek  <jakub@redhat.com>
1819
1820	Backported from master:
1821	2022-11-21  Jakub Jelinek  <jakub@redhat.com>
1822
1823	PR target/107748
1824	* config/i386/avx512fp16intrin.h (_mm512_castph512_ph128,
1825	_mm512_castph512_ph256, _mm512_castph128_ph512,
1826	_mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local
1827	variables and union members.
1828	* config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128,
1829	_mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise.
1830	* config/i386/smmintrin.h (_mm_extract_ps): Likewise.
1831	* config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Likewise.
1832
18332022-11-20  Jakub Jelinek  <jakub@redhat.com>
1834
1835	Backported from master:
1836	2022-11-20  Jakub Jelinek  <jakub@redhat.com>
1837
1838	PR target/107183
1839	* reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument.
1840	If >= 0 and a DEBUG_INSN would be otherwise returned, set
1841	DEBUG_SEEN to 1 and ignore it.
1842	(swap_rtx_condition): Add DEBUG_SEEN argument.  In >= 0
1843	mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs
1844	were seen and revert all changes on success in that case.
1845	Don't try to recog_memoized DEBUG_INSNs.
1846	(compare_for_stack_reg): Adjust swap_rtx_condition caller.
1847	If it returns true and debug_seen is 1, call swap_rtx_condition
1848	again with debug_seen -1.
1849
18502022-11-19  Thomas Schwinge  <thomas@codesourcery.com>
1851
1852	Backported from master:
1853	2022-11-19  Thomas Schwinge  <thomas@codesourcery.com>
1854
1855	* config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for
1856	'-mmainkernel'.
1857
18582022-11-19  Jinyang He  <hejinyang@loongson.cn>
1859
1860	Backported from master:
1861	2022-11-18  Jinyang He  <hejinyang@loongson.cn>
1862
1863	PR target/107713
1864	* config/loongarch/sync.md
1865	(atomic_cas_value_exchange_7_<mode>): New define_insn.
1866	(atomic_exchange): Use atomic_cas_value_exchange_7_si instead of
1867	atomic_cas_value_cmp_and_7_si.
1868
18692022-11-16  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1870
1871	Backported from master:
1872	2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1873
1874	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a.
1875	* config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs.
1876	* config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
1877	Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two
1878	registers and then +1/-1).
1879	* config/aarch64/aarch64-tune.md: Regenerate.
1880	* config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement
1881	idiom-matcher for the new fusion pair.
1882	* doc/invoke.texi: Add ampere1a.
1883
18842022-11-16  Martin Jambor  <mjambor@suse.cz>
1885
1886	Backported from master:
1887	2022-10-19  Martin Jambor  <mjambor@suse.cz>
1888
1889	PR tree-optimization/107206
1890	* tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
1891	(analyze_access_subtree): Do not create replacements for accesses with
1892	this flag when not toally scalarizing.
1893	(propagate_subaccesses_from_lhs): Set the new flag.
1894
18952022-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1896
1897	* alias.cc (init_alias_analysis): Do not record sets to the hard
1898	frame pointer if the frame pointer has not been eliminated.
1899
19002022-11-08  H.J. Lu  <hjl.tools@gmail.com>
1901
1902	Backported from master:
1903	2022-10-25  H.J. Lu  <hjl.tools@gmail.com>
1904
1905	PR target/107304
1906	* expr.cc (get_inner_reference): Always use TYPE_MODE for vector
1907	field with vector raw mode.
1908
19092022-11-07  Cui,Lili  <lili.cui@intel.com>
1910
1911	* config/i386/driver-i386.cc (host_detect_local_cpu):
1912	Move sapphirerapids out of AVX512_VP2INTERSECT.
1913	* config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
1914	* doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
1915
19162022-11-05  Jonathan Wakely  <jwakely@redhat.com>
1917
1918	Backported from master:
1919	2022-11-05  Jonathan Wakely  <jwakely@redhat.com>
1920
1921	PR c/41041
1922	* doc/cppopts.texi: Document -fwide-exec-charset defaults
1923	correctly.
1924
19252022-11-04  Eric Botcazou  <ebotcazou@adacore.com>
1926
1927	* fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
1928	Do not take into account operand 2.
1929	(operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
1930
19312022-11-03  Uros Bizjak  <ubizjak@gmail.com>
1932
1933	Backported from master:
1934	2022-11-03  Uroš Bizjak  <ubizjak@gmail.com>
1935
1936	PR target/107404
1937	* config/i386/i386.md (eliminate reg-reg move by inverting the
1938	condition of a cmove #2 peephole2): Check if eliminated move
1939	initialized a register, used in the moved instruction.
1940
19412022-11-03  Jakub Jelinek  <jakub@redhat.com>
1942
1943	Backported from master:
1944	2022-10-02  Jakub Jelinek  <jakub@redhat.com>
1945
1946	PR tree-optimization/107121
1947	* tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
1948	DEFFERED_INIT -> DEFERRED_INIT.
1949
19502022-11-03  Jakub Jelinek  <jakub@redhat.com>
1951
1952	Backported from master:
1953	2022-09-24  Jakub Jelinek  <jakub@redhat.com>
1954
1955	PR c/107001
1956	* omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
1957	at the end.
1958	* omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
1959	is not stand-alone directive.  For GIMPLE_OMP_TASKGROUP, also don't
1960	update parent.
1961	(omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
1962	cur_region back after new_omp_region.
1963
19642022-10-28  Julian Brown  <julian@codesourcery.com>
1965
1966	Backported from master:
1967	2022-10-28  Julian Brown  <julian@codesourcery.com>
1968		    Thomas Schwinge  <thomas@codesourcery.com>
1969
1970	PR middle-end/90115
1971	* omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
1972	privatization candidates.
1973
19742022-10-27  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
1975
1976	Backported from master:
1977	2022-10-27  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
1978		    Yvan ROUX  <yvan.roux@foss.st.com>
1979
1980	* ira.cc: Resize array after reg number increased.
1981
19822022-10-26  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1983
1984	Backported from master:
1985	2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1986
1987	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
1988	Ampere-1 core entry.
1989
19902022-10-26  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1991
1992	Backported from master:
1993	2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1994
1995	* config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
1996
19972022-10-25  Eric Botcazou  <ebotcazou@adacore.com>
1998
1999	* profile.cc (branch_prob): Be prepared for ignored functions with
2000	DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
2001
20022022-10-25  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
2003
2004	Backported from master:
2005	2022-10-19  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
2006
2007	PR target/106355
2008	* config/s390/s390.cc (s390_call_saved_register_used): For a
2009	parameter with BLKmode fix determining number of consecutive
2010	registers.
2011
20122022-10-25  Martin Liska  <mliska@suse.cz>
2013
2014	Backported from master:
2015	2022-10-25  Martin Liska  <mliska@suse.cz>
2016
2017	PR target/107364
2018	* common/config/i386/i386-cpuinfo.h (enum processor_vendor):
2019	Fix pedantic warning.
2020
20212022-10-25  Martin Liska  <mliska@suse.cz>
2022
2023	Backported from master:
2024	2022-10-24  Martin Liska  <mliska@suse.cz>
2025
2026	PR target/107364
2027	* common/config/i386/i386-cpuinfo.h (enum processor_vendor):
2028	  Reorder enum values as BUILTIN_VENDOR_MAX should not point
2029	  in the middle of the valid enum values.
2030
20312022-10-21  Julian Brown  <julian@codesourcery.com>
2032
2033	Backported from master:
2034	2022-10-20  Julian Brown  <julian@codesourcery.com>
2035
2036	PR target/105421
2037	* config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
2038	argument forces FLAT addressing mode, not just
2039	pointer-to-non-aggregate.
2040
20412022-10-21  Richard Biener  <rguenther@suse.de>
2042
2043	Backported from master:
2044	2022-10-21  Richard Biener  <rguenther@suse.de>
2045
2046	PR tree-optimization/107323
2047	* tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
2048	New function.
2049	(loop_distribution::break_alias_scc_partitions): Revert
2050	postorder save/restore from the PR94125 fix.  Instead
2051	make sure to not ignore edges from SCCs we are going to
2052	merge.
2053
20542022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
2055
2056	Backported from master:
2057	2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
2058
2059	PR middle-end/100400
2060	* omp-oacc-kernels-decompose.cc
2061	(visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
2062	call 'internal_error'.
2063
20642022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
2065
2066	Backported from master:
2067	2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
2068
2069	* config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
2070	merging alternative.
2071	(*aarch64_brk<brk_op>_ptest): Likewise.
2072
20732022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
2074
2075	Backported from master:
2076	2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
2077
2078	* config/aarch64/iterators.md (SVE_BRKP): New iterator.
2079	* config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
2080	(*aarch64_brkn_ptest): Likewise.
2081	(*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
2082	(*aarch64_brk<brk_op>_ptest): Likewise.
2083
20842022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
2085
2086	* config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_3): Add
2087	AARCH64_FL_RCPC.
2088	(AARCH64_ISA_RCPC): New macro.
2089	* config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
2090	(neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
2091	* config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
2092	__ARM_FEATURE_RCPC when appropriate.
2093
20942022-10-19  Kewen Lin  <linkw@linux.ibm.com>
2095
2096	Backported from master:
2097	2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
2098
2099	PR target/96072
2100	* config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
2101	condition for adding REG_CFA_DEF_CFA reg note with
2102	frame_pointer_needed_indeed.
2103
21042022-10-19  Kewen Lin  <linkw@linux.ibm.com>
2105
2106	Backported from master:
2107	2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
2108
2109	PR target/100645
2110	* config/rs6000/vector.md (vec_shr_<mode>): Replace condition
2111	TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
2112
21132022-10-17  Pat Haugen  <pthaugen@linux.ibm.com>
2114
2115	Backported from master:
2116	2022-05-17  Pat Haugen  <pthaugen@linux.ibm.com>
2117
2118	PR target/99685
2119	* config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
2120	register count when not splitting IEEE 128-bit Complex.
2121
21222022-10-17  Richard Biener  <rguenther@suse.de>
2123
2124	Backported from master:
2125	2022-10-14  Richard Biener  <rguenther@suse.de>
2126
2127	PR tree-optimization/107254
2128	* tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
2129	For permutes also analyze live lanes.
2130	(vect_schedule_slp_node): For permutes also code generate
2131	live lane extracts.
2132
21332022-10-17  Richard Biener  <rguenther@suse.de>
2134
2135	Backported from master:
2136	2022-10-11  Richard Biener  <rguenther@suse.de>
2137
2138	PR tree-optimization/107212
2139	* tree-vect-loop.cc (vectorizable_reduction): Make sure to
2140	set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
2141	reduction.
2142	(vectorizable_live_operation): Do not pun to the SLP
2143	node representative for reduction epilogue generation.
2144
21452022-10-17  Richard Biener  <rguenther@suse.de>
2146
2147	Backported from master:
2148	2022-10-13  Richard Biener  <rguenther@suse.de>
2149
2150	PR tree-optimization/107160
2151	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
2152	Do not register accumulator if we failed to reduce it
2153	to a single vector.
2154
21552022-10-17  Richard Biener  <rguenther@suse.de>
2156
2157	Backported from master:
2158	2022-10-06  Richard Biener  <rguenther@suse.de>
2159
2160	PR tree-optimization/107107
2161	* tree-ssa-sccvn.cc (visit_reference_op_store): Do not
2162	affect value-numbering when doing the tail merging
2163	MODIFY_EXPR lookup.
2164
21652022-10-17  Richard Biener  <rguenther@suse.de>
2166
2167	Backported from master:
2168	2022-09-23  Richard Biener  <rguenther@suse.de>
2169
2170	PR tree-optimization/106922
2171	* tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
2172	an arbitrary number of same valued skipped stores.
2173
21742022-10-17  Richard Biener  <rguenther@suse.de>
2175
2176	Backported from master:
2177	2022-09-22  Richard Biener  <rguenther@suse.de>
2178
2179	PR tree-optimization/106922
2180	* tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
2181	(vn_walk_cb_data::finish): Perform delayed verification of
2182	a skipped may-alias.
2183	(vn_reference_lookup_pieces): Likewise.
2184	(vn_reference_lookup): Likewise.
2185	(vn_reference_lookup_3): When skipping stores of the same
2186	value also handle constant stores that are more than a
2187	single VDEF away by delaying the verification.
2188
21892022-10-14  Eric Botcazou  <ebotcazou@adacore.com>
2190
2191	PR target/107248
2192	* config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
2193	blockage for leaf functions.
2194	(sparc_flat_expand_prologue): Emit frame instead of full blockage.
2195	(sparc_expand_epilogue): Emit a frame blockage for leaf functions.
2196	(sparc_flat_expand_epilogue): Emit frame instead of full blockage.
2197
21982022-10-13  Tobias Burnus  <tobias@codesourcery.com>
2199
2200	Backported from master:
2201	2022-10-04  Tobias Burnus  <tobias@codesourcery.com>
2202
2203	* doc/install.texi (Specific): Add missing items to bullet list.
2204	(amdgcn): Update LLVM requirements, use version not date for newlib.
2205	(nvptx): Use version not git hash for newlib.
2206
22072022-10-11  Christophe Lyon  <christophe.lyon@arm.com>
2208
2209	* config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
2210	MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
2211	(mve_vqshluq_m_n_s<mode>): Likewise.
2212	(mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
2213	instead of mve_imm_8/Rb.
2214	(mve_vqrshrunbq_n_s<mode>): Likewise.
2215	(mve_vqrshrntq_n_<supf><mode>): Likewise.
2216	(mve_vqrshruntq_n_s<mode>): Likewise.
2217	(mve_vrshrnbq_n_<supf><mode>): Likewise.
2218	(mve_vrshrntq_n_<supf><mode>): Likewise.
2219	(mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
2220	(mve_vqrshrntq_m_n_<supf><mode>): Likewise.
2221	(mve_vrshrnbq_m_n_<supf><mode>): Likewise.
2222	(mve_vrshrntq_m_n_<supf><mode>): Likewise.
2223	(mve_vqrshrunbq_m_n_s<mode>): Likewise.
2224	(mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
2225	of mve_imm_selective_upto_8/Rg.
2226	(mve_vsriq_m_n_<supf><mode>): Likewise.
2227	(cherry-picked from c3fb6658c7670e446f2fd00984404d971e416b3c)
2228
22292022-10-11  Richard Biener  <rguenther@suse.de>
2230
2231	Backported from master:
2232	2022-09-14  Richard Biener  <rguenther@suse.de>
2233
2234	PR tree-optimization/106934
2235	* tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
2236	of bitfields.
2237	(maybe_rewrite_mem_ref_base): Likewise.
2238
22392022-10-11  Richard Biener  <rguenther@suse.de>
2240
2241	Backported from master:
2242	2022-09-15  Richard Biener  <rguenther@suse.de>
2243
2244	PR tree-optimization/106922
2245	* tree-ssa-pre.cc (translate_vuse_through_block): Only
2246	keep the VUSE if its def dominates PHIBLOCK.
2247	(prune_clobbered_mems): Rewrite logic so we check whether
2248	a value dies in a block when the VUSE def doesn't dominate it.
2249
22502022-10-11  Richard Biener  <rguenther@suse.de>
2251
2252	Backported from master:
2253	2022-09-09  Richard Biener  <rguenther@suse.de>
2254
2255	PR tree-optimization/106892
2256	* tree-predcom.cc (ref_at_iteration): Do not associate the
2257	constant part of the offset into the MEM_REF offset
2258	operand, across a non-zero offset.
2259
22602022-10-11  Richard Biener  <rguenther@suse.de>
2261
2262	Backported from master:
2263	2022-08-22  Richard Biener  <rguenther@suse.de>
2264
2265	PR tree-optimization/105937
2266	* tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
2267	on backedges.
2268	(execute_late_warn_uninitialized): Mark backedges.
2269
22702022-10-03  Sergei Trofimovich  <siarheit@google.com>
2271
2272	Backported from master:
2273	2022-10-03  Sergei Trofimovich  <siarheit@google.com>
2274
2275	PR target/107064
2276	* config/i386/t-i386: Add build-time dependencies against
2277	i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
2278	i386-features.o.
2279
22802022-09-29  H.J. Lu  <hjl.tools@gmail.com>
2281
2282	Backported from master:
2283	2022-09-28  H.J. Lu  <hjl.tools@gmail.com>
2284
2285	PR target/107061
2286	* config/i386/predicates.md (encodekey128_operation): Check
2287	XMM4-XMM6 as clobbered.
2288	(encodekey256_operation): Likewise.
2289	* config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
2290	(encodekey256u32): Likewise.
2291
22922022-09-29  Tobias Burnus  <tobias@codesourcery.com>
2293
2294	Backported from master:
2295	2022-09-26  Tobias Burnus  <tobias@codesourcery.com>
2296
2297	PR middle-end/106982
2298	* omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
2299
23002022-09-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2301
2302	Backported from master:
2303	2022-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2304
2305	* config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
2306	(demeter): Update tunings to neoversev2.
2307	* config/aarch64/aarch64-tune.md: Regenerate.
2308	* config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
2309	neoversev2_addrcost_table.
2310	(demeter_regmove_cost): Rename to neoversev2_addrcost_table.
2311	(demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
2312	(demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
2313	(demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
2314	(demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
2315	(demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
2316	(demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
2317	Update references to above.
2318	(demeter_vector_cost): Rename to neoversev2_vector_cost.
2319	(demeter_tunings): Rename to neoversev2_tunings.
2320	(aarch64_vec_op_count::rename_cycles_per_iter): Use
2321	neoversev2_sve_issue_info instead of demeter_sve_issue_info.
2322	* doc/invoke.texi (AArch64 Options): Document neoverse-v2.
2323
23242022-09-21  Richard Sandiford  <richard.sandiford@arm.com>
2325
2326	Backported from master:
2327	2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
2328
2329	PR target/106491
2330	* config/aarch64/aarch64-sve-builtins.cc (scalar_types)
2331	(acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
2332	markup to (new) extern declarations instead of to the main
2333	definition.
2334
23352022-09-21  Kewen Lin  <linkw@linux.ibm.com>
2336
2337	Backported from master:
2338	2022-09-13  Kewen Lin  <linkw@linux.ibm.com>
2339
2340	PR target/104482
2341	* config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
2342	the equality check for argument number, and move this hunk ahead.
2343
23442022-09-21  Kewen.Lin  <linkw@gcc.gnu.org>
2345
2346	Backported from master:
2347	2022-09-13  Kewen.Lin  <linkw@gcc.gnu.org>
2348
2349	PR target/105485
2350	* config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
2351	the handling for unresolved overloaded builtin function.
2352	(rs6000_expand_builtin): Likewise.
2353
23542022-09-09  Richard Biener  <rguenther@suse.de>
2355
2356	Backported from master:
2357	2022-09-07  Richard Biener  <rguenther@suse.de>
2358
2359	PR tree-optimization/106860
2360	* tree-ssa-loop-split.cc (split_loop): Find the exit to
2361	latch edge from the loop exit edge instead of from the
2362	latch.  Verify we're going to find it.
2363
23642022-09-09  Richard Biener  <rguenther@suse.de>
2365
2366	Backported from master:
2367	2022-09-06  Richard Biener  <rguenther@suse.de>
2368
2369	PR tree-optimization/106841
2370	* tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
2371	scatter/gather offset.
2372
23732022-09-09  Richard Biener  <rguenther@suse.de>
2374
2375	Backported from master:
2376	2022-09-02  Richard Biener  <rguenther@suse.de>
2377
2378	PR tree-optimization/106809
2379	* tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
2380	more than one successor before doing extra work.
2381
23822022-09-08  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2383
2384	* config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
2385	-mvrsave is present.
2386	* config/rs6000/t-rtems: Add -mvrsave multilib variants for
2387	-mcpu=e6500.
2388
23892022-09-03  Peter Bergner  <bergner@linux.ibm.com>
2390
2391	Backported from master:
2392	2022-09-01  Peter Bergner  <bergner@linux.ibm.com>
2393
2394	PR target/101322
2395	* config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
2396	Enforce the use of a valid MMA pointer type.
2397
23982022-09-02  Richard Earnshaw  <rearnsha@arm.com>
2399
2400	Backported from master:
2401	2022-08-03  Richard Earnshaw  <rearnsha@arm.com>
2402
2403	PR rtl-optimization/106187
2404	* alias.h (mems_same_for_tbaa_p): Declare.
2405	* alias.cc (mems_same_for_tbaa_p): New function.
2406	* dse.cc (record_store): Use it instead of open-coding
2407	alias check.
2408	* cselib.h (cselib_redundant_set_p): Declare.
2409	* cselib.cc: Include alias.h
2410	(cselib_redundant_set_p): New function.
2411	* cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
2412	of rtx_equal_for_cselib_p.
2413	* postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
2414	(reload_cse_noop_set_p): Delete.
2415
24162022-09-02  Richard Earnshaw  <rearnsha@arm.com>
2417
2418	Backported from master:
2419	2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
2420
2421	PR target/105463
2422	* config/arm/mve.md (*movmisalign<mode>_mve_store): Use
2423	mve_memory_operand.
2424	(*movmisalign<mode>_mve_load): Likewise.
2425	* config/arm/vec-common.md (movmisalign<mode>): Convert to generator
2426	form...
2427	(@movmisalign<mode>): ... thus.  Use generic predicates and then
2428	rework operands if they are not valid.  For MVE rework to a
2429	narrower element size if the alignment is not high enough.
2430
24312022-09-02  Tamar Christina  <tamar.christina@arm.com>
2432
2433	Backported from master:
2434	2022-09-01  Tamar Christina  <tamar.christina@arm.com>
2435
2436	PR other/106782
2437	* config/aarch64/aarch64.cc
2438	(aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
2439	HOST_WIDE_INT_PRINT_UNSIGNED.
2440
24412022-09-01  Jakub Jelinek  <jakub@redhat.com>
2442
2443	Backported from master:
2444	2022-09-01  Jakub Jelinek  <jakub@redhat.com>
2445
2446	PR other/106782
2447	* tree-vect-slp.cc (vect_print_slp_tree): Use
2448	HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
2449	* tree-vect-loop.cc (vect_estimate_min_profitable_iters): Use
2450	HOST_WIDE_INT_PRINT_UNSIGNED instead of %d.
2451	* tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
2452	instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
2453	instead of SLP_TREE_DEF_TYPE (node).
2454
24552022-08-30  Tamar Christina  <tamar.christina@arm.com>
2456
2457	Backported from master:
2458	2022-08-12  Tamar Christina  <tamar.christina@arm.com>
2459
2460	PR target/106524
2461	* config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
2462	*fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
2463
24642022-08-29  Peter Bergner  <bergner@linux.ibm.com>
2465
2466	Backported from master:
2467	2022-08-28  Peter Bergner  <bergner@linux.ibm.com>
2468
2469	PR target/106017
2470	* config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
2471	of MMA pointer conversions.
2472
24732022-08-29  H.J. Lu  <hjl.tools@gmail.com>
2474
2475	Backported from master:
2476	2022-08-23  H.J. Lu  <hjl.tools@gmail.com>
2477
2478	PR target/106714
2479	* config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
2480	__PTRDIFF_TYPE__.
2481	(_tile_stream_loadd_internal): Likewise.
2482	(_tile_stored_internal): Likewise.
2483
24842022-08-29  Jakub Jelinek  <jakub@redhat.com>
2485
2486	Backported from master:
2487	2022-08-24  Jakub Jelinek  <jakub@redhat.com>
2488
2489	PR target/106721
2490	* config/i386/sse.md (i128vldq): Add V16HF entry.
2491	(avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
2492	mask_opernad3 -> mask_operand3.
2493
24942022-08-29  Jakub Jelinek  <jakub@redhat.com>
2495
2496	Backported from master:
2497	2022-08-15  Jakub Jelinek  <jakub@redhat.com>
2498
2499	PR rtl-optimization/106590
2500	* ifcvt.cc (check_for_cc_cmp_clobbers): New function.
2501	(noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
2502	mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
2503	further conditional moves.
2504
25052022-08-26  liuhongt  <hongtao.liu@intel.com>
2506
2507	PR target/106704
2508	* config/i386/i386-builtin.def (BDESC): Add
2509	CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
2510	corresponding builtins.
2511	* config/i386/i386.cc (ix86_gimple_fold_builtin):
2512	Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
2513	IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
2514
25152022-08-25  Chenghua Xu  <xuchenghua@loongson.cn>
2516
2517	Backported from master:
2518	2022-08-25  Chenghua Xu  <xuchenghua@loongson.cn>
2519
2520	PR target/106459
2521	* config/loongarch/loongarch.cc (loongarch_build_integer):
2522	Use HOST_WIDE_INT.
2523	* config/loongarch/loongarch.h (IMM_REACH): Likewise.
2524	(HWIT_1U): New Defined.
2525	(LU12I_OPERAND): Use HOST_WIDE_INT.
2526	(LU32I_OPERAND): Likewise.
2527	(LU52I_OPERAND): Likewise.
2528	(HWIT_UC_0xFFF): Likwise.
2529
25302022-08-24  Kewen Lin  <linkw@linux.ibm.com>
2531
2532	Backported from master:
2533	2022-08-16  Kewen Lin  <linkw@linux.ibm.com>
2534
2535	PR tree-optimization/106322
2536	* tree-vect-stmts.cc (vectorizable_call): Don't allow
2537	vect_emulated_vector_p type for both vectype_in and vectype_out.
2538
25392022-08-24  Kewen.Lin  <linkw@gcc.gnu.org>
2540
2541	Backported from master:
2542	2022-08-16  Kewen.Lin  <linkw@gcc.gnu.org>
2543
2544	PR target/103353
2545	* config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
2546	check to preparation statements and add handlings for !TARGET_MMA.
2547	(define_expand movxo): Likewise.
2548
25492022-08-23  Tobias Burnus  <tobias@codesourcery.com>
2550
2551	Backported from master:
2552	2022-08-19  Tobias Burnus  <tobias@codesourcery.com>
2553
2554	* config/gcn/mkoffload.cc (main): Add dbgobj to files_to_cleanup.
2555
25562022-08-23  Tobias Burnus  <tobias@codesourcery.com>
2557
2558	Backported from master:
2559	2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
2560
2561	PR middle-end/106548
2562	* omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
2563	for 'simd' linear-step values that are variable.
2564
25652022-08-19  Release Manager
2566
2567	* GCC 12.2.0 released.
2568
25692022-08-17  Ilya Leoshkevich  <iii@linux.ibm.com>
2570
2571	Backported from master:
2572	2022-08-04  Ilya Leoshkevich  <iii@linux.ibm.com>
2573
2574	* config/s390/vector.md (V_HW_FT): New iterator.
2575	* config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
2576	of V_HW.
2577
25782022-08-12  Peter Bergner  <bergner@linux.ibm.com>
2579
2580	Backported from master:
2581	2022-07-26  Peter Bergner  <bergner@linux.ibm.com>
2582
2583	PR c/106016
2584	* expr.cc (count_type_elements): Handle OPAQUE_TYPE.
2585
25862022-08-11  Andre Simoes Dias Vieira  <andre.simoesdiasvieira@arm.com>
2587
2588	Backported from master:
2589	2022-07-25  Andre Vieira  <andre.simoesdiasvieira@arm.com>
2590
2591	* config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
2592	(@aarch64_rbit<mode>): ... to this and change it in...
2593	(ffs<mode>2,ctz<mode>2): ... here.
2594	(@aarch64_rev16<mode>): New.
2595	* config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
2596	Define the following enum AARCH64_REV16, AARCH64_REV16L,
2597	AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
2598	(aarch64_init_data_intrinsics): New.
2599	(aarch64_general_init_builtins): Add call to
2600	aarch64_init_data_intrinsics.
2601	(aarch64_expand_builtin_data_intrinsic): New.
2602	(aarch64_general_expand_builtin): Add call to
2603	aarch64_expand_builtin_data_intrinsic.
2604	* config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
2605	__clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
2606	__rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
2607
26082022-08-10  Tobias Burnus  <tobias@codesourcery.com>
2609
2610	Backported from master:
2611	2022-08-09  Tobias Burnus  <tobias@codesourcery.com>
2612
2613	PR middle-end/106492
2614	* omp-low.cc (lower_rec_input_clauses): Add missing folding
2615	to data type of linear-clause list item.
2616
26172022-08-10  Richard Biener  <rguenther@suse.de>
2618
2619	Backported from master:
2620	2022-08-10  Richard Biener  <rguenther@suse.de>
2621
2622	PR tree-optimization/106513
2623	* gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
2624	for head_marker.
2625
26262022-08-10  Richard Biener  <rguenther@suse.de>
2627
2628	Backported from master:
2629	2022-08-08  Richard Biener  <rguenther@suse.de>
2630
2631	PR lto/106540
2632	PR lto/106334
2633	* lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
2634	to input DECL_INITIAL, avoiding to commit drefs.
2635
26362022-08-05   Michael Meissner  <meissner@linux.ibm.com>
2637
2638	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
2639	setting -mblock-ops-vector-pair.  Back port patch from trunk on 8/3.
2640
26412022-08-02  Peter Bergner  <bergner@linux.ibm.com>
2642
2643	Backported from master:
2644	2022-07-25  Peter Bergner  <bergner@linux.ibm.com>
2645		    Kewen Lin  <linkw@linux.ibm.com>
2646
2647	PR testsuite/106345
2648	* config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
2649	to filter out all -mtune options.
2650
26512022-08-02  Kewen Lin  <linkw@linux.ibm.com>
2652
2653	Backported from master:
2654	2022-07-26  Kewen Lin  <linkw@linux.ibm.com>
2655
2656	PR target/106091
2657	* config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
2658	REG_EH_REGION when replacing one store insn having it.
2659	(replace_swapped_aligned_load): Likewise.
2660
26612022-07-30  Jakub Jelinek  <jakub@redhat.com>
2662
2663	Backported from master:
2664	2022-07-29  Jakub Jelinek  <jakub@redhat.com>
2665
2666	PR middle-end/106449
2667	* omp-expand.cc (expand_omp_simd): Fix up handling of pointer
2668	iterators in non-rectangular simd loops.  Unshare fd->loops[i].n2
2669	or n2 before regimplifying it inside of a condition.
2670
26712022-07-30  Jakub Jelinek  <jakub@redhat.com>
2672
2673	Backported from master:
2674	2022-07-27  Jakub Jelinek  <jakub@redhat.com>
2675
2676	PR debug/106261
2677	* cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
2678	output asm thunks for -dx.
2679
26802022-07-30  Jakub Jelinek  <jakub@redhat.com>
2681
2682	Backported from master:
2683	2022-07-01  Jakub Jelinek  <jakub@redhat.com>
2684
2685	PR middle-end/106144
2686	* wide-int.cc (wi::shifted_mask): If end >= prec, return right after
2687	emitting element for shift or if shift is 0 first element after start.
2688	(wide_int_cc_tests): Add tests for equivalency of wi::mask and
2689	wi::shifted_mask with 0 start.
2690
26912022-07-27  David Malcolm  <dmalcolm@redhat.com>
2692
2693	* json.cc (string::print): Fix escaping of '\'.
2694
26952022-07-27  David Malcolm  <dmalcolm@redhat.com>
2696
2697	* doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
2698	fpath.txt output.
2699
27002022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
2701
2702	Backported from master:
2703	2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
2704
2705	* config/riscv/riscv.md (stack_protect_set_<mode>): Remove
2706	duplicate backslashes.
2707
27082022-07-27  Richard Biener  <rguenther@suse.de>
2709
2710	Backported from master:
2711	2022-07-26  Richard Biener  <rguenther@suse.de>
2712
2713	PR tree-optimization/106189
2714	* gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
2715	Divide using offset_ints.
2716
27172022-07-27  Joseph Myers  <joseph@codesourcery.com>
2718
2719	Backported from master:
2720	2022-06-30  Joseph Myers  <joseph@codesourcery.com>
2721
2722	PR lto/106129
2723	* lto-wrapper.cc (find_option): Add argument start.
2724	(merge_and_complain): Loop over existing_opt_index and
2725	existing_opt2_index for Xassembler check.  Update calls to
2726	find_option.
2727	(find_and_merge_options): Add argument first to determine whether
2728	to merge options with those passed in *opts.
2729	(run_gcc): Update calls to find_and_merge_options.
2730
27312022-07-27  Andrew Pinski  <apinski@marvell.com>
2732
2733	Backported from master:
2734	2022-07-09  Andrew Pinski  <apinski@marvell.com>
2735
2736	PR tree-optimization/106087
2737	* tree-ssa-dce.cc (simple_dce_from_worklist): Check
2738	to make sure the statement is only defining one operand.
2739
27402022-07-27  Tamar Christina  <tamar.christina@arm.com>
2741
2742	Backported from master:
2743	2022-07-08  Tamar Christina  <tamar.christina@arm.com>
2744
2745	PR tree-optimization/106063
2746	* match.pd: Do not apply pattern after veclower is not supported.
2747
27482022-07-27  Alexandre Oliva  <oliva@adacore.com>
2749
2750	Backported from master:
2751	2022-06-03  Alexandre Oliva  <oliva@adacore.com>
2752
2753	PR tree-optimization/105665
2754	PR tree-optimization/100810
2755	* tree-ssa-loop-ivopts.cc
2756	(ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
2757	(ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
2758	(find_ssa_undef): Check precomputed flag and intervening uses.
2759	(tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
2760
27612022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2762
2763	Backported from master:
2764	2022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2765
2766	* config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
2767
27682022-07-19  Richard Biener  <rguenther@suse.de>
2769
2770	Backported from master:
2771	2022-07-19  Richard Biener  <rguenther@suse.de>
2772
2773	PR middle-end/106331
2774	* builtins.cc (get_memory_rtx): Compute alignment from
2775	the original address and set MEM_OFFSET to unknown when
2776	we create a MEM_EXPR from the base object of the address.
2777
27782022-07-19  Richard Biener  <rguenther@suse.de>
2779
2780	Backported from master:
2781	2022-07-01  Richard Biener  <rguenther@suse.de>
2782
2783	PR tree-optimization/106131
2784	* tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
2785	zero when offsetting the read looking through an aggregate
2786	copy.
2787
27882022-07-19  Richard Biener  <rguenther@suse.de>
2789
2790	Backported from master:
2791	2022-06-29  Richard Biener  <rguenther@suse.de>
2792
2793	PR tree-optimization/106112
2794	* tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
2795	a constant operand according to its type.
2796
27972022-07-19  Richard Biener  <rguenther@suse.de>
2798
2799	Backported from master:
2800	2022-06-20  Richard Biener  <rguenther@suse.de>
2801
2802	PR middle-end/106027
2803	* fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
2804	type of the prevailing comparison for the new comparison type.
2805	(fold_binary_loc): Use proper types for the A < X && A + 1 > Y
2806	to A < X && A >= Y folding.
2807
28082022-07-19  Richard Biener  <rguenther@suse.de>
2809
2810	Backported from master:
2811	2022-06-15  Richard Biener  <rguenther@suse.de>
2812
2813	PR tree-optimization/105971
2814	* tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
2815	FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
2816	to leak less surprising alias results.
2817
28182022-07-19  Richard Biener  <rguenther@suse.de>
2819
2820	Backported from master:
2821	2022-06-15  Richard Biener  <rguenther@suse.de>
2822
2823	PR tree-optimization/105969
2824	* gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
2825	by zero in overflow check.
2826
28272022-07-19  Richard Biener  <rguenther@suse.de>
2828
2829	Backported from master:
2830	2022-06-14  Richard Biener  <rguenther@suse.de>
2831
2832	PR middle-end/105965
2833	* match.pd (view_convert CONSTRUCTOR): Handle single-element
2834	CTOR case.
2835
28362022-07-19  Richard Biener  <rguenther@suse.de>
2837
2838	Backported from master:
2839	2022-06-14  Richard Biener  <rguenther@suse.de>
2840
2841	PR tree-optimization/105946
2842	* tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
2843	Do not look at arguments not specified in the function call.
2844
28452022-07-19  Richard Biener  <rguenther@suse.de>
2846
2847	Backported from master:
2848	2022-07-11  Richard Biener  <rguenthert@suse.de>
2849
2850	PR target/105459
2851	* config/i386/i386-options.cc (ix86_set_current_function):
2852	Rebuild the target optimization node whenever necessary,
2853	not only when the optimization node didn't change.
2854
28552022-07-14   Michael Meissner  <meissner@linux.ibm.com>
2856
2857	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
2858	not generate block copies with vector pair instructions if we are
2859	tuning for power10.  Back port from master branch.
2860
28612022-07-14  Surya Kumari Jangala  <jskumari@linux.vnet.ibm.com>
2862
2863	Backported from master:
2864	2022-06-14  Surya Kumari Jangala  <jskumari@linux.ibm.com>
2865
2866	PR rtl-optimization/105041
2867	* regrename.cc (check_new_reg_p): Use nregs value from du chain.
2868
28692022-07-11  Martin Jambor  <mjambor@suse.cz>
2870
2871	Backported from master:
2872	2022-07-04  Martin Jambor  <mjambor@suse.cz>
2873
2874	PR tree-optimization/105860
2875	* tree-sra.cc (build_reconstructed_reference): Start expr
2876	traversal only just below the outermost union.
2877
28782022-07-10  Xi Ruoyao  <xry111@xry111.site>
2879
2880	Backported from master:
2881	2022-07-10  Xi Ruoyao  <xry111@xry111.site>
2882
2883	* config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
2884	instead of mul.d.
2885
28862022-07-09  Roger Sayle  <roger@nextmovesoftware.com>
2887	    Uroš Bizjak  <ubizjak@gmail.com>
2888
2889	PR target/105930
2890	* config/i386/i386.md (*<any_or>di3_doubleword): Split after
2891	reload.  Use rtx_equal_p to avoid creating memory-to-memory moves,
2892	and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
2893
28942022-07-08  Lulu Cheng  <chenglulu@loongson.cn>
2895
2896	Backported from master:
2897	2022-07-08  Lulu Cheng  <chenglulu@loongson.cn>
2898
2899	* config/loongarch/loongarch.cc (loongarch_compute_frame_info):
2900	Modify fp_sp_offset and gp_sp_offset's calculation method,
2901	when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
2902	or UNITS_PER_FP_REG.
2903
29042022-07-04  Andrew MacLeod  <amacleod@redhat.com>
2905
2906	PR tree-optimization/106114
2907	* gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
2908	statement operands instead of GORI cache.
2909
29102022-07-04  Roger Sayle  <roger@nextmovesoftware.com>
2911	    Marek Polacek  <polacek@redhat.com>
2912	    Segher Boessenkool  <segher@kernel.crashing.org>
2913	    Kewen Lin  <linkw@linux.ibm.com>
2914
2915	PR target/105991
2916	* config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
2917	exact_log2 doesn't return -1 (or zero).
2918	(plus_xor): New code iterator.
2919	(*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
2920
29212022-07-04  Xi Ruoyao  <xry111@xry111.site>
2922
2923	Backported from master:
2924	2022-07-03  Xi Ruoyao  <xry111@xry111.site>
2925		    Lulu Cheng  <chenglulu@loongson.cn>
2926
2927	* config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
2928	New static function.
2929	(loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
2930	of TARGET_CHECK_ZERO_DIV.
2931	(loongarch_output_division): Likewise.
2932	* common/config/loongarch/loongarch-common.cc
2933	(TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
2934	* doc/invoke.texi: Update to match the new behavior.
2935
29362022-07-03  Roger Sayle  <roger@nextmovesoftware.com>
2937
2938	PR target/106122
2939	* config/i386/i386.md (peephole2): Avoid generating pop %esp
2940	when optimizing for size.
2941
29422022-07-02  Sergei Trofimovich  <siarheit@google.com>
2943
2944	Backported from master:
2945	2022-06-29  Sergei Trofimovich  <siarheit@google.com>
2946
2947	PR c++/106102
2948	* system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
2949
29502022-07-01  Vladimir Makarov  <vmakarov@gcc.gnu.org>
2951
2952	Backported from master:
2953	2022-05-28  Vladimir Makarov  <vmakarov@gcc.gnu.org>
2954
2955	PR target/103722
2956	* config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
2957	is special) for various scenarios.
2958
29592022-06-29  Richard Biener  <rguenther@suse.de>
2960
2961	Backported from master:
2962	2022-05-11  Richard Biener  <rguenther@suse.de>
2963
2964	PR bootstrap/105551
2965	* opts.cc (finish_options): Also disable var-tracking if
2966	!DWARF2_DEBUGGING_INFO.
2967
29682022-06-29  Lulu Cheng  <chenglulu@loongson.cn>
2969
2970	Backported from master:
2971	2022-06-29  Lulu Cheng  <chenglulu@loongson.cn>
2972
2973	PR target/106097
2974	* config/loongarch/loongarch.cc (loongarch_build_integer):
2975	Remove undefined behavior from code.
2976
29772022-06-28  Jakub Jelinek  <jakub@redhat.com>
2978
2979	Backported from master:
2980	2022-06-21  Jakub Jelinek  <jakub@redhat.com>
2981
2982	PR rtl-optimization/106032
2983	* ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
2984	t may_trap_or_fault_p, even if it is cheap.
2985
29862022-06-28  Jakub Jelinek  <jakub@redhat.com>
2987
2988	Backported from master:
2989	2022-06-21  Jakub Jelinek  <jakub@redhat.com>
2990
2991	PR middle-end/106030
2992	* expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
2993	temp to expand_operands if mode has been promoted.
2994
29952022-06-28  Xi Ruoyao  <xry111@xry111.site>
2996
2997	Backported from master:
2998	2022-06-28  Xi Ruoyao  <xry111@xry111.site>
2999
3000	PR target/106096
3001	* config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
3002	$r13 from SIBCALL_REGS.
3003	* config/loongarch/loongarch.cc (loongarch_regno_to_class):
3004	Change $r13 to JIRL_REGS.
3005
30062022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>
3007
3008	Backported from master:
3009	2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>
3010
3011	* config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
3012	condition to avoid overflow.
3013
30142022-06-23  Martin Liska  <mliska@suse.cz>
3015
3016	Backported from master:
3017	2022-06-23  Martin Liska  <mliska@suse.cz>
3018
3019	PR ipa/105600
3020	* ipa-icf.cc (sem_item_optimizer::filter_removed_items):
3021	Skip variables with body_removed.
3022
30232022-06-23  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3024
3025	Backported from master:
3026	2022-06-21  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3027
3028	PR tree-optimization/105736
3029	* tree-object-size.cc (addr_object_size): Return size_unknown
3030	when object offset computation returns an error.
3031
30322022-06-23  Richard Sandiford  <richard.sandiford@arm.com>
3033
3034	Backported from master:
3035	2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
3036
3037	PR tree-optimization/105254
3038	PR tree-optimization/105940
3039	Revert:
3040	* config/aarch64/aarch64.cc
3041	(aarch64_vector_costs::determine_suggested_unroll_factor): Take a
3042	loop_vec_info as argument.  Restrict the unroll factor to values
3043	that divide the VF.
3044	(aarch64_vector_costs::finish_cost): Update call accordingly.
3045
30462022-06-23  Kewen Lin  <linkw@linux.ibm.com>
3047
3048	Backported from master:
3049	2022-06-14  Kewen Lin  <linkw@linux.ibm.com>
3050
3051	PR tree-optimization/105940
3052	* tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
3053	applying suggested_unroll_factor after start_over.
3054
30552022-06-21  H.J. Lu  <hjl.tools@gmail.com>
3056
3057	Backported from master:
3058	2022-06-20  H.J. Lu  <hjl.tools@gmail.com>
3059
3060	PR target/105960
3061	* config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
3062	false if PIC register is used when calling ifunc functions.
3063
30642022-06-20  Uros Bizjak  <ubizjak@gmail.com>
3065
3066	Backported from master:
3067	2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
3068
3069	PR target/105209
3070	* config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
3071	* config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
3072	(alpha_store_data_bypass_p_1): Ditto.
3073	* config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
3074	of generic store_data_bypass_p.
3075	(ev4_ist_c): Remove insn reservation.
3076
30772022-06-20  Uros Bizjak  <ubizjak@gmail.com>
3078
3079	Backported from master:
3080	2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
3081
3082	PR target/105970
3083	* config/i386/i386.cc (ix86_function_arg): Assert that
3084	the mode of pointer argumet is equal to ptr_mode, not Pmode.
3085
30862022-06-19  Jakub Jelinek  <jakub@redhat.com>
3087
3088	Backported from master:
3089	2022-06-18  Jakub Jelinek  <jakub@redhat.com>
3090
3091	PR middle-end/105998
3092	* varasm.cc (narrowing_initializer_constant_valid_p): Check
3093	SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
3094	! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
3095
30962022-06-19  Jakub Jelinek  <jakub@redhat.com>
3097
3098	Backported from master:
3099	2022-06-16  Jakub Jelinek  <jakub@redhat.com>
3100
3101	PR middle-end/105951
3102	* tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
3103	optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
3104	as last argument to the internal functions.
3105	* builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
3106	extra call argument to ifns.  If expand_atomic_fetch_op fails for the
3107	lhs == NULL_TREE case, fall through into the optab code with
3108	gen_reg_rtx (mode) as target.  If second expand_atomic_fetch_op
3109	fails, construct a CALL_EXPR and expand that.
3110	(expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
3111	to ifns.  If expand_atomic_fetch_op fails, construct a CALL_EXPR and
3112	expand that.
3113
31142022-06-19  Jan Hubicka  <jh@suse.cz>
3115
3116	Backported from master:
3117	2022-06-14  Jan Hubicka  <hubicka@ucw.cz>
3118
3119	PR ipa/105739
3120	* ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
3121
31222022-06-16  Richard Earnshaw  <rearnsha@arm.com>
3123
3124	Backported from master:
3125	2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
3126
3127	PR target/105981
3128	* config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
3129	to first_reg and second_reg respectively.  Initialize them correctly
3130	when generating big-endian code.
3131
31322022-06-15  Simon Wright  <simon@pushface.org>
3133
3134	Backported from master:
3135	2022-06-12  Simon Wright  <simon@pushface.org>
3136
3137	PR target/104871
3138	* config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
3139	version is darwin20 (macOS 11) or greater, truncate the version to the
3140	major number.
3141
31422022-06-15  Mark Mentovai  <mark@mentovai.com>
3143
3144	Backported from master:
3145	2022-06-12  Mark Mentovai  <mark@mentovai.com>
3146
3147	* config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
3148
31492022-06-15  Iain Sandoe  <iain@sandoe.co.uk>
3150
3151	Backported from master:
3152	2022-05-29  Iain Sandoe  <iain@sandoe.co.uk>
3153
3154	PR target/105599
3155	* config/darwin.h: Move versions-specific handling of multiply_defined
3156	from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
3157
31582022-06-15  liuhongt  <hongtao.liu@intel.com>
3159
3160	PR target/105953
3161	* config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
3162	operands[3].
3163
31642022-06-14  H.J. Lu  <hjl.tools@gmail.com>
3165
3166	Backported from master:
3167	2022-06-13  H.J. Lu  <hjl.tools@gmail.com>
3168
3169	* common/config/i386/cpuinfo.h (get_available_features): Require
3170	AVX for F16C and VAES.
3171
31722022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3173
3174	Backported from master:
3175	2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3176
3177	* config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
3178	(-1 << 31) for the single-bit case, when operating on (1 << 31)
3179	in SImode.
3180	* config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
3181	any single-bit value, moving the special case for (1 << 31) to
3182	riscv_build_integer_1 (in riscv.c).
3183
31842022-06-08  Max Filippov  <jcmvbkbc@gmail.com>
3185
3186	Backported from master:
3187	2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>
3188
3189	PR target/105879
3190	* config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
3191	to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
3192	'gen_highpart' bitwise semantics and fix order of highpart and
3193	lowpart depending on target endianness.
3194
31952022-06-08  liuhongt  <hongtao.liu@intel.com>
3196
3197	PR target/105854
3198	* config/i386/sse.md (ssse3_palignrdi): Change alternative 2
3199	from Yv to Yw.
3200
32012022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3202
3203	Backported from master:
3204	2022-05-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3205		    Manolis Tsamis  <manolis.tsamis@vrull.eu>
3206
3207	* config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
3208	(CTZ_DEFINED_VALUE_AT_ZERO): Same.
3209	* doc/sourcebuild.texi: add documentation for RISC-V specific
3210	test target keywords
3211
32122022-06-02  Richard Biener  <rguenther@suse.de>
3213
3214	Backported from master:
3215	2022-06-01  Richard Biener  <rguenther@suse.de>
3216
3217	PR tree-optimization/105786
3218	* tree-loop-distribution.cc
3219	(loop_distribution::transform_reduction_loop): Only do strlen
3220	replacement for integer type reductions.
3221
32222022-06-02  Richard Biener  <rguenther@suse.de>
3223
3224	Backported from master:
3225	2022-05-27  Richard Biener  <rguenther@suse.de>
3226
3227	PR tree-optimization/105726
3228	* gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
3229	Constrain array-of-flexarray case more.
3230
32312022-06-02  Richard Biener  <rguenther@suse.de>
3232
3233	Backported from master:
3234	2022-05-24  Richard Biener  <rguenther@suse.de>
3235
3236	PR middle-end/105711
3237	* expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
3238	and use it.
3239	(extract_bit_field_1): Pass down the mode of op0 to
3240	extract_bit_field_as_subreg.
3241
32422022-06-02  Martin Sebor  <msebor@redhat.com>
3243
3244	Backported from master:
3245	2022-05-24  Martin Sebor  <msebor@redhat.com>
3246		    Richard Biener  <rguenther@suse.de>
3247
3248	PR middle-end/105604
3249	* gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
3250	(get_origin_and_offset_r): Remove null handling.  Handle variable array
3251	sizes.
3252	(get_origin_and_offset): Handle null argument here.  Simplify.
3253	(alias_offset): Update comment.
3254	* pointer-query.cc (field_at_offset): Update comment.  Handle members
3255	of variable-length types.
3256
32572022-06-02  Vineet Gupta  <vineetg@rivosinc.com>
3258
3259	Backported from master:
3260	2022-05-24  Vineet Gupta  <vineetg@rivosinc.com>
3261
3262	* config/riscv/riscv.cc: (struct riscv_tune_param): Add
3263	  fmv_cost.
3264	(rocket_tune_info): Add default fmv_cost 8.
3265	(sifive_7_tune_info): Ditto.
3266	(thead_c906_tune_info): Ditto.
3267	(optimize_size_tune_info): Ditto.
3268	(riscv_register_move_cost): Use fmv_cost for int<->fp moves.
3269
32702022-05-30  Martin Jambor  <mjambor@suse.cz>
3271
3272	Backported from master:
3273	2022-05-27  Martin Jambor  <mjambor@suse.cz>
3274
3275	PR ipa/105639
3276	* ipa-prop.cc (propagate_controlled_uses): Check type of the
3277	constant before adding a LOAD reference.
3278
32792022-05-30  Jakub Jelinek  <jakub@redhat.com>
3280
3281	Backported from master:
3282	2022-05-27  Jakub Jelinek  <jakub@redhat.com>
3283
3284	PR sanitizer/105729
3285	* fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
3286	to (X &) z + w if -fsanitize=null during GENERIC folding.
3287
32882022-05-30  Jakub Jelinek  <jakub@redhat.com>
3289
3290	Backported from master:
3291	2022-05-25  Jakub Jelinek  <jakub@redhat.com>
3292
3293	PR sanitizer/105714
3294	* asan.cc (has_stmt_been_instrumented_p): For assignments which
3295	are both stores and loads, return true only if both destination
3296	and source have been instrumented.
3297
32982022-05-30  Jakub Jelinek  <jakub@redhat.com>
3299
3300	Backported from master:
3301	2022-05-19  Jakub Jelinek  <jakub@redhat.com>
3302
3303	PR c/105635
3304	* pointer-query.cc (gimple_parm_array_size): Return NULL if var
3305	doesn't have pointer or reference type.
3306
33072022-05-26  Simon Cook  <simon.cook@embecosm.com>
3308
3309	Backported from master:
3310	2022-05-25  Simon Cook  <simon.cook@embecosm.com>
3311
3312	* config/riscv/arch-canonicalize: Only add mafd extension if
3313	base was rv32/rv64g.
3314
33152022-05-26  Kito Cheng  <kito.cheng@sifive.com>
3316
3317	Backported from master:
3318	2022-05-09  Kito Cheng  <kito.cheng@sifive.com>
3319
3320	* config/riscv/arch-canonicalize: Handle g correctly.
3321
33222022-05-24  Qing Zhao  <qing.zhao@oracle.com>
3323
3324	Backported from master:
3325	2022-05-09  Qing Zhao  <qing.zhao@oracle.com>
3326
3327	PR target/101891
3328	* config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
3329	as a generic MMX mode instead of V4HImode.
3330	(zero_all_mm_registers): Use SET to zero instead of MOV for
3331	zeroing scratch registers.
3332	(ix86_zero_call_used_regs): Likewise.
3333
33342022-05-24  Bruno Haible  <bruno@clisp.org>
3335
3336	Backported from master:
3337	2022-05-24  Bruno Haible  <bruno@clisp.org>
3338
3339	PR other/105527
3340	* doc/install.texi (Configuration): Add more details about --with-zstd.
3341	Document --with-zstd-include and --with-zstd-lib
3342
33432022-05-24  Martin Liska  <mliska@suse.cz>
3344
3345	Backported from master:
3346	2022-05-11  Martin Liska  <mliska@suse.cz>
3347
3348	PR other/105527
3349	* doc/install.texi: Document the configure option --with-zstd.
3350
33512022-05-20  Peter Bergner  <bergner@linux.ibm.com>
3352
3353	Backported from master:
3354	2022-05-18  Peter Bergner  <bergner@linux.ibm.com>
3355		    Segher Boessenkool  <segher@kernel.crashing.org>
3356
3357	PR target/105556
3358	* config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
3359	mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
3360	mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
3361	mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
3362	Update other operands accordingly.
3363
33642022-05-20  Richard Biener  <rguenther@suse.de>
3365
3366	Backported from master:
3367	2022-05-04  Richard Biener  <rguenther@suse.de>
3368
3369	PR tree-optimization/103116
3370	* tree-vect-stmts.cc (get_group_load_store_type): Handle the
3371	case we need peeling for gaps even though GROUP_GAP is zero.
3372
33732022-05-19  Richard Biener  <rguenther@suse.de>
3374
3375	Backported from master:
3376	2022-05-17  Richard Biener  <rguenther@suse.de>
3377
3378	PR tree-optimization/105618
3379	* tree-ssa-sink.cc (statement_sink_location): For virtual
3380	PHI uses ignore those defining the used virtual operand.
3381
33822022-05-19  Richard Biener  <rguenther@suse.de>
3383
3384	Backported from master:
3385	2022-05-12  Richard Biener  <rguenther@suse.de>
3386
3387	PR rtl-optimization/105577
3388	* dse.cc (rest_of_handle_dse): Make sure to purge dead EH
3389	edges before running fast DCE via df_analyze.
3390
33912022-05-19  Richard Biener  <rguenther@suse.de>
3392
3393	Backported from master:
3394	2022-05-12  Richard Biener  <rguenther@suse.de>
3395
3396	PR tree-optimization/105562
3397	* tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
3398	against all CLOBBER defs if there's not an obvious must-alias
3399	and we are not doing redundant store elimination.
3400	(vn_walk_cb_data::redundant_store_removal_p): New field.
3401	(vn_reference_lookup_pieces): Initialize it.
3402	(vn_reference_lookup): Add argument to specify if we are
3403	doing redundant store removal.
3404	(eliminate_dom_walker::eliminate_stmt): Specify we do.
3405	* tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
3406
34072022-05-19  Richard Biener  <rguenther@suse.de>
3408
3409	Backported from master:
3410	2022-05-11  Richard Biener  <rguenther@suse.de>
3411
3412	PR rtl-optimization/105559
3413	* cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
3414	for non-debug insns.
3415
34162022-05-19  Richard Biener  <rguenther@suse.de>
3417
3418	Backported from master:
3419	2022-05-10  Richard Biener  <rguenther@suse.de>
3420
3421	PR middle-end/105537
3422	* toplev.cc (process_options): Move flag_var_tracking
3423	handling ...
3424	* opts.cc (finish_options): ... here.
3425
34262022-05-19  Richard Biener  <rguenther@suse.de>
3427
3428	Backported from master:
3429	2022-05-10  Richard Biener  <rguenther@suse.de>
3430
3431	* flags.h (dwarf_debuginfo_p): Add opts argument, guard
3432	API with !GENERATOR_FILE.
3433	* opts.cc (global_options): Poison.
3434	(global_options_set): Likewise.
3435	(finish_options): Refer to options via opts.
3436
34372022-05-19  Richard Biener  <rguenther@suse.de>
3438
3439	Backported from master:
3440	2022-04-29  Richard Biener  <rguenther@suse.de>
3441
3442	PR tree-optimization/105431
3443	* tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
3444	(powi_as_mults): Use absu_hwi.
3445	(gimple_expand_builtin_powi): Remove now pointless n != -n
3446	check.
3447
34482022-05-18  Andrew MacLeod  <amacleod@redhat.com>
3449
3450	PR tree-optimization/105458
3451	* value-relation.cc (path_oracle::register_relation): Merge, then check
3452	for equivalence.
3453
34542022-05-16  Sebastian Pop  <spop@amazon.com>
3455
3456	PR target/105162
3457	* config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
3458	of str array.
3459	* config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
3460	memmodel_from_int and handle MEMMODEL_SYNC_*.
3461	(DEF0): Add __aarch64_*_sync functions.
3462
34632022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
3464
3465	* dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
3466	instead of a bitwise negation.
3467	<COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
3468
34692022-05-13  Eric Botcazou  <ebotcazou@adacore.com>
3470
3471	* tree-sra.cc (sra_modify_assign): Check that scalar storage order
3472	is the same on the LHS and RHS before rewriting one with the model
3473	of the other.
3474
34752022-05-13  Alexandre Oliva  <oliva@adacore.com>
3476
3477	Backported from master:
3478	2022-05-13  Alexandre Oliva  <oliva@adacore.com>
3479
3480	PR rtl-optimization/105455
3481	* gimple-harden-conditionals.cc (insert_check_and_trap): Set
3482	probabilities for newly-conditional edges.
3483
34842022-05-11  Martin Jambor  <mjambor@suse.cz>
3485
3486	Backported from master:
3487	2022-04-29  Martin Jambor  <mjambor@suse.cz>
3488
3489	PR ipa/100413
3490	* cgraph.cc (cgraph_node::remove): Release body of the node this
3491	is clone_of if appropriate.
3492
34932022-05-10  Jakub Jelinek  <jakub@redhat.com>
3494
3495	Backported from master:
3496	2022-05-10  Jakub Jelinek  <jakub@redhat.com>
3497
3498	PR tree-optimization/105528
3499	* gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
3500	set *gsi to gsi_for_stmt (ass_stmt).  Fix up function comment.
3501
35022022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
3503
3504	PR target/105292
3505	* config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
3506	true only for 8-byte vector modes.
3507
35082022-05-06  Michael Meissner  <meissner@linux.ibm.com>
3509
3510	Backported from master:
3511	2022-05-06   Michael Meissner  <meissner@linux.ibm.com>
3512
3513	PR target/102059
3514	* config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
3515	and -mpower10-fusion options for inlining purposes.
3516
35172022-05-06  Richard Biener  <rguenther@suse.de>
3518
3519	Backported from master:
3520	2022-04-29  Richard Biener  <rguenther@suse.de>
3521
3522	PR middle-end/105376
3523	* tree.cc (build_real): Special case dconst* arguments
3524	for decimal floating point types.
3525
35262022-05-06  Richard Biener  <rguenther@suse.de>
3527
3528	Backported from master:
3529	2022-05-05  Richard Biener  <rguenther@suse.de>
3530
3531	PR tree-optimization/105484
3532	* gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
3533	whether the CFG changed.
3534	(gimple_expand_vec_exprs): When the CFG changed, clean it up.
3535
35362022-05-06  Richard Biener  <rguenther@suse.de>
3537
3538	Backported from master:
3539	2022-05-03  Richard Biener  <rguenther@suse.de>
3540
3541	PR middle-end/105461
3542	* opts.cc (finish_options): Match the condition to
3543	disable flag_var_tracking to that of process_options.
3544
35452022-05-06  Richard Biener  <rguenther@suse.de>
3546
3547	Backported from master:
3548	2022-05-03  Richard Biener  <rguenther@suse.de>
3549
3550	* opts.cc: #undef OPTIONS_SET_P.
3551	(finish_options): Use opts_set instead of OPTIONS_SET_P.
3552
35532022-05-06  Richard Biener  <rguenther@suse.de>
3554
3555	Backported from master:
3556	2022-05-02  Richard Biener  <rguenther@suse.de>
3557
3558	PR tree-optimization/105437
3559	* tree-vect-slp.cc (vect_schedule_slp_node): Handle the
3560	case where last_stmt alters control flow.
3561
35622022-05-06  Richard Biener  <rguenther@suse.de>
3563
3564	Backported from master:
3565	2022-05-03  Richard Biener  <rguenther@suse.de>
3566
3567	PR tree-optimization/105394
3568	* tree-vect-generic.cc (expand_vector_condition): Adjust
3569	comp_width for non-integer mode masks as well.
3570
35712022-05-06  Release Manager
3572
3573	* GCC 12.1.0 released.
3574
35752022-05-02  Jakub Jelinek  <jakub@redhat.com>
3576
3577	Backported from master:
3578	2022-05-02  Jakub Jelinek  <jakub@redhat.com>
3579
3580	* system.h: Include initializer_list.
3581
35822022-04-28  Jakub Jelinek  <jakub@redhat.com>
3583
3584	PR lto/105399
3585	* cgraph.cc (cgraph_node::verify_node): Don't verify
3586	semantic_interposition flag against
3587	opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
3588
35892022-04-28  Jakub Jelinek  <jakub@redhat.com>
3590
3591	PR target/105331
3592	* config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
3593	temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
3594	of it.
3595
35962022-04-28  Jonathan Wakely  <jwakely@redhat.com>
3597
3598	* doc/install.texi (Configuration): Remove misleading text
3599	around LE PowerPC Linux multilibs.
3600
36012022-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3602
3603	PR d/103528
3604	* doc/install.texi (Tools/packages necessary for building GCC)
3605	(GDC): Document libphobos requirement.
3606	(Host/target specific installation notes for GCC, *-*-solaris2*):
3607	Document libphobos and GDC specifics.
3608
36092022-04-28  Richard Biener  <rguenther@suse.de>
3610
3611	PR tree-optimization/105219
3612	* tree-vect-loop.cc (vect_transform_loop): Disable
3613	special code narrowing the vectorized epilogue max
3614	iterations when peeling for alignment or gaps was in effect.
3615
36162022-04-28  Xi Ruoyao  <xry111@mengyan1223.wang>
3617
3618	* config/loongarch/loongarch.cc
3619	(loongarch_flatten_aggregate_field): Ignore empty fields for
3620	RECORD_TYPE.
3621
36222022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
3623
3624	* config/loongarch/loongarch.md: Add fdiv define_expand template,
3625	then generate floating-point division and floating-point reciprocal
3626	instructions.
3627
36282022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
3629
3630	* config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
3631	to PLV instruction templates.
3632
36332022-04-27  Richard Biener  <rguenther@suse.de>
3634
3635	PR middle-end/104492
3636	* gimple-ssa-warn-access.cc
3637	(pass_waccess::warn_invalid_pointer): Exclude equality compare
3638	diagnostics for all kind of invalidations.
3639	(pass_waccess::check_dangling_uses): Fix post-dominator query.
3640	(pass_waccess::check_pointer_uses): Likewise.
3641
36422022-04-27  Andreas Krebbel  <krebbel@linux.ibm.com>
3643
3644	PR target/102024
3645	* config/s390/s390-protos.h (s390_function_arg_vector): Remove
3646	prototype.
3647	* config/s390/s390.cc (s390_single_field_struct_p): New function.
3648	(s390_function_arg_vector): Invoke s390_single_field_struct_p.
3649	(s390_function_arg_float): Likewise.
3650
36512022-04-27  Jakub Jelinek  <jakub@redhat.com>
3652
3653	PR sanitizer/105396
3654	* asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
3655	where offset is bigger than off but smaller than m_prev_offset + 32
3656	bits by pushing one or more 0 bytes.  Sink the
3657	m_shadow_bytes.safe_push (value); flush_if_full (); statements from
3658	all cases to the end of the function.
3659
36602022-04-27  Kewen Lin  <linkw@linux.ibm.com>
3661
3662	PR target/105271
3663	* config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
3664	stanza.
3665
36662022-04-26  Thomas Schwinge  <thomas@codesourcery.com>
3667
3668	* config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
3669	data-share memory exhausted" error more verbose.
3670
36712022-04-26  Martin Liska  <mliska@suse.cz>
3672
3673	PR lto/105364
3674	* lto-wrapper.cc (print_lto_docs_link): Use global_dc.
3675	(run_gcc): Parse OPT_fdiagnostics_urls_.
3676	(main): Initialize global_dc.
3677
36782022-04-26  Jakub Jelinek  <jakub@redhat.com>
3679
3680	PR rtl-optimization/105314
3681	* ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
3682	operand is equal to if_info->x, instead use the non-zero operand
3683	as one of the operands of AND with if_info->x as target.
3684
36852022-04-26  Jakub Jelinek  <jakub@redhat.com>
3686
3687	PR tree-optimization/105374
3688	* tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
3689	!fold_convertible_p rather than assuming fold_convert must succeed.
3690
36912022-04-26  Jakub Jelinek  <jakub@redhat.com>
3692
3693	PR target/105367
3694	* config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
3695	el_mode == DFmode ? double_type_node : float_type_node instead of
3696	TREE_TYPE (type_in) as first arguments to mathfn_built_in.
3697
36982022-04-25  David Malcolm  <dmalcolm@redhat.com>
3699
3700	PR analyzer/104308
3701	* gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
3702	the location of new_stmt in all places that don't already set it,
3703	whether explicitly, or via a call to gsi_replace.
3704
37052022-04-25  Paul A. Clarke  <pc@us.ibm.com>
3706
3707	* doc/extend.texi (Other Builtins): Correct reference to 'modff'.
3708
37092022-04-25  Andrew MacLeod  <amacleod@redhat.com>
3710
3711	PR tree-optimization/105276
3712	* gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
3713	existing global range with calculated value.
3714
37152022-04-25  Richard Biener  <rguenther@suse.de>
3716
3717	PR tree-optimization/105368
3718	* tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
3719
37202022-04-25  Richard Biener  <rguenther@suse.de>
3721
3722	PR tree-optimization/100810
3723	* tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
3724	(find_ssa_undef): New function.
3725	(add_candidate_1): Avoid adding derived candidates with
3726	undefined SSA names and mark the original ones.
3727	(determine_group_iv_cost_generic): Reject rewriting
3728	uses with a different IV when that involves undefined SSA names.
3729
37302022-04-25  Steven G. Kargl  <kargl@gcc.gnu.org>
3731
3732	PR target/89125
3733	* config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
3734	bsd_libc_has_function.
3735	* targhooks.cc (bsd_libc_has_function): New function.
3736	Expand the supported math functions to inclue C99 libm.
3737	* targhooks.h (bsd_libc_has_function): New Prototype.
3738
37392022-04-25  Richard Biener  <rguenther@suse.de>
3740
3741	PR rtl-optimization/105231
3742	* combine.cc (distribute_notes): Assert that a REG_EH_REGION
3743	with landing pad > 0 is from i3.  Put any REG_EH_REGION note
3744	on i3 or drop it if the insn can not trap.
3745	(try_combine): Ensure that we can merge REG_EH_REGION notes
3746	with non-call exceptions.  Ensure we are not splitting a
3747	trapping part of an insn with non-call exceptions when there
3748	is any REG_EH_REGION note to preserve.
3749
37502022-04-25  Hongyu Wang  <hongyu.wang@intel.com>
3751
3752	PR target/105339
3753	* config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
3754	Add parentheses for parameters and djust format.
3755	(_mm512_mask_scalef_round_pd): Ditto.
3756	(_mm512_maskz_scalef_round_pd): Ditto.
3757	(_mm512_scalef_round_ps): Ditto.
3758	(_mm512_mask_scalef_round_ps): Ditto.
3759	(_mm512_maskz_scalef_round_ps): Ditto.
3760	(_mm_scalef_round_sd): Use _mm_undefined_pd.
3761	(_mm_scalef_round_ss): Use _mm_undefined_ps.
3762	(_mm_mask_scalef_round_sd): New macro.
3763	(_mm_mask_scalef_round_ss): Ditto.
3764	(_mm_maskz_scalef_round_sd): Ditto.
3765	(_mm_maskz_scalef_round_ss): Ditto.
3766
37672022-04-23  Jakub Jelinek  <jakub@redhat.com>
3768
3769	PR target/105338
3770	* config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
3771	op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
3772	cases.
3773
37742022-04-22  Segher Boessenkool  <segher@kernel.crashing.org>
3775
3776	PR target/105334
3777	* config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
3778	(pack<mode> for FMOVE128): Rename and split the insn_and_split to...
3779	(pack<mode>_hard for FMOVE128): ... this...
3780	(pack<mode>_soft for FMOVE128): ... and this.
3781
37822022-04-22  Paul A. Clarke  <pc@us.ibm.com>
3783
3784	* doc/extend.texi: Correct "This" to "These".
3785
37862022-04-22  Jakub Jelinek  <jakub@redhat.com>
3787
3788	PR rtl-optimization/105333
3789	* rtlanal.cc (replace_rtx): Use simplify_subreg or
3790	simplify_unary_operation if CONST_SCALAR_INT_P rather than just
3791	CONST_INT_P.
3792
37932022-04-21  Segher Boessenkool  <segher@kernel.crashing.org>
3794
3795	PR target/103197
3796	PR target/102146
3797	* config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
3798	the "Z" alternatives in {l,st}{f,xs}iwzx.
3799	(zero_extendhi<mode>2 for EXTHI): Ditto.
3800	(zero_extendsi<mode>2 for EXTSI): Ditto.
3801	(*movsi_internal1): Ditto.
3802	(*mov<mode>_internal1 for QHI): Ditto.
3803	(movsd_hardfloat): Ditto.
3804
38052022-04-21  Martin Liska  <mliska@suse.cz>
3806
3807	* configure.ac: Enable compressed debug sections for mold
3808	linker.
3809	* configure: Regenerate.
3810
38112022-04-21  Jakub Jelinek  <jakub@redhat.com>
3812
3813	PR debug/105203
3814	* emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
3815	on DEBUG_INSNs.
3816
38172022-04-20  Richard Biener  <rguenther@suse.de>
3818
3819	PR tree-optimization/104912
3820	* tree-vect-loop-manip.cc (vect_loop_versioning): Split
3821	the cost model check to a separate BB to make sure it is
3822	checked first and not combined with other version checks.
3823
38242022-04-20  Richard Biener  <rguenther@suse.de>
3825
3826	PR tree-optimization/105312
3827	* gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
3828	VCOND and VCONDU for EQ and NE.
3829
38302022-04-20  Jan Hubicka  <hubicka@ucw.cz>
3831
3832	PR ipa/103818
3833	* ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
3834	poly_offset_int to avoid overflow.
3835	(modref_access_node::update2): likewise.
3836
38372022-04-20  Jakub Jelinek  <jakub@redhat.com>
3838
3839	PR ipa/105306
3840	* cgraph.cc (cgraph_node::create): Set node->semantic_interposition
3841	to opt_for_fn (decl, flag_semantic_interposition).
3842	* cgraphclones.cc (cgraph_node::create_clone): Copy over
3843	semantic_interposition flag.
3844
38452022-04-19  Sergei Trofimovich  <siarheit@google.com>
3846
3847	PR gcov-profile/105282
3848	* value-prof.cc (stream_out_histogram_value): Allow negative counts
3849	on HIST_TYPE_INDIR_CALL.
3850
38512022-04-19  Jakub Jelinek  <jakub@redhat.com>
3852
3853	PR target/105257
3854	* config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
3855	use gen_raw_REG instead of gen_rtx_REG and copy over also
3856	ORIGINAL_REGNO.  Use return 0; instead of /* fallthrough */.
3857
38582022-04-19  Richard Biener  <rguenther@suse.de>
3859
3860	PR tree-optimization/104010
3861	PR tree-optimization/103941
3862	* tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
3863	we run into stmts in patterns continue walking those
3864	for uses outside of the vectorized region instead of
3865	marking the lane live.
3866
38672022-04-18  Hans-Peter Nilsson  <hp@axis.com>
3868
3869	* doc/install.texi <CRIS>: Remove references to removed websites and
3870	adjust for cris-*-elf being the only remaining toolchain.
3871
38722022-04-18  Hans-Peter Nilsson  <hp@axis.com>
3873
3874	* doc/invoke.texi <CRIS>: Remove references to options for removed
3875	subtarget cris-axis-linux-gnu and tweak wording accordingly.
3876
38772022-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
3878
3879	* doc/install.texi (Specific): Adjust mingw-w64 download link.
3880
38812022-04-15  Hongyu Wang  <hongyu.wang@intel.com>
3882
3883	* config/i386/smmintrin.h: Correct target pragma from sse4.1
3884	and sse4.2 to crc32 for crc32 intrinsics.
3885
38862022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
3887
3888	PR debug/105089
3889	* ctfc.cc (ctf_dvd_ignore_insert): New function.
3890	(ctf_dvd_ignore_lookup): Likewise.
3891	(ctf_add_variable): Keep track of non-defining decl DIEs.
3892	(new_ctf_container): Initialize the new hash-table.
3893	(ctfc_delete_container): Empty hash-table.
3894	* ctfc.h (struct ctf_container): Add new hash-table.
3895	(ctf_dvd_ignore_lookup): New declaration.
3896	(ctf_add_variable): Add additional argument.
3897	* ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
3898	record for non-defining decl for which a defining decl exists
3899	in the same TU.
3900	(ctf_preprocess): Defer updating the number of global objts
3901	until here.
3902	(output_ctf_header): Use ctfc_vars_list_count as some CTF
3903	variables may not make it to the final output.
3904	(output_ctf_vars): Likewise.
3905	* dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
3906	if this is known to be a non-defining decl DIE.
3907
39082022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
3909
3910	* ctfc.h (struct ctf_container): Introduce a new member.
3911	* ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
3912	variable.
3913
39142022-04-14  Jakub Jelinek  <jakub@redhat.com>
3915
3916	PR target/105247
3917	* simplify-rtx.cc (simplify_const_binary_operation): For shifts
3918	or rotates by VOIDmode constant integer shift count use word_mode
3919	for the operand if int_mode is narrower than word.
3920
39212022-04-14  Robin Dapp  <rdapp@linux.ibm.com>
3922
3923	* config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
3924	(s390_get_unit_mask): Likewise.
3925	(s390_is_fpd): Likewise.
3926	(s390_is_fxd): Likewise.
3927	* config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
3928	* config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
3929	Add z16.
3930	(z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
3931	Likewise.
3932	* config/s390/3931.md: New file.
3933
39342022-04-13  Richard Sandiford  <richard.sandiford@arm.com>
3935
3936	PR tree-optimization/105254
3937	* config/aarch64/aarch64.cc
3938	(aarch64_vector_costs::determine_suggested_unroll_factor): Take a
3939	loop_vec_info as argument.  Restrict the unroll factor to values
3940	that divide the VF.
3941	(aarch64_vector_costs::finish_cost): Update call accordingly.
3942
39432022-04-13  Richard Biener  <rguenther@suse.de>
3944
3945	PR tree-optimization/105263
3946	* tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
3947	negates in multiplication chains with DFP.
3948
39492022-04-13  Jakub Jelinek  <jakub@redhat.com>
3950
3951	PR middle-end/105253
3952	* tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
3953	use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
3954	comparisons or tree_nop_conversion_p checks.
3955
39562022-04-13  Hongyu Wang  <hongyu.wang@intel.com>
3957
3958	PR target/103069
3959	* config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
3960	  Add missing set to target_val at pause label.
3961
39622022-04-13  Jakub Jelinek  <jakub@redhat.com>
3963
3964	PR target/105234
3965	* attribs.cc (decl_attributes): Don't set
3966	DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
3967	NULL.
3968
39692022-04-13  Richard Biener  <rguenther@suse.de>
3970
3971	PR tree-optimization/105250
3972	* fold-const.cc (fold_convertible_p): Revert
3973	r12-7979-geaaf77dd85c333, instead check for size equality
3974	of the vector types involved.
3975
39762022-04-13  Richard Biener  <rguenther@suse.de>
3977
3978	Revert:
3979	2022-04-13  Richard Biener  <rguenther@suse.de>
3980
3981	PR tree-optimization/104912
3982	* tree-vect-loop-manip.cc (vect_loop_versioning): Split
3983	the cost model check to a separate BB to make sure it is
3984	checked first and not combined with other version checks.
3985
39862022-04-13  Richard Biener  <rguenther@suse.de>
3987
3988	PR tree-optimization/104912
3989	* tree-vect-loop-manip.cc (vect_loop_versioning): Split
3990	the cost model check to a separate BB to make sure it is
3991	checked first and not combined with other version checks.
3992
39932022-04-13  Jakub Jelinek  <jakub@redhat.com>
3994
3995	* tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
3996
39972022-04-12  Antoni Boucher  <bouanto@zoho.com>
3998
3999	PR jit/104072
4000	* reginfo.cc: New functions (clear_global_regs_cache,
4001	reginfo_cc_finalize) to avoid an issue where compiling the same
4002	code multiple times gives an error about assigning the same
4003	register to 2 global variables.
4004	* rtl.h: New function (reginfo_cc_finalize).
4005	* toplev.cc: Call it.
4006
40072022-04-12  Antoni Boucher  <bouanto@zoho.com>
4008
4009	PR jit/104071
4010	* toplev.cc: Call the new function tree_cc_finalize in
4011	toplev::finalize.
4012	* tree.cc: New functions (clear_nonstandard_integer_type_cache
4013	and tree_cc_finalize) to clear the cache of non-standard integer
4014	types to avoid having issues with some optimizations of
4015	bitcast where the SSA_NAME will have a size of a cached
4016	integer type that should have been invalidated, causing a
4017	comparison of integer constant to fail.
4018	* tree.h: New function (tree_cc_finalize).
4019
40202022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
4021
4022	PR target/97348
4023	* config/nvptx/nvptx.h (ASM_SPEC): Don't set.
4024	* config/nvptx/nvptx.opt (misa): Adjust comment.
4025
40262022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
4027
4028	Revert:
4029	2022-03-03  Tom de Vries  <tdevries@suse.de>
4030
4031	* config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
4032
40332022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
4034
4035	Revert:
4036	2022-03-31  Tom de Vries  <tdevries@suse.de>
4037
4038	* config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
4039
40402022-04-12  Richard Biener  <rguenther@suse.de>
4041
4042	PR ipa/104303
4043	* tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
4044	include local escaped memory as obviously necessary stores.
4045
40462022-04-12  Richard Biener  <rguenther@suse.de>
4047
4048	PR tree-optimization/105235
4049	* tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
4050	return whether the CFG changed.
4051	(execute_cse_sincos_1): Adjust.
4052
40532022-04-12  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>
4054
4055	PR target/104144
4056	* config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
4057	(MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
4058	(MULTILIB_REQUIRED): Don't require Armv9-a libraries.
4059	(MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
4060	(MULTILIB_REUSE): Remove remap rules for Armv9-a.
4061	* config/arm/t-multilib (v9_a_nosimd_variants): Delete.
4062	(MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
4063
40642022-04-12  Richard Biener  <rguenther@suse.de>
4065
4066	PR tree-optimization/105232
4067	* tree.cc (component_ref_size): Bail out for too large
4068	or non-constant sizes.
4069
40702022-04-12  Richard Biener  <rguenther@suse.de>
4071
4072	PR tree-optimization/105226
4073	* tree-vect-loop-manip.cc (vect_loop_versioning): Verify
4074	we can split the exit of an outer loop we choose to version.
4075
40762022-04-12  Jakub Jelinek  <jakub@redhat.com>
4077
4078	* config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
4079	ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
4080	ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
4081	ix86_emit_swdivsf, ix86_emit_swsqrtsf,
4082	ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
4083	Formatting fix.
4084	* config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
4085
40862022-04-12  Jakub Jelinek  <jakub@redhat.com>
4087
4088	PR target/105214
4089	* config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
4090	do_pending_stack_adjust.
4091
40922022-04-12  Jakub Jelinek  <jakub@redhat.com>
4093
4094	PR rtl-optimization/105211
4095	* builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
4096	fails for TREE_TYPE (arg), retry it with
4097	TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
4098	fails, emit call normally.
4099
41002022-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>
4101
4102	* common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
4103	* config.gcc: Add z16 as march/mtune switch.
4104	* config/s390/driver-native.cc (s390_host_detect_local_cpu):
4105	Recognize z16 with -march=native.
4106	* config/s390/s390-opts.h (enum processor_type): Rename
4107	PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
4108	* config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
4109	(PROCESSOR_3931_Z16): ... throughout the file.
4110	(s390_processor processor_table): Add z16 as cpu string.
4111	* config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
4112	PF_Z16.
4113	(TARGET_CPU_ARCH14): Rename to ...
4114	(TARGET_CPU_Z16): ... this.
4115	(TARGET_CPU_ARCH14_P): Rename to ...
4116	(TARGET_CPU_Z16_P): ... this.
4117	(TARGET_ARCH14): Rename to ...
4118	(TARGET_Z16): ... this.
4119	(TARGET_ARCH14_P): Rename to ...
4120	(TARGET_Z16_P): ... this.
4121	* config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
4122	check TARGET_Z16 instead of TARGET_ARCH14.
4123	* config/s390/s390.opt: Add z16 to processor_type.
4124	* doc/invoke.texi: Document z16 and arch14.
4125
41262022-04-12  chenglulu  <chenglulu@loongson.cn>
4127
4128	* config/loongarch/loongarch.cc: Fix bug for
4129	tmpdir-g++.dg-struct-layout-1/t033.
4130
41312022-04-11  Peter Bergner  <bergner@linux.ibm.com>
4132
4133	PR target/104894
4134	* config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
4135	to longcall functions.
4136
41372022-04-11  Jason Merrill  <jason@redhat.com>
4138
4139	* ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
4140
41412022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>
4142
4143	PR target/105213
4144	PR target/103623
4145	* config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
4146
41472022-04-11  Jakub Jelinek  <jakub@redhat.com>
4148
4149	PR tree-optimization/105218
4150	* tree-ssa-phiopt.cc (value_replacement): If middle_bb has
4151	more than one predecessor or phi's bb more than 2 predecessors,
4152	reset phi result uses instead of adding a debug temp.
4153
41542022-04-11  Kito Cheng  <kito.cheng@sifive.com>
4155
4156	PR target/104853
4157	* config.gcc: Pass -misa-spec to arch-canonicalize and
4158	multilib-generator.
4159	* config/riscv/arch-canonicalize: Adding -misa-spec option.
4160	(SUPPORTED_ISA_SPEC): New.
4161	(arch_canonicalize): New argument `isa_spec`.
4162	Handle multiple ISA spec versions.
4163	* config/riscv/multilib-generator: Adding -misa-spec option.
4164
41652022-04-11  Kito Cheng  <kito.cheng@sifive.com>
4166
4167	* config/riscv/arch-canonicalize: Add TODO item.
4168	(IMPLIED_EXT): Sync.
4169	(arch_canonicalize): Checking until no change.
4170
41712022-04-11  Tamar Christina  <tamar.christina@arm.com>
4172
4173	PR target/105197
4174	* tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
4175	not masked.
4176
41772022-04-11  Jason Merrill  <jason@redhat.com>
4178
4179	PR c++/100370
4180	* pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
4181	deref == -1.
4182
41832022-04-11  Jakub Jelinek  <jakub@redhat.com>
4184
4185	PR tree-optimization/104639
4186	* tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
4187	(value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
4188	into x != cst3.
4189
41902022-04-11  Jeff Law  <jeffreyalaw@gmail.com>
4191
4192	* config/bfin/bfin.md (rol_one): Fix pattern to indicate the
4193	sign bit of the source ends up in CC.
4194
41952022-04-09  Jan Hubicka  <hubicka@ucw.cz>
4196
4197	PR ipa/103376
4198	* cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
4199	flag.
4200
42012022-04-09  Jan Hubicka  <hubicka@ucw.cz>
4202
4203	* ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
4204	nondeterministic and side_effects flags.
4205
42062022-04-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
4207
4208	PR target/105157
4209	* config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
4210	* config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
4211	(TARGET_CPU_MASK): Likewise.
4212	(TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
4213	* config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
4214	(aarch64_get_arch): Likewise.
4215	(aarch64_override_options): Use TARGET_CPU_NBITS.
4216
42172022-04-08  Richard Biener  <rguenther@suse.de>
4218
4219	PR tree-optimization/105198
4220	* tree-predcom.cc (find_looparound_phi): Check whether
4221	the found memory location of the entry value is clobbered
4222	inbetween the value we want to use and loop entry.
4223
42242022-04-08  Jakub Jelinek  <jakub@redhat.com>
4225
4226	PR tree-optimization/105189
4227	* fold-const.cc (make_range_step): Fix up handling of
4228	(unsigned) x +[low, -] ranges for signed x if low fits into
4229	typeof (x).
4230
42312022-04-08  Richard Biener  <rguenther@suse.de>
4232
4233	PR tree-optimization/105175
4234	* tree-vect-stmts.cc (vectorizable_operation): Suppress
4235	-Wvector-operation-performance if using emulated vectors.
4236	* tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
4237	-Wvector-operation-performance when suppressed.
4238	(expand_vector_parallel): Likewise.
4239	(expand_vector_comparison): Likewise.
4240	(expand_vector_condition): Likewise.
4241	(lower_vec_perm): Likewise.
4242	(expand_vector_conversion): Likewise.
4243
42442022-04-07  Tamar Christina  <tamar.christina@arm.com>
4245
4246	PR target/104409
4247	* config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
4248	(aarch64_general_init_builtins): Move LS64 code.
4249	* config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
4250	arm_acle.h
4251	* config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
4252	* config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
4253
42542022-04-07  Richard Biener  <rguenther@suse.de>
4255	    Jan Hubicka  <hubicka@ucw.cz>
4256
4257	PR ipa/104303
4258	* tree-ssa-alias.h (ptr_deref_may_alias_global_p,
4259	ref_may_alias_global_p, ref_may_alias_global_p,
4260	stmt_may_clobber_global_p, pt_solution_includes_global): Add
4261	bool parameters indicating whether escaped locals should be
4262	considered global.
4263	* tree-ssa-structalias.cc (pt_solution_includes_global):
4264	When the new escaped_nonlocal_p flag is true also consider
4265	pt->vars_contains_escaped.
4266	* tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
4267	Pass down new escaped_nonlocal_p flag.
4268	(ref_may_alias_global_p): Likewise.
4269	(stmt_may_clobber_global_p): Likewise.
4270	(ref_may_alias_global_p_1): Likewise.  For decls also
4271	query the escaped solution if true.
4272	(ref_may_access_global_memory_p): Remove.
4273	(modref_may_conflict): Use ref_may_alias_global_p with
4274	escaped locals considered global.
4275	(ref_maybe_used_by_stmt_p): Adjust.
4276	* ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
4277	Likewise.
4278	* tree-ssa-dse.cc (dse_classify_store): Likewise.
4279	* trans-mem.cc (thread_private_new_memory): Likewise, but
4280	consider escaped locals global.
4281	* tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
4282
42832022-04-07  Richard Biener  <rguenther@suse.de>
4284
4285	PR tree-optimization/105185
4286	* tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
4287	modref query again.
4288
42892022-04-07  Tamar Christina  <tamar.christina@arm.com>
4290
4291	PR target/104049
4292	* config/aarch64/aarch64-simd.md
4293	(aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
4294	(reduc_plus_scal_<mode>): ... This.
4295	(reduc_plus_scal_v4sf): Moved.
4296	(aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
4297	(reduc_plus_scal_v2si): ... This.
4298
42992022-04-07  Jakub Jelinek  <jakub@redhat.com>
4300
4301	PR tree-optimization/102586
4302	* langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
4303	langhook.
4304	* langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
4305	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
4306	* gimple-fold.cc (clear_padding_type): Use ftype instead of
4307	TREE_TYPE (field) some more.  For artificial FIELD_DECLs without
4308	name try the lang_hooks.types.classtype_as_base langhook and
4309	if it returns non-NULL, use that instead of ftype for recursive call.
4310
43112022-04-07  Jakub Jelinek  <jakub@redhat.com>
4312
4313	PR tree-optimization/105150
4314	* tree.cc (tree_builtin_call_types_compatible_p): New function.
4315	(get_call_combined_fn): Use it.
4316
43172022-04-07  Richard Biener  <rguenther@suse.de>
4318
4319	PR middle-end/105165
4320	* tree-complex.cc (expand_complex_asm): Sorry for asm goto
4321	_Complex outputs.
4322
43232022-04-07  liuhongt  <hongtao.liu@intel.com>
4324
4325	* config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
4326	Removed.
4327	(<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
4328	for mask_applied.
4329	(<code><mode>3<mask_name>): Ditto.
4330	(*<code><mode>3<mask_name>): Ditto.
4331	(VFB_128_256): Adjust condition of V8HF/V16HFmode according to
4332	real instruction.
4333	(VFB_512): Ditto.
4334	(VFB): Ditto.
4335
43362022-04-06  Jakub Jelinek  <jakub@redhat.com>
4337
4338	PR rtl-optimization/104985
4339	* combine.cc (struct undo): Add where.regno member.
4340	(do_SUBST_MODE): Rename to ...
4341	(subst_mode): ... this.  Change first argument from rtx * into int,
4342	operate on regno_reg_rtx[regno] and save regno into where.regno.
4343	(SUBST_MODE): Remove.
4344	(try_combine): Use subst_mode instead of SUBST_MODE, change first
4345	argument from regno_reg_rtx[whatever] to whatever.  For UNDO_MODE, use
4346	regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
4347	(undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
4348	instead of *undo->where.r.
4349	(simplify_set): Use subst_mode instead of SUBST_MODE, change first
4350	argument from regno_reg_rtx[whatever] to whatever.
4351
43522022-04-06  Jakub Jelinek  <jakub@redhat.com>
4353
4354	PR target/105069
4355	* config/sh/sh.opt (mdiv=): Add Save.
4356
43572022-04-06  Martin Liska  <mliska@suse.cz>
4358
4359	PR driver/105096
4360	* common.opt: Document properly based on what it does.
4361	* gcc.cc (display_help): Unify with what we have in common.opt.
4362	* opts.cc (common_handle_option): Do not print undocumented
4363	options.
4364
43652022-04-06  Xi Ruoyao  <xry111@mengyan1223.wang>
4366
4367	* config/mips/mips.cc (mips_fpr_return_fields): Ignore
4368	cxx17_empty_base_field_p fields and set an indicator.
4369	(mips_return_in_msb): Adjust for mips_fpr_return_fields change.
4370	(mips_function_value_1): Inform psABI change about C++17 empty
4371	bases.
4372
43732022-04-06  Jakub Jelinek  <jakub@redhat.com>
4374
4375	PR tree-optimization/105150
4376	* gimple.cc (gimple_builtin_call_types_compatible_p): Use
4377	builtin_decl_explicit here...
4378	(gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
4379	here.
4380
43812022-04-06  Richard Biener  <rguenther@suse.de>
4382
4383	PR tree-optimization/105173
4384	* tree-ssa-reassoc.cc (find_insert_point): Get extra
4385	insert_before output argument and compute it.
4386	(insert_stmt_before_use): Adjust.
4387	(rewrite_expr_tree): Likewise.
4388
43892022-04-06  Richard Biener  <rguenther@suse.de>
4390
4391	PR ipa/105166
4392	* ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
4393	out for non-pointer arguments.
4394
43952022-04-06  Richard Biener  <rguenther@suse.de>
4396
4397	PR tree-optimization/105163
4398	* tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
4399	negated abnormals.
4400
44012022-04-06  Jakub Jelinek  <jakub@redhat.com>
4402
4403	PR tree-optimization/105150
4404	* gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
4405	For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
4406	preferrably on builtin_decl_explicit decl rather than fndecl.
4407	* tree-ssa-strlen.cc (valid_builtin_call): Don't call
4408	gimple_builtin_call_types_compatible_p here.
4409
44102022-04-06  Richard Sandiford  <richard.sandiford@arm.com>
4411
4412	PR tree-optimization/103761
4413	* tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
4414	the ncopies parameter with an slp_node parameter.  Calculate the
4415	number of vectors based on it and vectype.  Rename lambda to
4416	group_memory_nvectors.
4417	(vectorizable_store, vectorizable_load): Update calls accordingly.
4418
44192022-04-06  Martin Liska  <mliska@suse.cz>
4420
4421	* doc/invoke.texi: Document it.
4422
44232022-04-06  Richard Biener  <rguenther@suse.de>
4424
4425	PR tree-optimization/105148
4426	* tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
4427	2 and 3 of ARRAY_REFs.
4428
44292022-04-06  Roger Sayle  <roger@nextmovesoftware.com>
4430
4431	* config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
4432	(*andnottf3): Replace with...
4433	(*andnot<mode>3): New define_insn using ANDNOT_MODE.
4434
44352022-04-06  Richard Biener  <rguenther@suse.de>
4436
4437	PR tree-optimization/105142
4438	* gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
4439	basic-block parameter.
4440	(maybe_fold_or_comparisons): Likewise.
4441	* gimple-fold.cc (follow_outer_ssa_edges): New.
4442	(maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
4443	when an outer condition basic-block is specified.
4444	(and_comparisons_1, and_var_with_comparison,
4445	and_var_with_comparison_1, or_comparisons_1,
4446	or_var_with_comparison, or_var_with_comparison_1): Receive and pass
4447	down the outer condition basic-block.
4448	* tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
4449	basic-block of the outer condition.
4450
44512022-04-06  Kewen Lin  <linkw@linux.ibm.com>
4452
4453	PR target/105002
4454	* config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
4455	comparison codes UNLT/UNLE/UNGT/UNGE.
4456
44572022-04-05  David Malcolm  <dmalcolm@redhat.com>
4458
4459	* doc/extend.texi (Common Function Attributes): Document that
4460	'access' does not imply 'nonnull'.
4461
44622022-04-05  Uroš Bizjak  <ubizjak@gmail.com>
4463
4464	PR target/105139
4465	* config/i386/mmx.md (*movv2qi_internal):
4466	Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
4467
44682022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
4469
4470	* config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
4471	define_expand and turn operands 0 and 1 from REGs to MEMs.
4472	(*aarch64_cpymemdi): New pattern.
4473	(aarch64_setmemdi): Turn into a define_expand and turn operand 0
4474	from a REG to a MEM.
4475	(*aarch64_setmemdi): New pattern.
4476	* config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
4477	copy_to_mode_reg on all three registers.  Replace the original
4478	MEM addresses rather than creating wild reads and writes.
4479	(aarch64_expand_setmem_mops): Likewise for the size and for the
4480	destination memory and address.
4481
44822022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
4483
4484	PR target/103147
4485	* config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
4486	* config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
4487	from aarch64_simd_switcher.
4488	* config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
4489	New variable.
4490	(aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
4491	(register_tuple_type): Add more asserts.  Expect the alignment
4492	of the structure to be subject to flag_pack_struct and
4493	maximum_field_alignment.  Set aarch64_simd_tuple_modes.
4494	(aarch64_simd_switcher::aarch64_simd_switcher): New function.
4495	(aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
4496	(handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
4497	(aarch64_general_init_builtins): Hold an aarch64_simd_switcher
4498	while calling aarch64_init_simd_builtins.
4499	* config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
4500	(sve_switcher::~sve_switcher): Remove code now performed by
4501	aarch64_simd_switcher.
4502
45032022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
4504
4505	PR target/104897
4506	* config/aarch64/aarch64-sve-builtins.cc
4507	(function_resolver::infer_vector_or_tuple_type): Use error_n
4508	for "%d vectors" messages.
4509
45102022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
4511
4512	* omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
4513	argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
4514	current clause.
4515
45162022-04-05  Richard Biener  <rguenther@suse.de>
4517
4518	PR c/105151
4519	* passes.def (pass_walloca): Move early instance into
4520	pass_build_ssa_passes to make SSA form available.
4521
45222022-04-05  liuhongt  <hongtao.liu@intel.com>
4523
4524	PR target/101908
4525	* config/i386/i386.cc (ix86_split_stlf_stall_load): New
4526	function
4527	(ix86_reorg): Call ix86_split_stlf_stall_load.
4528	* config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
4529	param.
4530
45312022-04-05  Alexandre Oliva  <oliva@adacore.com>
4532
4533	* targhooks.cc (default_zero_call_used_regs): Attempt to group
4534	regs that the target refuses to use in their natural modes.
4535	(zcur_select_mode_rtx): New.
4536	* regs.h (struct target_regs): Add x_hard_regno_max_nregs.
4537	(hard_regno_max_nregs): Define.
4538	* reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
4539
45402022-04-04  Alex Coplan  <alex.coplan@arm.com>
4541
4542	* doc/match-and-simplify.texi: Fix typos.
4543
45442022-04-04  Jakub Jelinek  <jakub@redhat.com>
4545
4546	PR target/105144
4547	* config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
4548	only if configured with --enable-maintainer-mode, otherwise compare
4549	tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
4550	if they differ, emit a message and fail.
4551
45522022-04-04  Jakub Jelinek  <jakub@redhat.com>
4553
4554	PR target/105144
4555	* config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
4556	* config/aarch64/aarch64-tune.md: Regenerated.
4557
45582022-04-04  Richard Biener  <rguenther@suse.de>
4559
4560	PR tree-optimization/105132
4561	* tree-vect-stmts.cc (vectorizable_operation): Check that
4562	the input vectors have the same number of elements.
4563
45642022-04-04  Richard Biener  <rguenther@suse.de>
4565
4566	PR middle-end/105140
4567	* fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
4568
45692022-04-03  Jeff Law  <jeffreyalaw@gmail.com>
4570
4571	PR target/104987
4572	* config/iq2000/iq2000.md (bbi): New attribute,  default to no.
4573	(delay slot descripts): Use different delay slot description when
4574	the insn as the "bbi" attribute.
4575	(bbi, bbin patterns): Set the bbi attribute to yes.
4576
45772022-04-03  Jakub Jelinek  <jakub@redhat.com>
4578
4579	PR target/105123
4580	* config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
4581	using word as target for expand_simple_binop when doing ASHIFT and
4582	IOR.
4583
45842022-04-02  Xi Ruoyao  <xry111@mengyan1223.wang>
4585
4586	* config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
4587	NULL before dereferencing it.
4588
45892022-04-01  Qing Zhao  <qing.zhao@oracle.com>
4590
4591	* config/i386/i386.cc (zero_all_st_registers): Return the value of
4592	num_of_st.
4593	(ix86_zero_call_used_regs): Update zeroed_hardregs set according to
4594	the return value of zero_all_st_registers.
4595	* doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
4596	* function.cc (gen_call_used_regs_seq): Add an assertion.
4597	* target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
4598
45992022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
4600
4601	PR target/102024
4602	* config/mips/mips.cc (mips_function_arg): Ignore zero-width
4603	fields, and inform if it causes a psABI change.
4604
46052022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
4606
4607	PR target/102024
4608	* config/mips/mips.cc (mips_fpr_return_fields): Detect C++
4609	zero-width bit-fields and set up an indicator.
4610	(mips_return_in_msb): Adapt for mips_fpr_return_fields change.
4611	(mips_function_value_1): Diagnose when the presense of a C++
4612	zero-width bit-field changes function returning in GCC 12.
4613
46142022-04-01  Jakub Jelinek  <jakub@redhat.com>
4615
4616	PR tree-optimization/104645
4617	* tree-ssa-phiopt.cc (value_replacement): If assign has
4618	CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
4619	statement with constant evaluation.
4620
46212022-04-01  YunQiang Su  <yunqiang.su@cipunited.com>
4622
4623	* config/mips/mips.cc (mips_expand_prologue):
4624	  IPL is 8bit for MCU ASE.
4625
46262022-03-31  Bill Schmidt  <wschmidt@linux.ibm.com>
4627
4628	PR target/104004
4629	* config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
4630	(MTFSB0): Likewise.
4631	(MTFSB1): Likewise.
4632	(SET_FPSCR_RN): Likewise.
4633	(SET_FPSCR_DRN): Mark nosoft and no32bit.
4634
46352022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
4636
4637	* doc/options.texi (Option file format): Clarifications around
4638	option definition records' help texts.
4639
46402022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
4641
4642	* optc-gen.awk <END>: Fix "Multiple different help strings" error
4643	diagnostic.
4644
46452022-03-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
4646
4647	* config/aarch64/aarch64.cc (aarch64_vector_costs): Define
4648	determine_suggested_unroll_factor and m_has_avg.
4649	(determine_suggested_unroll_factor): New function.
4650	(aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
4651	to set m_nosve_pattern.
4652	(aarch64_vector_costs::finish_costs): Use
4653	determine_suggested_unroll_factor.
4654	* config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
4655	* doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
4656
46572022-03-31  Martin Jambor  <mjambor@suse.cz>
4658
4659	PR ipa/103083
4660	* ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
4661	(ipa_get_jf_ancestor_keep_null): New function.
4662	* ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
4663	ancestor function.
4664	(compute_complex_assign_jump_func): Pass false to keep_null
4665	parameter of ipa_set_ancestor_jf.
4666	(compute_complex_ancestor_jump_func): Pass true to keep_null
4667	parameter of ipa_set_ancestor_jf.
4668	(update_jump_functions_after_inlining): Carry over keep_null from the
4669	original ancestor jump-function or merge them.
4670	(ipa_write_jump_function): Stream keep_null flag.
4671	(ipa_read_jump_function): Likewise.
4672	(ipa_print_node_jump_functions_for_edge): Print the new flag.
4673	* ipa-cp.cc (class ipcp_bits_lattice): Make various getters const.  New
4674	member function known_nonzero_p.
4675	(ipcp_bits_lattice::known_nonzero_p): New.
4676	(ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
4677	observe it.
4678	(ipcp_bits_lattice::meet_with): Likewise.
4679	(propagate_bits_across_jump_function): Simplify.  Pass true in
4680	drop_all_ones when it is necessary.
4681	(propagate_aggs_across_jump_function): Take care of keep_null
4682	flag.
4683	(ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
4684	jump functions.
4685
46862022-03-31  Martin Jambor  <mjambor@suse.cz>
4687
4688	PR ipa/102513
4689	* ipa-cp.cc (decide_whether_version_node): Skip scalar values
4690	which do not fit the known value_range.
4691
46922022-03-31  Martin Jambor  <mjambor@suse.cz>
4693
4694	PR ipa/103171
4695	* ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
4696	always when an ADDR_EXPR constant is known to reach a load because
4697	of inlining, not just when removing an ADDR reference.
4698
46992022-03-31  Richard Biener  <rguenther@suse.de>
4700
4701	PR tree-optimization/105109
4702	* tree-ssa.cc (execute_update_addresses_taken): Suppress
4703	diagnostics on the load of the other complex component.
4704
47052022-03-31  Tom de Vries  <tdevries@suse.de>
4706
4707	* config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
4708
47092022-03-31  Richard Biener  <rguenther@suse.de>
4710
4711	PR rtl-optimization/105091
4712	* gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
4713	bases.
4714
47152022-03-31  Richard Biener  <rguenther@suse.de>
4716
4717	Revert:
4718	2021-09-13  Richard Earnshaw  <rearnsha@arm.com>
4719
4720	PR target/102125
4721	* gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
4722	memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
4723
47242022-03-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4725
4726	* gcov-io.cc (gcov_read_string): Reword documentation comment.
4727
47282022-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>
4729
4730	* config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
4731	stanza.
4732	(NEG_V4SF): Likewise.
4733	(NEG_V4SI): Likewise.
4734	(NEG_V8HI): Likewise.
4735	(NEG_V2DF): Move to [vsx] stanza.
4736	(NEG_V2DI): Likewise.
4737
47382022-03-30  Vladimir N. Makarov  <vmakarov@redhat.com>
4739
4740	PR middle-end/105032
4741	* lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
4742
47432022-03-30  Tom de Vries  <tdevries@suse.de>
4744	    Tobias Burnus  <tobias@codesourcery.com>
4745
4746	* doc/invoke.texi (march): Document __PTX_SM__.
4747	 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
4748	 __PTX_ISA_VERSION_MINOR__.
4749
47502022-03-30  Jakub Jelinek  <jakub@redhat.com>
4751
4752	PR sanitizer/105093
4753	* ubsan.cc (instrument_object_size): If t is equal to inner and
4754	is a decl other than global var, punt.  When emitting call to
4755	UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
4756
47572022-03-30  Jakub Jelinek  <jakub@redhat.com>
4758
4759	PR tree-optimization/105094
4760	* gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
4761	bitsize <= 0 rather than just == 0.
4762
47632022-03-30  Tom de Vries  <tdevries@suse.de>
4764
4765	* doc/invoke.texi (misa, mptx): Update.
4766	(march, march-map): Add.
4767
47682022-03-30  Thomas Schwinge  <thomas@codesourcery.com>
4769
4770	* opt-functions.awk (n_args): New function.
4771	(lang_enabled_by): Merge function into...
4772	* optc-gen.awk <END>: ... sole user here.
4773	Improve diagnostics.
4774
47752022-03-29  Marek Polacek  <polacek@redhat.com>
4776	    Jakub Jelinek  <jakub@redhat.com>
4777
4778	PR middle-end/103597
4779	* gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
4780	into labels.  Maybe set prev to the statement preceding UNUSED_LABEL_P.
4781	(gimplify_cond_expr): Set UNUSED_LABEL_P.
4782	* tree.h (UNUSED_LABEL_P): New.
4783
47842022-03-29   Michael Meissner  <meissner@linux.ibm.com>
4785
4786	* config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
4787	be any VSX register.
4788
47892022-03-29  Richard Earnshaw  <rearnsha@arm.com>
4790
4791	PR target/102024
4792	* config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
4793	zero-sized bit-fields.  Detect cases where a warning may be needed.
4794	(aarch64_vfp_is_call_or_return_candidate): Emit a note if a
4795	zero-sized bit-field has caused parameter passing to change.
4796
47972022-03-29  Richard Earnshaw  <rearnsha@arm.com>
4798
4799	PR target/102024
4800	* config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
4801	bit-fields.  Detect cases where a warning may be needed.
4802	(aapcs_vfp_is_call_or_return_candidate): Emit a note if
4803	a zero-sized bit-field has caused parameter passing to change.
4804
48052022-03-29  Richard Earnshaw  <rearnsha@arm.com>
4806
4807	PR target/96882
4808	* config/arm/arm.cc (arm_get_pcs_model): Disable selection of
4809	ARM_PCS_AAPCS_LOCAL.
4810
48112022-03-29  Tom de Vries  <tdevries@suse.de>
4812
4813	PR target/104857
4814	* config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
4815	__PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
4816	* config/nvptx/nvptx.cc (ptx_version_to_number): New function.
4817	* config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
4818
48192022-03-29  Tom de Vries  <tdevries@suse.de>
4820
4821	* config/nvptx/nvptx.opt (m64): Update help text to reflect that it
4822	is ignored.
4823
48242022-03-29  Tom de Vries  <tdevries@suse.de>
4825
4826	PR target/104714
4827	* config/nvptx/nvptx.opt (march-map=*): Add aliases.
4828
48292022-03-29  Jan Hubicka  <hubicka@ucw.cz>
4830
4831	* config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
4832	TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
4833	* config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
4834	(TARGET_USE_GATHER_4PARTS): New macro.
4835	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
4836	(X86_TUNE_USE_GATHER_4PARTS): New tune
4837
48382022-03-29  Tom de Vries  <tdevries@suse.de>
4839
4840	* config/nvptx/nvptx.opt (march): Add alias of misa.
4841
48422022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4843	    Lulu Cheng  <chenglulu@loongson.cn>
4844
4845	* doc/install.texi: Add LoongArch options section.
4846	* doc/invoke.texi: Add LoongArch options section.
4847	* doc/md.texi: Add LoongArch options section.
4848
48492022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4850	    Lulu Cheng  <chenglulu@loongson.cn>
4851
4852	* config/loongarch/loongarch-c.cc
4853
48542022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4855	    Lulu Cheng  <chenglulu@loongson.cn>
4856
4857	* config/loongarch/larchintrin.h: New file.
4858	* config/loongarch/loongarch-builtins.cc: New file.
4859
48602022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4861	    Lulu Cheng  <chenglulu@loongson.cn>
4862
4863	* config/host-linux.cc: Add LoongArch support.
4864	* config/loongarch/loongarch-protos.h: New file.
4865	* config/loongarch/loongarch-tune.h: Likewise.
4866	* config/loongarch/loongarch.cc: Likewise.
4867	* config/loongarch/loongarch.h: Likewise.
4868
48692022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4870	    Lulu Cheng  <chenglulu@loongson.cn>
4871
4872	* config/loongarch/constraints.md: New file.
4873	* config/loongarch/generic.md: New file.
4874	* config/loongarch/la464.md: New file.
4875	* config/loongarch/loongarch-ftypes.def: New file.
4876	* config/loongarch/loongarch-modes.def: New file.
4877	* config/loongarch/loongarch.md: New file.
4878	* config/loongarch/predicates.md: New file.
4879	* config/loongarch/sync.md: New file.
4880
48812022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4882	    Lulu Cheng  <chenglulu@loongson.cn>
4883
4884	* configure: Regenerate file.
4885
48862022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4887	    Lulu Cheng  <chenglulu@loongson.cn>
4888
4889	* common/config/loongarch/loongarch-common.cc: New file.
4890	* config/loongarch/genopts/genstr.sh: New file.
4891	* config/loongarch/genopts/loongarch-strings: New file.
4892	* config/loongarch/genopts/loongarch.opt.in: New file.
4893	* config/loongarch/loongarch-str.h: New file.
4894	* config/loongarch/gnu-user.h: New file.
4895	* config/loongarch/linux.h: New file.
4896	* config/loongarch/loongarch-cpu.cc: New file.
4897	* config/loongarch/loongarch-cpu.h: New file.
4898	* config/loongarch/loongarch-def.c: New file.
4899	* config/loongarch/loongarch-def.h: New file.
4900	* config/loongarch/loongarch-driver.cc: New file.
4901	* config/loongarch/loongarch-driver.h: New file.
4902	* config/loongarch/loongarch-opts.cc: New file.
4903	* config/loongarch/loongarch-opts.h: New file.
4904	* config/loongarch/loongarch.opt: New file.
4905	* config/loongarch/t-linux: New file.
4906	* config/loongarch/t-loongarch: New file.
4907	* config.gcc: Add LoongArch support.
4908	* configure.ac: Add LoongArch support.
4909
49102022-03-29  Thomas Schwinge  <thomas@codesourcery.com>
4911
4912	* opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
4913	typo.
4914
49152022-03-29  Richard Biener  <rguenther@suse.de>
4916
4917	PR tree-optimization/105080
4918	* tree-ssa-strlen.cc (printf_strlen_execute): Always init
4919	loops and SCEV.
4920
49212022-03-28  Indu Bhagat  <indu.bhagat@oracle.com>
4922
4923	* ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
4924	(output_ctf_vars): Likewise.
4925
49262022-03-28  Jason Merrill  <jason@redhat.com>
4927
4928	PR c++/59426
4929	* doc/extend.texi: Refer to __is_trivial instead of __is_pod.
4930
49312022-03-28  H.J. Lu  <hjl.tools@gmail.com>
4932
4933	PR target/105068
4934	* config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
4935	"Yw" in clobber.
4936
49372022-03-28  Tom de Vries  <tdevries@suse.de>
4938
4939	PR target/104818
4940	* config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
4941	* config/nvptx/nvptx-gen.opt: Regenerate.
4942	* config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
4943	* config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
4944	gen-opt.sh.
4945
49462022-03-28  David Malcolm  <dmalcolm@redhat.com>
4947
4948	PR analyzer/104308
4949	* gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
4950	to loads then stores, set the location of the new load stmt.
4951
49522022-03-28  Richard Biener  <rguenther@suse.de>
4953
4954	PR tree-optimization/105070
4955	* tree-switch-conversion.h
4956	(bit_test_cluster::hoist_edge_and_branch_if_true): Add location
4957	argument.
4958	* tree-switch-conversion.cc
4959	(bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
4960	cond with location.
4961	(bit_test_cluster::emit): Annotate all generated expressions
4962	with location.
4963
49642022-03-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
4965
4966	* config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
4967
49682022-03-28  liuhongt  <hongtao.liu@intel.com>
4969
4970	PR target/105066
4971	* config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
4972	alternative 4 from sse4_noavx to noavx.
4973
49742022-03-28  Jakub Jelinek  <jakub@redhat.com>
4975
4976	PR tree-optimization/105056
4977	* tree-predcom.cc (component::component): Initialize also comp_step.
4978
49792022-03-27  H.J. Lu  <hjl.tools@gmail.com>
4980
4981	PR target/105068
4982	* config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
4983	"Yw".
4984
49852022-03-26  Roger Sayle  <roger@nextmovesoftware.com>
4986
4987	PR middle-end/104885
4988	* calls.cc (mark_stack_region_used): Check that the region
4989	is within the allocated size of stack_usage_map.
4990
49912022-03-26  Jakub Jelinek  <jakub@redhat.com>
4992
4993	PR rtl-optimization/103775
4994	* recog.cc (check_invalid_inc_dec): New function.
4995	(insn_invalid_p): Return 1 if REG_INC operand overlaps
4996	any stored REGs.
4997
49982022-03-26  H.J. Lu  <hjl.tools@gmail.com>
4999
5000	PR target/105058
5001	* config/i386/sse.md (loadiwkey): Replace "v" with "x".
5002	(aes<aesklvariant>u8): Likewise.
5003
50042022-03-26  H.J. Lu  <hjl.tools@gmail.com>
5005
5006	PR target/105052
5007	* config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
5008	Replace "Yv" with "x".
5009	(ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
5010	(ssse3_psign<mode>3): Likewise.
5011
50122022-03-26  Hans-Peter Nilsson  <hp@axis.com>
5013
5014	* reload.cc (find_reloads): Align comment with code where
5015	considering the intersection of register classes then tweaking the
5016	regclass for the current alternative or rejecting it.
5017
50182022-03-25  Christophe Lyon  <christohe.lyon@arm.com>
5019
5020	PR target/104882
5021	Revert
5022	2021-06-11  Christophe Lyon  <christophe.lyon@linaro.org>
5023
5024	* config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
5025	(mve_vec_unpack<US>_hi_<mode>): Delete.
5026	(@mve_vec_pack_trunc_lo_<mode>): Delete.
5027	(mve_vmovntq_<supf><mode>): Remove '@' prefix.
5028	* config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
5029	from vec-common.md.
5030	(vec_unpack<US>_lo_<mode>): Likewise.
5031	(vec_pack_trunc_<mode>): Rename from
5032	neon_quad_vec_pack_trunc_<mode>.
5033	* config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
5034	(vec_unpack<US>_lo_<mode>): Delete.
5035	(vec_pack_trunc_<mode>): Delete.
5036
50372022-03-25  Vladimir N. Makarov  <vmakarov@redhat.com>
5038
5039	PR middle-end/104971
5040	* lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
5041	regs to clear remove_p flag.
5042
50432022-03-25  Richard Biener  <rguenther@suse.de>
5044
5045	PR tree-optimization/105053
5046	* tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
5047	the correct live-out stmt for a reduction chain.
5048
50492022-03-25  Richard Biener  <rguenther@suse.de>
5050
5051	PR middle-end/105049
5052	* tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
5053	CONSTRUCTOR first elements.
5054
50552022-03-25  Tobias Burnus  <tobias@codesourcery.com>
5056
5057	PR analyzer/103533
5058	* doc/invoke.texi (Static Analyzer Options): Move
5059	@ignore block after @gccoptlist's '}' for 'make pdf'.
5060
50612022-03-25  David Malcolm  <dmalcolm@redhat.com>
5062
5063	PR analyzer/104954
5064	* doc/invoke.texi (Static Analyzer Options): Add
5065	-fdump-analyzer-untracked.
5066
50672022-03-25  Avinash Sonawane  <rootkea@gmail.com>
5068
5069	PR analyzer/103533
5070	* doc/invoke.texi: Document that enabling taint analyzer
5071	checker disables some warnings from `-fanalyzer`.
5072
50732022-03-24  Alexandre Oliva  <oliva@adacore.com>
5074
5075	PR debug/104564
5076	* gimple-harden-conditionals.cc (detach_value): Keep temps
5077	anonymous.
5078
50792022-03-24  Alexandre Oliva  <oliva@adacore.com>
5080
5081	PR middle-end/104975
5082	* gimple-harden-conditionals.cc
5083	(pass_harden_compares::execute): Force split in case of
5084	multiple edges.
5085
50862022-03-24  Jakub Jelinek  <jakub@redhat.com>
5087
5088	PR c++/105035
5089	* fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
5090	field0 or field1 is not a FIELD_DECL, return false.
5091
50922022-03-24  Richard Biener  <rguenther@suse.de>
5093
5094	* tree-predcom.cc (chain::chain): Add CTOR.
5095	(component::component): Likewise.
5096	(pcom_worker::release_chain): Use delete.
5097	(release_components): Likewise.
5098	(pcom_worker::filter_suitable_components): Likewise.
5099	(pcom_worker::split_data_refs_to_components): Use new.
5100	(make_invariant_chain): Likewise.
5101	(make_rooted_chain): Likewise.
5102	(pcom_worker::combine_chains): Likewise.
5103	* tree-vect-loop.cc (vect_create_epilog_for_reduction):
5104	Make sure to release previously constructed scalar_results.
5105	* tree-vect-stmts.cc (vectorizable_load): Use auto_vec
5106	for vec_offsets.
5107	* vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
5108	Release m_flag_set_edges.
5109
51102022-03-24  Siddhesh Poyarekar  <siddhesh@gotplt.org>
5111
5112	PR tree-optimization/104970
5113	* tree-object-size.cc (parm_object_size): Restrict size
5114	computation scenarios to explicit access attributes.
5115
51162022-03-24  Kewen Lin  <linkw@linux.ibm.com>
5117
5118	PR target/104967
5119	* config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
5120	function types.
5121
51222022-03-23  Richard Biener  <rguenther@suse.de>
5123
5124	PR target/102125
5125	* gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
5126	use of movmisalign when either the source or destination
5127	decl is properly aligned.
5128
51292022-03-23  Richard Biener  <rguenther@suse.de>
5130
5131	PR rtl-optimization/105028
5132	* ira-color.cc (form_threads_from_copies): Remove unnecessary
5133	copying of the sorted_copies tail.
5134
51352022-03-23  Martin Liska  <mliska@suse.cz>
5136
5137	* config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
5138	Use %qs in format.
5139	* config/rs6000/rs6000.cc (rs6000_option_override_internal):
5140	Reword the error message.
5141
51422022-03-23  liuhongt  <hongtao.liu@intel.com>
5143
5144	PR target/104976
5145	* config/i386/sse.md (ssePSmodelower): New.
5146	(*avx_cmp<mode>3_ltint_not): Force_reg operand before
5147	lowpart_subreg to avoid NULL_RTX.
5148	(<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
5149	<avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
5150	fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
5151	<avx512>_<complexopname>_<mode>_mask<round_name>,
5152	avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
5153	avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
5154	avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
5155	avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
5156	float<floatunssuffix><mode>v4hf2,
5157	float<floatunssuffix>v2div2hf2,
5158	fix<fixunssuffix>_truncv4hf<mode>2,
5159	fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
5160	extendv2hfv2df2,
5161	trunc<mode>v4hf2,truncv2dfv2hf2,
5162	*avx512bw_permvar_truncv16siv16hi_1,
5163	*avx512bw_permvar_truncv16siv16hi_1_hf,
5164	*avx512f_permvar_truncv8siv8hi_1,
5165	*avx512f_permvar_truncv8siv8hi_1_hf,
5166	*avx512f_vpermvar_truncv8div8si_1,
5167	*avx512f_permvar_truncv32hiv32qi_1,
5168	*avx512f_permvar_truncv16hiv16qi_1,
5169	*avx512f_permvar_truncv4div4si_1,
5170	*avx512f_pshufb_truncv8hiv8qi_1,
5171	*avx512f_pshufb_truncv4siv4hi_1,
5172	*avx512f_pshufd_truncv2div2si_1,
5173	sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
5174	ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
5175
51762022-03-22  Tom de Vries  <tdevries@suse.de>
5177
5178	PR target/104925
5179	* config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
5180	Use % as register prefix.
5181
51822022-03-22  Tom de Vries  <tdevries@suse.de>
5183
5184	* config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
5185	(nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
5186	mexperimental.
5187
51882022-03-22  Tom de Vries  <tdevries@suse.de>
5189
5190	* config/nvptx/nvptx.opt (mexperimental): New option.
5191
51922022-03-22  Tom de Vries  <tdevries@suse.de>
5193
5194	PR target/104957
5195	* config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
5196	* config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
5197	for alias.
5198	(SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
5199	(nvptx_asm_output_def_from_decls): New function.
5200	* config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
5201	gcc_unreachable ().
5202	(ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
5203	nvptx_asm_output_def_from_decls.
5204	* config/nvptx/nvptx.opt (malias): New opt.
5205
52062022-03-22  Tom de Vries  <tdevries@suse.de>
5207
5208	PR target/104916
5209	PR target/104783
5210	* config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
5211	sync (or uniform warp check for mptx < 6.0).
5212
52132022-03-22  Richard Biener  <rguenther@suse.de>
5214
5215	PR tree-optimization/105012
5216	* tree-if-conv.cc (ifcvt_local_dce): Only call
5217	dse_classify_store when we have a VDEF.
5218
52192022-03-22  Martin Liska  <mliska@suse.cz>
5220
5221	PR target/104902
5222	* config/nvptx/nvptx.cc (handle_ptx_version_option):
5223	Fix option wrapping in an error message.
5224
52252022-03-22  Martin Liska  <mliska@suse.cz>
5226
5227	PR target/104903
5228	* config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
5229	Wrap const keyword.
5230
52312022-03-22  Martin Liska  <mliska@suse.cz>
5232
5233	* config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
5234	name.
5235
52362022-03-22  Martin Liska  <mliska@suse.cz>
5237
5238	PR target/104898
5239	* config/rs6000/rs6000.cc (rs6000_option_override_internal):
5240	Use %qs instead of (%qs).
5241
52422022-03-22  Martin Liska  <mliska@suse.cz>
5243
5244	PR target/104898
5245	* config/i386/i386-options.cc (ix86_option_override_internal):
5246	  Use '%qs' instead of '(%qs)'.
5247
52482022-03-22  Martin Liska  <mliska@suse.cz>
5249
5250	PR target/104898
5251	* config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
5252	Use 'qs' and remove usage '(%qs)'.
5253	(aarch64_handle_attr_cpu): Likewise.
5254	(aarch64_handle_attr_tune): Likewise.
5255	(aarch64_handle_attr_isa_flags): Likewise.
5256
52572022-03-22  Tamar Christina  <tamar.christina@arm.com>
5258	    Andre Vieira  <andre.simoesdiasvieira@arm.com>
5259
5260	* config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
5261	struct.
5262	(neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
5263	cost.
5264	(neoverse512tvb_tunings): Likewise.
5265
52662022-03-22  Tamar Christina  <tamar.christina@arm.com>
5267	    Andre Vieira  <andre.simoesdiasvieira@arm.com>
5268
5269	* config/aarch64/aarch64.cc (demeter_addrcost_table,
5270	demeter_regmove_cost, demeter_advsimd_vector_cost,
5271	demeter_sve_vector_cost, demeter_scalar_issue_info,
5272	demeter_advsimd_issue_info, demeter_sve_issue_info,
5273	demeter_vec_issue_info, demeter_vector_cost,
5274	demeter_tunings): New tuning structs.
5275	(aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
5276	tuning.
5277	* config/aarch64/aarch64-cores.def: Add entry for demeter.
5278	* config/aarch64/aarch64-tune.md (tune): Add demeter to list.
5279
52802022-03-22  Tamar Christina  <tamar.christina@arm.com>
5281	    Andre Vieira  <andre.simoesdiasvieira@arm.com>
5282
5283	* config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
5284	(struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
5285	* config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
5286	tunings to use cpu_memmov_cost struct.
5287
52882022-03-22  Tamar Christina  <tamar.christina@arm.com>
5289	    Andre Vieira  <andre.simoesdiasvieira@arm.com>
5290
5291	* config/aarch64/aarch64.cc (neoversen2_addrcost_table,
5292	neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
5293	neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
5294	neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
5295	neoversen2_vec_issue_info, neoversen2_tunings): New structs.
5296	(neoversen2_tunings): Use new structs and update tuning flags.
5297	(aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
5298	tuning.
5299
53002022-03-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
5301
5302	* config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
5303	bit.
5304
53052022-03-22  liuhongt  <hongtao.liu@intel.com>
5306
5307	PR target/104982
5308	* config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
5309	following splitter to reversed condition.
5310
53112022-03-22  Jakub Jelinek  <jakub@redhat.com>
5312
5313	PR rtl-optimization/104989
5314	* calls.cc (expand_call): Don't set ECF_NORETURN in flags after
5315	sorry for passing too large argument, instead set sibcall_failure
5316	for pass == 0, or a new normal_failure flag otherwise.  If
5317	normal_failure is set, don't assert all stack has been deallocated
5318	at the end and throw away the whole insn sequence.
5319
53202022-03-22  Qian Jianhua  <qianjh@cn.fujitsu.com>
5321
5322	* print-tree.cc: Change array length
5323
53242022-03-22  Hongyu Wang  <hongyu.wang@intel.com>
5325
5326	PR target/104978
5327	* config/i386/sse.md
5328	(avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
5329	Use avx512f_movsf_mask instead of vmovaps or vblend, and
5330	force_reg before lowpart_subreg.
5331	(avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
5332
53332022-03-21  H.J. Lu  <hjl.tools@gmail.com>
5334
5335	PR target/105000
5336	* common/config/i386/i386-common.cc
5337	(OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
5338	OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
5339
53402022-03-21  H.J. Lu  <hjl.tools@gmail.com>
5341
5342	PR target/104998
5343	* common/config/i386/cpuinfo.h (get_available_features): Pass
5344	0x19 to __cpuid for bit_AESKLE.  Enable FEATURE_AESKLE only if
5345	bit_AESKLE is set.
5346
53472022-03-21  Richard Sandiford  <richard.sandiford@arm.com>
5348
5349	PR middle-end/104869
5350	* rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
5351	(clobber_group::next_clobber): Likewise.
5352	(def_lookup::prev_def): Rename to...
5353	(def_lookup::last_def_of_prev_group): ...this.
5354	(def_lookup::next_def): Rename to...
5355	(def_lookup::first_def_of_next_group): ...this.
5356	(def_lookup::matching_or_prev_def): Rename to...
5357	(def_lookup::matching_set_or_last_def_of_prev_group): ...this.
5358	(def_lookup::matching_or_next_def): Rename to...
5359	(def_lookup::matching_set_or_first_def_of_next_group): ...this.
5360	(def_lookup::prev_def): New function, taking the lookup insn as
5361	argument.
5362	(def_lookup::next_def): Likewise.
5363	* rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
5364	(def_lookup::last_def_of_prev_group): ...this.
5365	(def_lookup::next_def): Rename to...
5366	(def_lookup::first_def_of_next_group): ...this.
5367	(def_lookup::matching_or_prev_def): Rename to...
5368	(def_lookup::matching_set_or_last_def_of_prev_group): ...this.
5369	(def_lookup::matching_or_next_def): Rename to...
5370	(def_lookup::matching_set_or_first_def_of_next_group): ...this.
5371	* rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
5372	above renaming.
5373	* rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
5374	(clobber_group::next_clobber): Likewise.
5375	(def_lookup::prev_def): Likewise.
5376	(def_lookup::next_def): Likewise.
5377	(function_info::make_use_available): Pass the lookup insn to
5378	def_lookup::prev_def and def_lookup::next_def.
5379
53802022-03-21  Martin Liska  <mliska@suse.cz>
5381
5382	* doc/invoke.texi: Document min-pagesize parameter.
5383
53842022-03-21  Richard Biener  <rguenther@suse.de>
5385
5386	* tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
5387	we are estimating niter of loop.
5388
53892022-03-21  Kito Cheng  <kito.cheng@sifive.com>
5390
5391	* common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
5392	Update flag name and mask name.
5393	* config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
5394	misc macro for vector extensions.
5395	* config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
5396	(MASK_VECTOR_ELEN_32): ... this.
5397	(MASK_VECTOR_EEW_64): Rename to ...
5398	(MASK_VECTOR_ELEN_64): ... this.
5399	(MASK_VECTOR_EEW_FP_32): Rename to ...
5400	(MASK_VECTOR_ELEN_FP_32): ... this.
5401	(MASK_VECTOR_EEW_FP_64): Rename to ...
5402	(MASK_VECTOR_ELEN_FP_64): ... this.
5403	(TARGET_VECTOR_ELEN_32): New.
5404	(TARGET_VECTOR_ELEN_64): Ditto.
5405	(TARGET_VECTOR_ELEN_FP_32): Ditto.
5406	(TARGET_VECTOR_ELEN_FP_64): Ditto.
5407	(TARGET_MIN_VLEN): Ditto.
5408	* config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
5409	(riscv_vector_elen_flags): ... this.
5410
54112022-03-21  Hongyu Wang  <hongyu.wang@intel.com>
5412
5413	PR target/104977
5414	* config/i386/sse.md
5415	(avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
5416	Correct round operand for intel dialect.
5417
54182022-03-19  Arthur Cohen  <arthur.cohen@embecosm.com>
5419
5420	* diagnostic.cc (diagnostic_cc_tests): Rename to...
5421	(c_diagnostic_cc_tests): ...this.
5422	* opt-problem.cc (opt_problem_cc_tests): Rename to...
5423	(c_opt_problem_cc_tests): ...this.
5424	* selftest-run-tests.cc (selftest::run_tests): No longer run
5425	opt_problem_cc_tests or diagnostic_cc_tests.
5426	* selftest.h (diagnostic_cc_tests): Remove declaration.
5427	(opt_problem_cc_tests): Likewise.
5428
54292022-03-19  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
5430
5431	PR jit/63854
5432	* hash-traits.h (struct typed_const_free_remove): New.
5433	(struct free_string_hash): New.
5434	* pass_manager.h: Use free_string_hash.
5435	* passes.cc (pass_manager::register_pass_name): Use free_string_hash.
5436	(pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
5437
54382022-03-19  Jakub Jelinek  <jakub@redhat.com>
5439
5440	PR middle-end/104971
5441	* config/i386/i386-expand.cc
5442	(ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
5443	don't push/pop anything and just return const0_rtx.
5444
54452022-03-18  Vladimir N. Makarov  <vmakarov@redhat.com>
5446
5447	PR rtl-optimization/104961
5448	* lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
5449
54502022-03-18  Jason Merrill  <jason@redhat.com>
5451
5452	* tree.h (IDENTIFIER_LENGTH): Add comment.
5453
54542022-03-18  Jakub Jelinek  <jakub@redhat.com>
5455
5456	PR middle-end/99578
5457	PR middle-end/100680
5458	PR tree-optimization/100834
5459	* params.opt (--param=min-pagesize=): New parameter.
5460	* pointer-query.cc
5461	(compute_objsize_r) <case ARRAY_REF>: Formatting fix.
5462	(compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
5463	of zero for pointer constants equal or larger than min-pagesize.
5464
54652022-03-18  Tom de Vries  <tdevries@suse.de>
5466
5467	* gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
5468	Set gfor location only when dealing with a OMP_TASKLOOP.
5469
54702022-03-18  Tom de Vries  <tdevries@suse.de>
5471
5472	* gimplify.cc (gimplify_omp_for): Set taskloop location.
5473
54742022-03-18  Tom de Vries  <tdevries@suse.de>
5475
5476	PR target/104952
5477	* omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
5478	is executed unconditionally.
5479
54802022-03-18  liuhongt  <hongtao.liu@intel.com>
5481
5482	PR target/104974
5483	* config/i386/i386.md (*movhi_internal): Set attr type from HI
5484	to HF for alternative 12 under TARGET_AVX512FP16.
5485
54862022-03-18  Cui,Lili  <lili.cui@intel.com>
5487
5488	PR target/104963
5489	* config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
5490	* doc/invoke.texi: Update documents for Intel sapphirerapids.
5491
54922022-03-17  Roger Sayle  <roger@nextmovesoftware.com>
5493
5494	PR target/86722
5495	PR tree-optimization/90356
5496	* config/i386/i386.md (*movtf_internal): Don't guard
5497	standard_sse_constant_p clause by optimize_function_for_size_p.
5498	(*movdf_internal): Likewise.
5499	(*movsf_internal): Likewise.
5500
55012022-03-17  Andrew MacLeod  <amacleod@redhat.com>
5502
5503	PR tree-optimization/102943
5504	* gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
5505	dominators and apply intermediary outgoing edge ranges.
5506
55072022-03-17  Richard Biener  <rguenther@suse.de>
5508
5509	PR tree-optimization/104960
5510	* passes.def: Add pass parameter to pass_sink_code, mark
5511	last one to unsplit edges.
5512	* tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
5513	(pass_sink_code::execute): Always execute TODO_cleanup_cfg
5514	when we need to unsplit edges.
5515
55162022-03-17  Jakub Jelinek  <jakub@redhat.com>
5517
5518	PR middle-end/103984
5519	* gimplify.cc (gimplify_target_expr): Gimplify type sizes and
5520	TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
5521	and asan unpoisioning, then append the temporary sequence and
5522	finally the TARGET_EXPR_CLEANUP clobbers.
5523
55242022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
5525
5526	* config/i386/sse.md: Delete corrupt character/typo.
5527
55282022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
5529
5530	PR target/94680
5531	* config/i386/sse.md (sse2_movq128): New define_expand to
5532	preserve previous named instruction.
5533	(*sse2_movq128_<mode>): Renamed from sse2_movq128, and
5534	generalized to VI8F_128 (both V2DI and V2DF).
5535
55362022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
5537
5538	PR tree-optimization/104941
5539	* tree-object-size.cc (size_for_offset): Make useless conversion
5540	check lighter and assign result of fold_convert to OFFSET.
5541
55422022-03-16  H.J. Lu  <hjl.tools@gmail.com>
5543
5544	PR target/104890
5545	* config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
5546	pushing target("general-regs-only").
5547
55482022-03-16  Kito Cheng  <kito.cheng@sifive.com>
5549
5550	* common/config/riscv/riscv-common.cc (riscv_ext_version_table):
5551	Add version info for zk, zks and zkn.
5552
55532022-03-16  LiaoShihua  <shihua@iscas.ac.cn>
5554
5555	* common/config/riscv/riscv-common.cc
5556	(riscv_combine_info): New.
5557	(riscv_subset_list::handle_combine_ext): Combine back into zk to
5558	maintain the canonical order in isa strings.
5559	(riscv_subset_list::parse): Ditto.
5560	* config/riscv/riscv-subset.h (handle_combine_ext): New.
5561
55622022-03-16  Richard Biener  <rguenther@suse.de>
5563
5564	PR tree-optimization/102008
5565	* passes.def: Move the added code sinking pass before the
5566	preceeding phiopt pass.
5567
55682022-03-16  Patrick Palka  <ppalka@redhat.com>
5569
5570	PR c++/96780
5571	* doc/invoke.texi (C++ Dialect Options): Document
5572	-ffold-simple-inlines.
5573
55742022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
5575
5576	PR tree-optimization/104942
5577	* tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
5578
55792022-03-16  Jakub Jelinek  <jakub@redhat.com>
5580
5581	PR target/104910
5582	* config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
5583	imm rtx.
5584
55852022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
5586	    Richard Biener  <rguenther@suse.de>
5587
5588	* gimple-match-head.cc (single_use): Implement inline using a
5589	single loop.
5590
55912022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
5592
5593	* match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
5594	instead of HONOR_NANS.
5595	(X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
5596	this can't trap/signal.
5597
55982022-03-16  liuhongt  <hongtao.liu@intel.com>
5599
5600	PR target/104946
5601	* config/i386/i386-builtin.def (BDESC): Add
5602	CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
5603	* config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
5604	__builtin_ia32_blendvpd w/o sse4.2
5605
56062022-03-15  Peter Bergner  <bergner@linux.ibm.com>
5607
5608	PR target/104923
5609	* config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
5610	acceptable MEM addresses.
5611
56122022-03-15  Jakub Jelinek  <jakub@redhat.com>
5613
5614	PR target/91229
5615	* config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
5616	riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
5617	to warning calls.
5618
56192022-03-15  Jakub Jelinek  <jakub@redhat.com>
5620
5621	PR target/104890
5622	* config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
5623	instead of general-regs-only.
5624
56252022-03-15  Roger Sayle  <roger@nextmovesoftware.com>
5626	    Marc Glisse  <marc.glisse@inria.fr>
5627	    Richard Biener  <rguenther@suse.de>
5628
5629	PR tree-optimization/101895
5630	* match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
5631	(plus (vec_perm (mult ...) ...) ...): New reordering simplification.
5632
56332022-03-15  Jakub Jelinek  <jakub@redhat.com>
5634
5635	PR rtl-optimization/104814
5636	* ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
5637	end with onlyjump_p.  Assume BB_END (test_bb) is always non-NULL.
5638
56392022-03-15  Martin Sebor  <msebor@redhat.com>
5640
5641	PR middle-end/104436
5642	* gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
5643	Check for warning suppression.  Avoid by-value arguments transformed
5644	into by-transparent-reference.
5645
56462022-03-14  Roger Sayle  <roger@nextmovesoftware.com>
5647	    Uroš Bizjak  <ubizjak@gmail.com>
5648
5649	* config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
5650	transformation when *zero_extend<mode>si2 is not available.
5651
56522022-03-14  Xi Ruoyao  <xry111@mengyan1223.wang>
5653
5654	* config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
5655	* config/mips/mips.cc (mips_option_override): Make
5656	-fsanitize=address imply -fasynchronous-unwind-tables.  This is
5657	needed by libasan for stack backtrace on MIPS.
5658	(mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
5659
56602022-03-14  Jakub Jelinek  <jakub@redhat.com>
5661
5662	PR debug/104778
5663	* lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
5664	SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
5665	call simplified the first operand into VOIDmode constant.
5666
56672022-03-14  Jakub Jelinek  <jakub@redhat.com>
5668
5669	PR tree-optimization/102586
5670	* doc/extend.texi (__builtin_clear_padding): Clearify that for C++
5671	argument type should be pointer to trivially-copyable type unless it
5672	is address of a variable or parameter.
5673
56742022-03-14  Jakub Jelinek  <jakub@redhat.com>
5675
5676	PR target/99754
5677	* config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
5678	first 	rather than last element of the vector, use __m32_u to do
5679	a really unaligned load, use just 0 instead of (int)0.
5680	(_mm_loadu_si16): Put loaded value into first rather than last
5681	element of the vector, use __m16_u to do a really unaligned load,
5682	use just 0 instead of (short)0.
5683
56842022-03-14  Jakub Jelinek  <jakub@redhat.com>
5685
5686	PR other/104899
5687	* config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
5688	in diagnostic message - cannott -> cannot.  Use %< and %> around
5689	names of attribute.  Avoid too long line.
5690	* range-op.cc (operator_logical_and::op1_range): Fix up a typo
5691	in comment - cannott -> cannot.  Use 2 spaces after . instead of one.
5692
56932022-03-14  liuhongt  <hongtao.liu@intel.com>
5694
5695	PR target/104666
5696	* config/i386/i386-expand.cc
5697	(ix86_check_builtin_isa_match):	New func.
5698	(ix86_expand_builtin): Move code to
5699	ix86_check_builtin_isa_match and call it.
5700	* config/i386/i386-protos.h
5701	(ix86_check_builtin_isa_match): Declare.
5702	* config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
5703	builtin into gimple when isa mismatches.
5704
57052022-03-13  Tobias Burnus  <tobias@codesourcery.com>
5706
5707	* doc/invoke.texi: Fix typos.
5708	* doc/tm.texi.in: Remove duplicated word.
5709	* doc/tm.texi: Regenerate.
5710
57112022-03-12  Segher Boessenkool  <segher@kernel.crashing.org>
5712
5713	PR target/104829
5714	* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
5715	"ppc" and "ppc64" based on rs6000_cpu.
5716
57172022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
5718
5719	PR middle-end/100280
5720	PR middle-end/104892
5721	* omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
5722	Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
5723
57242022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
5725
5726	PR middle-end/100280
5727	PR middle-end/104086
5728	* omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
5729	Mark variables used in 'present' clauses as addressable.
5730	* omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
5731	handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
5732
57332022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
5734
5735	PR other/65095
5736	* tree-core.h (user_omp_claus_code_name): Declare function.
5737	* tree.cc (user_omp_clause_code_name): New function.
5738
57392022-03-12  Roger Sayle  <roger@nextmovesoftware.com>
5740
5741	PR middle-end/98420
5742	* match.pd (minus @0 @0): Additional checks for -fno-rounding-math
5743	(the defaut) or -fno-signed-zeros.
5744
57452022-03-12   Michael Meissner  <meissner@linux.ibm.com>
5746
5747	PR target/104868
5748	* config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
5749	moving from a GPR register to an Altivec register.
5750
57512022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
5752
5753	PR tree-optimization/98335
5754	* config/i386/i386.md (peephole2): Eliminate redundant insv.
5755	Combine movl followed by movb.  Transform xorl followed by
5756	a suitable movb or movw into the equivalent movz[bw]l.
5757
57582022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
5759	    Richard Biener  <rguenther@suse.de>
5760
5761	PR tree-optimization/98335
5762	* builtins.cc (get_object_alignment_2): Export.
5763	* builtins.h (get_object_alignment_2): Likewise.
5764	* tree-ssa-alias.cc (ao_ref_alignment): New.
5765	* tree-ssa-alias.h (ao_ref_alignment): Declare.
5766	* tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
5767	to align head/tail, writing more bytes but using fewer store insns.
5768
57692022-03-11  Richard Biener  <rguenther@suse.de>
5770
5771	PR tree-optimization/104880
5772	* tree-ssa.cc (execute_update_address_taken): Remember if we
5773	optimistically made something not addressable and
5774	prepare to undo it.
5775
57762022-03-11  Richard Biener  <rguenther@suse.de>
5777
5778	PR target/104762
5779	* config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
5780	cost the first lane of SSE pieces as inserts for vec_construct.
5781
57822022-03-10  Roger Sayle  <roger@nextmovesoftware.com>
5783
5784	PR c++/84964
5785	* calls.cc (expand_call): Ignore stack adjustments after sorry.
5786
57872022-03-10  Vladimir N. Makarov  <vmakarov@redhat.com>
5788
5789	PR target/103074
5790	* lra-constraints.cc (split_reg): Set up
5791	check_and_force_assignment_correctness_p when splitting hard
5792	register live range.
5793
57942022-03-10  Martin Jambor  <mjambor@suse.cz>
5795
5796	PR ipa/104813
5797	* ipa-cp.cc (create_specialized_node): Move removal of
5798	self-recursive calls from callers vector before refrence
5799	adjustments.
5800
58012022-03-10  Richard Biener  <rguenther@suse.de>
5802
5803	PR tree-optimization/102943
5804	* gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
5805	Make a bitmap_head.
5806	(sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
5807	to tree view.
5808	(sbr_sparse_bitmap::set_bb_range): Adjust.
5809	(sbr_sparse_bitmap::get_bb_range): Likewise.
5810
58112022-03-10  Richard Biener  <rguenther@suse.de>
5812
5813	PR tree-optimization/102943
5814	* tree-ssa-dom.cc (back_propagate_equivalences): Only
5815	populate the dominance bitmap if fast queries are not
5816	available.  Use a tree view bitmap.
5817	(record_temporary_equivalences): Cache the dominance bitmap
5818	across all equivalences on the edge.
5819
58202022-03-10  Tom de Vries  <tdevries@suse.de>
5821
5822	PR target/104840
5823	* config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
5824	of false,true.
5825
58262022-03-10  Tom de Vries  <tdevries@suse.de>
5827
5828	PR target/104783
5829	* config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
5830	(nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
5831	(nvptx_get_unisimt_outside_simt_predicate): New function.
5832	(predicate_insn): New function, factored out of ...
5833	(nvptx_reorg_uniform_simt): ... here.  Predicate all emitted insns.
5834	* config/nvptx/nvptx.h (struct machine_function): Add
5835	unisimt_outside_simt_predicate field.
5836	* config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
5837	(define_insn "nvptx_uniform_warp_check"): Make predicable.
5838
58392022-03-10  Tom de Vries  <tdevries@suse.de>
5840
5841	* config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
5842	result.
5843
58442022-03-10  Tom de Vries  <tdevries@suse.de>
5845
5846	PR target/104815
5847	* config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
5848	modifier.
5849	* config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
5850
58512022-03-10  Tom de Vries  <tdevries@suse.de>
5852
5853	* config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
5854	Emit atom.and.b64 instead of atom.b64.and.
5855
58562022-03-10  Tom de Vries  <tdevries@suse.de>
5857
5858	* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
5859	(MULTILIB_OPTIONS): ... here.
5860
58612022-03-10  Tom de Vries  <tdevries@suse.de>
5862
5863	PR target/104758
5864	* config/nvptx/nvptx.opt (misa): Set default to sm_30.
5865	* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
5866
58672022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
5868
5869	PR middle-end/90115
5870	PR middle-end/102330
5871	PR middle-end/104774
5872	* omp-low.cc (oacc_privatization_candidate_p)
5873	(oacc_privatization_scan_clause_chain)
5874	(oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
5875	Analyze 'lookup_decl'-translated DECL.
5876
58772022-03-10  Jakub Jelinek  <jakub@redhat.com>
5878
5879	PR target/99708
5880	* config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
5881	RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
5882	(ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
5883	* config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
5884	"**NULL**" if type_node is NULL first.  Handle
5885	ieee128_float_type_node.
5886	(rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
5887	and ptr_ibm128_float_type_node.  Set ibm128_float_type_node and
5888	ieee128_float_type_node to NULL rather than long_double_type_node if
5889	they aren't supported.  Do support __ibm128 even if
5890	!TARGET_FLOAT128_TYPE when long double is double double.
5891	(rs6000_expand_builtin): Error if bif_is_ibm128 and
5892	!ibm128_float_type_node.  Remap RS6000_BIF_{,UN}PACK_IF to
5893	RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
5894	for it.
5895	* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
5896	__SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
5897	(rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
5898	Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
5899	Formatting fix.
5900	* config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
5901	(struct attrinfo): Add isibm128 member.
5902	(TYPE_MAP_SIZE): Remove.
5903	(type_map): Use [] instead of [TYPE_MAP_SIZE].  For "if" use
5904	ibm128_float_type_node only if it is non-NULL, otherwise fall back
5905	to long_double_type_node.  Remove "pif" entry.
5906	(parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
5907	(write_decls): Output bif_ibm128_bit and bif_is_ibm128.
5908	(write_type_node): Use sizeof type_map / sizeof type_map[0]
5909	instead of TYPE_MAP_SIZE.
5910	(write_bif_static_init): Handle isibm128.
5911	* config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
5912	(__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
5913	attribute.
5914
59152022-03-09  Richard Biener  <rguenther@suse.de>
5916
5917	* cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
5918	with non-decl operand, avoiding a copy.
5919
59202022-03-09  Jakub Jelinek  <jakub@redhat.com>
5921
5922	PR target/104781
5923	* config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
5924
59252022-03-09  Richard Biener  <rguenther@suse.de>
5926
5927	PR middle-end/104786
5928	* cfgexpand.cc (expand_asm_stmt): Do not generate a copy
5929	for VLAs without an upper size bound.
5930
59312022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
5932
5933	PR tree-optimization/104851
5934	* optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
5935	error.
5936
59372022-03-09  Jakub Jelinek  <jakub@redhat.com>
5938
5939	PR c/104711
5940	* doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
5941	is enabled by it only for C++11 to C++17 rather than for C++03 or
5942	later.
5943	(-Wshift-negative-value): Similarly (except here we stated
5944	that it is enabled for C++11 or later).
5945
59462022-03-09  Jakub Jelinek  <jakub@redhat.com>
5947
5948	PR rtl-optimization/104839
5949	* simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
5950	Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
5951	(simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
5952	instead of incorrect 0 in SUBREG_PROMOTED_SET.
5953
59542022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
5955
5956	PR target/104842
5957	* config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
5958	value before adding an offset.
5959
59602022-03-08  Christophe Lyon  <christophe.lyon@arm.com>
5961
5962	* config/arm/arm-builtins.cc
5963	(arm_binop_none_none_unone_qualifiers): Delete.
5964	(BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
5965
59662022-03-08  Iain Sandoe  <iain@sandoe.co.uk>
5967
5968	PR translation/104552
5969	* config/host-darwin.cc (darwin_gt_pch_get_address): Amend
5970	the PCH out of memory error message punctuation and wording.
5971
59722022-03-08  Marek Polacek  <polacek@redhat.com>
5973
5974	PR rtl-optimization/104777
5975	* rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
5976	ASM_OPERANDS_LABEL_VEC has at least one element.
5977
59782022-03-08  H.J. Lu  <hjl.tools@gmail.com>
5979
5980	PR target/104781
5981	* config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
5982	stack realignment or regparm nested function with EH return.
5983
59842022-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
5985
5986	PR target/104790
5987	* config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
5988	* config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
5989	register for non widening loads or narrowing stores.
5990
59912022-03-08  Eric Gallager  <egallager@gcc.gnu.org>
5992
5993	PR translation/104552
5994	* params.opt: Fix typo.
5995
59962022-03-08  Richard Biener  <rguenther@suse.de>
5997
5998	PR tree-optimization/84201
5999	* params.opt (-param=vect-induction-float): Add.
6000	* doc/invoke.texi (vect-induction-float): Document.
6001	* tree-vect-loop.cc (vectorizable_induction): Honor
6002	param_vect_induction_float.
6003
60042022-03-08  Martin Jambor  <mjambor@suse.cz>
6005
6006	PR translation/104552
6007	* params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
6008	"that" in the description.
6009
60102022-03-08  Richard Biener  <rguenther@suse.de>
6011
6012	PR tree-optimization/104825
6013	* tree-ssa-sccvn.cc (visit_reference_op_call): Properly
6014	guard modref get_ao_ref on a pointer typed argument.
6015
60162022-03-08  liuhongt  <hongtao.liu@intel.com>
6017
6018	* config/i386/sse.md (*vec_dupv4si): Disable memory operand
6019	for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
6020
60212022-03-07  Jonathan Wakely  <jwakely@redhat.com>
6022
6023	* doc/invoke.texi (C++ Modules): Remove anachronism.
6024
60252022-03-07  Martin Liska  <mliska@suse.cz>
6026
6027	PR middle-end/104381
6028	* opts.cc (finish_options): If debug info is disabled
6029	(debug_info_level) and -fvar-tracking is unset, disable it.
6030
60312022-03-07  Jakub Jelinek  <jakub@redhat.com>
6032
6033	* tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
6034	* config/riscv/riscv.cc: Likewise.
6035	* config/darwin.h: Likewise.
6036	* config/i386/i386.cc: Likewise.
6037	* config/aarch64/thunderx3t110.md: Likewise.
6038	* config/aarch64/fractional-cost.h: Likewise.
6039	* config/vax/vax.cc: Likewise.
6040	* config/rs6000/pcrel-opt.md: Likewise.
6041	* config/rs6000/predicates.md: Likewise.
6042	* ctfc.h: Likewise.
6043	* tree-ssa-uninit.cc: Likewise.
6044	* value-relation.h: Likewise.
6045	* gimple-range-gori.cc: Likewise.
6046	* ipa-polymorphic-call.cc: Likewise.
6047	* pointer-query.cc: Likewise.
6048	* ipa-sra.cc: Likewise.
6049	* internal-fn.cc: Likewise.
6050	* varasm.cc: Likewise.
6051	* gimple-ssa-warn-access.cc: Likewise.
6052
60532022-03-07  Martin Liska  <mliska@suse.cz>
6054
6055	PR target/104794
6056	* config/arm/arm.cc (arm_option_override_internal): Add missing
6057	space.
6058
60592022-03-07  Richard Biener  <rguenther@suse.de>
6060
6061	PR tree-optimization/104782
6062	* tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
6063	Re-instantiate r10-5979 fix, add comment.
6064
60652022-03-07  Martin Liska  <mliska@suse.cz>
6066
6067	PR target/104797
6068	* config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
6069	parenthesis from built-in name.
6070
60712022-03-07  Martin Liska  <mliska@suse.cz>
6072
6073	PR target/104794
6074	* config/arm/arm.cc (arm_option_override_internal): Fix quoting
6075	of options in error messages.
6076	(arm_option_reconfigure_globals): Likewise.
6077
60782022-03-07  Martin Liska  <mliska@suse.cz>
6079
6080	PR target/104794
6081	* config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
6082	message.  Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
6083	have only range [0,32].
6084
60852022-03-07  Jakub Jelinek  <jakub@redhat.com>
6086
6087	PR target/104775
6088	* config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
6089	S constraint instead of T in the last alternative.
6090
60912022-03-07  Martin Liska  <mliska@suse.cz>
6092
6093	* plugin.cc (default_plugin_dir_name): Remove <dir> from error
6094	message.
6095
60962022-03-07  Martin Liska  <mliska@suse.cz>
6097
6098	PR translation/90148
6099	* config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
6100	quote to a proper place.
6101	* plugin.cc (default_plugin_dir_name): Likewise.
6102
61032022-03-07  Martin Liska  <mliska@suse.cz>
6104
6105	PR target/99297
6106	* config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
6107	string.
6108
61092022-03-07  Jakub Jelinek  <jakub@redhat.com>
6110
6111	PR target/104779
6112	* config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
6113	define_expand pattern.  Rename define_insn to ...
6114	(*avx512dq_mul<mode>3<mask_name>): ... this.
6115	(<code><mode>3_mask): New any_logic define_expand pattern.
6116	(<mask_codefor><code><mode>3<mask_name>): Rename to ...
6117	(*<code><mode>3<mask_name>): ... this.
6118
61192022-03-05  Jakub Jelinek  <jakub@redhat.com>
6120
6121	* gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
6122	visited bitmap and its use.  Also punt on EDGE_ABNORMAL edges.
6123
61242022-03-05  Roger Sayle  <roger@nextmovesoftware.com>
6125	    Uroš Bizjak  <ubizjak@gmail.com>
6126
6127	PR testsuite/104732
6128	* config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
6129	Include DI mode unconditionally.
6130	(*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
6131	i.e. always split on !TARGET_64BIT.
6132	(*<any_or>di3_doubleword): Likewise.
6133	(*one_cmpldi2_doubleword): Likewise.
6134	(and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
6135	(<any_or><mode>3 expander): Likewise.
6136	(one_cmpl<mode>2 expander): Likewise.
6137
61382022-03-05   Michael Meissner  <meissner@linux.ibm.com>
6139
6140	PR target/104698
6141	* config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
6142	(mtvsrdd_diti_w1): Delete.
6143	(extendditi2): Convert from define_expand to
6144	define_insn_and_split.  Replace with code to deal with both GPR
6145	registers and with altivec registers.
6146
61472022-03-04  Segher Boessenkool  <segher@kernel.crashing.org>
6148
6149	* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
6150	bit.  Handle most older CPUs.
6151
61522022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
6153
6154	* config/darwin.cc (darwin_fold_builtin): Make fcode an int to
6155	avoid a mismatch with DECL_MD_FUNCTION_CODE().
6156
61572022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
6158
6159	PR target/104117
6160	* config/rs6000/darwin.md (@machopic_high_<mode>): New.
6161	(@machopic_low_<mode>): New.
6162	* config/rs6000/predicates.md (macho_pic_address): New.
6163	* config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
6164	apply the TLS processing to Darwin.
6165	* lra-constraints.cc (process_address_1): Revert the changes
6166	in r12-7209.
6167
61682022-03-04  Peter Bergner  <bergner@linux.ibm.com>
6169
6170	PR target/87496
6171	PR target/104208
6172	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
6173	ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
6174	-mlong-double-128.
6175	Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
6176	from here...
6177	* common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
6178	... to here.
6179
61802022-03-04  Jakub Jelinek  <jakub@redhat.com>
6181
6182	PR middle-end/104529
6183	* gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
6184	on automatic objects which will be runtime initialized.
6185
61862022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
6187
6188	PR middle-end/100280
6189	PR middle-end/104132
6190	PR middle-end/104133
6191	* omp-low.cc (task_shared_vars): Rename to
6192	'make_addressable_vars'.  Adjust all users.
6193	(scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
6194	'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
6195
61962022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
6197
6198	PR middle-end/100280
6199	* tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
6200	* tree-core.h: Document it.
6201	* omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
6202	'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
6203	* omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
6204	Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
6205	'TREE_ADDRESSABLE'.
6206
62072022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
6208
6209	PR middle-end/100280
6210	* omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
6211	Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
6212	'[...]' declared in block made addressable".
6213
62142022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
6215
6216	PR middle-end/100400
6217	PR middle-end/103836
6218	PR middle-end/104061
6219	* omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
6220	Catch 'GIMPLE_DEBUG'.
6221
62222022-03-04  Jakub Jelinek  <jakub@redhat.com>
6223
6224	PR c/104627
6225	* tree.cc (warn_deprecated_use): For types prefer to use node
6226	and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
6227	NULL.
6228
62292022-03-04  H.J. Lu  <hjl.tools@gmail.com>
6230
6231	PR target/104704
6232	* config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
6233	a pseudo register.
6234
62352022-03-03  Martin Sebor  <msebor@redhat.com>
6236
6237	PR middle-end/104761
6238	* gimple-ssa-warn-access.cc (pass_waccess::execute): Call
6239	mark_dfs_back_edges.
6240
62412022-03-03  Martin Liska  <mliska@suse.cz>
6242
6243	* configure.ac: Use linker plug-in by default.
6244	* configure: Regenerate.
6245
62462022-03-03  Martin Liska  <mliska@suse.cz>
6247
6248	* configure.ac: Now ld.mold support LTO plugin API, use it.
6249	* configure: Regenerate.
6250
62512022-03-03  Tom de Vries  <tdevries@suse.de>
6252
6253	* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
6254
62552022-03-03  Tom de Vries  <tdevries@suse.de>
6256
6257	PR target/104758
6258	* config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
6259
62602022-03-03  Tom de Vries  <tdevries@suse.de>
6261
6262	* config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
6263
62642022-03-03  Jakub Jelinek  <jakub@redhat.com>
6265
6266	PR middle-end/104757
6267	* gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
6268	gimplify_omp_for.
6269	(gimplify_expr) <case OMP_SIMD>: Temporarily disable
6270	gimplify_ctxp->into_ssa around call to gimplify_omp_for.
6271
62722022-03-03  Jakub Jelinek  <jakub@redhat.com>
6273
6274	PR middle-end/104558
6275	* calls.cc (store_one_arg): When not calling emit_push_insn
6276	because size_rtx is const0_rtx, call at least anti_adjust_stack
6277	on arg->locate.alignment_pad if !argblock and the alignment might
6278	be non-zero.
6279
62802022-03-02  Alexandre Oliva  <oliva@adacore.com>
6281
6282	* lra-constraints.cc (undo_optional_reloads): Recognize and
6283	drop insns of multi-word move sequences, tolerate removal
6284	iteration on an already-removed clobber, and refuse to
6285	substitute original pseudos into clobbers.
6286
62872022-03-02  Qing Zhao  <qing.zhao@oracle.com>
6288
6289	PR middle-end/102276
6290	* common.opt (-Wtrivial-auto-var-init): New option.
6291	* doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
6292	(-ftrivial-auto-var-init): Update option;
6293	* gimplify.cc (emit_warn_switch_unreachable): New function.
6294	(warn_switch_unreachable_r): Rename to ...
6295	(warn_switch_unreachable_and_auto_init_r): This.
6296	(maybe_warn_switch_unreachable): Rename to ...
6297	(maybe_warn_switch_unreachable_and_auto_init): This.
6298	(gimplify_switch_expr): Update calls to renamed function.
6299
63002022-03-02  Richard Biener  <rguenther@suse.de>
6301
6302	PR rtl-optimization/104686
6303	* ira-color.cc (object_conflicts_with_allocno_p): New function
6304	using a bitvector test instead of iterating when possible.
6305	(allocnos_conflict_p): Choose the best allocno to iterate over
6306	object conflicts.
6307	(update_conflict_hard_regno_costs): Do allocnos_conflict_p test
6308	last.
6309
63102022-03-02  Jakub Jelinek  <jakub@redhat.com>
6311
6312	* cfg.cc (dump_edge_info): Dump goto_locus if present.
6313
63142022-03-02  Jakub Jelinek  <jakub@redhat.com>
6315
6316	PR rtl-optimization/104589
6317	* cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
6318	INSN_LOCATION comparison with goto_locus.
6319
63202022-03-02  Jakub Jelinek  <jakub@redhat.com>
6321
6322	* tree-ssa-strlen.cc (strlen_pass::handle_assign,
6323	strlen_pass::before_dom_children): Comment spelling fixes.
6324
63252022-03-02  Jakub Jelinek  <jakub@redhat.com>
6326
6327	* ipa-modref-tree.cc (modref_access_node::contains,
6328	modref_access_node::closer_pair_p, modref_access_node::insert,
6329	modref_access_node::insert_kill): Comment spelling fixes.
6330	* ipa-modref.cc: Likewise.
6331	(modref_summary::finalize, ignore_nondeterminism_p,
6332	class modref_access_analysis,
6333	modref_access_analysis::set_side_effects,
6334	modref_access_analysis::set_nondeterministic,
6335	modref_access_analysis::record_global_memory_load,
6336	modref_access_analysis::propagate, modref_access_analysis::analyze,
6337	struct escape_point, class modref_lattice, modref_lattice::merge,
6338	modref_lattice::merge_deref, class modref_eaf_analysis,
6339	modref_eaf_analysis::merge_call_lhs_flags,
6340	modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
6341	modref_eaf_analysis::record_escape_points, remap_kills,
6342	update_escape_summary, remove_useless_summaries,
6343	ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
6344	Likewise.
6345	* ipa-modref.h (struct modref_summary, interposable_eaf_flags):
6346	Likewise.
6347	* ipa-modref-tree.h (enum modref_special_parms,
6348	struct modref_access_node): Likewise.
6349
63502022-03-01  Jakub Jelinek  <jakub@redhat.com>
6351
6352	PR tree-optimization/104715
6353	* gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
6354	unnecessarily test if ptr is a SSA_NAME, it has to be.  Only push lhs
6355	of a call if gimple_call_return_arg is equal to ptr, not just when it
6356	is non-NULL.
6357
63582022-03-01  Jakub Jelinek  <jakub@redhat.com>
6359
6360	* gimple-ssa-warn-access.cc (warn_string_no_nul,
6361	maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
6362	matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
6363	pass_waccess::check_alloca, pass_waccess::check_strcat,
6364	memmodel_to_uhwi, fntype_argno_type,
6365	pass_waccess::maybe_check_access_sizes,
6366	pass_waccess::check_call_access,
6367	pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
6368	Comment spelling fixes.
6369
63702022-03-01  Richard Biener  <rguenther@suse.de>
6371
6372	PR tree-optimization/104716
6373	* tree-loop-distribution.cc (find_seed_stmts_for_distribution):
6374	Check if we can copy the loop.
6375
63762022-03-01  H.J. Lu  <hjl.tools@gmail.com>
6377
6378	PR middle-end/104721
6379	* cfgexpand.cc (expand_gimple_basic_block): Clear
6380	currently_expanding_gimple_stmt when returning inside the loop.
6381
63822022-03-01  Martin Liska  <mliska@suse.cz>
6383
6384	PR ipa/104533
6385	* multiple_target.cc (get_attr_len): Move to tree.c.
6386	(expand_target_clones): Remove single value checking.
6387	* tree.cc (get_target_clone_attr_len): New fn.
6388	* tree.h (get_target_clone_attr_len): Likewise.
6389
63902022-03-01  Martin Liska  <mliska@suse.cz>
6391
6392	PR gcov-profile/104677
6393	* doc/invoke.texi: Document more .gcda file name generation.
6394
63952022-03-01  Tom de Vries  <tdevries@suse.de>
6396
6397	PR target/102429
6398	* config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
6399	* config/nvptx/nvptx.md
6400	(define_predicate "nvptx_register_or_complex_di_df_register_operand"):
6401	New predicate.
6402	(define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
6403	Use nvptx_register_or_complex_di_df_register_operand.
6404
64052022-03-01  Tom de Vries  <tdevries@suse.de>
6406
6407	* config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
6408	* config/nvptx/gen-copyright.sh: New file.
6409	* config/nvptx/gen-h.sh: New file.
6410	* config/nvptx/gen-opt.sh: New file.
6411	* config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
6412	(TARGET_SM75, TARGET_SM80): Move ...
6413	* config/nvptx/nvptx-gen.h: ... here.  New file, generate.
6414	* config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
6415	* config/nvptx/nvptx-gen.opt: ... here.  New file, generate.
6416	* config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
6417	($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
6418
64192022-03-01  Tom de Vries  <tdevries@suse.de>
6420
6421	* config/nvptx/gen-omp-device-properties.sh: New file.
6422	* config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
6423
64242022-03-01  Tom de Vries  <tdevries@suse.de>
6425
6426	* config/nvptx/nvptx-sm.def: New file.
6427	* config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
6428	* config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
6429	* config/nvptx/nvptx.cc (sm_version_to_string)
6430	(nvptx_omp_device_kind_arch_isa): Same.
6431
64322022-03-01  Robin Dapp  <rdapp@linux.ibm.com>
6433
6434	PR rtl-optimization/104154
6435	* config/arc/arc.cc (gen_compare_reg):  Return the CC-mode
6436	comparison ifcvt passed us.
6437
64382022-03-01  Hongyu Wang  <hongyu.wang@intel.com>
6439
6440	PR target/104664
6441	* config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
6442	  Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
6443
64442022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
6445
6446	PR tree-optimization/91384
6447	* config/i386/i386.md (peephole2): Eliminate final testl insn
6448	from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
6449	transforming using *negsi_2 for the negation.
6450
64512022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
6452	    Eric Botcazou  <ebotcazou@adacore.com>
6453
6454	PR middle-end/80270
6455	* expmed.cc (extract_integral_bit_field): If OP0 is a hard
6456	register, copy it to a pseudo before calling simplify_gen_subreg.
6457
64582022-02-28  Vladimir N. Makarov  <vmakarov@redhat.com>
6459
6460	PR rtl-optimization/104637
6461	* lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
6462	as possible on one subpass.
6463
64642022-02-28  Qing Zhao  <qing.zhao@oracle.com>
6465
6466	PR middle-end/104550
6467	* gimple-fold.cc (clear_padding_flush): Suppress warnings for new
6468	created uses.
6469
64702022-02-28  Martin Liska  <mliska@suse.cz>
6471
6472	PR ipa/104648
6473	* main.cc (main): Use flag_checking instead of CHECKING_P
6474	and run toplev::finalize only if there is not error seen.
6475
64762022-02-28  Richard Biener  <rguenther@suse.de>
6477
6478	* tree-ssa-pre.cc (compute_avail): Revert part of last change.
6479
64802022-02-28  Richard Biener  <rguenther@suse.de>
6481
6482	PR tree-optimization/104700
6483	* tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
6484	into ...
6485	(find_or_generate_expression): ... here, simplifying code.
6486
64872022-02-28  Tom de Vries  <tdevries@suse.de>
6488
6489	* config/nvptx/nvptx-opts.h (enum ptx_version): Add
6490	PTX_VERSION_default.
6491	* config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
6492	PTX_VERSION_default.
6493	* config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
6494
64952022-02-28  Richard Biener  <rguenther@suse.de>
6496
6497	PR rtl-optimization/104686
6498	* ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
6499	skipping bits that are zero.
6500	(ira_object_conflict_iter_cond): Likewise.
6501
65022022-02-28  Hongyu Wang  <hongyu.wang@intel.com>
6503
6504	* config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
6505	(_mm512_ternarylogic_epi64): Truncate imm to unsigned
6506	char to avoid error when using ~enum as parameter.
6507	(_mm512_mask_ternarylogic_epi64): Likewise.
6508	(_mm512_maskz_ternarylogic_epi64): Likewise.
6509	(_mm512_ternarylogic_epi32): Likewise.
6510	(_mm512_mask_ternarylogic_epi32): Likewise.
6511	(_mm512_maskz_ternarylogic_epi32): Likewise.
6512	* config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
6513	Adjust imm param type to unsigned char.
6514	(_mm256_mask_ternarylogic_epi64): Likewise.
6515	(_mm256_maskz_ternarylogic_epi64): Likewise.
6516	(_mm256_ternarylogic_epi32): Likewise.
6517	(_mm256_mask_ternarylogic_epi32): Likewise.
6518	(_mm256_maskz_ternarylogic_epi32): Likewise.
6519	(_mm_ternarylogic_epi64): Likewise.
6520	(_mm_mask_ternarylogic_epi64): Likewise.
6521	(_mm_maskz_ternarylogic_epi64): Likewise.
6522	(_mm_ternarylogic_epi32): Likewise.
6523	(_mm_mask_ternarylogic_epi32): Likewise.
6524	(_mm_maskz_ternarylogic_epi32): Likewise.
6525
65262022-02-25  Jakub Jelinek  <jakub@redhat.com>
6527	    Marc Glisse  <marc.glisse@inria.fr>
6528
6529	PR tree-optimization/104675
6530	* match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
6531	Restrict simplifications to INTEGRAL_TYPE_P.
6532
65332022-02-25  Jakub Jelinek  <jakub@redhat.com>
6534
6535	PR target/104681
6536	* config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
6537
65382022-02-25  Claudiu Zissulescu  <claziss@synopsys.com>
6539
6540	* config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
6541	comparison is not valid.
6542	* config/arc/arc.md (movsicc): Fail if comparison is not valid.
6543	(movdicc): Likewise.
6544	(movsfcc): Likewise.
6545	(movdfcc): Likewise.
6546
65472022-02-25  Richard Biener  <rguenther@suse.de>
6548
6549	PR tree-optimization/103037
6550	* tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
6551	(vn_nary_length_from_stmt): Likewise.
6552	(init_vn_nary_op_from_stmt): Likewise.
6553	(vn_nary_op_compute_hash): Likewise.
6554	* tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
6555	(vn_nary_length_from_stmt): Likewise.
6556	(init_vn_nary_op_from_stmt): Likewise.
6557	(vn_nary_op_compute_hash): Likewise.
6558	* tree-ssa-pre.cc (pre_expr_obstack): New obstack.
6559	(get_or_alloc_expr_for_nary): Pass in the value-id to use,
6560	(re-)compute the hash value and if the expression is not
6561	found allocate it from pre_expr_obstack.
6562	(phi_translate_1): Do not insert the NARY found in the
6563	VN tables but build a PRE expression from the valueized
6564	NARY with the value-id we eventually found.
6565	(find_or_generate_expression): Assert we have an entry
6566	for constant values.
6567	(compute_avail): Insert not valueized expressions into
6568	EXP_GEN using the value-id from the VN tables.
6569	(init_pre): Allocate pre_expr_obstack.
6570	(fini_pre): Free pre_expr_obstack.
6571
65722022-02-25  Jakub Jelinek  <jakub@redhat.com>
6573
6574	PR target/104674
6575	* config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
6576	* config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
6577	SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
6578
65792022-02-25  Jakub Jelinek  <jakub@redhat.com>
6580
6581	* warning-control.cc (get_nowarn_spec): Comment spelling fix.
6582
65832022-02-25  Jakub Jelinek  <jakub@redhat.com>
6584
6585	PR middle-end/104679
6586	* internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
6587
65882022-02-25  Jakub Jelinek  <jakub@redhat.com>
6589
6590	PR tree-optimization/104675
6591	* match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
6592	COMPLEX_TYPE.
6593
65942022-02-25  Alexandre Oliva  <oliva@adacore.com>
6595
6596	PR target/104121
6597	PR target/103302
6598	* expr.cc (emit_move_multi_word): Restore clobbers during LRA.
6599
66002022-02-25  Alexandre Oliva  <oliva@adacore.com>
6601
6602	PR middle-end/104540
6603	* dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
6604	dw_cfi_cfa_loc.
6605
66062022-02-25  Alexandre Oliva  <oliva@adacore.com>
6607
6608	PR tree-optimization/103856
6609	* gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
6610	eh edge to be requested through an extra parameter.
6611	(pass_harden_compares::execute): Copy PHI args in the EH dest
6612	block for the new EH edge added for the inverted compare.
6613
66142022-02-24  Palmer Dabbelt  <palmer@rivosinc.com>
6615
6616	* doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
6617	of position independence that -mcmodel=medany affords.
6618
66192022-02-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
6620
6621	PR target/104656
6622	* configure.ac: --disable-gcov if targetting bpf-*.
6623	* configure: Regenerate.
6624
66252022-02-24  Richard Biener  <rguenther@suse.de>
6626
6627	PR tree-optimization/104676
6628	* tree-loop-distribution.cc (loop_distribution::execute):
6629	Do a full scev_reset.
6630
66312022-02-24  Jakub Jelinek  <jakub@redhat.com>
6632
6633	PR tree-optimization/104601
6634	* tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
6635	non-SSA_NAME lhs value number vdef to itself instead of e.g. the
6636	vuse value number.
6637
66382022-02-24  Tom de Vries  <tdevries@suse.de>
6639	    Tobias Burnus  <tobias@codesourcery.com>
6640
6641	* config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
6642	sm_70, sm_75 and sm_80.
6643	* config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
6644
66452022-02-24  Tom de Vries  <tdevries@suse.de>
6646
6647	* config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
6648	"rotrsi3"): New define_insn.
6649
66502022-02-24  Tom de Vries  <tdevries@suse.de>
6651
6652	* config/nvptx/nvptx.cc (gen_comment): Use
6653	DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
6654
66552022-02-24  liuhongt  <hongtao.liu@intel.com>
6656
6657	* config/i386/sse.md (<code>v1ti3): Add suffix and replace
6658	isa attr of alternative 2 from avx to avx512vl.
6659
66602022-02-23  Richard Biener  <rguenther@suse.de>
6661	    Jakub Jelinek  <jakub@redhat.com>
6662
6663	PR tree-optimization/104644
6664	* doc/match-and-simplify.texi: Amend ! documentation.
6665	* genmatch.cc (expr::gen_transform): Code-generate ! support
6666	for GENERIC.
6667	(parser::parse_expr): Allow ! for GENERIC.
6668	* match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
6669	bswap.
6670
66712022-02-23  Richard Biener  <rguenther@suse.de>
6672
6673	PR tree-optimization/101636
6674	* tree-vect-slp.cc (vect_print_slp_tree): Dump the
6675	vector type of the node.
6676	(vect_slp_analyze_operations): Make sure the CTOR
6677	is vectorized with an expected type.
6678	(vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
6679
66802022-02-23  Jakub Jelinek  <jakub@redhat.com>
6681
6682	PR c/104633
6683	* gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
6684	Don't warn about calls to corresponding builtin from extern inline
6685	gnu_inline wrappers.
6686
66872022-02-23  Roger Sayle  <roger@nextmovesoftware.com>
6688
6689	PR target/104489
6690	* config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
6691
66922022-02-23  Christophe Lyon  <christophe.lyon@arm.com>
6693
6694	PR target/100757
6695	PR target/101325
6696	* config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
6697	typo.
6698
66992022-02-23  Cui,Lili  <lili.cui@intel.com>
6700
6701	* doc/invoke.texi: Update documents for Intel architectures.
6702
67032022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
6704
6705	* config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
6706	bootstrap.
6707
67082022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
6709
6710	* omp-low.cc (omp_build_component_ref): Move function...
6711	* omp-general.cc (omp_build_component_ref): ... here.  Remove
6712	'static'.
6713	* omp-general.h (omp_build_component_ref): Declare function.
6714	* omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
6715	function.
6716	(build_receiver_ref, build_sender_ref): Call
6717	'omp_build_component_ref' instead.
6718
67192022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
6720
6721	* omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
6722	simplify.  Adjust all users.
6723
67242022-02-22  Segher Boessenkool  <segher@kernel.crashing.org>
6725
6726	PR target/88134
6727	* config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
6728	atomic_update_decl): Add GTY markup.
6729
67302022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6731
6732	* config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
6733
67342022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6735
6736	PR target/100757
6737	PR target/101325
6738	* config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
6739	predicate.
6740	(CX_BINARY_UNONE_QUALIFIERS): Likewise.
6741	(CX_TERNARY_UNONE_QUALIFIERS): Likewise.
6742	(TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
6743	(QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
6744	(QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
6745	* config/arm/arm_mve_builtins.def: Use predicated qualifiers.
6746	* config/arm/mve.md: Use VxBI instead of HI.
6747
67482022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6749
6750	PR target/100757
6751	PR target/101325
6752	* config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
6753	qualifier.
6754	(STRSBU_P_QUALIFIERS): Likewise.
6755	(LDRGBS_Z_QUALIFIERS): Likewise.
6756	(LDRGBU_Z_QUALIFIERS): Likewise.
6757	(LDRGBWBXU_Z_QUALIFIERS): Likewise.
6758	(LDRGBWBS_Z_QUALIFIERS): Likewise.
6759	(LDRGBWBU_Z_QUALIFIERS): Likewise.
6760	(STRSBWBS_P_QUALIFIERS): Likewise.
6761	(STRSBWBU_P_QUALIFIERS): Likewise.
6762	* config/arm/mve.md: Use VxBI instead of HI.
6763
67642022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6765
6766	PR target/100757
6767	PR target/101325
6768	* config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
6769	(TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
6770	(TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
6771	(TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
6772	(TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
6773	(TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
6774	(TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
6775	(TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
6776	(QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
6777	(QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
6778	(QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
6779	(QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
6780	(QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
6781	(QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
6782	(QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
6783	(QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
6784	(QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
6785	(QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
6786	(QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
6787	(QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
6788	(QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
6789	(QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
6790	(STRS_P_QUALIFIERS): Use predicate qualifier.
6791	(STRU_P_QUALIFIERS): Likewise.
6792	(STRSU_P_QUALIFIERS): Likewise.
6793	(STRSS_P_QUALIFIERS): Likewise.
6794	(LDRGS_Z_QUALIFIERS): Likewise.
6795	(LDRGU_Z_QUALIFIERS): Likewise.
6796	(LDRS_Z_QUALIFIERS): Likewise.
6797	(LDRU_Z_QUALIFIERS): Likewise.
6798	(QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
6799	(QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
6800	(BINOP_NONE_NONE_PRED_QUALIFIERS): New.
6801	(BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
6802	* config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
6803	* config/arm/mve.md: Use MVE_VPRED instead of HI.
6804
68052022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6806
6807	PR target/100757
6808	PR target/101325
6809	* config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
6810	Delete.
6811	(TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
6812	(TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
6813	(TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
6814	* config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
6815	predicated qualifiers.
6816	* config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
6817	(mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
6818
68192022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6820
6821	PR target/100757
6822	* config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
6823	(arm_expand_vector_compare): Update prototype.
6824	* config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
6825	(arm_vector_mode_supported_p): Add support for VxBI modes.
6826	(arm_expand_vector_compare): Remove useless generation of vpsel.
6827	(arm_expand_vcond): Fix select operands.
6828	(arm_get_mask_mode): New.
6829	* config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
6830	(vec_cmpu<mode><MVE_vpred>): New.
6831	(vcond_mask_<mode><MVE_vpred>): New.
6832	* config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
6833	(vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
6834	* config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
6835	(vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
6836	and disable for MVE.
6837	* doc/sourcebuild.texi (arm_mve): Document new effective-target.
6838
68392022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6840
6841	PR target/100757
6842	PR target/101325
6843	* config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
6844	(BINOP_PRED_NONE_NONE_QUALIFIERS)
6845	(TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
6846	(TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
6847	* config/arm/arm-protos.h (mve_bool_vec_to_const): New.
6848	* config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
6849	modes.
6850	(arm_mode_to_pred_mode): New.
6851	(arm_expand_vector_compare): Use the right VxBI mode instead of
6852	HI.
6853	(arm_expand_vcond): Likewise.
6854	(simd_valid_immediate): Handle MODE_VECTOR_BOOL.
6855	(mve_bool_vec_to_const): New.
6856	(neon_make_constant): Call mve_bool_vec_to_const when needed.
6857	* config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
6858	(vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
6859	(vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
6860	(vpselq_s, vpselq_f): Use new predicated qualifiers.
6861	* config/arm/constraints.md (DB): New.
6862	* config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
6863	(MVE_VPRED, MVE_vpred): New attribute iterators.
6864	* config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
6865	(@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
6866	(@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
6867	(@mve_vpselq_<supf>v2di): Define separately.
6868	(mov<mode>): New expander for VxBI modes.
6869	* config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
6870	MVE_7_HI iterator and add support for DB constraint.
6871
68722022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6873	    Richard Sandiford  <richard.sandiford@arm.com>
6874
6875	PR target/100757
6876	PR target/101325
6877	* config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
6878	VNx2BI): Update definition.
6879	* config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
6880	simd types.
6881	(arm_init_builtin): Map predicate vectors arguments to HImode.
6882	(arm_expand_builtin_args): Move HImode predicate arguments to VxBI
6883	rtx. Move return value to HImode rtx.
6884	* config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
6885	* config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
6886	* config/arm/arm-simd-builtin-types.def (Pred1x16_t,
6887	Pred2x8_t,Pred4x4_t): New.
6888	* emit-rtl.cc (init_emit_once): Handle all boolean modes.
6889	* genmodes.cc (mode_data): Add boolean field.
6890	(blank_mode): Initialize it.
6891	(make_complex_modes): Fix handling of boolean modes.
6892	(make_vector_modes): Likewise.
6893	(VECTOR_BOOL_MODE): Use new COMPONENT parameter.
6894	(make_vector_bool_mode): Likewise.
6895	(BOOL_MODE): New.
6896	(make_bool_mode): New.
6897	(emit_insn_modes_h): Fix generation of boolean modes.
6898	(emit_class_narrowest_mode): Likewise.
6899	* machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
6900	parameter.  Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
6901	define BImode.
6902	* rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
6903	Fix handling of constm1_rtx for VECTOR_BOOL.
6904	* simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
6905	(native_decode_vector_rtx): Likewise.
6906	(test_vector_ops_duplicate): Skip vec_merge test
6907	with vectors of booleans.
6908	* varasm.cc (output_constant_pool_2): Likewise.
6909
69102022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6911
6912	* config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
6913	for operand 1.
6914
69152022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6916
6917	* config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
6918
69192022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
6920
6921	* config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
6922	(REG_CLASS_NAMES): Likewise.
6923	(REG_CLASS_CONTENTS): Likewise.
6924	(CLASS_MAX_NREGS): Handle VPR.
6925	* config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
6926
69272022-02-22  Tobias Burnus  <tobias@codesourcery.com>
6928	    Tom de Vries  <tdevries@suse.de>
6929
6930	* config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
6931	* config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
6932	Likewise.
6933	* config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
6934
69352022-02-22  Tobias Burnus  <tobias@codesourcery.com>
6936	    Tom de Vries  <tdevries@suse.de>
6937
6938	* config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
6939	* doc/invoke.texi (-mptx): Update for new values and defaults.
6940
69412022-02-22  Tom de Vries  <tdevries@suse.de>
6942
6943	* config/nvptx/nvptx.cc (gen_comment): New function.
6944	(workaround_uninit_method_1, workaround_uninit_method_2)
6945	(workaround_uninit_method_3): : Use gen_comment.
6946	* config/nvptx/nvptx.opt (mptx-comment): New option.
6947
69482022-02-22  Richard Biener  <rguenther@suse.de>
6949
6950	* tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
6951	for a splat.
6952
69532022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
6954	    Richard Biener  <rguenther@suse.de>
6955
6956	* fold-const.cc (ctor_single_nonzero_element): New function to
6957	return the single non-zero element of a (vector) constructor.
6958	* fold-const.h (ctor_single_nonzero_element): Prototype here.
6959	* match.pd (reduc (constructor@0)): Simplify reductions of a
6960	constructor containing a single non-zero element.
6961	(reduc (@0 op VECTOR_CST) ->  (reduc @0) op CONST): Simplify
6962	reductions of vector operations of the same operator with
6963	constant vector operands.
6964
69652022-02-22  Jakub Jelinek  <jakub@redhat.com>
6966
6967	PR tree-optimization/104604
6968	* gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
6969	Only check if gimple_assign_rhs1 is COMPLEX_CST if
6970	gimple_assign_rhs_code is COMPLEX_CST.
6971
69722022-02-22  Jakub Jelinek  <jakub@redhat.com>
6973
6974	PR target/104612
6975	* config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
6976	on input operands before calling lowpart_subreg on it.  For output
6977	operand, use a vmode pseudo as destination and then move its lowpart
6978	subreg into operands[0] if lowpart_subreg fails on dest.
6979	(ix86_expand_xorsign): Likewise.
6980
69812022-02-22  Richard Biener  <rguenther@suse.de>
6982
6983	PR tree-optimization/104582
6984	PR target/99881
6985	* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
6986	Cost GPR to vector register moves for integer vector construction.
6987
69882022-02-22  Richard Biener  <rguenther@suse.de>
6989
6990	PR tree-optimization/104582
6991	* tree-vectorizer.h (stmt_info_for_cost::node): New field.
6992	(vector_costs::add_stmt_cost): Add SLP node parameter.
6993	(dump_stmt_cost): Likewise.
6994	(add_stmt_cost): Likewise, new overload and adjust.
6995	(add_stmt_costs): Adjust.
6996	(record_stmt_cost): New overload.
6997	* tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
6998	(vector_costs::add_stmt_cost): Adjust.
6999	* tree-vect-loop.cc (vect_estimate_min_profitable_iters):
7000	Adjust.
7001	* tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
7002	the SLP node for costing.
7003	(vectorizable_slp_permutation): Likewise.
7004	* tree-vect-stmts.cc (record_stmt_cost): Adjust and add
7005	new overloads.
7006	* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
7007	Adjust.
7008	* config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
7009	Adjust.
7010	* config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
7011	Adjust.
7012	(rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
7013
70142022-02-22  Richard Biener  <rguenther@suse.de>
7015
7016	PR tree-optimization/104582
7017	* tree-vectorizer.h (add_stmt_cost): New overload.
7018	(record_stmt_cost): Likewise.
7019	* tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
7020	Use add_stmt_costs.
7021	(vect_get_known_peeling_cost): Use new overloads.
7022	(vect_estimate_min_profitable_iters): Likewise.  Consistently
7023	use scalar_stmt for costing versioning checks.
7024	* tree-vect-stmts.cc (record_stmt_cost): New overload.
7025
70262022-02-22  Hongyu Wang  <hongyu.wang@intel.com>
7027
7028	PR target/103069
7029	* config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
7030	Split atomic fetch and loop part.
7031	(ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
7032	* config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
7033	prototype.
7034	* config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
7035	expander under TARGET_RELAX_CMPXCHG_LOOP.
7036	(atomic_compare_and_swap<mode>): Likewise for doubleword modes.
7037
70382022-02-21  Dan Li  <ashimida@linux.alibaba.com>
7039
7040	* config/aarch64/aarch64.cc (SLOT_REQUIRED):
7041	Change wb_candidate[12] to wb_push_candidate[12].
7042	(aarch64_layout_frame): Likewise, and
7043	change callee_adjust when scs is enabled.
7044	(aarch64_save_callee_saves):
7045	Change wb_candidate[12] to wb_push_candidate[12].
7046	(aarch64_restore_callee_saves):
7047	Change wb_candidate[12] to wb_pop_candidate[12].
7048	(aarch64_get_separate_components):
7049	Change wb_candidate[12] to wb_push_candidate[12].
7050	(aarch64_expand_prologue): Push x30 onto SCS before it's
7051	pushed onto stack.
7052	(aarch64_expand_epilogue): Pop x30 frome SCS, while
7053	preventing it from being popped from the regular stack again.
7054	(aarch64_override_options_internal): Add SCS compile option check.
7055	(TARGET_HAVE_SHADOW_CALL_STACK): New hook.
7056	* config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
7057	wb_pop_candidate[12], and rename wb_candidate[12] to
7058	wb_push_candidate[12].
7059	* config/aarch64/aarch64.md (scs_push): New template.
7060	(scs_pop): Likewise.
7061	* doc/invoke.texi: Document -fsanitize=shadow-call-stack.
7062	* doc/tm.texi: Regenerate.
7063	* doc/tm.texi.in: Add hook have_shadow_call_stack.
7064	* flag-types.h (enum sanitize_code):
7065	Add SANITIZE_SHADOW_CALL_STACK.
7066	* opts.cc (parse_sanitizer_options): Add shadow-call-stack
7067	and exclude SANITIZE_SHADOW_CALL_STACK.
7068	* target.def: New hook.
7069	* toplev.cc (process_options): Add SCS compile option check.
7070	* ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
7071
70722022-02-21  Tom de Vries  <tdevries@suse.de>
7073
7074	PR target/104440
7075	* config/nvptx/nvptx.cc (workaround_uninit_method_1)
7076	(workaround_uninit_method_2, workaround_uninit_method_3)
7077	(workaround_uninit): New function.
7078	(nvptx_reorg): Use workaround_uninit.
7079	* config/nvptx/nvptx.opt (minit-regs): New option.
7080
70812022-02-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
7082
7083	PR rtl-optimization/104498
7084	* alias.cc (compare_base_symbol_refs): Correct distance computation
7085	when swapping x and y.
7086
70872022-02-21  Andrew Pinski  <apinski@marvell.com>
7088
7089	PR c/104506
7090	* tree-ssa.cc (tree_ssa_useless_type_conversion):
7091	Check the inner type before calling useless_type_conversion_p.
7092
70932022-02-19  Tom de Vries  <tdevries@suse.de>
7094
7095	* config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
7096	* config/nvptx/nvptx.md
7097	(define_insn "nvptx_atomic_store<mode>"): Rename to ...
7098	(define_insn "nvptx_atomic_store_sm70<mode>"): This.
7099	(define_insn "nvptx_atomic_store<mode>"): New define_insn.
7100	(define_expand "atomic_store<mode>"): Handle rename.  Use
7101	nvptx_atomic_store instead of atomic_exchange.
7102
71032022-02-19  Tom de Vries  <tdevries@suse.de>
7104
7105	* config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
7106	insns with atomic attribute.  Assert that all handled insns are
7107	PARALLELs.
7108	* config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
7109	Set atomic attribute to false.
7110
71112022-02-19  Tom de Vries  <tdevries@suse.de>
7112
7113	* config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
7114	type to bool.
7115	(nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
7116	nvptx_warpsync, if necessary.
7117
71182022-02-19  Jakub Jelinek  <jakub@redhat.com>
7119
7120	PR sanitizer/102656
7121	* asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
7122	known to be within bounds, treat it like automatic variables.
7123	If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
7124	current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
7125	it addressable.
7126
71272022-02-18  Pat Haugen  <pthaugen@linux.ibm.com>
7128
7129	* config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
7130	(mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
7131	mpower10-fusion-logical-add, mpower10-fusion-add-logical,
7132	mpower10-fusion-2add, mpower10-fusion-2store): Remove.
7133	* config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
7134	OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
7135	* config/rs6000/rs6000.cc (rs6000_option_override_internal,
7136	power10_sched_reorder): Likewise.
7137	* config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
7138	gen_addadd): Likewise
7139	* config/rs6000/fusion.md: Regenerate.
7140
71412022-02-18  Jakub Jelinek  <jakub@redhat.com>
7142
7143	PR target/104257
7144	PR target/104598
7145	* config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
7146	rather than __posix_memalign.
7147
71482022-02-18  Richard Biener  <rguenther@suse.de>
7149
7150	PR target/104581
7151	* config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
7152	(ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
7153	of calling ix86_avx_u128_mode_source which would eventually
7154	have returned AVX_U128_ANY in some very special case.
7155
71562022-02-18  Richard Biener  <rguenther@suse.de>
7157
7158	PR tree-optimization/96881
7159	* tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
7160	CLOBBER handling.
7161	(control_parents_preserved_p): New function.
7162	(eliminate_unnecessary_stmts): Check that we preserved control
7163	parents before retaining a CLOBBER.
7164	(perform_tree_ssa_dce): Pass down aggressive flag
7165	to eliminate_unnecessary_stmts.
7166
71672022-02-17  Jason Merrill  <jason@redhat.com>
7168
7169	* tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
7170	on TYPE_MAIN_VARIANT.
7171
71722022-02-17  Paul A. Clarke  <pc@us.ibm.com>
7173
7174	PR target/104257
7175	* config/rs6000/bmi2intrin.h: Uglify local variables.
7176	* config/rs6000/emmintrin.h: Likewise.
7177	* config/rs6000/mm_malloc.h: Likewise.
7178	* config/rs6000/mmintrin.h: Likewise.
7179	* config/rs6000/pmmintrin.h: Likewise.
7180	* config/rs6000/smmintrin.h: Likewise.
7181	* config/rs6000/tmmintrin.h: Likewise.
7182	* config/rs6000/xmmintrin.h: Likewise.
7183
71842022-02-17  Robin Dapp  <rdapp@linux.ibm.com>
7185
7186	PR target/104335
7187	* config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
7188	if the expected comparison's first operand is of mode MODE_CC.
7189
71902022-02-17  Vladimir N. Makarov  <vmakarov@redhat.com>
7191
7192	PR rtl-optimization/104447
7193	* lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
7194	hard reg set by lra_no_alloc_regs.
7195
71962022-02-17  liuhongt  <hongtao.liu@intel.com>
7197
7198	PR tree-optimization/104551
7199	PR tree-optimization/103771
7200	* match.pd (cond_expr_convert_p): Add types_match check when
7201	convert is extension.
7202	* tree-vect-patterns.cc
7203	(gimple_cond_expr_convert_p): Adjust comments.
7204	(vect_recog_cond_expr_convert_pattern): Ditto.
7205
72062022-02-17  Jakub Jelinek  <jakub@redhat.com>
7207
7208	PR debug/104557
7209	* valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
7210	if expr has VOIDmode.
7211
72122022-02-17  liuhongt  <hongtao.liu@intel.com>
7213
7214	* config/i386/cpuid.h (bit_MPX): Removed.
7215	(bit_BNDREGS): Ditto.
7216	(bit_BNDCSR): Ditto.
7217
72182022-02-17  Michael Meissner  <meissner@the-meissners.org>
7219
7220	PR target/99708
7221	* config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
7222	__SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
7223	Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
7224	is created.
7225
72262022-02-16  Andrew MacLeod  <amacleod@redhat.com>
7227
7228	* gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
7229	range_compatible_p instead of direct type comparison.
7230
72312022-02-16  Jakub Jelinek  <jakub@redhat.com>
7232
7233	PR rtl-optimization/104544
7234	* combine.cc (try_combine): When looking for insn whose links
7235	should be updated from i3 to i2, don't stop on debug insns, instead
7236	skip over them.
7237
72382022-02-16  Richard Sandiford  <richard.sandiford@arm.com>
7239
7240	PR target/100056
7241	* config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
7242	* config/aarch64/aarch64.md: Extend the PR100056 patterns
7243	to handle plus in the same way as ior, if the operands have
7244	no set bits in common.
7245
72462022-02-15  Andrew MacLeod  <amacleod@redhat.com>
7247
7248	PR tree-optimization/104526
7249	* gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
7250	new routine.
7251	* gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
7252	of dependency chain if there isn't one.
7253	(gori_compute::condexpr_adjust): New.
7254	* gimple-range-gori.h (class gori_compute): New prototype.
7255
72562022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
7257
7258	PR target/100874
7259	* config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
7260	Declare.
7261	* config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
7262	* config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
7263
72642022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
7265
7266	* tree-vectorizer.h (vect_scalar_ops_slice): New struct.
7267	(vect_scalar_ops_slice_hash): Likewise.
7268	(vect_scalar_ops_slice::op): New function.
7269	* tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
7270	(vect_scalar_ops_slice_hash::hash): Likewise.
7271	(vect_scalar_ops_slice_hash::equal): Likewise.
7272	(vect_prologue_cost_for_slp): Check for duplicate vectors.
7273	* config/aarch64/aarch64.cc
7274	(aarch64_vector_costs::m_stp_sequence_cost): New member variable.
7275	(aarch64_aligned_constant_offset_p): New function.
7276	(aarch64_stp_sequence_cost): Likewise.
7277	(aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
7278	(aarch64_vector_costs::finish_cost): Likewise.
7279
72802022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
7281
7282	* tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
7283	use after free.
7284
72852022-02-15  Richard Biener  <rguenther@suse.de>
7286
7287	PR tree-optimization/104543
7288	* gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
7289	come after the inner loop.
7290
72912022-02-15  Jakub Jelinek  <jakub@redhat.com>
7292
7293	PR target/104536
7294	* config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
7295	cannot instead of can%'t in diagnostics.  Formatting fixes.
7296
72972022-02-15  Jakub Jelinek  <jakub@redhat.com>
7298
7299	PR middle-end/104522
7300	* fold-const.h (native_interpret_real): Declare.
7301	* fold-const.cc (native_interpret_real): No longer static.  Don't
7302	perform MODE_COMPOSITE_P verification here.
7303	(native_interpret_expr) <case REAL_TYPE>: But perform it here instead
7304	for all modes.
7305	* gimple-fold.cc (clear_padding_type): Call native_interpret_real
7306	instead of native_interpret_expr.
7307	* simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
7308	and comparison verification for all FLOAT_MODE_P modes, not just
7309	MODE_COMPOSITE_P.
7310
73112022-02-15  Richard Biener  <rguenther@suse.de>
7312
7313	PR tree-optimization/104519
7314	* fold-const.cc (multiple_of_p): Remove never true condition.
7315	* tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
7316	the appropriate types for determining whether the difference
7317	of final and base is a multiple of the step.
7318
73192022-02-15  Jakub Jelinek  <jakub@redhat.com>
7320
7321	PR debug/104517
7322	* omp-low.cc (task_cpyfns): New variable.
7323	(delete_omp_context): Don't call finalize_task_copyfn from here.
7324	(create_task_copyfn): Push task_stmt into task_cpyfns.
7325	(execute_lower_omp): Call finalize_task_copyfn here on entries from
7326	task_cpyfns vector and release the vector.
7327
73282022-02-14  Martin Sebor  <msebor@redhat.com>
7329
7330	PR middle-end/104355
7331	* doc/invoke.texi (-Warray-bounds): Update documentation.
7332
73332022-02-14  Michael Meissner  <meissner@the-meissners.org>
7334
7335	PR target/104253
7336	* config/rs6000/rs6000.cc (init_float128_ibm): Update the
7337	conversion functions used to convert IFmode types.
7338
73392022-02-14  Andrew Stubbs  <ams@codesourcery.com>
7340
7341	* config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
7342
73432022-02-14  Richard Biener  <rguenther@suse.de>
7344
7345	PR tree-optimization/104528
7346	* tree-ssa.h (find_released_ssa_name): Declare.
7347	* tree-ssa.cc (find_released_ssa_name): Export.
7348	* cfgloop.cc (verify_loop_structure): Look for released
7349	SSA names in loops nb_iterations.
7350	* tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
7351	estimates.
7352
73532022-02-14  Richard Biener  <rguenther@suse.de>
7354
7355	PR tree-optimization/104511
7356	* tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
7357	touching DFP <-> FP conversions.
7358
73592022-02-14  Richard Biener  <rguenther@suse.de>
7360
7361	PR middle-end/104497
7362	* gimplify.cc (gimplify_compound_lval): Make sure the
7363	base is a non-register if needed and possible.
7364
73652022-02-13  liuhongt  <hongtao.liu@intel.com>
7366
7367	PR target/103771
7368	* match.pd (cond_expr_convert_p): New match.
7369	* tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
7370	(vect_recog_cond_expr_convert_pattern): New.
7371
73722022-02-12  Jakub Jelinek  <jakub@redhat.com>
7373
7374	PR sanitizer/104449
7375	* asan.cc: Include tree-eh.h.
7376	(handle_builtin_alloca): Handle the case when __builtin_alloca or
7377	__builtin_alloca_with_align can throw.
7378
73792022-02-12  Jakub Jelinek  <jakub@redhat.com>
7380
7381	PR target/104502
7382	* config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
7383	and AVX512VL isn't available, move operands[1] to operands[0] first.
7384
73852022-02-12  Uroš Bizjak  <ubizjak@gmail.com>
7386
7387	PR target/79754
7388	* config/i386/i386.cc (type_natural_mode):
7389	Skip decimal float vector modes.
7390
73912022-02-11  Iain Sandoe  <iain@sandoe.co.uk>
7392	    Vladimir Makarov  <vmakarov@redhat.com>
7393
7394	PR target/104117
7395	* config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
7396	Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
7397	emitting PIC code.
7398	(legitimate_lo_sum_address_p): Likewise.
7399	* lra-constraints.cc (process_address_1): Do not attempt to emit a reg
7400	load from an invalid lo_sum address.
7401
74022022-02-11  Jakub Jelinek  <jakub@redhat.com>
7403
7404	PR tree-optimization/104499
7405	* match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
7406	of convert.
7407
74082022-02-11  Jakub Jelinek  <jakub@redhat.com>
7409
7410	* tree.cc (build_common_builtin_nodes): Fix up formatting in
7411	__builtin_clear_padding decl creation.
7412	* gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
7413	for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
7414	argument rather than in 3rd argument.
7415	(gimplify_call_expr): Likewise.  Fix up comment formatting.
7416	* gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
7417	2 arguments instead of 3, take for_auto_init from the value
7418	of 2nd argument.
7419
74202022-02-11  Vladimir N. Makarov  <vmakarov@redhat.com>
7421
7422	PR rtl-optimization/104400
7423	* lra-constraints.cc (process_alt_operands): Don't make union of
7424	this_alternative_exclude_start_hard_regs when reg class in insn
7425	alternative covers other reg classes in the same alternative.
7426
74272022-02-11  Jakub Jelinek  <jakub@redhat.com>
7428
7429	PR middle-end/104446
7430	* combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
7431	operands.
7432
74332022-02-11  Richard Biener  <rguenther@suse.de>
7434
7435	PR middle-end/104496
7436	* internal-fn.cc (vectorized_internal_fn_supported_p):
7437	Bail out for integer mode vector types.
7438
74392022-02-11  Jakub Jelinek  <jakub@redhat.com>
7440
7441	PR rtl-optimization/104459
7442	* df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
7443	moving DEBUG_INSNs between bbs.
7444
74452022-02-11  liuhongt  <hongtao.liu@intel.com>
7446
7447	PR tree-optimization/104479
7448	* match.pd (uncond_op + vec_cond -> cond_op): Add single_use
7449	for the dest of uncond_op.
7450
74512022-02-11  Tom de Vries  <tdevries@suse.de>
7452
7453	PR target/104456
7454	* config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
7455	insn.
7456
74572022-02-10  Qing Zhao  <qing.zhao@oracle.com>
7458
7459	PR middle-end/100775
7460	* function.cc (gen_call_used_regs_seq): Call
7461	df_update_exit_block_uses when updating df.
7462
74632022-02-10  Uroš Bizjak  <ubizjak@gmail.com>
7464
7465	PR target/104469
7466	* config/i386/sse.md (vec_unpacks_float_lo_v4si):
7467	Change operand 1 constraint to register_operand.
7468
74692022-02-10  Richard Biener  <rguenther@suse.de>
7470
7471	PR tree-optimization/104373
7472	* tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
7473	walk kind.
7474	* tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
7475	walk kind as argument.
7476	(run_rpo_vn): Adjust.
7477	(pass_fre::execute): Likewise.
7478	* tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
7479	blocks not reachable.
7480	(execute_late_warn_uninitialized): Mark all edges as
7481	executable.
7482	(execute_early_warn_uninitialized): Use VN to compute
7483	executable edges.
7484	(pass_data_early_warn_uninitialized): Enable a dump file,
7485	change dump name to warn_uninit.
7486
74872022-02-10  Richard Biener  <rguenther@suse.de>
7488
7489	PR middle-end/104467
7490	* match.pd (vector extract simplification): Multiply the
7491	number of CTOR elements with the number of element elements.
7492
74932022-02-10  Richard Biener  <rguenther@suse.de>
7494
7495	PR tree-optimization/104466
7496	* tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
7497	for the MR_DEPENDENCE checks as intended.
7498
74992022-02-10  Tom de Vries  <tdevries@suse.de>
7500
7501	* config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
7502	define_insn.
7503	(define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
7504	TARGET_SM70.
7505	(define_c_enum "unspecv"): Add UNSPECV_ST.
7506
75072022-02-10  Tom de Vries  <tdevries@suse.de>
7508
7509	* config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
7510	* config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
7511	(nvptx_mem_maybe_shared_p): New function.
7512	* config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
7513	define_expand.
7514
75152022-02-10  Tom de Vries  <tdevries@suse.de>
7516
7517	PR target/97005
7518	* config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
7519	driver JIT bug by using sub.s16 instead of sub.u16.
7520
75212022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
7522
7523	* config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
7524	floating point constants as operands 1 and/or 2.
7525
75262022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
7527
7528	PR target/104345
7529	* config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
7530	(sel_false<mode>): Likewise.
7531	(define_code_iterator eqne): New code iterator for EQ and NE.
7532	(*selp<mode>_neg_<code>): New define_insn_and_split to optimize
7533	the negation of a selp instruction.
7534	(*selp<mode>_not_<code>): New define_insn_and_split to optimize
7535	the bitwise not of a selp instruction.
7536	(*setcc_int<mode>): Use set instruction for neg:SI of a selp.
7537
75382022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
7539
7540	* config/nvptx/nvptx.md (any_logic): Move code iterator earlier
7541	in machine description.
7542	(logic): Move code attribute earlier in machine description.
7543	(ilogic): New code attribute, like logic but "ior" for IOR.
7544	(and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
7545	(<ilogic><mode>3): New define_insn for HSDIM logic operations.
7546	(<ilogic>bi3): New define_insn for BI mode logic operations.
7547	(define_split): Lower logic operations from integer modes to
7548	BI mode predicate operations.
7549
75502022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
7551
7552	* config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
7553	(one_cmplbi2): New define_insn for not.pred.
7554	(mulditi3): New define_expand for signed widening multiply.
7555	(umulditi3): New define_expand for unsigned widening multiply.
7556	(smul<mode>3_highpart): New define_insn for signed highpart mult.
7557	(umul<mode>3_highpart): New define_insn for unsigned highpart mult.
7558	(*smulhi3_highpart_2): Renamed from smulhi3_highpart.
7559	(*smulsi3_highpart_2): Renamed from smulsi3_highpart.
7560	(*umulhi3_highpart_2): Renamed from umulhi3_highpart.
7561	(*umulsi3_highpart_2): Renamed from umulsi3_highpart.
7562	(*setcc<mode>_from_not_bi): New define_insn.
7563	(*setcc_isinf<mode>): New define_insn for testp.infinite.
7564	(isinf<mode>2): New define_expand.
7565
75662022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
7567
7568	* config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
7569	(setcc<mode>_from_bi): Additionally support QImode.
7570	(extendbi<mode>2): Additionally support QImode.
7571	(zero_extendbi<mode>2): Additionally support QImode.
7572	(any_sbinary, any_ubinary, any_sunary, any_uunary): New code
7573	iterators for signed and unsigned, binary and unary operations.
7574	(<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
7575	expanders to perform QImode operations using SImode instructions.
7576	(cstoreqi4): New define_expand.
7577	(*ext_truncsi2_qi): New define_insn.
7578	(*zext_truncsi2_qi): New define_insn.
7579
75802022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
7581
7582	* config/nvptx/nvptx.md (*cmpf): New define_insn.
7583	(cstorehf4): New define_expand.
7584	(fmahf4): New define_insn.
7585	(neghf2): New define_insn.
7586	(abshf2): New define_insn.
7587
75882022-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
7589
7590	* doc/install.texi (Specific): Change the www.bitwizard.nl
7591	reference to use https.
7592
75932022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
7594
7595	* gimplify.cc (gimplify_scan_omp_clauses): Added cases for
7596	OMP_CLAUSE_HAS_DEVICE_ADDR
7597	and handle array sections.
7598	(gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
7599	* omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
7600	(lower_omp_target): Same.
7601	* tree-core.h (enum omp_clause_code): Same.
7602	* tree-nested.cc (convert_nonlocal_omp_clauses): Same.
7603	(convert_local_omp_clauses): Same.
7604	* tree-pretty-print.cc (dump_omp_clause): Same.
7605	* tree.cc: Same.
7606
76072022-02-10  Eugene Rozenfeld  <erozen@microsoft.com>
7608
7609	* auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
7610	that will result in direct recursive calls.
7611
76122022-02-10  Andrew Pinski  <apinski@marvell.com>
7613
7614	PR target/104474
7615	* config/aarch64/aarch64.cc
7616	(aarch64_sve_expand_vector_init_handle_trailing_constants):
7617	Use CONST0_RTX instead of const0_rtx for the non-constant elements.
7618
76192022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
7620
7621	PR target/104462
7622	* common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
7623	Also include OPTION_MASK_ISA2_AVX2_UNSET.
7624
76252022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
7626
7627	PR target/104458
7628	* config/i386/i386-expand.cc (ix86_split_idivmod):
7629	Force operands[2] and operands[3] into a register..
7630
76312022-02-09  Jeff Law  <jeffreyalaw@gmail.com>
7632
7633	PR target/97040
7634	* config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
7635	(*v850_fnmssf4): Renamed from fnmssf4
7636
76372022-02-09  Ian Lance Taylor  <iant@golang.org>
7638
7639	* godump.cc (go_force_record_alignment): Really name the alignment
7640	field "_" (complete 2021-12-29 change).
7641
76422022-02-09  Bill Schmidt  <wschmidt@linux.ibm.com>
7643
7644	* config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
7645	function prototype.
7646	(VREPLACE_UN_UV4SI): Likewise.
7647	(VREPLACE_UN_V2DF): Likewise.
7648	(VREPLACE_UN_V2DI): Likewise.
7649	(VREPLACE_UN_V4SF): Likewise.
7650	(VREPLACE_UN_V4SI): Likewise.
7651	* config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
7652	function prototypes.
7653	* config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
7654	(vreplace_un_<mode>): New define_insn.
7655
76562022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7657
7658	* config/aarch64/iterators.md (VDCSIF): New mode iterator.
7659	(VDBL): Handle SF.
7660	(single_wx, single_type, single_dtype, dblq): New mode attributes.
7661	* config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
7662	from VDC to VDCSIF.
7663	(store_pair_lanes<mode>): Likewise.
7664	(*aarch64_combine_internal<mode>): Likewise.
7665	(*aarch64_combine_internal_be<mode>): Likewise.
7666	(*aarch64_combinez<mode>): Likewise.
7667	(*aarch64_combinez_be<mode>): Likewise.
7668	* config/aarch64/aarch64.cc (aarch64_classify_address): Handle
7669	8-byte modes for ADDR_QUERY_LDP_STP_N.
7670	(aarch64_print_operand): Likewise for %y.
7671
76722022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7673
7674	* config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
7675	Use aarch64_combine instead of move_lo/hi_quad.  Tabify.
7676	(move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
7677	(aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
7678	(vec_pack_trunc_<mode>): Take general_operand elements and use
7679	aarch64_combine rather than move_lo/hi_quad to combine them.
7680	(vec_pack_trunc_df): Likewise.
7681
76822022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7683
7684	* config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
7685	Delete.
7686	* config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
7687	to...
7688	(*aarch64_combinez<mode>): ...this.
7689	(@aarch64_combinez_be<mode>): Rename to...
7690	(*aarch64_combinez_be<mode>): ...this.
7691	(@aarch64_vec_concat<mode>): New expander.
7692	(aarch64_combine<mode>): Use it.
7693	(@aarch64_simd_combine<mode>): Delete.
7694	* config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
7695	(aarch64_expand_vector_init): Use aarch64_vec_concat.
7696
76972022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7698
7699	* config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
7700	New predicate.
7701	* config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
7702	(*aarch64_combine_internal_be<mode>): New patterns.
7703
77042022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7705
7706	* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
7707	(move_lo_quad_internal_be_<mode>): Delete.
7708	(move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
7709
77102022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7711
7712	* config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
7713	Declare.
7714	* config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
7715	aarch64_mergeable_load_pair_p instead of inline check.
7716	* config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
7717	(aarch64_check_consecutive_mems): Allow the reversed parameter
7718	to be null.
7719	(aarch64_mergeable_load_pair_p): New function.
7720
77212022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7722
7723	* config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
7724	element to be an aarch64_simd_nonimmediate_operand.
7725
77262022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
7727
7728	* config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
7729	aarch64_simd_nonimmediate_operand instead of
7730	aarch64_simd_general_operand.
7731	(@aarch64_combinez<mode>): Use nonimmediate_operand instead of
7732	general_operand.
7733	(@aarch64_combinez_be<mode>): Likewise.
7734
77352022-02-09  Richard Biener  <rguenther@suse.de>
7736
7737	PR middle-end/104464
7738	* gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
7739	throwing check to after unproblematic replacement.
7740
77412022-02-09  Roger Sayle  <roger@nextmovesoftware.com>
7742
7743	PR tree-optimization/104420
7744	* match.pd (mult @0 real_zerop): Tweak conditions for constant
7745	folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
7746
77472022-02-09  Jakub Jelinek  <jakub@redhat.com>
7748
7749	PR debug/104407
7750	* dwarf2out.cc (mangle_referenced_decls): New function.
7751	(tree_add_const_value_attribute): Don't call rtl_for_decl_init if
7752	early_dwarf.  Instead walk the initializer and try to mangle vars or
7753	functions referenced from it.
7754
77552022-02-09  Andrew MacLeod  <amacleod@redhat.com>
7756
7757	PR tree-optimization/104288
7758	* gimple-range-cache.cc (non_null_ref::set_nonnull): New.
7759	(non_null_ref::adjust_range): Move to header.
7760	(ranger_cache::range_of_def): Don't check non-null.
7761	(ranger_cache::entry_range): Don't check non-null.
7762	(ranger_cache::range_on_edge): Check for nonnull on normal edges.
7763	(ranger_cache::update_to_nonnull): New.
7764	(non_null_loadstore): New.
7765	(ranger_cache::block_apply_nonnull): New.
7766	* gimple-range-cache.h (class non_null_ref): Update prototypes.
7767	(non_null_ref::adjust_range): Move to here and inline.
7768	(class ranger_cache): Update prototypes.
7769	* gimple-range-path.cc (path_range_query::range_defined_in_block): Do
7770	not search dominators.
7771	(path_range_query::adjust_for_non_null_uses): Ditto.
7772	* gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
7773	def overrides.  Do not check nonnull.
7774	(gimple_ranger::range_on_entry): Check dominators for nonnull.
7775	(gimple_ranger::range_on_edge): Check for nonnull on normal edges..
7776	(gimple_ranger::register_side_effects): New.
7777	* gimple-range.h (gimple_ranger::register_side_effects): New.
7778	* tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
7779
77802022-02-09  Richard Biener  <rguenther@suse.de>
7781
7782	PR tree-optimization/104445
7783	PR tree-optimization/102832
7784	* optabs-query.h (can_vec_extract): New.
7785	* optabs-query.cc (can_vec_extract): Likewise.
7786	* tree-vect-loop.cc (vect_find_reusable_accumulator): Check
7787	we can extract a hi/lo part from the larger vector, rework
7788	check iteration from larger to smaller sizes.
7789
77902022-02-09  H.J. Lu  <hjl.tools@gmail.com>
7791
7792	PR target/35513
7793	PR target/100593
7794	* config/i386/gnu-property.cc: Include "i386-protos.h".
7795	(file_end_indicate_exec_stack_and_gnu_property): Generate
7796	a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
7797	nodirect_extern_access attribute.
7798	* config/i386/i386-options.cc
7799	(handle_nodirect_extern_access_attribute): New function.
7800	(ix86_attribute_table): Add nodirect_extern_access attribute.
7801	* config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
7802	bool argument.
7803	(ix86_has_no_direct_extern_access): New.
7804	* config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
7805	(ix86_force_load_from_GOT_p): Add a bool argument to indicate
7806	call operand.  Force non-call load from GOT for
7807	-mno-direct-extern-access or nodirect_extern_access attribute.
7808	(legitimate_pic_address_disp_p): Avoid copy relocation in PIE
7809	for -mno-direct-extern-access or nodirect_extern_access attribute.
7810	(ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
7811	for call operand.
7812	(asm_preferred_eh_data_format): Use PC-relative format for
7813	-mno-direct-extern-access to avoid copy relocation.  Check
7814	ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
7815	(ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
7816	true for -mno-direct-extern-access or nodirect_extern_access
7817	attribute.  Don't treat protected data as extern and avoid copy
7818	relocation on common symbol with -mno-direct-extern-access or
7819	nodirect_extern_access attribute.
7820	(ix86_reloc_rw_mask): New to avoid copy relocation for
7821	-mno-direct-extern-access.
7822	(TARGET_ASM_RELOC_RW_MASK): New.
7823	* config/i386/i386.opt: Add -mdirect-extern-access.
7824	* doc/extend.texi: Document nodirect_extern_access attribute.
7825	* doc/invoke.texi: Document -m[no-]direct-extern-access.
7826
78272022-02-09  H.J. Lu  <hjl.tools@gmail.com>
7828
7829	PR target/104441
7830	* config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
7831	(ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
7832	Call ix86_avx_u128_mode_source to check mode for each component
7833	of source operand.
7834
78352022-02-09  liuhongt  <hongtao.liu@intel.com>
7836
7837	PR target/104451
7838	* config/i386/sse.md (<insn><mode>3): lowpart_subreg
7839	operands[2] from SImode to QImode.
7840
78412022-02-09  Richard Biener  <rguenther@suse.de>
7842
7843	PR middle-end/104450
7844	* gimple-isel.cc: Pass cfun around.
7845	(+gimple_expand_vec_cond_expr): Do not combine a throwing
7846	comparison with the select.
7847
78482022-02-09  Richard Biener  <rguenther@suse.de>
7849
7850	PR target/104453
7851	* config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
7852	folding for NULL LHS.
7853
78542022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
7855
7856	PR rtl-optimization/104198
7857	PR rtl-optimization/104153
7858	* ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
7859	using it directly.  Rework comparison handling and always
7860	perform a second pass.
7861
78622022-02-08  Jakub Jelinek  <jakub@redhat.com>
7863
7864	PR target/102140
7865	* config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
7866	split1 pass has finished already.
7867
78682022-02-08  Bill Schmidt  <wschmidt@linux.ibm.com>
7869
7870	* config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
7871	* config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
7872	* config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
7873	(vmsumcud): New define_insn.
7874
78752022-02-08  Tom de Vries  <tdevries@suse.de>
7876
7877	* config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
7878	* config/nvptx/nvptx.h (TARGET_SM70): Define.
7879
78802022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
7881
7882	* config/s390/s390.cc (s390_rtx_costs): Increase costs for load
7883	on condition.
7884	* config/s390/s390.md: Use paradoxical subreg.
7885
78862022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
7887
7888	* combine.cc (reg_subword_p): Check for paradoxical subreg.
7889
78902022-02-08  Tom de Vries  <tdevries@suse.de>
7891
7892	PR target/104283
7893	* config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
7894	and PTX_VERSION_4_2.
7895	* config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
7896	(default_ptx_version_option, ptx_version_to_string)
7897	(sm_version_to_string, handle_ptx_version_option): New function.
7898	(nvptx_option_override): Call handle_ptx_version_option.
7899	(nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
7900	* config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
7901	(define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
7902	* config/nvptx/nvptx.opt (mptx): Remove 'Init'.
7903
79042022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
7905
7906	* doc/install.texi (Configuration): Document `--with-isa-spec='
7907	RISC-V option.
7908	* doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
7909	option.
7910	(RISC-V Options): Document it.
7911
79122022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
7913
7914	* config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
7915
79162022-02-08  Tom de Vries  <tdevries@suse.de>
7917
7918	* config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
7919
79202022-02-08  Tom de Vries  <tdevries@suse.de>
7921
7922	PR target/104364
7923	* config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
7924	* config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
7925	change is validated.
7926	(nvptx_mem_local_p): New function.
7927	* config/nvptx/nvptx.md: Use nvptx_mem_local_p.
7928	(define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
7929	(define_insn "atomic_compare_and_swap<mode>_1_local"): New
7930	non-atomic, non-predicable define_insn, factored out of ...
7931	(define_insn "atomic_compare_and_swap<mode>_1"): ... here.
7932	Make predicable again.
7933	(define_expand "atomic_compare_and_swap<mode>"): Use
7934	atomic_compare_and_swap<mode>_1_local.
7935
79362022-02-08  liuhongt  <hongtao.liu@intel.com>
7937
7938	PR rtl-optimization/104059
7939	* regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
7940	for a more expensive reg-reg move.
7941
79422022-02-07  Tamar Christina  <tamar.christina@arm.com>
7943
7944	* config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
7945	vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
7946	* config/arm/arm_neon_builtins.def (usdot): Add V16QI.
7947	(usdot_laneq, sudot_laneq): New.
7948	* config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
7949	(neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
7950
79512022-02-07  Tamar Christina  <tamar.christina@arm.com>
7952
7953	* config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
7954	vdot_laneq_s32, vdotq_laneq_s32): New.
7955	* config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
7956	* config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
7957	(<sup>dot_prod<vsi2qi>): Re-order rtl.
7958	(neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
7959	(neon_<sup>dot_laneq<vsi2qi>): New.
7960
79612022-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>
7962
7963	PR target/104327
7964	* config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
7965	if always_inline is set. Don't inline when tune differs without
7966	always_inline.
7967
79682022-02-07  Richard Biener  <rguenther@suse.de>
7969
7970	PR middle-end/104402
7971	* gimple-expr.cc (is_gimple_condexpr): _Complex typed
7972	compares are not valid.
7973	* tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
7974	check is_gimple_condexpr.
7975
79762022-02-07  Kewen Lin  <linkw@linux.ibm.com>
7977
7978	PR target/103627
7979	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
7980	hunk affecting VSX and ALTIVEC to appropriate place.
7981
79822022-02-07  Kewen Lin  <linkw@linux.ibm.com>
7983
7984	PR target/103627
7985	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
7986	MMA if !TARGET_VSX.
7987
79882022-02-06  Jakub Jelinek  <jakub@redhat.com>
7989
7990	PR c++/89074
7991	PR c++/104033
7992	* fold-const.h (folding_initializer): Adjust comment.
7993	(folding_cxx_constexpr): Declare.
7994	* fold-const.cc (folding_initializer): Adjust comment.
7995	(folding_cxx_constexpr): New variable.
7996	(address_compare): Restrict the decl vs. STRING_CST
7997	or vice versa or STRING_CST vs. STRING_CST or
7998	is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
7999	Punt for FUNCTION_DECLs with non-zero offsets.  If folding_initializer,
8000	assume non-aliased functions have non-zero size and have different
8001	addresses.  For folding_cxx_constexpr, punt on comparisons of start
8002	of some object and end of another one, regardless whether it is a decl
8003	or string literal.  Also punt for folding_cxx_constexpr on
8004	STRING_CST vs. STRING_CST comparisons if the two literals could be
8005	overlapping.
8006
80072022-02-05  Jakub Jelinek  <jakub@redhat.com>
8008
8009	PR tree-optimization/104389
8010	* match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
8011	honored.
8012
80132022-02-05  Kito Cheng  <kito.cheng@sifive.com>
8014
8015	* configure.ac: Fix detection for zifencei support.
8016	* configure: Regenerate.
8017
80182022-02-05  Kito Cheng  <kito.cheng@sifive.com>
8019
8020	PR target/104219
8021	* config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
8022	(all_defaults): Add isa_spec.
8023	* config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
8024
80252022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
8026
8027	* config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
8028	parameters instead of arglist and nargs.  Simplify accordingly.  Remove
8029	unnecessary test for argument count mismatch.
8030	(resolve_vec_cmpne): Likewise.
8031	(resolve_vec_adde_sube): Likewise.
8032	(resolve_vec_addec_subec): Likewise.
8033	(altivec_resolve_overloaded_builtin): Move overload special handling
8034	after the gathering of arguments into args[] and types[] and the test
8035	for correct number of arguments.  Don't perform the test for correct
8036	number of arguments for certain special cases.  Call the other special
8037	cases with args and types instead of arglist and nargs.
8038
80392022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
8040
8041	PR target/100808
8042	* doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
8043	3.1): Provide consistent type names.  Remove unnecessary semicolons.
8044	Fix bad line breaks.
8045
80462022-02-04  Jakub Jelinek  <jakub@redhat.com>
8047
8048	PR target/104380
8049	* config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
8050	adjust mangling of __builtin*printf_chk.
8051
80522022-02-04  Jonathan Wakely  <jwakely@redhat.com>
8053
8054	* doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
8055
80562022-02-04  Richard Biener  <rguenther@suse.de>
8057	    Bin Cheng   <bin.cheng@linux.alibaba.com>
8058
8059	PR tree-optimization/100499
8060	* fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
8061	to true.
8062	* fold-const.cc (multiple_of_p): Likewise.  Honor it for
8063	MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
8064	switching to false for conversions.
8065	* tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
8066	claim the outermost expression does not wrap when calling
8067	multiple_of_p.  Refactor the check done to check the
8068	original IV, avoiding a bias that might wrap.
8069
80702022-02-04  Richard Biener  <rguenther@suse.de>
8071
8072	* fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
8073	handling.
8074
80752022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
8076
8077	PR debug/104366
8078	* dwarf2out.cc (dwarf2out_finish): Empty base_types.
8079	(dwarf2out_early_finish): Likewise.
8080
80812022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
8082
8083	PR tree-optimization/104356
8084	* match.pd (X / bool_range_Y is X): Add guard.
8085	(X / X is one): Likewise.
8086	(X / abs (X) is X < 0 ? -1 : 1): Likewise.
8087	(X / -X is -1): Likewise.
8088	(1 / X -> X == 1): Likewise.
8089
80902022-02-04  Richard Biener  <rguenther@suse.de>
8091
8092	PR tree-optimization/103641
8093	* tree-vect-patterns.cc (vect_synth_mult_by_constant):
8094	Pass the vector mode to choose_mult_variant.
8095
80962022-02-04  Roger Sayle  <roger@nextmovesoftware.com>
8097
8098	PR rtl-optimization/101885
8099	* combine.cc (try_combine): When splitting a parallel into two
8100	sequential sets, check not only that the first doesn't clobber
8101	the second but also that the second doesn't clobber the first.
8102
81032022-02-04  Richard Biener  <rguenther@suse.de>
8104
8105	PR middle-end/90348
8106	PR middle-end/104092
8107	* tree-core.h (clobber_kind): New enum.
8108	(tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
8109	* tree.h (CLOBBER_KIND): Add.
8110	(build_clobber): Add clobber kind argument, defaulted to
8111	CLOBBER_UNDEF.
8112	* tree.cc (build_clobber): Likewise.
8113	* gimple.h (gimple_clobber_p): New overload with specified kind.
8114	* tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
8115	CLOBBER_KIND.
8116	* tree-streamer-out.cc (streamer_write_tree_bitfields):
8117	Likewise.
8118	* tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
8119	* gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
8120	with CLOBBER_EOL.
8121	(gimplify_target_expr): Likewise.
8122	* tree-inline.cc (expand_call_inline): Likewise.
8123	* tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
8124	* gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
8125	CLOBBER_EOL clobbers as ending lifetime of storage.
8126
81272022-02-04  Martin Sebor  <msebor@redhat.com>
8128
8129	* pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
8130	cleanup.
8131
81322022-02-03  Martin Sebor  <msebor@redhat.com>
8133
8134	PR middle-end/104260
8135	* passes.def (pass_warn_access): Adjust pass placement.
8136
81372022-02-03  Uroš Bizjak  <ubizjak@gmail.com>
8138
8139	PR target/104362
8140	* config/i386/i386.cc (find_drap_reg): For 32bit targets
8141	return DI_REG if function uses __builtin_eh_return.
8142
81432022-02-03  Martin Sebor  <msebor@redhat.com>
8144
8145	* gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
8146	(pass_wrestrict::m_ptr_qry): New member.
8147	(wrestrict_walk): Rename...
8148	(pass_wrestrict::check_block): ...to this.
8149	(pass_wrestrict::execute): Set up and tear down pointer_query and
8150	ranger.
8151	(builtin_memref::builtin_memref): Change ctor argument.  Simplify.
8152	(builtin_access::builtin_access): Same.
8153	(builtin_access::m_ptr_qry): New member.
8154	(check_call): Rename...
8155	(pass_wrestrict::check_call): ...to this.
8156	(check_bounds_or_overlap): Change argument.
8157	* gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
8158
81592022-02-03  Martin Sebor  <msebor@redhat.com>
8160
8161	* gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
8162	Define ctor.
8163	(array_bounds_checker::get_value_range): Use new member.
8164	(array_bounds_checker::check_mem_ref): Same.
8165	* gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
8166	Outline ctor.
8167	(array_bounds_checker::m_ptr_query): New member.
8168
81692022-02-03  Martin Sebor  <msebor@redhat.com>
8170
8171	* gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
8172	pointer_query cache.
8173	* pointer-query.cc (pointer_query::pointer_query): Remove cache
8174	argument.  Zero-initialize new cache member.
8175	(pointer_query::get_ref): Replace cache pointer with direct access.
8176	(pointer_query::put_ref): Same.
8177	(pointer_query::flush_cache): Same.
8178	(pointer_query::dump): Same.
8179	* pointer-query.h (class pointer_query): Remove cache argument from
8180	ctor.  Change cache pointer to cache subobject member.
8181	* tree-ssa-strlen.cc: Remove pointer_query cache.
8182
81832022-02-03  Martin Sebor  <msebor@redhat.com>
8184
8185	PR tree-optimization/104119
8186	* gimple-ssa-sprintf.cc (struct directive): Change argument type.
8187	(format_none): Same.
8188	(format_percent): Same.
8189	(format_integer): Same.
8190	(format_floating): Same.
8191	(get_string_length): Same.
8192	(format_character): Same.
8193	(format_string): Same.
8194	(format_plain): Same.
8195	(format_directive): Same.
8196	(compute_format_length): Same.
8197	(handle_printf_call): Same.
8198	* tree-ssa-strlen.cc (get_range_strlen_dynamic): Same.   Call
8199	get_maxbound.
8200	(get_range_strlen_phi): Same.
8201	(get_maxbound): New function.
8202	(strlen_pass::get_len_or_size): Adjust to parameter change.
8203	* tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
8204
82052022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
8206
8207	PR target/103686
8208	* config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin):	Remove
8209	test for !rs6000_fold_gimple.
8210	* config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
8211	* config/rs6000/rs6000.opt (mfold-gimple): Remove.
8212
82132022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
8214
8215	PR target/95082
8216	* config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
8217	endianness for vclzlsbb and vctzlsbb.
8218	* config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
8219	default pattern and indicate a different pattern will be used for
8220	big endian.
8221	(VCLZLSBB_V4SI): Likewise.
8222	(VCLZLSBB_V8HI): Likewise.
8223	(VCTZLSBB_V16QI): Likewise.
8224	(VCTZLSBB_V4SI): Likewise.
8225	(VCTZLSBB_V8HI): Likewise.
8226
82272022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
8228
8229	* config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
8230	* config/rs6000/rs6000-builtin.cc: New file, containing code moved
8231	from other files.
8232	* config/rs6000/rs6000-call.cc (cpu_is_info): Move to
8233	rs6000-builtin.cc.
8234	(cpu_supports_info): Likewise.
8235	(rs6000_type_string): Likewise.
8236	(altivec_expand_predicate_builtin): Likewise.
8237	(rs6000_htm_spr_icode): Likewise.
8238	(altivec_expand_vec_init_builtin): Likewise.
8239	(get_element_number): Likewise.
8240	(altivec_expand_vec_set_builtin): Likewise.
8241	(altivec_expand_vec_ext_builtin): Likewise.
8242	(rs6000_invalid_builtin): Likewise.
8243	(rs6000_fold_builtin): Likewise.
8244	(fold_build_vec_cmp): Likewise.
8245	(fold_compare_helper): Likewise.
8246	(map_to_integral_tree_type): Likewise.
8247	(fold_mergehl_helper): Likewise.
8248	(fold_mergeeo_helper): Likewise.
8249	(rs6000_builtin_valid_without_lhs): Likewise.
8250	(rs6000_builtin_is_supported): Likewise.
8251	(rs6000_gimple_fold_mma_builtin): Likewise.
8252	(rs6000_gimple_fold_builtin): Likewise.
8253	(rs6000_expand_ldst_mask): Likewise.
8254	(cpu_expand_builtin): Likewise.
8255	(elemrev_icode): Likewise.
8256	(ldv_expand_builtin): Likewise.
8257	(lxvrse_expand_builtin): Likewise.
8258	(lxvrze_expand_builtin): Likewise.
8259	(stv_expand_builtin): Likewise.
8260	(mma_expand_builtin): Likewise.
8261	(htm_spr_num): Likewise.
8262	(htm_expand_builtin): Likewise.
8263	(rs6000_expand_builtin): Likewise.
8264	(rs6000_vector_type): Likewise.
8265	(rs6000_init_builtins): Likewise.  Remove initialization of
8266	builtin_mode_to_type entries.
8267	(rs6000_builtin_decl): Move to rs6000-builtin.cc.
8268	* config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
8269	external declaration.
8270	(rs6000_builtin_md_vectorized_function): Likewise.
8271	(rs6000_builtin_reciprocal): Likewise.
8272	(altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
8273	(rs6000_builtin_types): Likewise.
8274	(builtin_mode_to_type): Remove.
8275	(rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc.  Remove
8276	static qualifier.
8277	(rs6000_builtin_md_vectorized_function): Likewise.
8278	(rs6000_builtin_reciprocal): Likewise.
8279	* config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
8280	* config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
8281
82822022-02-03  Richard Biener  <rguenther@suse.de>
8283
8284	PR debug/104337
8285	* tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
8286	together via DECL_ABSTRACT_ORIGIN.
8287
82882022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
8289
8290	* config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
8291	message for RES_BITS case.
8292
82932022-02-03  Aldy Hernandez  <aldyh@redhat.com>
8294
8295	* gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
8296
82972022-02-03  Jakub Jelinek  <jakub@redhat.com>
8298
8299	* config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
8300	mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
8301
83022022-02-03  Aldy Hernandez  <aldyh@redhat.com>
8303
8304	* cfganal.cc (verify_marked_backedges): New.
8305	* cfganal.h (verify_marked_backedges): New.
8306	* gimple-range-path.cc (path_range_query::path_range_query):
8307	Verify freshness of back edges.
8308	* tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
8309	mark_dfs_back_edges.
8310	* tree-ssa-threadbackward.cc (back_threader::back_threader): Move
8311	path_range_query construction after backedges have been
8312	updated.
8313
83142022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
8315
8316	* config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
8317	VALL to VALL_F16.
8318
83192022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
8320
8321	* config/aarch64/iterators.md (VALL_F16MOV): Delete.
8322	* config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
8323	of VALL_F16MOV.
8324
83252022-02-03  Martin Liska  <mliska@suse.cz>
8326
8327	* config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
8328	Change subject and object in the error message.
8329	* config/s390/s390.cc (s390_valid_target_attribute_inner_p):
8330	Likewise.
8331
83322022-02-03  Martin Liska  <mliska@suse.cz>
8333
8334	* config/s390/s390.cc (s390_valid_target_attribute_inner_p):
8335	Use the error message for i386 target.
8336
83372022-02-03  Jakub Jelinek  <jakub@redhat.com>
8338
8339	PR tree-optimization/104334
8340	* range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
8341	and rh_range type to widest_int and subtract in widest_int.  Remove
8342	ov_rh, ov_lh and sign vars, always perform comparisons as signed
8343	and use >, < and == operators for it.
8344
83452022-02-03  Martin Sebor  <msebor@redhat.com>
8346
8347	* common.opt (-Wuse-after-free): Correct typos.
8348
83492022-02-02  David Malcolm  <dmalcolm@redhat.com>
8350
8351	PR analyzer/104270
8352	* doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
8353	-Wanalyzer-use-of-uninitialized-value to paragraph documenting that
8354	-ftrivial-auto-var-init= doesn't suppress warnings.
8355
83562022-02-02  Martin Liska  <mliska@suse.cz>
8357
8358	* dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
8359
83602022-02-02  Bernd Kuhls  <bernd.kuhls@t-online.de>
8361
8362	PR target/94372
8363	* config/or1k/linux.h (CPP_SPEC): Define.
8364
83652022-02-02  Tamar Christina  <tamar.christina@arm.com>
8366
8367	PR tree-optimization/102819
8368	PR tree-optimization/103169
8369	* config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
8370	canonical order.
8371
83722022-02-02  Tamar Christina  <tamar.christina@arm.com>
8373
8374	PR tree-optimization/102819
8375	PR tree-optimization/103169
8376	* config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
8377	canonical order.
8378	* config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
8379
83802022-02-02  Tamar Christina  <tamar.christina@arm.com>
8381
8382	PR tree-optimization/102819
8383	PR tree-optimization/103169
8384	* doc/md.texi: Update docs for cfms, cfma.
8385	* tree-data-ref.h (same_data_refs): Accept optional offset.
8386	* tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
8387	patterns.
8388	(vect_normalize_conj_loc): Remove.
8389	(is_eq_or_top): Change to take two nodes.
8390	(enum _conj_status, compatible_complex_nodes_p,
8391	vect_validate_multiplication): New.
8392	(class complex_add_pattern, complex_add_pattern::matches,
8393	complex_add_pattern::recognize, class complex_mul_pattern,
8394	complex_mul_pattern::recognize, class complex_fms_pattern,
8395	complex_fms_pattern::recognize, class complex_operations_pattern,
8396	complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
8397	new cache.
8398	(complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
8399	cache and use new validation code.
8400	* tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
8401	vect_analyze_slp): Pass along cache.
8402	(compatible_calls_p): Expose.
8403	* tree-vectorizer.h (compatible_calls_p, slp_node_hash,
8404	slp_compat_nodes_map_t): New.
8405	(class vect_pattern): Update signatures include new cache.
8406
84072022-02-02  Hans-Peter Nilsson  <hp@axis.com>
8408
8409	* config/cris/cris.cc (cris_preferred_reload_class): Reject
8410	"eliminated" registers and small-enough constants unless
8411	reloaded into a class that is a subset of GENERAL_REGS.
8412	* config/cris/cris.md (attribute "cpu_variant"): New.
8413	(attribute "enabled"): Conditionalize on a matching attribute
8414	cpu_variant, if specified.
8415	("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
8416	memory, add cpu-variant-enabled variants for "r" alternatives on
8417	the far side of the "x" alternatives, preferring the "x" ones
8418	only for variants where MOF is present (in addition to SRP).
8419
84202022-02-02  Hans-Peter Nilsson  <hp@axis.com>
8421
8422	* config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
8423	extra cost for ALL_REGS.
8424
84252022-02-02  Hans-Peter Nilsson  <hp@axis.com>
8426
8427	* config/cris/constraints.md (define_register_constraint "b"): Now
8428	GENERAL_REGS.
8429	* config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
8430	* config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
8431	(REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
8432	and SPEC_GENNONACR_REGS.
8433	* config/cris/cris.cc (cris_preferred_reload_class): Don't mention
8434	ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
8435
84362022-02-02  Hans-Peter Nilsson  <hp@axis.com>
8437
8438	* config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
8439	Conditionalize on (sub-)register operands or operand 1 being 0.
8440
84412022-02-02  Hans-Peter Nilsson  <hp@axis.com>
8442
8443	* config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
8444	(MUL_BUG_ASM_DEFAULT): New macro.
8445	(MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
8446	* doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
8447	accordingly.
8448
84492022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
8450
8451	* opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
8452	to 10 for AutoFDO.
8453
84542022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
8455
8456	* auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
8457
84582022-02-01  Andrew Pinski  <apinski@marvell.com>
8459
8460	* doc/install.texi:
8461
84622022-02-01  Ilya Leoshkevich  <iii@linux.ibm.com>
8463
8464	* config/s390/s390.cc (s390_code_end): Do not switch back to
8465	code section.
8466
84672022-02-01  Jakub Jelinek  <jakub@redhat.com>
8468
8469	PR target/104323
8470	* config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
8471	rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
8472	* config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
8473	GTY((user)) for struct bifdata and struct ovlddata.  Instead add
8474	GTY((skip(""))) to members with pointer and enum types that don't need
8475	to be tracked.  Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
8476	declarations.  Don't emit gt_ggc_mx and gt_pch_nx declarations.
8477	(write_extern_fntype, write_fntype): Remove.
8478	(write_fntype_init): Emit the fntype vars as automatic vars instead
8479	of file scope ones.
8480	(write_header_file): Don't iterate with write_extern_fntype.
8481	(write_init_file): Don't iterate with write_fntype.  Don't emit
8482	gt_ggc_mx and gt_pch_nx definitions.
8483
84842022-02-01  Jason Merrill  <jason@redhat.com>
8485
8486	* tree.h (struct tree_vec_map_cache_hasher): Move from...
8487	* tree.cc (struct tree_vec_map_cache_hasher): ...here.
8488
84892022-02-01  Tom de Vries  <tdevries@suse.de>
8490
8491	* config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
8492	* config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
8493	UNSPECV_UNIFORM_WARP_CHECK.
8494	(define_insn "nvptx_uniform_warp_check"): New define_insn.
8495
84962022-02-01  Tom de Vries  <tdevries@suse.de>
8497
8498	* config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
8499	* config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
8500	UNSPECV_WARPSYNC.
8501	(define_insn "nvptx_warpsync"): New define_insn.
8502
85032022-02-01  Tom de Vries  <tdevries@suse.de>
8504
8505	* config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
8506
85072022-02-01  Tom de Vries  <tdevries@suse.de>
8508
8509	* config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
8510	* config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
8511	* config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
8512	insn for TARGET_PTX_6_0.
8513
85142022-02-01  Tom de Vries  <tdevries@suse.de>
8515
8516	PR target/100428
8517	* config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
8518	insn.
8519
85202022-02-01  Tom de Vries  <tdevries@suse.de>
8521
8522	* config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
8523	(define_insn "atomic_exchange<mode>")
8524	(define_insn "atomic_fetch_add<mode>")
8525	(define_insn "atomic_fetch_addsf")
8526	(define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
8527	if memory operands is frame-relative.
8528
85292022-02-01  Tom de Vries  <tdevries@suse.de>
8530
8531	* config/nvptx/nvptx.cc (enum nvptx_builtins): Add
8532	NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
8533	(VOID): New macro.
8534	(nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
8535	(nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
8536	NVPTX_BUILTIN_MEMBAR_CTA.
8537	(nvptx_lockfull_update): Add level parameter.  Emit barriers.
8538	(nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
8539	nvptx_lockfull_update.
8540	* config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
8541	UNSPECV_MEMBAR_GL.
8542	(define_expand "nvptx_membar_gl"): New expand.
8543	(define_insn "*nvptx_membar_gl"): New insn.
8544
85452022-02-01  Martin Liska  <mliska@suse.cz>
8546
8547	* doc/install.texi: Remove option for GCC < 4.8.
8548
85492022-02-01  Jakub Jelinek  <jakub@redhat.com>
8550
8551	PR middle-end/104307
8552	* tree-vect-generic.cc (expand_vector_comparison): Don't push debug
8553	stmts to uses vector, just set vec_cond_expr_only to false for
8554	non-VEC_COND_EXPRs instead of pushing them into uses.  Treat
8555	VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
8556	like non-VEC_COND_EXPRs.
8557
85582022-02-01  Bill Schmidt  <wschmidt@linux.ibm.com>
8559
8560	* config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
8561	(VEC_BLENDV): Likewise.
8562	(VEC_BPERM): Likewise.
8563	(VEC_CFUGE): Likewise.
8564	(VEC_CIPHER_BE): Likewise.
8565	(VEC_CIPHERLAST_BE): Likewise.
8566	(VEC_CLRL): Likewise.
8567	(VEC_CLRR): Likewise.
8568	(VEC_CMPNEZ): Likewise.
8569	(VEC_CNTLZ): Likewise.
8570	(VEC_CNTLZM): Likewise.
8571	(VEC_CNTTZM): Likewise.
8572	(VEC_CNTLZ_LSBB): Likewise.
8573	(VEC_CNTM): Likewise.
8574	(VEC_CNTTZ): Likewise.
8575	(VEC_CNTTZ_LSBB): Likewise.
8576	(VEC_CONVERT_4F32_8F16): Likewise.
8577	(VEC_DIV): Likewise.
8578	(VEC_DIVE): Likewise.
8579	(VEC_EQV): Likewise.
8580	(VEC_EXPANDM): Likewise.
8581	(VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
8582	(VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
8583	(VEC_EXTRACTH): Likewise.
8584	(VEC_EXTRACTL): Likewise.
8585	(VEC_EXTRACTM): Likewise.
8586	(VEC_EXTRACT4B): Likewise.
8587	(VEC_EXTULX): Likewise.
8588	(VEC_EXTURX): Likewise.
8589	(VEC_FIRSTMATCHINDEX): Likewise.
8590	(VEC_FIRSTMACHOREOSINDEX): Likewise.
8591	(VEC_FIRSTMISMATCHINDEX): Likewise.
8592	(VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
8593	(VEC_GB): Likewise.
8594	(VEC_GENBM): Likewise.
8595	(VEC_GENHM): Likewise.
8596	(VEC_GENWM): Likewise.
8597	(VEC_GENDM): Likewise.
8598	(VEC_GENQM): Likewise.
8599	(VEC_GENPCVM): Likewise.
8600	(VEC_GNB): Likewise.
8601	(VEC_INSERTH): Likewise.
8602	(VEC_INSERTL): Likewise.
8603	(VEC_INSERT4B): Likewise.
8604	(VEC_LXVL): Likewise.
8605	(VEC_MERGEE): Likewise.
8606	(VEC_MERGEO): Likewise.
8607	(VEC_MOD): Likewise.
8608	(VEC_MSUB): Likewise.
8609	(VEC_MULH): Likewise.
8610	(VEC_NAND): Likewise.
8611	(VEC_NCIPHER_BE): Likewise.
8612	(VEC_NCIPHERLAST_BE): Likewise.
8613	(VEC_NEARBYINT): Likewise.
8614	(VEC_NMADD): Likewise.
8615	(VEC_ORC): Likewise.
8616	(VEC_PDEP): Likewise.
8617	(VEC_PERMX): Likewise.
8618	(VEC_PEXT): Likewise.
8619	(VEC_POPCNT): Likewise.
8620	(VEC_PARITY_LSBB): Likewise.
8621	(VEC_REPLACE_ELT): Likewise.
8622	(VEC_REPLACE_UN): Likewise.
8623	(VEC_REVB): Likewise.
8624	(VEC_RINT): Likewise.
8625	(VEC_RLMI): Likewise.
8626	(VEC_RLNM): Likewise.
8627	(VEC_SBOX_BE): Likewise.
8628	(VEC_SIGNEXTI): Likewise.
8629	(VEC_SIGNEXTLL): Likewise.
8630	(VEC_SIGNEXTQ): Likewise.
8631	(VEC_SLDB): Likewise.
8632	(VEC_SLV): Likewise.
8633	(VEC_SPLATI): Likewise.
8634	(VEC_SPLATID): Likewise.
8635	(VEC_SPLATI_INS): Likewise.
8636	(VEC_SQRT): Likewise.
8637	(VEC_SRDB): Likewise.
8638	(VEC_SRV): Likewise.
8639	(VEC_STRIL): Likewise.
8640	(VEC_STRIL_P): Likewise.
8641	(VEC_STRIR): Likewise.
8642	(VEC_STRIR_P): Likewise.
8643	(VEC_STXVL): Likewise.
8644	(VEC_TERNARYLOGIC): Likewise.
8645	(VEC_TEST_LSBB_ALL_ONES): Likewise.
8646	(VEC_TEST_LSBB_ALL_ZEROS): Likewise.
8647	(VEC_VEE): Likewise.
8648	(VEC_VES): Likewise.
8649	(VEC_VIE): Likewise.
8650	(VEC_VPRTYB): Likewise.
8651	(VEC_VSCEEQ): Likewise.
8652	(VEC_VSCEGT): Likewise.
8653	(VEC_VSCELT): Likewise.
8654	(VEC_VSCEUO): Likewise.
8655	(VEC_VSEE): Likewise.
8656	(VEC_VSES): Likewise.
8657	(VEC_VSIE): Likewise.
8658	(VEC_VSTDC): Likewise.
8659	(VEC_VSTDCN): Likewise.
8660	(VEC_VTDC): Likewise.
8661	(VEC_XL): Likewise.
8662	(VEC_XL_BE): Likewise.
8663	(VEC_XL_LEN_R): Likewise.
8664	(VEC_XL_SEXT): Likewise.
8665	(VEC_XL_ZEXT): Likewise.
8666	(VEC_XST): Likewise.
8667	(VEC_XST_BE): Likewise.
8668	(VEC_XST_LEN_R): Likewise.
8669	(VEC_XST_TRUNC): Likewise.
8670	(VEC_XXPERMDI): Likewise.
8671	(VEC_XXSLDWI): Likewise.
8672	(VEC_TSTSFI_EQ_DD): Likewise.
8673	(VEC_TSTSFI_EQ_TD): Likewise.
8674	(VEC_TSTSFI_GT_DD): Likewise.
8675	(VEC_TSTSFI_GT_TD): Likewise.
8676	(VEC_TSTSFI_LT_DD): Likewise.
8677	(VEC_TSTSFI_LT_TD): Likewise.
8678	(VEC_TSTSFI_OV_DD): Likewise.
8679	(VEC_TSTSFI_OV_TD): Likewise.
8680	(VEC_VADDCUQ): Likewise.
8681	(VEC_VADDECUQ): Likewise.
8682	(VEC_VADDEUQM): Likewise.
8683	(VEC_VADDUDM): Likewise.
8684	(VEC_VADDUQM): Likewise.
8685	(VEC_VBPERMQ): Likewise.
8686	(VEC_VCLZB): Likewise.
8687	(VEC_VCLZD): Likewise.
8688	(VEC_VCLZH): Likewise.
8689	(VEC_VCLZW): Likewise.
8690	(VEC_VCTZB): Likewise.
8691	(VEC_VCTZD): Likewise.
8692	(VEC_VCTZH): Likewise.
8693	(VEC_VCTZW): Likewise.
8694	(VEC_VEEDP): Likewise.
8695	(VEC_VEESP): Likewise.
8696	(VEC_VESDP): Likewise.
8697	(VEC_VESSP): Likewise.
8698	(VEC_VIEDP): Likewise.
8699	(VEC_VIESP): Likewise.
8700	(VEC_VPKSDSS): Likewise.
8701	(VEC_VPKSDUS): Likewise.
8702	(VEC_VPKUDUM): Likewise.
8703	(VEC_VPKUDUS): Likewise.
8704	(VEC_VPOPCNT): Likewise.
8705	(VEC_VPOPCNTB): Likewise.
8706	(VEC_VPOPCNTD): Likewise.
8707	(VEC_VPOPCNTH): Likewise.
8708	(VEC_VPOPCNTW): Likewise.
8709	(VEC_VPRTYBD): Likewise.
8710	(VEC_VPRTYBQ): Likewise.
8711	(VEC_VPRTYBW): Likewise.
8712	(VEC_VRLD): Likewise.
8713	(VEC_VSLD): Likewise.
8714	(VEC_VSRAD): Likewise.
8715	(VEC_VSRD): Likewise.
8716	(VEC_VSTDCDP): Likewise.
8717	(VEC_VSTDCNDP): Likewise.
8718	(VEC_VSTDCNQP): Likewise.
8719	(VEC_VSTDCNSP): Likewise.
8720	(VEC_VSTDCQP): Likewise.
8721	(VEC_VSTDCSP): Likewise.
8722	(VEC_VSUBECUQ): Likewise.
8723	(VEC_VSUBEUQM): Likewise.
8724	(VEC_VSUBUDM): Likewise.
8725	(VEC_VSUBUQM): Likewise.
8726	(VEC_VTDCDP): Likewise.
8727	(VEC_VTDCSP): Likewise.
8728	(VEC_VUPKHSW): Likewise.
8729	(VEC_VUPKLSW): Likewise.
8730
87312022-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>
8732
8733	PR rtl-optimization/101260
8734	* regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
8735	copy_regno.
8736
87372022-02-01  Xi Ruoyao  <xry111@mengyan1223.wang>
8738
8739	PR middle-end/95115
8740	* fold-const.cc (const_binop): Do not fold NaN result from
8741	  non-NaN operands.
8742
87432022-02-01  Tom de Vries  <tdevries@suse.de>
8744
8745	* tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
8746	-ftree-loop-distribute-patterns.
8747	(loop_distribution::execute): Don't call transform_reduction_loop for
8748	-fno-tree-loop-distribute-patterns.
8749
87502022-01-31  Andrew Pinski  <apinski@marvell.com>
8751
8752	* fold-const.h (operand_compare::operand_equal_p):
8753	Fix comment about OEP_* flags.
8754
87552022-01-31  Jakub Jelinek  <jakub@redhat.com>
8756
8757	PR target/104298
8758	* config/rs6000/aix.h (OPTION_GLIBC): Remove.
8759	* config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
8760	* config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
8761	if not already defined.
8762
87632022-01-31  Martin Sebor  <msebor@redhat.com>
8764
8765	PR middle-end/104232
8766	* gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
8767	Handle PHIs.  Add a synonymous overload.
8768	(pass_waccess::check_pointer_uses): Call pointers_related_p.
8769
87702022-01-31  Richard Biener  <rguenther@suse.de>
8771
8772	PR tree-optimization/100499
8773	* fold-const.cc (multiple_of_p): Pass the correct type of
8774	the expression to the recursive invocation of multiple_of_p
8775	for conversions and use CASE_CONVERT.
8776
87772022-01-31  Eric Botcazou  <ebotcazou@adacore.com>
8778
8779	PR target/104189
8780	* config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
8781
87822022-01-31  Richard Biener  <rguenther@suse.de>
8783
8784	PR tree-optimization/100499
8785	* tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
8786	on poly-ints instead of multiple_of_p.
8787	* tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
8788	(non_rewritable_mem_ref_base): Likewise.
8789	(non_rewritable_lvalue_p): Likewise.
8790	(execute_update_addresses_taken): Likewise.
8791
87922022-01-29  Jakub Jelinek  <jakub@redhat.com>
8793	    Andrew Pinski  <apinski@marvell.com>
8794
8795	PR tree-optimization/104279
8796	PR tree-optimization/104280
8797	PR tree-optimization/104281
8798	* match.pd (1 / X -> X == 1 for unsigned X): Build eq with
8799	boolean_type_node and convert to type.  Formatting fixes.
8800
88012022-01-28  Yoshinori Sato  <yo-satoh@sios.com>
8802
8803	* config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
8804
88052022-01-28  Navid Rahimi  <navidrahimi@microsoft.com>
8806
8807	PR tree-optimization/103514
8808	* match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
8809	(a & b) == (a ^ b) -> !(a | b): New optimization.
8810
88112022-01-28  Marek Polacek  <polacek@redhat.com>
8812
8813	* doc/invoke.texi: Update -Wbidi-chars documentation.
8814
88152022-01-28  Iain Sandoe  <iain@sandoe.co.uk>
8816
8817	* config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
8818
88192022-01-28  Zhao Wei Liew  <zhaoweiliew@gmail.com>
8820
8821	PR tree-optimization/95424
8822	* match.pd: Simplify 1 / X where X is an integer.
8823
88242022-01-28  Jakub Jelinek  <jakub@redhat.com>
8825
8826	PR tree-optimization/104263
8827	* gimple-ssa-store-merging.cc (get_status_for_store_merging): For
8828	cfun->can_throw_non_call_exceptions && cfun->eh test whether
8829	last non-debug stmt in the bb is store_valid_for_store_merging_p
8830	rather than last stmt.
8831
88322022-01-28  Martin Liska  <mliska@suse.cz>
8833
8834	* diagnostic.cc (diagnostic_action_after_output): Remove extra
8835	newline.
8836
88372022-01-28  Martin Liska  <mliska@suse.cz>
8838
8839	* config/rs6000/host-darwin.cc (segv_crash_handler):
8840	Do not use leading capital letter.
8841	(segv_handler): Likewise.
8842	* ipa-sra.cc (verify_splitting_accesses): Likewise.
8843	* varasm.cc (get_section): Likewise.
8844
88452022-01-28  Richard Biener  <rguenther@suse.de>
8846
8847	PR tree-optimization/104267
8848	* tree-vect-stmts.cc (vectorizable_call): Properly use the
8849	per-argument determined vector type for externals and
8850	invariants.
8851
88522022-01-28  Richard Biener  <rguenther@suse.de>
8853
8854	PR tree-optimization/104263
8855	* tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
8856	Purge edges also when !cfun->has_nonlocal_label
8857	and !cfun->calls_setjmp.
8858
88592022-01-28  Maciej W. Rozycki  <macro@embecosm.com>
8860
8861	* config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
8862	attributes.
8863
88642022-01-28  Jakub Jelinek  <jakub@redhat.com>
8865
8866	PR lto/104237
8867	* cfgrtl.cc (loc_equal): New function.
8868	(unique_locus_on_edge_between_p): Use it.
8869
88702022-01-28  Richard Biener  <rguenther@suse.de>
8871
8872	* cfganal.h (mark_dfs_back_edges): Provide API with struct
8873	function argument.
8874	* cfganal.cc (mark_dfs_back_edges): Take a struct function
8875	to work on, add a wrapper passing cfun.
8876	* graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
8877	uses with fun which is already passed.
8878	(draw_cfg_edges): Likewise.
8879	(draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
8880	for fun != cfun.
8881
88822022-01-27  Patrick Palka  <ppalka@redhat.com>
8883
8884	PR c++/99895
8885	* tree.cc (build_call_vec): Add const to second parameter.
8886	* tree.h (build_call_vec): Likewise.
8887
88882022-01-27  Martin Liska  <mliska@suse.cz>
8889
8890	PR web/104254
8891	* diagnostic.cc (diagnostic_initialize):
8892	Initialize report_bug flag.
8893	(diagnostic_action_after_output):
8894	Explain that -freport-bug option can be used for pre-processed
8895	file creation.  Make the message shorter.
8896	(error_recursion): Rename Internal to internal.
8897	* diagnostic.h (struct diagnostic_context): New field.
8898	* opts.cc (common_handle_option): Init the field here.
8899
89002022-01-27  Kewen Lin  <linkw@linux.ibm.com>
8901
8902	PR target/103702
8903	* config/rs6000/rs6000.cc
8904	(rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
8905	assertion with early return.
8906
89072022-01-27  Chung-Lin Tang  <cltang@codesourcery.com>
8908
8909	PR middle-end/103642
8910	* gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
8911	for non-pointer or non-reference-to-pointer cases.
8912
89132022-01-27  Jakub Jelinek  <jakub@redhat.com>
8914
8915	PR tree-optimization/104196
8916	* gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
8917	* gimple-fold.cc (rewrite_to_defined_overflow): Likewise.  If true,
8918	return NULL and emit needed stmts before and after stmt.
8919	* tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
8920	pick as operand_entry that will hold the merged test the one feeding
8921	earliest condition, ensure that by swapping range->idx with some
8922	other range's idx if needed.  If seq is non-NULL, don't actually swap
8923	it but instead rewrite stmts with undefined overflow in between
8924	the two locations.
8925	(maybe_optimize_range_tests): Set ops[]->id to bb->index with the
8926	corresponding condition even if they have non-NULL ops[]->op.
8927	Formatting fix.
8928
89292022-01-26  Jakub Jelinek  <jakub@redhat.com>
8930
8931	PR target/104239
8932	* config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
8933	asm.
8934	* config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
8935	before for loop instead of for init clause.
8936	* config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
8937
89382022-01-26  Jakub Jelinek  <jakub@redhat.com>
8939
8940	PR target/104239
8941	* config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
8942	_X86INTRIN_H_INCLUDED and adjust #error wording.
8943	* config/rs6000/bmi2intrin.h: Likewise.
8944
89452022-01-26  Jakub Jelinek  <jakub@redhat.com>
8946
8947	PR debug/104194
8948	* dwarf2out.cc (long_double_as_float128): New function.
8949	(modified_type_die): For powerpc64le IEEE 754 quad long double
8950	and complex long double emit those as DW_TAG_typedef to
8951	_Float128 or complex _Float128 base type.
8952
89532022-01-26  Marek Polacek  <polacek@redhat.com>
8954
8955	PR target/104213
8956	* gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
8957	warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
8958
89592022-01-26  Martin Liska  <mliska@suse.cz>
8960
8961	* ipa-modref-tree.cc (modref_access_node::update):
8962	Remove "--param param=foo" with "--param foo".
8963	(modref_access_node::insert): Likewise.
8964	(modref_access_node::insert_kill): Likewise.
8965	* ipa-modref-tree.h (struct modref_ref_node): Likewise.
8966	(struct modref_base_node): Likewise.
8967	(struct modref_tree): Likewise.
8968
89692022-01-26  Raoni Fassina Firmino  <raoni@linux.ibm.com>
8970
8971	PR target/94193
8972	* builtins.cc (expand_builtin_feclear_feraise_except): Add op0
8973	predicate check.
8974
89752022-01-25  Martin Sebor  <msebor@redhat.com>
8976
8977	PR tree-optimization/104203
8978	* gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
8979	TV_WARN_ACCESS.
8980	* pointer-query.cc (access_ref::merge_ref): Change return type.
8981	Convert failure to a conservative success.
8982	(access_ref::get_ref): Adjust to the change above.  Short-circuit
8983	PHI evaluation after first failure turned into conservative success.
8984	* pointer-query.h (access_ref::merge_ref): Change return type.
8985	* timevar.def (TV_WARN_ACCESS): New timer variable.
8986
89872022-01-25  David Edelsohn  <dje.gcc@gmail.com>
8988
8989	* config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
8990
89912022-01-25  Richard Biener  <rguenther@suse.de>
8992
8993	PR tree-optimization/104214
8994	* tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
8995	stronger guarantees for relational pointer compares when
8996	rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
8997	BASE0 + STEP0 - STEP1 cmp BASE1.
8998
89992022-01-25  Jakub Jelinek  <jakub@redhat.com>
9000
9001	PR target/104172
9002	* config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
9003	declare.
9004	* config/rs6000/rs6000.cc (rs6000_passes_ieee128,
9005	ieee128_mangling_gcc_8_1): Remove.
9006	(TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
9007	(rs6000_mangle_type): Return "u9__ieee128" instead of
9008	ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
9009	(rs6000_globalize_decl_name): Remove.
9010	* config/rs6000/rs6000-call.cc (init_cumulative_args,
9011	rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
9012
90132022-01-24  Martin Sebor  <msebor@redhat.com>
9014
9015	* pointer-query.cc (pointer_query::dump): Remove duplicate
9016	block.
9017
90182022-01-24  Marek Polacek  <polacek@redhat.com>
9019
9020	PR preprocessor/104030
9021	* doc/invoke.texi: Update documentation for -Wbidi-chars.
9022
90232022-01-24  Raoni Fassina Firmino  <raoni@linux.ibm.com>
9024
9025	PR target/94193
9026	* builtins.cc (expand_builtin_fegetround): New function.
9027	(expand_builtin_feclear_feraise_except): New function.
9028	(expand_builtin): Add cases for BUILT_IN_FEGETROUND,
9029	BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
9030	* config/rs6000/rs6000.md (fegetroundsi): New pattern.
9031	(feclearexceptsi): New Pattern.
9032	(feraiseexceptsi): New Pattern.
9033	* doc/extend.texi: Add a new introductory paragraph about the
9034	new builtins.
9035	* doc/md.texi: (fegetround@var{m}): Document new optab.
9036	(feclearexcept@var{m}): Document new optab.
9037	(feraiseexcept@var{m}): Document new optab.
9038	* optabs.def (fegetround_optab): New optab.
9039	(feclearexcept_optab): New optab.
9040	(feraiseexcept_optab): New optab.
9041
90422022-01-24  Richard Biener  <rguenther@suse.de>
9043	    Jiufu Guo  <guojiufu@linux.ibm.com>
9044
9045	PR tree-optimization/100740
9046	PR tree-optimization/101508
9047	PR tree-optimization/101972
9048	PR tree-optimization/102131
9049	* tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
9050	constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
9051	BASE0 + STEP0 - STEP1 cmp BASE1 transform.
9052
90532022-01-24  Jakub Jelinek  <jakub@redhat.com>
9054
9055	PR sanitizer/104158
9056	* opt-functions.awk (var_set): Handle EnumBitSet property.
9057	* optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
9058	specified.
9059	* opts.h (enum cl_enum_var_value): New type.
9060	* opts-common.cc (decode_cmdline_option): Use CLEV_* values.
9061	Handle CLEV_BITSET.
9062	(cmdline_handle_error): Handle CLEV_BITSET.
9063	* opts.cc (test_enum_sets): Also test EnumBitSet requirements.
9064	* doc/options.texi (EnumBitSet): Document.
9065	* common.opt (fsanitize-coverage=): Use EnumBitSet instead of
9066	EnumSet.
9067	(trace-pc, trace-cmp): Drop Set properties.
9068
90692022-01-24  Jakub Jelinek  <jakub@redhat.com>
9070
9071	PR sanitizer/104158
9072	* common.opt (flag_sanitize_coverage): Remove Variable entry.
9073	(fsanitize-coverage=): Remove RejectNegative property, add
9074	Var(flag_sanitize_coverage) and EnumSet properties.
9075	(trace-pc): Add Set(1) property.
9076	(trace-cmp): Add Set(2) property.
9077	* opts.cc (common_handle_option): Don't handle
9078	OPT_fsanitize_coverage_.
9079
90802022-01-24  Jakub Jelinek  <jakub@redhat.com>
9081
9082	PR sanitizer/104158
9083	* opt-functions.awk (var_set): Handle EnumSet property.
9084	* optc-gen.awk: Don't disallow RejectNegative if EnumSet is
9085	specified.
9086	* opt-read.awk: Handle Set property.
9087	* opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
9088	(struct cl_decoded_option): Mention enum in value description.
9089	Add mask member.
9090	(set_option): Add mask argument defaulted to 0.
9091	* opts.cc (test_enum_sets): New function.
9092	(opts_cc_tests): Call it.
9093	* opts-common.cc (enum_arg_to_value): Change return argument
9094	from bool to int, on success return index into the cl_enum_arg
9095	array, on failure -1.  Add len argument, if non-0, use strncmp
9096	instead of strcmp.
9097	(opt_enum_arg_to_value): Adjust caller.
9098	(decode_cmdline_option): Handle EnumSet represented as
9099	CLVC_ENUM with non-zero var_value.  Initialize decoded->mask.
9100	(decode_cmdline_options_to_array): CLear opt_array[0].mask.
9101	(handle_option): Pass decoded->mask to set_options last argument.
9102	(generate_option): Clear decoded->mask.
9103	(generate_option_input_file): Likewise.
9104	(cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
9105	(set_option): Add mask argument, use it for CLVC_ENUM.
9106	(control_warning_option): Adjust enum_arg_to_value caller.
9107	* doc/options.texi: Document Set and EnumSet properties.
9108
91092022-01-24  Jakub Jelinek  <jakub@redhat.com>
9110
9111	PR bootstrap/104170
9112	* config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9113	OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9114	(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9115	using OPTION_*_P macros.
9116	* config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9117	OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9118	(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9119	using OPTION_*_P macros.
9120	* config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9121	OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9122	(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9123	using OPTION_*_P macros.
9124	* config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9125	OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9126	(OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9127	using OPTION_*_P macros.
9128	* config/fuchsia.h (OPTION_MUSL_P): Redefine.
9129	* config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
9130	* common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
9131	ATTRIBUTE_UNUSED to opts parameter.  If OPTION_GLIBC_P is defined, use
9132	OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
9133	* common/config/i386/i386-common.cc (ix86_supports_split_stack): If
9134	OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
9135	otherwise assume if (true).
9136
91372022-01-24  Kito Cheng  <kito.cheng@sifive.com>
9138
9139	* common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
9140	Skip zicsr and zifencei if I-ext is 2.0.
9141
91422022-01-24  Jia-Wei Chen  <jiawei@iscas.ac.cn>
9143
9144	* config.gcc: Modify default isa_spec version.
9145
91462022-01-24  Jiufu Guo  <guojiufu@linux.ibm.com>
9147
9148	PR tree-optimization/102087
9149	* tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
9150	Correct PLUS result type.
9151
91522022-01-24  H.J. Lu  <hjl.tools@gmail.com>
9153
9154	PR target/104188
9155	* config/i386/predicates.md (bcst_mem_operand): Also check mode
9156	of memory broadcast.
9157
91582022-01-23  Andrew Pinski  <apinski@marvell.com>
9159
9160	PR target/64821
9161	* config/aarch64/aarch64-builtins.cc
9162	(aarch64_general_gimple_fold_builtin): Handle
9163	__builtin_aarch64_sqrt* and simplify into SQRT internal
9164	function.
9165
91662022-01-22  Jakub Jelinek  <jakub@redhat.com>
9167
9168	PR other/104176
9169	* opts-global.cc (handle_common_deferred_options): Quote
9170	--enable-plugin in diagnostics to avoid -Werror=format-diag.
9171
91722022-01-21  Michael Meissner  <meissner@the-meissners.org>
9173
9174	PR target/104136
9175	* config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
9176	* config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
9177	* config/rs6000/rs6000.md (prefixed attribute): Delete section
9178	that sets the prefixed attribute for xxspltiw, xxspltidp, and
9179	xxsplti32dx instructions.
9180	(movsf_hardfloat): Explicitly set the prefixed attribute
9181	when xxspltiw and xxspltidp instructions are generated.
9182	(mov<mode>_hardfloat32): Likewise.
9183	(mov<mode>_hardfloat64): Likewise.
9184	* config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
9185	prefixed attribute for xxspltiw and xxspltidp instructions.
9186	(vsx_mov<mode>_32bit): Likewise.
9187
91882022-01-21  H.J. Lu  <hjl.tools@gmail.com>
9189
9190	PR bootstrap/104170
9191	* common/config/i386/i386-common.cc (ix86_supports_split_stack):
9192	Return true only on glibc.
9193	* config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
9194	Revert commit c163647ffbc.
9195	* config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
9196
91972022-01-21  Sören Tempel  <soeren@soeren-tempel.net>
9198
9199	* common/config/s390/s390-common.cc (s390_supports_split_stack):
9200	Only support split-stack on glibc targets.
9201	* config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
9202	* config/i386/gnu.h (defined): Ditto.
9203
92042022-01-21  Bill Schmidt  <wschmidt@linux.ibm.com>
9205
9206	* config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
9207	vector float and vector double.
9208
92092022-01-21  Bill Seurer  <seurer@gcc.gnu.org>
9210
9211	* config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
9212	Fix mention of ifunc in string.
9213
92142022-01-21  Roger Sayle  <roger@nextmovesoftware.com>
9215
9216	PR middle-end/104140
9217	* tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
9218	operands of the widening multiplication are either both signed or
9219	both unsigned, and abort the conversion if mismatched.
9220	* doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
9221	(MULT_HIGHPART_EXPR): Clarify that operands must have the same
9222	signedness.
9223	* tree.def (MULT_HIGHPART_EXPR): Document both operands must have
9224	integer types with the same precision and signedness.
9225	(WIDEN_MULT_EXPR): Document that operands must have integer types
9226	with the same precision, but possibly differing signedness.
9227	* config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
9228	riscv_current_subset_list returning a NULL pointer (empty list).
9229
92302022-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>
9231
9232	PR target/103676
9233	* ira.h (struct target_ira): Add member
9234	x_ira_exclude_class_mode_regs.
9235	(ira_exclude_class_mode_regs): New macro.
9236	* lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
9237	move from here ...
9238	* lra-int.h: ... to here.
9239	(lra_create_new_reg_with_unique_value): Add arg
9240	exclude_start_hard_regs.
9241	(class lra_reg): Add member exclude_start_hard_regs.
9242	* lra-assigns.cc (find_hard_regno_for_1): Setup
9243	impossible_start_hard_regs from exclude_start_hard_regs.
9244	* lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
9245	it lra_create_new_reg[_with_unique_value].
9246	(match_reload): Ditto.
9247	(check_and_process_move): Pass NULL
9248	exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
9249	(goal_alt_exclude_start_hard_regs): New static variable.
9250	(process_addr_reg, simplify_operand_subreg): Pass NULL
9251	exclude_start_hard_regs to lra_create_new_reg_with_unique_value
9252	and get_reload_reg.
9253	(process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
9254	Use this_alternative_exclude_start_hard_regs additionally to find
9255	winning operand alternative.
9256	(base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
9257	exclude_start_hard_regs to lra_create_new_reg.
9258	(process_address_1, emit_inc): Ditto.
9259	(curr_insn_transform): Pass exclude_start_hard_regs value to
9260	lra_create_new_reg, get_reload_reg, match_reload.
9261	(inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
9262	to lra_create_new_reg.
9263	(process_invariant_for_inheritance): Ditto.
9264	* lra-remat.cc (update_scratch_ops): Ditto.
9265	* lra.cc (lra_create_new_reg_with_unique_value): Add arg
9266	exclude_start_hard_regs.  Setup the corresponding member of
9267	lra reg info.
9268	(lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
9269	to lra_create_new_reg_with_unique_value.
9270	(initialize_lra_reg_info_element): Initialize member
9271	exclude_start_hard_regs.
9272	(get_scratch_reg): Pass NULL to lra_create_new_reg.
9273	* ira.cc (setup_prohibited_class_mode_regs): Rename to
9274	setup_prohibited_and_exclude_class_mode_regs and calculate
9275	ira_exclude_class_mode_regs.
9276
92772022-01-21  Martin Liska  <mliska@suse.cz>
9278
9279	* configure.ac: Detect ld_is_mold and use it for
9280	comdat_group=yes and gcc_cv_ld_hidden=yes.
9281	* configure: Regenerate.
9282
92832022-01-21  Richard Biener  <rguenther@suse.de>
9284
9285	PR tree-optimization/100089
9286	* tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
9287	of if-converted loops with unvectorized COND_EXPRs for
9288	all but the unlimited cost models.
9289
92902022-01-21  Ard Biesheuvel  <ardb@kernel.org>
9291
9292	* config/arm/arm-opts.h (enum stack_protector_guard): New.
9293	* config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
9294	New.
9295	* config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
9296	(arm_option_override_internal): Handle and put in error checks.
9297	for stack protector guard options.
9298	(arm_option_reconfigure_globals): Likewise.
9299	(arm_stack_protect_tls_canary_mem): New.
9300	(arm_stack_protect_guard): New.
9301	* config/arm/arm.md (stack_protect_set): New.
9302	(stack_protect_set_tls): Likewise.
9303	(stack_protect_test): Likewise.
9304	(stack_protect_test_tls): Likewise.
9305	(reload_tp_hard): Likewise.
9306	* config/arm/arm.opt (-mstack-protector-guard): New
9307	(-mstack-protector-guard-offset): New.
9308	* doc/invoke.texi: Document new options.
9309
93102022-01-21  Richard Biener  <rguenther@suse.de>
9311
9312	PR tree-optimization/104156
9313	* tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
9314	Collect and reset debug stmts with out-of-loop uses when
9315	hoisting guards.
9316	(find_loop_guard): Adjust.
9317	(empty_bb_without_guard_p): Likewise.  Ignore debug stmts.
9318	(used_outside_loop_p): Push debug uses to a vector of
9319	debug stmts to reset.
9320	(hoist_guard): Adjust -fopt-info category.
9321
93222022-01-21  Richard Biener  <rguenther@suse.de>
9323
9324	PR tree-optimization/104152
9325	* tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
9326	can_duplicate_and_interleave_p check.
9327
93282022-01-21  Jakub Jelinek  <jakub@redhat.com>
9329
9330	* gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
9331	Avoid passing var to warning_at when the format string doesn't
9332	refer to it.
9333
93342022-01-21  Aldy Hernandez  <aldyh@redhat.com>
9335
9336	PR tree-optimization/103721
9337	* gimple-range-path.cc
9338	(path_range_query::relations_may_be_invalidated): New.
9339	(path_range_query::compute_ranges_in_block): Reset relations if
9340	they may be invalidated.
9341	(path_range_query::maybe_register_phi_relation): Exit if relations
9342	may be invalidated on incoming edge.
9343	(path_range_query::compute_phi_relations): Pass incoming PHI edge
9344	to maybe_register_phi_relation.
9345	* gimple-range-path.h (relations_may_be_invalidated): New.
9346	(maybe_register_phi_relation): Pass edge instead of tree.
9347	* tree-ssa-threadbackward.cc (back_threader::back_threader):
9348	Mark DFS edges.
9349	* value-relation.cc (path_oracle::path_oracle): Call
9350	mark_dfs_back_edges.
9351	(path_oracle::register_relation): Add SSA names to m_registered
9352	bitmap.
9353	(path_oracle::reset_path): Clear m_registered bitmap.
9354	* value-relation.h (path_oracle::set_root_oracle): New.
9355
93562022-01-21  Jakub Jelinek  <jakub@redhat.com>
9357
9358	PR rtl-optimization/102478
9359	* optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
9360	force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
9361	would be needed.
9362
93632022-01-20  Richard Biener  <rguenther@suse.de>
9364
9365	PR middle-end/100786
9366	* gimple-fold.cc (get_symbol_constant_value): Only return
9367	values of compatible type to the symbol.
9368
93692022-01-20  Andrew MacLeod  <amacleod@redhat.com>
9370
9371	* value-relation.cc (relation_oracle::valid_equivs): Query and add
9372	if valid members of a set.
9373	(equiv_oracle::register_equiv): Call valid_equivs rather than
9374	bitmap direct operations.
9375	(path_oracle::register_equiv): Ditto.
9376	* value-relation.h (relation_oracle::valid_equivs): New prototype.
9377
93782022-01-20  Richard Biener  <rguenther@suse.de>
9379
9380	PR target/100784
9381	* config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
9382	LHS before folding __builtin_ia32_shufpd and friends.
9383
93842022-01-20  Richard Earnshaw  <rearnsha@arm.com>
9385
9386	* config/arm/crypto.md (aes_op_protect): Allow moves from core
9387	registers and from memory.
9388	(aes_op_protect_misalign_load): New pattern.
9389	(aes_op_protect_neon_vld1v16qi): New pattern.
9390
93912022-01-20  Richard Earnshaw  <rearnsha@arm.com>
9392
9393	* config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
9394	New pattern.
9395	(aarch32_crypto_aese_fused_protected): Likewise.
9396	(aarch32_crypto_aesd_fused_protected): Likewise.
9397
93982022-01-20  Richard Earnshaw  <rearnsha@arm.com>
9399
9400	* config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
9401	to define_expand.  Add mitigation for the Cortex-A AES erratum
9402	when enabled.
9403	(*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
9404	on original crypto_<CRYPTO_AES:crypto_pattern> insn.
9405	(aes_op_protect): New pattern.
9406	* config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
9407
94082022-01-20  Richard Earnshaw  <rearnsha@arm.com>
9409
9410	* config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
9411	(ALL_QUIRKS): Add it.
9412	(cortex-a57, cortex-a72): Enable it.
9413	(cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
9414	* config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
9415	option.
9416	(mfix-cortex-a72-aes-1655431): New option alias.
9417	* config/arm/arm.cc (arm_option_override): Handle default settings
9418	for AES erratum switch.
9419	* doc/invoke.texi (Arm Options): Document new options.
9420
94212022-01-20  Richard Earnshaw  <rearnsha@arm.com>
9422
9423	* config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
9424	<crypto_mode> rather than hard-coding the mode.
9425	(crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
9426	(crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
9427	(*aarch32_crypto_aese_fused): Likewise.
9428	(*aarch32_crypto_aesd_fused): Likewise.
9429	(crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
9430	(crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
9431	(crypto_sha1h_lb): Likewise.
9432	(crypto_vmullp64): Likewise.
9433	(crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
9434	(crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
9435
94362022-01-20  Richard Earnshaw  <rearnsha@arm.com>
9437
9438	* config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
9439	iterator to pattern name to disambiguate.
9440	(crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
9441	(crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
9442	(crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
9443	(crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
9444	(crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
9445
94462022-01-20  Martin Liska  <mliska@suse.cz>
9447
9448	PR bootstrap/104135
9449	* emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
9450	* rtl.cc: Partially disable -Wformat-diag for RTL checking
9451	error messages.
9452
94532022-01-20  Jakub Jelinek  <jakub@redhat.com>
9454
9455	PR debug/103874
9456	* dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
9457	block_num > 0, index entry even if !have_multiple_function_sections.
9458
94592022-01-20  liuhongt  <hongtao.liu@intel.com>
9460
9461	PR target/103771
9462	* tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
9463	integral mode mask pack by multi steps which takes
9464	vec_pack_sbool_trunc_optab as start when elements number is
9465	less than BITS_PER_UNITS.
9466
94672022-01-20  Richard Biener  <rguenther@suse.de>
9468
9469	PR tree-optimization/104114
9470	* tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
9471	single element vector decomposition.
9472
94732022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
9474
9475	* ifcvt.cc (noce_convert_multiple_sets_1): New function.
9476	(noce_convert_multiple_sets): Call function a second time if we can
9477	improve the first try.
9478
94792022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
9480
9481	* ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
9482	reversed comparison.
9483	(try_emit_cmove_seq): New function to facilitate creating a cmov
9484	sequence.
9485	(noce_convert_multiple_sets): Create two sequences and use the less
9486	expensive one.
9487
94882022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
9489
9490	* rtl.h (struct rtx_comparison): New struct that holds an rtx
9491	comparison.
9492	* config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
9493	single parameters.
9494	(rs6000_emit_swsqrt): Likewise.
9495	* expmed.cc (expand_sdiv_pow2): Likewise.
9496	(emit_store_flag): Likewise.
9497	* expr.cc (expand_cond_expr_using_cmove): Likewise.
9498	(expand_expr_real_2): Likewise.
9499	* ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
9500	parameters.
9501	* optabs.cc (emit_conditional_move_1): New function.
9502	(expand_doubleword_shift_condmove): Use struct.
9503	(emit_conditional_move): Use struct and allow to call directly
9504	without going through preparation steps.
9505	* optabs.h (emit_conditional_move): Use struct.
9506
95072022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
9508
9509	* ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
9510	(noce_process_if_block): Use potential costs.
9511
95122022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
9513
9514	* ifcvt.cc (noce_convert_multiple_sets): Allow constants.
9515	(bb_ok_for_noce_convert_multiple_sets): Likewise.
9516
95172022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
9518
9519	* ifcvt.cc (need_cmov_or_rewire): New function.
9520	(noce_convert_multiple_sets): Call it.
9521
95222022-01-19  David Malcolm  <dmalcolm@redhat.com>
9523
9524	* attribs.cc (attribute_c_tests): Rename to...
9525	(attribs_cc_tests): ...this.
9526	* bitmap.cc (bitmap_c_tests): Rename to...
9527	(bitmap_cc_tests): ...this.
9528	* cgraph.cc (cgraph_c_finalize): Rename to...
9529	(cgraph_cc_finalize): ...this.
9530	(cgraph_c_tests): Rename to...
9531	(cgraph_cc_tests): ...this.
9532	* cgraph.h (cgraph_c_finalize): Rename to...
9533	(cgraph_cc_finalize): ...this.
9534	(cgraphunit_c_finalize): Rename to...
9535	(cgraphunit_cc_finalize): ...this.
9536	* cgraphunit.cc (cgraphunit_c_finalize): Rename to...
9537	(cgraphunit_cc_finalize): ...this.
9538	* convert.cc (convert_c_tests): Rename to...
9539	(convert_cc_tests): ...this.
9540	* dbgcnt.cc (dbgcnt_c_tests): Rename to...
9541	(dbgcnt_cc_tests): ...this.
9542	* diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
9543	(diagnostic_show_locus_cc_tests): ...this.
9544	* diagnostic.cc (diagnostic_c_tests): Rename to...
9545	(diagnostic_cc_tests): ...this.
9546	* dumpfile.cc (dumpfile_c_tests): Rename to...
9547	(dumpfile_cc_tests): ...this.
9548	* dwarf2out.cc (dwarf2out_c_finalize): Rename to...
9549	(dwarf2out_cc_finalize): ...this.
9550	* dwarf2out.h (dwarf2out_c_finalize): Rename to...
9551	(dwarf2out_cc_finalize): ...this.
9552	* edit-context.cc (edit_context_c_tests): Rename to...
9553	(edit_context_cc_tests): ...this.
9554	* et-forest.cc (et_forest_c_tests): Rename to...
9555	(et_forest_cc_tests): ...this.
9556	* fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
9557	(fibonacci_heap_cc_tests): ...this.
9558	* fold-const.cc (fold_const_c_tests): Rename to...
9559	(fold_const_cc_tests): ...this.
9560	* function-tests.cc (function_tests_c_tests): Rename to...
9561	(function_tests_cc_tests): ...this.
9562	* gcse.cc (gcse_c_finalize): Rename to...
9563	(gcse_cc_finalize): ...this.
9564	* gcse.h (gcse_c_finalize): Rename to...
9565	(gcse_cc_finalize): ...this.
9566	* ggc-tests.cc (ggc_tests_c_tests): Rename to...
9567	(ggc_tests_cc_tests): ...this.
9568	* gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
9569	(store_merging_cc_tests): ...this.
9570	* gimple.cc (gimple_c_tests): Rename to...
9571	(gimple_cc_tests): ...this.
9572	* hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
9573	(hash_map_tests_cc_tests): ...this.
9574	* hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
9575	(hash_set_tests_cc_tests): ...this.
9576	* input.cc (input_c_tests): Rename to...
9577	(input_cc_tests): ...this.
9578	* ipa-cp.cc (ipa_cp_c_finalize): Rename to...
9579	(ipa_cp_cc_finalize): ...this.
9580	* ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
9581	(ipa_fnsummary_cc_finalize): ...this.
9582	* ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
9583	(ipa_fnsummary_cc_finalize): ...this.
9584	* ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
9585	(ipa_modref_tree_cc_tests): ...this.
9586	* ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
9587	* ipa-modref.cc (ipa_modref_c_finalize): Rename to...
9588	(ipa_modref_cc_finalize): ...this.
9589	* ipa-modref.h (ipa_modref_c_finalize): Rename to...
9590	(ipa_modref_cc_finalize): ...this.
9591	* ipa-prop.h (ipa_cp_c_finalize): Rename to...
9592	(ipa_cp_cc_finalize): ...this.
9593	* ipa-reference.cc (ipa_reference_c_finalize): Rename to...
9594	(ipa_reference_cc_finalize): ...this.
9595	* ipa-reference.h (ipa_reference_c_finalize): Rename to...
9596	(ipa_reference_cc_finalize): ...this.
9597	* ira-costs.cc (ira_costs_c_finalize): Rename to...
9598	(ira_costs_cc_finalize): ...this.
9599	* ira.h (ira_costs_c_finalize): Rename to...
9600	(ira_costs_cc_finalize): ...this.
9601	* opt-suggestions.cc (opt_proposer_c_tests): Rename to...
9602	(opt_suggestions_cc_tests): ...this.
9603	* opts.cc (opts_c_tests): Rename to...
9604	(opts_cc_tests): ...this.
9605	* predict.cc (predict_c_tests): Rename to...
9606	(predict_cc_tests): ...this.
9607	* pretty-print.cc (pretty_print_c_tests): Rename to...
9608	(pretty_print_cc_tests): ...this.
9609	* read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
9610	(read_rtl_function_cc_tests): ...this.
9611	* rtl-tests.cc (rtl_tests_c_tests): Rename to...
9612	(rtl_tests_cc_tests): ...this.
9613	* sbitmap.cc (sbitmap_c_tests): Rename to...
9614	(sbitmap_cc_tests): ...this.
9615	* selftest-run-tests.cc (selftest::run_tests): Update calls for
9616	_c_ to _cc_ function renamings; fix names of attribs and
9617	opt-suggestions tests.
9618	* selftest.cc (selftest_c_tests): Rename to...
9619	(selftest_cc_tests): ...this.
9620	* selftest.h (attribute_c_tests): Rename to...
9621	(attribs_cc_tests): ...this.
9622	(bitmap_c_tests): Rename to...
9623	(bitmap_cc_tests): ...this.
9624	(cgraph_c_tests): Rename to...
9625	(cgraph_cc_tests): ...this.
9626	(convert_c_tests): Rename to...
9627	(convert_cc_tests): ...this.
9628	(diagnostic_c_tests): Rename to...
9629	(diagnostic_cc_tests): ...this.
9630	(diagnostic_show_locus_c_tests): Rename to...
9631	(diagnostic_show_locus_cc_tests): ...this.
9632	(dumpfile_c_tests): Rename to...
9633	(dumpfile_cc_tests): ...this.
9634	(edit_context_c_tests): Rename to...
9635	(edit_context_cc_tests): ...this.
9636	(et_forest_c_tests): Rename to...
9637	(et_forest_cc_tests): ...this.
9638	(fibonacci_heap_c_tests): Rename to...
9639	(fibonacci_heap_cc_tests): ...this.
9640	(fold_const_c_tests): Rename to...
9641	(fold_const_cc_tests): ...this.
9642	(function_tests_c_tests): Rename to...
9643	(function_tests_cc_tests): ...this.
9644	(ggc_tests_c_tests): Rename to...
9645	(ggc_tests_cc_tests): ...this.
9646	(gimple_c_tests): Rename to...
9647	(gimple_cc_tests): ...this.
9648	(hash_map_tests_c_tests): Rename to...
9649	(hash_map_tests_cc_tests): ...this.
9650	(hash_set_tests_c_tests): Rename to...
9651	(hash_set_tests_cc_tests): ...this.
9652	(input_c_tests): Rename to...
9653	(input_cc_tests): ...this.
9654	(opts_c_tests): Rename to...
9655	(opts_cc_tests): ...this.
9656	(predict_c_tests): Rename to...
9657	(predict_cc_tests): ...this.
9658	(pretty_print_c_tests): Rename to...
9659	(pretty_print_cc_tests): ...this.
9660	(read_rtl_function_c_tests): Rename to...
9661	(read_rtl_function_cc_tests): ...this.
9662	(rtl_tests_c_tests): Rename to...
9663	(rtl_tests_cc_tests): ...this.
9664	(sbitmap_c_tests): Rename to...
9665	(sbitmap_cc_tests): ...this.
9666	(selftest_c_tests): Rename to...
9667	(selftest_cc_tests): ...this.
9668	(simplify_rtx_c_tests): Rename to...
9669	(simplify_rtx_cc_tests): ...this.
9670	(spellcheck_c_tests): Rename to...
9671	(spellcheck_cc_tests): ...this.
9672	(spellcheck_tree_c_tests): Rename to...
9673	(spellcheck_tree_cc_tests): ...this.
9674	(sreal_c_tests): Rename to...
9675	(sreal_cc_tests): ...this.
9676	(store_merging_c_tests): Rename to...
9677	(store_merging_cc_tests): ...this.
9678	(tree_c_tests): Rename to...
9679	(tree_cc_tests): ...this.
9680	(tree_cfg_c_tests): Rename to...
9681	(tree_cfg_cc_tests): ...this.
9682	(typed_splay_tree_c_tests): Rename to...
9683	(typed_splay_tree_cc_tests): ...this.
9684	(vec_c_tests): Rename to...
9685	(vec_cc_tests): ...this.
9686	(vec_perm_indices_c_tests): Rename to...
9687	(vec_perm_indices_cc_tests): ..this.
9688	(opt_proposer_c_tests): Rename to...
9689	(opt_suggestions_cc_tests): ...this.
9690	(dbgcnt_c_tests): Rename to...
9691	(dbgcnt_cc_tests): ...this.
9692	(ipa_modref_tree_c_tests): Rename to...
9693	(ipa_modref_tree_cc_tests): ...this.
9694	* simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
9695	(simplify_rtx_cc_tests): ...this.
9696	* spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
9697	(spellcheck_tree_cc_tests): ...this.
9698	* spellcheck.cc (spellcheck_c_tests): Rename to...
9699	(spellcheck_cc_tests): ...this.
9700	* sreal.cc (sreal_c_tests): Rename to...
9701	(sreal_cc_tests): ...this.
9702	* toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
9703	function renamings.
9704	* tree-cfg.cc (tree_cfg_c_tests): Rename to...
9705	(tree_cfg_cc_tests): ...this.
9706	* tree.cc (tree_c_tests): Rename to...
9707	(tree_cc_tests): ...this.
9708	* typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
9709	(typed_splay_tree_cc_tests): ...this.
9710	* vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
9711	(vec_perm_indices_cc_tests): ...this.
9712	* vec.cc (vec_c_tests): Rename to...
9713	(vec_cc_tests): ...this.
9714
97152022-01-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9716
9717	PR tree-optimization/103997
9718	* tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
9719	vectorization.
9720
97212022-01-19  Jakub Jelinek  <jakub@redhat.com>
9722
9723	PR middle-end/102860
9724	* match.pd (x %[fl] y -> x % y): New simplification for
9725	unsigned integral types.
9726	* optabs-tree.cc (optab_for_tree_code): Return unknown_optab
9727	for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
9728
97292022-01-19  Richard Biener  <rguenther@suse.de>
9730
9731	PR tree-optimization/104112
9732	* tree-vect-loop.cc (vect_find_reusable_accumulator): Check
9733	for required intermediate vector types.
9734
97352022-01-19  Jakub Jelinek  <jakub@redhat.com>
9736
9737	* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
9738
97392022-01-19  Martin Liska  <mliska@suse.cz>
9740
9741	* configure.ac: Remove -Wno-error=format-diag.
9742	* configure: Regenerate.
9743
97442022-01-19  Martin Liska  <mliska@suse.cz>
9745
9746	* config/riscv/riscv.cc (riscv_handle_type_attribute):
9747	Update one -Wformat-diag string in warning message.
9748
97492022-01-19  Jakub Jelinek  <jakub@redhat.com>
9750
9751	PR middle-end/104103
9752	* gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
9753	.ASAN_MARK calls.
9754
97552022-01-19  Jakub Jelinek  <jakub@redhat.com>
9756
9757	PR c++/89074
9758	* fold-const.cc (address_compare): Consider different STRING_CSTs
9759	with the same lengths that memcmp the same as equal, not different.
9760
97612022-01-19  Jakub Jelinek  <jakub@redhat.com>
9762
9763	* config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
9764	{%0}.
9765
97662022-01-19  Martin Liska  <mliska@suse.cz>
9767	    Thomas Schwinge  <thomas@codesourcery.com>
9768
9769	* config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
9770	warning messages.
9771
97722022-01-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9773
9774	PR target/104090
9775	* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
9776	rs6000_cpu.
9777
97782022-01-19  Jakub Jelinek  <jakub@redhat.com>
9779
9780	PR target/104104
9781	* config/i386/sse.md
9782	(<avx512>_<complexopname>_<mode><maskc_name><round_name>,
9783	avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
9784	avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
9785	avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
9786	avx512dq_rangep<mode><mask_name><round_saeonly_name>,
9787	avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
9788	<avx512>_getmant<mode><mask_name><round_saeonly_name>,
9789	avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
9790	Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
9791
97922022-01-19  Martin Sebor  <msebor@redhat.com>
9793
9794	PR middle-end/104069
9795	* gimple-ssa-warn-access.cc (pointers_related_p): Return false for
9796	an unknown result as documented.
9797
97982022-01-18  Andrew Pinski  <apinski@marvell.com>
9799
9800	* ipa-split.cc (visit_bb): Fix comment before the
9801	warning/error attribute checking code.
9802
98032022-01-18  David Faust  <david.faust@oracle.com>
9804
9805	* config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
9806	for base strtab offset yet as it may change.
9807	(output_asm_btfext_core_reloc): Do so here instead.
9808	(output_btfext_core_sections): Likewise.
9809
98102022-01-18  David Faust  <david.faust@oracle.com>
9811
9812	* config/bpf/coreout.cc (output_btfext_header): Account for
9813	4-byte record size in core_relo_len.
9814	(output_btfext_core_sections): Only write record size once.
9815	* config/bpf/coreout.h (btf_ext_section_header): Delete unused
9816	member.
9817
98182022-01-18  Maciej W. Rozycki  <macro@embecosm.com>
9819
9820	* common/config/riscv/riscv-common.cc
9821	(riscv_subset_list::parse_multiletter_ext): Move pointer
9822	arithmetic ahead of `free'.
9823
98242022-01-18  Jason Merrill  <jason@redhat.com>
9825
9826	PR c++/104007
9827	* gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
9828	context.
9829
98302022-01-18  Sandra Loosemore  <sandra@codesourcery.com>
9831
9832	PR middle-end/103163
9833	* emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
9834	(init_emit_once): ...not here.
9835
98362022-01-18  Martin Liska  <mliska@suse.cz>
9837
9838	* collect2.cc (scan_libraries): Fix -Wformat-diag issues.
9839	* config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
9840	* config/arc/arc.md: Likewise.
9841	* config/avr/avr.cc (avr_section_type_flags): Likewise.
9842	* config/bfin/bfin.cc (bfin_option_override): Likewise.
9843	(bfin_handle_longcall_attribute): Likewise.
9844	* config/cris/cris.h (FUNCTION_PROFILER): Likewise.
9845	* config/frv/frv.cc (frv_expand_builtin): Likewise.
9846	* config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
9847	* config/iq2000/iq2000.cc (save_restore_insns): Likewise.
9848	(iq2000_print_operand_address): Likewise.
9849	(iq2000_print_operand): Likewise.
9850	* config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
9851	(m32c_pragma_address): Likewise.
9852	* config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
9853	* config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
9854	(mips_set_compression_mode): Likewise.
9855	* config/mmix/mmix.cc (mmix_function_profiler): Likewise.
9856	(mmix_print_operand): Likewise.
9857	(mmix_output_shiftvalue_op_from_str): Likewise.
9858	(mmix_output_shifted_value): Likewise.
9859	* config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
9860	* config/msp430/msp430.cc (msp430_option_override): Likewise.
9861	(msp430_attr): Likewise.
9862	(msp430_expand_delay_cycles): Likewise.
9863	(msp430_expand_builtin): Likewise.
9864	* config/rs6000/aix73.h: Likewise.
9865	* config/rs6000/rtems.h (INVALID_64BIT): Likewise.
9866	* config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
9867	(valid_psw_flag): Likewise.
9868	* config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
9869	* config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
9870	(xstormy16_expand_builtin_va_start): Likewise.
9871	(xstormy16_handle_below100_attribute): Likewise.
9872
98732022-01-18  Martin Liska  <mliska@suse.cz>
9874
9875	* config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
9876	warning.
9877	(vms_pragma_standard): Likewise.
9878	(vms_pragma_extern_prefix): Likewise.
9879
98802022-01-18  Martin Liska  <mliska@suse.cz>
9881
9882	* config/xtensa/xtensa.cc (print_operand): Fix warnings.
9883	(print_operand_address): Likewise.
9884	(xtensa_multibss_section_type_flags): Likewise.
9885
98862022-01-18  Martin Liska  <mliska@suse.cz>
9887
9888	* config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
9889	wording of an error message.
9890
98912022-01-18  Martin Liska  <mliska@suse.cz>
9892
9893	* config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
9894	warning.
9895	(ghs_pragma_section): Likewise.
9896	(ghs_pragma_interrupt): Likewise.
9897	(ghs_pragma_starttda): Likewise.
9898	(ghs_pragma_startsda): Likewise.
9899	(ghs_pragma_startzda): Likewise.
9900	(ghs_pragma_endtda): Likewise.
9901	(ghs_pragma_endsda): Likewise.
9902	(ghs_pragma_endzda): Likewise.
9903
99042022-01-18  Martin Liska  <mliska@suse.cz>
9905
9906	* config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
9907	Fix warnings.
9908	* config/nds32/nds32-intrinsic.md: Likewise.
9909	* config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
9910	* config/nds32/nds32.cc (nds32_print_operand): Likewise.
9911	(nds32_insert_attributes): Likewise.
9912
99132022-01-18  Martin Liska  <mliska@suse.cz>
9914
9915	* config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
9916	keyword.
9917	* config/nvptx/nvptx.md: Remove trailing dot.
9918
99192022-01-18  Martin Liska  <mliska@suse.cz>
9920
9921	* common/config/riscv/riscv-common.cc (riscv_subset_list::add):
9922	Wrap keywords with quotes and remove trailing dots.
9923	(riscv_subset_list::parsing_subset_version): Likewise.
9924	(riscv_subset_list::parse_std_ext): Likewise.
9925	(riscv_subset_list::parse_multiletter_ext): Likewise.
9926	* config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
9927
99282022-01-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9929
9930	* tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
9931	argument suggested_unroll_factor.
9932	(vect_analyze_loop_costing): Likewise.
9933	(_loop_vec_info::_loop_vec_info): Initialize new member
9934	suggested_unroll_factor.
9935	(vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
9936	main loop use partial vectors.
9937	(vect_analyze_loop_2): Pass and use new argument
9938	suggested_unroll_factor.
9939	(vect_analyze_loop_1): Change to intialize local
9940	suggested_unroll_factor and use it.
9941	(vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
9942	* tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
9943	suggested_unroll_factor.
9944	(vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
9945	(vector_costs::suggested_unroll_factor): New getter function.
9946	(finish_cost): Set return argument suggested_unroll_factor.
9947
99482022-01-18  Andrew MacLeod  <amacleod@redhat.com>
9949
9950	PR tree-optimization/104038
9951	* doc/invoke.texi (relation-block-limit): New.
9952	* params.opt (relation-block-limit): New.
9953	* value-relation.cc (dom_oracle::register_relation): Check for NULL
9954	record before invoking transitive registery.
9955	(dom_oracle::set_one_relation): Check limit before creating record.
9956	(dom_oracle::register_transitives): Stop when no record created.
9957	* value-relation.h (relation_chain_head::m_num_relations): New.
9958
99592022-01-18  Richard Biener  <rguenther@suse.de>
9960
9961	PR ipa/103989
9962	* ipa-inline.cc (inline_small_functions): Do not enqueue call
9963	edges originating in functions compiled with -Og.
9964
99652022-01-18  Richard Biener  <rguenther@suse.de>
9966
9967	PR ipa/103989
9968	* passes.def (pass_all_optimizations_g): Remove pass_modref
9969	and pass_local_pure_const.
9970
99712022-01-18  Martin Liska  <mliska@suse.cz>
9972
9973	* config/s390/s390.cc: Fix -Wformat-diag warnings.
9974
99752022-01-18  Martin Liska  <mliska@suse.cz>
9976
9977	* config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
9978	keyword in quotes.
9979	(s390_resolve_overloaded_builtin): Remove trailing dot.
9980	* config/s390/s390.cc (s390_const_operand_ok): Use - for range.
9981	(s390_expand_builtin): Remove trailing dot.
9982	(s390_emit_prologue): Likewise, use semicolon.
9983	(s390_option_override_internal): Update keyword.
9984	* varasm.cc (do_assemble_alias): Wrap keyword in quotes.
9985
99862022-01-18  Martin Liska  <mliska@suse.cz>
9987
9988	* config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
9989	keywords and use %qs instead of %<%s%>.
9990
99912022-01-18  Richard Biener  <rguenther@suse.de>
9992
9993	PR tree-optimization/103987
9994	* tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
9995	query with a pointer check.
9996
99972022-01-18  Richard Sandiford  <richard.sandiford@arm.com>
9998
9999	PR target/104005
10000	* config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
10001	When using MEM_EXPR, require the base to be a decl.
10002
100032022-01-18  Richard Biener  <rguenther@suse.de>
10004
10005	* cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
10006	avoid padding.
10007	* function.h (struct function): Likewise.
10008
100092022-01-18  Arnaud Charlet  <charlet@adacore.com>
10010
10011	* doc/install.texi: Update prerequisites for GNAT
10012
100132022-01-18  Andrew Pinski  <apinski@marvell.com>
10014
10015	PR tree-optimization/101941
10016	* ipa-split.cc (visit_bb): Disallow function calls where
10017	the function has either error or warning attribute.
10018
100192022-01-18  Richard Biener  <rguenther@suse.de>
10020
10021	PR tree-optimization/104064
10022	* tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
10023	DR_INIT fits in a signed HWI, represent the difference from the
10024	first DR in unsigned.
10025
100262022-01-17  Martin Liska  <mliska@suse.cz>
10027
10028	* Makefile.in: Rename .c names to .cc.
10029	* config.gcc: Likewise.
10030	* configure: Regenerate. Likewise.
10031	* configure.ac: Likewise.
10032	* gengtype.cc (set_gc_used): Likewise.
10033	(source_dot_c_frul): Likewise.
10034	(source_dot_cc_frul): Likewise.
10035	(struct file_rule_st): Likewise.
10036	(close_output_files): Likewise.
10037	* config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
10038
100392022-01-17  Martin Liska  <mliska@suse.cz>
10040
10041	* Makefile.in: Rename .c names to .cc.
10042	* alias.h: Likewise.
10043	* asan.cc: Likewise.
10044	* auto-profile.h: Likewise.
10045	* basic-block.h (struct basic_block_d): Likewise.
10046	* btfout.cc: Likewise.
10047	* builtins.cc (expand_builtin_longjmp): Likewise.
10048	(validate_arg): Likewise.
10049	(access_ref::offset_bounded): Likewise.
10050	* caller-save.cc (reg_restore_code): Likewise.
10051	(setup_save_areas): Likewise.
10052	* calls.cc (initialize_argument_information): Likewise.
10053	(expand_call): Likewise.
10054	(emit_library_call_value_1): Likewise.
10055	* cfg-flags.def (RTL): Likewise.
10056	(SIBCALL): Likewise.
10057	(CAN_FALLTHRU): Likewise.
10058	* cfganal.cc (post_order_compute): Likewise.
10059	* cfgcleanup.cc (try_simplify_condjump): Likewise.
10060	(merge_blocks_move_predecessor_nojumps): Likewise.
10061	(merge_blocks_move_successor_nojumps): Likewise.
10062	(merge_blocks_move): Likewise.
10063	(old_insns_match_p): Likewise.
10064	(try_crossjump_bb): Likewise.
10065	* cfgexpand.cc (expand_gimple_stmt): Likewise.
10066	* cfghooks.cc (split_block_before_cond_jump): Likewise.
10067	(profile_record_check_consistency): Likewise.
10068	* cfghooks.h: Likewise.
10069	* cfgrtl.cc (pass_free_cfg::execute): Likewise.
10070	(rtl_can_merge_blocks): Likewise.
10071	(try_redirect_by_replacing_jump): Likewise.
10072	(make_pass_outof_cfg_layout_mode): Likewise.
10073	(cfg_layout_can_merge_blocks_p): Likewise.
10074	* cgraph.cc (release_function_body): Likewise.
10075	(cgraph_node::get_fun): Likewise.
10076	* cgraph.h (struct cgraph_node): Likewise.
10077	(asmname_hasher::equal): Likewise.
10078	(cgraph_inline_failed_type): Likewise.
10079	(thunk_adjust): Likewise.
10080	(dump_callgraph_transformation): Likewise.
10081	(record_references_in_initializer): Likewise.
10082	(ipa_discover_variable_flags): Likewise.
10083	* cgraphclones.cc (GTY): Likewise.
10084	* cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
10085	* collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
10086	* collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
10087	* collect2.cc (maybe_run_lto_and_relink): Likewise.
10088	* combine-stack-adj.cc: Likewise.
10089	* combine.cc (setup_incoming_promotions): Likewise.
10090	(combine_simplify_rtx): Likewise.
10091	(count_rtxs): Likewise.
10092	* common.opt: Likewise.
10093	* common/config/aarch64/aarch64-common.cc: Likewise.
10094	* common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
10095	* common/config/avr/avr-common.cc: Likewise.
10096	* common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
10097	* conditions.h: Likewise.
10098	* config.gcc: Likewise.
10099	* config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
10100	* config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
10101	(aarch64_get_extension_string_for_isa_flags): Likewise.
10102	* config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
10103	* config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
10104	(aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
10105	(aarch64_option_valid_attribute_p): Likewise.
10106	(aarch64_short_vector_p): Likewise.
10107	(aarch64_float_const_representable_p): Likewise.
10108	* config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
10109	(ASM_OUTPUT_POOL_EPILOGUE): Likewise.
10110	(GTY): Likewise.
10111	* config/aarch64/cortex-a57-fma-steering.cc: Likewise.
10112	* config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
10113	* config/aarch64/t-aarch64: Likewise.
10114	* config/aarch64/x-aarch64: Likewise.
10115	* config/aarch64/x-darwin: Likewise.
10116	* config/alpha/alpha-protos.h: Likewise.
10117	* config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
10118	* config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
10119	(enum reg_class): Likewise.
10120	* config/alpha/alpha.md: Likewise.
10121	* config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
10122	* config/alpha/x-alpha: Likewise.
10123	* config/arc/arc-protos.h (arc_eh_uses): Likewise.
10124	* config/arc/arc.cc (ARC_OPT): Likewise.
10125	(arc_ccfsm_advance): Likewise.
10126	(arc_arg_partial_bytes): Likewise.
10127	(conditionalize_nonjump): Likewise.
10128	* config/arc/arc.md: Likewise.
10129	* config/arc/builtins.def: Likewise.
10130	* config/arc/t-arc: Likewise.
10131	* config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
10132	(arm_pragma_target_parse): Likewise.
10133	* config/arm/arm-protos.h (save_restore_target_globals): Likewise.
10134	(arm_cpu_cpp_builtins): Likewise.
10135	* config/arm/arm.cc (vfp3_const_double_index): Likewise.
10136	(shift_op): Likewise.
10137	(thumb2_final_prescan_insn): Likewise.
10138	(arm_final_prescan_insn): Likewise.
10139	(arm_asm_output_labelref): Likewise.
10140	(arm_small_register_classes_for_mode_p): Likewise.
10141	* config/arm/arm.h: Likewise.
10142	* config/arm/arm.md: Likewise.
10143	* config/arm/driver-arm.cc: Likewise.
10144	* config/arm/symbian.h: Likewise.
10145	* config/arm/t-arm: Likewise.
10146	* config/arm/thumb1.md: Likewise.
10147	* config/arm/x-arm: Likewise.
10148	* config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
10149	* config/avr/avr-fixed.md: Likewise.
10150	* config/avr/avr-log.cc (avr_log_vadump): Likewise.
10151	* config/avr/avr-mcus.def: Likewise.
10152	* config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
10153	* config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
10154	* config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
10155	* config/avr/avr.cc (avr_option_override): Likewise.
10156	(avr_build_builtin_va_list): Likewise.
10157	(avr_mode_dependent_address_p): Likewise.
10158	(avr_function_arg_advance): Likewise.
10159	(avr_asm_output_aligned_decl_common): Likewise.
10160	* config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
10161	(SUPPORTS_INIT_PRIORITY): Likewise.
10162	* config/avr/avr.md: Likewise.
10163	* config/avr/builtins.def: Likewise.
10164	* config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
10165	* config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
10166	(main): Likewise.
10167	* config/avr/t-avr: Likewise.
10168	* config/bfin/bfin.cc (frame_related_constant_load): Likewise.
10169	* config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
10170	* config/bpf/bpf.h (enum reg_class): Likewise.
10171	* config/bpf/t-bpf: Likewise.
10172	* config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
10173	* config/cr16/cr16-protos.h: Likewise.
10174	* config/cris/cris.cc (cris_address_cost): Likewise.
10175	(cris_side_effect_mode_ok): Likewise.
10176	(cris_init_machine_status): Likewise.
10177	(cris_emit_movem_store): Likewise.
10178	* config/cris/cris.h (INDEX_REG_CLASS): Likewise.
10179	(enum reg_class): Likewise.
10180	(struct cum_args): Likewise.
10181	* config/cris/cris.opt: Likewise.
10182	* config/cris/sync.md: Likewise.
10183	* config/csky/csky.cc (csky_expand_prologue): Likewise.
10184	* config/darwin-c.cc: Likewise.
10185	* config/darwin-f.cc: Likewise.
10186	* config/darwin-sections.def (zobj_const_section): Likewise.
10187	* config/darwin.cc (output_objc_section_asm_op): Likewise.
10188	(fprintf): Likewise.
10189	* config/darwin.h (GTY): Likewise.
10190	* config/elfos.h: Likewise.
10191	* config/epiphany/epiphany-sched.md: Likewise.
10192	* config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
10193	* config/epiphany/epiphany.h (GTY): Likewise.
10194	(NO_FUNCTION_CSE): Likewise.
10195	* config/epiphany/mode-switch-use.cc: Likewise.
10196	* config/epiphany/predicates.md: Likewise.
10197	* config/epiphany/t-epiphany: Likewise.
10198	* config/fr30/fr30-protos.h: Likewise.
10199	* config/frv/frv-protos.h: Likewise.
10200	* config/frv/frv.cc (TLS_BIAS): Likewise.
10201	* config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
10202	* config/ft32/ft32-protos.h: Likewise.
10203	* config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
10204	* config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
10205	* config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
10206	* config/gcn/t-gcn-hsa: Likewise.
10207	* config/gcn/t-omp-device: Likewise.
10208	* config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
10209	(same_cmp_following_p): Likewise.
10210	* config/h8300/h8300.cc (F): Likewise.
10211	* config/h8300/h8300.h (struct cum_arg): Likewise.
10212	(BRANCH_COST): Likewise.
10213	* config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
10214	* config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
10215	* config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
10216	* config/i386/driver-i386.cc (detect_caches_intel): Likewise.
10217	* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
10218	* config/i386/i386-c.cc (ix86_target_macros): Likewise.
10219	* config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
10220	* config/i386/i386-options.cc (ix86_set_func_type): Likewise.
10221	* config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
10222	(ix86_register_pragmas): Likewise.
10223	(ix86_d_has_stdcall_convention): Likewise.
10224	(i386_pe_seh_init_sections): Likewise.
10225	* config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
10226	(ix86_function_value_regno_p): Likewise.
10227	(ix86_compute_frame_layout): Likewise.
10228	(legitimize_pe_coff_symbol): Likewise.
10229	(output_pic_addr_const): Likewise.
10230	* config/i386/i386.h (defined): Likewise.
10231	(host_detect_local_cpu): Likewise.
10232	(CONSTANT_ADDRESS_P): Likewise.
10233	(DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
10234	(struct machine_frame_state): Likewise.
10235	* config/i386/i386.md: Likewise.
10236	* config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
10237	* config/i386/mmx.md: Likewise.
10238	* config/i386/sse.md: Likewise.
10239	* config/i386/t-cygming: Likewise.
10240	* config/i386/t-djgpp: Likewise.
10241	* config/i386/t-gnu-property: Likewise.
10242	* config/i386/t-i386: Likewise.
10243	* config/i386/t-intelmic: Likewise.
10244	* config/i386/t-omp-device: Likewise.
10245	* config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
10246	(i386_pe_adjust_class_at_definition): Likewise.
10247	* config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
10248	(i386_pe_mangle_decl_assembler_name): Likewise.
10249	(i386_pe_encode_section_info): Likewise.
10250	* config/i386/x-cygwin: Likewise.
10251	* config/i386/x-darwin: Likewise.
10252	* config/i386/x-i386: Likewise.
10253	* config/i386/x-mingw32: Likewise.
10254	* config/i386/x86-tune-sched-core.cc: Likewise.
10255	* config/i386/x86-tune.def: Likewise.
10256	* config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
10257	* config/ia64/freebsd.h: Likewise.
10258	* config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
10259	* config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
10260	* config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
10261	(ia64_secondary_reload_class): Likewise.
10262	(bundling): Likewise.
10263	* config/ia64/ia64.h: Likewise.
10264	* config/ia64/ia64.md: Likewise.
10265	* config/ia64/predicates.md: Likewise.
10266	* config/ia64/sysv4.h: Likewise.
10267	* config/ia64/t-ia64: Likewise.
10268	* config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
10269	* config/iq2000/iq2000.md: Likewise.
10270	* config/linux.h (TARGET_HAS_BIONIC): Likewise.
10271	(if): Likewise.
10272	* config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
10273	* config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
10274	* config/m32c/t-m32c: Likewise.
10275	* config/m32r/m32r-protos.h: Likewise.
10276	* config/m32r/m32r.cc (m32r_print_operand): Likewise.
10277	* config/m32r/m32r.h: Likewise.
10278	* config/m32r/m32r.md: Likewise.
10279	* config/m68k/m68k-isas.def: Likewise.
10280	* config/m68k/m68k-microarchs.def: Likewise.
10281	* config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
10282	(m68k_epilogue_uses): Likewise.
10283	* config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
10284	(m68k_sched_adjust_cost): Likewise.
10285	(m68k_sched_md_init): Likewise.
10286	* config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
10287	(enum m68k_function_kind): Likewise.
10288	* config/m68k/m68k.md: Likewise.
10289	* config/m68k/m68kemb.h: Likewise.
10290	* config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
10291	* config/mcore/mcore-protos.h: Likewise.
10292	* config/mcore/mcore.cc (mcore_expand_insv): Likewise.
10293	(mcore_expand_prolog): Likewise.
10294	* config/mcore/mcore.h (TARGET_MCORE): Likewise.
10295	* config/mcore/mcore.md: Likewise.
10296	* config/microblaze/microblaze-protos.h: Likewise.
10297	* config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
10298	(microblaze_function_prologue): Likewise.
10299	(microblaze_function_epilogue): Likewise.
10300	(microblaze_select_section): Likewise.
10301	(microblaze_asm_output_mi_thunk): Likewise.
10302	(microblaze_eh_return): Likewise.
10303	* config/microblaze/microblaze.h: Likewise.
10304	* config/microblaze/microblaze.md: Likewise.
10305	* config/microblaze/t-microblaze: Likewise.
10306	* config/mips/driver-native.cc: Likewise.
10307	* config/mips/loongson2ef.md: Likewise.
10308	* config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
10309	* config/mips/mips.cc (mips_rtx_costs): Likewise.
10310	(mips_output_filename): Likewise.
10311	(mips_output_function_prologue): Likewise.
10312	(mips_output_function_epilogue): Likewise.
10313	(mips_output_mi_thunk): Likewise.
10314	* config/mips/mips.h: Likewise.
10315	* config/mips/mips.md: Likewise.
10316	* config/mips/t-mips: Likewise.
10317	* config/mips/x-native: Likewise.
10318	* config/mmix/mmix-protos.h: Likewise.
10319	* config/mmix/mmix.cc (mmix_option_override): Likewise.
10320	(mmix_dbx_register_number): Likewise.
10321	(mmix_expand_prologue): Likewise.
10322	* config/mmix/mmix.h: Likewise.
10323	* config/mmix/mmix.md: Likewise.
10324	* config/mmix/predicates.md: Likewise.
10325	* config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
10326	(mn10300_legitimate_pic_operand_p): Likewise.
10327	* config/mn10300/mn10300.h (enum reg_class): Likewise.
10328	(NO_FUNCTION_CSE): Likewise.
10329	* config/moxie/moxie-protos.h: Likewise.
10330	* config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
10331	* config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
10332	* config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
10333	(msp430_incoming_return_addr_rtx): Likewise.
10334	* config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
10335	* config/msp430/t-msp430: Likewise.
10336	* config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
10337	(nds32_rtx_costs_size_prefer): Likewise.
10338	(nds32_init_rtx_costs): Likewise.
10339	* config/nds32/nds32-doubleword.md: Likewise.
10340	* config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
10341	(nds32_builtin_decl): Likewise.
10342	* config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
10343	(enum nds32_isr_nested_type): Likewise.
10344	(enum reg_class): Likewise.
10345	* config/nds32/predicates.md: Likewise.
10346	* config/nds32/t-nds32: Likewise.
10347	* config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
10348	* config/nvptx/nvptx-protos.h: Likewise.
10349	* config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
10350	* config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
10351	* config/nvptx/t-nvptx: Likewise.
10352	* config/nvptx/t-omp-device: Likewise.
10353	* config/pa/elf.h: Likewise.
10354	* config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
10355	* config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
10356	* config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
10357	* config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
10358	(pa_legitimize_reload_address): Likewise.
10359	(pa_can_use_return_insn): Likewise.
10360	* config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
10361	(som_output_text_section_asm_op): Likewise.
10362	* config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
10363	* config/pa/pa.md: Likewise.
10364	* config/pa/som.h: Likewise.
10365	* config/pa/t-pa: Likewise.
10366	* config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
10367	* config/pdp11/pdp11.h: Likewise.
10368	* config/pdp11/pdp11.md: Likewise.
10369	* config/pdp11/t-pdp11: Likewise.
10370	* config/pru/pru.md: Likewise.
10371	* config/pru/t-pru: Likewise.
10372	* config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
10373	(riscv_gpr_save_operation_p): Likewise.
10374	(riscv_d_register_target_info): Likewise.
10375	(riscv_init_builtins): Likewise.
10376	* config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
10377	* config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
10378	* config/riscv/t-riscv: Likewise.
10379	* config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
10380	* config/rl78/t-rl78: Likewise.
10381	* config/rs6000/aix.h: Likewise.
10382	* config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
10383	* config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
10384	* config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
10385	* config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
10386	* config/rs6000/driver-rs6000.cc: Likewise.
10387	* config/rs6000/freebsd.h: Likewise.
10388	* config/rs6000/freebsd64.h: Likewise.
10389	* config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
10390	* config/rs6000/rbtree.cc: Likewise.
10391	* config/rs6000/rbtree.h: Likewise.
10392	* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
10393	* config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
10394	(rs6000_expand_builtin): Likewise.
10395	(rs6000_init_builtins): Likewise.
10396	* config/rs6000/rs6000-cpus.def: Likewise.
10397	* config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
10398	* config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
10399	(quad_address_offset_p): Likewise.
10400	* config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
10401	(rs6000_emit_epilogue): Likewise.
10402	* config/rs6000/rs6000-overload.def: Likewise.
10403	* config/rs6000/rs6000-p8swap.cc: Likewise.
10404	* config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
10405	(rs6000_const_f32_to_i32): Likewise.
10406	* config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
10407	(rs6000_debug_legitimize_address): Likewise.
10408	(rs6000_mode_dependent_address): Likewise.
10409	(rs6000_adjust_priority): Likewise.
10410	(rs6000_c_mode_for_suffix): Likewise.
10411	* config/rs6000/rs6000.h (defined): Likewise.
10412	(LONG_DOUBLE_TYPE_SIZE): Likewise.
10413	* config/rs6000/rs6000.md: Likewise.
10414	* config/rs6000/sysv4.h: Likewise.
10415	* config/rs6000/t-linux: Likewise.
10416	* config/rs6000/t-linux64: Likewise.
10417	* config/rs6000/t-rs6000: Likewise.
10418	* config/rs6000/x-darwin: Likewise.
10419	* config/rs6000/x-darwin64: Likewise.
10420	* config/rs6000/x-rs6000: Likewise.
10421	* config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
10422	* config/rx/rx.cc (rx_expand_builtin): Likewise.
10423	* config/s390/constraints.md: Likewise.
10424	* config/s390/driver-native.cc: Likewise.
10425	* config/s390/htmxlintrin.h: Likewise.
10426	* config/s390/s390-builtins.def (B_DEF): Likewise.
10427	(OB_DEF_VAR): Likewise.
10428	* config/s390/s390-builtins.h: Likewise.
10429	* config/s390/s390-c.cc: Likewise.
10430	* config/s390/s390-opts.h: Likewise.
10431	* config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
10432	(s390_register_target_pragmas): Likewise.
10433	* config/s390/s390.cc (s390_init_builtins): Likewise.
10434	(s390_expand_plus_operand): Likewise.
10435	(s390_expand_atomic): Likewise.
10436	(s390_valid_target_attribute_inner_p): Likewise.
10437	* config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
10438	* config/s390/s390.md: Likewise.
10439	* config/s390/t-s390: Likewise.
10440	* config/s390/vx-builtins.md: Likewise.
10441	* config/s390/x-native: Likewise.
10442	* config/sh/divtab-sh4-300.cc (main): Likewise.
10443	* config/sh/divtab-sh4.cc (main): Likewise.
10444	* config/sh/divtab.cc (main): Likewise.
10445	* config/sh/elf.h: Likewise.
10446	* config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
10447	* config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
10448	(sh_struct_value_rtx): Likewise.
10449	(sh_remove_reg_dead_or_unused_notes): Likewise.
10450	* config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
10451	* config/sh/t-sh: Likewise.
10452	* config/sol2-protos.h (solaris_override_options): Likewise.
10453	* config/sol2.h: Likewise.
10454	* config/sparc/driver-sparc.cc: Likewise.
10455	* config/sparc/freebsd.h: Likewise.
10456	* config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
10457	* config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
10458	(sparc_asan_shadow_offset): Likewise.
10459	* config/sparc/sparc.h: Likewise.
10460	* config/sparc/sparc.md: Likewise.
10461	* config/sparc/t-sparc: Likewise.
10462	* config/sparc/x-sparc: Likewise.
10463	* config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
10464	* config/t-darwin: Likewise.
10465	* config/t-dragonfly: Likewise.
10466	* config/t-freebsd: Likewise.
10467	* config/t-glibc: Likewise.
10468	* config/t-linux: Likewise.
10469	* config/t-netbsd: Likewise.
10470	* config/t-openbsd: Likewise.
10471	* config/t-pnt16-warn: Likewise.
10472	* config/t-sol2: Likewise.
10473	* config/t-vxworks: Likewise.
10474	* config/t-winnt: Likewise.
10475	* config/tilegx/t-tilegx: Likewise.
10476	* config/tilegx/tilegx-c.cc: Likewise.
10477	* config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
10478	* config/tilegx/tilegx.md: Likewise.
10479	* config/tilepro/t-tilepro: Likewise.
10480	* config/tilepro/tilepro-c.cc: Likewise.
10481	* config/v850/t-v850: Likewise.
10482	* config/v850/v850-protos.h: Likewise.
10483	* config/v850/v850.cc (F): Likewise.
10484	* config/v850/v850.h (enum reg_class): Likewise.
10485	(SLOW_BYTE_ACCESS): Likewise.
10486	* config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
10487	* config/vax/vax.h (enum reg_class): Likewise.
10488	* config/vax/vax.md: Likewise.
10489	* config/visium/visium.cc (visium_legitimate_address_p): Likewise.
10490	* config/visium/visium.h: Likewise.
10491	* config/vms/t-vms: Likewise.
10492	* config/vms/vms-crtlmap.map: Likewise.
10493	* config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
10494	* config/vx-common.h: Likewise.
10495	* config/x-darwin: Likewise.
10496	* config/x-hpux: Likewise.
10497	* config/x-linux: Likewise.
10498	* config/x-netbsd: Likewise.
10499	* config/x-openbsd: Likewise.
10500	* config/x-solaris: Likewise.
10501	* config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
10502	* config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
10503	* config/xtensa/xtensa.h: Likewise.
10504	* configure.ac: Likewise.
10505	* context.cc: Likewise.
10506	* convert.h: Likewise.
10507	* coretypes.h: Likewise.
10508	* coverage.cc: Likewise.
10509	* coverage.h: Likewise.
10510	* cppdefault.h (struct default_include): Likewise.
10511	* cprop.cc (local_cprop_pass): Likewise.
10512	(one_cprop_pass): Likewise.
10513	* cse.cc (hash_rtx_cb): Likewise.
10514	(fold_rtx): Likewise.
10515	* ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
10516	* data-streamer.h (bp_unpack_var_len_int): Likewise.
10517	(streamer_write_widest_int): Likewise.
10518	* dbgcnt.def: Likewise.
10519	* dbxout.cc (dbxout_early_global_decl): Likewise.
10520	(dbxout_common_check): Likewise.
10521	* dbxout.h: Likewise.
10522	* debug.h (struct gcc_debug_hooks): Likewise.
10523	(dump_go_spec_init): Likewise.
10524	* df-core.cc: Likewise.
10525	* df-scan.cc (df_insn_info_delete): Likewise.
10526	(df_insn_delete): Likewise.
10527	* df.h (debug_df_chain): Likewise.
10528	(can_move_insns_across): Likewise.
10529	* dfp.cc (decimal_from_binary): Likewise.
10530	* diagnostic-color.cc: Likewise.
10531	* diagnostic-event-id.h: Likewise.
10532	* diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
10533	* diagnostic.cc (bt_callback): Likewise.
10534	(num_digits): Likewise.
10535	* doc/avr-mmcu.texi: Likewise.
10536	* doc/cfg.texi: Likewise.
10537	* doc/contrib.texi: Likewise.
10538	* doc/cppinternals.texi: Likewise.
10539	* doc/extend.texi: Likewise.
10540	* doc/generic.texi: Likewise.
10541	* doc/gimple.texi: Likewise.
10542	* doc/gty.texi: Likewise.
10543	* doc/invoke.texi: Likewise.
10544	* doc/loop.texi: Likewise.
10545	* doc/lto.texi: Likewise.
10546	* doc/match-and-simplify.texi: Likewise.
10547	* doc/md.texi: Likewise.
10548	* doc/optinfo.texi: Likewise.
10549	* doc/options.texi: Likewise.
10550	* doc/passes.texi: Likewise.
10551	* doc/plugins.texi: Likewise.
10552	* doc/rtl.texi: Likewise.
10553	* doc/sourcebuild.texi: Likewise.
10554	* doc/tm.texi: Likewise.
10555	* doc/tm.texi.in: Likewise.
10556	* doc/tree-ssa.texi: Likewise.
10557	* dojump.cc (do_jump): Likewise.
10558	* dojump.h: Likewise.
10559	* dumpfile.cc (test_impl_location): Likewise.
10560	(test_capture_of_dump_calls): Likewise.
10561	* dumpfile.h (enum dump_kind): Likewise.
10562	(class dump_location_t): Likewise.
10563	(dump_enabled_p): Likewise.
10564	(enable_rtl_dump_file): Likewise.
10565	(dump_combine_total_stats): Likewise.
10566	* dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
10567	* dwarf2ctf.h (ctf_debug_finish): Likewise.
10568	* dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
10569	(struct loc_descr_context): Likewise.
10570	(rtl_for_decl_location): Likewise.
10571	(gen_subprogram_die): Likewise.
10572	(gen_label_die): Likewise.
10573	(is_trivial_indirect_ref): Likewise.
10574	(dwarf2out_late_global_decl): Likewise.
10575	(dwarf_file_hasher::hash): Likewise.
10576	(dwarf2out_end_source_file): Likewise.
10577	(dwarf2out_define): Likewise.
10578	(dwarf2out_early_finish): Likewise.
10579	* dwarf2out.h (struct dw_fde_node): Likewise.
10580	(struct dw_discr_list_node): Likewise.
10581	(output_loc_sequence_raw): Likewise.
10582	* emit-rtl.cc (gen_raw_REG): Likewise.
10583	(maybe_set_max_label_num): Likewise.
10584	* emit-rtl.h (struct rtl_data): Likewise.
10585	* errors.cc (internal_error): Likewise.
10586	(trim_filename): Likewise.
10587	* et-forest.cc: Likewise.
10588	* except.cc (init_eh_for_function): Likewise.
10589	* explow.cc (promote_ssa_mode): Likewise.
10590	(get_dynamic_stack_size): Likewise.
10591	* explow.h: Likewise.
10592	* expmed.h: Likewise.
10593	* expr.cc (safe_from_p): Likewise.
10594	(expand_expr_real_2): Likewise.
10595	(expand_expr_real_1): Likewise.
10596	* file-prefix-map.cc (remap_filename): Likewise.
10597	* final.cc (app_enable): Likewise.
10598	(make_pass_compute_alignments): Likewise.
10599	(final_scan_insn_1): Likewise.
10600	(final_scan_insn): Likewise.
10601	* fixed-value.h (fixed_from_string): Likewise.
10602	* flag-types.h (NO_DEBUG): Likewise.
10603	(DWARF2_DEBUG): Likewise.
10604	(VMS_DEBUG): Likewise.
10605	(BTF_DEBUG): Likewise.
10606	(enum ctf_debug_info_levels): Likewise.
10607	* fold-const.cc (const_binop): Likewise.
10608	(fold_binary_loc): Likewise.
10609	(fold_checksum_tree): Likewise.
10610	* fp-test.cc: Likewise.
10611	* function.cc (expand_function_end): Likewise.
10612	* function.h (struct function): Likewise.
10613	* fwprop.cc (should_replace_address): Likewise.
10614	* gcc-main.cc: Likewise.
10615	* gcc-rich-location.h (class gcc_rich_location): Likewise.
10616	* gcc-symtab.h: Likewise.
10617	* gcc.cc (MIN_FATAL_STATUS): Likewise.
10618	(driver_handle_option): Likewise.
10619	(quote_spec_arg): Likewise.
10620	(driver::finalize): Likewise.
10621	* gcc.h (set_input): Likewise.
10622	* gcov-dump.cc: Likewise.
10623	* gcov.cc (solve_flow_graph): Likewise.
10624	* gcse-common.cc: Likewise.
10625	* gcse.cc (make_pass_rtl_hoist): Likewise.
10626	* genattr-common.cc: Likewise.
10627	* genattrtab.cc (min_fn): Likewise.
10628	(write_const_num_delay_slots): Likewise.
10629	* genautomata.cc: Likewise.
10630	* genconditions.cc (write_one_condition): Likewise.
10631	* genconstants.cc: Likewise.
10632	* genemit.cc (gen_exp): Likewise.
10633	* generic-match-head.cc: Likewise.
10634	* genextract.cc: Likewise.
10635	* gengenrtl.cc (always_void_p): Likewise.
10636	* gengtype-parse.cc (gtymarker_opt): Likewise.
10637	* gengtype-state.cc (state_writer::state_writer): Likewise.
10638	(write_state_trailer): Likewise.
10639	(equals_type_number): Likewise.
10640	(read_state): Likewise.
10641	* gengtype.cc (open_base_files): Likewise.
10642	(struct file_rule_st): Likewise.
10643	(header_dot_h_frul): Likewise.
10644	* gengtype.h: Likewise.
10645	* genmatch.cc (main): Likewise.
10646	* genmddeps.cc: Likewise.
10647	* genmodes.cc (emit_mode_inner): Likewise.
10648	(emit_mode_unit_size): Likewise.
10649	* genpeep.cc (gen_peephole): Likewise.
10650	* genpreds.cc (write_tm_preds_h): Likewise.
10651	* genrecog.cc (validate_pattern): Likewise.
10652	(write_header): Likewise.
10653	(main): Likewise.
10654	* gensupport.cc (change_subst_attribute): Likewise.
10655	(traverse_c_tests): Likewise.
10656	(add_predicate): Likewise.
10657	(init_predicate_table): Likewise.
10658	* gensupport.h (struct optab_pattern): Likewise.
10659	(get_num_insn_codes): Likewise.
10660	(maybe_eval_c_test): Likewise.
10661	(struct pred_data): Likewise.
10662	* ggc-internal.h: Likewise.
10663	* gimple-fold.cc (maybe_fold_reference): Likewise.
10664	(get_range_strlen_tree): Likewise.
10665	* gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
10666	* gimple-low.cc: Likewise.
10667	* gimple-match-head.cc (directly_supported_p): Likewise.
10668	* gimple-pretty-print.h: Likewise.
10669	* gimple-ssa-sprintf.cc (format_percent): Likewise.
10670	(adjust_range_for_overflow): Likewise.
10671	* gimple-streamer.h: Likewise.
10672	* gimple.h (struct GTY): Likewise.
10673	(is_gimple_resx): Likewise.
10674	* gimplify.cc (gimplify_expr): Likewise.
10675	(gimplify_init_constructor): Likewise.
10676	(omp_construct_selector_matches): Likewise.
10677	(gimplify_omp_target_update): Likewise.
10678	(gimplify_omp_ordered): Likewise.
10679	(gimplify_va_arg_expr): Likewise.
10680	* graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
10681	* haifa-sched.cc (increase_insn_priority): Likewise.
10682	(try_ready): Likewise.
10683	(sched_create_recovery_edges): Likewise.
10684	* ifcvt.cc (find_if_case_1): Likewise.
10685	(find_if_case_2): Likewise.
10686	* inchash.h: Likewise.
10687	* incpath.cc (add_env_var_paths): Likewise.
10688	* input.cc (dump_location_info): Likewise.
10689	(assert_loceq): Likewise.
10690	(test_lexer_string_locations_concatenation_1): Likewise.
10691	(test_lexer_string_locations_concatenation_2): Likewise.
10692	(test_lexer_string_locations_concatenation_3): Likewise.
10693	* input.h (BUILTINS_LOCATION): Likewise.
10694	(class string_concat_db): Likewise.
10695	* internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
10696	(expand_LOOP_VECTORIZED): Likewise.
10697	* ipa-cp.cc (make_pass_ipa_cp): Likewise.
10698	* ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
10699	(ipa_fn_summary_t::duplicate): Likewise.
10700	(make_pass_ipa_fn_summary): Likewise.
10701	* ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
10702	* ipa-free-lang-data.cc (fld_simplified_type): Likewise.
10703	(free_lang_data_in_decl): Likewise.
10704	* ipa-inline.cc (compute_inlined_call_time): Likewise.
10705	(inline_always_inline_functions): Likewise.
10706	* ipa-inline.h (free_growth_caches): Likewise.
10707	(inline_account_function_p): Likewise.
10708	* ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
10709	(modref_eaf_analysis::analyze_ssa_name): Likewise.
10710	* ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
10711	(ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
10712	* ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
10713	* ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
10714	(unadjusted_ptr_and_unit_offset): Likewise.
10715	* ipa-reference.cc (make_pass_ipa_reference): Likewise.
10716	* ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
10717	* ipa-split.cc (consider_split): Likewise.
10718	* ipa-sra.cc (isra_read_node_info): Likewise.
10719	* ipa-utils.h (struct ipa_dfs_info): Likewise.
10720	(recursive_call_p): Likewise.
10721	(ipa_make_function_pure): Likewise.
10722	* ira-build.cc (ira_create_allocno): Likewise.
10723	(ira_flattening): Likewise.
10724	* ira-color.cc (do_coloring): Likewise.
10725	(update_curr_costs): Likewise.
10726	* ira-conflicts.cc (process_regs_for_copy): Likewise.
10727	* ira-int.h (struct ira_emit_data): Likewise.
10728	(ira_prohibited_mode_move_regs): Likewise.
10729	(ira_get_dup_out_num): Likewise.
10730	(ira_destroy): Likewise.
10731	(ira_tune_allocno_costs): Likewise.
10732	(ira_implicitly_set_insn_hard_regs): Likewise.
10733	(ira_build_conflicts): Likewise.
10734	(ira_color): Likewise.
10735	* ira-lives.cc (process_bb_node_lives): Likewise.
10736	* ira.cc (class ira_spilled_reg_stack_slot): Likewise.
10737	(setup_uniform_class_p): Likewise.
10738	(def_dominates_uses): Likewise.
10739	* ira.h (ira_nullify_asm_goto): Likewise.
10740	* langhooks.cc (lhd_post_options): Likewise.
10741	* langhooks.h (class substring_loc): Likewise.
10742	(struct lang_hooks_for_tree_inlining): Likewise.
10743	(struct lang_hooks_for_types): Likewise.
10744	(struct lang_hooks): Likewise.
10745	* libfuncs.h (synchronize_libfunc): Likewise.
10746	* loop-doloop.cc (doloop_condition_get): Likewise.
10747	* loop-init.cc (fix_loop_structure): Likewise.
10748	* loop-invariant.cc: Likewise.
10749	* lower-subreg.h: Likewise.
10750	* lra-constraints.cc (curr_insn_transform): Likewise.
10751	* lra-int.h (struct lra_insn_reg): Likewise.
10752	(lra_undo_inheritance): Likewise.
10753	(lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
10754	(lra_split_hard_reg_for): Likewise.
10755	(lra_coalesce): Likewise.
10756	(lra_final_code_change): Likewise.
10757	* lra-spills.cc (lra_final_code_change): Likewise.
10758	* lra.cc (lra_process_new_insns): Likewise.
10759	* lto-compress.h (struct lto_compression_stream): Likewise.
10760	* lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
10761	(write_symbol): Likewise.
10762	* lto-streamer.h (enum LTO_tags): Likewise.
10763	(lto_value_range_error): Likewise.
10764	(lto_append_block): Likewise.
10765	(lto_streamer_hooks_init): Likewise.
10766	(stream_read_tree_ref): Likewise.
10767	(lto_prepare_function_for_streaming): Likewise.
10768	(select_what_to_stream): Likewise.
10769	(omp_lto_input_declare_variant_alt): Likewise.
10770	(cl_optimization_stream_in): Likewise.
10771	* lto-wrapper.cc (append_compiler_options): Likewise.
10772	* machmode.def: Likewise.
10773	* machmode.h (struct int_n_data_t): Likewise.
10774	* main.cc (main): Likewise.
10775	* match.pd: Likewise.
10776	* omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
10777	(BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
10778	* omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
10779	(make_pass_expand_omp_ssa): Likewise.
10780	* omp-low.cc (struct omp_context): Likewise.
10781	(struct omp_taskcopy_context): Likewise.
10782	(lower_omp): Likewise.
10783	* omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
10784	(mask_name): Likewise.
10785	(omp_sese_dump_pars): Likewise.
10786	(worker_single_simple): Likewise.
10787	* omp-offload.cc (omp_finish_file): Likewise.
10788	(execute_oacc_loop_designation): Likewise.
10789	* optabs-query.cc (lshift_cheap_p): Likewise.
10790	* optc-gen.awk: Likewise.
10791	* optc-save-gen.awk: Likewise.
10792	* optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
10793	* opts-common.cc: Likewise.
10794	* output.h (app_enable): Likewise.
10795	(output_operand_lossage): Likewise.
10796	(insn_current_reference_address): Likewise.
10797	(get_insn_template): Likewise.
10798	(output_quoted_string): Likewise.
10799	* pass_manager.h (struct register_pass_info): Likewise.
10800	* plugin.cc: Likewise.
10801	* plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
10802	* plugin.h (invoke_plugin_callbacks): Likewise.
10803	* pointer-query.cc (handle_mem_ref): Likewise.
10804	* postreload-gcse.cc (alloc_mem): Likewise.
10805	* predict.h (enum prediction): Likewise.
10806	(add_reg_br_prob_note): Likewise.
10807	* prefix.h: Likewise.
10808	* profile.h (get_working_sets): Likewise.
10809	* read-md.cc: Likewise.
10810	* read-md.h (struct mapping): Likewise.
10811	(class md_reader): Likewise.
10812	(class noop_reader): Likewise.
10813	* read-rtl-function.cc (function_reader::create_function): Likewise.
10814	(function_reader::extra_parsing_for_operand_code_0): Likewise.
10815	* read-rtl.cc (initialize_iterators): Likewise.
10816	* real.cc: Likewise.
10817	* real.h (struct real_value): Likewise.
10818	(format_helper::format_helper): Likewise.
10819	(real_hash): Likewise.
10820	(real_can_shorten_arithmetic): Likewise.
10821	* recog.cc (struct target_recog): Likewise.
10822	(offsettable_nonstrict_memref_p): Likewise.
10823	(constrain_operands): Likewise.
10824	* recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
10825	(which_op_alt): Likewise.
10826	(struct insn_gen_fn): Likewise.
10827	* reg-notes.def (REG_NOTE): Likewise.
10828	* reg-stack.cc: Likewise.
10829	* regs.h (reg_is_parm_p): Likewise.
10830	* regset.h: Likewise.
10831	* reload.cc (push_reload): Likewise.
10832	(find_reloads): Likewise.
10833	(find_reloads_address_1): Likewise.
10834	(find_replacement): Likewise.
10835	(refers_to_regno_for_reload_p): Likewise.
10836	(refers_to_mem_for_reload_p): Likewise.
10837	* reload.h (push_reload): Likewise.
10838	(deallocate_reload_reg): Likewise.
10839	* reload1.cc (emit_input_reload_insns): Likewise.
10840	* reorg.cc (relax_delay_slots): Likewise.
10841	* rtl.def (UNKNOWN): Likewise.
10842	(SEQUENCE): Likewise.
10843	(BARRIER): Likewise.
10844	(ASM_OPERANDS): Likewise.
10845	(EQ_ATTR_ALT): Likewise.
10846	* rtl.h (struct GTY): Likewise.
10847	(LABEL_NAME): Likewise.
10848	(LABEL_ALT_ENTRY_P): Likewise.
10849	(SUBREG_BYTE): Likewise.
10850	(get_stack_check_protect): Likewise.
10851	(dump_rtx_statistics): Likewise.
10852	(unwrap_const_vec_duplicate): Likewise.
10853	(subreg_promoted_mode): Likewise.
10854	(gen_lowpart_common): Likewise.
10855	(operand_subword): Likewise.
10856	(immed_wide_int_const): Likewise.
10857	(decide_function_section): Likewise.
10858	(active_insn_p): Likewise.
10859	(delete_related_insns): Likewise.
10860	(try_split): Likewise.
10861	(val_signbit_known_clear_p): Likewise.
10862	(simplifiable_subregs): Likewise.
10863	(set_insn_deleted): Likewise.
10864	(subreg_get_info): Likewise.
10865	(remove_free_EXPR_LIST_node): Likewise.
10866	(finish_subregs_of_mode): Likewise.
10867	(get_mem_attrs): Likewise.
10868	(lookup_constant_def): Likewise.
10869	(rtx_to_tree_code): Likewise.
10870	(hash_rtx): Likewise.
10871	(condjump_in_parallel_p): Likewise.
10872	(validate_subreg): Likewise.
10873	(make_compound_operation): Likewise.
10874	(schedule_ebbs): Likewise.
10875	(print_inline_rtx): Likewise.
10876	(fixup_args_size_notes): Likewise.
10877	(expand_dec): Likewise.
10878	(prepare_copy_insn): Likewise.
10879	(mark_elimination): Likewise.
10880	(valid_mode_changes_for_regno): Likewise.
10881	(make_debug_expr_from_rtl): Likewise.
10882	(delete_vta_debug_insns): Likewise.
10883	(simplify_using_condition): Likewise.
10884	(set_insn_locations): Likewise.
10885	(fatal_insn_not_found): Likewise.
10886	(word_register_operation_p): Likewise.
10887	* rtlanal.cc (get_call_fndecl): Likewise.
10888	(side_effects_p): Likewise.
10889	(subreg_nregs): Likewise.
10890	(rtx_cost): Likewise.
10891	(canonicalize_condition): Likewise.
10892	* rtlanal.h (rtx_properties::try_to_add_note): Likewise.
10893	* run-rtl-passes.cc (run_rtl_passes): Likewise.
10894	* sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
10895	* sched-deps.cc (add_dependence_1): Likewise.
10896	* sched-ebb.cc (begin_move_insn): Likewise.
10897	(add_deps_for_risky_insns): Likewise.
10898	(advance_target_bb): Likewise.
10899	* sched-int.h (reemit_notes): Likewise.
10900	(struct _haifa_insn_data): Likewise.
10901	(HID): Likewise.
10902	(DEP_CANCELLED): Likewise.
10903	(debug_ds): Likewise.
10904	(number_in_ready): Likewise.
10905	(schedule_ebbs_finish): Likewise.
10906	(find_modifiable_mems): Likewise.
10907	* sched-rgn.cc (debug_rgn_dependencies): Likewise.
10908	* sel-sched-dump.cc (dump_lv_set): Likewise.
10909	* sel-sched-dump.h: Likewise.
10910	* sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
10911	(setup_id_reg_sets): Likewise.
10912	(has_dependence_p): Likewise.
10913	(sel_num_cfg_preds_gt_1): Likewise.
10914	(bb_ends_ebb_p): Likewise.
10915	* sel-sched-ir.h (struct _list_node): Likewise.
10916	(struct idata_def): Likewise.
10917	(bb_next_bb): Likewise.
10918	* sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
10919	(choose_best_pseudo_reg): Likewise.
10920	(verify_target_availability): Likewise.
10921	(can_speculate_dep_p): Likewise.
10922	(sel_rank_for_schedule): Likewise.
10923	* selftest-run-tests.cc (selftest::run_tests): Likewise.
10924	* selftest.h (class auto_fix_quotes): Likewise.
10925	* shrink-wrap.cc (handle_simple_exit): Likewise.
10926	* shrink-wrap.h: Likewise.
10927	* simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
10928	(simplify_context::simplify_gen_vec_select): Likewise.
10929	* spellcheck-tree.h: Likewise.
10930	* spellcheck.h: Likewise.
10931	* statistics.h (struct function): Likewise.
10932	* stmt.cc (conditional_probability): Likewise.
10933	* stmt.h: Likewise.
10934	* stor-layout.h: Likewise.
10935	* streamer-hooks.h: Likewise.
10936	* stringpool.h: Likewise.
10937	* symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
10938	* target.def (HOOK_VECTOR_END): Likewise.
10939	(type.): Likewise.
10940	* target.h (union cumulative_args_t): Likewise.
10941	(by_pieces_ninsns): Likewise.
10942	(class predefined_function_abi): Likewise.
10943	* targhooks.cc (default_translate_mode_attribute): Likewise.
10944	* timevar.def: Likewise.
10945	* timevar.h (class timer): Likewise.
10946	* toplev.h (enable_rtl_dump_file): Likewise.
10947	* trans-mem.cc (collect_bb2reg): Likewise.
10948	* tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
10949	* tree-cfg.cc (remove_bb): Likewise.
10950	(verify_gimple_debug): Likewise.
10951	(remove_edge_and_dominated_blocks): Likewise.
10952	(push_fndecl): Likewise.
10953	* tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
10954	* tree-complex.cc (expand_complex_multiplication): Likewise.
10955	(expand_complex_div_straight): Likewise.
10956	* tree-core.h (enum tree_index): Likewise.
10957	(enum operand_equal_flag): Likewise.
10958	* tree-eh.cc (honor_protect_cleanup_actions): Likewise.
10959	* tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
10960	* tree-inline.cc (initialize_inlined_parameters): Likewise.
10961	* tree-inline.h (force_value_to_type): Likewise.
10962	* tree-nested.cc (get_chain_decl): Likewise.
10963	(walk_all_functions): Likewise.
10964	* tree-object-size.h: Likewise.
10965	* tree-outof-ssa.cc: Likewise.
10966	* tree-parloops.cc (create_parallel_loop): Likewise.
10967	* tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
10968	(dump_generic_node): Likewise.
10969	* tree-profile.cc (tree_profiling): Likewise.
10970	* tree-sra.cc (maybe_add_sra_candidate): Likewise.
10971	* tree-ssa-address.cc: Likewise.
10972	* tree-ssa-alias.cc: Likewise.
10973	* tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
10974	(dump_alias_stats): Likewise.
10975	* tree-ssa-ccp.cc: Likewise.
10976	* tree-ssa-coalesce.h: Likewise.
10977	* tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
10978	* tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
10979	* tree-ssa-loop-unswitch.cc: Likewise.
10980	* tree-ssa-math-opts.cc: Likewise.
10981	* tree-ssa-operands.cc (class operands_scanner): Likewise.
10982	* tree-ssa-pre.cc: Likewise.
10983	* tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
10984	(debug_range_entry): Likewise.
10985	* tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
10986	* tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
10987	* tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
10988	(equal_mem_array_ref_p): Likewise.
10989	* tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
10990	* tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
10991	* tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
10992	* tree-ssa-ter.h: Likewise.
10993	* tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
10994	* tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
10995	* tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
10996	(write_ts_block_tree_pointers): Likewise.
10997	* tree-streamer.h (struct streamer_tree_cache_d): Likewise.
10998	(streamer_read_tree_bitfields): Likewise.
10999	(streamer_write_integer_cst): Likewise.
11000	* tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
11001	(vect_synth_mult_by_constant): Likewise.
11002	* tree-vect-stmts.cc (vectorizable_operation): Likewise.
11003	* tree-vectorizer.cc: Likewise.
11004	* tree-vectorizer.h (class auto_purge_vect_location): Likewise.
11005	(vect_update_inits_of_drs): Likewise.
11006	(vect_get_mask_type_for_stmt): Likewise.
11007	(vect_rgroup_iv_might_wrap_p): Likewise.
11008	(cse_and_gimplify_to_preheader): Likewise.
11009	(vect_free_slp_tree): Likewise.
11010	(vect_pattern_recog): Likewise.
11011	(vect_stmt_dominates_stmt_p): Likewise.
11012	* tree.cc (initialize_tree_contains_struct): Likewise.
11013	(need_assembler_name_p): Likewise.
11014	(type_with_interoperable_signedness): Likewise.
11015	* tree.def (SWITCH_EXPR): Likewise.
11016	* tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
11017	(poly_int_tree_p): Likewise.
11018	(inlined_function_outer_scope_p): Likewise.
11019	(tree_code_for_canonical_type_merging): Likewise.
11020	* value-prof.cc: Likewise.
11021	* value-prof.h (get_nth_most_common_value): Likewise.
11022	(find_func_by_profile_id): Likewise.
11023	* value-range.cc (vrp_operand_equal_p): Likewise.
11024	* value-range.h: Likewise.
11025	* var-tracking.cc: Likewise.
11026	* varasm.cc (default_function_section): Likewise.
11027	(function_section_1): Likewise.
11028	(assemble_variable): Likewise.
11029	(handle_vtv_comdat_section): Likewise.
11030	* vec.h (struct vec_prefix): Likewise.
11031	* vmsdbgout.cc (full_name): Likewise.
11032	* vtable-verify.cc: Likewise.
11033	* vtable-verify.h (struct vtv_graph_node): Likewise.
11034	* xcoffout.cc: Likewise.
11035	* xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
11036
110372022-01-17  Martin Liska  <mliska@suse.cz>
11038
11039	* adjust-alignment.c: Moved to...
11040	* adjust-alignment.cc: ...here.
11041	* alias.c: Moved to...
11042	* alias.cc: ...here.
11043	* alloc-pool.c: Moved to...
11044	* alloc-pool.cc: ...here.
11045	* asan.c: Moved to...
11046	* asan.cc: ...here.
11047	* attribs.c: Moved to...
11048	* attribs.cc: ...here.
11049	* auto-inc-dec.c: Moved to...
11050	* auto-inc-dec.cc: ...here.
11051	* auto-profile.c: Moved to...
11052	* auto-profile.cc: ...here.
11053	* bb-reorder.c: Moved to...
11054	* bb-reorder.cc: ...here.
11055	* bitmap.c: Moved to...
11056	* bitmap.cc: ...here.
11057	* btfout.c: Moved to...
11058	* btfout.cc: ...here.
11059	* builtins.c: Moved to...
11060	* builtins.cc: ...here.
11061	* caller-save.c: Moved to...
11062	* caller-save.cc: ...here.
11063	* calls.c: Moved to...
11064	* calls.cc: ...here.
11065	* ccmp.c: Moved to...
11066	* ccmp.cc: ...here.
11067	* cfg.c: Moved to...
11068	* cfg.cc: ...here.
11069	* cfganal.c: Moved to...
11070	* cfganal.cc: ...here.
11071	* cfgbuild.c: Moved to...
11072	* cfgbuild.cc: ...here.
11073	* cfgcleanup.c: Moved to...
11074	* cfgcleanup.cc: ...here.
11075	* cfgexpand.c: Moved to...
11076	* cfgexpand.cc: ...here.
11077	* cfghooks.c: Moved to...
11078	* cfghooks.cc: ...here.
11079	* cfgloop.c: Moved to...
11080	* cfgloop.cc: ...here.
11081	* cfgloopanal.c: Moved to...
11082	* cfgloopanal.cc: ...here.
11083	* cfgloopmanip.c: Moved to...
11084	* cfgloopmanip.cc: ...here.
11085	* cfgrtl.c: Moved to...
11086	* cfgrtl.cc: ...here.
11087	* cgraph.c: Moved to...
11088	* cgraph.cc: ...here.
11089	* cgraphbuild.c: Moved to...
11090	* cgraphbuild.cc: ...here.
11091	* cgraphclones.c: Moved to...
11092	* cgraphclones.cc: ...here.
11093	* cgraphunit.c: Moved to...
11094	* cgraphunit.cc: ...here.
11095	* collect-utils.c: Moved to...
11096	* collect-utils.cc: ...here.
11097	* collect2-aix.c: Moved to...
11098	* collect2-aix.cc: ...here.
11099	* collect2.c: Moved to...
11100	* collect2.cc: ...here.
11101	* combine-stack-adj.c: Moved to...
11102	* combine-stack-adj.cc: ...here.
11103	* combine.c: Moved to...
11104	* combine.cc: ...here.
11105	* common/common-targhooks.c: Moved to...
11106	* common/common-targhooks.cc: ...here.
11107	* common/config/aarch64/aarch64-common.c: Moved to...
11108	* common/config/aarch64/aarch64-common.cc: ...here.
11109	* common/config/alpha/alpha-common.c: Moved to...
11110	* common/config/alpha/alpha-common.cc: ...here.
11111	* common/config/arc/arc-common.c: Moved to...
11112	* common/config/arc/arc-common.cc: ...here.
11113	* common/config/arm/arm-common.c: Moved to...
11114	* common/config/arm/arm-common.cc: ...here.
11115	* common/config/avr/avr-common.c: Moved to...
11116	* common/config/avr/avr-common.cc: ...here.
11117	* common/config/bfin/bfin-common.c: Moved to...
11118	* common/config/bfin/bfin-common.cc: ...here.
11119	* common/config/bpf/bpf-common.c: Moved to...
11120	* common/config/bpf/bpf-common.cc: ...here.
11121	* common/config/c6x/c6x-common.c: Moved to...
11122	* common/config/c6x/c6x-common.cc: ...here.
11123	* common/config/cr16/cr16-common.c: Moved to...
11124	* common/config/cr16/cr16-common.cc: ...here.
11125	* common/config/cris/cris-common.c: Moved to...
11126	* common/config/cris/cris-common.cc: ...here.
11127	* common/config/csky/csky-common.c: Moved to...
11128	* common/config/csky/csky-common.cc: ...here.
11129	* common/config/default-common.c: Moved to...
11130	* common/config/default-common.cc: ...here.
11131	* common/config/epiphany/epiphany-common.c: Moved to...
11132	* common/config/epiphany/epiphany-common.cc: ...here.
11133	* common/config/fr30/fr30-common.c: Moved to...
11134	* common/config/fr30/fr30-common.cc: ...here.
11135	* common/config/frv/frv-common.c: Moved to...
11136	* common/config/frv/frv-common.cc: ...here.
11137	* common/config/gcn/gcn-common.c: Moved to...
11138	* common/config/gcn/gcn-common.cc: ...here.
11139	* common/config/h8300/h8300-common.c: Moved to...
11140	* common/config/h8300/h8300-common.cc: ...here.
11141	* common/config/i386/i386-common.c: Moved to...
11142	* common/config/i386/i386-common.cc: ...here.
11143	* common/config/ia64/ia64-common.c: Moved to...
11144	* common/config/ia64/ia64-common.cc: ...here.
11145	* common/config/iq2000/iq2000-common.c: Moved to...
11146	* common/config/iq2000/iq2000-common.cc: ...here.
11147	* common/config/lm32/lm32-common.c: Moved to...
11148	* common/config/lm32/lm32-common.cc: ...here.
11149	* common/config/m32r/m32r-common.c: Moved to...
11150	* common/config/m32r/m32r-common.cc: ...here.
11151	* common/config/m68k/m68k-common.c: Moved to...
11152	* common/config/m68k/m68k-common.cc: ...here.
11153	* common/config/mcore/mcore-common.c: Moved to...
11154	* common/config/mcore/mcore-common.cc: ...here.
11155	* common/config/microblaze/microblaze-common.c: Moved to...
11156	* common/config/microblaze/microblaze-common.cc: ...here.
11157	* common/config/mips/mips-common.c: Moved to...
11158	* common/config/mips/mips-common.cc: ...here.
11159	* common/config/mmix/mmix-common.c: Moved to...
11160	* common/config/mmix/mmix-common.cc: ...here.
11161	* common/config/mn10300/mn10300-common.c: Moved to...
11162	* common/config/mn10300/mn10300-common.cc: ...here.
11163	* common/config/msp430/msp430-common.c: Moved to...
11164	* common/config/msp430/msp430-common.cc: ...here.
11165	* common/config/nds32/nds32-common.c: Moved to...
11166	* common/config/nds32/nds32-common.cc: ...here.
11167	* common/config/nios2/nios2-common.c: Moved to...
11168	* common/config/nios2/nios2-common.cc: ...here.
11169	* common/config/nvptx/nvptx-common.c: Moved to...
11170	* common/config/nvptx/nvptx-common.cc: ...here.
11171	* common/config/or1k/or1k-common.c: Moved to...
11172	* common/config/or1k/or1k-common.cc: ...here.
11173	* common/config/pa/pa-common.c: Moved to...
11174	* common/config/pa/pa-common.cc: ...here.
11175	* common/config/pdp11/pdp11-common.c: Moved to...
11176	* common/config/pdp11/pdp11-common.cc: ...here.
11177	* common/config/pru/pru-common.c: Moved to...
11178	* common/config/pru/pru-common.cc: ...here.
11179	* common/config/riscv/riscv-common.c: Moved to...
11180	* common/config/riscv/riscv-common.cc: ...here.
11181	* common/config/rs6000/rs6000-common.c: Moved to...
11182	* common/config/rs6000/rs6000-common.cc: ...here.
11183	* common/config/rx/rx-common.c: Moved to...
11184	* common/config/rx/rx-common.cc: ...here.
11185	* common/config/s390/s390-common.c: Moved to...
11186	* common/config/s390/s390-common.cc: ...here.
11187	* common/config/sh/sh-common.c: Moved to...
11188	* common/config/sh/sh-common.cc: ...here.
11189	* common/config/sparc/sparc-common.c: Moved to...
11190	* common/config/sparc/sparc-common.cc: ...here.
11191	* common/config/tilegx/tilegx-common.c: Moved to...
11192	* common/config/tilegx/tilegx-common.cc: ...here.
11193	* common/config/tilepro/tilepro-common.c: Moved to...
11194	* common/config/tilepro/tilepro-common.cc: ...here.
11195	* common/config/v850/v850-common.c: Moved to...
11196	* common/config/v850/v850-common.cc: ...here.
11197	* common/config/vax/vax-common.c: Moved to...
11198	* common/config/vax/vax-common.cc: ...here.
11199	* common/config/visium/visium-common.c: Moved to...
11200	* common/config/visium/visium-common.cc: ...here.
11201	* common/config/xstormy16/xstormy16-common.c: Moved to...
11202	* common/config/xstormy16/xstormy16-common.cc: ...here.
11203	* common/config/xtensa/xtensa-common.c: Moved to...
11204	* common/config/xtensa/xtensa-common.cc: ...here.
11205	* compare-elim.c: Moved to...
11206	* compare-elim.cc: ...here.
11207	* config/aarch64/aarch64-bti-insert.c: Moved to...
11208	* config/aarch64/aarch64-bti-insert.cc: ...here.
11209	* config/aarch64/aarch64-builtins.c: Moved to...
11210	* config/aarch64/aarch64-builtins.cc: ...here.
11211	* config/aarch64/aarch64-c.c: Moved to...
11212	* config/aarch64/aarch64-c.cc: ...here.
11213	* config/aarch64/aarch64-d.c: Moved to...
11214	* config/aarch64/aarch64-d.cc: ...here.
11215	* config/aarch64/aarch64.c: Moved to...
11216	* config/aarch64/aarch64.cc: ...here.
11217	* config/aarch64/cortex-a57-fma-steering.c: Moved to...
11218	* config/aarch64/cortex-a57-fma-steering.cc: ...here.
11219	* config/aarch64/driver-aarch64.c: Moved to...
11220	* config/aarch64/driver-aarch64.cc: ...here.
11221	* config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
11222	* config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
11223	* config/aarch64/host-aarch64-darwin.c: Moved to...
11224	* config/aarch64/host-aarch64-darwin.cc: ...here.
11225	* config/alpha/alpha.c: Moved to...
11226	* config/alpha/alpha.cc: ...here.
11227	* config/alpha/driver-alpha.c: Moved to...
11228	* config/alpha/driver-alpha.cc: ...here.
11229	* config/arc/arc-c.c: Moved to...
11230	* config/arc/arc-c.cc: ...here.
11231	* config/arc/arc.c: Moved to...
11232	* config/arc/arc.cc: ...here.
11233	* config/arc/driver-arc.c: Moved to...
11234	* config/arc/driver-arc.cc: ...here.
11235	* config/arm/aarch-common.c: Moved to...
11236	* config/arm/aarch-common.cc: ...here.
11237	* config/arm/arm-builtins.c: Moved to...
11238	* config/arm/arm-builtins.cc: ...here.
11239	* config/arm/arm-c.c: Moved to...
11240	* config/arm/arm-c.cc: ...here.
11241	* config/arm/arm-d.c: Moved to...
11242	* config/arm/arm-d.cc: ...here.
11243	* config/arm/arm.c: Moved to...
11244	* config/arm/arm.cc: ...here.
11245	* config/arm/driver-arm.c: Moved to...
11246	* config/arm/driver-arm.cc: ...here.
11247	* config/avr/avr-c.c: Moved to...
11248	* config/avr/avr-c.cc: ...here.
11249	* config/avr/avr-devices.c: Moved to...
11250	* config/avr/avr-devices.cc: ...here.
11251	* config/avr/avr-log.c: Moved to...
11252	* config/avr/avr-log.cc: ...here.
11253	* config/avr/avr.c: Moved to...
11254	* config/avr/avr.cc: ...here.
11255	* config/avr/driver-avr.c: Moved to...
11256	* config/avr/driver-avr.cc: ...here.
11257	* config/avr/gen-avr-mmcu-specs.c: Moved to...
11258	* config/avr/gen-avr-mmcu-specs.cc: ...here.
11259	* config/avr/gen-avr-mmcu-texi.c: Moved to...
11260	* config/avr/gen-avr-mmcu-texi.cc: ...here.
11261	* config/bfin/bfin.c: Moved to...
11262	* config/bfin/bfin.cc: ...here.
11263	* config/bpf/bpf.c: Moved to...
11264	* config/bpf/bpf.cc: ...here.
11265	* config/bpf/coreout.c: Moved to...
11266	* config/bpf/coreout.cc: ...here.
11267	* config/c6x/c6x.c: Moved to...
11268	* config/c6x/c6x.cc: ...here.
11269	* config/cr16/cr16.c: Moved to...
11270	* config/cr16/cr16.cc: ...here.
11271	* config/cris/cris.c: Moved to...
11272	* config/cris/cris.cc: ...here.
11273	* config/csky/csky.c: Moved to...
11274	* config/csky/csky.cc: ...here.
11275	* config/darwin-c.c: Moved to...
11276	* config/darwin-c.cc: ...here.
11277	* config/darwin-d.c: Moved to...
11278	* config/darwin-d.cc: ...here.
11279	* config/darwin-driver.c: Moved to...
11280	* config/darwin-driver.cc: ...here.
11281	* config/darwin-f.c: Moved to...
11282	* config/darwin-f.cc: ...here.
11283	* config/darwin.c: Moved to...
11284	* config/darwin.cc: ...here.
11285	* config/default-c.c: Moved to...
11286	* config/default-c.cc: ...here.
11287	* config/default-d.c: Moved to...
11288	* config/default-d.cc: ...here.
11289	* config/dragonfly-d.c: Moved to...
11290	* config/dragonfly-d.cc: ...here.
11291	* config/epiphany/epiphany.c: Moved to...
11292	* config/epiphany/epiphany.cc: ...here.
11293	* config/epiphany/mode-switch-use.c: Moved to...
11294	* config/epiphany/mode-switch-use.cc: ...here.
11295	* config/epiphany/resolve-sw-modes.c: Moved to...
11296	* config/epiphany/resolve-sw-modes.cc: ...here.
11297	* config/fr30/fr30.c: Moved to...
11298	* config/fr30/fr30.cc: ...here.
11299	* config/freebsd-d.c: Moved to...
11300	* config/freebsd-d.cc: ...here.
11301	* config/frv/frv.c: Moved to...
11302	* config/frv/frv.cc: ...here.
11303	* config/ft32/ft32.c: Moved to...
11304	* config/ft32/ft32.cc: ...here.
11305	* config/gcn/driver-gcn.c: Moved to...
11306	* config/gcn/driver-gcn.cc: ...here.
11307	* config/gcn/gcn-run.c: Moved to...
11308	* config/gcn/gcn-run.cc: ...here.
11309	* config/gcn/gcn-tree.c: Moved to...
11310	* config/gcn/gcn-tree.cc: ...here.
11311	* config/gcn/gcn.c: Moved to...
11312	* config/gcn/gcn.cc: ...here.
11313	* config/gcn/mkoffload.c: Moved to...
11314	* config/gcn/mkoffload.cc: ...here.
11315	* config/glibc-c.c: Moved to...
11316	* config/glibc-c.cc: ...here.
11317	* config/glibc-d.c: Moved to...
11318	* config/glibc-d.cc: ...here.
11319	* config/h8300/h8300.c: Moved to...
11320	* config/h8300/h8300.cc: ...here.
11321	* config/host-darwin.c: Moved to...
11322	* config/host-darwin.cc: ...here.
11323	* config/host-hpux.c: Moved to...
11324	* config/host-hpux.cc: ...here.
11325	* config/host-linux.c: Moved to...
11326	* config/host-linux.cc: ...here.
11327	* config/host-netbsd.c: Moved to...
11328	* config/host-netbsd.cc: ...here.
11329	* config/host-openbsd.c: Moved to...
11330	* config/host-openbsd.cc: ...here.
11331	* config/host-solaris.c: Moved to...
11332	* config/host-solaris.cc: ...here.
11333	* config/i386/djgpp.c: Moved to...
11334	* config/i386/djgpp.cc: ...here.
11335	* config/i386/driver-i386.c: Moved to...
11336	* config/i386/driver-i386.cc: ...here.
11337	* config/i386/driver-mingw32.c: Moved to...
11338	* config/i386/driver-mingw32.cc: ...here.
11339	* config/i386/gnu-property.c: Moved to...
11340	* config/i386/gnu-property.cc: ...here.
11341	* config/i386/host-cygwin.c: Moved to...
11342	* config/i386/host-cygwin.cc: ...here.
11343	* config/i386/host-i386-darwin.c: Moved to...
11344	* config/i386/host-i386-darwin.cc: ...here.
11345	* config/i386/host-mingw32.c: Moved to...
11346	* config/i386/host-mingw32.cc: ...here.
11347	* config/i386/i386-builtins.c: Moved to...
11348	* config/i386/i386-builtins.cc: ...here.
11349	* config/i386/i386-c.c: Moved to...
11350	* config/i386/i386-c.cc: ...here.
11351	* config/i386/i386-d.c: Moved to...
11352	* config/i386/i386-d.cc: ...here.
11353	* config/i386/i386-expand.c: Moved to...
11354	* config/i386/i386-expand.cc: ...here.
11355	* config/i386/i386-features.c: Moved to...
11356	* config/i386/i386-features.cc: ...here.
11357	* config/i386/i386-options.c: Moved to...
11358	* config/i386/i386-options.cc: ...here.
11359	* config/i386/i386.c: Moved to...
11360	* config/i386/i386.cc: ...here.
11361	* config/i386/intelmic-mkoffload.c: Moved to...
11362	* config/i386/intelmic-mkoffload.cc: ...here.
11363	* config/i386/msformat-c.c: Moved to...
11364	* config/i386/msformat-c.cc: ...here.
11365	* config/i386/winnt-cxx.c: Moved to...
11366	* config/i386/winnt-cxx.cc: ...here.
11367	* config/i386/winnt-d.c: Moved to...
11368	* config/i386/winnt-d.cc: ...here.
11369	* config/i386/winnt-stubs.c: Moved to...
11370	* config/i386/winnt-stubs.cc: ...here.
11371	* config/i386/winnt.c: Moved to...
11372	* config/i386/winnt.cc: ...here.
11373	* config/i386/x86-tune-sched-atom.c: Moved to...
11374	* config/i386/x86-tune-sched-atom.cc: ...here.
11375	* config/i386/x86-tune-sched-bd.c: Moved to...
11376	* config/i386/x86-tune-sched-bd.cc: ...here.
11377	* config/i386/x86-tune-sched-core.c: Moved to...
11378	* config/i386/x86-tune-sched-core.cc: ...here.
11379	* config/i386/x86-tune-sched.c: Moved to...
11380	* config/i386/x86-tune-sched.cc: ...here.
11381	* config/ia64/ia64-c.c: Moved to...
11382	* config/ia64/ia64-c.cc: ...here.
11383	* config/ia64/ia64.c: Moved to...
11384	* config/ia64/ia64.cc: ...here.
11385	* config/iq2000/iq2000.c: Moved to...
11386	* config/iq2000/iq2000.cc: ...here.
11387	* config/linux.c: Moved to...
11388	* config/linux.cc: ...here.
11389	* config/lm32/lm32.c: Moved to...
11390	* config/lm32/lm32.cc: ...here.
11391	* config/m32c/m32c-pragma.c: Moved to...
11392	* config/m32c/m32c-pragma.cc: ...here.
11393	* config/m32c/m32c.c: Moved to...
11394	* config/m32c/m32c.cc: ...here.
11395	* config/m32r/m32r.c: Moved to...
11396	* config/m32r/m32r.cc: ...here.
11397	* config/m68k/m68k.c: Moved to...
11398	* config/m68k/m68k.cc: ...here.
11399	* config/mcore/mcore.c: Moved to...
11400	* config/mcore/mcore.cc: ...here.
11401	* config/microblaze/microblaze-c.c: Moved to...
11402	* config/microblaze/microblaze-c.cc: ...here.
11403	* config/microblaze/microblaze.c: Moved to...
11404	* config/microblaze/microblaze.cc: ...here.
11405	* config/mips/driver-native.c: Moved to...
11406	* config/mips/driver-native.cc: ...here.
11407	* config/mips/frame-header-opt.c: Moved to...
11408	* config/mips/frame-header-opt.cc: ...here.
11409	* config/mips/mips-d.c: Moved to...
11410	* config/mips/mips-d.cc: ...here.
11411	* config/mips/mips.c: Moved to...
11412	* config/mips/mips.cc: ...here.
11413	* config/mmix/mmix.c: Moved to...
11414	* config/mmix/mmix.cc: ...here.
11415	* config/mn10300/mn10300.c: Moved to...
11416	* config/mn10300/mn10300.cc: ...here.
11417	* config/moxie/moxie.c: Moved to...
11418	* config/moxie/moxie.cc: ...here.
11419	* config/msp430/driver-msp430.c: Moved to...
11420	* config/msp430/driver-msp430.cc: ...here.
11421	* config/msp430/msp430-c.c: Moved to...
11422	* config/msp430/msp430-c.cc: ...here.
11423	* config/msp430/msp430-devices.c: Moved to...
11424	* config/msp430/msp430-devices.cc: ...here.
11425	* config/msp430/msp430.c: Moved to...
11426	* config/msp430/msp430.cc: ...here.
11427	* config/nds32/nds32-cost.c: Moved to...
11428	* config/nds32/nds32-cost.cc: ...here.
11429	* config/nds32/nds32-fp-as-gp.c: Moved to...
11430	* config/nds32/nds32-fp-as-gp.cc: ...here.
11431	* config/nds32/nds32-intrinsic.c: Moved to...
11432	* config/nds32/nds32-intrinsic.cc: ...here.
11433	* config/nds32/nds32-isr.c: Moved to...
11434	* config/nds32/nds32-isr.cc: ...here.
11435	* config/nds32/nds32-md-auxiliary.c: Moved to...
11436	* config/nds32/nds32-md-auxiliary.cc: ...here.
11437	* config/nds32/nds32-memory-manipulation.c: Moved to...
11438	* config/nds32/nds32-memory-manipulation.cc: ...here.
11439	* config/nds32/nds32-pipelines-auxiliary.c: Moved to...
11440	* config/nds32/nds32-pipelines-auxiliary.cc: ...here.
11441	* config/nds32/nds32-predicates.c: Moved to...
11442	* config/nds32/nds32-predicates.cc: ...here.
11443	* config/nds32/nds32-relax-opt.c: Moved to...
11444	* config/nds32/nds32-relax-opt.cc: ...here.
11445	* config/nds32/nds32-utils.c: Moved to...
11446	* config/nds32/nds32-utils.cc: ...here.
11447	* config/nds32/nds32.c: Moved to...
11448	* config/nds32/nds32.cc: ...here.
11449	* config/netbsd-d.c: Moved to...
11450	* config/netbsd-d.cc: ...here.
11451	* config/netbsd.c: Moved to...
11452	* config/netbsd.cc: ...here.
11453	* config/nios2/nios2.c: Moved to...
11454	* config/nios2/nios2.cc: ...here.
11455	* config/nvptx/mkoffload.c: Moved to...
11456	* config/nvptx/mkoffload.cc: ...here.
11457	* config/nvptx/nvptx-c.c: Moved to...
11458	* config/nvptx/nvptx-c.cc: ...here.
11459	* config/nvptx/nvptx.c: Moved to...
11460	* config/nvptx/nvptx.cc: ...here.
11461	* config/openbsd-d.c: Moved to...
11462	* config/openbsd-d.cc: ...here.
11463	* config/or1k/or1k.c: Moved to...
11464	* config/or1k/or1k.cc: ...here.
11465	* config/pa/pa-d.c: Moved to...
11466	* config/pa/pa-d.cc: ...here.
11467	* config/pa/pa.c: Moved to...
11468	* config/pa/pa.cc: ...here.
11469	* config/pdp11/pdp11.c: Moved to...
11470	* config/pdp11/pdp11.cc: ...here.
11471	* config/pru/pru-passes.c: Moved to...
11472	* config/pru/pru-passes.cc: ...here.
11473	* config/pru/pru-pragma.c: Moved to...
11474	* config/pru/pru-pragma.cc: ...here.
11475	* config/pru/pru.c: Moved to...
11476	* config/pru/pru.cc: ...here.
11477	* config/riscv/riscv-builtins.c: Moved to...
11478	* config/riscv/riscv-builtins.cc: ...here.
11479	* config/riscv/riscv-c.c: Moved to...
11480	* config/riscv/riscv-c.cc: ...here.
11481	* config/riscv/riscv-d.c: Moved to...
11482	* config/riscv/riscv-d.cc: ...here.
11483	* config/riscv/riscv-shorten-memrefs.c: Moved to...
11484	* config/riscv/riscv-shorten-memrefs.cc: ...here.
11485	* config/riscv/riscv-sr.c: Moved to...
11486	* config/riscv/riscv-sr.cc: ...here.
11487	* config/riscv/riscv.c: Moved to...
11488	* config/riscv/riscv.cc: ...here.
11489	* config/rl78/rl78-c.c: Moved to...
11490	* config/rl78/rl78-c.cc: ...here.
11491	* config/rl78/rl78.c: Moved to...
11492	* config/rl78/rl78.cc: ...here.
11493	* config/rs6000/driver-rs6000.c: Moved to...
11494	* config/rs6000/driver-rs6000.cc: ...here.
11495	* config/rs6000/host-darwin.c: Moved to...
11496	* config/rs6000/host-darwin.cc: ...here.
11497	* config/rs6000/host-ppc64-darwin.c: Moved to...
11498	* config/rs6000/host-ppc64-darwin.cc: ...here.
11499	* config/rs6000/rbtree.c: Moved to...
11500	* config/rs6000/rbtree.cc: ...here.
11501	* config/rs6000/rs6000-c.c: Moved to...
11502	* config/rs6000/rs6000-c.cc: ...here.
11503	* config/rs6000/rs6000-call.c: Moved to...
11504	* config/rs6000/rs6000-call.cc: ...here.
11505	* config/rs6000/rs6000-d.c: Moved to...
11506	* config/rs6000/rs6000-d.cc: ...here.
11507	* config/rs6000/rs6000-gen-builtins.c: Moved to...
11508	* config/rs6000/rs6000-gen-builtins.cc: ...here.
11509	* config/rs6000/rs6000-linux.c: Moved to...
11510	* config/rs6000/rs6000-linux.cc: ...here.
11511	* config/rs6000/rs6000-logue.c: Moved to...
11512	* config/rs6000/rs6000-logue.cc: ...here.
11513	* config/rs6000/rs6000-p8swap.c: Moved to...
11514	* config/rs6000/rs6000-p8swap.cc: ...here.
11515	* config/rs6000/rs6000-pcrel-opt.c: Moved to...
11516	* config/rs6000/rs6000-pcrel-opt.cc: ...here.
11517	* config/rs6000/rs6000-string.c: Moved to...
11518	* config/rs6000/rs6000-string.cc: ...here.
11519	* config/rs6000/rs6000.c: Moved to...
11520	* config/rs6000/rs6000.cc: ...here.
11521	* config/rx/rx.c: Moved to...
11522	* config/rx/rx.cc: ...here.
11523	* config/s390/driver-native.c: Moved to...
11524	* config/s390/driver-native.cc: ...here.
11525	* config/s390/s390-c.c: Moved to...
11526	* config/s390/s390-c.cc: ...here.
11527	* config/s390/s390-d.c: Moved to...
11528	* config/s390/s390-d.cc: ...here.
11529	* config/s390/s390.c: Moved to...
11530	* config/s390/s390.cc: ...here.
11531	* config/sh/divtab-sh4-300.c: Moved to...
11532	* config/sh/divtab-sh4-300.cc: ...here.
11533	* config/sh/divtab-sh4.c: Moved to...
11534	* config/sh/divtab-sh4.cc: ...here.
11535	* config/sh/divtab.c: Moved to...
11536	* config/sh/divtab.cc: ...here.
11537	* config/sh/sh-c.c: Moved to...
11538	* config/sh/sh-c.cc: ...here.
11539	* config/sh/sh.c: Moved to...
11540	* config/sh/sh.cc: ...here.
11541	* config/sol2-c.c: Moved to...
11542	* config/sol2-c.cc: ...here.
11543	* config/sol2-cxx.c: Moved to...
11544	* config/sol2-cxx.cc: ...here.
11545	* config/sol2-d.c: Moved to...
11546	* config/sol2-d.cc: ...here.
11547	* config/sol2-stubs.c: Moved to...
11548	* config/sol2-stubs.cc: ...here.
11549	* config/sol2.c: Moved to...
11550	* config/sol2.cc: ...here.
11551	* config/sparc/driver-sparc.c: Moved to...
11552	* config/sparc/driver-sparc.cc: ...here.
11553	* config/sparc/sparc-c.c: Moved to...
11554	* config/sparc/sparc-c.cc: ...here.
11555	* config/sparc/sparc-d.c: Moved to...
11556	* config/sparc/sparc-d.cc: ...here.
11557	* config/sparc/sparc.c: Moved to...
11558	* config/sparc/sparc.cc: ...here.
11559	* config/stormy16/stormy16.c: Moved to...
11560	* config/stormy16/stormy16.cc: ...here.
11561	* config/tilegx/mul-tables.c: Moved to...
11562	* config/tilegx/mul-tables.cc: ...here.
11563	* config/tilegx/tilegx-c.c: Moved to...
11564	* config/tilegx/tilegx-c.cc: ...here.
11565	* config/tilegx/tilegx.c: Moved to...
11566	* config/tilegx/tilegx.cc: ...here.
11567	* config/tilepro/mul-tables.c: Moved to...
11568	* config/tilepro/mul-tables.cc: ...here.
11569	* config/tilepro/tilepro-c.c: Moved to...
11570	* config/tilepro/tilepro-c.cc: ...here.
11571	* config/tilepro/tilepro.c: Moved to...
11572	* config/tilepro/tilepro.cc: ...here.
11573	* config/v850/v850-c.c: Moved to...
11574	* config/v850/v850-c.cc: ...here.
11575	* config/v850/v850.c: Moved to...
11576	* config/v850/v850.cc: ...here.
11577	* config/vax/vax.c: Moved to...
11578	* config/vax/vax.cc: ...here.
11579	* config/visium/visium.c: Moved to...
11580	* config/visium/visium.cc: ...here.
11581	* config/vms/vms-c.c: Moved to...
11582	* config/vms/vms-c.cc: ...here.
11583	* config/vms/vms-f.c: Moved to...
11584	* config/vms/vms-f.cc: ...here.
11585	* config/vms/vms.c: Moved to...
11586	* config/vms/vms.cc: ...here.
11587	* config/vxworks-c.c: Moved to...
11588	* config/vxworks-c.cc: ...here.
11589	* config/vxworks.c: Moved to...
11590	* config/vxworks.cc: ...here.
11591	* config/winnt-c.c: Moved to...
11592	* config/winnt-c.cc: ...here.
11593	* config/xtensa/xtensa.c: Moved to...
11594	* config/xtensa/xtensa.cc: ...here.
11595	* context.c: Moved to...
11596	* context.cc: ...here.
11597	* convert.c: Moved to...
11598	* convert.cc: ...here.
11599	* coverage.c: Moved to...
11600	* coverage.cc: ...here.
11601	* cppbuiltin.c: Moved to...
11602	* cppbuiltin.cc: ...here.
11603	* cppdefault.c: Moved to...
11604	* cppdefault.cc: ...here.
11605	* cprop.c: Moved to...
11606	* cprop.cc: ...here.
11607	* cse.c: Moved to...
11608	* cse.cc: ...here.
11609	* cselib.c: Moved to...
11610	* cselib.cc: ...here.
11611	* ctfc.c: Moved to...
11612	* ctfc.cc: ...here.
11613	* ctfout.c: Moved to...
11614	* ctfout.cc: ...here.
11615	* data-streamer-in.c: Moved to...
11616	* data-streamer-in.cc: ...here.
11617	* data-streamer-out.c: Moved to...
11618	* data-streamer-out.cc: ...here.
11619	* data-streamer.c: Moved to...
11620	* data-streamer.cc: ...here.
11621	* dbgcnt.c: Moved to...
11622	* dbgcnt.cc: ...here.
11623	* dbxout.c: Moved to...
11624	* dbxout.cc: ...here.
11625	* dce.c: Moved to...
11626	* dce.cc: ...here.
11627	* ddg.c: Moved to...
11628	* ddg.cc: ...here.
11629	* debug.c: Moved to...
11630	* debug.cc: ...here.
11631	* df-core.c: Moved to...
11632	* df-core.cc: ...here.
11633	* df-problems.c: Moved to...
11634	* df-problems.cc: ...here.
11635	* df-scan.c: Moved to...
11636	* df-scan.cc: ...here.
11637	* dfp.c: Moved to...
11638	* dfp.cc: ...here.
11639	* diagnostic-color.c: Moved to...
11640	* diagnostic-color.cc: ...here.
11641	* diagnostic-show-locus.c: Moved to...
11642	* diagnostic-show-locus.cc: ...here.
11643	* diagnostic-spec.c: Moved to...
11644	* diagnostic-spec.cc: ...here.
11645	* diagnostic.c: Moved to...
11646	* diagnostic.cc: ...here.
11647	* dojump.c: Moved to...
11648	* dojump.cc: ...here.
11649	* dominance.c: Moved to...
11650	* dominance.cc: ...here.
11651	* domwalk.c: Moved to...
11652	* domwalk.cc: ...here.
11653	* double-int.c: Moved to...
11654	* double-int.cc: ...here.
11655	* dse.c: Moved to...
11656	* dse.cc: ...here.
11657	* dumpfile.c: Moved to...
11658	* dumpfile.cc: ...here.
11659	* dwarf2asm.c: Moved to...
11660	* dwarf2asm.cc: ...here.
11661	* dwarf2cfi.c: Moved to...
11662	* dwarf2cfi.cc: ...here.
11663	* dwarf2ctf.c: Moved to...
11664	* dwarf2ctf.cc: ...here.
11665	* dwarf2out.c: Moved to...
11666	* dwarf2out.cc: ...here.
11667	* early-remat.c: Moved to...
11668	* early-remat.cc: ...here.
11669	* edit-context.c: Moved to...
11670	* edit-context.cc: ...here.
11671	* emit-rtl.c: Moved to...
11672	* emit-rtl.cc: ...here.
11673	* errors.c: Moved to...
11674	* errors.cc: ...here.
11675	* et-forest.c: Moved to...
11676	* et-forest.cc: ...here.
11677	* except.c: Moved to...
11678	* except.cc: ...here.
11679	* explow.c: Moved to...
11680	* explow.cc: ...here.
11681	* expmed.c: Moved to...
11682	* expmed.cc: ...here.
11683	* expr.c: Moved to...
11684	* expr.cc: ...here.
11685	* fibonacci_heap.c: Moved to...
11686	* fibonacci_heap.cc: ...here.
11687	* file-find.c: Moved to...
11688	* file-find.cc: ...here.
11689	* file-prefix-map.c: Moved to...
11690	* file-prefix-map.cc: ...here.
11691	* final.c: Moved to...
11692	* final.cc: ...here.
11693	* fixed-value.c: Moved to...
11694	* fixed-value.cc: ...here.
11695	* fold-const-call.c: Moved to...
11696	* fold-const-call.cc: ...here.
11697	* fold-const.c: Moved to...
11698	* fold-const.cc: ...here.
11699	* fp-test.c: Moved to...
11700	* fp-test.cc: ...here.
11701	* function-tests.c: Moved to...
11702	* function-tests.cc: ...here.
11703	* function.c: Moved to...
11704	* function.cc: ...here.
11705	* fwprop.c: Moved to...
11706	* fwprop.cc: ...here.
11707	* gcc-ar.c: Moved to...
11708	* gcc-ar.cc: ...here.
11709	* gcc-main.c: Moved to...
11710	* gcc-main.cc: ...here.
11711	* gcc-rich-location.c: Moved to...
11712	* gcc-rich-location.cc: ...here.
11713	* gcc.c: Moved to...
11714	* gcc.cc: ...here.
11715	* gcov-dump.c: Moved to...
11716	* gcov-dump.cc: ...here.
11717	* gcov-io.c: Moved to...
11718	* gcov-io.cc: ...here.
11719	* gcov-tool.c: Moved to...
11720	* gcov-tool.cc: ...here.
11721	* gcov.c: Moved to...
11722	* gcov.cc: ...here.
11723	* gcse-common.c: Moved to...
11724	* gcse-common.cc: ...here.
11725	* gcse.c: Moved to...
11726	* gcse.cc: ...here.
11727	* genattr-common.c: Moved to...
11728	* genattr-common.cc: ...here.
11729	* genattr.c: Moved to...
11730	* genattr.cc: ...here.
11731	* genattrtab.c: Moved to...
11732	* genattrtab.cc: ...here.
11733	* genautomata.c: Moved to...
11734	* genautomata.cc: ...here.
11735	* gencfn-macros.c: Moved to...
11736	* gencfn-macros.cc: ...here.
11737	* gencheck.c: Moved to...
11738	* gencheck.cc: ...here.
11739	* genchecksum.c: Moved to...
11740	* genchecksum.cc: ...here.
11741	* gencodes.c: Moved to...
11742	* gencodes.cc: ...here.
11743	* genconditions.c: Moved to...
11744	* genconditions.cc: ...here.
11745	* genconfig.c: Moved to...
11746	* genconfig.cc: ...here.
11747	* genconstants.c: Moved to...
11748	* genconstants.cc: ...here.
11749	* genemit.c: Moved to...
11750	* genemit.cc: ...here.
11751	* genenums.c: Moved to...
11752	* genenums.cc: ...here.
11753	* generic-match-head.c: Moved to...
11754	* generic-match-head.cc: ...here.
11755	* genextract.c: Moved to...
11756	* genextract.cc: ...here.
11757	* genflags.c: Moved to...
11758	* genflags.cc: ...here.
11759	* gengenrtl.c: Moved to...
11760	* gengenrtl.cc: ...here.
11761	* gengtype-parse.c: Moved to...
11762	* gengtype-parse.cc: ...here.
11763	* gengtype-state.c: Moved to...
11764	* gengtype-state.cc: ...here.
11765	* gengtype.c: Moved to...
11766	* gengtype.cc: ...here.
11767	* genhooks.c: Moved to...
11768	* genhooks.cc: ...here.
11769	* genmatch.c: Moved to...
11770	* genmatch.cc: ...here.
11771	* genmddeps.c: Moved to...
11772	* genmddeps.cc: ...here.
11773	* genmddump.c: Moved to...
11774	* genmddump.cc: ...here.
11775	* genmodes.c: Moved to...
11776	* genmodes.cc: ...here.
11777	* genopinit.c: Moved to...
11778	* genopinit.cc: ...here.
11779	* genoutput.c: Moved to...
11780	* genoutput.cc: ...here.
11781	* genpeep.c: Moved to...
11782	* genpeep.cc: ...here.
11783	* genpreds.c: Moved to...
11784	* genpreds.cc: ...here.
11785	* genrecog.c: Moved to...
11786	* genrecog.cc: ...here.
11787	* gensupport.c: Moved to...
11788	* gensupport.cc: ...here.
11789	* gentarget-def.c: Moved to...
11790	* gentarget-def.cc: ...here.
11791	* genversion.c: Moved to...
11792	* genversion.cc: ...here.
11793	* ggc-common.c: Moved to...
11794	* ggc-common.cc: ...here.
11795	* ggc-none.c: Moved to...
11796	* ggc-none.cc: ...here.
11797	* ggc-page.c: Moved to...
11798	* ggc-page.cc: ...here.
11799	* ggc-tests.c: Moved to...
11800	* ggc-tests.cc: ...here.
11801	* gimple-builder.c: Moved to...
11802	* gimple-builder.cc: ...here.
11803	* gimple-expr.c: Moved to...
11804	* gimple-expr.cc: ...here.
11805	* gimple-fold.c: Moved to...
11806	* gimple-fold.cc: ...here.
11807	* gimple-iterator.c: Moved to...
11808	* gimple-iterator.cc: ...here.
11809	* gimple-laddress.c: Moved to...
11810	* gimple-laddress.cc: ...here.
11811	* gimple-loop-jam.c: Moved to...
11812	* gimple-loop-jam.cc: ...here.
11813	* gimple-low.c: Moved to...
11814	* gimple-low.cc: ...here.
11815	* gimple-match-head.c: Moved to...
11816	* gimple-match-head.cc: ...here.
11817	* gimple-pretty-print.c: Moved to...
11818	* gimple-pretty-print.cc: ...here.
11819	* gimple-ssa-backprop.c: Moved to...
11820	* gimple-ssa-backprop.cc: ...here.
11821	* gimple-ssa-evrp-analyze.c: Moved to...
11822	* gimple-ssa-evrp-analyze.cc: ...here.
11823	* gimple-ssa-evrp.c: Moved to...
11824	* gimple-ssa-evrp.cc: ...here.
11825	* gimple-ssa-isolate-paths.c: Moved to...
11826	* gimple-ssa-isolate-paths.cc: ...here.
11827	* gimple-ssa-nonnull-compare.c: Moved to...
11828	* gimple-ssa-nonnull-compare.cc: ...here.
11829	* gimple-ssa-split-paths.c: Moved to...
11830	* gimple-ssa-split-paths.cc: ...here.
11831	* gimple-ssa-sprintf.c: Moved to...
11832	* gimple-ssa-sprintf.cc: ...here.
11833	* gimple-ssa-store-merging.c: Moved to...
11834	* gimple-ssa-store-merging.cc: ...here.
11835	* gimple-ssa-strength-reduction.c: Moved to...
11836	* gimple-ssa-strength-reduction.cc: ...here.
11837	* gimple-ssa-warn-alloca.c: Moved to...
11838	* gimple-ssa-warn-alloca.cc: ...here.
11839	* gimple-ssa-warn-restrict.c: Moved to...
11840	* gimple-ssa-warn-restrict.cc: ...here.
11841	* gimple-streamer-in.c: Moved to...
11842	* gimple-streamer-in.cc: ...here.
11843	* gimple-streamer-out.c: Moved to...
11844	* gimple-streamer-out.cc: ...here.
11845	* gimple-walk.c: Moved to...
11846	* gimple-walk.cc: ...here.
11847	* gimple-warn-recursion.c: Moved to...
11848	* gimple-warn-recursion.cc: ...here.
11849	* gimple.c: Moved to...
11850	* gimple.cc: ...here.
11851	* gimplify-me.c: Moved to...
11852	* gimplify-me.cc: ...here.
11853	* gimplify.c: Moved to...
11854	* gimplify.cc: ...here.
11855	* godump.c: Moved to...
11856	* godump.cc: ...here.
11857	* graph.c: Moved to...
11858	* graph.cc: ...here.
11859	* graphds.c: Moved to...
11860	* graphds.cc: ...here.
11861	* graphite-dependences.c: Moved to...
11862	* graphite-dependences.cc: ...here.
11863	* graphite-isl-ast-to-gimple.c: Moved to...
11864	* graphite-isl-ast-to-gimple.cc: ...here.
11865	* graphite-optimize-isl.c: Moved to...
11866	* graphite-optimize-isl.cc: ...here.
11867	* graphite-poly.c: Moved to...
11868	* graphite-poly.cc: ...here.
11869	* graphite-scop-detection.c: Moved to...
11870	* graphite-scop-detection.cc: ...here.
11871	* graphite-sese-to-poly.c: Moved to...
11872	* graphite-sese-to-poly.cc: ...here.
11873	* graphite.c: Moved to...
11874	* graphite.cc: ...here.
11875	* haifa-sched.c: Moved to...
11876	* haifa-sched.cc: ...here.
11877	* hash-map-tests.c: Moved to...
11878	* hash-map-tests.cc: ...here.
11879	* hash-set-tests.c: Moved to...
11880	* hash-set-tests.cc: ...here.
11881	* hash-table.c: Moved to...
11882	* hash-table.cc: ...here.
11883	* hooks.c: Moved to...
11884	* hooks.cc: ...here.
11885	* host-default.c: Moved to...
11886	* host-default.cc: ...here.
11887	* hw-doloop.c: Moved to...
11888	* hw-doloop.cc: ...here.
11889	* hwint.c: Moved to...
11890	* hwint.cc: ...here.
11891	* ifcvt.c: Moved to...
11892	* ifcvt.cc: ...here.
11893	* inchash.c: Moved to...
11894	* inchash.cc: ...here.
11895	* incpath.c: Moved to...
11896	* incpath.cc: ...here.
11897	* init-regs.c: Moved to...
11898	* init-regs.cc: ...here.
11899	* input.c: Moved to...
11900	* input.cc: ...here.
11901	* internal-fn.c: Moved to...
11902	* internal-fn.cc: ...here.
11903	* intl.c: Moved to...
11904	* intl.cc: ...here.
11905	* ipa-comdats.c: Moved to...
11906	* ipa-comdats.cc: ...here.
11907	* ipa-cp.c: Moved to...
11908	* ipa-cp.cc: ...here.
11909	* ipa-devirt.c: Moved to...
11910	* ipa-devirt.cc: ...here.
11911	* ipa-fnsummary.c: Moved to...
11912	* ipa-fnsummary.cc: ...here.
11913	* ipa-icf-gimple.c: Moved to...
11914	* ipa-icf-gimple.cc: ...here.
11915	* ipa-icf.c: Moved to...
11916	* ipa-icf.cc: ...here.
11917	* ipa-inline-analysis.c: Moved to...
11918	* ipa-inline-analysis.cc: ...here.
11919	* ipa-inline-transform.c: Moved to...
11920	* ipa-inline-transform.cc: ...here.
11921	* ipa-inline.c: Moved to...
11922	* ipa-inline.cc: ...here.
11923	* ipa-modref-tree.c: Moved to...
11924	* ipa-modref-tree.cc: ...here.
11925	* ipa-modref.c: Moved to...
11926	* ipa-modref.cc: ...here.
11927	* ipa-param-manipulation.c: Moved to...
11928	* ipa-param-manipulation.cc: ...here.
11929	* ipa-polymorphic-call.c: Moved to...
11930	* ipa-polymorphic-call.cc: ...here.
11931	* ipa-predicate.c: Moved to...
11932	* ipa-predicate.cc: ...here.
11933	* ipa-profile.c: Moved to...
11934	* ipa-profile.cc: ...here.
11935	* ipa-prop.c: Moved to...
11936	* ipa-prop.cc: ...here.
11937	* ipa-pure-const.c: Moved to...
11938	* ipa-pure-const.cc: ...here.
11939	* ipa-ref.c: Moved to...
11940	* ipa-ref.cc: ...here.
11941	* ipa-reference.c: Moved to...
11942	* ipa-reference.cc: ...here.
11943	* ipa-split.c: Moved to...
11944	* ipa-split.cc: ...here.
11945	* ipa-sra.c: Moved to...
11946	* ipa-sra.cc: ...here.
11947	* ipa-utils.c: Moved to...
11948	* ipa-utils.cc: ...here.
11949	* ipa-visibility.c: Moved to...
11950	* ipa-visibility.cc: ...here.
11951	* ipa.c: Moved to...
11952	* ipa.cc: ...here.
11953	* ira-build.c: Moved to...
11954	* ira-build.cc: ...here.
11955	* ira-color.c: Moved to...
11956	* ira-color.cc: ...here.
11957	* ira-conflicts.c: Moved to...
11958	* ira-conflicts.cc: ...here.
11959	* ira-costs.c: Moved to...
11960	* ira-costs.cc: ...here.
11961	* ira-emit.c: Moved to...
11962	* ira-emit.cc: ...here.
11963	* ira-lives.c: Moved to...
11964	* ira-lives.cc: ...here.
11965	* ira.c: Moved to...
11966	* ira.cc: ...here.
11967	* jump.c: Moved to...
11968	* jump.cc: ...here.
11969	* langhooks.c: Moved to...
11970	* langhooks.cc: ...here.
11971	* lcm.c: Moved to...
11972	* lcm.cc: ...here.
11973	* lists.c: Moved to...
11974	* lists.cc: ...here.
11975	* loop-doloop.c: Moved to...
11976	* loop-doloop.cc: ...here.
11977	* loop-init.c: Moved to...
11978	* loop-init.cc: ...here.
11979	* loop-invariant.c: Moved to...
11980	* loop-invariant.cc: ...here.
11981	* loop-iv.c: Moved to...
11982	* loop-iv.cc: ...here.
11983	* loop-unroll.c: Moved to...
11984	* loop-unroll.cc: ...here.
11985	* lower-subreg.c: Moved to...
11986	* lower-subreg.cc: ...here.
11987	* lra-assigns.c: Moved to...
11988	* lra-assigns.cc: ...here.
11989	* lra-coalesce.c: Moved to...
11990	* lra-coalesce.cc: ...here.
11991	* lra-constraints.c: Moved to...
11992	* lra-constraints.cc: ...here.
11993	* lra-eliminations.c: Moved to...
11994	* lra-eliminations.cc: ...here.
11995	* lra-lives.c: Moved to...
11996	* lra-lives.cc: ...here.
11997	* lra-remat.c: Moved to...
11998	* lra-remat.cc: ...here.
11999	* lra-spills.c: Moved to...
12000	* lra-spills.cc: ...here.
12001	* lra.c: Moved to...
12002	* lra.cc: ...here.
12003	* lto-cgraph.c: Moved to...
12004	* lto-cgraph.cc: ...here.
12005	* lto-compress.c: Moved to...
12006	* lto-compress.cc: ...here.
12007	* lto-opts.c: Moved to...
12008	* lto-opts.cc: ...here.
12009	* lto-section-in.c: Moved to...
12010	* lto-section-in.cc: ...here.
12011	* lto-section-out.c: Moved to...
12012	* lto-section-out.cc: ...here.
12013	* lto-streamer-in.c: Moved to...
12014	* lto-streamer-in.cc: ...here.
12015	* lto-streamer-out.c: Moved to...
12016	* lto-streamer-out.cc: ...here.
12017	* lto-streamer.c: Moved to...
12018	* lto-streamer.cc: ...here.
12019	* lto-wrapper.c: Moved to...
12020	* lto-wrapper.cc: ...here.
12021	* main.c: Moved to...
12022	* main.cc: ...here.
12023	* mcf.c: Moved to...
12024	* mcf.cc: ...here.
12025	* mode-switching.c: Moved to...
12026	* mode-switching.cc: ...here.
12027	* modulo-sched.c: Moved to...
12028	* modulo-sched.cc: ...here.
12029	* multiple_target.c: Moved to...
12030	* multiple_target.cc: ...here.
12031	* omp-expand.c: Moved to...
12032	* omp-expand.cc: ...here.
12033	* omp-general.c: Moved to...
12034	* omp-general.cc: ...here.
12035	* omp-low.c: Moved to...
12036	* omp-low.cc: ...here.
12037	* omp-offload.c: Moved to...
12038	* omp-offload.cc: ...here.
12039	* omp-simd-clone.c: Moved to...
12040	* omp-simd-clone.cc: ...here.
12041	* opt-suggestions.c: Moved to...
12042	* opt-suggestions.cc: ...here.
12043	* optabs-libfuncs.c: Moved to...
12044	* optabs-libfuncs.cc: ...here.
12045	* optabs-query.c: Moved to...
12046	* optabs-query.cc: ...here.
12047	* optabs-tree.c: Moved to...
12048	* optabs-tree.cc: ...here.
12049	* optabs.c: Moved to...
12050	* optabs.cc: ...here.
12051	* opts-common.c: Moved to...
12052	* opts-common.cc: ...here.
12053	* opts-global.c: Moved to...
12054	* opts-global.cc: ...here.
12055	* opts.c: Moved to...
12056	* opts.cc: ...here.
12057	* passes.c: Moved to...
12058	* passes.cc: ...here.
12059	* plugin.c: Moved to...
12060	* plugin.cc: ...here.
12061	* postreload-gcse.c: Moved to...
12062	* postreload-gcse.cc: ...here.
12063	* postreload.c: Moved to...
12064	* postreload.cc: ...here.
12065	* predict.c: Moved to...
12066	* predict.cc: ...here.
12067	* prefix.c: Moved to...
12068	* prefix.cc: ...here.
12069	* pretty-print.c: Moved to...
12070	* pretty-print.cc: ...here.
12071	* print-rtl-function.c: Moved to...
12072	* print-rtl-function.cc: ...here.
12073	* print-rtl.c: Moved to...
12074	* print-rtl.cc: ...here.
12075	* print-tree.c: Moved to...
12076	* print-tree.cc: ...here.
12077	* profile-count.c: Moved to...
12078	* profile-count.cc: ...here.
12079	* profile.c: Moved to...
12080	* profile.cc: ...here.
12081	* read-md.c: Moved to...
12082	* read-md.cc: ...here.
12083	* read-rtl-function.c: Moved to...
12084	* read-rtl-function.cc: ...here.
12085	* read-rtl.c: Moved to...
12086	* read-rtl.cc: ...here.
12087	* real.c: Moved to...
12088	* real.cc: ...here.
12089	* realmpfr.c: Moved to...
12090	* realmpfr.cc: ...here.
12091	* recog.c: Moved to...
12092	* recog.cc: ...here.
12093	* ree.c: Moved to...
12094	* ree.cc: ...here.
12095	* reg-stack.c: Moved to...
12096	* reg-stack.cc: ...here.
12097	* regcprop.c: Moved to...
12098	* regcprop.cc: ...here.
12099	* reginfo.c: Moved to...
12100	* reginfo.cc: ...here.
12101	* regrename.c: Moved to...
12102	* regrename.cc: ...here.
12103	* regstat.c: Moved to...
12104	* regstat.cc: ...here.
12105	* reload.c: Moved to...
12106	* reload.cc: ...here.
12107	* reload1.c: Moved to...
12108	* reload1.cc: ...here.
12109	* reorg.c: Moved to...
12110	* reorg.cc: ...here.
12111	* resource.c: Moved to...
12112	* resource.cc: ...here.
12113	* rtl-error.c: Moved to...
12114	* rtl-error.cc: ...here.
12115	* rtl-tests.c: Moved to...
12116	* rtl-tests.cc: ...here.
12117	* rtl.c: Moved to...
12118	* rtl.cc: ...here.
12119	* rtlanal.c: Moved to...
12120	* rtlanal.cc: ...here.
12121	* rtlhash.c: Moved to...
12122	* rtlhash.cc: ...here.
12123	* rtlhooks.c: Moved to...
12124	* rtlhooks.cc: ...here.
12125	* rtx-vector-builder.c: Moved to...
12126	* rtx-vector-builder.cc: ...here.
12127	* run-rtl-passes.c: Moved to...
12128	* run-rtl-passes.cc: ...here.
12129	* sancov.c: Moved to...
12130	* sancov.cc: ...here.
12131	* sanopt.c: Moved to...
12132	* sanopt.cc: ...here.
12133	* sbitmap.c: Moved to...
12134	* sbitmap.cc: ...here.
12135	* sched-deps.c: Moved to...
12136	* sched-deps.cc: ...here.
12137	* sched-ebb.c: Moved to...
12138	* sched-ebb.cc: ...here.
12139	* sched-rgn.c: Moved to...
12140	* sched-rgn.cc: ...here.
12141	* sel-sched-dump.c: Moved to...
12142	* sel-sched-dump.cc: ...here.
12143	* sel-sched-ir.c: Moved to...
12144	* sel-sched-ir.cc: ...here.
12145	* sel-sched.c: Moved to...
12146	* sel-sched.cc: ...here.
12147	* selftest-diagnostic.c: Moved to...
12148	* selftest-diagnostic.cc: ...here.
12149	* selftest-rtl.c: Moved to...
12150	* selftest-rtl.cc: ...here.
12151	* selftest-run-tests.c: Moved to...
12152	* selftest-run-tests.cc: ...here.
12153	* selftest.c: Moved to...
12154	* selftest.cc: ...here.
12155	* sese.c: Moved to...
12156	* sese.cc: ...here.
12157	* shrink-wrap.c: Moved to...
12158	* shrink-wrap.cc: ...here.
12159	* simplify-rtx.c: Moved to...
12160	* simplify-rtx.cc: ...here.
12161	* sparseset.c: Moved to...
12162	* sparseset.cc: ...here.
12163	* spellcheck-tree.c: Moved to...
12164	* spellcheck-tree.cc: ...here.
12165	* spellcheck.c: Moved to...
12166	* spellcheck.cc: ...here.
12167	* sreal.c: Moved to...
12168	* sreal.cc: ...here.
12169	* stack-ptr-mod.c: Moved to...
12170	* stack-ptr-mod.cc: ...here.
12171	* statistics.c: Moved to...
12172	* statistics.cc: ...here.
12173	* stmt.c: Moved to...
12174	* stmt.cc: ...here.
12175	* stor-layout.c: Moved to...
12176	* stor-layout.cc: ...here.
12177	* store-motion.c: Moved to...
12178	* store-motion.cc: ...here.
12179	* streamer-hooks.c: Moved to...
12180	* streamer-hooks.cc: ...here.
12181	* stringpool.c: Moved to...
12182	* stringpool.cc: ...here.
12183	* substring-locations.c: Moved to...
12184	* substring-locations.cc: ...here.
12185	* symtab.c: Moved to...
12186	* symtab.cc: ...here.
12187	* target-globals.c: Moved to...
12188	* target-globals.cc: ...here.
12189	* targhooks.c: Moved to...
12190	* targhooks.cc: ...here.
12191	* timevar.c: Moved to...
12192	* timevar.cc: ...here.
12193	* toplev.c: Moved to...
12194	* toplev.cc: ...here.
12195	* tracer.c: Moved to...
12196	* tracer.cc: ...here.
12197	* trans-mem.c: Moved to...
12198	* trans-mem.cc: ...here.
12199	* tree-affine.c: Moved to...
12200	* tree-affine.cc: ...here.
12201	* tree-call-cdce.c: Moved to...
12202	* tree-call-cdce.cc: ...here.
12203	* tree-cfg.c: Moved to...
12204	* tree-cfg.cc: ...here.
12205	* tree-cfgcleanup.c: Moved to...
12206	* tree-cfgcleanup.cc: ...here.
12207	* tree-chrec.c: Moved to...
12208	* tree-chrec.cc: ...here.
12209	* tree-complex.c: Moved to...
12210	* tree-complex.cc: ...here.
12211	* tree-data-ref.c: Moved to...
12212	* tree-data-ref.cc: ...here.
12213	* tree-dfa.c: Moved to...
12214	* tree-dfa.cc: ...here.
12215	* tree-diagnostic.c: Moved to...
12216	* tree-diagnostic.cc: ...here.
12217	* tree-dump.c: Moved to...
12218	* tree-dump.cc: ...here.
12219	* tree-eh.c: Moved to...
12220	* tree-eh.cc: ...here.
12221	* tree-emutls.c: Moved to...
12222	* tree-emutls.cc: ...here.
12223	* tree-if-conv.c: Moved to...
12224	* tree-if-conv.cc: ...here.
12225	* tree-inline.c: Moved to...
12226	* tree-inline.cc: ...here.
12227	* tree-into-ssa.c: Moved to...
12228	* tree-into-ssa.cc: ...here.
12229	* tree-iterator.c: Moved to...
12230	* tree-iterator.cc: ...here.
12231	* tree-loop-distribution.c: Moved to...
12232	* tree-loop-distribution.cc: ...here.
12233	* tree-nested.c: Moved to...
12234	* tree-nested.cc: ...here.
12235	* tree-nrv.c: Moved to...
12236	* tree-nrv.cc: ...here.
12237	* tree-object-size.c: Moved to...
12238	* tree-object-size.cc: ...here.
12239	* tree-outof-ssa.c: Moved to...
12240	* tree-outof-ssa.cc: ...here.
12241	* tree-parloops.c: Moved to...
12242	* tree-parloops.cc: ...here.
12243	* tree-phinodes.c: Moved to...
12244	* tree-phinodes.cc: ...here.
12245	* tree-predcom.c: Moved to...
12246	* tree-predcom.cc: ...here.
12247	* tree-pretty-print.c: Moved to...
12248	* tree-pretty-print.cc: ...here.
12249	* tree-profile.c: Moved to...
12250	* tree-profile.cc: ...here.
12251	* tree-scalar-evolution.c: Moved to...
12252	* tree-scalar-evolution.cc: ...here.
12253	* tree-sra.c: Moved to...
12254	* tree-sra.cc: ...here.
12255	* tree-ssa-address.c: Moved to...
12256	* tree-ssa-address.cc: ...here.
12257	* tree-ssa-alias.c: Moved to...
12258	* tree-ssa-alias.cc: ...here.
12259	* tree-ssa-ccp.c: Moved to...
12260	* tree-ssa-ccp.cc: ...here.
12261	* tree-ssa-coalesce.c: Moved to...
12262	* tree-ssa-coalesce.cc: ...here.
12263	* tree-ssa-copy.c: Moved to...
12264	* tree-ssa-copy.cc: ...here.
12265	* tree-ssa-dce.c: Moved to...
12266	* tree-ssa-dce.cc: ...here.
12267	* tree-ssa-dom.c: Moved to...
12268	* tree-ssa-dom.cc: ...here.
12269	* tree-ssa-dse.c: Moved to...
12270	* tree-ssa-dse.cc: ...here.
12271	* tree-ssa-forwprop.c: Moved to...
12272	* tree-ssa-forwprop.cc: ...here.
12273	* tree-ssa-ifcombine.c: Moved to...
12274	* tree-ssa-ifcombine.cc: ...here.
12275	* tree-ssa-live.c: Moved to...
12276	* tree-ssa-live.cc: ...here.
12277	* tree-ssa-loop-ch.c: Moved to...
12278	* tree-ssa-loop-ch.cc: ...here.
12279	* tree-ssa-loop-im.c: Moved to...
12280	* tree-ssa-loop-im.cc: ...here.
12281	* tree-ssa-loop-ivcanon.c: Moved to...
12282	* tree-ssa-loop-ivcanon.cc: ...here.
12283	* tree-ssa-loop-ivopts.c: Moved to...
12284	* tree-ssa-loop-ivopts.cc: ...here.
12285	* tree-ssa-loop-manip.c: Moved to...
12286	* tree-ssa-loop-manip.cc: ...here.
12287	* tree-ssa-loop-niter.c: Moved to...
12288	* tree-ssa-loop-niter.cc: ...here.
12289	* tree-ssa-loop-prefetch.c: Moved to...
12290	* tree-ssa-loop-prefetch.cc: ...here.
12291	* tree-ssa-loop-split.c: Moved to...
12292	* tree-ssa-loop-split.cc: ...here.
12293	* tree-ssa-loop-unswitch.c: Moved to...
12294	* tree-ssa-loop-unswitch.cc: ...here.
12295	* tree-ssa-loop.c: Moved to...
12296	* tree-ssa-loop.cc: ...here.
12297	* tree-ssa-math-opts.c: Moved to...
12298	* tree-ssa-math-opts.cc: ...here.
12299	* tree-ssa-operands.c: Moved to...
12300	* tree-ssa-operands.cc: ...here.
12301	* tree-ssa-phiopt.c: Moved to...
12302	* tree-ssa-phiopt.cc: ...here.
12303	* tree-ssa-phiprop.c: Moved to...
12304	* tree-ssa-phiprop.cc: ...here.
12305	* tree-ssa-pre.c: Moved to...
12306	* tree-ssa-pre.cc: ...here.
12307	* tree-ssa-propagate.c: Moved to...
12308	* tree-ssa-propagate.cc: ...here.
12309	* tree-ssa-reassoc.c: Moved to...
12310	* tree-ssa-reassoc.cc: ...here.
12311	* tree-ssa-sccvn.c: Moved to...
12312	* tree-ssa-sccvn.cc: ...here.
12313	* tree-ssa-scopedtables.c: Moved to...
12314	* tree-ssa-scopedtables.cc: ...here.
12315	* tree-ssa-sink.c: Moved to...
12316	* tree-ssa-sink.cc: ...here.
12317	* tree-ssa-strlen.c: Moved to...
12318	* tree-ssa-strlen.cc: ...here.
12319	* tree-ssa-structalias.c: Moved to...
12320	* tree-ssa-structalias.cc: ...here.
12321	* tree-ssa-tail-merge.c: Moved to...
12322	* tree-ssa-tail-merge.cc: ...here.
12323	* tree-ssa-ter.c: Moved to...
12324	* tree-ssa-ter.cc: ...here.
12325	* tree-ssa-threadbackward.c: Moved to...
12326	* tree-ssa-threadbackward.cc: ...here.
12327	* tree-ssa-threadedge.c: Moved to...
12328	* tree-ssa-threadedge.cc: ...here.
12329	* tree-ssa-threadupdate.c: Moved to...
12330	* tree-ssa-threadupdate.cc: ...here.
12331	* tree-ssa-uncprop.c: Moved to...
12332	* tree-ssa-uncprop.cc: ...here.
12333	* tree-ssa-uninit.c: Moved to...
12334	* tree-ssa-uninit.cc: ...here.
12335	* tree-ssa.c: Moved to...
12336	* tree-ssa.cc: ...here.
12337	* tree-ssanames.c: Moved to...
12338	* tree-ssanames.cc: ...here.
12339	* tree-stdarg.c: Moved to...
12340	* tree-stdarg.cc: ...here.
12341	* tree-streamer-in.c: Moved to...
12342	* tree-streamer-in.cc: ...here.
12343	* tree-streamer-out.c: Moved to...
12344	* tree-streamer-out.cc: ...here.
12345	* tree-streamer.c: Moved to...
12346	* tree-streamer.cc: ...here.
12347	* tree-switch-conversion.c: Moved to...
12348	* tree-switch-conversion.cc: ...here.
12349	* tree-tailcall.c: Moved to...
12350	* tree-tailcall.cc: ...here.
12351	* tree-vect-data-refs.c: Moved to...
12352	* tree-vect-data-refs.cc: ...here.
12353	* tree-vect-generic.c: Moved to...
12354	* tree-vect-generic.cc: ...here.
12355	* tree-vect-loop-manip.c: Moved to...
12356	* tree-vect-loop-manip.cc: ...here.
12357	* tree-vect-loop.c: Moved to...
12358	* tree-vect-loop.cc: ...here.
12359	* tree-vect-patterns.c: Moved to...
12360	* tree-vect-patterns.cc: ...here.
12361	* tree-vect-slp-patterns.c: Moved to...
12362	* tree-vect-slp-patterns.cc: ...here.
12363	* tree-vect-slp.c: Moved to...
12364	* tree-vect-slp.cc: ...here.
12365	* tree-vect-stmts.c: Moved to...
12366	* tree-vect-stmts.cc: ...here.
12367	* tree-vector-builder.c: Moved to...
12368	* tree-vector-builder.cc: ...here.
12369	* tree-vectorizer.c: Moved to...
12370	* tree-vectorizer.cc: ...here.
12371	* tree-vrp.c: Moved to...
12372	* tree-vrp.cc: ...here.
12373	* tree.c: Moved to...
12374	* tree.cc: ...here.
12375	* tsan.c: Moved to...
12376	* tsan.cc: ...here.
12377	* typed-splay-tree.c: Moved to...
12378	* typed-splay-tree.cc: ...here.
12379	* ubsan.c: Moved to...
12380	* ubsan.cc: ...here.
12381	* valtrack.c: Moved to...
12382	* valtrack.cc: ...here.
12383	* value-prof.c: Moved to...
12384	* value-prof.cc: ...here.
12385	* var-tracking.c: Moved to...
12386	* var-tracking.cc: ...here.
12387	* varasm.c: Moved to...
12388	* varasm.cc: ...here.
12389	* varpool.c: Moved to...
12390	* varpool.cc: ...here.
12391	* vec-perm-indices.c: Moved to...
12392	* vec-perm-indices.cc: ...here.
12393	* vec.c: Moved to...
12394	* vec.cc: ...here.
12395	* vmsdbgout.c: Moved to...
12396	* vmsdbgout.cc: ...here.
12397	* vr-values.c: Moved to...
12398	* vr-values.cc: ...here.
12399	* vtable-verify.c: Moved to...
12400	* vtable-verify.cc: ...here.
12401	* web.c: Moved to...
12402	* web.cc: ...here.
12403	* xcoffout.c: Moved to...
12404	* xcoffout.cc: ...here.
12405
124062022-01-17  qing zhao  <qing.zhao@oracle.com>
12407
12408	* tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
12409	.DEFERRED_INIT call with an anonymous SSA_NAME specially.
12410	(check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
12411	specially.
12412	(warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
12413	(warn_uninitialized_vars): Likewise.
12414	(warn_uninitialized_phi): Likewise.
12415
124162022-01-17  Jason Merrill  <jason@redhat.com>
12417
12418	* diagnostic.h (struct diagnostic_context): Add includes_seen.
12419	* diagnostic.c (diagnostic_initialize): Initialize it.
12420	(diagnostic_finish): Clean it up.
12421	(includes_seen): New function.
12422	(diagnostic_report_current_module): Use it.
12423
124242022-01-17  Richard Biener  <rguenther@suse.de>
12425
12426	PR middle-end/101292
12427	* diagnostic-spec.c (copy_warning): Make sure to not
12428	reference old hashtable content on possible resize.
12429	* warning-control.cc (copy_warning): Likewise.
12430
124312022-01-17  Jakub Jelinek  <jakub@redhat.com>
12432
12433	PR target/103973
12434	* tree-cfg.h (cond_only_block_p): Declare.
12435	* tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
12436	* tree-cfg.c (cond_only_block_p): ... here.  No longer static.
12437	* optabs.def (spaceship_optab): New optab.
12438	* internal-fn.def (SPACESHIP): New internal function.
12439	* internal-fn.h (expand_SPACESHIP): Declare.
12440	* internal-fn.c (expand_PHI): Formatting fix.
12441	(expand_SPACESHIP): New function.
12442	* tree-ssa-math-opts.c (optimize_spaceship): New function.
12443	(math_opts_dom_walker::after_dom_children): Use it.
12444	* config/i386/i386.md (spaceship<mode>3): New define_expand.
12445	* config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
12446	* config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
12447	* doc/md.texi (spaceship@var{m}3): Document.
12448
124492022-01-17  Kewen Lin  <linkw@linux.ibm.com>
12450
12451	* config/rs6000/altivec.md (altivec_vreveti2): Remove.
12452	* config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
12453	*vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
12454	known constant values to simplify code.
12455
124562022-01-17  Haochen Gui  <guihaoc@gcc.gnu.org>
12457
12458	PR target/103124
12459	* config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
12460
124612022-01-16  wwwhhhyyy  <hongyu.wang@intel.com>
12462
12463	* config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
12464	* config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
12465	Insert zero-idiom in output template when attr enabled, set new attribute to
12466	true for non-mask/maskz insn.
12467	(avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
12468	Likewise.
12469	(avx512dq_mul<mode>3<mask_name>): Likewise.
12470	(<avx2_avx512>_permvar<mode><mask_name>): Likewise.
12471	(avx2_perm<mode>_1<mask_name>): Likewise.
12472	(avx512f_perm<mode>_1<mask_name>): Likewise.
12473	(avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
12474	(avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
12475	Likewise.
12476	(<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
12477	(avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
12478	Likewise.
12479	* config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
12480	subst_attr.
12481	(mask4_dest_false_dep_for_glc_cond): Likewise.
12482	(mask6_dest_false_dep_for_glc_cond): Likewise.
12483	(mask10_dest_false_dep_for_glc_cond): Likewise.
12484	(maskc_dest_false_dep_for_glc_cond): Likewise.
12485	(mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
12486	(mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
12487	* config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
12488	DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
12489
124902022-01-15  Martin Sebor  <msebor@redhat.com>
12491
12492	PR c/63272
12493	* diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
12494	-Wdangling-pointer.
12495	* doc/invoke.texi (-Wdangling-pointer): Document new option.
12496	* gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
12497	(pass_waccess::check_pointer_uses): New function.
12498	(pass_waccess::gimple_call_return_arg): New function.
12499	(pass_waccess::gimple_call_return_arg_ref): New function.
12500	(pass_waccess::check_call_dangling): New function.
12501	(pass_waccess::check_dangling_uses): New function overloads.
12502	(pass_waccess::check_dangling_stores): New function.
12503	(pass_waccess::check_dangling_stores): New function.
12504	(pass_waccess::m_clobbers): New data member.
12505	(pass_waccess::m_func): New data member.
12506	(pass_waccess::m_run_number): New data member.
12507	(pass_waccess::m_check_dangling_p): New data member.
12508	(pass_waccess::check_alloca): Check m_early_checks_p.
12509	(pass_waccess::check_alloc_size_call): Same.
12510	(pass_waccess::check_strcat): Same.
12511	(pass_waccess::check_strncat): Same.
12512	(pass_waccess::check_stxcpy): Same.
12513	(pass_waccess::check_stxncpy): Same.
12514	(pass_waccess::check_strncmp): Same.
12515	(pass_waccess::check_memop_access): Same.
12516	(pass_waccess::check_read_access): Same.
12517	(pass_waccess::check_builtin): Call check_pointer_uses.
12518	(pass_waccess::warn_invalid_pointer): Add arguments.
12519	(is_auto_decl): New function.
12520	(pass_waccess::check_stmt): New function.
12521	(pass_waccess::check_block): Call check_stmt.
12522	(pass_waccess::execute): Call check_dangling_uses,
12523	check_dangling_stores.  Empty m_clobbers.
12524	* passes.def (pass_warn_access): Invoke pass two more times.
12525
125262022-01-15  Martin Sebor  <msebor@redhat.com>
12527
12528	PR tree-optimization/80532
12529	* common.opt (-Wuse-after-free): New options.
12530	* diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
12531	OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
12532	* diagnostic-spec.h (NW_DANGLING): New enumerator.
12533	* doc/invoke.texi (-Wuse-after-free): Document new option.
12534	* gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
12535	(pass_waccess::check_call_access): ...to this.
12536	(pass_waccess::check): Rename...
12537	(pass_waccess::check_block): ...to this.
12538	(pass_waccess::check_pointer_uses): New function.
12539	(pass_waccess::gimple_call_return_arg): New function.
12540	(pass_waccess::warn_invalid_pointer): New function.
12541	(pass_waccess::check_builtin): Handle free and realloc.
12542	(gimple_use_after_inval_p): New function.
12543	(get_realloc_lhs): New function.
12544	(maybe_warn_mismatched_realloc): New function.
12545	(pointers_related_p): New function.
12546	(pass_waccess::check_call): Call check_pointer_uses.
12547	(pass_waccess::execute): Compute and free dominance info.
12548
125492022-01-15  Uroš Bizjak  <ubizjak@gmail.com>
12550
12551	* config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
12552	expand_simple_unop and expand_simple_binop instead of manually
12553	constructing NOT, AND and IOR RTXes.  Use vector_all_ones_operand
12554	consistently.  Eliminate common subexpressions and simplify code.
12555	* config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
12556	(<any_logic:code><MODEF:mode>3): Make public.
12557
125582022-01-14  Eric Botcazou  <ebotcazou@adacore.com>
12559
12560	* ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
12561	reverse flag as "reverse" for the sake of consistency.
12562	* ipa-sra.c: Fix copyright year.
12563	(ipa_sra_function_summaries::duplicate): Copy the reverse flag.
12564	(dump_isra_access): Tweak dump line.
12565	(isra_write_node_summary): Write the reverse flag.
12566	(isra_read_node_info): Read it.
12567	(pull_accesses_from_callee): Test its consistency and copy it.
12568
125692022-01-14  Richard Sandiford  <richard.sandiford@arm.com>
12570
12571	PR middle-end/104026
12572	* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
12573	partial_load_store_bias.
12574
125752022-01-14  Martin Sebor  <msebor@redhat.com>
12576
12577	PR middle-end/101475
12578	* pointer-query.cc (handle_component_ref): Use the size of
12579	the enclosing object if it's smaller than the member.
12580
125812022-01-14  Martin Liska  <mliska@suse.cz>
12582
12583	* configure: Regenerate.
12584
125852022-01-14  Uroš Bizjak  <ubizjak@gmail.com>
12586
12587	* config/i386/i386.md (*add<mode>_1_slp"):
12588	Mark alternative 1 output operand earlyclobbered.
12589	(*sub<mode>_1_slp): Ditto.
12590	(*and<mode>_1_slp): Ditto.
12591	(*<code><mode>_1_slp): Ditto.
12592	(*neg<mode>_1_slp): Ditto.
12593	(*one_cmpl<mode>_1_slp): Ditto.
12594	(*ashl<mode>3_1_slp): Ditto.
12595	(*<insn><mode>3_1_slp): Ditto.
12596	(*<insn><mode>3_1_slp): Ditto.
12597
125982022-01-14  Kewen Lin  <linkw@linux.ibm.com>
12599
12600	PR tree-optimization/104015
12601	* tree-vect-loop.c (vect_analyze_loop): Check
12602	param_vect_partial_vector_usage for supports_partial_vectors.
12603
126042022-01-14  Jakub Jelinek  <jakub@redhat.com>
12605
12606	PR c++/89074
12607	* fold-const.c (address_compare): Punt on comparison of address of
12608	one object with address of end of another object if
12609	folding_initializer.
12610
126112022-01-14  Jakub Jelinek  <jakub@redhat.com>
12612
12613	PR target/98737
12614	* tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
12615	__atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
12616	and __atomic_op_fetch (p, x, y) iop x into
12617	__atomic_fetch_op (p, x, y).
12618
126192022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
12620
12621	* config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
12622	(DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
12623	(INCOMING_RETURN_ADDR_RTX): Likewise.
12624	(DWARF_ALT_FRAME_RETURN_COLUMN): Define.
12625
126262022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
12627
12628	* config/arc/arc.c (arc_compute_frame_size): Remove condition when
12629	computin checking accumulator regs.
12630	(arc_expand_prologue): Update comments.
12631	(arc_expand_epilogue): Likewise.
12632
126332022-01-14  Roger Sayle  <roger@nextmovesoftware.com>
12634	    Uroš Bizjak  <ubizjak@gmail.com>
12635
12636	* config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
12637	(ix86_expand_ti_to_v1ti): Use force_reg.
12638	(ix86_expand_v1ti_shift): Use force_reg.
12639	(ix86_expand_v1ti_rotate): Use force_reg.
12640	(ix86_expand_v1ti_ashiftrt): Provide new three operation
12641	implementations for shifts by 111..126 bits.  Use force_reg.
12642
126432022-01-14  Martin Liska  <mliska@suse.cz>
12644
12645	* common/config/arm/arm-common.c (arm_target_mode): Fix
12646	warning: unterminated quoting directive [-Wformat=].
12647
126482022-01-14  Siddhesh Poyarekar  <siddhesh@gotplt.org>
12649
12650	PR tree-optimization/104009
12651	* tree-object-size.c (compute_builtin_object_size): Bail out on
12652	negative offset.
12653	(plus_stmt_object_size): Return maximum of wholesize and minimum
12654	of 0 for negative offset.
12655
126562022-01-14  liuhongt  <hongtao.liu@intel.com>
12657
12658	PR target/104001
12659	PR target/94790
12660	PR target/104014
12661	* config/i386/i386.md (*xor2andn): Refine predicate of
12662	operands[0] from nonimmediate_operand to
12663	register_operand, remove TARGET_AVX512BW from condition.
12664
126652022-01-14  David Malcolm  <dmalcolm@redhat.com>
12666
12667	* doc/extend.texi (Function Attributes): Note that "tainted_args" can
12668	be used on field decls.
12669	(Common Function Attributes): Add entry on "tainted_args" attribute.
12670
126712022-01-13  Anthony Sharp  <anthonysharp15@gmail.com>
12672	    Jason Merrill  <jason@redhat.com>
12673
12674	PR c++/70417
12675	* doc/invoke.texi: Documentation for Wmissing-template-keyword.
12676
126772022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
12678
12679	PR target/103861
12680	* config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
12681	(*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
12682	* config/i386/mmx.md (<any_shift:insn>v2qi):
12683	New insn_and_split pattern.
12684
126852022-01-13  Robin Dapp  <rdapp@linux.ibm.com>
12686
12687	* internal-fn.c (expand_partial_load_optab_fn): Add bias.
12688	(expand_partial_store_optab_fn): Likewise.
12689	(internal_len_load_store_bias): New function.
12690	* internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
12691	(internal_len_load_store_bias): New function.
12692	* tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
12693	(vect_set_loop_condition_partial_vectors): Add header_seq parameter.
12694	* tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
12695	(vect_estimate_min_profitable_iters): Account for bias.
12696	(vect_get_loop_len): Add bias-adjusted length.
12697	* tree-vect-stmts.c (vectorizable_store): Use.
12698	(vectorizable_load): Use.
12699	* tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
12700	(LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
12701	* config/rs6000/vsx.md: Use const0 bias predicate.
12702	* doc/md.texi: Document bias value.
12703
127042022-01-13  Andrew MacLeod  <amacleod@redhat.com>
12705
12706	PR tree-optimization/83072
12707	PR tree-optimization/83073
12708	PR tree-optimization/97909
12709	* fold-const.c (expr_not_equal_to): Use a multi-range class.
12710
127112022-01-13  Andrew MacLeod  <amacleod@redhat.com>
12712
12713	PR tree-optimization/96707
12714	* range-op.cc (operator_rshift::lhs_op1_relation): New.
12715
127162022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
12717
12718	* config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
12719	Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
12720	(negv2qi splitters): Use lowpart_subreg instead of
12721	gen_lowpart to create subreg.
12722	(<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
12723	Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
12724	(<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
12725	gen_lowpart to create subreg.
12726	* config/i386/i386.md (*subqi_ext<mode>_2): Move.
12727
127282022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
12729
12730	PR target/104003
12731	* config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
12732
127332022-01-13  Martin Liska  <mliska@suse.cz>
12734
12735	* common/config/arm/arm-common.c (arm_target_mode): Wrap
12736	keywords with %<, %> and remove trailing punctuation char.
12737	(arm_canon_arch_option_1): Likewise.
12738	(arm_asm_auto_mfpu): Likewise.
12739	* config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
12740	* config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
12741	(use_vfp_abi): Likewise.
12742	(aapcs_vfp_is_call_or_return_candidate): Likewise.
12743	(arm_handle_cmse_nonsecure_entry): Likewise.
12744	(arm_handle_cmse_nonsecure_call): Likewise.
12745	(thumb1_md_asm_adjust): Likewise.
12746
127472022-01-13  Paul A. Clarke  <pc@us.ibm.com>
12748
12749	* config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
12750	_mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
12751	_MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
12752	_MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
12753	_MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
12754	_MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
12755	(_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
12756	_mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
12757	macro.
12758
127592022-01-13  Jakub Jelinek  <jakub@redhat.com>
12760
12761	PR tree-optimization/103989
12762	* tree-inline.c (setup_one_parameter): Don't copy parms with
12763	empty type.
12764
127652022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
12766
12767	* tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
12768	'TYPE_ADDR_SPACE' for offloading.
12769	* tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
12770	'TYPE_ADDR_SPACE' for offloading.
12771
127722022-01-13  Julian Brown  <julian@codesourcery.com>
12773	    Thomas Schwinge  <thomas@codesourcery.com>
12774
12775	* omp-oacc-kernels-decompose.cc (add_wait): New function, split out
12776	of...
12777	(add_async_clauses_and_wait): ...here. Call new outlined function.
12778	(decompose_kernels_region_body): Add wait at the end of
12779	explicitly-asynchronous kernels regions.
12780
127812022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
12782
12783	PR middle-end/100280
12784	* omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
12785	Mark variables used in synthesized data clauses as addressable.
12786
127872022-01-13  Martin Liska  <mliska@suse.cz>
12788
12789	* config/epiphany/epiphany.c (epiphany_mode_priority):
12790	Use gcc_unreachable for not handled cases.
12791
127922022-01-13  Martin Liska  <mliska@suse.cz>
12793
12794	* config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
12795	Use %qs format specifier.
12796	(epiphany_override_options): Wrap keyword in %<, %>.
12797
127982022-01-13  Haochen Jiang  <haochen.jiang@intel.com>
12799
12800	PR target/94790
12801	* config/i386/i386.md (*xor2andn): New define_insn_and_split.
12802
128032022-01-13  Xionghu Luo  <luoxhu@linux.ibm.com>
12804
12805	* config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
12806
128072022-01-12  Uroš Bizjak  <ubizjak@gmail.com>
12808
12809	PR target/100637
12810	PR target/103861
12811	* config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
12812	(ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
12813	when constructing vector logic RTXes.
12814	(expand_vec_perm_pshufb2): Ditto.
12815	* config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
12816	(<plusminus:insn>v2qi3): Ditto.
12817	(vcond<mode><mode>): Re-enable for TARGET_SSE2.
12818	(vcondu<mode><mode>): Ditto.
12819	(vcond_mask_<mode><mode>): Ditto.
12820	(one_cmpl<VI_32:mode>2): Remove expander.
12821	(one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
12822	Use VI_16_32 mode iterator.
12823	(one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
12824	Use lowpart_subreg instead of gen_lowpart to create subreg.
12825	(*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
12826	"*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
12827	Disparage GPR alternative a bit.  Add CC clobber.
12828	(*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
12829	Use lowpart_subreg instead of gen_lowpart to create subreg.
12830	(*<any_logic:code><VI_16_32:mode>3): Merge from
12831	"*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
12832	using VI_16_32 mode iterator.  Disparage GPR alternative a bit.
12833	Add CC clobber.
12834	(*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
12835	iterator.  Use lowpart_subreg instead of gen_lowpart to create subreg.
12836
128372022-01-12  Clément Chigot  <clement.chigot@atos.net>
12838
12839	* configure.ac: Check sizeof ino_t and dev_t.
12840	(HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
12841	syscall being able to handle 64bit inodes.
12842	* config.in: Regenerate.
12843	* configure: Regenerate.
12844	* incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
12845	(remove_duplicates): Use it.
12846
128472022-01-12  Andrew MacLeod  <amacleod@redhat.com>
12848
12849	PR tree-optimization/103551
12850	* tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
12851
128522022-01-12  Richard Biener  <rguenther@suse.de>
12853
12854	PR tree-optimization/103990
12855	* tree-pass.h (tail_merge_optimize): Drop unused argument.
12856	* tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
12857	* tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
12858	and adjust call to tail_merge_optimize.
12859
128602022-01-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>
12861
12862	* tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
12863	does not add autovectorize_vector_modes.
12864
128652022-01-12  Martin Liska  <mliska@suse.cz>
12866
12867	* config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
12868	%qs where possible.
12869	(aarch64_parse_sve_width_string): Likewise.
12870	(aarch64_override_options_internal): Likewise.
12871	(aarch64_print_hint_for_extensions): Likewise.
12872	(aarch64_validate_sls_mitigation): Likewise.
12873	(aarch64_handle_attr_arch): Likewise.
12874	(aarch64_handle_attr_cpu): Likewise.
12875	(aarch64_handle_attr_tune): Likewise.
12876	(aarch64_handle_attr_isa_flags): Likewise.
12877
128782022-01-12  Martin Liska  <mliska@suse.cz>
12879
12880	* config.gcc: Include elfos.h before ${tm_file}.
12881
128822022-01-12  Hans-Peter Nilsson  <hp@axis.com>
12883
12884	* config/cris/cris.c: Quote identifiers in parameters to error
12885	and internal_error, and remove extraneous spaces with punctuation.
12886	* config/cris/cris.h (CRIS_ASSERT): When passing on stringified
12887	expression to internal_error, pass it as a parameter instead of
12888	appending it to the format part.
12889
128902022-01-12  Hans-Peter Nilsson  <hp@axis.com>
12891
12892	* config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
12893	parameter to as_a.
12894
128952022-01-11  qing zhao  <qing.zhao@oracle.com>
12896
12897	* gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
12898	Change the 3rd argument of function .DEFERRED_INIT to the name of the
12899	decl.
12900	(gimplify_decl_expr): Delete the 3rd argument when call
12901	gimple_add_init_for_auto_var.
12902	* internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
12903	the 3rd argument change of function .DEFERRED_INIT.
12904	* tree-cfg.c (verify_gimple_call): Update comments and verification
12905	to reflect the 3rd argument change of function .DEFERRED_INIT.
12906	* tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
12907	(sra_modify_deferred_init): Change the 3rd argument of function
12908	.DEFERRED_INIT to the name of the decl.
12909
129102022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
12911
12912	* flag-types.h (enum gfc_convert): Add flags for
12913	conversion.
12914
129152022-01-11  Michael Meissner  <meissner@the-meissners.org>
12916
12917	* config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
12918	checks for only C/C++ front ends before allowing the long double
12919	format to change without a warning.
12920
129212022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
12922
12923	PR rtl-optimization/103974
12924	* ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
12925	extra argument, default true, that says whether old-reload
12926	targets should be excluded.
12927	* ira-color.c (color_pass): Pass false.
12928
129292022-01-11  Uroš Bizjak  <ubizjak@gmail.com>
12930
12931	PR target/103861
12932	* config/i386/mmx.md (vcond<mode><mode>):
12933	Use VI_16_32 mode iterator.  Enable for TARGET_SSE4_1.
12934	(vcondu<mode><mode>): Ditto.
12935	(vcond_mask_<mode><mode>): Ditto.
12936	(mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
12937	(mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
12938	Use VI_16_32 mode iterator.
12939	* config/i386/i386-expand.c (ix86_expand_sse_movcc):
12940	Update for rename.  Handle V2QImode.
12941	(expand_vec_perm_blend): Update for rename.
12942
129432022-01-11  Jakub Jelinek  <jakub@redhat.com>
12944
12945	PR c++/101597
12946	* tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
12947
129482022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
12949
12950	PR middle-end/70090
12951	* tree-object-size.c (size_valid_p): New function.
12952	(size_for_offset): Remove OFFSET constness assertion.
12953	(addr_object_size): Build dynamic expressions for object
12954	sizes and use size_valid_p to decide if it is valid for the
12955	given OBJECT_SIZE_TYPE.
12956	(compute_builtin_object_size): Allow dynamic offsets when
12957	computing size at O0.
12958	(call_object_size): Call size_valid_p.
12959	(plus_stmt_object_size): Allow non-constant offset and use
12960	size_valid_p to decide if it is valid for the given
12961	OBJECT_SIZE_TYPE.
12962
129632022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
12964
12965	PR middle-end/70090
12966	* tree-object-size.c (alloc_object_size): Make and return
12967	non-constant size expression.
12968	(call_object_size): Return expression or unknown based on
12969	whether dynamic object size is requested.
12970
129712022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
12972
12973	PR middle-end/70090
12974	* tree-object-size.c: Include tree-dfa.h.
12975	(parm_object_size): New function.
12976	(collect_object_sizes_for): Call it.
12977
129782022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
12979
12980	PR middle-end/70090
12981	* builtins.c (fold_builtin_object_size): Adjust for dynamic size
12982	expressions.
12983	* tree-object-size.c: Include gimplify-me.h.
12984	(struct object_size_info): New member UNKNOWNS.
12985	(size_initval_p, size_usable_p, object_sizes_get_raw): New
12986	functions.
12987	(object_sizes_get): Return suitable gimple variable for
12988	object size.
12989	(bundle_sizes): New function.
12990	(object_sizes_set): Use it and handle dynamic object size
12991	expressions.
12992	(object_sizes_set_temp): New function.
12993	(size_for_offset): Adjust for dynamic size expressions.
12994	(emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
12995	New functions.
12996	(compute_builtin_object_size): Call gimplify_size_expressions
12997	for OST_DYNAMIC.
12998	(dynamic_object_size): New function.
12999	(cond_expr_object_size): Use it.
13000	(phi_dynamic_object_size): New function.
13001	(collect_object_sizes_for): Call it for OST_DYNAMIC.  Adjust to
13002	accommodate dynamic object sizes.
13003
130042022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
13005	    Jakub Jelinek  <jakub@redhat.com>
13006
13007	PR tree-optimization/103961
13008	* tree-object-size.c (plus_stmt_object_size): Always avoid
13009	computing offset for -1 size.
13010
130112022-01-11  Andrew MacLeod  <amacleod@redhat.com>
13012
13013	PR tree-optimization/103821
13014	* range-op.cc (range_operator::fold_range): Only do precise ranges
13015	when there are not too many subranges.
13016
130172022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
13018
13019	* ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
13020	definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
13021
130222022-01-11  Roger Sayle  <roger@nextmovesoftware.com>
13023	    Richard Biener  <rguenther@suse.de>
13024
13025	* tree-ssa-math-opts.c (struct widen_mul_stats): Add a
13026	highpart_mults_inserted field.
13027	(convert_mult_to_highpart): New function to convert right shift
13028	of a widening multiply into a MULT_HIGHPART_EXPR.
13029	(math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
13030	Call new convert_mult_to_highpart function.
13031	(pass_optimize_widening_mul::execute): Add a statistics counter
13032	for tracking "highpart multiplications inserted" events.
13033
130342022-01-11  Xionghu Luo  <luoxhu@linux.ibm.com>
13035
13036	PR target/102239
13037	* config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
13038	declare.
13039	* config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
13040	function.
13041	* config/rs6000/rs6000.md (*branch_anddi3_dot): New.
13042
130432022-01-11  Olivier Hainque  <hainque@adacore.com>
13044
13045	* gcc.c (driver_handle_option): State --sysroot as
13046	validated.
13047
130482022-01-11  Kewen Lin  <linkw@linux.ibm.com>
13049
13050	* config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
13051	useless related to option -mno-power10.
13052
130532022-01-11  Haochen Jiang  <haochen.jiang@intel.com>
13054
13055	PR target/53652
13056	* config/i386/sse.md (*andnot<mode>3): Extend predicate of
13057	operands[1] from register_operand to vector_operand.
13058
130592022-01-10  Uroš Bizjak  <ubizjak@gmail.com>
13060
13061	PR target/103861
13062	* config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
13063	Handle V2QImode.
13064	* config/i386/mmx.md (<sat_plusminus:insn><mode>3):
13065	Use VI1_16_32 mode iterator.
13066	(*eq<mode>3): Ditto.
13067	(*gt<mode>3): Ditto.
13068	(*xop_maskcmp<mode>3): Ditto.
13069	(*xop_maskcmp_uns<mode>3): Ditto.
13070	(vec_cmp<mode><mode>): Ditto.
13071	(vec_cmpu<mode><mode>): Ditto.
13072
130732022-01-10  Richard Biener  <rguenther@suse.de>
13074
13075	PR tree-optimization/103948
13076	* tree-vect-generic.c (expand_vector_condition): Return true if
13077	all ones vector is returned for true, all zeros vector for false
13078	and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
13079
130802022-01-10  Paul A. Clarke  <pc@us.ibm.com>
13081
13082	* config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
13083	when _ARCH_PWR10. Use signed types.
13084	(_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
13085	(_mm_blendv_pd): Likewise.
13086
130872022-01-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
13088
13089	* tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
13090	epilogue costing.
13091	* tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
13092	epilogues, unless we are guaranteed that we can't have partial vectors.
13093	* genopinit.c: (partial_vectors_supported): Generate new function.
13094
130952022-01-10  Jakub Jelinek  <jakub@redhat.com>
13096
13097	PR target/102024
13098	* config/i386/i386.c (classify_argument): Add zero_width_bitfields
13099	argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
13100	always ignore them, when seeing other zero sized bitfields, either
13101	set zero_width_bitfields to 1 and ignore it or if equal to 2 process
13102	it.  Pass it to recursive calls.  Add wrapper
13103	with old arguments and diagnose ABI differences for C structures
13104	with zero width bitfields.  Formatting fixes.
13105
131062022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13107
13108	PR rtl-optimization/98782
13109	* ira-int.h (ira_soft_conflict): Declare.
13110	* ira-color.c (max_soft_conflict_loop_depth): New constant.
13111	(ira_soft_conflict): New function.
13112	(spill_soft_conflicts): Likewise.
13113	(assign_hard_reg): Use them to handle the case described by
13114	the comment above ira_soft_conflict.
13115	(improve_allocation): Likewise.
13116	* ira.c (check_allocation): Allow allocnos with "soft" conflicts
13117	to share the same register.
13118
131192022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13120
13121	PR rtl-optimization/98782
13122	* ira-int.h (ira_caller_save_cost): New function.
13123	(ira_caller_save_loop_spill_p): Likewise.
13124	* ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
13125	cheaper to spill a call-clobbered register throughout a loop rather
13126	than spill it around each individual call.  If so, treat all
13127	call-clobbered registers as conflicts and...
13128	(propagate_allocno_info): ...do not propagate call information
13129	from the child to the parent.
13130	* ira-color.c (move_spill_restore): Update accordingly.
13131	* ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
13132
131332022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13134
13135	PR rtl-optimization/98782
13136	* ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
13137	(ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
13138	(ira_single_region_allocno_p): New function.
13139	(ira_total_conflict_hard_regs): Likewise.
13140	* ira-build.c (ira_create_allocno): Initialize
13141	ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
13142	(ira_propagate_hard_reg_costs): New function.
13143	(propagate_allocno_info): Use it.  Try to avoid propagating
13144	hard register conflicts to parent allocnos if we can handle
13145	the conflicts by spilling instead.  Limit the propagated
13146	register costs to the cost of spilling throughout the child loop.
13147	* ira-color.c (color_pass): Use ira_single_region_allocno_p to
13148	test whether a child and parent allocno can share the same
13149	register.
13150	(move_spill_restore): Adjust for the new behavior of
13151	propagate_allocno_info.
13152
131532022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13154
13155	PR rtl-optimization/98782
13156	* ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
13157	extracted from...
13158	* ira-color.c (color_pass): ...here.
13159
131602022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13161
13162	PR rtl-optimization/98782
13163	* ira-color.c (color_pass): Add comments to describe the spill costs.
13164	(move_spill_restore): Likewise.  Fix reversed calculation.
13165
131662022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13167
13168	PR rtl-optimization/98782
13169	* ira-int.h (ira_loop_border_costs): New class.
13170	* ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
13171	New constructor.
13172	(calculate_allocno_spill_cost): Use ira_loop_border_costs.
13173	(color_pass): Likewise.
13174	(move_spill_restore): Likewise.
13175
131762022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
13177
13178	PR target/103465
13179	* coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
13180
131812022-01-10  Richard Biener  <rguenther@suse.de>
13182
13183	PR tree-optimization/100359
13184	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
13185	Allow non-growing peeling with !allow_peel and UL_ALL.
13186
131872022-01-08  Roger Sayle  <roger@nextmovesoftware.com>
13188
13189	* config/i386/i386-expand.c (ix86_expand_vector_move): Add
13190	special case for TImode to V1TImode moves, going via V2DImode.
13191
131922022-01-08  Jakub Jelinek  <jakub@redhat.com>
13193
13194	PR c++/89074
13195	* match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
13196	simplification.
13197
131982022-01-08  David Malcolm  <dmalcolm@redhat.com>
13199
13200	* doc/analyzer.texi
13201	(Special Functions for Debugging the Analyzer): Document
13202	__analyzer_dump_escaped.
13203
132042022-01-08  David Malcolm  <dmalcolm@redhat.com>
13205
13206	* doc/analyzer.texi (Other Debugging Techniques): Document
13207	region::is_named_decl_p.
13208
132092022-01-07  Andrew Pinski  <apinski@marvell.com>
13210
13211	PR target/102941
13212	* config/arm/aarch-common.c (arm_md_asm_adjust):
13213	Use a temp if !REG_P.
13214
132152022-01-07  Uroš Bizjak  <ubizjak@gmail.com>
13216
13217	* config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
13218	(*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
13219
132202022-01-07  liuhongt  <hongtao.liu@intel.com>
13221
13222	PR rtl-optimization/103750
13223	* fwprop.c (forward_propagate_into): Allow propagations from
13224	inner loop to outer loop.
13225
132262022-01-07  Roger Sayle  <roger@nextmovesoftware.com>
13227
13228	* config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
13229
132302022-01-07  Haochen Gui  <guihaoc@gcc.gnu.org>
13231
13232	* config/rs6000/rs6000.md (rs6000_mffscrni): Define.
13233	(rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
13234	Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
13235
132362022-01-07  liuhongt  <hongtao.liu@intel.com>
13237
13238	* config/i386/sse.md
13239	(*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
13240	UNSPEC_PCMP_UNSIGNED.
13241
132422022-01-07  liuhongt  <hongtao.liu@intel.com>
13243
13244	PR target/103753
13245	* config/i386/i386-expand.c (ix86_expand_vector_set): Not use
13246	gen_avx2_pblendph_1 when elt == 0.
13247	* config/i386/sse.md (avx2_pblendph): Rename to ..
13248	(avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
13249	(*avx2_pblendw): Rename to ..
13250	(*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
13251	(avx2_pblendw): Rename to ..
13252	(*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
13253	(blendsuf): Removed.
13254	(sse4_1_pblend<blendsuf>): Renamed to ..
13255	(sse4_1_pblend<ssemodesuffix>): .. this.
13256
132572022-01-06  H.J. Lu  <hjl.tools@gmail.com>
13258
13259	PR target/103925
13260	* config/i386/i386.c (ix86_output_indirect_function_return):
13261	Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
13262
132632022-01-06  H.J. Lu  <hjl.tools@gmail.com>
13264
13265	PR target/102952
13266	* config/i386/i386-opts.h (harden_sls): Replace
13267	harden_sls_indirect_branch with harden_sls_indirect_jmp.
13268	* config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
13269	Likewise.
13270	(ix86_output_indirect_jmp): Likewise.
13271	(ix86_output_call_insn): Likewise.
13272	* config/i386/i386.opt: Replace indirect-branch with
13273	indirect-jmp.  Replace harden_sls_indirect_branch with
13274	harden_sls_indirect_jmp.
13275	* doc/invoke.texi (-harden-sls=): Replace indirect-branch with
13276	indirect-jmp.
13277
132782022-01-06  Uroš Bizjak  <ubizjak@gmail.com>
13279
13280	* config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
13281	Add %q modifier for operands in general registers.
13282	<MODE_SI>: Add %q modifier for operands in general registers.
13283	* config/i386/i386.md (*movhi_internal): Change type attribute of
13284	xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
13285	to SImode for non-avx512fp16 targets.
13286	(*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
13287	* config/i386/mmx.md (*movv2qi_internal):
13288	Ditto for xmm-gpr interunit alternatives 8,9.
13289
132902022-01-06  Kito Cheng  <kito.cheng@sifive.com>
13291
13292	* common/config/riscv/riscv-common.c (riscv_implied_info): Add
13293	vector extensions.
13294	(riscv_ext_version_table): Add version info for vector extensions.
13295	(riscv_ext_flag_table): Add option mask for vector extensions.
13296	* config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
13297	(MASK_VECTOR_EEW_64): New.
13298	(MASK_VECTOR_EEW_FP_32): New.
13299	(MASK_VECTOR_EEW_FP_64): New.
13300	(MASK_ZVL32B): New.
13301	(MASK_ZVL64B): New.
13302	(MASK_ZVL128B): New.
13303	(MASK_ZVL256B): New.
13304	(MASK_ZVL512B): New.
13305	(MASK_ZVL1024B): New.
13306	(MASK_ZVL2048B): New.
13307	(MASK_ZVL4096B): New.
13308	(MASK_ZVL8192B): New.
13309	(MASK_ZVL16384B): New.
13310	(MASK_ZVL32768B): New.
13311	(MASK_ZVL65536B): New.
13312	(TARGET_ZVL32B): New.
13313	(TARGET_ZVL64B): New.
13314	(TARGET_ZVL128B): New.
13315	(TARGET_ZVL256B): New.
13316	(TARGET_ZVL512B): New.
13317	(TARGET_ZVL1024B): New.
13318	(TARGET_ZVL2048B): New.
13319	(TARGET_ZVL4096B): New.
13320	(TARGET_ZVL8192B): New.
13321	(TARGET_ZVL16384B): New.
13322	(TARGET_ZVL32768B): New.
13323	(TARGET_ZVL65536B): New.
13324	* config/riscv/riscv.opt (Mask(VECTOR)): New.
13325	(riscv_vector_eew_flags): New.
13326	(riscv_zvl_flags): New.
13327
133282022-01-06  Kito Cheng  <kito.cheng@sifive.com>
13329
13330	* common/config/riscv/riscv-common.c
13331	(riscv_subset_list::parse_multiletter_ext): Allow ext. name has
13332	digit.
13333
133342022-01-06  Jakub Jelinek  <jakub@redhat.com>
13335
13336	PR tree-optimization/103899
13337	* expr.c (expand_expr_real_1): Add a workaround for bogus uninit
13338	warning by moving context variable to the only spot where it is used
13339	and moving gcc_assert into if body.
13340
133412022-01-06  Jakub Jelinek  <jakub@redhat.com>
13342
13343	PR rtl-optimization/103908
13344	* ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
13345	asm goto.
13346
133472022-01-05  Bill Schmidt  <wschmidt@linux.ibm.com>
13348
13349	PR target/103622
13350	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
13351	Skip over instances with undefined function types.
13352
133532022-01-05  Andrew Pinski  <apinski@marvell.com>
13354
13355	PR target/103910
13356	* config/i386/i386.h (x86_mfence): Mark with GTY.
13357
133582022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
13359
13360	PR target/103861
13361	* config/i386/mmx.md (VI_16_32): New mode iterator.
13362	(VI1_16_32): Ditto.
13363	(mmxvecsize): Handle V2QI mode.
13364	(<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
13365	Use VI1_16_32 mode iterator.
13366	(<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
13367	Use VI1_16_32 mode iterator.
13368	(abs<mode>2): Use VI_16_32 mode iterator.
13369	(uavgv2qi3_ceil): New insn pattern.
13370
133712022-01-05  Martin Sebor  <msebor@redhat.com>
13372
13373	* gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
13374	%qs to avoid -Wformat-diag.
13375
133762022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
13377
13378	PR target/103915
13379	* config/i386/mmx.md (one_cmplv2qi2): Change
13380	alternatives 1,2 type from sselog to sselog1.
13381
133822022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
13383
13384	PR target/103905
13385	* config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
13386	narrow mode remapped elements for !one_operand_p case.
13387
133882022-01-05  Richard Biener  <rguenther@suse.de>
13389
13390	PR tree-optimization/103816
13391	* tree-vect-data-refs.c (vect_analyze_group_access_1): Also
13392	check DR_GROUP_GAP compute for overflow and representability.
13393
133942022-01-05  Jakub Jelinek  <jakub@redhat.com>
13395
13396	PR fortran/103691
13397	* gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
13398	for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
13399	it can do unwanted rhs folding like &a[0] into &2.0 etc.
13400
134012022-01-05  Kewen Lin  <linkw@linux.ibm.com>
13402
13403	PR ipa/102059
13404	* config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
13405	(TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
13406	(rs6000_need_ipa_fn_target_info): New function.
13407	(rs6000_update_ipa_fn_target_info): Likewise.
13408	(rs6000_can_inline_p): Adjust for ipa function summary target info.
13409	* config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
13410	* ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
13411	summary target info.
13412	(analyze_function_body): Adjust for ipa function summary target info
13413	and call hook rs6000_need_ipa_fn_target_info and
13414	rs6000_update_ipa_fn_target_info.
13415	(ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
13416	target info.
13417	(inline_read_section): Likewise.
13418	(ipa_fn_summary_write): Likewise.
13419	* ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
13420	* doc/tm.texi: Regenerate.
13421	* doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
13422	(TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
13423	* target.def (update_ipa_fn_target_info): New hook.
13424	(need_ipa_fn_target_info): Likewise.
13425	* targhooks.c (default_need_ipa_fn_target_info): New function.
13426	(default_update_ipa_fn_target_info): Likewise.
13427	* targhooks.h (default_update_ipa_fn_target_info): New declare.
13428	(default_need_ipa_fn_target_info): Likewise.
13429
134302022-01-04  Martin Sebor  <msebor@redhat.com>
13431
13432	PR middle-end/99612
13433	* builtins.c (get_memmodel): Move warning code to
13434	gimple-ssa-warn-access.cc.
13435	(expand_builtin_atomic_compare_exchange): Same.
13436	(expand_ifn_atomic_compare_exchange): Same.
13437	(expand_builtin_atomic_load): Same.
13438	(expand_builtin_atomic_store): Same.
13439	(expand_builtin_atomic_clear): Same.
13440	* doc/extend.texi (__atomic_exchange_n): Update valid memory
13441	models.
13442	* gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
13443	(struct memmodel_pair): New struct.
13444	(memmodel_name): New function.
13445	(pass_waccess::maybe_warn_memmodel): New function.
13446	(pass_waccess::check_atomic_memmodel): New function.
13447	(pass_waccess::check_atomic_builtin): Handle memory model.
13448	* input.c (expansion_point_location_if_in_system_header): Return
13449	original location if expansion location is in a system header.
13450
134512022-01-04  Uroš Bizjak  <ubizjak@gmail.com>
13452
13453	PR target/103861
13454	* config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
13455	(one_cmplv2qi3 splitters): New post-reload splitters.
13456	(*andnotv2qi3): New insn pattern.
13457	(andnotv2qi3 splitters): New post-reload splitters.
13458	(<any_logic:code>v2qi3): New insn pattern.
13459	(<any_logic:insn>v2qi3 splitters): New post-reload splitters.
13460
134612022-01-04  Richard Biener  <rguenther@suse.de>
13462
13463	PR tree-optimization/103800
13464	* tree-vect-loop.c (vectorizable_phi): Remove assert and
13465	expand comment.
13466
134672022-01-04  Richard Biener  <rguenther@suse.de>
13468
13469	PR tree-optimization/103690
13470	* tree-pass.h (tail_merge_optimize): Adjust.
13471	* tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
13472	to re-split critical edges, move CFG cleanup ...
13473	* tree-ssa-pre.c (pass_pre::execute): ... here, before
13474	simple_dce_from_worklist and delay freeing inserted_exprs from
13475	...
13476	(fini_pre): .. here.
13477
134782022-01-04  Roger Sayle  <roger@nextmovesoftware.com>
13479
13480	* config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
13481	* config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
13482	(setcc_from_bi): Remove SImode specific pattern.
13483	(setcc<mode>_from_bi): Provide more general HSDIM pattern.
13484	(extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
13485	for sign- and zero-extending BImode predicates to integers.
13486	(setcc_int<mode>): Remove previous (-1-based) instructions.
13487	(cstorebi4): Remove BImode to SImode specific expander.
13488	(cstore<mode>4): Fix indentation.  Expand using setccsi_from_bi.
13489	(cstore<mode>4): For both integer and floating point modes.
13490
134912022-01-04  Olivier Hainque  <hainque@adacore.com>
13492
13493	* gcc.c (driver_handle_option): do_save --sysroot.
13494
134952022-01-04  Richard Biener  <rguenther@suse.de>
13496
13497	PR tree-optimization/103864
13498	PR tree-optimization/103544
13499	* tree-vect-slp.c (vect_analyze_slp_instance): Exclude
13500	reductions wrapped in conversions from SLP handling.
13501	(vect_analyze_slp): Revert PR103544 change.
13502
135032022-01-04  Jakub Jelinek  <jakub@redhat.com>
13504
13505	PR rtl-optimization/103860
13506	* shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
13507	uselessly for blocks for which it has been called already.
13508
135092022-01-04  Cui,Lili  <lili.cui@intel.com>
13510
13511	* common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
13512	to Alderlake and Rocketlake.
13513
135142022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
13515
13516	PR middle-end/103643
13517	* gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
13518	OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
13519
135202022-01-04  liuhongt  <hongtao.liu@intel.com>
13521
13522	PR target/103895
13523	* config/i386/sse.md (*bit_and_float_vector_all_ones):
13524	Force_reg operand 1 to avoid ICE.
13525
135262022-01-04  Jason Merrill  <jason@redhat.com>
13527
13528	* tree-pretty-print.c (do_niy): Add spc parameter.
13529	(NIY): Pass it.
13530	(print_call_name): Add spc local variable.
13531
135322022-01-03  Uroš Bizjak  <ubizjak@gmail.com>
13533
13534	PR target/103894
13535	* config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
13536	(mov<V_32:mode>_internal): Ditto.
13537	(*push<V_32:mode>_rex64): Ditto.
13538	(movmisalign<V_32:mode>): Ditto.
13539	(*push<V_32:mode>_rex64 splitter): Enable for
13540	TARGET_64BIT && TARGET_SSE.
13541	(*push<V_32:mode>2): Remove insn pattern.
13542
135432022-01-03  Andrew Pinski  <apinski@marvell.com>
13544
13545	PR c/33193
13546	* doc/extend.texi: Extend the documentation about Complex
13547	types for casting and also rewrite the __real__/__imag__
13548	expression portion to use tables.
13549	Move __builtin_complex to the Complex type section.
13550
135512022-01-03  Jakub Jelinek  <jakub@redhat.com>
13552
13553	PR target/98737
13554	* internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
13555	ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
13556	New internal fns.
13557	* internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
13558	ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
13559	ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
13560	* internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
13561	expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
13562	expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
13563	functions.
13564	* optabs.def (atomic_add_fetch_cmp_0_optab,
13565	atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
13566	atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
13567	direct optabs.
13568	* builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
13569	* builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
13570	* tree-ssa-ccp.c: Include internal-fn.h.
13571	(optimize_atomic_bit_test_and): Add . before internal fn call
13572	in function comment.  Change return type from void to bool and
13573	return true only if successfully replaced.
13574	(optimize_atomic_op_fetch_cmp_0): New function.
13575	(pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
13576	for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
13577	BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
13578	for *XOR* ones only if optimize_atomic_bit_test_and failed.
13579	* config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
13580	atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
13581	(atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
13582	atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
13583	* doc/md.texi (atomic_add_fetch_cmp_0<mode>,
13584	atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
13585	atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
13586	new named patterns.
13587
135882022-01-03  Richard Biener  <rguenther@suse.de>
13589
13590	PR middle-end/103851
13591	* tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
13592
135932022-01-03  Jakub Jelinek  <jakub@redhat.com>
13594
13595	PR c++/94716
13596	* symtab.c: Include fold-const.h.
13597	(symtab_node::equal_address_to): If folding_initializer is true,
13598	handle it like memory_accessed.  Simplify.
13599
136002022-01-03  Martin Liska  <mliska@suse.cz>
13601
13602	* doc/extend.texi: Use ; for function declarations.
13603
136042022-01-03  Jakub Jelinek  <jakub@redhat.com>
13605
13606	PR c++/103600
13607	* symtab.c (symtab_node::equal_address_to): Return 0 if one of
13608	VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
13609
136102022-01-03  Jakub Jelinek  <jakub@redhat.com>
13611
13612	* gcc.c (process_command): Update copyright notice dates.
13613	* gcov-dump.c (print_version): Ditto.
13614	* gcov.c (print_version): Ditto.
13615	* gcov-tool.c (print_version): Ditto.
13616	* gengtype.c (create_file): Ditto.
13617	* doc/cpp.texi: Bump @copying's copyright year.
13618	* doc/cppinternals.texi: Ditto.
13619	* doc/gcc.texi: Ditto.
13620	* doc/gccint.texi: Ditto.
13621	* doc/gcov.texi: Ditto.
13622	* doc/install.texi: Ditto.
13623	* doc/invoke.texi: Ditto.
13624
136252022-01-02  Uroš Bizjak  <ubizjak@gmail.com>
13626
13627	PR target/103861
13628	* config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
13629	(VALID_INT_MODE_P): Ditto.
13630	* config/i386/i386.c (ix86_secondary_reload): Handle
13631	V2QImode reloads from SSE register to memory.
13632	(vector_mode_supported_p): Always return true for V2QImode.
13633	* config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
13634	(*negqi_ext<mode>_2): Ditto.
13635	* config/i386/mmx.md (movv2qi): New expander.
13636	(movmisalignv2qi): Ditto.
13637	(*movv2qi_internal): New insn pattern.
13638	(*pushv2qi2): Ditto.
13639	(negv2qi2 and splitters): Ditto.
13640	(<plusminus:insn>v2qi3 and splitters): Ditto.
13641
136422022-01-02  John David Anglin  <danglin@gcc.gnu.org>
13643
13644	* config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
13645	sync_lock_test_and_set libfunc. Call convert_memory_address to
13646	convert memory address to Pmode.
13647	(atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
13648
13649
13650Copyright (C) 2022 Free Software Foundation, Inc.
13651
13652Copying and distribution of this file, with or without modification,
13653are permitted in any medium without royalty provided the copyright
13654notice and this notice are preserved.
13655