]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
Daily bump.
[gcc.git] / gcc / ChangeLog
1 2022-05-16 Sebastian Pop <spop@amazon.com>
2
3 PR target/105162
4 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
5 of str array.
6 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
7 memmodel_from_int and handle MEMMODEL_SYNC_*.
8 (DEF0): Add __aarch64_*_sync functions.
9
10 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
11
12 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
13 instead of a bitwise negation.
14 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
15
16 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
17
18 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
19 is the same on the LHS and RHS before rewriting one with the model
20 of the other.
21
22 2022-05-13 Alexandre Oliva <oliva@adacore.com>
23
24 Backported from master:
25 2022-05-13 Alexandre Oliva <oliva@adacore.com>
26
27 PR rtl-optimization/105455
28 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
29 probabilities for newly-conditional edges.
30
31 2022-05-11 Martin Jambor <mjambor@suse.cz>
32
33 Backported from master:
34 2022-04-29 Martin Jambor <mjambor@suse.cz>
35
36 PR ipa/100413
37 * cgraph.cc (cgraph_node::remove): Release body of the node this
38 is clone_of if appropriate.
39
40 2022-05-10 Jakub Jelinek <jakub@redhat.com>
41
42 Backported from master:
43 2022-05-10 Jakub Jelinek <jakub@redhat.com>
44
45 PR tree-optimization/105528
46 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
47 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
48
49 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
50
51 PR target/105292
52 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
53 true only for 8-byte vector modes.
54
55 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
56
57 Backported from master:
58 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
59
60 PR target/102059
61 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
62 and -mpower10-fusion options for inlining purposes.
63
64 2022-05-06 Richard Biener <rguenther@suse.de>
65
66 Backported from master:
67 2022-04-29 Richard Biener <rguenther@suse.de>
68
69 PR middle-end/105376
70 * tree.cc (build_real): Special case dconst* arguments
71 for decimal floating point types.
72
73 2022-05-06 Richard Biener <rguenther@suse.de>
74
75 Backported from master:
76 2022-05-05 Richard Biener <rguenther@suse.de>
77
78 PR tree-optimization/105484
79 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
80 whether the CFG changed.
81 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
82
83 2022-05-06 Richard Biener <rguenther@suse.de>
84
85 Backported from master:
86 2022-05-03 Richard Biener <rguenther@suse.de>
87
88 PR middle-end/105461
89 * opts.cc (finish_options): Match the condition to
90 disable flag_var_tracking to that of process_options.
91
92 2022-05-06 Richard Biener <rguenther@suse.de>
93
94 Backported from master:
95 2022-05-03 Richard Biener <rguenther@suse.de>
96
97 * opts.cc: #undef OPTIONS_SET_P.
98 (finish_options): Use opts_set instead of OPTIONS_SET_P.
99
100 2022-05-06 Richard Biener <rguenther@suse.de>
101
102 Backported from master:
103 2022-05-02 Richard Biener <rguenther@suse.de>
104
105 PR tree-optimization/105437
106 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
107 case where last_stmt alters control flow.
108
109 2022-05-06 Richard Biener <rguenther@suse.de>
110
111 Backported from master:
112 2022-05-03 Richard Biener <rguenther@suse.de>
113
114 PR tree-optimization/105394
115 * tree-vect-generic.cc (expand_vector_condition): Adjust
116 comp_width for non-integer mode masks as well.
117
118 2022-05-06 Release Manager
119
120 * GCC 12.1.0 released.
121
122 2022-05-02 Jakub Jelinek <jakub@redhat.com>
123
124 Backported from master:
125 2022-05-02 Jakub Jelinek <jakub@redhat.com>
126
127 * system.h: Include initializer_list.
128
129 2022-04-28 Jakub Jelinek <jakub@redhat.com>
130
131 PR lto/105399
132 * cgraph.cc (cgraph_node::verify_node): Don't verify
133 semantic_interposition flag against
134 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
135
136 2022-04-28 Jakub Jelinek <jakub@redhat.com>
137
138 PR target/105331
139 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
140 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
141 of it.
142
143 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
144
145 * doc/install.texi (Configuration): Remove misleading text
146 around LE PowerPC Linux multilibs.
147
148 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
149
150 PR d/103528
151 * doc/install.texi (Tools/packages necessary for building GCC)
152 (GDC): Document libphobos requirement.
153 (Host/target specific installation notes for GCC, *-*-solaris2*):
154 Document libphobos and GDC specifics.
155
156 2022-04-28 Richard Biener <rguenther@suse.de>
157
158 PR tree-optimization/105219
159 * tree-vect-loop.cc (vect_transform_loop): Disable
160 special code narrowing the vectorized epilogue max
161 iterations when peeling for alignment or gaps was in effect.
162
163 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
164
165 * config/loongarch/loongarch.cc
166 (loongarch_flatten_aggregate_field): Ignore empty fields for
167 RECORD_TYPE.
168
169 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
170
171 * config/loongarch/loongarch.md: Add fdiv define_expand template,
172 then generate floating-point division and floating-point reciprocal
173 instructions.
174
175 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
176
177 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
178 to PLV instruction templates.
179
180 2022-04-27 Richard Biener <rguenther@suse.de>
181
182 PR middle-end/104492
183 * gimple-ssa-warn-access.cc
184 (pass_waccess::warn_invalid_pointer): Exclude equality compare
185 diagnostics for all kind of invalidations.
186 (pass_waccess::check_dangling_uses): Fix post-dominator query.
187 (pass_waccess::check_pointer_uses): Likewise.
188
189 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
190
191 PR target/102024
192 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
193 prototype.
194 * config/s390/s390.cc (s390_single_field_struct_p): New function.
195 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
196 (s390_function_arg_float): Likewise.
197
198 2022-04-27 Jakub Jelinek <jakub@redhat.com>
199
200 PR sanitizer/105396
201 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
202 where offset is bigger than off but smaller than m_prev_offset + 32
203 bits by pushing one or more 0 bytes. Sink the
204 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
205 all cases to the end of the function.
206
207 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
208
209 PR target/105271
210 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
211 stanza.
212
213 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
214
215 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
216 data-share memory exhausted" error more verbose.
217
218 2022-04-26 Martin Liska <mliska@suse.cz>
219
220 PR lto/105364
221 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
222 (run_gcc): Parse OPT_fdiagnostics_urls_.
223 (main): Initialize global_dc.
224
225 2022-04-26 Jakub Jelinek <jakub@redhat.com>
226
227 PR rtl-optimization/105314
228 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
229 operand is equal to if_info->x, instead use the non-zero operand
230 as one of the operands of AND with if_info->x as target.
231
232 2022-04-26 Jakub Jelinek <jakub@redhat.com>
233
234 PR tree-optimization/105374
235 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
236 !fold_convertible_p rather than assuming fold_convert must succeed.
237
238 2022-04-26 Jakub Jelinek <jakub@redhat.com>
239
240 PR target/105367
241 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
242 el_mode == DFmode ? double_type_node : float_type_node instead of
243 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
244
245 2022-04-25 David Malcolm <dmalcolm@redhat.com>
246
247 PR analyzer/104308
248 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
249 the location of new_stmt in all places that don't already set it,
250 whether explicitly, or via a call to gsi_replace.
251
252 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
253
254 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
255
256 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
257
258 PR tree-optimization/105276
259 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
260 existing global range with calculated value.
261
262 2022-04-25 Richard Biener <rguenther@suse.de>
263
264 PR tree-optimization/105368
265 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
266
267 2022-04-25 Richard Biener <rguenther@suse.de>
268
269 PR tree-optimization/100810
270 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
271 (find_ssa_undef): New function.
272 (add_candidate_1): Avoid adding derived candidates with
273 undefined SSA names and mark the original ones.
274 (determine_group_iv_cost_generic): Reject rewriting
275 uses with a different IV when that involves undefined SSA names.
276
277 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
278
279 PR target/89125
280 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
281 bsd_libc_has_function.
282 * targhooks.cc (bsd_libc_has_function): New function.
283 Expand the supported math functions to inclue C99 libm.
284 * targhooks.h (bsd_libc_has_function): New Prototype.
285
286 2022-04-25 Richard Biener <rguenther@suse.de>
287
288 PR rtl-optimization/105231
289 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
290 with landing pad > 0 is from i3. Put any REG_EH_REGION note
291 on i3 or drop it if the insn can not trap.
292 (try_combine): Ensure that we can merge REG_EH_REGION notes
293 with non-call exceptions. Ensure we are not splitting a
294 trapping part of an insn with non-call exceptions when there
295 is any REG_EH_REGION note to preserve.
296
297 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
298
299 PR target/105339
300 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
301 Add parentheses for parameters and djust format.
302 (_mm512_mask_scalef_round_pd): Ditto.
303 (_mm512_maskz_scalef_round_pd): Ditto.
304 (_mm512_scalef_round_ps): Ditto.
305 (_mm512_mask_scalef_round_ps): Ditto.
306 (_mm512_maskz_scalef_round_ps): Ditto.
307 (_mm_scalef_round_sd): Use _mm_undefined_pd.
308 (_mm_scalef_round_ss): Use _mm_undefined_ps.
309 (_mm_mask_scalef_round_sd): New macro.
310 (_mm_mask_scalef_round_ss): Ditto.
311 (_mm_maskz_scalef_round_sd): Ditto.
312 (_mm_maskz_scalef_round_ss): Ditto.
313
314 2022-04-23 Jakub Jelinek <jakub@redhat.com>
315
316 PR target/105338
317 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
318 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
319 cases.
320
321 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
322
323 PR target/105334
324 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
325 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
326 (pack<mode>_hard for FMOVE128): ... this...
327 (pack<mode>_soft for FMOVE128): ... and this.
328
329 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
330
331 * doc/extend.texi: Correct "This" to "These".
332
333 2022-04-22 Jakub Jelinek <jakub@redhat.com>
334
335 PR rtl-optimization/105333
336 * rtlanal.cc (replace_rtx): Use simplify_subreg or
337 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
338 CONST_INT_P.
339
340 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
341
342 PR target/103197
343 PR target/102146
344 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
345 the "Z" alternatives in {l,st}{f,xs}iwzx.
346 (zero_extendhi<mode>2 for EXTHI): Ditto.
347 (zero_extendsi<mode>2 for EXTSI): Ditto.
348 (*movsi_internal1): Ditto.
349 (*mov<mode>_internal1 for QHI): Ditto.
350 (movsd_hardfloat): Ditto.
351
352 2022-04-21 Martin Liska <mliska@suse.cz>
353
354 * configure.ac: Enable compressed debug sections for mold
355 linker.
356 * configure: Regenerate.
357
358 2022-04-21 Jakub Jelinek <jakub@redhat.com>
359
360 PR debug/105203
361 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
362 on DEBUG_INSNs.
363
364 2022-04-20 Richard Biener <rguenther@suse.de>
365
366 PR tree-optimization/104912
367 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
368 the cost model check to a separate BB to make sure it is
369 checked first and not combined with other version checks.
370
371 2022-04-20 Richard Biener <rguenther@suse.de>
372
373 PR tree-optimization/105312
374 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
375 VCOND and VCONDU for EQ and NE.
376
377 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
378
379 PR ipa/103818
380 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
381 poly_offset_int to avoid overflow.
382 (modref_access_node::update2): likewise.
383
384 2022-04-20 Jakub Jelinek <jakub@redhat.com>
385
386 PR ipa/105306
387 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
388 to opt_for_fn (decl, flag_semantic_interposition).
389 * cgraphclones.cc (cgraph_node::create_clone): Copy over
390 semantic_interposition flag.
391
392 2022-04-19 Sergei Trofimovich <siarheit@google.com>
393
394 PR gcov-profile/105282
395 * value-prof.cc (stream_out_histogram_value): Allow negative counts
396 on HIST_TYPE_INDIR_CALL.
397
398 2022-04-19 Jakub Jelinek <jakub@redhat.com>
399
400 PR target/105257
401 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
402 use gen_raw_REG instead of gen_rtx_REG and copy over also
403 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
404
405 2022-04-19 Richard Biener <rguenther@suse.de>
406
407 PR tree-optimization/104010
408 PR tree-optimization/103941
409 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
410 we run into stmts in patterns continue walking those
411 for uses outside of the vectorized region instead of
412 marking the lane live.
413
414 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
415
416 * doc/install.texi <CRIS>: Remove references to removed websites and
417 adjust for cris-*-elf being the only remaining toolchain.
418
419 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
420
421 * doc/invoke.texi <CRIS>: Remove references to options for removed
422 subtarget cris-axis-linux-gnu and tweak wording accordingly.
423
424 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
425
426 * doc/install.texi (Specific): Adjust mingw-w64 download link.
427
428 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
429
430 * config/i386/smmintrin.h: Correct target pragma from sse4.1
431 and sse4.2 to crc32 for crc32 intrinsics.
432
433 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
434
435 PR debug/105089
436 * ctfc.cc (ctf_dvd_ignore_insert): New function.
437 (ctf_dvd_ignore_lookup): Likewise.
438 (ctf_add_variable): Keep track of non-defining decl DIEs.
439 (new_ctf_container): Initialize the new hash-table.
440 (ctfc_delete_container): Empty hash-table.
441 * ctfc.h (struct ctf_container): Add new hash-table.
442 (ctf_dvd_ignore_lookup): New declaration.
443 (ctf_add_variable): Add additional argument.
444 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
445 record for non-defining decl for which a defining decl exists
446 in the same TU.
447 (ctf_preprocess): Defer updating the number of global objts
448 until here.
449 (output_ctf_header): Use ctfc_vars_list_count as some CTF
450 variables may not make it to the final output.
451 (output_ctf_vars): Likewise.
452 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
453 if this is known to be a non-defining decl DIE.
454
455 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
456
457 * ctfc.h (struct ctf_container): Introduce a new member.
458 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
459 variable.
460
461 2022-04-14 Jakub Jelinek <jakub@redhat.com>
462
463 PR target/105247
464 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
465 or rotates by VOIDmode constant integer shift count use word_mode
466 for the operand if int_mode is narrower than word.
467
468 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
469
470 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
471 (s390_get_unit_mask): Likewise.
472 (s390_is_fpd): Likewise.
473 (s390_is_fxd): Likewise.
474 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
475 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
476 Add z16.
477 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
478 Likewise.
479 * config/s390/3931.md: New file.
480
481 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
482
483 PR tree-optimization/105254
484 * config/aarch64/aarch64.cc
485 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
486 loop_vec_info as argument. Restrict the unroll factor to values
487 that divide the VF.
488 (aarch64_vector_costs::finish_cost): Update call accordingly.
489
490 2022-04-13 Richard Biener <rguenther@suse.de>
491
492 PR tree-optimization/105263
493 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
494 negates in multiplication chains with DFP.
495
496 2022-04-13 Jakub Jelinek <jakub@redhat.com>
497
498 PR middle-end/105253
499 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
500 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
501 comparisons or tree_nop_conversion_p checks.
502
503 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
504
505 PR target/103069
506 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
507 Add missing set to target_val at pause label.
508
509 2022-04-13 Jakub Jelinek <jakub@redhat.com>
510
511 PR target/105234
512 * attribs.cc (decl_attributes): Don't set
513 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
514 NULL.
515
516 2022-04-13 Richard Biener <rguenther@suse.de>
517
518 PR tree-optimization/105250
519 * fold-const.cc (fold_convertible_p): Revert
520 r12-7979-geaaf77dd85c333, instead check for size equality
521 of the vector types involved.
522
523 2022-04-13 Richard Biener <rguenther@suse.de>
524
525 Revert:
526 2022-04-13 Richard Biener <rguenther@suse.de>
527
528 PR tree-optimization/104912
529 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
530 the cost model check to a separate BB to make sure it is
531 checked first and not combined with other version checks.
532
533 2022-04-13 Richard Biener <rguenther@suse.de>
534
535 PR tree-optimization/104912
536 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
537 the cost model check to a separate BB to make sure it is
538 checked first and not combined with other version checks.
539
540 2022-04-13 Jakub Jelinek <jakub@redhat.com>
541
542 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
543
544 2022-04-12 Antoni Boucher <bouanto@zoho.com>
545
546 PR jit/104072
547 * reginfo.cc: New functions (clear_global_regs_cache,
548 reginfo_cc_finalize) to avoid an issue where compiling the same
549 code multiple times gives an error about assigning the same
550 register to 2 global variables.
551 * rtl.h: New function (reginfo_cc_finalize).
552 * toplev.cc: Call it.
553
554 2022-04-12 Antoni Boucher <bouanto@zoho.com>
555
556 PR jit/104071
557 * toplev.cc: Call the new function tree_cc_finalize in
558 toplev::finalize.
559 * tree.cc: New functions (clear_nonstandard_integer_type_cache
560 and tree_cc_finalize) to clear the cache of non-standard integer
561 types to avoid having issues with some optimizations of
562 bitcast where the SSA_NAME will have a size of a cached
563 integer type that should have been invalidated, causing a
564 comparison of integer constant to fail.
565 * tree.h: New function (tree_cc_finalize).
566
567 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
568
569 PR target/97348
570 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
571 * config/nvptx/nvptx.opt (misa): Adjust comment.
572
573 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
574
575 Revert:
576 2022-03-03 Tom de Vries <tdevries@suse.de>
577
578 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
579
580 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
581
582 Revert:
583 2022-03-31 Tom de Vries <tdevries@suse.de>
584
585 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
586
587 2022-04-12 Richard Biener <rguenther@suse.de>
588
589 PR ipa/104303
590 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
591 include local escaped memory as obviously necessary stores.
592
593 2022-04-12 Richard Biener <rguenther@suse.de>
594
595 PR tree-optimization/105235
596 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
597 return whether the CFG changed.
598 (execute_cse_sincos_1): Adjust.
599
600 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
601
602 PR target/104144
603 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
604 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
605 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
606 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
607 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
608 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
609 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
610
611 2022-04-12 Richard Biener <rguenther@suse.de>
612
613 PR tree-optimization/105232
614 * tree.cc (component_ref_size): Bail out for too large
615 or non-constant sizes.
616
617 2022-04-12 Richard Biener <rguenther@suse.de>
618
619 PR tree-optimization/105226
620 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
621 we can split the exit of an outer loop we choose to version.
622
623 2022-04-12 Jakub Jelinek <jakub@redhat.com>
624
625 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
626 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
627 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
628 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
629 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
630 Formatting fix.
631 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
632
633 2022-04-12 Jakub Jelinek <jakub@redhat.com>
634
635 PR target/105214
636 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
637 do_pending_stack_adjust.
638
639 2022-04-12 Jakub Jelinek <jakub@redhat.com>
640
641 PR rtl-optimization/105211
642 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
643 fails for TREE_TYPE (arg), retry it with
644 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
645 fails, emit call normally.
646
647 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
648
649 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
650 * config.gcc: Add z16 as march/mtune switch.
651 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
652 Recognize z16 with -march=native.
653 * config/s390/s390-opts.h (enum processor_type): Rename
654 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
655 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
656 (PROCESSOR_3931_Z16): ... throughout the file.
657 (s390_processor processor_table): Add z16 as cpu string.
658 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
659 PF_Z16.
660 (TARGET_CPU_ARCH14): Rename to ...
661 (TARGET_CPU_Z16): ... this.
662 (TARGET_CPU_ARCH14_P): Rename to ...
663 (TARGET_CPU_Z16_P): ... this.
664 (TARGET_ARCH14): Rename to ...
665 (TARGET_Z16): ... this.
666 (TARGET_ARCH14_P): Rename to ...
667 (TARGET_Z16_P): ... this.
668 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
669 check TARGET_Z16 instead of TARGET_ARCH14.
670 * config/s390/s390.opt: Add z16 to processor_type.
671 * doc/invoke.texi: Document z16 and arch14.
672
673 2022-04-12 chenglulu <chenglulu@loongson.cn>
674
675 * config/loongarch/loongarch.cc: Fix bug for
676 tmpdir-g++.dg-struct-layout-1/t033.
677
678 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
679
680 PR target/104894
681 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
682 to longcall functions.
683
684 2022-04-11 Jason Merrill <jason@redhat.com>
685
686 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
687
688 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
689
690 PR target/105213
691 PR target/103623
692 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
693
694 2022-04-11 Jakub Jelinek <jakub@redhat.com>
695
696 PR tree-optimization/105218
697 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
698 more than one predecessor or phi's bb more than 2 predecessors,
699 reset phi result uses instead of adding a debug temp.
700
701 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
702
703 PR target/104853
704 * config.gcc: Pass -misa-spec to arch-canonicalize and
705 multilib-generator.
706 * config/riscv/arch-canonicalize: Adding -misa-spec option.
707 (SUPPORTED_ISA_SPEC): New.
708 (arch_canonicalize): New argument `isa_spec`.
709 Handle multiple ISA spec versions.
710 * config/riscv/multilib-generator: Adding -misa-spec option.
711
712 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
713
714 * config/riscv/arch-canonicalize: Add TODO item.
715 (IMPLIED_EXT): Sync.
716 (arch_canonicalize): Checking until no change.
717
718 2022-04-11 Tamar Christina <tamar.christina@arm.com>
719
720 PR target/105197
721 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
722 not masked.
723
724 2022-04-11 Jason Merrill <jason@redhat.com>
725
726 PR c++/100370
727 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
728 deref == -1.
729
730 2022-04-11 Jakub Jelinek <jakub@redhat.com>
731
732 PR tree-optimization/104639
733 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
734 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
735 into x != cst3.
736
737 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
738
739 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
740 sign bit of the source ends up in CC.
741
742 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
743
744 PR ipa/103376
745 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
746 flag.
747
748 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
749
750 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
751 nondeterministic and side_effects flags.
752
753 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
754
755 PR target/105157
756 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
757 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
758 (TARGET_CPU_MASK): Likewise.
759 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
760 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
761 (aarch64_get_arch): Likewise.
762 (aarch64_override_options): Use TARGET_CPU_NBITS.
763
764 2022-04-08 Richard Biener <rguenther@suse.de>
765
766 PR tree-optimization/105198
767 * tree-predcom.cc (find_looparound_phi): Check whether
768 the found memory location of the entry value is clobbered
769 inbetween the value we want to use and loop entry.
770
771 2022-04-08 Jakub Jelinek <jakub@redhat.com>
772
773 PR tree-optimization/105189
774 * fold-const.cc (make_range_step): Fix up handling of
775 (unsigned) x +[low, -] ranges for signed x if low fits into
776 typeof (x).
777
778 2022-04-08 Richard Biener <rguenther@suse.de>
779
780 PR tree-optimization/105175
781 * tree-vect-stmts.cc (vectorizable_operation): Suppress
782 -Wvector-operation-performance if using emulated vectors.
783 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
784 -Wvector-operation-performance when suppressed.
785 (expand_vector_parallel): Likewise.
786 (expand_vector_comparison): Likewise.
787 (expand_vector_condition): Likewise.
788 (lower_vec_perm): Likewise.
789 (expand_vector_conversion): Likewise.
790
791 2022-04-07 Tamar Christina <tamar.christina@arm.com>
792
793 PR target/104409
794 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
795 (aarch64_general_init_builtins): Move LS64 code.
796 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
797 arm_acle.h
798 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
799 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
800
801 2022-04-07 Richard Biener <rguenther@suse.de>
802 Jan Hubicka <hubicka@ucw.cz>
803
804 PR ipa/104303
805 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
806 ref_may_alias_global_p, ref_may_alias_global_p,
807 stmt_may_clobber_global_p, pt_solution_includes_global): Add
808 bool parameters indicating whether escaped locals should be
809 considered global.
810 * tree-ssa-structalias.cc (pt_solution_includes_global):
811 When the new escaped_nonlocal_p flag is true also consider
812 pt->vars_contains_escaped.
813 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
814 Pass down new escaped_nonlocal_p flag.
815 (ref_may_alias_global_p): Likewise.
816 (stmt_may_clobber_global_p): Likewise.
817 (ref_may_alias_global_p_1): Likewise. For decls also
818 query the escaped solution if true.
819 (ref_may_access_global_memory_p): Remove.
820 (modref_may_conflict): Use ref_may_alias_global_p with
821 escaped locals considered global.
822 (ref_maybe_used_by_stmt_p): Adjust.
823 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
824 Likewise.
825 * tree-ssa-dse.cc (dse_classify_store): Likewise.
826 * trans-mem.cc (thread_private_new_memory): Likewise, but
827 consider escaped locals global.
828 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
829
830 2022-04-07 Richard Biener <rguenther@suse.de>
831
832 PR tree-optimization/105185
833 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
834 modref query again.
835
836 2022-04-07 Tamar Christina <tamar.christina@arm.com>
837
838 PR target/104049
839 * config/aarch64/aarch64-simd.md
840 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
841 (reduc_plus_scal_<mode>): ... This.
842 (reduc_plus_scal_v4sf): Moved.
843 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
844 (reduc_plus_scal_v2si): ... This.
845
846 2022-04-07 Jakub Jelinek <jakub@redhat.com>
847
848 PR tree-optimization/102586
849 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
850 langhook.
851 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
852 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
853 * gimple-fold.cc (clear_padding_type): Use ftype instead of
854 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
855 name try the lang_hooks.types.classtype_as_base langhook and
856 if it returns non-NULL, use that instead of ftype for recursive call.
857
858 2022-04-07 Jakub Jelinek <jakub@redhat.com>
859
860 PR tree-optimization/105150
861 * tree.cc (tree_builtin_call_types_compatible_p): New function.
862 (get_call_combined_fn): Use it.
863
864 2022-04-07 Richard Biener <rguenther@suse.de>
865
866 PR middle-end/105165
867 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
868 _Complex outputs.
869
870 2022-04-07 liuhongt <hongtao.liu@intel.com>
871
872 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
873 Removed.
874 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
875 for mask_applied.
876 (<code><mode>3<mask_name>): Ditto.
877 (*<code><mode>3<mask_name>): Ditto.
878 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
879 real instruction.
880 (VFB_512): Ditto.
881 (VFB): Ditto.
882
883 2022-04-06 Jakub Jelinek <jakub@redhat.com>
884
885 PR rtl-optimization/104985
886 * combine.cc (struct undo): Add where.regno member.
887 (do_SUBST_MODE): Rename to ...
888 (subst_mode): ... this. Change first argument from rtx * into int,
889 operate on regno_reg_rtx[regno] and save regno into where.regno.
890 (SUBST_MODE): Remove.
891 (try_combine): Use subst_mode instead of SUBST_MODE, change first
892 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
893 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
894 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
895 instead of *undo->where.r.
896 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
897 argument from regno_reg_rtx[whatever] to whatever.
898
899 2022-04-06 Jakub Jelinek <jakub@redhat.com>
900
901 PR target/105069
902 * config/sh/sh.opt (mdiv=): Add Save.
903
904 2022-04-06 Martin Liska <mliska@suse.cz>
905
906 PR driver/105096
907 * common.opt: Document properly based on what it does.
908 * gcc.cc (display_help): Unify with what we have in common.opt.
909 * opts.cc (common_handle_option): Do not print undocumented
910 options.
911
912 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
913
914 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
915 cxx17_empty_base_field_p fields and set an indicator.
916 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
917 (mips_function_value_1): Inform psABI change about C++17 empty
918 bases.
919
920 2022-04-06 Jakub Jelinek <jakub@redhat.com>
921
922 PR tree-optimization/105150
923 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
924 builtin_decl_explicit here...
925 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
926 here.
927
928 2022-04-06 Richard Biener <rguenther@suse.de>
929
930 PR tree-optimization/105173
931 * tree-ssa-reassoc.cc (find_insert_point): Get extra
932 insert_before output argument and compute it.
933 (insert_stmt_before_use): Adjust.
934 (rewrite_expr_tree): Likewise.
935
936 2022-04-06 Richard Biener <rguenther@suse.de>
937
938 PR ipa/105166
939 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
940 out for non-pointer arguments.
941
942 2022-04-06 Richard Biener <rguenther@suse.de>
943
944 PR tree-optimization/105163
945 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
946 negated abnormals.
947
948 2022-04-06 Jakub Jelinek <jakub@redhat.com>
949
950 PR tree-optimization/105150
951 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
952 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
953 preferrably on builtin_decl_explicit decl rather than fndecl.
954 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
955 gimple_builtin_call_types_compatible_p here.
956
957 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
958
959 PR tree-optimization/103761
960 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
961 the ncopies parameter with an slp_node parameter. Calculate the
962 number of vectors based on it and vectype. Rename lambda to
963 group_memory_nvectors.
964 (vectorizable_store, vectorizable_load): Update calls accordingly.
965
966 2022-04-06 Martin Liska <mliska@suse.cz>
967
968 * doc/invoke.texi: Document it.
969
970 2022-04-06 Richard Biener <rguenther@suse.de>
971
972 PR tree-optimization/105148
973 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
974 2 and 3 of ARRAY_REFs.
975
976 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
977
978 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
979 (*andnottf3): Replace with...
980 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
981
982 2022-04-06 Richard Biener <rguenther@suse.de>
983
984 PR tree-optimization/105142
985 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
986 basic-block parameter.
987 (maybe_fold_or_comparisons): Likewise.
988 * gimple-fold.cc (follow_outer_ssa_edges): New.
989 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
990 when an outer condition basic-block is specified.
991 (and_comparisons_1, and_var_with_comparison,
992 and_var_with_comparison_1, or_comparisons_1,
993 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
994 down the outer condition basic-block.
995 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
996 basic-block of the outer condition.
997
998 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
999
1000 PR target/105002
1001 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
1002 comparison codes UNLT/UNLE/UNGT/UNGE.
1003
1004 2022-04-05 David Malcolm <dmalcolm@redhat.com>
1005
1006 * doc/extend.texi (Common Function Attributes): Document that
1007 'access' does not imply 'nonnull'.
1008
1009 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
1010
1011 PR target/105139
1012 * config/i386/mmx.md (*movv2qi_internal):
1013 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
1014
1015 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
1016
1017 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
1018 define_expand and turn operands 0 and 1 from REGs to MEMs.
1019 (*aarch64_cpymemdi): New pattern.
1020 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
1021 from a REG to a MEM.
1022 (*aarch64_setmemdi): New pattern.
1023 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
1024 copy_to_mode_reg on all three registers. Replace the original
1025 MEM addresses rather than creating wild reads and writes.
1026 (aarch64_expand_setmem_mops): Likewise for the size and for the
1027 destination memory and address.
1028
1029 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
1030
1031 PR target/103147
1032 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
1033 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
1034 from aarch64_simd_switcher.
1035 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
1036 New variable.
1037 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
1038 (register_tuple_type): Add more asserts. Expect the alignment
1039 of the structure to be subject to flag_pack_struct and
1040 maximum_field_alignment. Set aarch64_simd_tuple_modes.
1041 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
1042 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
1043 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
1044 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
1045 while calling aarch64_init_simd_builtins.
1046 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
1047 (sve_switcher::~sve_switcher): Remove code now performed by
1048 aarch64_simd_switcher.
1049
1050 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
1051
1052 PR target/104897
1053 * config/aarch64/aarch64-sve-builtins.cc
1054 (function_resolver::infer_vector_or_tuple_type): Use error_n
1055 for "%d vectors" messages.
1056
1057 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
1058
1059 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
1060 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
1061 current clause.
1062
1063 2022-04-05 Richard Biener <rguenther@suse.de>
1064
1065 PR c/105151
1066 * passes.def (pass_walloca): Move early instance into
1067 pass_build_ssa_passes to make SSA form available.
1068
1069 2022-04-05 liuhongt <hongtao.liu@intel.com>
1070
1071 PR target/101908
1072 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
1073 function
1074 (ix86_reorg): Call ix86_split_stlf_stall_load.
1075 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
1076 param.
1077
1078 2022-04-05 Alexandre Oliva <oliva@adacore.com>
1079
1080 * targhooks.cc (default_zero_call_used_regs): Attempt to group
1081 regs that the target refuses to use in their natural modes.
1082 (zcur_select_mode_rtx): New.
1083 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
1084 (hard_regno_max_nregs): Define.
1085 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
1086
1087 2022-04-04 Alex Coplan <alex.coplan@arm.com>
1088
1089 * doc/match-and-simplify.texi: Fix typos.
1090
1091 2022-04-04 Jakub Jelinek <jakub@redhat.com>
1092
1093 PR target/105144
1094 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
1095 only if configured with --enable-maintainer-mode, otherwise compare
1096 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
1097 if they differ, emit a message and fail.
1098
1099 2022-04-04 Jakub Jelinek <jakub@redhat.com>
1100
1101 PR target/105144
1102 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
1103 * config/aarch64/aarch64-tune.md: Regenerated.
1104
1105 2022-04-04 Richard Biener <rguenther@suse.de>
1106
1107 PR tree-optimization/105132
1108 * tree-vect-stmts.cc (vectorizable_operation): Check that
1109 the input vectors have the same number of elements.
1110
1111 2022-04-04 Richard Biener <rguenther@suse.de>
1112
1113 PR middle-end/105140
1114 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
1115
1116 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
1117
1118 PR target/104987
1119 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
1120 (delay slot descripts): Use different delay slot description when
1121 the insn as the "bbi" attribute.
1122 (bbi, bbin patterns): Set the bbi attribute to yes.
1123
1124 2022-04-03 Jakub Jelinek <jakub@redhat.com>
1125
1126 PR target/105123
1127 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
1128 using word as target for expand_simple_binop when doing ASHIFT and
1129 IOR.
1130
1131 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
1132
1133 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
1134 NULL before dereferencing it.
1135
1136 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
1137
1138 * config/i386/i386.cc (zero_all_st_registers): Return the value of
1139 num_of_st.
1140 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
1141 the return value of zero_all_st_registers.
1142 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
1143 * function.cc (gen_call_used_regs_seq): Add an assertion.
1144 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
1145
1146 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
1147
1148 PR target/102024
1149 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
1150 fields, and inform if it causes a psABI change.
1151
1152 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
1153
1154 PR target/102024
1155 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
1156 zero-width bit-fields and set up an indicator.
1157 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
1158 (mips_function_value_1): Diagnose when the presense of a C++
1159 zero-width bit-field changes function returning in GCC 12.
1160
1161 2022-04-01 Jakub Jelinek <jakub@redhat.com>
1162
1163 PR tree-optimization/104645
1164 * tree-ssa-phiopt.cc (value_replacement): If assign has
1165 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
1166 statement with constant evaluation.
1167
1168 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
1169
1170 * config/mips/mips.cc (mips_expand_prologue):
1171 IPL is 8bit for MCU ASE.
1172
1173 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
1174
1175 PR target/104004
1176 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
1177 (MTFSB0): Likewise.
1178 (MTFSB1): Likewise.
1179 (SET_FPSCR_RN): Likewise.
1180 (SET_FPSCR_DRN): Mark nosoft and no32bit.
1181
1182 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
1183
1184 * doc/options.texi (Option file format): Clarifications around
1185 option definition records' help texts.
1186
1187 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
1188
1189 * optc-gen.awk <END>: Fix "Multiple different help strings" error
1190 diagnostic.
1191
1192 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
1193
1194 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
1195 determine_suggested_unroll_factor and m_has_avg.
1196 (determine_suggested_unroll_factor): New function.
1197 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
1198 to set m_nosve_pattern.
1199 (aarch64_vector_costs::finish_costs): Use
1200 determine_suggested_unroll_factor.
1201 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
1202 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
1203
1204 2022-03-31 Martin Jambor <mjambor@suse.cz>
1205
1206 PR ipa/103083
1207 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
1208 (ipa_get_jf_ancestor_keep_null): New function.
1209 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
1210 ancestor function.
1211 (compute_complex_assign_jump_func): Pass false to keep_null
1212 parameter of ipa_set_ancestor_jf.
1213 (compute_complex_ancestor_jump_func): Pass true to keep_null
1214 parameter of ipa_set_ancestor_jf.
1215 (update_jump_functions_after_inlining): Carry over keep_null from the
1216 original ancestor jump-function or merge them.
1217 (ipa_write_jump_function): Stream keep_null flag.
1218 (ipa_read_jump_function): Likewise.
1219 (ipa_print_node_jump_functions_for_edge): Print the new flag.
1220 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
1221 member function known_nonzero_p.
1222 (ipcp_bits_lattice::known_nonzero_p): New.
1223 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
1224 observe it.
1225 (ipcp_bits_lattice::meet_with): Likewise.
1226 (propagate_bits_across_jump_function): Simplify. Pass true in
1227 drop_all_ones when it is necessary.
1228 (propagate_aggs_across_jump_function): Take care of keep_null
1229 flag.
1230 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
1231 jump functions.
1232
1233 2022-03-31 Martin Jambor <mjambor@suse.cz>
1234
1235 PR ipa/102513
1236 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
1237 which do not fit the known value_range.
1238
1239 2022-03-31 Martin Jambor <mjambor@suse.cz>
1240
1241 PR ipa/103171
1242 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
1243 always when an ADDR_EXPR constant is known to reach a load because
1244 of inlining, not just when removing an ADDR reference.
1245
1246 2022-03-31 Richard Biener <rguenther@suse.de>
1247
1248 PR tree-optimization/105109
1249 * tree-ssa.cc (execute_update_addresses_taken): Suppress
1250 diagnostics on the load of the other complex component.
1251
1252 2022-03-31 Tom de Vries <tdevries@suse.de>
1253
1254 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
1255
1256 2022-03-31 Richard Biener <rguenther@suse.de>
1257
1258 PR rtl-optimization/105091
1259 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
1260 bases.
1261
1262 2022-03-31 Richard Biener <rguenther@suse.de>
1263
1264 Revert:
1265 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
1266
1267 PR target/102125
1268 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
1269 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
1270
1271 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
1272
1273 * gcov-io.cc (gcov_read_string): Reword documentation comment.
1274
1275 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
1276
1277 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
1278 stanza.
1279 (NEG_V4SF): Likewise.
1280 (NEG_V4SI): Likewise.
1281 (NEG_V8HI): Likewise.
1282 (NEG_V2DF): Move to [vsx] stanza.
1283 (NEG_V2DI): Likewise.
1284
1285 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
1286
1287 PR middle-end/105032
1288 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
1289
1290 2022-03-30 Tom de Vries <tdevries@suse.de>
1291 Tobias Burnus <tobias@codesourcery.com>
1292
1293 * doc/invoke.texi (march): Document __PTX_SM__.
1294 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
1295 __PTX_ISA_VERSION_MINOR__.
1296
1297 2022-03-30 Jakub Jelinek <jakub@redhat.com>
1298
1299 PR sanitizer/105093
1300 * ubsan.cc (instrument_object_size): If t is equal to inner and
1301 is a decl other than global var, punt. When emitting call to
1302 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
1303
1304 2022-03-30 Jakub Jelinek <jakub@redhat.com>
1305
1306 PR tree-optimization/105094
1307 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
1308 bitsize <= 0 rather than just == 0.
1309
1310 2022-03-30 Tom de Vries <tdevries@suse.de>
1311
1312 * doc/invoke.texi (misa, mptx): Update.
1313 (march, march-map): Add.
1314
1315 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
1316
1317 * opt-functions.awk (n_args): New function.
1318 (lang_enabled_by): Merge function into...
1319 * optc-gen.awk <END>: ... sole user here.
1320 Improve diagnostics.
1321
1322 2022-03-29 Marek Polacek <polacek@redhat.com>
1323 Jakub Jelinek <jakub@redhat.com>
1324
1325 PR middle-end/103597
1326 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
1327 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
1328 (gimplify_cond_expr): Set UNUSED_LABEL_P.
1329 * tree.h (UNUSED_LABEL_P): New.
1330
1331 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
1332
1333 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
1334 be any VSX register.
1335
1336 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
1337
1338 PR target/102024
1339 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
1340 zero-sized bit-fields. Detect cases where a warning may be needed.
1341 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
1342 zero-sized bit-field has caused parameter passing to change.
1343
1344 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
1345
1346 PR target/102024
1347 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
1348 bit-fields. Detect cases where a warning may be needed.
1349 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
1350 a zero-sized bit-field has caused parameter passing to change.
1351
1352 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
1353
1354 PR target/96882
1355 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
1356 ARM_PCS_AAPCS_LOCAL.
1357
1358 2022-03-29 Tom de Vries <tdevries@suse.de>
1359
1360 PR target/104857
1361 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
1362 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
1363 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
1364 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
1365
1366 2022-03-29 Tom de Vries <tdevries@suse.de>
1367
1368 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
1369 is ignored.
1370
1371 2022-03-29 Tom de Vries <tdevries@suse.de>
1372
1373 PR target/104714
1374 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
1375
1376 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
1377
1378 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
1379 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
1380 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
1381 (TARGET_USE_GATHER_4PARTS): New macro.
1382 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
1383 (X86_TUNE_USE_GATHER_4PARTS): New tune
1384
1385 2022-03-29 Tom de Vries <tdevries@suse.de>
1386
1387 * config/nvptx/nvptx.opt (march): Add alias of misa.
1388
1389 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
1390 Lulu Cheng <chenglulu@loongson.cn>
1391
1392 * doc/install.texi: Add LoongArch options section.
1393 * doc/invoke.texi: Add LoongArch options section.
1394 * doc/md.texi: Add LoongArch options section.
1395
1396 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
1397 Lulu Cheng <chenglulu@loongson.cn>
1398
1399 * config/loongarch/loongarch-c.cc
1400
1401 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
1402 Lulu Cheng <chenglulu@loongson.cn>
1403
1404 * config/loongarch/larchintrin.h: New file.
1405 * config/loongarch/loongarch-builtins.cc: New file.
1406
1407 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
1408 Lulu Cheng <chenglulu@loongson.cn>
1409
1410 * config/host-linux.cc: Add LoongArch support.
1411 * config/loongarch/loongarch-protos.h: New file.
1412 * config/loongarch/loongarch-tune.h: Likewise.
1413 * config/loongarch/loongarch.cc: Likewise.
1414 * config/loongarch/loongarch.h: Likewise.
1415
1416 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
1417 Lulu Cheng <chenglulu@loongson.cn>
1418
1419 * config/loongarch/constraints.md: New file.
1420 * config/loongarch/generic.md: New file.
1421 * config/loongarch/la464.md: New file.
1422 * config/loongarch/loongarch-ftypes.def: New file.
1423 * config/loongarch/loongarch-modes.def: New file.
1424 * config/loongarch/loongarch.md: New file.
1425 * config/loongarch/predicates.md: New file.
1426 * config/loongarch/sync.md: New file.
1427
1428 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
1429 Lulu Cheng <chenglulu@loongson.cn>
1430
1431 * configure: Regenerate file.
1432
1433 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
1434 Lulu Cheng <chenglulu@loongson.cn>
1435
1436 * common/config/loongarch/loongarch-common.cc: New file.
1437 * config/loongarch/genopts/genstr.sh: New file.
1438 * config/loongarch/genopts/loongarch-strings: New file.
1439 * config/loongarch/genopts/loongarch.opt.in: New file.
1440 * config/loongarch/loongarch-str.h: New file.
1441 * config/loongarch/gnu-user.h: New file.
1442 * config/loongarch/linux.h: New file.
1443 * config/loongarch/loongarch-cpu.cc: New file.
1444 * config/loongarch/loongarch-cpu.h: New file.
1445 * config/loongarch/loongarch-def.c: New file.
1446 * config/loongarch/loongarch-def.h: New file.
1447 * config/loongarch/loongarch-driver.cc: New file.
1448 * config/loongarch/loongarch-driver.h: New file.
1449 * config/loongarch/loongarch-opts.cc: New file.
1450 * config/loongarch/loongarch-opts.h: New file.
1451 * config/loongarch/loongarch.opt: New file.
1452 * config/loongarch/t-linux: New file.
1453 * config/loongarch/t-loongarch: New file.
1454 * config.gcc: Add LoongArch support.
1455 * configure.ac: Add LoongArch support.
1456
1457 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
1458
1459 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
1460 typo.
1461
1462 2022-03-29 Richard Biener <rguenther@suse.de>
1463
1464 PR tree-optimization/105080
1465 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
1466 loops and SCEV.
1467
1468 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
1469
1470 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
1471 (output_ctf_vars): Likewise.
1472
1473 2022-03-28 Jason Merrill <jason@redhat.com>
1474
1475 PR c++/59426
1476 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
1477
1478 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
1479
1480 PR target/105068
1481 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
1482 "Yw" in clobber.
1483
1484 2022-03-28 Tom de Vries <tdevries@suse.de>
1485
1486 PR target/104818
1487 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
1488 * config/nvptx/nvptx-gen.opt: Regenerate.
1489 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
1490 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
1491 gen-opt.sh.
1492
1493 2022-03-28 David Malcolm <dmalcolm@redhat.com>
1494
1495 PR analyzer/104308
1496 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
1497 to loads then stores, set the location of the new load stmt.
1498
1499 2022-03-28 Richard Biener <rguenther@suse.de>
1500
1501 PR tree-optimization/105070
1502 * tree-switch-conversion.h
1503 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
1504 argument.
1505 * tree-switch-conversion.cc
1506 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
1507 cond with location.
1508 (bit_test_cluster::emit): Annotate all generated expressions
1509 with location.
1510
1511 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
1512
1513 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
1514
1515 2022-03-28 liuhongt <hongtao.liu@intel.com>
1516
1517 PR target/105066
1518 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
1519 alternative 4 from sse4_noavx to noavx.
1520
1521 2022-03-28 Jakub Jelinek <jakub@redhat.com>
1522
1523 PR tree-optimization/105056
1524 * tree-predcom.cc (component::component): Initialize also comp_step.
1525
1526 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
1527
1528 PR target/105068
1529 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
1530 "Yw".
1531
1532 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
1533
1534 PR middle-end/104885
1535 * calls.cc (mark_stack_region_used): Check that the region
1536 is within the allocated size of stack_usage_map.
1537
1538 2022-03-26 Jakub Jelinek <jakub@redhat.com>
1539
1540 PR rtl-optimization/103775
1541 * recog.cc (check_invalid_inc_dec): New function.
1542 (insn_invalid_p): Return 1 if REG_INC operand overlaps
1543 any stored REGs.
1544
1545 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
1546
1547 PR target/105058
1548 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
1549 (aes<aesklvariant>u8): Likewise.
1550
1551 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
1552
1553 PR target/105052
1554 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
1555 Replace "Yv" with "x".
1556 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
1557 (ssse3_psign<mode>3): Likewise.
1558
1559 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
1560
1561 * reload.cc (find_reloads): Align comment with code where
1562 considering the intersection of register classes then tweaking the
1563 regclass for the current alternative or rejecting it.
1564
1565 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
1566
1567 PR target/104882
1568 Revert
1569 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
1570
1571 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
1572 (mve_vec_unpack<US>_hi_<mode>): Delete.
1573 (@mve_vec_pack_trunc_lo_<mode>): Delete.
1574 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
1575 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
1576 from vec-common.md.
1577 (vec_unpack<US>_lo_<mode>): Likewise.
1578 (vec_pack_trunc_<mode>): Rename from
1579 neon_quad_vec_pack_trunc_<mode>.
1580 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
1581 (vec_unpack<US>_lo_<mode>): Delete.
1582 (vec_pack_trunc_<mode>): Delete.
1583
1584 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
1585
1586 PR middle-end/104971
1587 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
1588 regs to clear remove_p flag.
1589
1590 2022-03-25 Richard Biener <rguenther@suse.de>
1591
1592 PR tree-optimization/105053
1593 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
1594 the correct live-out stmt for a reduction chain.
1595
1596 2022-03-25 Richard Biener <rguenther@suse.de>
1597
1598 PR middle-end/105049
1599 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
1600 CONSTRUCTOR first elements.
1601
1602 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
1603
1604 PR analyzer/103533
1605 * doc/invoke.texi (Static Analyzer Options): Move
1606 @ignore block after @gccoptlist's '}' for 'make pdf'.
1607
1608 2022-03-25 David Malcolm <dmalcolm@redhat.com>
1609
1610 PR analyzer/104954
1611 * doc/invoke.texi (Static Analyzer Options): Add
1612 -fdump-analyzer-untracked.
1613
1614 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
1615
1616 PR analyzer/103533
1617 * doc/invoke.texi: Document that enabling taint analyzer
1618 checker disables some warnings from `-fanalyzer`.
1619
1620 2022-03-24 Alexandre Oliva <oliva@adacore.com>
1621
1622 PR debug/104564
1623 * gimple-harden-conditionals.cc (detach_value): Keep temps
1624 anonymous.
1625
1626 2022-03-24 Alexandre Oliva <oliva@adacore.com>
1627
1628 PR middle-end/104975
1629 * gimple-harden-conditionals.cc
1630 (pass_harden_compares::execute): Force split in case of
1631 multiple edges.
1632
1633 2022-03-24 Jakub Jelinek <jakub@redhat.com>
1634
1635 PR c++/105035
1636 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
1637 field0 or field1 is not a FIELD_DECL, return false.
1638
1639 2022-03-24 Richard Biener <rguenther@suse.de>
1640
1641 * tree-predcom.cc (chain::chain): Add CTOR.
1642 (component::component): Likewise.
1643 (pcom_worker::release_chain): Use delete.
1644 (release_components): Likewise.
1645 (pcom_worker::filter_suitable_components): Likewise.
1646 (pcom_worker::split_data_refs_to_components): Use new.
1647 (make_invariant_chain): Likewise.
1648 (make_rooted_chain): Likewise.
1649 (pcom_worker::combine_chains): Likewise.
1650 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
1651 Make sure to release previously constructed scalar_results.
1652 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
1653 for vec_offsets.
1654 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
1655 Release m_flag_set_edges.
1656
1657 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
1658
1659 PR tree-optimization/104970
1660 * tree-object-size.cc (parm_object_size): Restrict size
1661 computation scenarios to explicit access attributes.
1662
1663 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
1664
1665 PR target/104967
1666 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
1667 function types.
1668
1669 2022-03-23 Richard Biener <rguenther@suse.de>
1670
1671 PR target/102125
1672 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
1673 use of movmisalign when either the source or destination
1674 decl is properly aligned.
1675
1676 2022-03-23 Richard Biener <rguenther@suse.de>
1677
1678 PR rtl-optimization/105028
1679 * ira-color.cc (form_threads_from_copies): Remove unnecessary
1680 copying of the sorted_copies tail.
1681
1682 2022-03-23 Martin Liska <mliska@suse.cz>
1683
1684 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
1685 Use %qs in format.
1686 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
1687 Reword the error message.
1688
1689 2022-03-23 liuhongt <hongtao.liu@intel.com>
1690
1691 PR target/104976
1692 * config/i386/sse.md (ssePSmodelower): New.
1693 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
1694 lowpart_subreg to avoid NULL_RTX.
1695 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
1696 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
1697 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
1698 <avx512>_<complexopname>_<mode>_mask<round_name>,
1699 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
1700 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
1701 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
1702 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
1703 float<floatunssuffix><mode>v4hf2,
1704 float<floatunssuffix>v2div2hf2,
1705 fix<fixunssuffix>_truncv4hf<mode>2,
1706 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
1707 extendv2hfv2df2,
1708 trunc<mode>v4hf2,truncv2dfv2hf2,
1709 *avx512bw_permvar_truncv16siv16hi_1,
1710 *avx512bw_permvar_truncv16siv16hi_1_hf,
1711 *avx512f_permvar_truncv8siv8hi_1,
1712 *avx512f_permvar_truncv8siv8hi_1_hf,
1713 *avx512f_vpermvar_truncv8div8si_1,
1714 *avx512f_permvar_truncv32hiv32qi_1,
1715 *avx512f_permvar_truncv16hiv16qi_1,
1716 *avx512f_permvar_truncv4div4si_1,
1717 *avx512f_pshufb_truncv8hiv8qi_1,
1718 *avx512f_pshufb_truncv4siv4hi_1,
1719 *avx512f_pshufd_truncv2div2si_1,
1720 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
1721 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
1722
1723 2022-03-22 Tom de Vries <tdevries@suse.de>
1724
1725 PR target/104925
1726 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
1727 Use % as register prefix.
1728
1729 2022-03-22 Tom de Vries <tdevries@suse.de>
1730
1731 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
1732 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
1733 mexperimental.
1734
1735 2022-03-22 Tom de Vries <tdevries@suse.de>
1736
1737 * config/nvptx/nvptx.opt (mexperimental): New option.
1738
1739 2022-03-22 Tom de Vries <tdevries@suse.de>
1740
1741 PR target/104957
1742 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
1743 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
1744 for alias.
1745 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
1746 (nvptx_asm_output_def_from_decls): New function.
1747 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
1748 gcc_unreachable ().
1749 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
1750 nvptx_asm_output_def_from_decls.
1751 * config/nvptx/nvptx.opt (malias): New opt.
1752
1753 2022-03-22 Tom de Vries <tdevries@suse.de>
1754
1755 PR target/104916
1756 PR target/104783
1757 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
1758 sync (or uniform warp check for mptx < 6.0).
1759
1760 2022-03-22 Richard Biener <rguenther@suse.de>
1761
1762 PR tree-optimization/105012
1763 * tree-if-conv.cc (ifcvt_local_dce): Only call
1764 dse_classify_store when we have a VDEF.
1765
1766 2022-03-22 Martin Liska <mliska@suse.cz>
1767
1768 PR target/104902
1769 * config/nvptx/nvptx.cc (handle_ptx_version_option):
1770 Fix option wrapping in an error message.
1771
1772 2022-03-22 Martin Liska <mliska@suse.cz>
1773
1774 PR target/104903
1775 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
1776 Wrap const keyword.
1777
1778 2022-03-22 Martin Liska <mliska@suse.cz>
1779
1780 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
1781 name.
1782
1783 2022-03-22 Martin Liska <mliska@suse.cz>
1784
1785 PR target/104898
1786 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
1787 Use %qs instead of (%qs).
1788
1789 2022-03-22 Martin Liska <mliska@suse.cz>
1790
1791 PR target/104898
1792 * config/i386/i386-options.cc (ix86_option_override_internal):
1793 Use '%qs' instead of '(%qs)'.
1794
1795 2022-03-22 Martin Liska <mliska@suse.cz>
1796
1797 PR target/104898
1798 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
1799 Use 'qs' and remove usage '(%qs)'.
1800 (aarch64_handle_attr_cpu): Likewise.
1801 (aarch64_handle_attr_tune): Likewise.
1802 (aarch64_handle_attr_isa_flags): Likewise.
1803
1804 2022-03-22 Tamar Christina <tamar.christina@arm.com>
1805 Andre Vieira <andre.simoesdiasvieira@arm.com>
1806
1807 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
1808 struct.
1809 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
1810 cost.
1811 (neoverse512tvb_tunings): Likewise.
1812
1813 2022-03-22 Tamar Christina <tamar.christina@arm.com>
1814 Andre Vieira <andre.simoesdiasvieira@arm.com>
1815
1816 * config/aarch64/aarch64.cc (demeter_addrcost_table,
1817 demeter_regmove_cost, demeter_advsimd_vector_cost,
1818 demeter_sve_vector_cost, demeter_scalar_issue_info,
1819 demeter_advsimd_issue_info, demeter_sve_issue_info,
1820 demeter_vec_issue_info, demeter_vector_cost,
1821 demeter_tunings): New tuning structs.
1822 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
1823 tuning.
1824 * config/aarch64/aarch64-cores.def: Add entry for demeter.
1825 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
1826
1827 2022-03-22 Tamar Christina <tamar.christina@arm.com>
1828 Andre Vieira <andre.simoesdiasvieira@arm.com>
1829
1830 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
1831 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
1832 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
1833 tunings to use cpu_memmov_cost struct.
1834
1835 2022-03-22 Tamar Christina <tamar.christina@arm.com>
1836 Andre Vieira <andre.simoesdiasvieira@arm.com>
1837
1838 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
1839 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
1840 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
1841 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
1842 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
1843 (neoversen2_tunings): Use new structs and update tuning flags.
1844 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
1845 tuning.
1846
1847 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
1848
1849 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
1850 bit.
1851
1852 2022-03-22 liuhongt <hongtao.liu@intel.com>
1853
1854 PR target/104982
1855 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
1856 following splitter to reversed condition.
1857
1858 2022-03-22 Jakub Jelinek <jakub@redhat.com>
1859
1860 PR rtl-optimization/104989
1861 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
1862 sorry for passing too large argument, instead set sibcall_failure
1863 for pass == 0, or a new normal_failure flag otherwise. If
1864 normal_failure is set, don't assert all stack has been deallocated
1865 at the end and throw away the whole insn sequence.
1866
1867 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
1868
1869 * print-tree.cc: Change array length
1870
1871 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
1872
1873 PR target/104978
1874 * config/i386/sse.md
1875 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
1876 Use avx512f_movsf_mask instead of vmovaps or vblend, and
1877 force_reg before lowpart_subreg.
1878 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
1879
1880 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
1881
1882 PR target/105000
1883 * common/config/i386/i386-common.cc
1884 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
1885 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
1886
1887 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
1888
1889 PR target/104998
1890 * common/config/i386/cpuinfo.h (get_available_features): Pass
1891 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
1892 bit_AESKLE is set.
1893
1894 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
1895
1896 PR middle-end/104869
1897 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
1898 (clobber_group::next_clobber): Likewise.
1899 (def_lookup::prev_def): Rename to...
1900 (def_lookup::last_def_of_prev_group): ...this.
1901 (def_lookup::next_def): Rename to...
1902 (def_lookup::first_def_of_next_group): ...this.
1903 (def_lookup::matching_or_prev_def): Rename to...
1904 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
1905 (def_lookup::matching_or_next_def): Rename to...
1906 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
1907 (def_lookup::prev_def): New function, taking the lookup insn as
1908 argument.
1909 (def_lookup::next_def): Likewise.
1910 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
1911 (def_lookup::last_def_of_prev_group): ...this.
1912 (def_lookup::next_def): Rename to...
1913 (def_lookup::first_def_of_next_group): ...this.
1914 (def_lookup::matching_or_prev_def): Rename to...
1915 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
1916 (def_lookup::matching_or_next_def): Rename to...
1917 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
1918 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
1919 above renaming.
1920 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
1921 (clobber_group::next_clobber): Likewise.
1922 (def_lookup::prev_def): Likewise.
1923 (def_lookup::next_def): Likewise.
1924 (function_info::make_use_available): Pass the lookup insn to
1925 def_lookup::prev_def and def_lookup::next_def.
1926
1927 2022-03-21 Martin Liska <mliska@suse.cz>
1928
1929 * doc/invoke.texi: Document min-pagesize parameter.
1930
1931 2022-03-21 Richard Biener <rguenther@suse.de>
1932
1933 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
1934 we are estimating niter of loop.
1935
1936 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
1937
1938 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
1939 Update flag name and mask name.
1940 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
1941 misc macro for vector extensions.
1942 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
1943 (MASK_VECTOR_ELEN_32): ... this.
1944 (MASK_VECTOR_EEW_64): Rename to ...
1945 (MASK_VECTOR_ELEN_64): ... this.
1946 (MASK_VECTOR_EEW_FP_32): Rename to ...
1947 (MASK_VECTOR_ELEN_FP_32): ... this.
1948 (MASK_VECTOR_EEW_FP_64): Rename to ...
1949 (MASK_VECTOR_ELEN_FP_64): ... this.
1950 (TARGET_VECTOR_ELEN_32): New.
1951 (TARGET_VECTOR_ELEN_64): Ditto.
1952 (TARGET_VECTOR_ELEN_FP_32): Ditto.
1953 (TARGET_VECTOR_ELEN_FP_64): Ditto.
1954 (TARGET_MIN_VLEN): Ditto.
1955 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
1956 (riscv_vector_elen_flags): ... this.
1957
1958 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
1959
1960 PR target/104977
1961 * config/i386/sse.md
1962 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
1963 Correct round operand for intel dialect.
1964
1965 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
1966
1967 * diagnostic.cc (diagnostic_cc_tests): Rename to...
1968 (c_diagnostic_cc_tests): ...this.
1969 * opt-problem.cc (opt_problem_cc_tests): Rename to...
1970 (c_opt_problem_cc_tests): ...this.
1971 * selftest-run-tests.cc (selftest::run_tests): No longer run
1972 opt_problem_cc_tests or diagnostic_cc_tests.
1973 * selftest.h (diagnostic_cc_tests): Remove declaration.
1974 (opt_problem_cc_tests): Likewise.
1975
1976 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
1977
1978 PR jit/63854
1979 * hash-traits.h (struct typed_const_free_remove): New.
1980 (struct free_string_hash): New.
1981 * pass_manager.h: Use free_string_hash.
1982 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
1983 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
1984
1985 2022-03-19 Jakub Jelinek <jakub@redhat.com>
1986
1987 PR middle-end/104971
1988 * config/i386/i386-expand.cc
1989 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
1990 don't push/pop anything and just return const0_rtx.
1991
1992 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
1993
1994 PR rtl-optimization/104961
1995 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
1996
1997 2022-03-18 Jason Merrill <jason@redhat.com>
1998
1999 * tree.h (IDENTIFIER_LENGTH): Add comment.
2000
2001 2022-03-18 Jakub Jelinek <jakub@redhat.com>
2002
2003 PR middle-end/99578
2004 PR middle-end/100680
2005 PR tree-optimization/100834
2006 * params.opt (--param=min-pagesize=): New parameter.
2007 * pointer-query.cc
2008 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
2009 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
2010 of zero for pointer constants equal or larger than min-pagesize.
2011
2012 2022-03-18 Tom de Vries <tdevries@suse.de>
2013
2014 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
2015 Set gfor location only when dealing with a OMP_TASKLOOP.
2016
2017 2022-03-18 Tom de Vries <tdevries@suse.de>
2018
2019 * gimplify.cc (gimplify_omp_for): Set taskloop location.
2020
2021 2022-03-18 Tom de Vries <tdevries@suse.de>
2022
2023 PR target/104952
2024 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
2025 is executed unconditionally.
2026
2027 2022-03-18 liuhongt <hongtao.liu@intel.com>
2028
2029 PR target/104974
2030 * config/i386/i386.md (*movhi_internal): Set attr type from HI
2031 to HF for alternative 12 under TARGET_AVX512FP16.
2032
2033 2022-03-18 Cui,Lili <lili.cui@intel.com>
2034
2035 PR target/104963
2036 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
2037 * doc/invoke.texi: Update documents for Intel sapphirerapids.
2038
2039 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
2040
2041 PR target/86722
2042 PR tree-optimization/90356
2043 * config/i386/i386.md (*movtf_internal): Don't guard
2044 standard_sse_constant_p clause by optimize_function_for_size_p.
2045 (*movdf_internal): Likewise.
2046 (*movsf_internal): Likewise.
2047
2048 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
2049
2050 PR tree-optimization/102943
2051 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
2052 dominators and apply intermediary outgoing edge ranges.
2053
2054 2022-03-17 Richard Biener <rguenther@suse.de>
2055
2056 PR tree-optimization/104960
2057 * passes.def: Add pass parameter to pass_sink_code, mark
2058 last one to unsplit edges.
2059 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
2060 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
2061 when we need to unsplit edges.
2062
2063 2022-03-17 Jakub Jelinek <jakub@redhat.com>
2064
2065 PR middle-end/103984
2066 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
2067 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
2068 and asan unpoisioning, then append the temporary sequence and
2069 finally the TARGET_EXPR_CLEANUP clobbers.
2070
2071 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
2072
2073 * config/i386/sse.md: Delete corrupt character/typo.
2074
2075 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
2076
2077 PR target/94680
2078 * config/i386/sse.md (sse2_movq128): New define_expand to
2079 preserve previous named instruction.
2080 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
2081 generalized to VI8F_128 (both V2DI and V2DF).
2082
2083 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
2084
2085 PR tree-optimization/104941
2086 * tree-object-size.cc (size_for_offset): Make useless conversion
2087 check lighter and assign result of fold_convert to OFFSET.
2088
2089 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
2090
2091 PR target/104890
2092 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
2093 pushing target("general-regs-only").
2094
2095 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
2096
2097 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
2098 Add version info for zk, zks and zkn.
2099
2100 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
2101
2102 * common/config/riscv/riscv-common.cc
2103 (riscv_combine_info): New.
2104 (riscv_subset_list::handle_combine_ext): Combine back into zk to
2105 maintain the canonical order in isa strings.
2106 (riscv_subset_list::parse): Ditto.
2107 * config/riscv/riscv-subset.h (handle_combine_ext): New.
2108
2109 2022-03-16 Richard Biener <rguenther@suse.de>
2110
2111 PR tree-optimization/102008
2112 * passes.def: Move the added code sinking pass before the
2113 preceeding phiopt pass.
2114
2115 2022-03-16 Patrick Palka <ppalka@redhat.com>
2116
2117 PR c++/96780
2118 * doc/invoke.texi (C++ Dialect Options): Document
2119 -ffold-simple-inlines.
2120
2121 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
2122
2123 PR tree-optimization/104942
2124 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
2125
2126 2022-03-16 Jakub Jelinek <jakub@redhat.com>
2127
2128 PR target/104910
2129 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
2130 imm rtx.
2131
2132 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
2133 Richard Biener <rguenther@suse.de>
2134
2135 * gimple-match-head.cc (single_use): Implement inline using a
2136 single loop.
2137
2138 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
2139
2140 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
2141 instead of HONOR_NANS.
2142 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
2143 this can't trap/signal.
2144
2145 2022-03-16 liuhongt <hongtao.liu@intel.com>
2146
2147 PR target/104946
2148 * config/i386/i386-builtin.def (BDESC): Add
2149 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
2150 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
2151 __builtin_ia32_blendvpd w/o sse4.2
2152
2153 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
2154
2155 PR target/104923
2156 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
2157 acceptable MEM addresses.
2158
2159 2022-03-15 Jakub Jelinek <jakub@redhat.com>
2160
2161 PR target/91229
2162 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
2163 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
2164 to warning calls.
2165
2166 2022-03-15 Jakub Jelinek <jakub@redhat.com>
2167
2168 PR target/104890
2169 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
2170 instead of general-regs-only.
2171
2172 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
2173 Marc Glisse <marc.glisse@inria.fr>
2174 Richard Biener <rguenther@suse.de>
2175
2176 PR tree-optimization/101895
2177 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
2178 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
2179
2180 2022-03-15 Jakub Jelinek <jakub@redhat.com>
2181
2182 PR rtl-optimization/104814
2183 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
2184 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
2185
2186 2022-03-15 Martin Sebor <msebor@redhat.com>
2187
2188 PR middle-end/104436
2189 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
2190 Check for warning suppression. Avoid by-value arguments transformed
2191 into by-transparent-reference.
2192
2193 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
2194 Uroš Bizjak <ubizjak@gmail.com>
2195
2196 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
2197 transformation when *zero_extend<mode>si2 is not available.
2198
2199 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
2200
2201 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
2202 * config/mips/mips.cc (mips_option_override): Make
2203 -fsanitize=address imply -fasynchronous-unwind-tables. This is
2204 needed by libasan for stack backtrace on MIPS.
2205 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
2206
2207 2022-03-14 Jakub Jelinek <jakub@redhat.com>
2208
2209 PR debug/104778
2210 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
2211 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
2212 call simplified the first operand into VOIDmode constant.
2213
2214 2022-03-14 Jakub Jelinek <jakub@redhat.com>
2215
2216 PR tree-optimization/102586
2217 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
2218 argument type should be pointer to trivially-copyable type unless it
2219 is address of a variable or parameter.
2220
2221 2022-03-14 Jakub Jelinek <jakub@redhat.com>
2222
2223 PR target/99754
2224 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
2225 first rather than last element of the vector, use __m32_u to do
2226 a really unaligned load, use just 0 instead of (int)0.
2227 (_mm_loadu_si16): Put loaded value into first rather than last
2228 element of the vector, use __m16_u to do a really unaligned load,
2229 use just 0 instead of (short)0.
2230
2231 2022-03-14 Jakub Jelinek <jakub@redhat.com>
2232
2233 PR other/104899
2234 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
2235 in diagnostic message - cannott -> cannot. Use %< and %> around
2236 names of attribute. Avoid too long line.
2237 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
2238 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
2239
2240 2022-03-14 liuhongt <hongtao.liu@intel.com>
2241
2242 PR target/104666
2243 * config/i386/i386-expand.cc
2244 (ix86_check_builtin_isa_match): New func.
2245 (ix86_expand_builtin): Move code to
2246 ix86_check_builtin_isa_match and call it.
2247 * config/i386/i386-protos.h
2248 (ix86_check_builtin_isa_match): Declare.
2249 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
2250 builtin into gimple when isa mismatches.
2251
2252 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
2253
2254 * doc/invoke.texi: Fix typos.
2255 * doc/tm.texi.in: Remove duplicated word.
2256 * doc/tm.texi: Regenerate.
2257
2258 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
2259
2260 PR target/104829
2261 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
2262 "ppc" and "ppc64" based on rs6000_cpu.
2263
2264 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
2265
2266 PR middle-end/100280
2267 PR middle-end/104892
2268 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
2269 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
2270
2271 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
2272
2273 PR middle-end/100280
2274 PR middle-end/104086
2275 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
2276 Mark variables used in 'present' clauses as addressable.
2277 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
2278 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
2279
2280 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
2281
2282 PR other/65095
2283 * tree-core.h (user_omp_claus_code_name): Declare function.
2284 * tree.cc (user_omp_clause_code_name): New function.
2285
2286 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
2287
2288 PR middle-end/98420
2289 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
2290 (the defaut) or -fno-signed-zeros.
2291
2292 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
2293
2294 PR target/104868
2295 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
2296 moving from a GPR register to an Altivec register.
2297
2298 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
2299
2300 PR tree-optimization/98335
2301 * config/i386/i386.md (peephole2): Eliminate redundant insv.
2302 Combine movl followed by movb. Transform xorl followed by
2303 a suitable movb or movw into the equivalent movz[bw]l.
2304
2305 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
2306 Richard Biener <rguenther@suse.de>
2307
2308 PR tree-optimization/98335
2309 * builtins.cc (get_object_alignment_2): Export.
2310 * builtins.h (get_object_alignment_2): Likewise.
2311 * tree-ssa-alias.cc (ao_ref_alignment): New.
2312 * tree-ssa-alias.h (ao_ref_alignment): Declare.
2313 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
2314 to align head/tail, writing more bytes but using fewer store insns.
2315
2316 2022-03-11 Richard Biener <rguenther@suse.de>
2317
2318 PR tree-optimization/104880
2319 * tree-ssa.cc (execute_update_address_taken): Remember if we
2320 optimistically made something not addressable and
2321 prepare to undo it.
2322
2323 2022-03-11 Richard Biener <rguenther@suse.de>
2324
2325 PR target/104762
2326 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
2327 cost the first lane of SSE pieces as inserts for vec_construct.
2328
2329 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
2330
2331 PR c++/84964
2332 * calls.cc (expand_call): Ignore stack adjustments after sorry.
2333
2334 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
2335
2336 PR target/103074
2337 * lra-constraints.cc (split_reg): Set up
2338 check_and_force_assignment_correctness_p when splitting hard
2339 register live range.
2340
2341 2022-03-10 Martin Jambor <mjambor@suse.cz>
2342
2343 PR ipa/104813
2344 * ipa-cp.cc (create_specialized_node): Move removal of
2345 self-recursive calls from callers vector before refrence
2346 adjustments.
2347
2348 2022-03-10 Richard Biener <rguenther@suse.de>
2349
2350 PR tree-optimization/102943
2351 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
2352 Make a bitmap_head.
2353 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
2354 to tree view.
2355 (sbr_sparse_bitmap::set_bb_range): Adjust.
2356 (sbr_sparse_bitmap::get_bb_range): Likewise.
2357
2358 2022-03-10 Richard Biener <rguenther@suse.de>
2359
2360 PR tree-optimization/102943
2361 * tree-ssa-dom.cc (back_propagate_equivalences): Only
2362 populate the dominance bitmap if fast queries are not
2363 available. Use a tree view bitmap.
2364 (record_temporary_equivalences): Cache the dominance bitmap
2365 across all equivalences on the edge.
2366
2367 2022-03-10 Tom de Vries <tdevries@suse.de>
2368
2369 PR target/104840
2370 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
2371 of false,true.
2372
2373 2022-03-10 Tom de Vries <tdevries@suse.de>
2374
2375 PR target/104783
2376 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
2377 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
2378 (nvptx_get_unisimt_outside_simt_predicate): New function.
2379 (predicate_insn): New function, factored out of ...
2380 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
2381 * config/nvptx/nvptx.h (struct machine_function): Add
2382 unisimt_outside_simt_predicate field.
2383 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
2384 (define_insn "nvptx_uniform_warp_check"): Make predicable.
2385
2386 2022-03-10 Tom de Vries <tdevries@suse.de>
2387
2388 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
2389 result.
2390
2391 2022-03-10 Tom de Vries <tdevries@suse.de>
2392
2393 PR target/104815
2394 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
2395 modifier.
2396 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
2397
2398 2022-03-10 Tom de Vries <tdevries@suse.de>
2399
2400 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
2401 Emit atom.and.b64 instead of atom.b64.and.
2402
2403 2022-03-10 Tom de Vries <tdevries@suse.de>
2404
2405 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
2406 (MULTILIB_OPTIONS): ... here.
2407
2408 2022-03-10 Tom de Vries <tdevries@suse.de>
2409
2410 PR target/104758
2411 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
2412 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
2413
2414 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
2415
2416 PR middle-end/90115
2417 PR middle-end/102330
2418 PR middle-end/104774
2419 * omp-low.cc (oacc_privatization_candidate_p)
2420 (oacc_privatization_scan_clause_chain)
2421 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
2422 Analyze 'lookup_decl'-translated DECL.
2423
2424 2022-03-10 Jakub Jelinek <jakub@redhat.com>
2425
2426 PR target/99708
2427 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
2428 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
2429 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
2430 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
2431 "**NULL**" if type_node is NULL first. Handle
2432 ieee128_float_type_node.
2433 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
2434 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
2435 ieee128_float_type_node to NULL rather than long_double_type_node if
2436 they aren't supported. Do support __ibm128 even if
2437 !TARGET_FLOAT128_TYPE when long double is double double.
2438 (rs6000_expand_builtin): Error if bif_is_ibm128 and
2439 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
2440 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
2441 for it.
2442 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
2443 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
2444 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
2445 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
2446 Formatting fix.
2447 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
2448 (struct attrinfo): Add isibm128 member.
2449 (TYPE_MAP_SIZE): Remove.
2450 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
2451 ibm128_float_type_node only if it is non-NULL, otherwise fall back
2452 to long_double_type_node. Remove "pif" entry.
2453 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
2454 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
2455 (write_type_node): Use sizeof type_map / sizeof type_map[0]
2456 instead of TYPE_MAP_SIZE.
2457 (write_bif_static_init): Handle isibm128.
2458 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
2459 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
2460 attribute.
2461
2462 2022-03-09 Richard Biener <rguenther@suse.de>
2463
2464 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
2465 with non-decl operand, avoiding a copy.
2466
2467 2022-03-09 Jakub Jelinek <jakub@redhat.com>
2468
2469 PR target/104781
2470 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
2471
2472 2022-03-09 Richard Biener <rguenther@suse.de>
2473
2474 PR middle-end/104786
2475 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
2476 for VLAs without an upper size bound.
2477
2478 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
2479
2480 PR tree-optimization/104851
2481 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
2482 error.
2483
2484 2022-03-09 Jakub Jelinek <jakub@redhat.com>
2485
2486 PR c/104711
2487 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
2488 is enabled by it only for C++11 to C++17 rather than for C++03 or
2489 later.
2490 (-Wshift-negative-value): Similarly (except here we stated
2491 that it is enabled for C++11 or later).
2492
2493 2022-03-09 Jakub Jelinek <jakub@redhat.com>
2494
2495 PR rtl-optimization/104839
2496 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
2497 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
2498 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
2499 instead of incorrect 0 in SUBREG_PROMOTED_SET.
2500
2501 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
2502
2503 PR target/104842
2504 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
2505 value before adding an offset.
2506
2507 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
2508
2509 * config/arm/arm-builtins.cc
2510 (arm_binop_none_none_unone_qualifiers): Delete.
2511 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
2512
2513 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
2514
2515 PR translation/104552
2516 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
2517 the PCH out of memory error message punctuation and wording.
2518
2519 2022-03-08 Marek Polacek <polacek@redhat.com>
2520
2521 PR rtl-optimization/104777
2522 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
2523 ASM_OPERANDS_LABEL_VEC has at least one element.
2524
2525 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
2526
2527 PR target/104781
2528 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
2529 stack realignment or regparm nested function with EH return.
2530
2531 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
2532
2533 PR target/104790
2534 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
2535 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
2536 register for non widening loads or narrowing stores.
2537
2538 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
2539
2540 PR translation/104552
2541 * params.opt: Fix typo.
2542
2543 2022-03-08 Richard Biener <rguenther@suse.de>
2544
2545 PR tree-optimization/84201
2546 * params.opt (-param=vect-induction-float): Add.
2547 * doc/invoke.texi (vect-induction-float): Document.
2548 * tree-vect-loop.cc (vectorizable_induction): Honor
2549 param_vect_induction_float.
2550
2551 2022-03-08 Martin Jambor <mjambor@suse.cz>
2552
2553 PR translation/104552
2554 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
2555 "that" in the description.
2556
2557 2022-03-08 Richard Biener <rguenther@suse.de>
2558
2559 PR tree-optimization/104825
2560 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
2561 guard modref get_ao_ref on a pointer typed argument.
2562
2563 2022-03-08 liuhongt <hongtao.liu@intel.com>
2564
2565 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
2566 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
2567
2568 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
2569
2570 * doc/invoke.texi (C++ Modules): Remove anachronism.
2571
2572 2022-03-07 Martin Liska <mliska@suse.cz>
2573
2574 PR middle-end/104381
2575 * opts.cc (finish_options): If debug info is disabled
2576 (debug_info_level) and -fvar-tracking is unset, disable it.
2577
2578 2022-03-07 Jakub Jelinek <jakub@redhat.com>
2579
2580 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
2581 * config/riscv/riscv.cc: Likewise.
2582 * config/darwin.h: Likewise.
2583 * config/i386/i386.cc: Likewise.
2584 * config/aarch64/thunderx3t110.md: Likewise.
2585 * config/aarch64/fractional-cost.h: Likewise.
2586 * config/vax/vax.cc: Likewise.
2587 * config/rs6000/pcrel-opt.md: Likewise.
2588 * config/rs6000/predicates.md: Likewise.
2589 * ctfc.h: Likewise.
2590 * tree-ssa-uninit.cc: Likewise.
2591 * value-relation.h: Likewise.
2592 * gimple-range-gori.cc: Likewise.
2593 * ipa-polymorphic-call.cc: Likewise.
2594 * pointer-query.cc: Likewise.
2595 * ipa-sra.cc: Likewise.
2596 * internal-fn.cc: Likewise.
2597 * varasm.cc: Likewise.
2598 * gimple-ssa-warn-access.cc: Likewise.
2599
2600 2022-03-07 Martin Liska <mliska@suse.cz>
2601
2602 PR target/104794
2603 * config/arm/arm.cc (arm_option_override_internal): Add missing
2604 space.
2605
2606 2022-03-07 Richard Biener <rguenther@suse.de>
2607
2608 PR tree-optimization/104782
2609 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
2610 Re-instantiate r10-5979 fix, add comment.
2611
2612 2022-03-07 Martin Liska <mliska@suse.cz>
2613
2614 PR target/104797
2615 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
2616 parenthesis from built-in name.
2617
2618 2022-03-07 Martin Liska <mliska@suse.cz>
2619
2620 PR target/104794
2621 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
2622 of options in error messages.
2623 (arm_option_reconfigure_globals): Likewise.
2624
2625 2022-03-07 Martin Liska <mliska@suse.cz>
2626
2627 PR target/104794
2628 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
2629 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
2630 have only range [0,32].
2631
2632 2022-03-07 Jakub Jelinek <jakub@redhat.com>
2633
2634 PR target/104775
2635 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
2636 S constraint instead of T in the last alternative.
2637
2638 2022-03-07 Martin Liska <mliska@suse.cz>
2639
2640 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
2641 message.
2642
2643 2022-03-07 Martin Liska <mliska@suse.cz>
2644
2645 PR translation/90148
2646 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
2647 quote to a proper place.
2648 * plugin.cc (default_plugin_dir_name): Likewise.
2649
2650 2022-03-07 Martin Liska <mliska@suse.cz>
2651
2652 PR target/99297
2653 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
2654 string.
2655
2656 2022-03-07 Jakub Jelinek <jakub@redhat.com>
2657
2658 PR target/104779
2659 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
2660 define_expand pattern. Rename define_insn to ...
2661 (*avx512dq_mul<mode>3<mask_name>): ... this.
2662 (<code><mode>3_mask): New any_logic define_expand pattern.
2663 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
2664 (*<code><mode>3<mask_name>): ... this.
2665
2666 2022-03-05 Jakub Jelinek <jakub@redhat.com>
2667
2668 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
2669 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
2670
2671 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
2672 Uroš Bizjak <ubizjak@gmail.com>
2673
2674 PR testsuite/104732
2675 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
2676 Include DI mode unconditionally.
2677 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
2678 i.e. always split on !TARGET_64BIT.
2679 (*<any_or>di3_doubleword): Likewise.
2680 (*one_cmpldi2_doubleword): Likewise.
2681 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
2682 (<any_or><mode>3 expander): Likewise.
2683 (one_cmpl<mode>2 expander): Likewise.
2684
2685 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
2686
2687 PR target/104698
2688 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
2689 (mtvsrdd_diti_w1): Delete.
2690 (extendditi2): Convert from define_expand to
2691 define_insn_and_split. Replace with code to deal with both GPR
2692 registers and with altivec registers.
2693
2694 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
2695
2696 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
2697 bit. Handle most older CPUs.
2698
2699 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
2700
2701 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
2702 avoid a mismatch with DECL_MD_FUNCTION_CODE().
2703
2704 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
2705
2706 PR target/104117
2707 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
2708 (@machopic_low_<mode>): New.
2709 * config/rs6000/predicates.md (macho_pic_address): New.
2710 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
2711 apply the TLS processing to Darwin.
2712 * lra-constraints.cc (process_address_1): Revert the changes
2713 in r12-7209.
2714
2715 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
2716
2717 PR target/87496
2718 PR target/104208
2719 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
2720 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
2721 -mlong-double-128.
2722 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
2723 from here...
2724 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
2725 ... to here.
2726
2727 2022-03-04 Jakub Jelinek <jakub@redhat.com>
2728
2729 PR middle-end/104529
2730 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
2731 on automatic objects which will be runtime initialized.
2732
2733 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2734
2735 PR middle-end/100280
2736 PR middle-end/104132
2737 PR middle-end/104133
2738 * omp-low.cc (task_shared_vars): Rename to
2739 'make_addressable_vars'. Adjust all users.
2740 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
2741 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
2742
2743 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2744
2745 PR middle-end/100280
2746 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
2747 * tree-core.h: Document it.
2748 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
2749 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
2750 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
2751 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
2752 'TREE_ADDRESSABLE'.
2753
2754 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2755
2756 PR middle-end/100280
2757 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
2758 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
2759 '[...]' declared in block made addressable".
2760
2761 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2762
2763 PR middle-end/100400
2764 PR middle-end/103836
2765 PR middle-end/104061
2766 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
2767 Catch 'GIMPLE_DEBUG'.
2768
2769 2022-03-04 Jakub Jelinek <jakub@redhat.com>
2770
2771 PR c/104627
2772 * tree.cc (warn_deprecated_use): For types prefer to use node
2773 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
2774 NULL.
2775
2776 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
2777
2778 PR target/104704
2779 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
2780 a pseudo register.
2781
2782 2022-03-03 Martin Sebor <msebor@redhat.com>
2783
2784 PR middle-end/104761
2785 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
2786 mark_dfs_back_edges.
2787
2788 2022-03-03 Martin Liska <mliska@suse.cz>
2789
2790 * configure.ac: Use linker plug-in by default.
2791 * configure: Regenerate.
2792
2793 2022-03-03 Martin Liska <mliska@suse.cz>
2794
2795 * configure.ac: Now ld.mold support LTO plugin API, use it.
2796 * configure: Regenerate.
2797
2798 2022-03-03 Tom de Vries <tdevries@suse.de>
2799
2800 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
2801
2802 2022-03-03 Tom de Vries <tdevries@suse.de>
2803
2804 PR target/104758
2805 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
2806
2807 2022-03-03 Tom de Vries <tdevries@suse.de>
2808
2809 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
2810
2811 2022-03-03 Jakub Jelinek <jakub@redhat.com>
2812
2813 PR middle-end/104757
2814 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
2815 gimplify_omp_for.
2816 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
2817 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
2818
2819 2022-03-03 Jakub Jelinek <jakub@redhat.com>
2820
2821 PR middle-end/104558
2822 * calls.cc (store_one_arg): When not calling emit_push_insn
2823 because size_rtx is const0_rtx, call at least anti_adjust_stack
2824 on arg->locate.alignment_pad if !argblock and the alignment might
2825 be non-zero.
2826
2827 2022-03-02 Alexandre Oliva <oliva@adacore.com>
2828
2829 * lra-constraints.cc (undo_optional_reloads): Recognize and
2830 drop insns of multi-word move sequences, tolerate removal
2831 iteration on an already-removed clobber, and refuse to
2832 substitute original pseudos into clobbers.
2833
2834 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
2835
2836 PR middle-end/102276
2837 * common.opt (-Wtrivial-auto-var-init): New option.
2838 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
2839 (-ftrivial-auto-var-init): Update option;
2840 * gimplify.cc (emit_warn_switch_unreachable): New function.
2841 (warn_switch_unreachable_r): Rename to ...
2842 (warn_switch_unreachable_and_auto_init_r): This.
2843 (maybe_warn_switch_unreachable): Rename to ...
2844 (maybe_warn_switch_unreachable_and_auto_init): This.
2845 (gimplify_switch_expr): Update calls to renamed function.
2846
2847 2022-03-02 Richard Biener <rguenther@suse.de>
2848
2849 PR rtl-optimization/104686
2850 * ira-color.cc (object_conflicts_with_allocno_p): New function
2851 using a bitvector test instead of iterating when possible.
2852 (allocnos_conflict_p): Choose the best allocno to iterate over
2853 object conflicts.
2854 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
2855 last.
2856
2857 2022-03-02 Jakub Jelinek <jakub@redhat.com>
2858
2859 * cfg.cc (dump_edge_info): Dump goto_locus if present.
2860
2861 2022-03-02 Jakub Jelinek <jakub@redhat.com>
2862
2863 PR rtl-optimization/104589
2864 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
2865 INSN_LOCATION comparison with goto_locus.
2866
2867 2022-03-02 Jakub Jelinek <jakub@redhat.com>
2868
2869 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
2870 strlen_pass::before_dom_children): Comment spelling fixes.
2871
2872 2022-03-02 Jakub Jelinek <jakub@redhat.com>
2873
2874 * ipa-modref-tree.cc (modref_access_node::contains,
2875 modref_access_node::closer_pair_p, modref_access_node::insert,
2876 modref_access_node::insert_kill): Comment spelling fixes.
2877 * ipa-modref.cc: Likewise.
2878 (modref_summary::finalize, ignore_nondeterminism_p,
2879 class modref_access_analysis,
2880 modref_access_analysis::set_side_effects,
2881 modref_access_analysis::set_nondeterministic,
2882 modref_access_analysis::record_global_memory_load,
2883 modref_access_analysis::propagate, modref_access_analysis::analyze,
2884 struct escape_point, class modref_lattice, modref_lattice::merge,
2885 modref_lattice::merge_deref, class modref_eaf_analysis,
2886 modref_eaf_analysis::merge_call_lhs_flags,
2887 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
2888 modref_eaf_analysis::record_escape_points, remap_kills,
2889 update_escape_summary, remove_useless_summaries,
2890 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
2891 Likewise.
2892 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
2893 Likewise.
2894 * ipa-modref-tree.h (enum modref_special_parms,
2895 struct modref_access_node): Likewise.
2896
2897 2022-03-01 Jakub Jelinek <jakub@redhat.com>
2898
2899 PR tree-optimization/104715
2900 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
2901 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
2902 of a call if gimple_call_return_arg is equal to ptr, not just when it
2903 is non-NULL.
2904
2905 2022-03-01 Jakub Jelinek <jakub@redhat.com>
2906
2907 * gimple-ssa-warn-access.cc (warn_string_no_nul,
2908 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
2909 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
2910 pass_waccess::check_alloca, pass_waccess::check_strcat,
2911 memmodel_to_uhwi, fntype_argno_type,
2912 pass_waccess::maybe_check_access_sizes,
2913 pass_waccess::check_call_access,
2914 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
2915 Comment spelling fixes.
2916
2917 2022-03-01 Richard Biener <rguenther@suse.de>
2918
2919 PR tree-optimization/104716
2920 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
2921 Check if we can copy the loop.
2922
2923 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
2924
2925 PR middle-end/104721
2926 * cfgexpand.cc (expand_gimple_basic_block): Clear
2927 currently_expanding_gimple_stmt when returning inside the loop.
2928
2929 2022-03-01 Martin Liska <mliska@suse.cz>
2930
2931 PR ipa/104533
2932 * multiple_target.cc (get_attr_len): Move to tree.c.
2933 (expand_target_clones): Remove single value checking.
2934 * tree.cc (get_target_clone_attr_len): New fn.
2935 * tree.h (get_target_clone_attr_len): Likewise.
2936
2937 2022-03-01 Martin Liska <mliska@suse.cz>
2938
2939 PR gcov-profile/104677
2940 * doc/invoke.texi: Document more .gcda file name generation.
2941
2942 2022-03-01 Tom de Vries <tdevries@suse.de>
2943
2944 PR target/102429
2945 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
2946 * config/nvptx/nvptx.md
2947 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
2948 New predicate.
2949 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
2950 Use nvptx_register_or_complex_di_df_register_operand.
2951
2952 2022-03-01 Tom de Vries <tdevries@suse.de>
2953
2954 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
2955 * config/nvptx/gen-copyright.sh: New file.
2956 * config/nvptx/gen-h.sh: New file.
2957 * config/nvptx/gen-opt.sh: New file.
2958 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
2959 (TARGET_SM75, TARGET_SM80): Move ...
2960 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
2961 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
2962 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
2963 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
2964 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
2965
2966 2022-03-01 Tom de Vries <tdevries@suse.de>
2967
2968 * config/nvptx/gen-omp-device-properties.sh: New file.
2969 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
2970
2971 2022-03-01 Tom de Vries <tdevries@suse.de>
2972
2973 * config/nvptx/nvptx-sm.def: New file.
2974 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
2975 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
2976 * config/nvptx/nvptx.cc (sm_version_to_string)
2977 (nvptx_omp_device_kind_arch_isa): Same.
2978
2979 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
2980
2981 PR rtl-optimization/104154
2982 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
2983 comparison ifcvt passed us.
2984
2985 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
2986
2987 PR target/104664
2988 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
2989 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
2990
2991 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
2992
2993 PR tree-optimization/91384
2994 * config/i386/i386.md (peephole2): Eliminate final testl insn
2995 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
2996 transforming using *negsi_2 for the negation.
2997
2998 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
2999 Eric Botcazou <ebotcazou@adacore.com>
3000
3001 PR middle-end/80270
3002 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
3003 register, copy it to a pseudo before calling simplify_gen_subreg.
3004
3005 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
3006
3007 PR rtl-optimization/104637
3008 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
3009 as possible on one subpass.
3010
3011 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
3012
3013 PR middle-end/104550
3014 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
3015 created uses.
3016
3017 2022-02-28 Martin Liska <mliska@suse.cz>
3018
3019 PR ipa/104648
3020 * main.cc (main): Use flag_checking instead of CHECKING_P
3021 and run toplev::finalize only if there is not error seen.
3022
3023 2022-02-28 Richard Biener <rguenther@suse.de>
3024
3025 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
3026
3027 2022-02-28 Richard Biener <rguenther@suse.de>
3028
3029 PR tree-optimization/104700
3030 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
3031 into ...
3032 (find_or_generate_expression): ... here, simplifying code.
3033
3034 2022-02-28 Tom de Vries <tdevries@suse.de>
3035
3036 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
3037 PTX_VERSION_default.
3038 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
3039 PTX_VERSION_default.
3040 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
3041
3042 2022-02-28 Richard Biener <rguenther@suse.de>
3043
3044 PR rtl-optimization/104686
3045 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
3046 skipping bits that are zero.
3047 (ira_object_conflict_iter_cond): Likewise.
3048
3049 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
3050
3051 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
3052 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
3053 char to avoid error when using ~enum as parameter.
3054 (_mm512_mask_ternarylogic_epi64): Likewise.
3055 (_mm512_maskz_ternarylogic_epi64): Likewise.
3056 (_mm512_ternarylogic_epi32): Likewise.
3057 (_mm512_mask_ternarylogic_epi32): Likewise.
3058 (_mm512_maskz_ternarylogic_epi32): Likewise.
3059 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
3060 Adjust imm param type to unsigned char.
3061 (_mm256_mask_ternarylogic_epi64): Likewise.
3062 (_mm256_maskz_ternarylogic_epi64): Likewise.
3063 (_mm256_ternarylogic_epi32): Likewise.
3064 (_mm256_mask_ternarylogic_epi32): Likewise.
3065 (_mm256_maskz_ternarylogic_epi32): Likewise.
3066 (_mm_ternarylogic_epi64): Likewise.
3067 (_mm_mask_ternarylogic_epi64): Likewise.
3068 (_mm_maskz_ternarylogic_epi64): Likewise.
3069 (_mm_ternarylogic_epi32): Likewise.
3070 (_mm_mask_ternarylogic_epi32): Likewise.
3071 (_mm_maskz_ternarylogic_epi32): Likewise.
3072
3073 2022-02-25 Jakub Jelinek <jakub@redhat.com>
3074 Marc Glisse <marc.glisse@inria.fr>
3075
3076 PR tree-optimization/104675
3077 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
3078 Restrict simplifications to INTEGRAL_TYPE_P.
3079
3080 2022-02-25 Jakub Jelinek <jakub@redhat.com>
3081
3082 PR target/104681
3083 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
3084
3085 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
3086
3087 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
3088 comparison is not valid.
3089 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
3090 (movdicc): Likewise.
3091 (movsfcc): Likewise.
3092 (movdfcc): Likewise.
3093
3094 2022-02-25 Richard Biener <rguenther@suse.de>
3095
3096 PR tree-optimization/103037
3097 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
3098 (vn_nary_length_from_stmt): Likewise.
3099 (init_vn_nary_op_from_stmt): Likewise.
3100 (vn_nary_op_compute_hash): Likewise.
3101 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
3102 (vn_nary_length_from_stmt): Likewise.
3103 (init_vn_nary_op_from_stmt): Likewise.
3104 (vn_nary_op_compute_hash): Likewise.
3105 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
3106 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
3107 (re-)compute the hash value and if the expression is not
3108 found allocate it from pre_expr_obstack.
3109 (phi_translate_1): Do not insert the NARY found in the
3110 VN tables but build a PRE expression from the valueized
3111 NARY with the value-id we eventually found.
3112 (find_or_generate_expression): Assert we have an entry
3113 for constant values.
3114 (compute_avail): Insert not valueized expressions into
3115 EXP_GEN using the value-id from the VN tables.
3116 (init_pre): Allocate pre_expr_obstack.
3117 (fini_pre): Free pre_expr_obstack.
3118
3119 2022-02-25 Jakub Jelinek <jakub@redhat.com>
3120
3121 PR target/104674
3122 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
3123 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
3124 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
3125
3126 2022-02-25 Jakub Jelinek <jakub@redhat.com>
3127
3128 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
3129
3130 2022-02-25 Jakub Jelinek <jakub@redhat.com>
3131
3132 PR middle-end/104679
3133 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
3134
3135 2022-02-25 Jakub Jelinek <jakub@redhat.com>
3136
3137 PR tree-optimization/104675
3138 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
3139 COMPLEX_TYPE.
3140
3141 2022-02-25 Alexandre Oliva <oliva@adacore.com>
3142
3143 PR target/104121
3144 PR target/103302
3145 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
3146
3147 2022-02-25 Alexandre Oliva <oliva@adacore.com>
3148
3149 PR middle-end/104540
3150 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
3151 dw_cfi_cfa_loc.
3152
3153 2022-02-25 Alexandre Oliva <oliva@adacore.com>
3154
3155 PR tree-optimization/103856
3156 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
3157 eh edge to be requested through an extra parameter.
3158 (pass_harden_compares::execute): Copy PHI args in the EH dest
3159 block for the new EH edge added for the inverted compare.
3160
3161 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
3162
3163 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
3164 of position independence that -mcmodel=medany affords.
3165
3166 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
3167
3168 PR target/104656
3169 * configure.ac: --disable-gcov if targetting bpf-*.
3170 * configure: Regenerate.
3171
3172 2022-02-24 Richard Biener <rguenther@suse.de>
3173
3174 PR tree-optimization/104676
3175 * tree-loop-distribution.cc (loop_distribution::execute):
3176 Do a full scev_reset.
3177
3178 2022-02-24 Jakub Jelinek <jakub@redhat.com>
3179
3180 PR tree-optimization/104601
3181 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
3182 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
3183 vuse value number.
3184
3185 2022-02-24 Tom de Vries <tdevries@suse.de>
3186 Tobias Burnus <tobias@codesourcery.com>
3187
3188 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
3189 sm_70, sm_75 and sm_80.
3190 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
3191
3192 2022-02-24 Tom de Vries <tdevries@suse.de>
3193
3194 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
3195 "rotrsi3"): New define_insn.
3196
3197 2022-02-24 Tom de Vries <tdevries@suse.de>
3198
3199 * config/nvptx/nvptx.cc (gen_comment): Use
3200 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
3201
3202 2022-02-24 liuhongt <hongtao.liu@intel.com>
3203
3204 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
3205 isa attr of alternative 2 from avx to avx512vl.
3206
3207 2022-02-23 Richard Biener <rguenther@suse.de>
3208 Jakub Jelinek <jakub@redhat.com>
3209
3210 PR tree-optimization/104644
3211 * doc/match-and-simplify.texi: Amend ! documentation.
3212 * genmatch.cc (expr::gen_transform): Code-generate ! support
3213 for GENERIC.
3214 (parser::parse_expr): Allow ! for GENERIC.
3215 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
3216 bswap.
3217
3218 2022-02-23 Richard Biener <rguenther@suse.de>
3219
3220 PR tree-optimization/101636
3221 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
3222 vector type of the node.
3223 (vect_slp_analyze_operations): Make sure the CTOR
3224 is vectorized with an expected type.
3225 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
3226
3227 2022-02-23 Jakub Jelinek <jakub@redhat.com>
3228
3229 PR c/104633
3230 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
3231 Don't warn about calls to corresponding builtin from extern inline
3232 gnu_inline wrappers.
3233
3234 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
3235
3236 PR target/104489
3237 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
3238
3239 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
3240
3241 PR target/100757
3242 PR target/101325
3243 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
3244 typo.
3245
3246 2022-02-23 Cui,Lili <lili.cui@intel.com>
3247
3248 * doc/invoke.texi: Update documents for Intel architectures.
3249
3250 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
3251
3252 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
3253 bootstrap.
3254
3255 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
3256
3257 * omp-low.cc (omp_build_component_ref): Move function...
3258 * omp-general.cc (omp_build_component_ref): ... here. Remove
3259 'static'.
3260 * omp-general.h (omp_build_component_ref): Declare function.
3261 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
3262 function.
3263 (build_receiver_ref, build_sender_ref): Call
3264 'omp_build_component_ref' instead.
3265
3266 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
3267
3268 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
3269 simplify. Adjust all users.
3270
3271 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
3272
3273 PR target/88134
3274 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
3275 atomic_update_decl): Add GTY markup.
3276
3277 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3278
3279 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
3280
3281 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3282
3283 PR target/100757
3284 PR target/101325
3285 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
3286 predicate.
3287 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
3288 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
3289 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
3290 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
3291 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
3292 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
3293 * config/arm/mve.md: Use VxBI instead of HI.
3294
3295 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3296
3297 PR target/100757
3298 PR target/101325
3299 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
3300 qualifier.
3301 (STRSBU_P_QUALIFIERS): Likewise.
3302 (LDRGBS_Z_QUALIFIERS): Likewise.
3303 (LDRGBU_Z_QUALIFIERS): Likewise.
3304 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
3305 (LDRGBWBS_Z_QUALIFIERS): Likewise.
3306 (LDRGBWBU_Z_QUALIFIERS): Likewise.
3307 (STRSBWBS_P_QUALIFIERS): Likewise.
3308 (STRSBWBU_P_QUALIFIERS): Likewise.
3309 * config/arm/mve.md: Use VxBI instead of HI.
3310
3311 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3312
3313 PR target/100757
3314 PR target/101325
3315 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
3316 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
3317 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
3318 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
3319 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
3320 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
3321 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
3322 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
3323 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
3324 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
3325 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
3326 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
3327 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
3328 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
3329 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
3330 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
3331 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
3332 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
3333 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
3334 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
3335 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
3336 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
3337 (STRS_P_QUALIFIERS): Use predicate qualifier.
3338 (STRU_P_QUALIFIERS): Likewise.
3339 (STRSU_P_QUALIFIERS): Likewise.
3340 (STRSS_P_QUALIFIERS): Likewise.
3341 (LDRGS_Z_QUALIFIERS): Likewise.
3342 (LDRGU_Z_QUALIFIERS): Likewise.
3343 (LDRS_Z_QUALIFIERS): Likewise.
3344 (LDRU_Z_QUALIFIERS): Likewise.
3345 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
3346 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
3347 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
3348 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
3349 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
3350 * config/arm/mve.md: Use MVE_VPRED instead of HI.
3351
3352 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3353
3354 PR target/100757
3355 PR target/101325
3356 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
3357 Delete.
3358 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
3359 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
3360 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
3361 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
3362 predicated qualifiers.
3363 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
3364 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
3365
3366 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3367
3368 PR target/100757
3369 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
3370 (arm_expand_vector_compare): Update prototype.
3371 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
3372 (arm_vector_mode_supported_p): Add support for VxBI modes.
3373 (arm_expand_vector_compare): Remove useless generation of vpsel.
3374 (arm_expand_vcond): Fix select operands.
3375 (arm_get_mask_mode): New.
3376 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
3377 (vec_cmpu<mode><MVE_vpred>): New.
3378 (vcond_mask_<mode><MVE_vpred>): New.
3379 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
3380 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
3381 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
3382 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
3383 and disable for MVE.
3384 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
3385
3386 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3387
3388 PR target/100757
3389 PR target/101325
3390 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
3391 (BINOP_PRED_NONE_NONE_QUALIFIERS)
3392 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
3393 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
3394 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
3395 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
3396 modes.
3397 (arm_mode_to_pred_mode): New.
3398 (arm_expand_vector_compare): Use the right VxBI mode instead of
3399 HI.
3400 (arm_expand_vcond): Likewise.
3401 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
3402 (mve_bool_vec_to_const): New.
3403 (neon_make_constant): Call mve_bool_vec_to_const when needed.
3404 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
3405 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
3406 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
3407 (vpselq_s, vpselq_f): Use new predicated qualifiers.
3408 * config/arm/constraints.md (DB): New.
3409 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
3410 (MVE_VPRED, MVE_vpred): New attribute iterators.
3411 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
3412 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
3413 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
3414 (@mve_vpselq_<supf>v2di): Define separately.
3415 (mov<mode>): New expander for VxBI modes.
3416 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
3417 MVE_7_HI iterator and add support for DB constraint.
3418
3419 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3420 Richard Sandiford <richard.sandiford@arm.com>
3421
3422 PR target/100757
3423 PR target/101325
3424 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
3425 VNx2BI): Update definition.
3426 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
3427 simd types.
3428 (arm_init_builtin): Map predicate vectors arguments to HImode.
3429 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
3430 rtx. Move return value to HImode rtx.
3431 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
3432 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
3433 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
3434 Pred2x8_t,Pred4x4_t): New.
3435 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
3436 * genmodes.cc (mode_data): Add boolean field.
3437 (blank_mode): Initialize it.
3438 (make_complex_modes): Fix handling of boolean modes.
3439 (make_vector_modes): Likewise.
3440 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
3441 (make_vector_bool_mode): Likewise.
3442 (BOOL_MODE): New.
3443 (make_bool_mode): New.
3444 (emit_insn_modes_h): Fix generation of boolean modes.
3445 (emit_class_narrowest_mode): Likewise.
3446 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
3447 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
3448 define BImode.
3449 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
3450 Fix handling of constm1_rtx for VECTOR_BOOL.
3451 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
3452 (native_decode_vector_rtx): Likewise.
3453 (test_vector_ops_duplicate): Skip vec_merge test
3454 with vectors of booleans.
3455 * varasm.cc (output_constant_pool_2): Likewise.
3456
3457 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3458
3459 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
3460 for operand 1.
3461
3462 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3463
3464 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
3465
3466 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3467
3468 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
3469 (REG_CLASS_NAMES): Likewise.
3470 (REG_CLASS_CONTENTS): Likewise.
3471 (CLASS_MAX_NREGS): Handle VPR.
3472 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
3473
3474 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
3475 Tom de Vries <tdevries@suse.de>
3476
3477 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
3478 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
3479 Likewise.
3480 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
3481
3482 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
3483 Tom de Vries <tdevries@suse.de>
3484
3485 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
3486 * doc/invoke.texi (-mptx): Update for new values and defaults.
3487
3488 2022-02-22 Tom de Vries <tdevries@suse.de>
3489
3490 * config/nvptx/nvptx.cc (gen_comment): New function.
3491 (workaround_uninit_method_1, workaround_uninit_method_2)
3492 (workaround_uninit_method_3): : Use gen_comment.
3493 * config/nvptx/nvptx.opt (mptx-comment): New option.
3494
3495 2022-02-22 Richard Biener <rguenther@suse.de>
3496
3497 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
3498 for a splat.
3499
3500 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
3501 Richard Biener <rguenther@suse.de>
3502
3503 * fold-const.cc (ctor_single_nonzero_element): New function to
3504 return the single non-zero element of a (vector) constructor.
3505 * fold-const.h (ctor_single_nonzero_element): Prototype here.
3506 * match.pd (reduc (constructor@0)): Simplify reductions of a
3507 constructor containing a single non-zero element.
3508 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
3509 reductions of vector operations of the same operator with
3510 constant vector operands.
3511
3512 2022-02-22 Jakub Jelinek <jakub@redhat.com>
3513
3514 PR tree-optimization/104604
3515 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
3516 Only check if gimple_assign_rhs1 is COMPLEX_CST if
3517 gimple_assign_rhs_code is COMPLEX_CST.
3518
3519 2022-02-22 Jakub Jelinek <jakub@redhat.com>
3520
3521 PR target/104612
3522 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
3523 on input operands before calling lowpart_subreg on it. For output
3524 operand, use a vmode pseudo as destination and then move its lowpart
3525 subreg into operands[0] if lowpart_subreg fails on dest.
3526 (ix86_expand_xorsign): Likewise.
3527
3528 2022-02-22 Richard Biener <rguenther@suse.de>
3529
3530 PR tree-optimization/104582
3531 PR target/99881
3532 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
3533 Cost GPR to vector register moves for integer vector construction.
3534
3535 2022-02-22 Richard Biener <rguenther@suse.de>
3536
3537 PR tree-optimization/104582
3538 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
3539 (vector_costs::add_stmt_cost): Add SLP node parameter.
3540 (dump_stmt_cost): Likewise.
3541 (add_stmt_cost): Likewise, new overload and adjust.
3542 (add_stmt_costs): Adjust.
3543 (record_stmt_cost): New overload.
3544 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
3545 (vector_costs::add_stmt_cost): Adjust.
3546 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
3547 Adjust.
3548 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
3549 the SLP node for costing.
3550 (vectorizable_slp_permutation): Likewise.
3551 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
3552 new overloads.
3553 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
3554 Adjust.
3555 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
3556 Adjust.
3557 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
3558 Adjust.
3559 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
3560
3561 2022-02-22 Richard Biener <rguenther@suse.de>
3562
3563 PR tree-optimization/104582
3564 * tree-vectorizer.h (add_stmt_cost): New overload.
3565 (record_stmt_cost): Likewise.
3566 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
3567 Use add_stmt_costs.
3568 (vect_get_known_peeling_cost): Use new overloads.
3569 (vect_estimate_min_profitable_iters): Likewise. Consistently
3570 use scalar_stmt for costing versioning checks.
3571 * tree-vect-stmts.cc (record_stmt_cost): New overload.
3572
3573 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
3574
3575 PR target/103069
3576 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
3577 Split atomic fetch and loop part.
3578 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
3579 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
3580 prototype.
3581 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
3582 expander under TARGET_RELAX_CMPXCHG_LOOP.
3583 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
3584
3585 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
3586
3587 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
3588 Change wb_candidate[12] to wb_push_candidate[12].
3589 (aarch64_layout_frame): Likewise, and
3590 change callee_adjust when scs is enabled.
3591 (aarch64_save_callee_saves):
3592 Change wb_candidate[12] to wb_push_candidate[12].
3593 (aarch64_restore_callee_saves):
3594 Change wb_candidate[12] to wb_pop_candidate[12].
3595 (aarch64_get_separate_components):
3596 Change wb_candidate[12] to wb_push_candidate[12].
3597 (aarch64_expand_prologue): Push x30 onto SCS before it's
3598 pushed onto stack.
3599 (aarch64_expand_epilogue): Pop x30 frome SCS, while
3600 preventing it from being popped from the regular stack again.
3601 (aarch64_override_options_internal): Add SCS compile option check.
3602 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
3603 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
3604 wb_pop_candidate[12], and rename wb_candidate[12] to
3605 wb_push_candidate[12].
3606 * config/aarch64/aarch64.md (scs_push): New template.
3607 (scs_pop): Likewise.
3608 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
3609 * doc/tm.texi: Regenerate.
3610 * doc/tm.texi.in: Add hook have_shadow_call_stack.
3611 * flag-types.h (enum sanitize_code):
3612 Add SANITIZE_SHADOW_CALL_STACK.
3613 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
3614 and exclude SANITIZE_SHADOW_CALL_STACK.
3615 * target.def: New hook.
3616 * toplev.cc (process_options): Add SCS compile option check.
3617 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
3618
3619 2022-02-21 Tom de Vries <tdevries@suse.de>
3620
3621 PR target/104440
3622 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
3623 (workaround_uninit_method_2, workaround_uninit_method_3)
3624 (workaround_uninit): New function.
3625 (nvptx_reorg): Use workaround_uninit.
3626 * config/nvptx/nvptx.opt (minit-regs): New option.
3627
3628 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
3629
3630 PR rtl-optimization/104498
3631 * alias.cc (compare_base_symbol_refs): Correct distance computation
3632 when swapping x and y.
3633
3634 2022-02-21 Andrew Pinski <apinski@marvell.com>
3635
3636 PR c/104506
3637 * tree-ssa.cc (tree_ssa_useless_type_conversion):
3638 Check the inner type before calling useless_type_conversion_p.
3639
3640 2022-02-19 Tom de Vries <tdevries@suse.de>
3641
3642 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
3643 * config/nvptx/nvptx.md
3644 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
3645 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
3646 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
3647 (define_expand "atomic_store<mode>"): Handle rename. Use
3648 nvptx_atomic_store instead of atomic_exchange.
3649
3650 2022-02-19 Tom de Vries <tdevries@suse.de>
3651
3652 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
3653 insns with atomic attribute. Assert that all handled insns are
3654 PARALLELs.
3655 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
3656 Set atomic attribute to false.
3657
3658 2022-02-19 Tom de Vries <tdevries@suse.de>
3659
3660 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
3661 type to bool.
3662 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
3663 nvptx_warpsync, if necessary.
3664
3665 2022-02-19 Jakub Jelinek <jakub@redhat.com>
3666
3667 PR sanitizer/102656
3668 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
3669 known to be within bounds, treat it like automatic variables.
3670 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
3671 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
3672 it addressable.
3673
3674 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
3675
3676 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
3677 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
3678 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
3679 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
3680 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
3681 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
3682 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
3683 power10_sched_reorder): Likewise.
3684 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
3685 gen_addadd): Likewise
3686 * config/rs6000/fusion.md: Regenerate.
3687
3688 2022-02-18 Jakub Jelinek <jakub@redhat.com>
3689
3690 PR target/104257
3691 PR target/104598
3692 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
3693 rather than __posix_memalign.
3694
3695 2022-02-18 Richard Biener <rguenther@suse.de>
3696
3697 PR target/104581
3698 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
3699 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
3700 of calling ix86_avx_u128_mode_source which would eventually
3701 have returned AVX_U128_ANY in some very special case.
3702
3703 2022-02-18 Richard Biener <rguenther@suse.de>
3704
3705 PR tree-optimization/96881
3706 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
3707 CLOBBER handling.
3708 (control_parents_preserved_p): New function.
3709 (eliminate_unnecessary_stmts): Check that we preserved control
3710 parents before retaining a CLOBBER.
3711 (perform_tree_ssa_dce): Pass down aggressive flag
3712 to eliminate_unnecessary_stmts.
3713
3714 2022-02-17 Jason Merrill <jason@redhat.com>
3715
3716 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
3717 on TYPE_MAIN_VARIANT.
3718
3719 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
3720
3721 PR target/104257
3722 * config/rs6000/bmi2intrin.h: Uglify local variables.
3723 * config/rs6000/emmintrin.h: Likewise.
3724 * config/rs6000/mm_malloc.h: Likewise.
3725 * config/rs6000/mmintrin.h: Likewise.
3726 * config/rs6000/pmmintrin.h: Likewise.
3727 * config/rs6000/smmintrin.h: Likewise.
3728 * config/rs6000/tmmintrin.h: Likewise.
3729 * config/rs6000/xmmintrin.h: Likewise.
3730
3731 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
3732
3733 PR target/104335
3734 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
3735 if the expected comparison's first operand is of mode MODE_CC.
3736
3737 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
3738
3739 PR rtl-optimization/104447
3740 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
3741 hard reg set by lra_no_alloc_regs.
3742
3743 2022-02-17 liuhongt <hongtao.liu@intel.com>
3744
3745 PR tree-optimization/104551
3746 PR tree-optimization/103771
3747 * match.pd (cond_expr_convert_p): Add types_match check when
3748 convert is extension.
3749 * tree-vect-patterns.cc
3750 (gimple_cond_expr_convert_p): Adjust comments.
3751 (vect_recog_cond_expr_convert_pattern): Ditto.
3752
3753 2022-02-17 Jakub Jelinek <jakub@redhat.com>
3754
3755 PR debug/104557
3756 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
3757 if expr has VOIDmode.
3758
3759 2022-02-17 liuhongt <hongtao.liu@intel.com>
3760
3761 * config/i386/cpuid.h (bit_MPX): Removed.
3762 (bit_BNDREGS): Ditto.
3763 (bit_BNDCSR): Ditto.
3764
3765 2022-02-17 Michael Meissner <meissner@the-meissners.org>
3766
3767 PR target/99708
3768 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
3769 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
3770 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
3771 is created.
3772
3773 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
3774
3775 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
3776 range_compatible_p instead of direct type comparison.
3777
3778 2022-02-16 Jakub Jelinek <jakub@redhat.com>
3779
3780 PR rtl-optimization/104544
3781 * combine.cc (try_combine): When looking for insn whose links
3782 should be updated from i3 to i2, don't stop on debug insns, instead
3783 skip over them.
3784
3785 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
3786
3787 PR target/100056
3788 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
3789 * config/aarch64/aarch64.md: Extend the PR100056 patterns
3790 to handle plus in the same way as ior, if the operands have
3791 no set bits in common.
3792
3793 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
3794
3795 PR tree-optimization/104526
3796 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
3797 new routine.
3798 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
3799 of dependency chain if there isn't one.
3800 (gori_compute::condexpr_adjust): New.
3801 * gimple-range-gori.h (class gori_compute): New prototype.
3802
3803 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
3804
3805 PR target/100874
3806 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
3807 Declare.
3808 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
3809 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
3810
3811 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
3812
3813 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
3814 (vect_scalar_ops_slice_hash): Likewise.
3815 (vect_scalar_ops_slice::op): New function.
3816 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
3817 (vect_scalar_ops_slice_hash::hash): Likewise.
3818 (vect_scalar_ops_slice_hash::equal): Likewise.
3819 (vect_prologue_cost_for_slp): Check for duplicate vectors.
3820 * config/aarch64/aarch64.cc
3821 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
3822 (aarch64_aligned_constant_offset_p): New function.
3823 (aarch64_stp_sequence_cost): Likewise.
3824 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
3825 (aarch64_vector_costs::finish_cost): Likewise.
3826
3827 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
3828
3829 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
3830 use after free.
3831
3832 2022-02-15 Richard Biener <rguenther@suse.de>
3833
3834 PR tree-optimization/104543
3835 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
3836 come after the inner loop.
3837
3838 2022-02-15 Jakub Jelinek <jakub@redhat.com>
3839
3840 PR target/104536
3841 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
3842 cannot instead of can%'t in diagnostics. Formatting fixes.
3843
3844 2022-02-15 Jakub Jelinek <jakub@redhat.com>
3845
3846 PR middle-end/104522
3847 * fold-const.h (native_interpret_real): Declare.
3848 * fold-const.cc (native_interpret_real): No longer static. Don't
3849 perform MODE_COMPOSITE_P verification here.
3850 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
3851 for all modes.
3852 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
3853 instead of native_interpret_expr.
3854 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
3855 and comparison verification for all FLOAT_MODE_P modes, not just
3856 MODE_COMPOSITE_P.
3857
3858 2022-02-15 Richard Biener <rguenther@suse.de>
3859
3860 PR tree-optimization/104519
3861 * fold-const.cc (multiple_of_p): Remove never true condition.
3862 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
3863 the appropriate types for determining whether the difference
3864 of final and base is a multiple of the step.
3865
3866 2022-02-15 Jakub Jelinek <jakub@redhat.com>
3867
3868 PR debug/104517
3869 * omp-low.cc (task_cpyfns): New variable.
3870 (delete_omp_context): Don't call finalize_task_copyfn from here.
3871 (create_task_copyfn): Push task_stmt into task_cpyfns.
3872 (execute_lower_omp): Call finalize_task_copyfn here on entries from
3873 task_cpyfns vector and release the vector.
3874
3875 2022-02-14 Martin Sebor <msebor@redhat.com>
3876
3877 PR middle-end/104355
3878 * doc/invoke.texi (-Warray-bounds): Update documentation.
3879
3880 2022-02-14 Michael Meissner <meissner@the-meissners.org>
3881
3882 PR target/104253
3883 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
3884 conversion functions used to convert IFmode types.
3885
3886 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
3887
3888 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
3889
3890 2022-02-14 Richard Biener <rguenther@suse.de>
3891
3892 PR tree-optimization/104528
3893 * tree-ssa.h (find_released_ssa_name): Declare.
3894 * tree-ssa.cc (find_released_ssa_name): Export.
3895 * cfgloop.cc (verify_loop_structure): Look for released
3896 SSA names in loops nb_iterations.
3897 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
3898 estimates.
3899
3900 2022-02-14 Richard Biener <rguenther@suse.de>
3901
3902 PR tree-optimization/104511
3903 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
3904 touching DFP <-> FP conversions.
3905
3906 2022-02-14 Richard Biener <rguenther@suse.de>
3907
3908 PR middle-end/104497
3909 * gimplify.cc (gimplify_compound_lval): Make sure the
3910 base is a non-register if needed and possible.
3911
3912 2022-02-13 liuhongt <hongtao.liu@intel.com>
3913
3914 PR target/103771
3915 * match.pd (cond_expr_convert_p): New match.
3916 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
3917 (vect_recog_cond_expr_convert_pattern): New.
3918
3919 2022-02-12 Jakub Jelinek <jakub@redhat.com>
3920
3921 PR sanitizer/104449
3922 * asan.cc: Include tree-eh.h.
3923 (handle_builtin_alloca): Handle the case when __builtin_alloca or
3924 __builtin_alloca_with_align can throw.
3925
3926 2022-02-12 Jakub Jelinek <jakub@redhat.com>
3927
3928 PR target/104502
3929 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
3930 and AVX512VL isn't available, move operands[1] to operands[0] first.
3931
3932 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
3933
3934 PR target/79754
3935 * config/i386/i386.cc (type_natural_mode):
3936 Skip decimal float vector modes.
3937
3938 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
3939 Vladimir Makarov <vmakarov@redhat.com>
3940
3941 PR target/104117
3942 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
3943 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
3944 emitting PIC code.
3945 (legitimate_lo_sum_address_p): Likewise.
3946 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
3947 load from an invalid lo_sum address.
3948
3949 2022-02-11 Jakub Jelinek <jakub@redhat.com>
3950
3951 PR tree-optimization/104499
3952 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
3953 of convert.
3954
3955 2022-02-11 Jakub Jelinek <jakub@redhat.com>
3956
3957 * tree.cc (build_common_builtin_nodes): Fix up formatting in
3958 __builtin_clear_padding decl creation.
3959 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
3960 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
3961 argument rather than in 3rd argument.
3962 (gimplify_call_expr): Likewise. Fix up comment formatting.
3963 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
3964 2 arguments instead of 3, take for_auto_init from the value
3965 of 2nd argument.
3966
3967 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
3968
3969 PR rtl-optimization/104400
3970 * lra-constraints.cc (process_alt_operands): Don't make union of
3971 this_alternative_exclude_start_hard_regs when reg class in insn
3972 alternative covers other reg classes in the same alternative.
3973
3974 2022-02-11 Jakub Jelinek <jakub@redhat.com>
3975
3976 PR middle-end/104446
3977 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
3978 operands.
3979
3980 2022-02-11 Richard Biener <rguenther@suse.de>
3981
3982 PR middle-end/104496
3983 * internal-fn.cc (vectorized_internal_fn_supported_p):
3984 Bail out for integer mode vector types.
3985
3986 2022-02-11 Jakub Jelinek <jakub@redhat.com>
3987
3988 PR rtl-optimization/104459
3989 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
3990 moving DEBUG_INSNs between bbs.
3991
3992 2022-02-11 liuhongt <hongtao.liu@intel.com>
3993
3994 PR tree-optimization/104479
3995 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
3996 for the dest of uncond_op.
3997
3998 2022-02-11 Tom de Vries <tdevries@suse.de>
3999
4000 PR target/104456
4001 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
4002 insn.
4003
4004 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
4005
4006 PR middle-end/100775
4007 * function.cc (gen_call_used_regs_seq): Call
4008 df_update_exit_block_uses when updating df.
4009
4010 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
4011
4012 PR target/104469
4013 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
4014 Change operand 1 constraint to register_operand.
4015
4016 2022-02-10 Richard Biener <rguenther@suse.de>
4017
4018 PR tree-optimization/104373
4019 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
4020 walk kind.
4021 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
4022 walk kind as argument.
4023 (run_rpo_vn): Adjust.
4024 (pass_fre::execute): Likewise.
4025 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
4026 blocks not reachable.
4027 (execute_late_warn_uninitialized): Mark all edges as
4028 executable.
4029 (execute_early_warn_uninitialized): Use VN to compute
4030 executable edges.
4031 (pass_data_early_warn_uninitialized): Enable a dump file,
4032 change dump name to warn_uninit.
4033
4034 2022-02-10 Richard Biener <rguenther@suse.de>
4035
4036 PR middle-end/104467
4037 * match.pd (vector extract simplification): Multiply the
4038 number of CTOR elements with the number of element elements.
4039
4040 2022-02-10 Richard Biener <rguenther@suse.de>
4041
4042 PR tree-optimization/104466
4043 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
4044 for the MR_DEPENDENCE checks as intended.
4045
4046 2022-02-10 Tom de Vries <tdevries@suse.de>
4047
4048 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
4049 define_insn.
4050 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
4051 TARGET_SM70.
4052 (define_c_enum "unspecv"): Add UNSPECV_ST.
4053
4054 2022-02-10 Tom de Vries <tdevries@suse.de>
4055
4056 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
4057 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
4058 (nvptx_mem_maybe_shared_p): New function.
4059 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
4060 define_expand.
4061
4062 2022-02-10 Tom de Vries <tdevries@suse.de>
4063
4064 PR target/97005
4065 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
4066 driver JIT bug by using sub.s16 instead of sub.u16.
4067
4068 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4069
4070 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
4071 floating point constants as operands 1 and/or 2.
4072
4073 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4074
4075 PR target/104345
4076 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
4077 (sel_false<mode>): Likewise.
4078 (define_code_iterator eqne): New code iterator for EQ and NE.
4079 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
4080 the negation of a selp instruction.
4081 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
4082 the bitwise not of a selp instruction.
4083 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
4084
4085 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4086
4087 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
4088 in machine description.
4089 (logic): Move code attribute earlier in machine description.
4090 (ilogic): New code attribute, like logic but "ior" for IOR.
4091 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
4092 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
4093 (<ilogic>bi3): New define_insn for BI mode logic operations.
4094 (define_split): Lower logic operations from integer modes to
4095 BI mode predicate operations.
4096
4097 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4098
4099 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
4100 (one_cmplbi2): New define_insn for not.pred.
4101 (mulditi3): New define_expand for signed widening multiply.
4102 (umulditi3): New define_expand for unsigned widening multiply.
4103 (smul<mode>3_highpart): New define_insn for signed highpart mult.
4104 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
4105 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
4106 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
4107 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
4108 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
4109 (*setcc<mode>_from_not_bi): New define_insn.
4110 (*setcc_isinf<mode>): New define_insn for testp.infinite.
4111 (isinf<mode>2): New define_expand.
4112
4113 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4114
4115 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
4116 (setcc<mode>_from_bi): Additionally support QImode.
4117 (extendbi<mode>2): Additionally support QImode.
4118 (zero_extendbi<mode>2): Additionally support QImode.
4119 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
4120 iterators for signed and unsigned, binary and unary operations.
4121 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
4122 expanders to perform QImode operations using SImode instructions.
4123 (cstoreqi4): New define_expand.
4124 (*ext_truncsi2_qi): New define_insn.
4125 (*zext_truncsi2_qi): New define_insn.
4126
4127 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4128
4129 * config/nvptx/nvptx.md (*cmpf): New define_insn.
4130 (cstorehf4): New define_expand.
4131 (fmahf4): New define_insn.
4132 (neghf2): New define_insn.
4133 (abshf2): New define_insn.
4134
4135 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
4136
4137 * doc/install.texi (Specific): Change the www.bitwizard.nl
4138 reference to use https.
4139
4140 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
4141
4142 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
4143 OMP_CLAUSE_HAS_DEVICE_ADDR
4144 and handle array sections.
4145 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
4146 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
4147 (lower_omp_target): Same.
4148 * tree-core.h (enum omp_clause_code): Same.
4149 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
4150 (convert_local_omp_clauses): Same.
4151 * tree-pretty-print.cc (dump_omp_clause): Same.
4152 * tree.cc: Same.
4153
4154 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
4155
4156 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
4157 that will result in direct recursive calls.
4158
4159 2022-02-10 Andrew Pinski <apinski@marvell.com>
4160
4161 PR target/104474
4162 * config/aarch64/aarch64.cc
4163 (aarch64_sve_expand_vector_init_handle_trailing_constants):
4164 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
4165
4166 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
4167
4168 PR target/104462
4169 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
4170 Also include OPTION_MASK_ISA2_AVX2_UNSET.
4171
4172 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
4173
4174 PR target/104458
4175 * config/i386/i386-expand.cc (ix86_split_idivmod):
4176 Force operands[2] and operands[3] into a register..
4177
4178 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
4179
4180 PR target/97040
4181 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
4182 (*v850_fnmssf4): Renamed from fnmssf4
4183
4184 2022-02-09 Ian Lance Taylor <iant@golang.org>
4185
4186 * godump.cc (go_force_record_alignment): Really name the alignment
4187 field "_" (complete 2021-12-29 change).
4188
4189 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
4190
4191 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
4192 function prototype.
4193 (VREPLACE_UN_UV4SI): Likewise.
4194 (VREPLACE_UN_V2DF): Likewise.
4195 (VREPLACE_UN_V2DI): Likewise.
4196 (VREPLACE_UN_V4SF): Likewise.
4197 (VREPLACE_UN_V4SI): Likewise.
4198 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
4199 function prototypes.
4200 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
4201 (vreplace_un_<mode>): New define_insn.
4202
4203 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4204
4205 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
4206 (VDBL): Handle SF.
4207 (single_wx, single_type, single_dtype, dblq): New mode attributes.
4208 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
4209 from VDC to VDCSIF.
4210 (store_pair_lanes<mode>): Likewise.
4211 (*aarch64_combine_internal<mode>): Likewise.
4212 (*aarch64_combine_internal_be<mode>): Likewise.
4213 (*aarch64_combinez<mode>): Likewise.
4214 (*aarch64_combinez_be<mode>): Likewise.
4215 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
4216 8-byte modes for ADDR_QUERY_LDP_STP_N.
4217 (aarch64_print_operand): Likewise for %y.
4218
4219 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4220
4221 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
4222 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
4223 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
4224 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
4225 (vec_pack_trunc_<mode>): Take general_operand elements and use
4226 aarch64_combine rather than move_lo/hi_quad to combine them.
4227 (vec_pack_trunc_df): Likewise.
4228
4229 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4230
4231 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
4232 Delete.
4233 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
4234 to...
4235 (*aarch64_combinez<mode>): ...this.
4236 (@aarch64_combinez_be<mode>): Rename to...
4237 (*aarch64_combinez_be<mode>): ...this.
4238 (@aarch64_vec_concat<mode>): New expander.
4239 (aarch64_combine<mode>): Use it.
4240 (@aarch64_simd_combine<mode>): Delete.
4241 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
4242 (aarch64_expand_vector_init): Use aarch64_vec_concat.
4243
4244 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4245
4246 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
4247 New predicate.
4248 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
4249 (*aarch64_combine_internal_be<mode>): New patterns.
4250
4251 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4252
4253 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
4254 (move_lo_quad_internal_be_<mode>): Delete.
4255 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
4256
4257 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4258
4259 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
4260 Declare.
4261 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
4262 aarch64_mergeable_load_pair_p instead of inline check.
4263 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
4264 (aarch64_check_consecutive_mems): Allow the reversed parameter
4265 to be null.
4266 (aarch64_mergeable_load_pair_p): New function.
4267
4268 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4269
4270 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
4271 element to be an aarch64_simd_nonimmediate_operand.
4272
4273 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4274
4275 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
4276 aarch64_simd_nonimmediate_operand instead of
4277 aarch64_simd_general_operand.
4278 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
4279 general_operand.
4280 (@aarch64_combinez_be<mode>): Likewise.
4281
4282 2022-02-09 Richard Biener <rguenther@suse.de>
4283
4284 PR middle-end/104464
4285 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
4286 throwing check to after unproblematic replacement.
4287
4288 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
4289
4290 PR tree-optimization/104420
4291 * match.pd (mult @0 real_zerop): Tweak conditions for constant
4292 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
4293
4294 2022-02-09 Jakub Jelinek <jakub@redhat.com>
4295
4296 PR debug/104407
4297 * dwarf2out.cc (mangle_referenced_decls): New function.
4298 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
4299 early_dwarf. Instead walk the initializer and try to mangle vars or
4300 functions referenced from it.
4301
4302 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
4303
4304 PR tree-optimization/104288
4305 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
4306 (non_null_ref::adjust_range): Move to header.
4307 (ranger_cache::range_of_def): Don't check non-null.
4308 (ranger_cache::entry_range): Don't check non-null.
4309 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
4310 (ranger_cache::update_to_nonnull): New.
4311 (non_null_loadstore): New.
4312 (ranger_cache::block_apply_nonnull): New.
4313 * gimple-range-cache.h (class non_null_ref): Update prototypes.
4314 (non_null_ref::adjust_range): Move to here and inline.
4315 (class ranger_cache): Update prototypes.
4316 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
4317 not search dominators.
4318 (path_range_query::adjust_for_non_null_uses): Ditto.
4319 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
4320 def overrides. Do not check nonnull.
4321 (gimple_ranger::range_on_entry): Check dominators for nonnull.
4322 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
4323 (gimple_ranger::register_side_effects): New.
4324 * gimple-range.h (gimple_ranger::register_side_effects): New.
4325 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
4326
4327 2022-02-09 Richard Biener <rguenther@suse.de>
4328
4329 PR tree-optimization/104445
4330 PR tree-optimization/102832
4331 * optabs-query.h (can_vec_extract): New.
4332 * optabs-query.cc (can_vec_extract): Likewise.
4333 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
4334 we can extract a hi/lo part from the larger vector, rework
4335 check iteration from larger to smaller sizes.
4336
4337 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
4338
4339 PR target/35513
4340 PR target/100593
4341 * config/i386/gnu-property.cc: Include "i386-protos.h".
4342 (file_end_indicate_exec_stack_and_gnu_property): Generate
4343 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
4344 nodirect_extern_access attribute.
4345 * config/i386/i386-options.cc
4346 (handle_nodirect_extern_access_attribute): New function.
4347 (ix86_attribute_table): Add nodirect_extern_access attribute.
4348 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
4349 bool argument.
4350 (ix86_has_no_direct_extern_access): New.
4351 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
4352 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
4353 call operand. Force non-call load from GOT for
4354 -mno-direct-extern-access or nodirect_extern_access attribute.
4355 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
4356 for -mno-direct-extern-access or nodirect_extern_access attribute.
4357 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
4358 for call operand.
4359 (asm_preferred_eh_data_format): Use PC-relative format for
4360 -mno-direct-extern-access to avoid copy relocation. Check
4361 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
4362 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
4363 true for -mno-direct-extern-access or nodirect_extern_access
4364 attribute. Don't treat protected data as extern and avoid copy
4365 relocation on common symbol with -mno-direct-extern-access or
4366 nodirect_extern_access attribute.
4367 (ix86_reloc_rw_mask): New to avoid copy relocation for
4368 -mno-direct-extern-access.
4369 (TARGET_ASM_RELOC_RW_MASK): New.
4370 * config/i386/i386.opt: Add -mdirect-extern-access.
4371 * doc/extend.texi: Document nodirect_extern_access attribute.
4372 * doc/invoke.texi: Document -m[no-]direct-extern-access.
4373
4374 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
4375
4376 PR target/104441
4377 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
4378 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
4379 Call ix86_avx_u128_mode_source to check mode for each component
4380 of source operand.
4381
4382 2022-02-09 liuhongt <hongtao.liu@intel.com>
4383
4384 PR target/104451
4385 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
4386 operands[2] from SImode to QImode.
4387
4388 2022-02-09 Richard Biener <rguenther@suse.de>
4389
4390 PR middle-end/104450
4391 * gimple-isel.cc: Pass cfun around.
4392 (+gimple_expand_vec_cond_expr): Do not combine a throwing
4393 comparison with the select.
4394
4395 2022-02-09 Richard Biener <rguenther@suse.de>
4396
4397 PR target/104453
4398 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
4399 folding for NULL LHS.
4400
4401 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
4402
4403 PR rtl-optimization/104198
4404 PR rtl-optimization/104153
4405 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
4406 using it directly. Rework comparison handling and always
4407 perform a second pass.
4408
4409 2022-02-08 Jakub Jelinek <jakub@redhat.com>
4410
4411 PR target/102140
4412 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
4413 split1 pass has finished already.
4414
4415 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
4416
4417 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
4418 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
4419 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
4420 (vmsumcud): New define_insn.
4421
4422 2022-02-08 Tom de Vries <tdevries@suse.de>
4423
4424 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
4425 * config/nvptx/nvptx.h (TARGET_SM70): Define.
4426
4427 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
4428
4429 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
4430 on condition.
4431 * config/s390/s390.md: Use paradoxical subreg.
4432
4433 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
4434
4435 * combine.cc (reg_subword_p): Check for paradoxical subreg.
4436
4437 2022-02-08 Tom de Vries <tdevries@suse.de>
4438
4439 PR target/104283
4440 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
4441 and PTX_VERSION_4_2.
4442 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
4443 (default_ptx_version_option, ptx_version_to_string)
4444 (sm_version_to_string, handle_ptx_version_option): New function.
4445 (nvptx_option_override): Call handle_ptx_version_option.
4446 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
4447 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
4448 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
4449 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
4450
4451 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
4452
4453 * doc/install.texi (Configuration): Document `--with-isa-spec='
4454 RISC-V option.
4455 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
4456 option.
4457 (RISC-V Options): Document it.
4458
4459 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
4460
4461 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
4462
4463 2022-02-08 Tom de Vries <tdevries@suse.de>
4464
4465 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
4466
4467 2022-02-08 Tom de Vries <tdevries@suse.de>
4468
4469 PR target/104364
4470 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
4471 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
4472 change is validated.
4473 (nvptx_mem_local_p): New function.
4474 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
4475 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
4476 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
4477 non-atomic, non-predicable define_insn, factored out of ...
4478 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
4479 Make predicable again.
4480 (define_expand "atomic_compare_and_swap<mode>"): Use
4481 atomic_compare_and_swap<mode>_1_local.
4482
4483 2022-02-08 liuhongt <hongtao.liu@intel.com>
4484
4485 PR rtl-optimization/104059
4486 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
4487 for a more expensive reg-reg move.
4488
4489 2022-02-07 Tamar Christina <tamar.christina@arm.com>
4490
4491 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
4492 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
4493 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
4494 (usdot_laneq, sudot_laneq): New.
4495 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
4496 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
4497
4498 2022-02-07 Tamar Christina <tamar.christina@arm.com>
4499
4500 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
4501 vdot_laneq_s32, vdotq_laneq_s32): New.
4502 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
4503 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
4504 (<sup>dot_prod<vsi2qi>): Re-order rtl.
4505 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
4506 (neon_<sup>dot_laneq<vsi2qi>): New.
4507
4508 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
4509
4510 PR target/104327
4511 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
4512 if always_inline is set. Don't inline when tune differs without
4513 always_inline.
4514
4515 2022-02-07 Richard Biener <rguenther@suse.de>
4516
4517 PR middle-end/104402
4518 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
4519 compares are not valid.
4520 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
4521 check is_gimple_condexpr.
4522
4523 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
4524
4525 PR target/103627
4526 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
4527 hunk affecting VSX and ALTIVEC to appropriate place.
4528
4529 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
4530
4531 PR target/103627
4532 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
4533 MMA if !TARGET_VSX.
4534
4535 2022-02-06 Jakub Jelinek <jakub@redhat.com>
4536
4537 PR c++/89074
4538 PR c++/104033
4539 * fold-const.h (folding_initializer): Adjust comment.
4540 (folding_cxx_constexpr): Declare.
4541 * fold-const.cc (folding_initializer): Adjust comment.
4542 (folding_cxx_constexpr): New variable.
4543 (address_compare): Restrict the decl vs. STRING_CST
4544 or vice versa or STRING_CST vs. STRING_CST or
4545 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
4546 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
4547 assume non-aliased functions have non-zero size and have different
4548 addresses. For folding_cxx_constexpr, punt on comparisons of start
4549 of some object and end of another one, regardless whether it is a decl
4550 or string literal. Also punt for folding_cxx_constexpr on
4551 STRING_CST vs. STRING_CST comparisons if the two literals could be
4552 overlapping.
4553
4554 2022-02-05 Jakub Jelinek <jakub@redhat.com>
4555
4556 PR tree-optimization/104389
4557 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
4558 honored.
4559
4560 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
4561
4562 * configure.ac: Fix detection for zifencei support.
4563 * configure: Regenerate.
4564
4565 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
4566
4567 PR target/104219
4568 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
4569 (all_defaults): Add isa_spec.
4570 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
4571
4572 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
4573
4574 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
4575 parameters instead of arglist and nargs. Simplify accordingly. Remove
4576 unnecessary test for argument count mismatch.
4577 (resolve_vec_cmpne): Likewise.
4578 (resolve_vec_adde_sube): Likewise.
4579 (resolve_vec_addec_subec): Likewise.
4580 (altivec_resolve_overloaded_builtin): Move overload special handling
4581 after the gathering of arguments into args[] and types[] and the test
4582 for correct number of arguments. Don't perform the test for correct
4583 number of arguments for certain special cases. Call the other special
4584 cases with args and types instead of arglist and nargs.
4585
4586 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
4587
4588 PR target/100808
4589 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
4590 3.1): Provide consistent type names. Remove unnecessary semicolons.
4591 Fix bad line breaks.
4592
4593 2022-02-04 Jakub Jelinek <jakub@redhat.com>
4594
4595 PR target/104380
4596 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
4597 adjust mangling of __builtin*printf_chk.
4598
4599 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
4600
4601 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
4602
4603 2022-02-04 Richard Biener <rguenther@suse.de>
4604 Bin Cheng <bin.cheng@linux.alibaba.com>
4605
4606 PR tree-optimization/100499
4607 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
4608 to true.
4609 * fold-const.cc (multiple_of_p): Likewise. Honor it for
4610 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
4611 switching to false for conversions.
4612 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
4613 claim the outermost expression does not wrap when calling
4614 multiple_of_p. Refactor the check done to check the
4615 original IV, avoiding a bias that might wrap.
4616
4617 2022-02-04 Richard Biener <rguenther@suse.de>
4618
4619 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
4620 handling.
4621
4622 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
4623
4624 PR debug/104366
4625 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
4626 (dwarf2out_early_finish): Likewise.
4627
4628 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
4629
4630 PR tree-optimization/104356
4631 * match.pd (X / bool_range_Y is X): Add guard.
4632 (X / X is one): Likewise.
4633 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
4634 (X / -X is -1): Likewise.
4635 (1 / X -> X == 1): Likewise.
4636
4637 2022-02-04 Richard Biener <rguenther@suse.de>
4638
4639 PR tree-optimization/103641
4640 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
4641 Pass the vector mode to choose_mult_variant.
4642
4643 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
4644
4645 PR rtl-optimization/101885
4646 * combine.cc (try_combine): When splitting a parallel into two
4647 sequential sets, check not only that the first doesn't clobber
4648 the second but also that the second doesn't clobber the first.
4649
4650 2022-02-04 Richard Biener <rguenther@suse.de>
4651
4652 PR middle-end/90348
4653 PR middle-end/104092
4654 * tree-core.h (clobber_kind): New enum.
4655 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
4656 * tree.h (CLOBBER_KIND): Add.
4657 (build_clobber): Add clobber kind argument, defaulted to
4658 CLOBBER_UNDEF.
4659 * tree.cc (build_clobber): Likewise.
4660 * gimple.h (gimple_clobber_p): New overload with specified kind.
4661 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
4662 CLOBBER_KIND.
4663 * tree-streamer-out.cc (streamer_write_tree_bitfields):
4664 Likewise.
4665 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
4666 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
4667 with CLOBBER_EOL.
4668 (gimplify_target_expr): Likewise.
4669 * tree-inline.cc (expand_call_inline): Likewise.
4670 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
4671 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
4672 CLOBBER_EOL clobbers as ending lifetime of storage.
4673
4674 2022-02-04 Martin Sebor <msebor@redhat.com>
4675
4676 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
4677 cleanup.
4678
4679 2022-02-03 Martin Sebor <msebor@redhat.com>
4680
4681 PR middle-end/104260
4682 * passes.def (pass_warn_access): Adjust pass placement.
4683
4684 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
4685
4686 PR target/104362
4687 * config/i386/i386.cc (find_drap_reg): For 32bit targets
4688 return DI_REG if function uses __builtin_eh_return.
4689
4690 2022-02-03 Martin Sebor <msebor@redhat.com>
4691
4692 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
4693 (pass_wrestrict::m_ptr_qry): New member.
4694 (wrestrict_walk): Rename...
4695 (pass_wrestrict::check_block): ...to this.
4696 (pass_wrestrict::execute): Set up and tear down pointer_query and
4697 ranger.
4698 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
4699 (builtin_access::builtin_access): Same.
4700 (builtin_access::m_ptr_qry): New member.
4701 (check_call): Rename...
4702 (pass_wrestrict::check_call): ...to this.
4703 (check_bounds_or_overlap): Change argument.
4704 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
4705
4706 2022-02-03 Martin Sebor <msebor@redhat.com>
4707
4708 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
4709 Define ctor.
4710 (array_bounds_checker::get_value_range): Use new member.
4711 (array_bounds_checker::check_mem_ref): Same.
4712 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
4713 Outline ctor.
4714 (array_bounds_checker::m_ptr_query): New member.
4715
4716 2022-02-03 Martin Sebor <msebor@redhat.com>
4717
4718 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
4719 pointer_query cache.
4720 * pointer-query.cc (pointer_query::pointer_query): Remove cache
4721 argument. Zero-initialize new cache member.
4722 (pointer_query::get_ref): Replace cache pointer with direct access.
4723 (pointer_query::put_ref): Same.
4724 (pointer_query::flush_cache): Same.
4725 (pointer_query::dump): Same.
4726 * pointer-query.h (class pointer_query): Remove cache argument from
4727 ctor. Change cache pointer to cache subobject member.
4728 * tree-ssa-strlen.cc: Remove pointer_query cache.
4729
4730 2022-02-03 Martin Sebor <msebor@redhat.com>
4731
4732 PR tree-optimization/104119
4733 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
4734 (format_none): Same.
4735 (format_percent): Same.
4736 (format_integer): Same.
4737 (format_floating): Same.
4738 (get_string_length): Same.
4739 (format_character): Same.
4740 (format_string): Same.
4741 (format_plain): Same.
4742 (format_directive): Same.
4743 (compute_format_length): Same.
4744 (handle_printf_call): Same.
4745 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
4746 get_maxbound.
4747 (get_range_strlen_phi): Same.
4748 (get_maxbound): New function.
4749 (strlen_pass::get_len_or_size): Adjust to parameter change.
4750 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
4751
4752 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
4753
4754 PR target/103686
4755 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
4756 test for !rs6000_fold_gimple.
4757 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
4758 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
4759
4760 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
4761
4762 PR target/95082
4763 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
4764 endianness for vclzlsbb and vctzlsbb.
4765 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
4766 default pattern and indicate a different pattern will be used for
4767 big endian.
4768 (VCLZLSBB_V4SI): Likewise.
4769 (VCLZLSBB_V8HI): Likewise.
4770 (VCTZLSBB_V16QI): Likewise.
4771 (VCTZLSBB_V4SI): Likewise.
4772 (VCTZLSBB_V8HI): Likewise.
4773
4774 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
4775
4776 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
4777 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
4778 from other files.
4779 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
4780 rs6000-builtin.cc.
4781 (cpu_supports_info): Likewise.
4782 (rs6000_type_string): Likewise.
4783 (altivec_expand_predicate_builtin): Likewise.
4784 (rs6000_htm_spr_icode): Likewise.
4785 (altivec_expand_vec_init_builtin): Likewise.
4786 (get_element_number): Likewise.
4787 (altivec_expand_vec_set_builtin): Likewise.
4788 (altivec_expand_vec_ext_builtin): Likewise.
4789 (rs6000_invalid_builtin): Likewise.
4790 (rs6000_fold_builtin): Likewise.
4791 (fold_build_vec_cmp): Likewise.
4792 (fold_compare_helper): Likewise.
4793 (map_to_integral_tree_type): Likewise.
4794 (fold_mergehl_helper): Likewise.
4795 (fold_mergeeo_helper): Likewise.
4796 (rs6000_builtin_valid_without_lhs): Likewise.
4797 (rs6000_builtin_is_supported): Likewise.
4798 (rs6000_gimple_fold_mma_builtin): Likewise.
4799 (rs6000_gimple_fold_builtin): Likewise.
4800 (rs6000_expand_ldst_mask): Likewise.
4801 (cpu_expand_builtin): Likewise.
4802 (elemrev_icode): Likewise.
4803 (ldv_expand_builtin): Likewise.
4804 (lxvrse_expand_builtin): Likewise.
4805 (lxvrze_expand_builtin): Likewise.
4806 (stv_expand_builtin): Likewise.
4807 (mma_expand_builtin): Likewise.
4808 (htm_spr_num): Likewise.
4809 (htm_expand_builtin): Likewise.
4810 (rs6000_expand_builtin): Likewise.
4811 (rs6000_vector_type): Likewise.
4812 (rs6000_init_builtins): Likewise. Remove initialization of
4813 builtin_mode_to_type entries.
4814 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
4815 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
4816 external declaration.
4817 (rs6000_builtin_md_vectorized_function): Likewise.
4818 (rs6000_builtin_reciprocal): Likewise.
4819 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
4820 (rs6000_builtin_types): Likewise.
4821 (builtin_mode_to_type): Remove.
4822 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
4823 static qualifier.
4824 (rs6000_builtin_md_vectorized_function): Likewise.
4825 (rs6000_builtin_reciprocal): Likewise.
4826 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
4827 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
4828
4829 2022-02-03 Richard Biener <rguenther@suse.de>
4830
4831 PR debug/104337
4832 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
4833 together via DECL_ABSTRACT_ORIGIN.
4834
4835 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
4836
4837 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
4838 message for RES_BITS case.
4839
4840 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
4841
4842 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
4843
4844 2022-02-03 Jakub Jelinek <jakub@redhat.com>
4845
4846 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
4847 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
4848
4849 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
4850
4851 * cfganal.cc (verify_marked_backedges): New.
4852 * cfganal.h (verify_marked_backedges): New.
4853 * gimple-range-path.cc (path_range_query::path_range_query):
4854 Verify freshness of back edges.
4855 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
4856 mark_dfs_back_edges.
4857 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
4858 path_range_query construction after backedges have been
4859 updated.
4860
4861 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
4862
4863 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
4864 VALL to VALL_F16.
4865
4866 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
4867
4868 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
4869 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
4870 of VALL_F16MOV.
4871
4872 2022-02-03 Martin Liska <mliska@suse.cz>
4873
4874 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
4875 Change subject and object in the error message.
4876 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
4877 Likewise.
4878
4879 2022-02-03 Martin Liska <mliska@suse.cz>
4880
4881 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
4882 Use the error message for i386 target.
4883
4884 2022-02-03 Jakub Jelinek <jakub@redhat.com>
4885
4886 PR tree-optimization/104334
4887 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
4888 and rh_range type to widest_int and subtract in widest_int. Remove
4889 ov_rh, ov_lh and sign vars, always perform comparisons as signed
4890 and use >, < and == operators for it.
4891
4892 2022-02-03 Martin Sebor <msebor@redhat.com>
4893
4894 * common.opt (-Wuse-after-free): Correct typos.
4895
4896 2022-02-02 David Malcolm <dmalcolm@redhat.com>
4897
4898 PR analyzer/104270
4899 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
4900 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
4901 -ftrivial-auto-var-init= doesn't suppress warnings.
4902
4903 2022-02-02 Martin Liska <mliska@suse.cz>
4904
4905 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
4906
4907 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
4908
4909 PR target/94372
4910 * config/or1k/linux.h (CPP_SPEC): Define.
4911
4912 2022-02-02 Tamar Christina <tamar.christina@arm.com>
4913
4914 PR tree-optimization/102819
4915 PR tree-optimization/103169
4916 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
4917 canonical order.
4918
4919 2022-02-02 Tamar Christina <tamar.christina@arm.com>
4920
4921 PR tree-optimization/102819
4922 PR tree-optimization/103169
4923 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
4924 canonical order.
4925 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
4926
4927 2022-02-02 Tamar Christina <tamar.christina@arm.com>
4928
4929 PR tree-optimization/102819
4930 PR tree-optimization/103169
4931 * doc/md.texi: Update docs for cfms, cfma.
4932 * tree-data-ref.h (same_data_refs): Accept optional offset.
4933 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
4934 patterns.
4935 (vect_normalize_conj_loc): Remove.
4936 (is_eq_or_top): Change to take two nodes.
4937 (enum _conj_status, compatible_complex_nodes_p,
4938 vect_validate_multiplication): New.
4939 (class complex_add_pattern, complex_add_pattern::matches,
4940 complex_add_pattern::recognize, class complex_mul_pattern,
4941 complex_mul_pattern::recognize, class complex_fms_pattern,
4942 complex_fms_pattern::recognize, class complex_operations_pattern,
4943 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
4944 new cache.
4945 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
4946 cache and use new validation code.
4947 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
4948 vect_analyze_slp): Pass along cache.
4949 (compatible_calls_p): Expose.
4950 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
4951 slp_compat_nodes_map_t): New.
4952 (class vect_pattern): Update signatures include new cache.
4953
4954 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
4955
4956 * config/cris/cris.cc (cris_preferred_reload_class): Reject
4957 "eliminated" registers and small-enough constants unless
4958 reloaded into a class that is a subset of GENERAL_REGS.
4959 * config/cris/cris.md (attribute "cpu_variant"): New.
4960 (attribute "enabled"): Conditionalize on a matching attribute
4961 cpu_variant, if specified.
4962 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
4963 memory, add cpu-variant-enabled variants for "r" alternatives on
4964 the far side of the "x" alternatives, preferring the "x" ones
4965 only for variants where MOF is present (in addition to SRP).
4966
4967 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
4968
4969 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
4970 extra cost for ALL_REGS.
4971
4972 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
4973
4974 * config/cris/constraints.md (define_register_constraint "b"): Now
4975 GENERAL_REGS.
4976 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
4977 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
4978 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
4979 and SPEC_GENNONACR_REGS.
4980 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
4981 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
4982
4983 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
4984
4985 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
4986 Conditionalize on (sub-)register operands or operand 1 being 0.
4987
4988 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
4989
4990 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
4991 (MUL_BUG_ASM_DEFAULT): New macro.
4992 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
4993 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
4994 accordingly.
4995
4996 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
4997
4998 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
4999 to 10 for AutoFDO.
5000
5001 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
5002
5003 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
5004
5005 2022-02-01 Andrew Pinski <apinski@marvell.com>
5006
5007 * doc/install.texi:
5008
5009 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
5010
5011 * config/s390/s390.cc (s390_code_end): Do not switch back to
5012 code section.
5013
5014 2022-02-01 Jakub Jelinek <jakub@redhat.com>
5015
5016 PR target/104323
5017 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
5018 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
5019 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
5020 GTY((user)) for struct bifdata and struct ovlddata. Instead add
5021 GTY((skip(""))) to members with pointer and enum types that don't need
5022 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
5023 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
5024 (write_extern_fntype, write_fntype): Remove.
5025 (write_fntype_init): Emit the fntype vars as automatic vars instead
5026 of file scope ones.
5027 (write_header_file): Don't iterate with write_extern_fntype.
5028 (write_init_file): Don't iterate with write_fntype. Don't emit
5029 gt_ggc_mx and gt_pch_nx definitions.
5030
5031 2022-02-01 Jason Merrill <jason@redhat.com>
5032
5033 * tree.h (struct tree_vec_map_cache_hasher): Move from...
5034 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
5035
5036 2022-02-01 Tom de Vries <tdevries@suse.de>
5037
5038 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
5039 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
5040 UNSPECV_UNIFORM_WARP_CHECK.
5041 (define_insn "nvptx_uniform_warp_check"): New define_insn.
5042
5043 2022-02-01 Tom de Vries <tdevries@suse.de>
5044
5045 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
5046 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
5047 UNSPECV_WARPSYNC.
5048 (define_insn "nvptx_warpsync"): New define_insn.
5049
5050 2022-02-01 Tom de Vries <tdevries@suse.de>
5051
5052 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
5053
5054 2022-02-01 Tom de Vries <tdevries@suse.de>
5055
5056 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
5057 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
5058 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
5059 insn for TARGET_PTX_6_0.
5060
5061 2022-02-01 Tom de Vries <tdevries@suse.de>
5062
5063 PR target/100428
5064 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
5065 insn.
5066
5067 2022-02-01 Tom de Vries <tdevries@suse.de>
5068
5069 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
5070 (define_insn "atomic_exchange<mode>")
5071 (define_insn "atomic_fetch_add<mode>")
5072 (define_insn "atomic_fetch_addsf")
5073 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
5074 if memory operands is frame-relative.
5075
5076 2022-02-01 Tom de Vries <tdevries@suse.de>
5077
5078 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
5079 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
5080 (VOID): New macro.
5081 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
5082 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
5083 NVPTX_BUILTIN_MEMBAR_CTA.
5084 (nvptx_lockfull_update): Add level parameter. Emit barriers.
5085 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
5086 nvptx_lockfull_update.
5087 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
5088 UNSPECV_MEMBAR_GL.
5089 (define_expand "nvptx_membar_gl"): New expand.
5090 (define_insn "*nvptx_membar_gl"): New insn.
5091
5092 2022-02-01 Martin Liska <mliska@suse.cz>
5093
5094 * doc/install.texi: Remove option for GCC < 4.8.
5095
5096 2022-02-01 Jakub Jelinek <jakub@redhat.com>
5097
5098 PR middle-end/104307
5099 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
5100 stmts to uses vector, just set vec_cond_expr_only to false for
5101 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
5102 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
5103 like non-VEC_COND_EXPRs.
5104
5105 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
5106
5107 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
5108 (VEC_BLENDV): Likewise.
5109 (VEC_BPERM): Likewise.
5110 (VEC_CFUGE): Likewise.
5111 (VEC_CIPHER_BE): Likewise.
5112 (VEC_CIPHERLAST_BE): Likewise.
5113 (VEC_CLRL): Likewise.
5114 (VEC_CLRR): Likewise.
5115 (VEC_CMPNEZ): Likewise.
5116 (VEC_CNTLZ): Likewise.
5117 (VEC_CNTLZM): Likewise.
5118 (VEC_CNTTZM): Likewise.
5119 (VEC_CNTLZ_LSBB): Likewise.
5120 (VEC_CNTM): Likewise.
5121 (VEC_CNTTZ): Likewise.
5122 (VEC_CNTTZ_LSBB): Likewise.
5123 (VEC_CONVERT_4F32_8F16): Likewise.
5124 (VEC_DIV): Likewise.
5125 (VEC_DIVE): Likewise.
5126 (VEC_EQV): Likewise.
5127 (VEC_EXPANDM): Likewise.
5128 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
5129 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
5130 (VEC_EXTRACTH): Likewise.
5131 (VEC_EXTRACTL): Likewise.
5132 (VEC_EXTRACTM): Likewise.
5133 (VEC_EXTRACT4B): Likewise.
5134 (VEC_EXTULX): Likewise.
5135 (VEC_EXTURX): Likewise.
5136 (VEC_FIRSTMATCHINDEX): Likewise.
5137 (VEC_FIRSTMACHOREOSINDEX): Likewise.
5138 (VEC_FIRSTMISMATCHINDEX): Likewise.
5139 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
5140 (VEC_GB): Likewise.
5141 (VEC_GENBM): Likewise.
5142 (VEC_GENHM): Likewise.
5143 (VEC_GENWM): Likewise.
5144 (VEC_GENDM): Likewise.
5145 (VEC_GENQM): Likewise.
5146 (VEC_GENPCVM): Likewise.
5147 (VEC_GNB): Likewise.
5148 (VEC_INSERTH): Likewise.
5149 (VEC_INSERTL): Likewise.
5150 (VEC_INSERT4B): Likewise.
5151 (VEC_LXVL): Likewise.
5152 (VEC_MERGEE): Likewise.
5153 (VEC_MERGEO): Likewise.
5154 (VEC_MOD): Likewise.
5155 (VEC_MSUB): Likewise.
5156 (VEC_MULH): Likewise.
5157 (VEC_NAND): Likewise.
5158 (VEC_NCIPHER_BE): Likewise.
5159 (VEC_NCIPHERLAST_BE): Likewise.
5160 (VEC_NEARBYINT): Likewise.
5161 (VEC_NMADD): Likewise.
5162 (VEC_ORC): Likewise.
5163 (VEC_PDEP): Likewise.
5164 (VEC_PERMX): Likewise.
5165 (VEC_PEXT): Likewise.
5166 (VEC_POPCNT): Likewise.
5167 (VEC_PARITY_LSBB): Likewise.
5168 (VEC_REPLACE_ELT): Likewise.
5169 (VEC_REPLACE_UN): Likewise.
5170 (VEC_REVB): Likewise.
5171 (VEC_RINT): Likewise.
5172 (VEC_RLMI): Likewise.
5173 (VEC_RLNM): Likewise.
5174 (VEC_SBOX_BE): Likewise.
5175 (VEC_SIGNEXTI): Likewise.
5176 (VEC_SIGNEXTLL): Likewise.
5177 (VEC_SIGNEXTQ): Likewise.
5178 (VEC_SLDB): Likewise.
5179 (VEC_SLV): Likewise.
5180 (VEC_SPLATI): Likewise.
5181 (VEC_SPLATID): Likewise.
5182 (VEC_SPLATI_INS): Likewise.
5183 (VEC_SQRT): Likewise.
5184 (VEC_SRDB): Likewise.
5185 (VEC_SRV): Likewise.
5186 (VEC_STRIL): Likewise.
5187 (VEC_STRIL_P): Likewise.
5188 (VEC_STRIR): Likewise.
5189 (VEC_STRIR_P): Likewise.
5190 (VEC_STXVL): Likewise.
5191 (VEC_TERNARYLOGIC): Likewise.
5192 (VEC_TEST_LSBB_ALL_ONES): Likewise.
5193 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
5194 (VEC_VEE): Likewise.
5195 (VEC_VES): Likewise.
5196 (VEC_VIE): Likewise.
5197 (VEC_VPRTYB): Likewise.
5198 (VEC_VSCEEQ): Likewise.
5199 (VEC_VSCEGT): Likewise.
5200 (VEC_VSCELT): Likewise.
5201 (VEC_VSCEUO): Likewise.
5202 (VEC_VSEE): Likewise.
5203 (VEC_VSES): Likewise.
5204 (VEC_VSIE): Likewise.
5205 (VEC_VSTDC): Likewise.
5206 (VEC_VSTDCN): Likewise.
5207 (VEC_VTDC): Likewise.
5208 (VEC_XL): Likewise.
5209 (VEC_XL_BE): Likewise.
5210 (VEC_XL_LEN_R): Likewise.
5211 (VEC_XL_SEXT): Likewise.
5212 (VEC_XL_ZEXT): Likewise.
5213 (VEC_XST): Likewise.
5214 (VEC_XST_BE): Likewise.
5215 (VEC_XST_LEN_R): Likewise.
5216 (VEC_XST_TRUNC): Likewise.
5217 (VEC_XXPERMDI): Likewise.
5218 (VEC_XXSLDWI): Likewise.
5219 (VEC_TSTSFI_EQ_DD): Likewise.
5220 (VEC_TSTSFI_EQ_TD): Likewise.
5221 (VEC_TSTSFI_GT_DD): Likewise.
5222 (VEC_TSTSFI_GT_TD): Likewise.
5223 (VEC_TSTSFI_LT_DD): Likewise.
5224 (VEC_TSTSFI_LT_TD): Likewise.
5225 (VEC_TSTSFI_OV_DD): Likewise.
5226 (VEC_TSTSFI_OV_TD): Likewise.
5227 (VEC_VADDCUQ): Likewise.
5228 (VEC_VADDECUQ): Likewise.
5229 (VEC_VADDEUQM): Likewise.
5230 (VEC_VADDUDM): Likewise.
5231 (VEC_VADDUQM): Likewise.
5232 (VEC_VBPERMQ): Likewise.
5233 (VEC_VCLZB): Likewise.
5234 (VEC_VCLZD): Likewise.
5235 (VEC_VCLZH): Likewise.
5236 (VEC_VCLZW): Likewise.
5237 (VEC_VCTZB): Likewise.
5238 (VEC_VCTZD): Likewise.
5239 (VEC_VCTZH): Likewise.
5240 (VEC_VCTZW): Likewise.
5241 (VEC_VEEDP): Likewise.
5242 (VEC_VEESP): Likewise.
5243 (VEC_VESDP): Likewise.
5244 (VEC_VESSP): Likewise.
5245 (VEC_VIEDP): Likewise.
5246 (VEC_VIESP): Likewise.
5247 (VEC_VPKSDSS): Likewise.
5248 (VEC_VPKSDUS): Likewise.
5249 (VEC_VPKUDUM): Likewise.
5250 (VEC_VPKUDUS): Likewise.
5251 (VEC_VPOPCNT): Likewise.
5252 (VEC_VPOPCNTB): Likewise.
5253 (VEC_VPOPCNTD): Likewise.
5254 (VEC_VPOPCNTH): Likewise.
5255 (VEC_VPOPCNTW): Likewise.
5256 (VEC_VPRTYBD): Likewise.
5257 (VEC_VPRTYBQ): Likewise.
5258 (VEC_VPRTYBW): Likewise.
5259 (VEC_VRLD): Likewise.
5260 (VEC_VSLD): Likewise.
5261 (VEC_VSRAD): Likewise.
5262 (VEC_VSRD): Likewise.
5263 (VEC_VSTDCDP): Likewise.
5264 (VEC_VSTDCNDP): Likewise.
5265 (VEC_VSTDCNQP): Likewise.
5266 (VEC_VSTDCNSP): Likewise.
5267 (VEC_VSTDCQP): Likewise.
5268 (VEC_VSTDCSP): Likewise.
5269 (VEC_VSUBECUQ): Likewise.
5270 (VEC_VSUBEUQM): Likewise.
5271 (VEC_VSUBUDM): Likewise.
5272 (VEC_VSUBUQM): Likewise.
5273 (VEC_VTDCDP): Likewise.
5274 (VEC_VTDCSP): Likewise.
5275 (VEC_VUPKHSW): Likewise.
5276 (VEC_VUPKLSW): Likewise.
5277
5278 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
5279
5280 PR rtl-optimization/101260
5281 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
5282 copy_regno.
5283
5284 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
5285
5286 PR middle-end/95115
5287 * fold-const.cc (const_binop): Do not fold NaN result from
5288 non-NaN operands.
5289
5290 2022-02-01 Tom de Vries <tdevries@suse.de>
5291
5292 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
5293 -ftree-loop-distribute-patterns.
5294 (loop_distribution::execute): Don't call transform_reduction_loop for
5295 -fno-tree-loop-distribute-patterns.
5296
5297 2022-01-31 Andrew Pinski <apinski@marvell.com>
5298
5299 * fold-const.h (operand_compare::operand_equal_p):
5300 Fix comment about OEP_* flags.
5301
5302 2022-01-31 Jakub Jelinek <jakub@redhat.com>
5303
5304 PR target/104298
5305 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
5306 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
5307 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
5308 if not already defined.
5309
5310 2022-01-31 Martin Sebor <msebor@redhat.com>
5311
5312 PR middle-end/104232
5313 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
5314 Handle PHIs. Add a synonymous overload.
5315 (pass_waccess::check_pointer_uses): Call pointers_related_p.
5316
5317 2022-01-31 Richard Biener <rguenther@suse.de>
5318
5319 PR tree-optimization/100499
5320 * fold-const.cc (multiple_of_p): Pass the correct type of
5321 the expression to the recursive invocation of multiple_of_p
5322 for conversions and use CASE_CONVERT.
5323
5324 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
5325
5326 PR target/104189
5327 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
5328
5329 2022-01-31 Richard Biener <rguenther@suse.de>
5330
5331 PR tree-optimization/100499
5332 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
5333 on poly-ints instead of multiple_of_p.
5334 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
5335 (non_rewritable_mem_ref_base): Likewise.
5336 (non_rewritable_lvalue_p): Likewise.
5337 (execute_update_addresses_taken): Likewise.
5338
5339 2022-01-29 Jakub Jelinek <jakub@redhat.com>
5340 Andrew Pinski <apinski@marvell.com>
5341
5342 PR tree-optimization/104279
5343 PR tree-optimization/104280
5344 PR tree-optimization/104281
5345 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
5346 boolean_type_node and convert to type. Formatting fixes.
5347
5348 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
5349
5350 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
5351
5352 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
5353
5354 PR tree-optimization/103514
5355 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
5356 (a & b) == (a ^ b) -> !(a | b): New optimization.
5357
5358 2022-01-28 Marek Polacek <polacek@redhat.com>
5359
5360 * doc/invoke.texi: Update -Wbidi-chars documentation.
5361
5362 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
5363
5364 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
5365
5366 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
5367
5368 PR tree-optimization/95424
5369 * match.pd: Simplify 1 / X where X is an integer.
5370
5371 2022-01-28 Jakub Jelinek <jakub@redhat.com>
5372
5373 PR tree-optimization/104263
5374 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
5375 cfun->can_throw_non_call_exceptions && cfun->eh test whether
5376 last non-debug stmt in the bb is store_valid_for_store_merging_p
5377 rather than last stmt.
5378
5379 2022-01-28 Martin Liska <mliska@suse.cz>
5380
5381 * diagnostic.cc (diagnostic_action_after_output): Remove extra
5382 newline.
5383
5384 2022-01-28 Martin Liska <mliska@suse.cz>
5385
5386 * config/rs6000/host-darwin.cc (segv_crash_handler):
5387 Do not use leading capital letter.
5388 (segv_handler): Likewise.
5389 * ipa-sra.cc (verify_splitting_accesses): Likewise.
5390 * varasm.cc (get_section): Likewise.
5391
5392 2022-01-28 Richard Biener <rguenther@suse.de>
5393
5394 PR tree-optimization/104267
5395 * tree-vect-stmts.cc (vectorizable_call): Properly use the
5396 per-argument determined vector type for externals and
5397 invariants.
5398
5399 2022-01-28 Richard Biener <rguenther@suse.de>
5400
5401 PR tree-optimization/104263
5402 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
5403 Purge edges also when !cfun->has_nonlocal_label
5404 and !cfun->calls_setjmp.
5405
5406 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
5407
5408 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
5409 attributes.
5410
5411 2022-01-28 Jakub Jelinek <jakub@redhat.com>
5412
5413 PR lto/104237
5414 * cfgrtl.cc (loc_equal): New function.
5415 (unique_locus_on_edge_between_p): Use it.
5416
5417 2022-01-28 Richard Biener <rguenther@suse.de>
5418
5419 * cfganal.h (mark_dfs_back_edges): Provide API with struct
5420 function argument.
5421 * cfganal.cc (mark_dfs_back_edges): Take a struct function
5422 to work on, add a wrapper passing cfun.
5423 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
5424 uses with fun which is already passed.
5425 (draw_cfg_edges): Likewise.
5426 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
5427 for fun != cfun.
5428
5429 2022-01-27 Patrick Palka <ppalka@redhat.com>
5430
5431 PR c++/99895
5432 * tree.cc (build_call_vec): Add const to second parameter.
5433 * tree.h (build_call_vec): Likewise.
5434
5435 2022-01-27 Martin Liska <mliska@suse.cz>
5436
5437 PR web/104254
5438 * diagnostic.cc (diagnostic_initialize):
5439 Initialize report_bug flag.
5440 (diagnostic_action_after_output):
5441 Explain that -freport-bug option can be used for pre-processed
5442 file creation. Make the message shorter.
5443 (error_recursion): Rename Internal to internal.
5444 * diagnostic.h (struct diagnostic_context): New field.
5445 * opts.cc (common_handle_option): Init the field here.
5446
5447 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
5448
5449 PR target/103702
5450 * config/rs6000/rs6000.cc
5451 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
5452 assertion with early return.
5453
5454 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
5455
5456 PR middle-end/103642
5457 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
5458 for non-pointer or non-reference-to-pointer cases.
5459
5460 2022-01-27 Jakub Jelinek <jakub@redhat.com>
5461
5462 PR tree-optimization/104196
5463 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
5464 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
5465 return NULL and emit needed stmts before and after stmt.
5466 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
5467 pick as operand_entry that will hold the merged test the one feeding
5468 earliest condition, ensure that by swapping range->idx with some
5469 other range's idx if needed. If seq is non-NULL, don't actually swap
5470 it but instead rewrite stmts with undefined overflow in between
5471 the two locations.
5472 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
5473 corresponding condition even if they have non-NULL ops[]->op.
5474 Formatting fix.
5475
5476 2022-01-26 Jakub Jelinek <jakub@redhat.com>
5477
5478 PR target/104239
5479 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
5480 asm.
5481 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
5482 before for loop instead of for init clause.
5483 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
5484
5485 2022-01-26 Jakub Jelinek <jakub@redhat.com>
5486
5487 PR target/104239
5488 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
5489 _X86INTRIN_H_INCLUDED and adjust #error wording.
5490 * config/rs6000/bmi2intrin.h: Likewise.
5491
5492 2022-01-26 Jakub Jelinek <jakub@redhat.com>
5493
5494 PR debug/104194
5495 * dwarf2out.cc (long_double_as_float128): New function.
5496 (modified_type_die): For powerpc64le IEEE 754 quad long double
5497 and complex long double emit those as DW_TAG_typedef to
5498 _Float128 or complex _Float128 base type.
5499
5500 2022-01-26 Marek Polacek <polacek@redhat.com>
5501
5502 PR target/104213
5503 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
5504 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
5505
5506 2022-01-26 Martin Liska <mliska@suse.cz>
5507
5508 * ipa-modref-tree.cc (modref_access_node::update):
5509 Remove "--param param=foo" with "--param foo".
5510 (modref_access_node::insert): Likewise.
5511 (modref_access_node::insert_kill): Likewise.
5512 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
5513 (struct modref_base_node): Likewise.
5514 (struct modref_tree): Likewise.
5515
5516 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
5517
5518 PR target/94193
5519 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
5520 predicate check.
5521
5522 2022-01-25 Martin Sebor <msebor@redhat.com>
5523
5524 PR tree-optimization/104203
5525 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
5526 TV_WARN_ACCESS.
5527 * pointer-query.cc (access_ref::merge_ref): Change return type.
5528 Convert failure to a conservative success.
5529 (access_ref::get_ref): Adjust to the change above. Short-circuit
5530 PHI evaluation after first failure turned into conservative success.
5531 * pointer-query.h (access_ref::merge_ref): Change return type.
5532 * timevar.def (TV_WARN_ACCESS): New timer variable.
5533
5534 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
5535
5536 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
5537
5538 2022-01-25 Richard Biener <rguenther@suse.de>
5539
5540 PR tree-optimization/104214
5541 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
5542 stronger guarantees for relational pointer compares when
5543 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
5544 BASE0 + STEP0 - STEP1 cmp BASE1.
5545
5546 2022-01-25 Jakub Jelinek <jakub@redhat.com>
5547
5548 PR target/104172
5549 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
5550 declare.
5551 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
5552 ieee128_mangling_gcc_8_1): Remove.
5553 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
5554 (rs6000_mangle_type): Return "u9__ieee128" instead of
5555 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
5556 (rs6000_globalize_decl_name): Remove.
5557 * config/rs6000/rs6000-call.cc (init_cumulative_args,
5558 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
5559
5560 2022-01-24 Martin Sebor <msebor@redhat.com>
5561
5562 * pointer-query.cc (pointer_query::dump): Remove duplicate
5563 block.
5564
5565 2022-01-24 Marek Polacek <polacek@redhat.com>
5566
5567 PR preprocessor/104030
5568 * doc/invoke.texi: Update documentation for -Wbidi-chars.
5569
5570 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
5571
5572 PR target/94193
5573 * builtins.cc (expand_builtin_fegetround): New function.
5574 (expand_builtin_feclear_feraise_except): New function.
5575 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
5576 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
5577 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
5578 (feclearexceptsi): New Pattern.
5579 (feraiseexceptsi): New Pattern.
5580 * doc/extend.texi: Add a new introductory paragraph about the
5581 new builtins.
5582 * doc/md.texi: (fegetround@var{m}): Document new optab.
5583 (feclearexcept@var{m}): Document new optab.
5584 (feraiseexcept@var{m}): Document new optab.
5585 * optabs.def (fegetround_optab): New optab.
5586 (feclearexcept_optab): New optab.
5587 (feraiseexcept_optab): New optab.
5588
5589 2022-01-24 Richard Biener <rguenther@suse.de>
5590 Jiufu Guo <guojiufu@linux.ibm.com>
5591
5592 PR tree-optimization/100740
5593 PR tree-optimization/101508
5594 PR tree-optimization/101972
5595 PR tree-optimization/102131
5596 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
5597 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
5598 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
5599
5600 2022-01-24 Jakub Jelinek <jakub@redhat.com>
5601
5602 PR sanitizer/104158
5603 * opt-functions.awk (var_set): Handle EnumBitSet property.
5604 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
5605 specified.
5606 * opts.h (enum cl_enum_var_value): New type.
5607 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
5608 Handle CLEV_BITSET.
5609 (cmdline_handle_error): Handle CLEV_BITSET.
5610 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
5611 * doc/options.texi (EnumBitSet): Document.
5612 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
5613 EnumSet.
5614 (trace-pc, trace-cmp): Drop Set properties.
5615
5616 2022-01-24 Jakub Jelinek <jakub@redhat.com>
5617
5618 PR sanitizer/104158
5619 * common.opt (flag_sanitize_coverage): Remove Variable entry.
5620 (fsanitize-coverage=): Remove RejectNegative property, add
5621 Var(flag_sanitize_coverage) and EnumSet properties.
5622 (trace-pc): Add Set(1) property.
5623 (trace-cmp): Add Set(2) property.
5624 * opts.cc (common_handle_option): Don't handle
5625 OPT_fsanitize_coverage_.
5626
5627 2022-01-24 Jakub Jelinek <jakub@redhat.com>
5628
5629 PR sanitizer/104158
5630 * opt-functions.awk (var_set): Handle EnumSet property.
5631 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
5632 specified.
5633 * opt-read.awk: Handle Set property.
5634 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
5635 (struct cl_decoded_option): Mention enum in value description.
5636 Add mask member.
5637 (set_option): Add mask argument defaulted to 0.
5638 * opts.cc (test_enum_sets): New function.
5639 (opts_cc_tests): Call it.
5640 * opts-common.cc (enum_arg_to_value): Change return argument
5641 from bool to int, on success return index into the cl_enum_arg
5642 array, on failure -1. Add len argument, if non-0, use strncmp
5643 instead of strcmp.
5644 (opt_enum_arg_to_value): Adjust caller.
5645 (decode_cmdline_option): Handle EnumSet represented as
5646 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
5647 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
5648 (handle_option): Pass decoded->mask to set_options last argument.
5649 (generate_option): Clear decoded->mask.
5650 (generate_option_input_file): Likewise.
5651 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
5652 (set_option): Add mask argument, use it for CLVC_ENUM.
5653 (control_warning_option): Adjust enum_arg_to_value caller.
5654 * doc/options.texi: Document Set and EnumSet properties.
5655
5656 2022-01-24 Jakub Jelinek <jakub@redhat.com>
5657
5658 PR bootstrap/104170
5659 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
5660 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
5661 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
5662 using OPTION_*_P macros.
5663 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
5664 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
5665 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
5666 using OPTION_*_P macros.
5667 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
5668 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
5669 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
5670 using OPTION_*_P macros.
5671 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
5672 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
5673 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
5674 using OPTION_*_P macros.
5675 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
5676 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
5677 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
5678 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
5679 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
5680 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
5681 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
5682 otherwise assume if (true).
5683
5684 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
5685
5686 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
5687 Skip zicsr and zifencei if I-ext is 2.0.
5688
5689 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
5690
5691 * config.gcc: Modify default isa_spec version.
5692
5693 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
5694
5695 PR tree-optimization/102087
5696 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
5697 Correct PLUS result type.
5698
5699 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
5700
5701 PR target/104188
5702 * config/i386/predicates.md (bcst_mem_operand): Also check mode
5703 of memory broadcast.
5704
5705 2022-01-23 Andrew Pinski <apinski@marvell.com>
5706
5707 PR target/64821
5708 * config/aarch64/aarch64-builtins.cc
5709 (aarch64_general_gimple_fold_builtin): Handle
5710 __builtin_aarch64_sqrt* and simplify into SQRT internal
5711 function.
5712
5713 2022-01-22 Jakub Jelinek <jakub@redhat.com>
5714
5715 PR other/104176
5716 * opts-global.cc (handle_common_deferred_options): Quote
5717 --enable-plugin in diagnostics to avoid -Werror=format-diag.
5718
5719 2022-01-21 Michael Meissner <meissner@the-meissners.org>
5720
5721 PR target/104136
5722 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
5723 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
5724 * config/rs6000/rs6000.md (prefixed attribute): Delete section
5725 that sets the prefixed attribute for xxspltiw, xxspltidp, and
5726 xxsplti32dx instructions.
5727 (movsf_hardfloat): Explicitly set the prefixed attribute
5728 when xxspltiw and xxspltidp instructions are generated.
5729 (mov<mode>_hardfloat32): Likewise.
5730 (mov<mode>_hardfloat64): Likewise.
5731 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
5732 prefixed attribute for xxspltiw and xxspltidp instructions.
5733 (vsx_mov<mode>_32bit): Likewise.
5734
5735 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
5736
5737 PR bootstrap/104170
5738 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
5739 Return true only on glibc.
5740 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
5741 Revert commit c163647ffbc.
5742 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
5743
5744 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
5745
5746 * common/config/s390/s390-common.cc (s390_supports_split_stack):
5747 Only support split-stack on glibc targets.
5748 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
5749 * config/i386/gnu.h (defined): Ditto.
5750
5751 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
5752
5753 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
5754 vector float and vector double.
5755
5756 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
5757
5758 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
5759 Fix mention of ifunc in string.
5760
5761 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
5762
5763 PR middle-end/104140
5764 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
5765 operands of the widening multiplication are either both signed or
5766 both unsigned, and abort the conversion if mismatched.
5767 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
5768 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
5769 signedness.
5770 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
5771 integer types with the same precision and signedness.
5772 (WIDEN_MULT_EXPR): Document that operands must have integer types
5773 with the same precision, but possibly differing signedness.
5774 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
5775 riscv_current_subset_list returning a NULL pointer (empty list).
5776
5777 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
5778
5779 PR target/103676
5780 * ira.h (struct target_ira): Add member
5781 x_ira_exclude_class_mode_regs.
5782 (ira_exclude_class_mode_regs): New macro.
5783 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
5784 move from here ...
5785 * lra-int.h: ... to here.
5786 (lra_create_new_reg_with_unique_value): Add arg
5787 exclude_start_hard_regs.
5788 (class lra_reg): Add member exclude_start_hard_regs.
5789 * lra-assigns.cc (find_hard_regno_for_1): Setup
5790 impossible_start_hard_regs from exclude_start_hard_regs.
5791 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
5792 it lra_create_new_reg[_with_unique_value].
5793 (match_reload): Ditto.
5794 (check_and_process_move): Pass NULL
5795 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
5796 (goal_alt_exclude_start_hard_regs): New static variable.
5797 (process_addr_reg, simplify_operand_subreg): Pass NULL
5798 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
5799 and get_reload_reg.
5800 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
5801 Use this_alternative_exclude_start_hard_regs additionally to find
5802 winning operand alternative.
5803 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
5804 exclude_start_hard_regs to lra_create_new_reg.
5805 (process_address_1, emit_inc): Ditto.
5806 (curr_insn_transform): Pass exclude_start_hard_regs value to
5807 lra_create_new_reg, get_reload_reg, match_reload.
5808 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
5809 to lra_create_new_reg.
5810 (process_invariant_for_inheritance): Ditto.
5811 * lra-remat.cc (update_scratch_ops): Ditto.
5812 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
5813 exclude_start_hard_regs. Setup the corresponding member of
5814 lra reg info.
5815 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
5816 to lra_create_new_reg_with_unique_value.
5817 (initialize_lra_reg_info_element): Initialize member
5818 exclude_start_hard_regs.
5819 (get_scratch_reg): Pass NULL to lra_create_new_reg.
5820 * ira.cc (setup_prohibited_class_mode_regs): Rename to
5821 setup_prohibited_and_exclude_class_mode_regs and calculate
5822 ira_exclude_class_mode_regs.
5823
5824 2022-01-21 Martin Liska <mliska@suse.cz>
5825
5826 * configure.ac: Detect ld_is_mold and use it for
5827 comdat_group=yes and gcc_cv_ld_hidden=yes.
5828 * configure: Regenerate.
5829
5830 2022-01-21 Richard Biener <rguenther@suse.de>
5831
5832 PR tree-optimization/100089
5833 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
5834 of if-converted loops with unvectorized COND_EXPRs for
5835 all but the unlimited cost models.
5836
5837 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
5838
5839 * config/arm/arm-opts.h (enum stack_protector_guard): New.
5840 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
5841 New.
5842 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
5843 (arm_option_override_internal): Handle and put in error checks.
5844 for stack protector guard options.
5845 (arm_option_reconfigure_globals): Likewise.
5846 (arm_stack_protect_tls_canary_mem): New.
5847 (arm_stack_protect_guard): New.
5848 * config/arm/arm.md (stack_protect_set): New.
5849 (stack_protect_set_tls): Likewise.
5850 (stack_protect_test): Likewise.
5851 (stack_protect_test_tls): Likewise.
5852 (reload_tp_hard): Likewise.
5853 * config/arm/arm.opt (-mstack-protector-guard): New
5854 (-mstack-protector-guard-offset): New.
5855 * doc/invoke.texi: Document new options.
5856
5857 2022-01-21 Richard Biener <rguenther@suse.de>
5858
5859 PR tree-optimization/104156
5860 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
5861 Collect and reset debug stmts with out-of-loop uses when
5862 hoisting guards.
5863 (find_loop_guard): Adjust.
5864 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
5865 (used_outside_loop_p): Push debug uses to a vector of
5866 debug stmts to reset.
5867 (hoist_guard): Adjust -fopt-info category.
5868
5869 2022-01-21 Richard Biener <rguenther@suse.de>
5870
5871 PR tree-optimization/104152
5872 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
5873 can_duplicate_and_interleave_p check.
5874
5875 2022-01-21 Jakub Jelinek <jakub@redhat.com>
5876
5877 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
5878 Avoid passing var to warning_at when the format string doesn't
5879 refer to it.
5880
5881 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
5882
5883 PR tree-optimization/103721
5884 * gimple-range-path.cc
5885 (path_range_query::relations_may_be_invalidated): New.
5886 (path_range_query::compute_ranges_in_block): Reset relations if
5887 they may be invalidated.
5888 (path_range_query::maybe_register_phi_relation): Exit if relations
5889 may be invalidated on incoming edge.
5890 (path_range_query::compute_phi_relations): Pass incoming PHI edge
5891 to maybe_register_phi_relation.
5892 * gimple-range-path.h (relations_may_be_invalidated): New.
5893 (maybe_register_phi_relation): Pass edge instead of tree.
5894 * tree-ssa-threadbackward.cc (back_threader::back_threader):
5895 Mark DFS edges.
5896 * value-relation.cc (path_oracle::path_oracle): Call
5897 mark_dfs_back_edges.
5898 (path_oracle::register_relation): Add SSA names to m_registered
5899 bitmap.
5900 (path_oracle::reset_path): Clear m_registered bitmap.
5901 * value-relation.h (path_oracle::set_root_oracle): New.
5902
5903 2022-01-21 Jakub Jelinek <jakub@redhat.com>
5904
5905 PR rtl-optimization/102478
5906 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
5907 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
5908 would be needed.
5909
5910 2022-01-20 Richard Biener <rguenther@suse.de>
5911
5912 PR middle-end/100786
5913 * gimple-fold.cc (get_symbol_constant_value): Only return
5914 values of compatible type to the symbol.
5915
5916 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
5917
5918 * value-relation.cc (relation_oracle::valid_equivs): Query and add
5919 if valid members of a set.
5920 (equiv_oracle::register_equiv): Call valid_equivs rather than
5921 bitmap direct operations.
5922 (path_oracle::register_equiv): Ditto.
5923 * value-relation.h (relation_oracle::valid_equivs): New prototype.
5924
5925 2022-01-20 Richard Biener <rguenther@suse.de>
5926
5927 PR target/100784
5928 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
5929 LHS before folding __builtin_ia32_shufpd and friends.
5930
5931 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
5932
5933 * config/arm/crypto.md (aes_op_protect): Allow moves from core
5934 registers and from memory.
5935 (aes_op_protect_misalign_load): New pattern.
5936 (aes_op_protect_neon_vld1v16qi): New pattern.
5937
5938 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
5939
5940 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
5941 New pattern.
5942 (aarch32_crypto_aese_fused_protected): Likewise.
5943 (aarch32_crypto_aesd_fused_protected): Likewise.
5944
5945 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
5946
5947 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
5948 to define_expand. Add mitigation for the Cortex-A AES erratum
5949 when enabled.
5950 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
5951 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
5952 (aes_op_protect): New pattern.
5953 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
5954
5955 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
5956
5957 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
5958 (ALL_QUIRKS): Add it.
5959 (cortex-a57, cortex-a72): Enable it.
5960 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
5961 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
5962 option.
5963 (mfix-cortex-a72-aes-1655431): New option alias.
5964 * config/arm/arm.cc (arm_option_override): Handle default settings
5965 for AES erratum switch.
5966 * doc/invoke.texi (Arm Options): Document new options.
5967
5968 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
5969
5970 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
5971 <crypto_mode> rather than hard-coding the mode.
5972 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
5973 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
5974 (*aarch32_crypto_aese_fused): Likewise.
5975 (*aarch32_crypto_aesd_fused): Likewise.
5976 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
5977 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
5978 (crypto_sha1h_lb): Likewise.
5979 (crypto_vmullp64): Likewise.
5980 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
5981 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
5982
5983 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
5984
5985 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
5986 iterator to pattern name to disambiguate.
5987 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
5988 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
5989 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
5990 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
5991 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
5992
5993 2022-01-20 Martin Liska <mliska@suse.cz>
5994
5995 PR bootstrap/104135
5996 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
5997 * rtl.cc: Partially disable -Wformat-diag for RTL checking
5998 error messages.
5999
6000 2022-01-20 Jakub Jelinek <jakub@redhat.com>
6001
6002 PR debug/103874
6003 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
6004 block_num > 0, index entry even if !have_multiple_function_sections.
6005
6006 2022-01-20 liuhongt <hongtao.liu@intel.com>
6007
6008 PR target/103771
6009 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
6010 integral mode mask pack by multi steps which takes
6011 vec_pack_sbool_trunc_optab as start when elements number is
6012 less than BITS_PER_UNITS.
6013
6014 2022-01-20 Richard Biener <rguenther@suse.de>
6015
6016 PR tree-optimization/104114
6017 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
6018 single element vector decomposition.
6019
6020 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6021
6022 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
6023 (noce_convert_multiple_sets): Call function a second time if we can
6024 improve the first try.
6025
6026 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6027
6028 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
6029 reversed comparison.
6030 (try_emit_cmove_seq): New function to facilitate creating a cmov
6031 sequence.
6032 (noce_convert_multiple_sets): Create two sequences and use the less
6033 expensive one.
6034
6035 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6036
6037 * rtl.h (struct rtx_comparison): New struct that holds an rtx
6038 comparison.
6039 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
6040 single parameters.
6041 (rs6000_emit_swsqrt): Likewise.
6042 * expmed.cc (expand_sdiv_pow2): Likewise.
6043 (emit_store_flag): Likewise.
6044 * expr.cc (expand_cond_expr_using_cmove): Likewise.
6045 (expand_expr_real_2): Likewise.
6046 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
6047 parameters.
6048 * optabs.cc (emit_conditional_move_1): New function.
6049 (expand_doubleword_shift_condmove): Use struct.
6050 (emit_conditional_move): Use struct and allow to call directly
6051 without going through preparation steps.
6052 * optabs.h (emit_conditional_move): Use struct.
6053
6054 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6055
6056 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
6057 (noce_process_if_block): Use potential costs.
6058
6059 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6060
6061 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
6062 (bb_ok_for_noce_convert_multiple_sets): Likewise.
6063
6064 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6065
6066 * ifcvt.cc (need_cmov_or_rewire): New function.
6067 (noce_convert_multiple_sets): Call it.
6068
6069 2022-01-19 David Malcolm <dmalcolm@redhat.com>
6070
6071 * attribs.cc (attribute_c_tests): Rename to...
6072 (attribs_cc_tests): ...this.
6073 * bitmap.cc (bitmap_c_tests): Rename to...
6074 (bitmap_cc_tests): ...this.
6075 * cgraph.cc (cgraph_c_finalize): Rename to...
6076 (cgraph_cc_finalize): ...this.
6077 (cgraph_c_tests): Rename to...
6078 (cgraph_cc_tests): ...this.
6079 * cgraph.h (cgraph_c_finalize): Rename to...
6080 (cgraph_cc_finalize): ...this.
6081 (cgraphunit_c_finalize): Rename to...
6082 (cgraphunit_cc_finalize): ...this.
6083 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
6084 (cgraphunit_cc_finalize): ...this.
6085 * convert.cc (convert_c_tests): Rename to...
6086 (convert_cc_tests): ...this.
6087 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
6088 (dbgcnt_cc_tests): ...this.
6089 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
6090 (diagnostic_show_locus_cc_tests): ...this.
6091 * diagnostic.cc (diagnostic_c_tests): Rename to...
6092 (diagnostic_cc_tests): ...this.
6093 * dumpfile.cc (dumpfile_c_tests): Rename to...
6094 (dumpfile_cc_tests): ...this.
6095 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
6096 (dwarf2out_cc_finalize): ...this.
6097 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
6098 (dwarf2out_cc_finalize): ...this.
6099 * edit-context.cc (edit_context_c_tests): Rename to...
6100 (edit_context_cc_tests): ...this.
6101 * et-forest.cc (et_forest_c_tests): Rename to...
6102 (et_forest_cc_tests): ...this.
6103 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
6104 (fibonacci_heap_cc_tests): ...this.
6105 * fold-const.cc (fold_const_c_tests): Rename to...
6106 (fold_const_cc_tests): ...this.
6107 * function-tests.cc (function_tests_c_tests): Rename to...
6108 (function_tests_cc_tests): ...this.
6109 * gcse.cc (gcse_c_finalize): Rename to...
6110 (gcse_cc_finalize): ...this.
6111 * gcse.h (gcse_c_finalize): Rename to...
6112 (gcse_cc_finalize): ...this.
6113 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
6114 (ggc_tests_cc_tests): ...this.
6115 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
6116 (store_merging_cc_tests): ...this.
6117 * gimple.cc (gimple_c_tests): Rename to...
6118 (gimple_cc_tests): ...this.
6119 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
6120 (hash_map_tests_cc_tests): ...this.
6121 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
6122 (hash_set_tests_cc_tests): ...this.
6123 * input.cc (input_c_tests): Rename to...
6124 (input_cc_tests): ...this.
6125 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
6126 (ipa_cp_cc_finalize): ...this.
6127 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
6128 (ipa_fnsummary_cc_finalize): ...this.
6129 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
6130 (ipa_fnsummary_cc_finalize): ...this.
6131 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
6132 (ipa_modref_tree_cc_tests): ...this.
6133 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
6134 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
6135 (ipa_modref_cc_finalize): ...this.
6136 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
6137 (ipa_modref_cc_finalize): ...this.
6138 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
6139 (ipa_cp_cc_finalize): ...this.
6140 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
6141 (ipa_reference_cc_finalize): ...this.
6142 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
6143 (ipa_reference_cc_finalize): ...this.
6144 * ira-costs.cc (ira_costs_c_finalize): Rename to...
6145 (ira_costs_cc_finalize): ...this.
6146 * ira.h (ira_costs_c_finalize): Rename to...
6147 (ira_costs_cc_finalize): ...this.
6148 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
6149 (opt_suggestions_cc_tests): ...this.
6150 * opts.cc (opts_c_tests): Rename to...
6151 (opts_cc_tests): ...this.
6152 * predict.cc (predict_c_tests): Rename to...
6153 (predict_cc_tests): ...this.
6154 * pretty-print.cc (pretty_print_c_tests): Rename to...
6155 (pretty_print_cc_tests): ...this.
6156 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
6157 (read_rtl_function_cc_tests): ...this.
6158 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
6159 (rtl_tests_cc_tests): ...this.
6160 * sbitmap.cc (sbitmap_c_tests): Rename to...
6161 (sbitmap_cc_tests): ...this.
6162 * selftest-run-tests.cc (selftest::run_tests): Update calls for
6163 _c_ to _cc_ function renamings; fix names of attribs and
6164 opt-suggestions tests.
6165 * selftest.cc (selftest_c_tests): Rename to...
6166 (selftest_cc_tests): ...this.
6167 * selftest.h (attribute_c_tests): Rename to...
6168 (attribs_cc_tests): ...this.
6169 (bitmap_c_tests): Rename to...
6170 (bitmap_cc_tests): ...this.
6171 (cgraph_c_tests): Rename to...
6172 (cgraph_cc_tests): ...this.
6173 (convert_c_tests): Rename to...
6174 (convert_cc_tests): ...this.
6175 (diagnostic_c_tests): Rename to...
6176 (diagnostic_cc_tests): ...this.
6177 (diagnostic_show_locus_c_tests): Rename to...
6178 (diagnostic_show_locus_cc_tests): ...this.
6179 (dumpfile_c_tests): Rename to...
6180 (dumpfile_cc_tests): ...this.
6181 (edit_context_c_tests): Rename to...
6182 (edit_context_cc_tests): ...this.
6183 (et_forest_c_tests): Rename to...
6184 (et_forest_cc_tests): ...this.
6185 (fibonacci_heap_c_tests): Rename to...
6186 (fibonacci_heap_cc_tests): ...this.
6187 (fold_const_c_tests): Rename to...
6188 (fold_const_cc_tests): ...this.
6189 (function_tests_c_tests): Rename to...
6190 (function_tests_cc_tests): ...this.
6191 (ggc_tests_c_tests): Rename to...
6192 (ggc_tests_cc_tests): ...this.
6193 (gimple_c_tests): Rename to...
6194 (gimple_cc_tests): ...this.
6195 (hash_map_tests_c_tests): Rename to...
6196 (hash_map_tests_cc_tests): ...this.
6197 (hash_set_tests_c_tests): Rename to...
6198 (hash_set_tests_cc_tests): ...this.
6199 (input_c_tests): Rename to...
6200 (input_cc_tests): ...this.
6201 (opts_c_tests): Rename to...
6202 (opts_cc_tests): ...this.
6203 (predict_c_tests): Rename to...
6204 (predict_cc_tests): ...this.
6205 (pretty_print_c_tests): Rename to...
6206 (pretty_print_cc_tests): ...this.
6207 (read_rtl_function_c_tests): Rename to...
6208 (read_rtl_function_cc_tests): ...this.
6209 (rtl_tests_c_tests): Rename to...
6210 (rtl_tests_cc_tests): ...this.
6211 (sbitmap_c_tests): Rename to...
6212 (sbitmap_cc_tests): ...this.
6213 (selftest_c_tests): Rename to...
6214 (selftest_cc_tests): ...this.
6215 (simplify_rtx_c_tests): Rename to...
6216 (simplify_rtx_cc_tests): ...this.
6217 (spellcheck_c_tests): Rename to...
6218 (spellcheck_cc_tests): ...this.
6219 (spellcheck_tree_c_tests): Rename to...
6220 (spellcheck_tree_cc_tests): ...this.
6221 (sreal_c_tests): Rename to...
6222 (sreal_cc_tests): ...this.
6223 (store_merging_c_tests): Rename to...
6224 (store_merging_cc_tests): ...this.
6225 (tree_c_tests): Rename to...
6226 (tree_cc_tests): ...this.
6227 (tree_cfg_c_tests): Rename to...
6228 (tree_cfg_cc_tests): ...this.
6229 (typed_splay_tree_c_tests): Rename to...
6230 (typed_splay_tree_cc_tests): ...this.
6231 (vec_c_tests): Rename to...
6232 (vec_cc_tests): ...this.
6233 (vec_perm_indices_c_tests): Rename to...
6234 (vec_perm_indices_cc_tests): ..this.
6235 (opt_proposer_c_tests): Rename to...
6236 (opt_suggestions_cc_tests): ...this.
6237 (dbgcnt_c_tests): Rename to...
6238 (dbgcnt_cc_tests): ...this.
6239 (ipa_modref_tree_c_tests): Rename to...
6240 (ipa_modref_tree_cc_tests): ...this.
6241 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
6242 (simplify_rtx_cc_tests): ...this.
6243 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
6244 (spellcheck_tree_cc_tests): ...this.
6245 * spellcheck.cc (spellcheck_c_tests): Rename to...
6246 (spellcheck_cc_tests): ...this.
6247 * sreal.cc (sreal_c_tests): Rename to...
6248 (sreal_cc_tests): ...this.
6249 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
6250 function renamings.
6251 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
6252 (tree_cfg_cc_tests): ...this.
6253 * tree.cc (tree_c_tests): Rename to...
6254 (tree_cc_tests): ...this.
6255 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
6256 (typed_splay_tree_cc_tests): ...this.
6257 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
6258 (vec_perm_indices_cc_tests): ...this.
6259 * vec.cc (vec_c_tests): Rename to...
6260 (vec_cc_tests): ...this.
6261
6262 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
6263
6264 PR tree-optimization/103997
6265 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
6266 vectorization.
6267
6268 2022-01-19 Jakub Jelinek <jakub@redhat.com>
6269
6270 PR middle-end/102860
6271 * match.pd (x %[fl] y -> x % y): New simplification for
6272 unsigned integral types.
6273 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
6274 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
6275
6276 2022-01-19 Richard Biener <rguenther@suse.de>
6277
6278 PR tree-optimization/104112
6279 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
6280 for required intermediate vector types.
6281
6282 2022-01-19 Jakub Jelinek <jakub@redhat.com>
6283
6284 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
6285
6286 2022-01-19 Martin Liska <mliska@suse.cz>
6287
6288 * configure.ac: Remove -Wno-error=format-diag.
6289 * configure: Regenerate.
6290
6291 2022-01-19 Martin Liska <mliska@suse.cz>
6292
6293 * config/riscv/riscv.cc (riscv_handle_type_attribute):
6294 Update one -Wformat-diag string in warning message.
6295
6296 2022-01-19 Jakub Jelinek <jakub@redhat.com>
6297
6298 PR middle-end/104103
6299 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
6300 .ASAN_MARK calls.
6301
6302 2022-01-19 Jakub Jelinek <jakub@redhat.com>
6303
6304 PR c++/89074
6305 * fold-const.cc (address_compare): Consider different STRING_CSTs
6306 with the same lengths that memcmp the same as equal, not different.
6307
6308 2022-01-19 Jakub Jelinek <jakub@redhat.com>
6309
6310 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
6311 {%0}.
6312
6313 2022-01-19 Martin Liska <mliska@suse.cz>
6314 Thomas Schwinge <thomas@codesourcery.com>
6315
6316 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
6317 warning messages.
6318
6319 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
6320
6321 PR target/104090
6322 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
6323 rs6000_cpu.
6324
6325 2022-01-19 Jakub Jelinek <jakub@redhat.com>
6326
6327 PR target/104104
6328 * config/i386/sse.md
6329 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
6330 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
6331 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
6332 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
6333 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
6334 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
6335 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
6336 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
6337 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
6338
6339 2022-01-19 Martin Sebor <msebor@redhat.com>
6340
6341 PR middle-end/104069
6342 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
6343 an unknown result as documented.
6344
6345 2022-01-18 Andrew Pinski <apinski@marvell.com>
6346
6347 * ipa-split.cc (visit_bb): Fix comment before the
6348 warning/error attribute checking code.
6349
6350 2022-01-18 David Faust <david.faust@oracle.com>
6351
6352 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
6353 for base strtab offset yet as it may change.
6354 (output_asm_btfext_core_reloc): Do so here instead.
6355 (output_btfext_core_sections): Likewise.
6356
6357 2022-01-18 David Faust <david.faust@oracle.com>
6358
6359 * config/bpf/coreout.cc (output_btfext_header): Account for
6360 4-byte record size in core_relo_len.
6361 (output_btfext_core_sections): Only write record size once.
6362 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
6363 member.
6364
6365 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
6366
6367 * common/config/riscv/riscv-common.cc
6368 (riscv_subset_list::parse_multiletter_ext): Move pointer
6369 arithmetic ahead of `free'.
6370
6371 2022-01-18 Jason Merrill <jason@redhat.com>
6372
6373 PR c++/104007
6374 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
6375 context.
6376
6377 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
6378
6379 PR middle-end/103163
6380 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
6381 (init_emit_once): ...not here.
6382
6383 2022-01-18 Martin Liska <mliska@suse.cz>
6384
6385 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
6386 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
6387 * config/arc/arc.md: Likewise.
6388 * config/avr/avr.cc (avr_section_type_flags): Likewise.
6389 * config/bfin/bfin.cc (bfin_option_override): Likewise.
6390 (bfin_handle_longcall_attribute): Likewise.
6391 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
6392 * config/frv/frv.cc (frv_expand_builtin): Likewise.
6393 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
6394 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
6395 (iq2000_print_operand_address): Likewise.
6396 (iq2000_print_operand): Likewise.
6397 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
6398 (m32c_pragma_address): Likewise.
6399 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
6400 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
6401 (mips_set_compression_mode): Likewise.
6402 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
6403 (mmix_print_operand): Likewise.
6404 (mmix_output_shiftvalue_op_from_str): Likewise.
6405 (mmix_output_shifted_value): Likewise.
6406 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
6407 * config/msp430/msp430.cc (msp430_option_override): Likewise.
6408 (msp430_attr): Likewise.
6409 (msp430_expand_delay_cycles): Likewise.
6410 (msp430_expand_builtin): Likewise.
6411 * config/rs6000/aix73.h: Likewise.
6412 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
6413 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
6414 (valid_psw_flag): Likewise.
6415 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
6416 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
6417 (xstormy16_expand_builtin_va_start): Likewise.
6418 (xstormy16_handle_below100_attribute): Likewise.
6419
6420 2022-01-18 Martin Liska <mliska@suse.cz>
6421
6422 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
6423 warning.
6424 (vms_pragma_standard): Likewise.
6425 (vms_pragma_extern_prefix): Likewise.
6426
6427 2022-01-18 Martin Liska <mliska@suse.cz>
6428
6429 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
6430 (print_operand_address): Likewise.
6431 (xtensa_multibss_section_type_flags): Likewise.
6432
6433 2022-01-18 Martin Liska <mliska@suse.cz>
6434
6435 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
6436 wording of an error message.
6437
6438 2022-01-18 Martin Liska <mliska@suse.cz>
6439
6440 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
6441 warning.
6442 (ghs_pragma_section): Likewise.
6443 (ghs_pragma_interrupt): Likewise.
6444 (ghs_pragma_starttda): Likewise.
6445 (ghs_pragma_startsda): Likewise.
6446 (ghs_pragma_startzda): Likewise.
6447 (ghs_pragma_endtda): Likewise.
6448 (ghs_pragma_endsda): Likewise.
6449 (ghs_pragma_endzda): Likewise.
6450
6451 2022-01-18 Martin Liska <mliska@suse.cz>
6452
6453 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
6454 Fix warnings.
6455 * config/nds32/nds32-intrinsic.md: Likewise.
6456 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
6457 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
6458 (nds32_insert_attributes): Likewise.
6459
6460 2022-01-18 Martin Liska <mliska@suse.cz>
6461
6462 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
6463 keyword.
6464 * config/nvptx/nvptx.md: Remove trailing dot.
6465
6466 2022-01-18 Martin Liska <mliska@suse.cz>
6467
6468 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
6469 Wrap keywords with quotes and remove trailing dots.
6470 (riscv_subset_list::parsing_subset_version): Likewise.
6471 (riscv_subset_list::parse_std_ext): Likewise.
6472 (riscv_subset_list::parse_multiletter_ext): Likewise.
6473 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
6474
6475 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
6476
6477 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
6478 argument suggested_unroll_factor.
6479 (vect_analyze_loop_costing): Likewise.
6480 (_loop_vec_info::_loop_vec_info): Initialize new member
6481 suggested_unroll_factor.
6482 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
6483 main loop use partial vectors.
6484 (vect_analyze_loop_2): Pass and use new argument
6485 suggested_unroll_factor.
6486 (vect_analyze_loop_1): Change to intialize local
6487 suggested_unroll_factor and use it.
6488 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
6489 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
6490 suggested_unroll_factor.
6491 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
6492 (vector_costs::suggested_unroll_factor): New getter function.
6493 (finish_cost): Set return argument suggested_unroll_factor.
6494
6495 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
6496
6497 PR tree-optimization/104038
6498 * doc/invoke.texi (relation-block-limit): New.
6499 * params.opt (relation-block-limit): New.
6500 * value-relation.cc (dom_oracle::register_relation): Check for NULL
6501 record before invoking transitive registery.
6502 (dom_oracle::set_one_relation): Check limit before creating record.
6503 (dom_oracle::register_transitives): Stop when no record created.
6504 * value-relation.h (relation_chain_head::m_num_relations): New.
6505
6506 2022-01-18 Richard Biener <rguenther@suse.de>
6507
6508 PR ipa/103989
6509 * ipa-inline.cc (inline_small_functions): Do not enqueue call
6510 edges originating in functions compiled with -Og.
6511
6512 2022-01-18 Richard Biener <rguenther@suse.de>
6513
6514 PR ipa/103989
6515 * passes.def (pass_all_optimizations_g): Remove pass_modref
6516 and pass_local_pure_const.
6517
6518 2022-01-18 Martin Liska <mliska@suse.cz>
6519
6520 * config/s390/s390.cc: Fix -Wformat-diag warnings.
6521
6522 2022-01-18 Martin Liska <mliska@suse.cz>
6523
6524 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
6525 keyword in quotes.
6526 (s390_resolve_overloaded_builtin): Remove trailing dot.
6527 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
6528 (s390_expand_builtin): Remove trailing dot.
6529 (s390_emit_prologue): Likewise, use semicolon.
6530 (s390_option_override_internal): Update keyword.
6531 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
6532
6533 2022-01-18 Martin Liska <mliska@suse.cz>
6534
6535 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
6536 keywords and use %qs instead of %<%s%>.
6537
6538 2022-01-18 Richard Biener <rguenther@suse.de>
6539
6540 PR tree-optimization/103987
6541 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
6542 query with a pointer check.
6543
6544 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
6545
6546 PR target/104005
6547 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
6548 When using MEM_EXPR, require the base to be a decl.
6549
6550 2022-01-18 Richard Biener <rguenther@suse.de>
6551
6552 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
6553 avoid padding.
6554 * function.h (struct function): Likewise.
6555
6556 2022-01-18 Arnaud Charlet <charlet@adacore.com>
6557
6558 * doc/install.texi: Update prerequisites for GNAT
6559
6560 2022-01-18 Andrew Pinski <apinski@marvell.com>
6561
6562 PR tree-optimization/101941
6563 * ipa-split.cc (visit_bb): Disallow function calls where
6564 the function has either error or warning attribute.
6565
6566 2022-01-18 Richard Biener <rguenther@suse.de>
6567
6568 PR tree-optimization/104064
6569 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
6570 DR_INIT fits in a signed HWI, represent the difference from the
6571 first DR in unsigned.
6572
6573 2022-01-17 Martin Liska <mliska@suse.cz>
6574
6575 * Makefile.in: Rename .c names to .cc.
6576 * config.gcc: Likewise.
6577 * configure: Regenerate. Likewise.
6578 * configure.ac: Likewise.
6579 * gengtype.cc (set_gc_used): Likewise.
6580 (source_dot_c_frul): Likewise.
6581 (source_dot_cc_frul): Likewise.
6582 (struct file_rule_st): Likewise.
6583 (close_output_files): Likewise.
6584 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
6585
6586 2022-01-17 Martin Liska <mliska@suse.cz>
6587
6588 * Makefile.in: Rename .c names to .cc.
6589 * alias.h: Likewise.
6590 * asan.cc: Likewise.
6591 * auto-profile.h: Likewise.
6592 * basic-block.h (struct basic_block_d): Likewise.
6593 * btfout.cc: Likewise.
6594 * builtins.cc (expand_builtin_longjmp): Likewise.
6595 (validate_arg): Likewise.
6596 (access_ref::offset_bounded): Likewise.
6597 * caller-save.cc (reg_restore_code): Likewise.
6598 (setup_save_areas): Likewise.
6599 * calls.cc (initialize_argument_information): Likewise.
6600 (expand_call): Likewise.
6601 (emit_library_call_value_1): Likewise.
6602 * cfg-flags.def (RTL): Likewise.
6603 (SIBCALL): Likewise.
6604 (CAN_FALLTHRU): Likewise.
6605 * cfganal.cc (post_order_compute): Likewise.
6606 * cfgcleanup.cc (try_simplify_condjump): Likewise.
6607 (merge_blocks_move_predecessor_nojumps): Likewise.
6608 (merge_blocks_move_successor_nojumps): Likewise.
6609 (merge_blocks_move): Likewise.
6610 (old_insns_match_p): Likewise.
6611 (try_crossjump_bb): Likewise.
6612 * cfgexpand.cc (expand_gimple_stmt): Likewise.
6613 * cfghooks.cc (split_block_before_cond_jump): Likewise.
6614 (profile_record_check_consistency): Likewise.
6615 * cfghooks.h: Likewise.
6616 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
6617 (rtl_can_merge_blocks): Likewise.
6618 (try_redirect_by_replacing_jump): Likewise.
6619 (make_pass_outof_cfg_layout_mode): Likewise.
6620 (cfg_layout_can_merge_blocks_p): Likewise.
6621 * cgraph.cc (release_function_body): Likewise.
6622 (cgraph_node::get_fun): Likewise.
6623 * cgraph.h (struct cgraph_node): Likewise.
6624 (asmname_hasher::equal): Likewise.
6625 (cgraph_inline_failed_type): Likewise.
6626 (thunk_adjust): Likewise.
6627 (dump_callgraph_transformation): Likewise.
6628 (record_references_in_initializer): Likewise.
6629 (ipa_discover_variable_flags): Likewise.
6630 * cgraphclones.cc (GTY): Likewise.
6631 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
6632 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
6633 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
6634 * collect2.cc (maybe_run_lto_and_relink): Likewise.
6635 * combine-stack-adj.cc: Likewise.
6636 * combine.cc (setup_incoming_promotions): Likewise.
6637 (combine_simplify_rtx): Likewise.
6638 (count_rtxs): Likewise.
6639 * common.opt: Likewise.
6640 * common/config/aarch64/aarch64-common.cc: Likewise.
6641 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
6642 * common/config/avr/avr-common.cc: Likewise.
6643 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
6644 * conditions.h: Likewise.
6645 * config.gcc: Likewise.
6646 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
6647 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
6648 (aarch64_get_extension_string_for_isa_flags): Likewise.
6649 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
6650 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
6651 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
6652 (aarch64_option_valid_attribute_p): Likewise.
6653 (aarch64_short_vector_p): Likewise.
6654 (aarch64_float_const_representable_p): Likewise.
6655 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
6656 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
6657 (GTY): Likewise.
6658 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
6659 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
6660 * config/aarch64/t-aarch64: Likewise.
6661 * config/aarch64/x-aarch64: Likewise.
6662 * config/aarch64/x-darwin: Likewise.
6663 * config/alpha/alpha-protos.h: Likewise.
6664 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
6665 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
6666 (enum reg_class): Likewise.
6667 * config/alpha/alpha.md: Likewise.
6668 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
6669 * config/alpha/x-alpha: Likewise.
6670 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
6671 * config/arc/arc.cc (ARC_OPT): Likewise.
6672 (arc_ccfsm_advance): Likewise.
6673 (arc_arg_partial_bytes): Likewise.
6674 (conditionalize_nonjump): Likewise.
6675 * config/arc/arc.md: Likewise.
6676 * config/arc/builtins.def: Likewise.
6677 * config/arc/t-arc: Likewise.
6678 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
6679 (arm_pragma_target_parse): Likewise.
6680 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
6681 (arm_cpu_cpp_builtins): Likewise.
6682 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
6683 (shift_op): Likewise.
6684 (thumb2_final_prescan_insn): Likewise.
6685 (arm_final_prescan_insn): Likewise.
6686 (arm_asm_output_labelref): Likewise.
6687 (arm_small_register_classes_for_mode_p): Likewise.
6688 * config/arm/arm.h: Likewise.
6689 * config/arm/arm.md: Likewise.
6690 * config/arm/driver-arm.cc: Likewise.
6691 * config/arm/symbian.h: Likewise.
6692 * config/arm/t-arm: Likewise.
6693 * config/arm/thumb1.md: Likewise.
6694 * config/arm/x-arm: Likewise.
6695 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
6696 * config/avr/avr-fixed.md: Likewise.
6697 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
6698 * config/avr/avr-mcus.def: Likewise.
6699 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
6700 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
6701 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
6702 * config/avr/avr.cc (avr_option_override): Likewise.
6703 (avr_build_builtin_va_list): Likewise.
6704 (avr_mode_dependent_address_p): Likewise.
6705 (avr_function_arg_advance): Likewise.
6706 (avr_asm_output_aligned_decl_common): Likewise.
6707 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
6708 (SUPPORTS_INIT_PRIORITY): Likewise.
6709 * config/avr/avr.md: Likewise.
6710 * config/avr/builtins.def: Likewise.
6711 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
6712 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
6713 (main): Likewise.
6714 * config/avr/t-avr: Likewise.
6715 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
6716 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
6717 * config/bpf/bpf.h (enum reg_class): Likewise.
6718 * config/bpf/t-bpf: Likewise.
6719 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
6720 * config/cr16/cr16-protos.h: Likewise.
6721 * config/cris/cris.cc (cris_address_cost): Likewise.
6722 (cris_side_effect_mode_ok): Likewise.
6723 (cris_init_machine_status): Likewise.
6724 (cris_emit_movem_store): Likewise.
6725 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
6726 (enum reg_class): Likewise.
6727 (struct cum_args): Likewise.
6728 * config/cris/cris.opt: Likewise.
6729 * config/cris/sync.md: Likewise.
6730 * config/csky/csky.cc (csky_expand_prologue): Likewise.
6731 * config/darwin-c.cc: Likewise.
6732 * config/darwin-f.cc: Likewise.
6733 * config/darwin-sections.def (zobj_const_section): Likewise.
6734 * config/darwin.cc (output_objc_section_asm_op): Likewise.
6735 (fprintf): Likewise.
6736 * config/darwin.h (GTY): Likewise.
6737 * config/elfos.h: Likewise.
6738 * config/epiphany/epiphany-sched.md: Likewise.
6739 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
6740 * config/epiphany/epiphany.h (GTY): Likewise.
6741 (NO_FUNCTION_CSE): Likewise.
6742 * config/epiphany/mode-switch-use.cc: Likewise.
6743 * config/epiphany/predicates.md: Likewise.
6744 * config/epiphany/t-epiphany: Likewise.
6745 * config/fr30/fr30-protos.h: Likewise.
6746 * config/frv/frv-protos.h: Likewise.
6747 * config/frv/frv.cc (TLS_BIAS): Likewise.
6748 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
6749 * config/ft32/ft32-protos.h: Likewise.
6750 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
6751 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
6752 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
6753 * config/gcn/t-gcn-hsa: Likewise.
6754 * config/gcn/t-omp-device: Likewise.
6755 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
6756 (same_cmp_following_p): Likewise.
6757 * config/h8300/h8300.cc (F): Likewise.
6758 * config/h8300/h8300.h (struct cum_arg): Likewise.
6759 (BRANCH_COST): Likewise.
6760 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
6761 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
6762 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
6763 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
6764 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
6765 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
6766 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
6767 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
6768 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
6769 (ix86_register_pragmas): Likewise.
6770 (ix86_d_has_stdcall_convention): Likewise.
6771 (i386_pe_seh_init_sections): Likewise.
6772 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
6773 (ix86_function_value_regno_p): Likewise.
6774 (ix86_compute_frame_layout): Likewise.
6775 (legitimize_pe_coff_symbol): Likewise.
6776 (output_pic_addr_const): Likewise.
6777 * config/i386/i386.h (defined): Likewise.
6778 (host_detect_local_cpu): Likewise.
6779 (CONSTANT_ADDRESS_P): Likewise.
6780 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
6781 (struct machine_frame_state): Likewise.
6782 * config/i386/i386.md: Likewise.
6783 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
6784 * config/i386/mmx.md: Likewise.
6785 * config/i386/sse.md: Likewise.
6786 * config/i386/t-cygming: Likewise.
6787 * config/i386/t-djgpp: Likewise.
6788 * config/i386/t-gnu-property: Likewise.
6789 * config/i386/t-i386: Likewise.
6790 * config/i386/t-intelmic: Likewise.
6791 * config/i386/t-omp-device: Likewise.
6792 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
6793 (i386_pe_adjust_class_at_definition): Likewise.
6794 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
6795 (i386_pe_mangle_decl_assembler_name): Likewise.
6796 (i386_pe_encode_section_info): Likewise.
6797 * config/i386/x-cygwin: Likewise.
6798 * config/i386/x-darwin: Likewise.
6799 * config/i386/x-i386: Likewise.
6800 * config/i386/x-mingw32: Likewise.
6801 * config/i386/x86-tune-sched-core.cc: Likewise.
6802 * config/i386/x86-tune.def: Likewise.
6803 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
6804 * config/ia64/freebsd.h: Likewise.
6805 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
6806 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
6807 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
6808 (ia64_secondary_reload_class): Likewise.
6809 (bundling): Likewise.
6810 * config/ia64/ia64.h: Likewise.
6811 * config/ia64/ia64.md: Likewise.
6812 * config/ia64/predicates.md: Likewise.
6813 * config/ia64/sysv4.h: Likewise.
6814 * config/ia64/t-ia64: Likewise.
6815 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
6816 * config/iq2000/iq2000.md: Likewise.
6817 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
6818 (if): Likewise.
6819 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
6820 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
6821 * config/m32c/t-m32c: Likewise.
6822 * config/m32r/m32r-protos.h: Likewise.
6823 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
6824 * config/m32r/m32r.h: Likewise.
6825 * config/m32r/m32r.md: Likewise.
6826 * config/m68k/m68k-isas.def: Likewise.
6827 * config/m68k/m68k-microarchs.def: Likewise.
6828 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
6829 (m68k_epilogue_uses): Likewise.
6830 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
6831 (m68k_sched_adjust_cost): Likewise.
6832 (m68k_sched_md_init): Likewise.
6833 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
6834 (enum m68k_function_kind): Likewise.
6835 * config/m68k/m68k.md: Likewise.
6836 * config/m68k/m68kemb.h: Likewise.
6837 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
6838 * config/mcore/mcore-protos.h: Likewise.
6839 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
6840 (mcore_expand_prolog): Likewise.
6841 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
6842 * config/mcore/mcore.md: Likewise.
6843 * config/microblaze/microblaze-protos.h: Likewise.
6844 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
6845 (microblaze_function_prologue): Likewise.
6846 (microblaze_function_epilogue): Likewise.
6847 (microblaze_select_section): Likewise.
6848 (microblaze_asm_output_mi_thunk): Likewise.
6849 (microblaze_eh_return): Likewise.
6850 * config/microblaze/microblaze.h: Likewise.
6851 * config/microblaze/microblaze.md: Likewise.
6852 * config/microblaze/t-microblaze: Likewise.
6853 * config/mips/driver-native.cc: Likewise.
6854 * config/mips/loongson2ef.md: Likewise.
6855 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
6856 * config/mips/mips.cc (mips_rtx_costs): Likewise.
6857 (mips_output_filename): Likewise.
6858 (mips_output_function_prologue): Likewise.
6859 (mips_output_function_epilogue): Likewise.
6860 (mips_output_mi_thunk): Likewise.
6861 * config/mips/mips.h: Likewise.
6862 * config/mips/mips.md: Likewise.
6863 * config/mips/t-mips: Likewise.
6864 * config/mips/x-native: Likewise.
6865 * config/mmix/mmix-protos.h: Likewise.
6866 * config/mmix/mmix.cc (mmix_option_override): Likewise.
6867 (mmix_dbx_register_number): Likewise.
6868 (mmix_expand_prologue): Likewise.
6869 * config/mmix/mmix.h: Likewise.
6870 * config/mmix/mmix.md: Likewise.
6871 * config/mmix/predicates.md: Likewise.
6872 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
6873 (mn10300_legitimate_pic_operand_p): Likewise.
6874 * config/mn10300/mn10300.h (enum reg_class): Likewise.
6875 (NO_FUNCTION_CSE): Likewise.
6876 * config/moxie/moxie-protos.h: Likewise.
6877 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
6878 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
6879 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
6880 (msp430_incoming_return_addr_rtx): Likewise.
6881 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
6882 * config/msp430/t-msp430: Likewise.
6883 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
6884 (nds32_rtx_costs_size_prefer): Likewise.
6885 (nds32_init_rtx_costs): Likewise.
6886 * config/nds32/nds32-doubleword.md: Likewise.
6887 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
6888 (nds32_builtin_decl): Likewise.
6889 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
6890 (enum nds32_isr_nested_type): Likewise.
6891 (enum reg_class): Likewise.
6892 * config/nds32/predicates.md: Likewise.
6893 * config/nds32/t-nds32: Likewise.
6894 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
6895 * config/nvptx/nvptx-protos.h: Likewise.
6896 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
6897 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
6898 * config/nvptx/t-nvptx: Likewise.
6899 * config/nvptx/t-omp-device: Likewise.
6900 * config/pa/elf.h: Likewise.
6901 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
6902 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
6903 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
6904 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
6905 (pa_legitimize_reload_address): Likewise.
6906 (pa_can_use_return_insn): Likewise.
6907 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
6908 (som_output_text_section_asm_op): Likewise.
6909 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
6910 * config/pa/pa.md: Likewise.
6911 * config/pa/som.h: Likewise.
6912 * config/pa/t-pa: Likewise.
6913 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
6914 * config/pdp11/pdp11.h: Likewise.
6915 * config/pdp11/pdp11.md: Likewise.
6916 * config/pdp11/t-pdp11: Likewise.
6917 * config/pru/pru.md: Likewise.
6918 * config/pru/t-pru: Likewise.
6919 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
6920 (riscv_gpr_save_operation_p): Likewise.
6921 (riscv_d_register_target_info): Likewise.
6922 (riscv_init_builtins): Likewise.
6923 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
6924 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
6925 * config/riscv/t-riscv: Likewise.
6926 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
6927 * config/rl78/t-rl78: Likewise.
6928 * config/rs6000/aix.h: Likewise.
6929 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
6930 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
6931 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
6932 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
6933 * config/rs6000/driver-rs6000.cc: Likewise.
6934 * config/rs6000/freebsd.h: Likewise.
6935 * config/rs6000/freebsd64.h: Likewise.
6936 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
6937 * config/rs6000/rbtree.cc: Likewise.
6938 * config/rs6000/rbtree.h: Likewise.
6939 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
6940 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
6941 (rs6000_expand_builtin): Likewise.
6942 (rs6000_init_builtins): Likewise.
6943 * config/rs6000/rs6000-cpus.def: Likewise.
6944 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
6945 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
6946 (quad_address_offset_p): Likewise.
6947 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
6948 (rs6000_emit_epilogue): Likewise.
6949 * config/rs6000/rs6000-overload.def: Likewise.
6950 * config/rs6000/rs6000-p8swap.cc: Likewise.
6951 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
6952 (rs6000_const_f32_to_i32): Likewise.
6953 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
6954 (rs6000_debug_legitimize_address): Likewise.
6955 (rs6000_mode_dependent_address): Likewise.
6956 (rs6000_adjust_priority): Likewise.
6957 (rs6000_c_mode_for_suffix): Likewise.
6958 * config/rs6000/rs6000.h (defined): Likewise.
6959 (LONG_DOUBLE_TYPE_SIZE): Likewise.
6960 * config/rs6000/rs6000.md: Likewise.
6961 * config/rs6000/sysv4.h: Likewise.
6962 * config/rs6000/t-linux: Likewise.
6963 * config/rs6000/t-linux64: Likewise.
6964 * config/rs6000/t-rs6000: Likewise.
6965 * config/rs6000/x-darwin: Likewise.
6966 * config/rs6000/x-darwin64: Likewise.
6967 * config/rs6000/x-rs6000: Likewise.
6968 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
6969 * config/rx/rx.cc (rx_expand_builtin): Likewise.
6970 * config/s390/constraints.md: Likewise.
6971 * config/s390/driver-native.cc: Likewise.
6972 * config/s390/htmxlintrin.h: Likewise.
6973 * config/s390/s390-builtins.def (B_DEF): Likewise.
6974 (OB_DEF_VAR): Likewise.
6975 * config/s390/s390-builtins.h: Likewise.
6976 * config/s390/s390-c.cc: Likewise.
6977 * config/s390/s390-opts.h: Likewise.
6978 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
6979 (s390_register_target_pragmas): Likewise.
6980 * config/s390/s390.cc (s390_init_builtins): Likewise.
6981 (s390_expand_plus_operand): Likewise.
6982 (s390_expand_atomic): Likewise.
6983 (s390_valid_target_attribute_inner_p): Likewise.
6984 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
6985 * config/s390/s390.md: Likewise.
6986 * config/s390/t-s390: Likewise.
6987 * config/s390/vx-builtins.md: Likewise.
6988 * config/s390/x-native: Likewise.
6989 * config/sh/divtab-sh4-300.cc (main): Likewise.
6990 * config/sh/divtab-sh4.cc (main): Likewise.
6991 * config/sh/divtab.cc (main): Likewise.
6992 * config/sh/elf.h: Likewise.
6993 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
6994 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
6995 (sh_struct_value_rtx): Likewise.
6996 (sh_remove_reg_dead_or_unused_notes): Likewise.
6997 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
6998 * config/sh/t-sh: Likewise.
6999 * config/sol2-protos.h (solaris_override_options): Likewise.
7000 * config/sol2.h: Likewise.
7001 * config/sparc/driver-sparc.cc: Likewise.
7002 * config/sparc/freebsd.h: Likewise.
7003 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
7004 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
7005 (sparc_asan_shadow_offset): Likewise.
7006 * config/sparc/sparc.h: Likewise.
7007 * config/sparc/sparc.md: Likewise.
7008 * config/sparc/t-sparc: Likewise.
7009 * config/sparc/x-sparc: Likewise.
7010 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
7011 * config/t-darwin: Likewise.
7012 * config/t-dragonfly: Likewise.
7013 * config/t-freebsd: Likewise.
7014 * config/t-glibc: Likewise.
7015 * config/t-linux: Likewise.
7016 * config/t-netbsd: Likewise.
7017 * config/t-openbsd: Likewise.
7018 * config/t-pnt16-warn: Likewise.
7019 * config/t-sol2: Likewise.
7020 * config/t-vxworks: Likewise.
7021 * config/t-winnt: Likewise.
7022 * config/tilegx/t-tilegx: Likewise.
7023 * config/tilegx/tilegx-c.cc: Likewise.
7024 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
7025 * config/tilegx/tilegx.md: Likewise.
7026 * config/tilepro/t-tilepro: Likewise.
7027 * config/tilepro/tilepro-c.cc: Likewise.
7028 * config/v850/t-v850: Likewise.
7029 * config/v850/v850-protos.h: Likewise.
7030 * config/v850/v850.cc (F): Likewise.
7031 * config/v850/v850.h (enum reg_class): Likewise.
7032 (SLOW_BYTE_ACCESS): Likewise.
7033 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
7034 * config/vax/vax.h (enum reg_class): Likewise.
7035 * config/vax/vax.md: Likewise.
7036 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
7037 * config/visium/visium.h: Likewise.
7038 * config/vms/t-vms: Likewise.
7039 * config/vms/vms-crtlmap.map: Likewise.
7040 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
7041 * config/vx-common.h: Likewise.
7042 * config/x-darwin: Likewise.
7043 * config/x-hpux: Likewise.
7044 * config/x-linux: Likewise.
7045 * config/x-netbsd: Likewise.
7046 * config/x-openbsd: Likewise.
7047 * config/x-solaris: Likewise.
7048 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
7049 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
7050 * config/xtensa/xtensa.h: Likewise.
7051 * configure.ac: Likewise.
7052 * context.cc: Likewise.
7053 * convert.h: Likewise.
7054 * coretypes.h: Likewise.
7055 * coverage.cc: Likewise.
7056 * coverage.h: Likewise.
7057 * cppdefault.h (struct default_include): Likewise.
7058 * cprop.cc (local_cprop_pass): Likewise.
7059 (one_cprop_pass): Likewise.
7060 * cse.cc (hash_rtx_cb): Likewise.
7061 (fold_rtx): Likewise.
7062 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
7063 * data-streamer.h (bp_unpack_var_len_int): Likewise.
7064 (streamer_write_widest_int): Likewise.
7065 * dbgcnt.def: Likewise.
7066 * dbxout.cc (dbxout_early_global_decl): Likewise.
7067 (dbxout_common_check): Likewise.
7068 * dbxout.h: Likewise.
7069 * debug.h (struct gcc_debug_hooks): Likewise.
7070 (dump_go_spec_init): Likewise.
7071 * df-core.cc: Likewise.
7072 * df-scan.cc (df_insn_info_delete): Likewise.
7073 (df_insn_delete): Likewise.
7074 * df.h (debug_df_chain): Likewise.
7075 (can_move_insns_across): Likewise.
7076 * dfp.cc (decimal_from_binary): Likewise.
7077 * diagnostic-color.cc: Likewise.
7078 * diagnostic-event-id.h: Likewise.
7079 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
7080 * diagnostic.cc (bt_callback): Likewise.
7081 (num_digits): Likewise.
7082 * doc/avr-mmcu.texi: Likewise.
7083 * doc/cfg.texi: Likewise.
7084 * doc/contrib.texi: Likewise.
7085 * doc/cppinternals.texi: Likewise.
7086 * doc/extend.texi: Likewise.
7087 * doc/generic.texi: Likewise.
7088 * doc/gimple.texi: Likewise.
7089 * doc/gty.texi: Likewise.
7090 * doc/invoke.texi: Likewise.
7091 * doc/loop.texi: Likewise.
7092 * doc/lto.texi: Likewise.
7093 * doc/match-and-simplify.texi: Likewise.
7094 * doc/md.texi: Likewise.
7095 * doc/optinfo.texi: Likewise.
7096 * doc/options.texi: Likewise.
7097 * doc/passes.texi: Likewise.
7098 * doc/plugins.texi: Likewise.
7099 * doc/rtl.texi: Likewise.
7100 * doc/sourcebuild.texi: Likewise.
7101 * doc/tm.texi: Likewise.
7102 * doc/tm.texi.in: Likewise.
7103 * doc/tree-ssa.texi: Likewise.
7104 * dojump.cc (do_jump): Likewise.
7105 * dojump.h: Likewise.
7106 * dumpfile.cc (test_impl_location): Likewise.
7107 (test_capture_of_dump_calls): Likewise.
7108 * dumpfile.h (enum dump_kind): Likewise.
7109 (class dump_location_t): Likewise.
7110 (dump_enabled_p): Likewise.
7111 (enable_rtl_dump_file): Likewise.
7112 (dump_combine_total_stats): Likewise.
7113 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
7114 * dwarf2ctf.h (ctf_debug_finish): Likewise.
7115 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
7116 (struct loc_descr_context): Likewise.
7117 (rtl_for_decl_location): Likewise.
7118 (gen_subprogram_die): Likewise.
7119 (gen_label_die): Likewise.
7120 (is_trivial_indirect_ref): Likewise.
7121 (dwarf2out_late_global_decl): Likewise.
7122 (dwarf_file_hasher::hash): Likewise.
7123 (dwarf2out_end_source_file): Likewise.
7124 (dwarf2out_define): Likewise.
7125 (dwarf2out_early_finish): Likewise.
7126 * dwarf2out.h (struct dw_fde_node): Likewise.
7127 (struct dw_discr_list_node): Likewise.
7128 (output_loc_sequence_raw): Likewise.
7129 * emit-rtl.cc (gen_raw_REG): Likewise.
7130 (maybe_set_max_label_num): Likewise.
7131 * emit-rtl.h (struct rtl_data): Likewise.
7132 * errors.cc (internal_error): Likewise.
7133 (trim_filename): Likewise.
7134 * et-forest.cc: Likewise.
7135 * except.cc (init_eh_for_function): Likewise.
7136 * explow.cc (promote_ssa_mode): Likewise.
7137 (get_dynamic_stack_size): Likewise.
7138 * explow.h: Likewise.
7139 * expmed.h: Likewise.
7140 * expr.cc (safe_from_p): Likewise.
7141 (expand_expr_real_2): Likewise.
7142 (expand_expr_real_1): Likewise.
7143 * file-prefix-map.cc (remap_filename): Likewise.
7144 * final.cc (app_enable): Likewise.
7145 (make_pass_compute_alignments): Likewise.
7146 (final_scan_insn_1): Likewise.
7147 (final_scan_insn): Likewise.
7148 * fixed-value.h (fixed_from_string): Likewise.
7149 * flag-types.h (NO_DEBUG): Likewise.
7150 (DWARF2_DEBUG): Likewise.
7151 (VMS_DEBUG): Likewise.
7152 (BTF_DEBUG): Likewise.
7153 (enum ctf_debug_info_levels): Likewise.
7154 * fold-const.cc (const_binop): Likewise.
7155 (fold_binary_loc): Likewise.
7156 (fold_checksum_tree): Likewise.
7157 * fp-test.cc: Likewise.
7158 * function.cc (expand_function_end): Likewise.
7159 * function.h (struct function): Likewise.
7160 * fwprop.cc (should_replace_address): Likewise.
7161 * gcc-main.cc: Likewise.
7162 * gcc-rich-location.h (class gcc_rich_location): Likewise.
7163 * gcc-symtab.h: Likewise.
7164 * gcc.cc (MIN_FATAL_STATUS): Likewise.
7165 (driver_handle_option): Likewise.
7166 (quote_spec_arg): Likewise.
7167 (driver::finalize): Likewise.
7168 * gcc.h (set_input): Likewise.
7169 * gcov-dump.cc: Likewise.
7170 * gcov.cc (solve_flow_graph): Likewise.
7171 * gcse-common.cc: Likewise.
7172 * gcse.cc (make_pass_rtl_hoist): Likewise.
7173 * genattr-common.cc: Likewise.
7174 * genattrtab.cc (min_fn): Likewise.
7175 (write_const_num_delay_slots): Likewise.
7176 * genautomata.cc: Likewise.
7177 * genconditions.cc (write_one_condition): Likewise.
7178 * genconstants.cc: Likewise.
7179 * genemit.cc (gen_exp): Likewise.
7180 * generic-match-head.cc: Likewise.
7181 * genextract.cc: Likewise.
7182 * gengenrtl.cc (always_void_p): Likewise.
7183 * gengtype-parse.cc (gtymarker_opt): Likewise.
7184 * gengtype-state.cc (state_writer::state_writer): Likewise.
7185 (write_state_trailer): Likewise.
7186 (equals_type_number): Likewise.
7187 (read_state): Likewise.
7188 * gengtype.cc (open_base_files): Likewise.
7189 (struct file_rule_st): Likewise.
7190 (header_dot_h_frul): Likewise.
7191 * gengtype.h: Likewise.
7192 * genmatch.cc (main): Likewise.
7193 * genmddeps.cc: Likewise.
7194 * genmodes.cc (emit_mode_inner): Likewise.
7195 (emit_mode_unit_size): Likewise.
7196 * genpeep.cc (gen_peephole): Likewise.
7197 * genpreds.cc (write_tm_preds_h): Likewise.
7198 * genrecog.cc (validate_pattern): Likewise.
7199 (write_header): Likewise.
7200 (main): Likewise.
7201 * gensupport.cc (change_subst_attribute): Likewise.
7202 (traverse_c_tests): Likewise.
7203 (add_predicate): Likewise.
7204 (init_predicate_table): Likewise.
7205 * gensupport.h (struct optab_pattern): Likewise.
7206 (get_num_insn_codes): Likewise.
7207 (maybe_eval_c_test): Likewise.
7208 (struct pred_data): Likewise.
7209 * ggc-internal.h: Likewise.
7210 * gimple-fold.cc (maybe_fold_reference): Likewise.
7211 (get_range_strlen_tree): Likewise.
7212 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
7213 * gimple-low.cc: Likewise.
7214 * gimple-match-head.cc (directly_supported_p): Likewise.
7215 * gimple-pretty-print.h: Likewise.
7216 * gimple-ssa-sprintf.cc (format_percent): Likewise.
7217 (adjust_range_for_overflow): Likewise.
7218 * gimple-streamer.h: Likewise.
7219 * gimple.h (struct GTY): Likewise.
7220 (is_gimple_resx): Likewise.
7221 * gimplify.cc (gimplify_expr): Likewise.
7222 (gimplify_init_constructor): Likewise.
7223 (omp_construct_selector_matches): Likewise.
7224 (gimplify_omp_target_update): Likewise.
7225 (gimplify_omp_ordered): Likewise.
7226 (gimplify_va_arg_expr): Likewise.
7227 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
7228 * haifa-sched.cc (increase_insn_priority): Likewise.
7229 (try_ready): Likewise.
7230 (sched_create_recovery_edges): Likewise.
7231 * ifcvt.cc (find_if_case_1): Likewise.
7232 (find_if_case_2): Likewise.
7233 * inchash.h: Likewise.
7234 * incpath.cc (add_env_var_paths): Likewise.
7235 * input.cc (dump_location_info): Likewise.
7236 (assert_loceq): Likewise.
7237 (test_lexer_string_locations_concatenation_1): Likewise.
7238 (test_lexer_string_locations_concatenation_2): Likewise.
7239 (test_lexer_string_locations_concatenation_3): Likewise.
7240 * input.h (BUILTINS_LOCATION): Likewise.
7241 (class string_concat_db): Likewise.
7242 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
7243 (expand_LOOP_VECTORIZED): Likewise.
7244 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
7245 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
7246 (ipa_fn_summary_t::duplicate): Likewise.
7247 (make_pass_ipa_fn_summary): Likewise.
7248 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
7249 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
7250 (free_lang_data_in_decl): Likewise.
7251 * ipa-inline.cc (compute_inlined_call_time): Likewise.
7252 (inline_always_inline_functions): Likewise.
7253 * ipa-inline.h (free_growth_caches): Likewise.
7254 (inline_account_function_p): Likewise.
7255 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
7256 (modref_eaf_analysis::analyze_ssa_name): Likewise.
7257 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
7258 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
7259 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
7260 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
7261 (unadjusted_ptr_and_unit_offset): Likewise.
7262 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
7263 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
7264 * ipa-split.cc (consider_split): Likewise.
7265 * ipa-sra.cc (isra_read_node_info): Likewise.
7266 * ipa-utils.h (struct ipa_dfs_info): Likewise.
7267 (recursive_call_p): Likewise.
7268 (ipa_make_function_pure): Likewise.
7269 * ira-build.cc (ira_create_allocno): Likewise.
7270 (ira_flattening): Likewise.
7271 * ira-color.cc (do_coloring): Likewise.
7272 (update_curr_costs): Likewise.
7273 * ira-conflicts.cc (process_regs_for_copy): Likewise.
7274 * ira-int.h (struct ira_emit_data): Likewise.
7275 (ira_prohibited_mode_move_regs): Likewise.
7276 (ira_get_dup_out_num): Likewise.
7277 (ira_destroy): Likewise.
7278 (ira_tune_allocno_costs): Likewise.
7279 (ira_implicitly_set_insn_hard_regs): Likewise.
7280 (ira_build_conflicts): Likewise.
7281 (ira_color): Likewise.
7282 * ira-lives.cc (process_bb_node_lives): Likewise.
7283 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
7284 (setup_uniform_class_p): Likewise.
7285 (def_dominates_uses): Likewise.
7286 * ira.h (ira_nullify_asm_goto): Likewise.
7287 * langhooks.cc (lhd_post_options): Likewise.
7288 * langhooks.h (class substring_loc): Likewise.
7289 (struct lang_hooks_for_tree_inlining): Likewise.
7290 (struct lang_hooks_for_types): Likewise.
7291 (struct lang_hooks): Likewise.
7292 * libfuncs.h (synchronize_libfunc): Likewise.
7293 * loop-doloop.cc (doloop_condition_get): Likewise.
7294 * loop-init.cc (fix_loop_structure): Likewise.
7295 * loop-invariant.cc: Likewise.
7296 * lower-subreg.h: Likewise.
7297 * lra-constraints.cc (curr_insn_transform): Likewise.
7298 * lra-int.h (struct lra_insn_reg): Likewise.
7299 (lra_undo_inheritance): Likewise.
7300 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
7301 (lra_split_hard_reg_for): Likewise.
7302 (lra_coalesce): Likewise.
7303 (lra_final_code_change): Likewise.
7304 * lra-spills.cc (lra_final_code_change): Likewise.
7305 * lra.cc (lra_process_new_insns): Likewise.
7306 * lto-compress.h (struct lto_compression_stream): Likewise.
7307 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
7308 (write_symbol): Likewise.
7309 * lto-streamer.h (enum LTO_tags): Likewise.
7310 (lto_value_range_error): Likewise.
7311 (lto_append_block): Likewise.
7312 (lto_streamer_hooks_init): Likewise.
7313 (stream_read_tree_ref): Likewise.
7314 (lto_prepare_function_for_streaming): Likewise.
7315 (select_what_to_stream): Likewise.
7316 (omp_lto_input_declare_variant_alt): Likewise.
7317 (cl_optimization_stream_in): Likewise.
7318 * lto-wrapper.cc (append_compiler_options): Likewise.
7319 * machmode.def: Likewise.
7320 * machmode.h (struct int_n_data_t): Likewise.
7321 * main.cc (main): Likewise.
7322 * match.pd: Likewise.
7323 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
7324 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
7325 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
7326 (make_pass_expand_omp_ssa): Likewise.
7327 * omp-low.cc (struct omp_context): Likewise.
7328 (struct omp_taskcopy_context): Likewise.
7329 (lower_omp): Likewise.
7330 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
7331 (mask_name): Likewise.
7332 (omp_sese_dump_pars): Likewise.
7333 (worker_single_simple): Likewise.
7334 * omp-offload.cc (omp_finish_file): Likewise.
7335 (execute_oacc_loop_designation): Likewise.
7336 * optabs-query.cc (lshift_cheap_p): Likewise.
7337 * optc-gen.awk: Likewise.
7338 * optc-save-gen.awk: Likewise.
7339 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
7340 * opts-common.cc: Likewise.
7341 * output.h (app_enable): Likewise.
7342 (output_operand_lossage): Likewise.
7343 (insn_current_reference_address): Likewise.
7344 (get_insn_template): Likewise.
7345 (output_quoted_string): Likewise.
7346 * pass_manager.h (struct register_pass_info): Likewise.
7347 * plugin.cc: Likewise.
7348 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
7349 * plugin.h (invoke_plugin_callbacks): Likewise.
7350 * pointer-query.cc (handle_mem_ref): Likewise.
7351 * postreload-gcse.cc (alloc_mem): Likewise.
7352 * predict.h (enum prediction): Likewise.
7353 (add_reg_br_prob_note): Likewise.
7354 * prefix.h: Likewise.
7355 * profile.h (get_working_sets): Likewise.
7356 * read-md.cc: Likewise.
7357 * read-md.h (struct mapping): Likewise.
7358 (class md_reader): Likewise.
7359 (class noop_reader): Likewise.
7360 * read-rtl-function.cc (function_reader::create_function): Likewise.
7361 (function_reader::extra_parsing_for_operand_code_0): Likewise.
7362 * read-rtl.cc (initialize_iterators): Likewise.
7363 * real.cc: Likewise.
7364 * real.h (struct real_value): Likewise.
7365 (format_helper::format_helper): Likewise.
7366 (real_hash): Likewise.
7367 (real_can_shorten_arithmetic): Likewise.
7368 * recog.cc (struct target_recog): Likewise.
7369 (offsettable_nonstrict_memref_p): Likewise.
7370 (constrain_operands): Likewise.
7371 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
7372 (which_op_alt): Likewise.
7373 (struct insn_gen_fn): Likewise.
7374 * reg-notes.def (REG_NOTE): Likewise.
7375 * reg-stack.cc: Likewise.
7376 * regs.h (reg_is_parm_p): Likewise.
7377 * regset.h: Likewise.
7378 * reload.cc (push_reload): Likewise.
7379 (find_reloads): Likewise.
7380 (find_reloads_address_1): Likewise.
7381 (find_replacement): Likewise.
7382 (refers_to_regno_for_reload_p): Likewise.
7383 (refers_to_mem_for_reload_p): Likewise.
7384 * reload.h (push_reload): Likewise.
7385 (deallocate_reload_reg): Likewise.
7386 * reload1.cc (emit_input_reload_insns): Likewise.
7387 * reorg.cc (relax_delay_slots): Likewise.
7388 * rtl.def (UNKNOWN): Likewise.
7389 (SEQUENCE): Likewise.
7390 (BARRIER): Likewise.
7391 (ASM_OPERANDS): Likewise.
7392 (EQ_ATTR_ALT): Likewise.
7393 * rtl.h (struct GTY): Likewise.
7394 (LABEL_NAME): Likewise.
7395 (LABEL_ALT_ENTRY_P): Likewise.
7396 (SUBREG_BYTE): Likewise.
7397 (get_stack_check_protect): Likewise.
7398 (dump_rtx_statistics): Likewise.
7399 (unwrap_const_vec_duplicate): Likewise.
7400 (subreg_promoted_mode): Likewise.
7401 (gen_lowpart_common): Likewise.
7402 (operand_subword): Likewise.
7403 (immed_wide_int_const): Likewise.
7404 (decide_function_section): Likewise.
7405 (active_insn_p): Likewise.
7406 (delete_related_insns): Likewise.
7407 (try_split): Likewise.
7408 (val_signbit_known_clear_p): Likewise.
7409 (simplifiable_subregs): Likewise.
7410 (set_insn_deleted): Likewise.
7411 (subreg_get_info): Likewise.
7412 (remove_free_EXPR_LIST_node): Likewise.
7413 (finish_subregs_of_mode): Likewise.
7414 (get_mem_attrs): Likewise.
7415 (lookup_constant_def): Likewise.
7416 (rtx_to_tree_code): Likewise.
7417 (hash_rtx): Likewise.
7418 (condjump_in_parallel_p): Likewise.
7419 (validate_subreg): Likewise.
7420 (make_compound_operation): Likewise.
7421 (schedule_ebbs): Likewise.
7422 (print_inline_rtx): Likewise.
7423 (fixup_args_size_notes): Likewise.
7424 (expand_dec): Likewise.
7425 (prepare_copy_insn): Likewise.
7426 (mark_elimination): Likewise.
7427 (valid_mode_changes_for_regno): Likewise.
7428 (make_debug_expr_from_rtl): Likewise.
7429 (delete_vta_debug_insns): Likewise.
7430 (simplify_using_condition): Likewise.
7431 (set_insn_locations): Likewise.
7432 (fatal_insn_not_found): Likewise.
7433 (word_register_operation_p): Likewise.
7434 * rtlanal.cc (get_call_fndecl): Likewise.
7435 (side_effects_p): Likewise.
7436 (subreg_nregs): Likewise.
7437 (rtx_cost): Likewise.
7438 (canonicalize_condition): Likewise.
7439 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
7440 * run-rtl-passes.cc (run_rtl_passes): Likewise.
7441 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
7442 * sched-deps.cc (add_dependence_1): Likewise.
7443 * sched-ebb.cc (begin_move_insn): Likewise.
7444 (add_deps_for_risky_insns): Likewise.
7445 (advance_target_bb): Likewise.
7446 * sched-int.h (reemit_notes): Likewise.
7447 (struct _haifa_insn_data): Likewise.
7448 (HID): Likewise.
7449 (DEP_CANCELLED): Likewise.
7450 (debug_ds): Likewise.
7451 (number_in_ready): Likewise.
7452 (schedule_ebbs_finish): Likewise.
7453 (find_modifiable_mems): Likewise.
7454 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
7455 * sel-sched-dump.cc (dump_lv_set): Likewise.
7456 * sel-sched-dump.h: Likewise.
7457 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
7458 (setup_id_reg_sets): Likewise.
7459 (has_dependence_p): Likewise.
7460 (sel_num_cfg_preds_gt_1): Likewise.
7461 (bb_ends_ebb_p): Likewise.
7462 * sel-sched-ir.h (struct _list_node): Likewise.
7463 (struct idata_def): Likewise.
7464 (bb_next_bb): Likewise.
7465 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
7466 (choose_best_pseudo_reg): Likewise.
7467 (verify_target_availability): Likewise.
7468 (can_speculate_dep_p): Likewise.
7469 (sel_rank_for_schedule): Likewise.
7470 * selftest-run-tests.cc (selftest::run_tests): Likewise.
7471 * selftest.h (class auto_fix_quotes): Likewise.
7472 * shrink-wrap.cc (handle_simple_exit): Likewise.
7473 * shrink-wrap.h: Likewise.
7474 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
7475 (simplify_context::simplify_gen_vec_select): Likewise.
7476 * spellcheck-tree.h: Likewise.
7477 * spellcheck.h: Likewise.
7478 * statistics.h (struct function): Likewise.
7479 * stmt.cc (conditional_probability): Likewise.
7480 * stmt.h: Likewise.
7481 * stor-layout.h: Likewise.
7482 * streamer-hooks.h: Likewise.
7483 * stringpool.h: Likewise.
7484 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
7485 * target.def (HOOK_VECTOR_END): Likewise.
7486 (type.): Likewise.
7487 * target.h (union cumulative_args_t): Likewise.
7488 (by_pieces_ninsns): Likewise.
7489 (class predefined_function_abi): Likewise.
7490 * targhooks.cc (default_translate_mode_attribute): Likewise.
7491 * timevar.def: Likewise.
7492 * timevar.h (class timer): Likewise.
7493 * toplev.h (enable_rtl_dump_file): Likewise.
7494 * trans-mem.cc (collect_bb2reg): Likewise.
7495 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
7496 * tree-cfg.cc (remove_bb): Likewise.
7497 (verify_gimple_debug): Likewise.
7498 (remove_edge_and_dominated_blocks): Likewise.
7499 (push_fndecl): Likewise.
7500 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
7501 * tree-complex.cc (expand_complex_multiplication): Likewise.
7502 (expand_complex_div_straight): Likewise.
7503 * tree-core.h (enum tree_index): Likewise.
7504 (enum operand_equal_flag): Likewise.
7505 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
7506 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
7507 * tree-inline.cc (initialize_inlined_parameters): Likewise.
7508 * tree-inline.h (force_value_to_type): Likewise.
7509 * tree-nested.cc (get_chain_decl): Likewise.
7510 (walk_all_functions): Likewise.
7511 * tree-object-size.h: Likewise.
7512 * tree-outof-ssa.cc: Likewise.
7513 * tree-parloops.cc (create_parallel_loop): Likewise.
7514 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
7515 (dump_generic_node): Likewise.
7516 * tree-profile.cc (tree_profiling): Likewise.
7517 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
7518 * tree-ssa-address.cc: Likewise.
7519 * tree-ssa-alias.cc: Likewise.
7520 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
7521 (dump_alias_stats): Likewise.
7522 * tree-ssa-ccp.cc: Likewise.
7523 * tree-ssa-coalesce.h: Likewise.
7524 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
7525 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
7526 * tree-ssa-loop-unswitch.cc: Likewise.
7527 * tree-ssa-math-opts.cc: Likewise.
7528 * tree-ssa-operands.cc (class operands_scanner): Likewise.
7529 * tree-ssa-pre.cc: Likewise.
7530 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
7531 (debug_range_entry): Likewise.
7532 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
7533 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
7534 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
7535 (equal_mem_array_ref_p): Likewise.
7536 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
7537 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
7538 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
7539 * tree-ssa-ter.h: Likewise.
7540 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
7541 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
7542 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
7543 (write_ts_block_tree_pointers): Likewise.
7544 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
7545 (streamer_read_tree_bitfields): Likewise.
7546 (streamer_write_integer_cst): Likewise.
7547 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
7548 (vect_synth_mult_by_constant): Likewise.
7549 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
7550 * tree-vectorizer.cc: Likewise.
7551 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
7552 (vect_update_inits_of_drs): Likewise.
7553 (vect_get_mask_type_for_stmt): Likewise.
7554 (vect_rgroup_iv_might_wrap_p): Likewise.
7555 (cse_and_gimplify_to_preheader): Likewise.
7556 (vect_free_slp_tree): Likewise.
7557 (vect_pattern_recog): Likewise.
7558 (vect_stmt_dominates_stmt_p): Likewise.
7559 * tree.cc (initialize_tree_contains_struct): Likewise.
7560 (need_assembler_name_p): Likewise.
7561 (type_with_interoperable_signedness): Likewise.
7562 * tree.def (SWITCH_EXPR): Likewise.
7563 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
7564 (poly_int_tree_p): Likewise.
7565 (inlined_function_outer_scope_p): Likewise.
7566 (tree_code_for_canonical_type_merging): Likewise.
7567 * value-prof.cc: Likewise.
7568 * value-prof.h (get_nth_most_common_value): Likewise.
7569 (find_func_by_profile_id): Likewise.
7570 * value-range.cc (vrp_operand_equal_p): Likewise.
7571 * value-range.h: Likewise.
7572 * var-tracking.cc: Likewise.
7573 * varasm.cc (default_function_section): Likewise.
7574 (function_section_1): Likewise.
7575 (assemble_variable): Likewise.
7576 (handle_vtv_comdat_section): Likewise.
7577 * vec.h (struct vec_prefix): Likewise.
7578 * vmsdbgout.cc (full_name): Likewise.
7579 * vtable-verify.cc: Likewise.
7580 * vtable-verify.h (struct vtv_graph_node): Likewise.
7581 * xcoffout.cc: Likewise.
7582 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
7583
7584 2022-01-17 Martin Liska <mliska@suse.cz>
7585
7586 * adjust-alignment.c: Moved to...
7587 * adjust-alignment.cc: ...here.
7588 * alias.c: Moved to...
7589 * alias.cc: ...here.
7590 * alloc-pool.c: Moved to...
7591 * alloc-pool.cc: ...here.
7592 * asan.c: Moved to...
7593 * asan.cc: ...here.
7594 * attribs.c: Moved to...
7595 * attribs.cc: ...here.
7596 * auto-inc-dec.c: Moved to...
7597 * auto-inc-dec.cc: ...here.
7598 * auto-profile.c: Moved to...
7599 * auto-profile.cc: ...here.
7600 * bb-reorder.c: Moved to...
7601 * bb-reorder.cc: ...here.
7602 * bitmap.c: Moved to...
7603 * bitmap.cc: ...here.
7604 * btfout.c: Moved to...
7605 * btfout.cc: ...here.
7606 * builtins.c: Moved to...
7607 * builtins.cc: ...here.
7608 * caller-save.c: Moved to...
7609 * caller-save.cc: ...here.
7610 * calls.c: Moved to...
7611 * calls.cc: ...here.
7612 * ccmp.c: Moved to...
7613 * ccmp.cc: ...here.
7614 * cfg.c: Moved to...
7615 * cfg.cc: ...here.
7616 * cfganal.c: Moved to...
7617 * cfganal.cc: ...here.
7618 * cfgbuild.c: Moved to...
7619 * cfgbuild.cc: ...here.
7620 * cfgcleanup.c: Moved to...
7621 * cfgcleanup.cc: ...here.
7622 * cfgexpand.c: Moved to...
7623 * cfgexpand.cc: ...here.
7624 * cfghooks.c: Moved to...
7625 * cfghooks.cc: ...here.
7626 * cfgloop.c: Moved to...
7627 * cfgloop.cc: ...here.
7628 * cfgloopanal.c: Moved to...
7629 * cfgloopanal.cc: ...here.
7630 * cfgloopmanip.c: Moved to...
7631 * cfgloopmanip.cc: ...here.
7632 * cfgrtl.c: Moved to...
7633 * cfgrtl.cc: ...here.
7634 * cgraph.c: Moved to...
7635 * cgraph.cc: ...here.
7636 * cgraphbuild.c: Moved to...
7637 * cgraphbuild.cc: ...here.
7638 * cgraphclones.c: Moved to...
7639 * cgraphclones.cc: ...here.
7640 * cgraphunit.c: Moved to...
7641 * cgraphunit.cc: ...here.
7642 * collect-utils.c: Moved to...
7643 * collect-utils.cc: ...here.
7644 * collect2-aix.c: Moved to...
7645 * collect2-aix.cc: ...here.
7646 * collect2.c: Moved to...
7647 * collect2.cc: ...here.
7648 * combine-stack-adj.c: Moved to...
7649 * combine-stack-adj.cc: ...here.
7650 * combine.c: Moved to...
7651 * combine.cc: ...here.
7652 * common/common-targhooks.c: Moved to...
7653 * common/common-targhooks.cc: ...here.
7654 * common/config/aarch64/aarch64-common.c: Moved to...
7655 * common/config/aarch64/aarch64-common.cc: ...here.
7656 * common/config/alpha/alpha-common.c: Moved to...
7657 * common/config/alpha/alpha-common.cc: ...here.
7658 * common/config/arc/arc-common.c: Moved to...
7659 * common/config/arc/arc-common.cc: ...here.
7660 * common/config/arm/arm-common.c: Moved to...
7661 * common/config/arm/arm-common.cc: ...here.
7662 * common/config/avr/avr-common.c: Moved to...
7663 * common/config/avr/avr-common.cc: ...here.
7664 * common/config/bfin/bfin-common.c: Moved to...
7665 * common/config/bfin/bfin-common.cc: ...here.
7666 * common/config/bpf/bpf-common.c: Moved to...
7667 * common/config/bpf/bpf-common.cc: ...here.
7668 * common/config/c6x/c6x-common.c: Moved to...
7669 * common/config/c6x/c6x-common.cc: ...here.
7670 * common/config/cr16/cr16-common.c: Moved to...
7671 * common/config/cr16/cr16-common.cc: ...here.
7672 * common/config/cris/cris-common.c: Moved to...
7673 * common/config/cris/cris-common.cc: ...here.
7674 * common/config/csky/csky-common.c: Moved to...
7675 * common/config/csky/csky-common.cc: ...here.
7676 * common/config/default-common.c: Moved to...
7677 * common/config/default-common.cc: ...here.
7678 * common/config/epiphany/epiphany-common.c: Moved to...
7679 * common/config/epiphany/epiphany-common.cc: ...here.
7680 * common/config/fr30/fr30-common.c: Moved to...
7681 * common/config/fr30/fr30-common.cc: ...here.
7682 * common/config/frv/frv-common.c: Moved to...
7683 * common/config/frv/frv-common.cc: ...here.
7684 * common/config/gcn/gcn-common.c: Moved to...
7685 * common/config/gcn/gcn-common.cc: ...here.
7686 * common/config/h8300/h8300-common.c: Moved to...
7687 * common/config/h8300/h8300-common.cc: ...here.
7688 * common/config/i386/i386-common.c: Moved to...
7689 * common/config/i386/i386-common.cc: ...here.
7690 * common/config/ia64/ia64-common.c: Moved to...
7691 * common/config/ia64/ia64-common.cc: ...here.
7692 * common/config/iq2000/iq2000-common.c: Moved to...
7693 * common/config/iq2000/iq2000-common.cc: ...here.
7694 * common/config/lm32/lm32-common.c: Moved to...
7695 * common/config/lm32/lm32-common.cc: ...here.
7696 * common/config/m32r/m32r-common.c: Moved to...
7697 * common/config/m32r/m32r-common.cc: ...here.
7698 * common/config/m68k/m68k-common.c: Moved to...
7699 * common/config/m68k/m68k-common.cc: ...here.
7700 * common/config/mcore/mcore-common.c: Moved to...
7701 * common/config/mcore/mcore-common.cc: ...here.
7702 * common/config/microblaze/microblaze-common.c: Moved to...
7703 * common/config/microblaze/microblaze-common.cc: ...here.
7704 * common/config/mips/mips-common.c: Moved to...
7705 * common/config/mips/mips-common.cc: ...here.
7706 * common/config/mmix/mmix-common.c: Moved to...
7707 * common/config/mmix/mmix-common.cc: ...here.
7708 * common/config/mn10300/mn10300-common.c: Moved to...
7709 * common/config/mn10300/mn10300-common.cc: ...here.
7710 * common/config/msp430/msp430-common.c: Moved to...
7711 * common/config/msp430/msp430-common.cc: ...here.
7712 * common/config/nds32/nds32-common.c: Moved to...
7713 * common/config/nds32/nds32-common.cc: ...here.
7714 * common/config/nios2/nios2-common.c: Moved to...
7715 * common/config/nios2/nios2-common.cc: ...here.
7716 * common/config/nvptx/nvptx-common.c: Moved to...
7717 * common/config/nvptx/nvptx-common.cc: ...here.
7718 * common/config/or1k/or1k-common.c: Moved to...
7719 * common/config/or1k/or1k-common.cc: ...here.
7720 * common/config/pa/pa-common.c: Moved to...
7721 * common/config/pa/pa-common.cc: ...here.
7722 * common/config/pdp11/pdp11-common.c: Moved to...
7723 * common/config/pdp11/pdp11-common.cc: ...here.
7724 * common/config/pru/pru-common.c: Moved to...
7725 * common/config/pru/pru-common.cc: ...here.
7726 * common/config/riscv/riscv-common.c: Moved to...
7727 * common/config/riscv/riscv-common.cc: ...here.
7728 * common/config/rs6000/rs6000-common.c: Moved to...
7729 * common/config/rs6000/rs6000-common.cc: ...here.
7730 * common/config/rx/rx-common.c: Moved to...
7731 * common/config/rx/rx-common.cc: ...here.
7732 * common/config/s390/s390-common.c: Moved to...
7733 * common/config/s390/s390-common.cc: ...here.
7734 * common/config/sh/sh-common.c: Moved to...
7735 * common/config/sh/sh-common.cc: ...here.
7736 * common/config/sparc/sparc-common.c: Moved to...
7737 * common/config/sparc/sparc-common.cc: ...here.
7738 * common/config/tilegx/tilegx-common.c: Moved to...
7739 * common/config/tilegx/tilegx-common.cc: ...here.
7740 * common/config/tilepro/tilepro-common.c: Moved to...
7741 * common/config/tilepro/tilepro-common.cc: ...here.
7742 * common/config/v850/v850-common.c: Moved to...
7743 * common/config/v850/v850-common.cc: ...here.
7744 * common/config/vax/vax-common.c: Moved to...
7745 * common/config/vax/vax-common.cc: ...here.
7746 * common/config/visium/visium-common.c: Moved to...
7747 * common/config/visium/visium-common.cc: ...here.
7748 * common/config/xstormy16/xstormy16-common.c: Moved to...
7749 * common/config/xstormy16/xstormy16-common.cc: ...here.
7750 * common/config/xtensa/xtensa-common.c: Moved to...
7751 * common/config/xtensa/xtensa-common.cc: ...here.
7752 * compare-elim.c: Moved to...
7753 * compare-elim.cc: ...here.
7754 * config/aarch64/aarch64-bti-insert.c: Moved to...
7755 * config/aarch64/aarch64-bti-insert.cc: ...here.
7756 * config/aarch64/aarch64-builtins.c: Moved to...
7757 * config/aarch64/aarch64-builtins.cc: ...here.
7758 * config/aarch64/aarch64-c.c: Moved to...
7759 * config/aarch64/aarch64-c.cc: ...here.
7760 * config/aarch64/aarch64-d.c: Moved to...
7761 * config/aarch64/aarch64-d.cc: ...here.
7762 * config/aarch64/aarch64.c: Moved to...
7763 * config/aarch64/aarch64.cc: ...here.
7764 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
7765 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
7766 * config/aarch64/driver-aarch64.c: Moved to...
7767 * config/aarch64/driver-aarch64.cc: ...here.
7768 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
7769 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
7770 * config/aarch64/host-aarch64-darwin.c: Moved to...
7771 * config/aarch64/host-aarch64-darwin.cc: ...here.
7772 * config/alpha/alpha.c: Moved to...
7773 * config/alpha/alpha.cc: ...here.
7774 * config/alpha/driver-alpha.c: Moved to...
7775 * config/alpha/driver-alpha.cc: ...here.
7776 * config/arc/arc-c.c: Moved to...
7777 * config/arc/arc-c.cc: ...here.
7778 * config/arc/arc.c: Moved to...
7779 * config/arc/arc.cc: ...here.
7780 * config/arc/driver-arc.c: Moved to...
7781 * config/arc/driver-arc.cc: ...here.
7782 * config/arm/aarch-common.c: Moved to...
7783 * config/arm/aarch-common.cc: ...here.
7784 * config/arm/arm-builtins.c: Moved to...
7785 * config/arm/arm-builtins.cc: ...here.
7786 * config/arm/arm-c.c: Moved to...
7787 * config/arm/arm-c.cc: ...here.
7788 * config/arm/arm-d.c: Moved to...
7789 * config/arm/arm-d.cc: ...here.
7790 * config/arm/arm.c: Moved to...
7791 * config/arm/arm.cc: ...here.
7792 * config/arm/driver-arm.c: Moved to...
7793 * config/arm/driver-arm.cc: ...here.
7794 * config/avr/avr-c.c: Moved to...
7795 * config/avr/avr-c.cc: ...here.
7796 * config/avr/avr-devices.c: Moved to...
7797 * config/avr/avr-devices.cc: ...here.
7798 * config/avr/avr-log.c: Moved to...
7799 * config/avr/avr-log.cc: ...here.
7800 * config/avr/avr.c: Moved to...
7801 * config/avr/avr.cc: ...here.
7802 * config/avr/driver-avr.c: Moved to...
7803 * config/avr/driver-avr.cc: ...here.
7804 * config/avr/gen-avr-mmcu-specs.c: Moved to...
7805 * config/avr/gen-avr-mmcu-specs.cc: ...here.
7806 * config/avr/gen-avr-mmcu-texi.c: Moved to...
7807 * config/avr/gen-avr-mmcu-texi.cc: ...here.
7808 * config/bfin/bfin.c: Moved to...
7809 * config/bfin/bfin.cc: ...here.
7810 * config/bpf/bpf.c: Moved to...
7811 * config/bpf/bpf.cc: ...here.
7812 * config/bpf/coreout.c: Moved to...
7813 * config/bpf/coreout.cc: ...here.
7814 * config/c6x/c6x.c: Moved to...
7815 * config/c6x/c6x.cc: ...here.
7816 * config/cr16/cr16.c: Moved to...
7817 * config/cr16/cr16.cc: ...here.
7818 * config/cris/cris.c: Moved to...
7819 * config/cris/cris.cc: ...here.
7820 * config/csky/csky.c: Moved to...
7821 * config/csky/csky.cc: ...here.
7822 * config/darwin-c.c: Moved to...
7823 * config/darwin-c.cc: ...here.
7824 * config/darwin-d.c: Moved to...
7825 * config/darwin-d.cc: ...here.
7826 * config/darwin-driver.c: Moved to...
7827 * config/darwin-driver.cc: ...here.
7828 * config/darwin-f.c: Moved to...
7829 * config/darwin-f.cc: ...here.
7830 * config/darwin.c: Moved to...
7831 * config/darwin.cc: ...here.
7832 * config/default-c.c: Moved to...
7833 * config/default-c.cc: ...here.
7834 * config/default-d.c: Moved to...
7835 * config/default-d.cc: ...here.
7836 * config/dragonfly-d.c: Moved to...
7837 * config/dragonfly-d.cc: ...here.
7838 * config/epiphany/epiphany.c: Moved to...
7839 * config/epiphany/epiphany.cc: ...here.
7840 * config/epiphany/mode-switch-use.c: Moved to...
7841 * config/epiphany/mode-switch-use.cc: ...here.
7842 * config/epiphany/resolve-sw-modes.c: Moved to...
7843 * config/epiphany/resolve-sw-modes.cc: ...here.
7844 * config/fr30/fr30.c: Moved to...
7845 * config/fr30/fr30.cc: ...here.
7846 * config/freebsd-d.c: Moved to...
7847 * config/freebsd-d.cc: ...here.
7848 * config/frv/frv.c: Moved to...
7849 * config/frv/frv.cc: ...here.
7850 * config/ft32/ft32.c: Moved to...
7851 * config/ft32/ft32.cc: ...here.
7852 * config/gcn/driver-gcn.c: Moved to...
7853 * config/gcn/driver-gcn.cc: ...here.
7854 * config/gcn/gcn-run.c: Moved to...
7855 * config/gcn/gcn-run.cc: ...here.
7856 * config/gcn/gcn-tree.c: Moved to...
7857 * config/gcn/gcn-tree.cc: ...here.
7858 * config/gcn/gcn.c: Moved to...
7859 * config/gcn/gcn.cc: ...here.
7860 * config/gcn/mkoffload.c: Moved to...
7861 * config/gcn/mkoffload.cc: ...here.
7862 * config/glibc-c.c: Moved to...
7863 * config/glibc-c.cc: ...here.
7864 * config/glibc-d.c: Moved to...
7865 * config/glibc-d.cc: ...here.
7866 * config/h8300/h8300.c: Moved to...
7867 * config/h8300/h8300.cc: ...here.
7868 * config/host-darwin.c: Moved to...
7869 * config/host-darwin.cc: ...here.
7870 * config/host-hpux.c: Moved to...
7871 * config/host-hpux.cc: ...here.
7872 * config/host-linux.c: Moved to...
7873 * config/host-linux.cc: ...here.
7874 * config/host-netbsd.c: Moved to...
7875 * config/host-netbsd.cc: ...here.
7876 * config/host-openbsd.c: Moved to...
7877 * config/host-openbsd.cc: ...here.
7878 * config/host-solaris.c: Moved to...
7879 * config/host-solaris.cc: ...here.
7880 * config/i386/djgpp.c: Moved to...
7881 * config/i386/djgpp.cc: ...here.
7882 * config/i386/driver-i386.c: Moved to...
7883 * config/i386/driver-i386.cc: ...here.
7884 * config/i386/driver-mingw32.c: Moved to...
7885 * config/i386/driver-mingw32.cc: ...here.
7886 * config/i386/gnu-property.c: Moved to...
7887 * config/i386/gnu-property.cc: ...here.
7888 * config/i386/host-cygwin.c: Moved to...
7889 * config/i386/host-cygwin.cc: ...here.
7890 * config/i386/host-i386-darwin.c: Moved to...
7891 * config/i386/host-i386-darwin.cc: ...here.
7892 * config/i386/host-mingw32.c: Moved to...
7893 * config/i386/host-mingw32.cc: ...here.
7894 * config/i386/i386-builtins.c: Moved to...
7895 * config/i386/i386-builtins.cc: ...here.
7896 * config/i386/i386-c.c: Moved to...
7897 * config/i386/i386-c.cc: ...here.
7898 * config/i386/i386-d.c: Moved to...
7899 * config/i386/i386-d.cc: ...here.
7900 * config/i386/i386-expand.c: Moved to...
7901 * config/i386/i386-expand.cc: ...here.
7902 * config/i386/i386-features.c: Moved to...
7903 * config/i386/i386-features.cc: ...here.
7904 * config/i386/i386-options.c: Moved to...
7905 * config/i386/i386-options.cc: ...here.
7906 * config/i386/i386.c: Moved to...
7907 * config/i386/i386.cc: ...here.
7908 * config/i386/intelmic-mkoffload.c: Moved to...
7909 * config/i386/intelmic-mkoffload.cc: ...here.
7910 * config/i386/msformat-c.c: Moved to...
7911 * config/i386/msformat-c.cc: ...here.
7912 * config/i386/winnt-cxx.c: Moved to...
7913 * config/i386/winnt-cxx.cc: ...here.
7914 * config/i386/winnt-d.c: Moved to...
7915 * config/i386/winnt-d.cc: ...here.
7916 * config/i386/winnt-stubs.c: Moved to...
7917 * config/i386/winnt-stubs.cc: ...here.
7918 * config/i386/winnt.c: Moved to...
7919 * config/i386/winnt.cc: ...here.
7920 * config/i386/x86-tune-sched-atom.c: Moved to...
7921 * config/i386/x86-tune-sched-atom.cc: ...here.
7922 * config/i386/x86-tune-sched-bd.c: Moved to...
7923 * config/i386/x86-tune-sched-bd.cc: ...here.
7924 * config/i386/x86-tune-sched-core.c: Moved to...
7925 * config/i386/x86-tune-sched-core.cc: ...here.
7926 * config/i386/x86-tune-sched.c: Moved to...
7927 * config/i386/x86-tune-sched.cc: ...here.
7928 * config/ia64/ia64-c.c: Moved to...
7929 * config/ia64/ia64-c.cc: ...here.
7930 * config/ia64/ia64.c: Moved to...
7931 * config/ia64/ia64.cc: ...here.
7932 * config/iq2000/iq2000.c: Moved to...
7933 * config/iq2000/iq2000.cc: ...here.
7934 * config/linux.c: Moved to...
7935 * config/linux.cc: ...here.
7936 * config/lm32/lm32.c: Moved to...
7937 * config/lm32/lm32.cc: ...here.
7938 * config/m32c/m32c-pragma.c: Moved to...
7939 * config/m32c/m32c-pragma.cc: ...here.
7940 * config/m32c/m32c.c: Moved to...
7941 * config/m32c/m32c.cc: ...here.
7942 * config/m32r/m32r.c: Moved to...
7943 * config/m32r/m32r.cc: ...here.
7944 * config/m68k/m68k.c: Moved to...
7945 * config/m68k/m68k.cc: ...here.
7946 * config/mcore/mcore.c: Moved to...
7947 * config/mcore/mcore.cc: ...here.
7948 * config/microblaze/microblaze-c.c: Moved to...
7949 * config/microblaze/microblaze-c.cc: ...here.
7950 * config/microblaze/microblaze.c: Moved to...
7951 * config/microblaze/microblaze.cc: ...here.
7952 * config/mips/driver-native.c: Moved to...
7953 * config/mips/driver-native.cc: ...here.
7954 * config/mips/frame-header-opt.c: Moved to...
7955 * config/mips/frame-header-opt.cc: ...here.
7956 * config/mips/mips-d.c: Moved to...
7957 * config/mips/mips-d.cc: ...here.
7958 * config/mips/mips.c: Moved to...
7959 * config/mips/mips.cc: ...here.
7960 * config/mmix/mmix.c: Moved to...
7961 * config/mmix/mmix.cc: ...here.
7962 * config/mn10300/mn10300.c: Moved to...
7963 * config/mn10300/mn10300.cc: ...here.
7964 * config/moxie/moxie.c: Moved to...
7965 * config/moxie/moxie.cc: ...here.
7966 * config/msp430/driver-msp430.c: Moved to...
7967 * config/msp430/driver-msp430.cc: ...here.
7968 * config/msp430/msp430-c.c: Moved to...
7969 * config/msp430/msp430-c.cc: ...here.
7970 * config/msp430/msp430-devices.c: Moved to...
7971 * config/msp430/msp430-devices.cc: ...here.
7972 * config/msp430/msp430.c: Moved to...
7973 * config/msp430/msp430.cc: ...here.
7974 * config/nds32/nds32-cost.c: Moved to...
7975 * config/nds32/nds32-cost.cc: ...here.
7976 * config/nds32/nds32-fp-as-gp.c: Moved to...
7977 * config/nds32/nds32-fp-as-gp.cc: ...here.
7978 * config/nds32/nds32-intrinsic.c: Moved to...
7979 * config/nds32/nds32-intrinsic.cc: ...here.
7980 * config/nds32/nds32-isr.c: Moved to...
7981 * config/nds32/nds32-isr.cc: ...here.
7982 * config/nds32/nds32-md-auxiliary.c: Moved to...
7983 * config/nds32/nds32-md-auxiliary.cc: ...here.
7984 * config/nds32/nds32-memory-manipulation.c: Moved to...
7985 * config/nds32/nds32-memory-manipulation.cc: ...here.
7986 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
7987 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
7988 * config/nds32/nds32-predicates.c: Moved to...
7989 * config/nds32/nds32-predicates.cc: ...here.
7990 * config/nds32/nds32-relax-opt.c: Moved to...
7991 * config/nds32/nds32-relax-opt.cc: ...here.
7992 * config/nds32/nds32-utils.c: Moved to...
7993 * config/nds32/nds32-utils.cc: ...here.
7994 * config/nds32/nds32.c: Moved to...
7995 * config/nds32/nds32.cc: ...here.
7996 * config/netbsd-d.c: Moved to...
7997 * config/netbsd-d.cc: ...here.
7998 * config/netbsd.c: Moved to...
7999 * config/netbsd.cc: ...here.
8000 * config/nios2/nios2.c: Moved to...
8001 * config/nios2/nios2.cc: ...here.
8002 * config/nvptx/mkoffload.c: Moved to...
8003 * config/nvptx/mkoffload.cc: ...here.
8004 * config/nvptx/nvptx-c.c: Moved to...
8005 * config/nvptx/nvptx-c.cc: ...here.
8006 * config/nvptx/nvptx.c: Moved to...
8007 * config/nvptx/nvptx.cc: ...here.
8008 * config/openbsd-d.c: Moved to...
8009 * config/openbsd-d.cc: ...here.
8010 * config/or1k/or1k.c: Moved to...
8011 * config/or1k/or1k.cc: ...here.
8012 * config/pa/pa-d.c: Moved to...
8013 * config/pa/pa-d.cc: ...here.
8014 * config/pa/pa.c: Moved to...
8015 * config/pa/pa.cc: ...here.
8016 * config/pdp11/pdp11.c: Moved to...
8017 * config/pdp11/pdp11.cc: ...here.
8018 * config/pru/pru-passes.c: Moved to...
8019 * config/pru/pru-passes.cc: ...here.
8020 * config/pru/pru-pragma.c: Moved to...
8021 * config/pru/pru-pragma.cc: ...here.
8022 * config/pru/pru.c: Moved to...
8023 * config/pru/pru.cc: ...here.
8024 * config/riscv/riscv-builtins.c: Moved to...
8025 * config/riscv/riscv-builtins.cc: ...here.
8026 * config/riscv/riscv-c.c: Moved to...
8027 * config/riscv/riscv-c.cc: ...here.
8028 * config/riscv/riscv-d.c: Moved to...
8029 * config/riscv/riscv-d.cc: ...here.
8030 * config/riscv/riscv-shorten-memrefs.c: Moved to...
8031 * config/riscv/riscv-shorten-memrefs.cc: ...here.
8032 * config/riscv/riscv-sr.c: Moved to...
8033 * config/riscv/riscv-sr.cc: ...here.
8034 * config/riscv/riscv.c: Moved to...
8035 * config/riscv/riscv.cc: ...here.
8036 * config/rl78/rl78-c.c: Moved to...
8037 * config/rl78/rl78-c.cc: ...here.
8038 * config/rl78/rl78.c: Moved to...
8039 * config/rl78/rl78.cc: ...here.
8040 * config/rs6000/driver-rs6000.c: Moved to...
8041 * config/rs6000/driver-rs6000.cc: ...here.
8042 * config/rs6000/host-darwin.c: Moved to...
8043 * config/rs6000/host-darwin.cc: ...here.
8044 * config/rs6000/host-ppc64-darwin.c: Moved to...
8045 * config/rs6000/host-ppc64-darwin.cc: ...here.
8046 * config/rs6000/rbtree.c: Moved to...
8047 * config/rs6000/rbtree.cc: ...here.
8048 * config/rs6000/rs6000-c.c: Moved to...
8049 * config/rs6000/rs6000-c.cc: ...here.
8050 * config/rs6000/rs6000-call.c: Moved to...
8051 * config/rs6000/rs6000-call.cc: ...here.
8052 * config/rs6000/rs6000-d.c: Moved to...
8053 * config/rs6000/rs6000-d.cc: ...here.
8054 * config/rs6000/rs6000-gen-builtins.c: Moved to...
8055 * config/rs6000/rs6000-gen-builtins.cc: ...here.
8056 * config/rs6000/rs6000-linux.c: Moved to...
8057 * config/rs6000/rs6000-linux.cc: ...here.
8058 * config/rs6000/rs6000-logue.c: Moved to...
8059 * config/rs6000/rs6000-logue.cc: ...here.
8060 * config/rs6000/rs6000-p8swap.c: Moved to...
8061 * config/rs6000/rs6000-p8swap.cc: ...here.
8062 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
8063 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
8064 * config/rs6000/rs6000-string.c: Moved to...
8065 * config/rs6000/rs6000-string.cc: ...here.
8066 * config/rs6000/rs6000.c: Moved to...
8067 * config/rs6000/rs6000.cc: ...here.
8068 * config/rx/rx.c: Moved to...
8069 * config/rx/rx.cc: ...here.
8070 * config/s390/driver-native.c: Moved to...
8071 * config/s390/driver-native.cc: ...here.
8072 * config/s390/s390-c.c: Moved to...
8073 * config/s390/s390-c.cc: ...here.
8074 * config/s390/s390-d.c: Moved to...
8075 * config/s390/s390-d.cc: ...here.
8076 * config/s390/s390.c: Moved to...
8077 * config/s390/s390.cc: ...here.
8078 * config/sh/divtab-sh4-300.c: Moved to...
8079 * config/sh/divtab-sh4-300.cc: ...here.
8080 * config/sh/divtab-sh4.c: Moved to...
8081 * config/sh/divtab-sh4.cc: ...here.
8082 * config/sh/divtab.c: Moved to...
8083 * config/sh/divtab.cc: ...here.
8084 * config/sh/sh-c.c: Moved to...
8085 * config/sh/sh-c.cc: ...here.
8086 * config/sh/sh.c: Moved to...
8087 * config/sh/sh.cc: ...here.
8088 * config/sol2-c.c: Moved to...
8089 * config/sol2-c.cc: ...here.
8090 * config/sol2-cxx.c: Moved to...
8091 * config/sol2-cxx.cc: ...here.
8092 * config/sol2-d.c: Moved to...
8093 * config/sol2-d.cc: ...here.
8094 * config/sol2-stubs.c: Moved to...
8095 * config/sol2-stubs.cc: ...here.
8096 * config/sol2.c: Moved to...
8097 * config/sol2.cc: ...here.
8098 * config/sparc/driver-sparc.c: Moved to...
8099 * config/sparc/driver-sparc.cc: ...here.
8100 * config/sparc/sparc-c.c: Moved to...
8101 * config/sparc/sparc-c.cc: ...here.
8102 * config/sparc/sparc-d.c: Moved to...
8103 * config/sparc/sparc-d.cc: ...here.
8104 * config/sparc/sparc.c: Moved to...
8105 * config/sparc/sparc.cc: ...here.
8106 * config/stormy16/stormy16.c: Moved to...
8107 * config/stormy16/stormy16.cc: ...here.
8108 * config/tilegx/mul-tables.c: Moved to...
8109 * config/tilegx/mul-tables.cc: ...here.
8110 * config/tilegx/tilegx-c.c: Moved to...
8111 * config/tilegx/tilegx-c.cc: ...here.
8112 * config/tilegx/tilegx.c: Moved to...
8113 * config/tilegx/tilegx.cc: ...here.
8114 * config/tilepro/mul-tables.c: Moved to...
8115 * config/tilepro/mul-tables.cc: ...here.
8116 * config/tilepro/tilepro-c.c: Moved to...
8117 * config/tilepro/tilepro-c.cc: ...here.
8118 * config/tilepro/tilepro.c: Moved to...
8119 * config/tilepro/tilepro.cc: ...here.
8120 * config/v850/v850-c.c: Moved to...
8121 * config/v850/v850-c.cc: ...here.
8122 * config/v850/v850.c: Moved to...
8123 * config/v850/v850.cc: ...here.
8124 * config/vax/vax.c: Moved to...
8125 * config/vax/vax.cc: ...here.
8126 * config/visium/visium.c: Moved to...
8127 * config/visium/visium.cc: ...here.
8128 * config/vms/vms-c.c: Moved to...
8129 * config/vms/vms-c.cc: ...here.
8130 * config/vms/vms-f.c: Moved to...
8131 * config/vms/vms-f.cc: ...here.
8132 * config/vms/vms.c: Moved to...
8133 * config/vms/vms.cc: ...here.
8134 * config/vxworks-c.c: Moved to...
8135 * config/vxworks-c.cc: ...here.
8136 * config/vxworks.c: Moved to...
8137 * config/vxworks.cc: ...here.
8138 * config/winnt-c.c: Moved to...
8139 * config/winnt-c.cc: ...here.
8140 * config/xtensa/xtensa.c: Moved to...
8141 * config/xtensa/xtensa.cc: ...here.
8142 * context.c: Moved to...
8143 * context.cc: ...here.
8144 * convert.c: Moved to...
8145 * convert.cc: ...here.
8146 * coverage.c: Moved to...
8147 * coverage.cc: ...here.
8148 * cppbuiltin.c: Moved to...
8149 * cppbuiltin.cc: ...here.
8150 * cppdefault.c: Moved to...
8151 * cppdefault.cc: ...here.
8152 * cprop.c: Moved to...
8153 * cprop.cc: ...here.
8154 * cse.c: Moved to...
8155 * cse.cc: ...here.
8156 * cselib.c: Moved to...
8157 * cselib.cc: ...here.
8158 * ctfc.c: Moved to...
8159 * ctfc.cc: ...here.
8160 * ctfout.c: Moved to...
8161 * ctfout.cc: ...here.
8162 * data-streamer-in.c: Moved to...
8163 * data-streamer-in.cc: ...here.
8164 * data-streamer-out.c: Moved to...
8165 * data-streamer-out.cc: ...here.
8166 * data-streamer.c: Moved to...
8167 * data-streamer.cc: ...here.
8168 * dbgcnt.c: Moved to...
8169 * dbgcnt.cc: ...here.
8170 * dbxout.c: Moved to...
8171 * dbxout.cc: ...here.
8172 * dce.c: Moved to...
8173 * dce.cc: ...here.
8174 * ddg.c: Moved to...
8175 * ddg.cc: ...here.
8176 * debug.c: Moved to...
8177 * debug.cc: ...here.
8178 * df-core.c: Moved to...
8179 * df-core.cc: ...here.
8180 * df-problems.c: Moved to...
8181 * df-problems.cc: ...here.
8182 * df-scan.c: Moved to...
8183 * df-scan.cc: ...here.
8184 * dfp.c: Moved to...
8185 * dfp.cc: ...here.
8186 * diagnostic-color.c: Moved to...
8187 * diagnostic-color.cc: ...here.
8188 * diagnostic-show-locus.c: Moved to...
8189 * diagnostic-show-locus.cc: ...here.
8190 * diagnostic-spec.c: Moved to...
8191 * diagnostic-spec.cc: ...here.
8192 * diagnostic.c: Moved to...
8193 * diagnostic.cc: ...here.
8194 * dojump.c: Moved to...
8195 * dojump.cc: ...here.
8196 * dominance.c: Moved to...
8197 * dominance.cc: ...here.
8198 * domwalk.c: Moved to...
8199 * domwalk.cc: ...here.
8200 * double-int.c: Moved to...
8201 * double-int.cc: ...here.
8202 * dse.c: Moved to...
8203 * dse.cc: ...here.
8204 * dumpfile.c: Moved to...
8205 * dumpfile.cc: ...here.
8206 * dwarf2asm.c: Moved to...
8207 * dwarf2asm.cc: ...here.
8208 * dwarf2cfi.c: Moved to...
8209 * dwarf2cfi.cc: ...here.
8210 * dwarf2ctf.c: Moved to...
8211 * dwarf2ctf.cc: ...here.
8212 * dwarf2out.c: Moved to...
8213 * dwarf2out.cc: ...here.
8214 * early-remat.c: Moved to...
8215 * early-remat.cc: ...here.
8216 * edit-context.c: Moved to...
8217 * edit-context.cc: ...here.
8218 * emit-rtl.c: Moved to...
8219 * emit-rtl.cc: ...here.
8220 * errors.c: Moved to...
8221 * errors.cc: ...here.
8222 * et-forest.c: Moved to...
8223 * et-forest.cc: ...here.
8224 * except.c: Moved to...
8225 * except.cc: ...here.
8226 * explow.c: Moved to...
8227 * explow.cc: ...here.
8228 * expmed.c: Moved to...
8229 * expmed.cc: ...here.
8230 * expr.c: Moved to...
8231 * expr.cc: ...here.
8232 * fibonacci_heap.c: Moved to...
8233 * fibonacci_heap.cc: ...here.
8234 * file-find.c: Moved to...
8235 * file-find.cc: ...here.
8236 * file-prefix-map.c: Moved to...
8237 * file-prefix-map.cc: ...here.
8238 * final.c: Moved to...
8239 * final.cc: ...here.
8240 * fixed-value.c: Moved to...
8241 * fixed-value.cc: ...here.
8242 * fold-const-call.c: Moved to...
8243 * fold-const-call.cc: ...here.
8244 * fold-const.c: Moved to...
8245 * fold-const.cc: ...here.
8246 * fp-test.c: Moved to...
8247 * fp-test.cc: ...here.
8248 * function-tests.c: Moved to...
8249 * function-tests.cc: ...here.
8250 * function.c: Moved to...
8251 * function.cc: ...here.
8252 * fwprop.c: Moved to...
8253 * fwprop.cc: ...here.
8254 * gcc-ar.c: Moved to...
8255 * gcc-ar.cc: ...here.
8256 * gcc-main.c: Moved to...
8257 * gcc-main.cc: ...here.
8258 * gcc-rich-location.c: Moved to...
8259 * gcc-rich-location.cc: ...here.
8260 * gcc.c: Moved to...
8261 * gcc.cc: ...here.
8262 * gcov-dump.c: Moved to...
8263 * gcov-dump.cc: ...here.
8264 * gcov-io.c: Moved to...
8265 * gcov-io.cc: ...here.
8266 * gcov-tool.c: Moved to...
8267 * gcov-tool.cc: ...here.
8268 * gcov.c: Moved to...
8269 * gcov.cc: ...here.
8270 * gcse-common.c: Moved to...
8271 * gcse-common.cc: ...here.
8272 * gcse.c: Moved to...
8273 * gcse.cc: ...here.
8274 * genattr-common.c: Moved to...
8275 * genattr-common.cc: ...here.
8276 * genattr.c: Moved to...
8277 * genattr.cc: ...here.
8278 * genattrtab.c: Moved to...
8279 * genattrtab.cc: ...here.
8280 * genautomata.c: Moved to...
8281 * genautomata.cc: ...here.
8282 * gencfn-macros.c: Moved to...
8283 * gencfn-macros.cc: ...here.
8284 * gencheck.c: Moved to...
8285 * gencheck.cc: ...here.
8286 * genchecksum.c: Moved to...
8287 * genchecksum.cc: ...here.
8288 * gencodes.c: Moved to...
8289 * gencodes.cc: ...here.
8290 * genconditions.c: Moved to...
8291 * genconditions.cc: ...here.
8292 * genconfig.c: Moved to...
8293 * genconfig.cc: ...here.
8294 * genconstants.c: Moved to...
8295 * genconstants.cc: ...here.
8296 * genemit.c: Moved to...
8297 * genemit.cc: ...here.
8298 * genenums.c: Moved to...
8299 * genenums.cc: ...here.
8300 * generic-match-head.c: Moved to...
8301 * generic-match-head.cc: ...here.
8302 * genextract.c: Moved to...
8303 * genextract.cc: ...here.
8304 * genflags.c: Moved to...
8305 * genflags.cc: ...here.
8306 * gengenrtl.c: Moved to...
8307 * gengenrtl.cc: ...here.
8308 * gengtype-parse.c: Moved to...
8309 * gengtype-parse.cc: ...here.
8310 * gengtype-state.c: Moved to...
8311 * gengtype-state.cc: ...here.
8312 * gengtype.c: Moved to...
8313 * gengtype.cc: ...here.
8314 * genhooks.c: Moved to...
8315 * genhooks.cc: ...here.
8316 * genmatch.c: Moved to...
8317 * genmatch.cc: ...here.
8318 * genmddeps.c: Moved to...
8319 * genmddeps.cc: ...here.
8320 * genmddump.c: Moved to...
8321 * genmddump.cc: ...here.
8322 * genmodes.c: Moved to...
8323 * genmodes.cc: ...here.
8324 * genopinit.c: Moved to...
8325 * genopinit.cc: ...here.
8326 * genoutput.c: Moved to...
8327 * genoutput.cc: ...here.
8328 * genpeep.c: Moved to...
8329 * genpeep.cc: ...here.
8330 * genpreds.c: Moved to...
8331 * genpreds.cc: ...here.
8332 * genrecog.c: Moved to...
8333 * genrecog.cc: ...here.
8334 * gensupport.c: Moved to...
8335 * gensupport.cc: ...here.
8336 * gentarget-def.c: Moved to...
8337 * gentarget-def.cc: ...here.
8338 * genversion.c: Moved to...
8339 * genversion.cc: ...here.
8340 * ggc-common.c: Moved to...
8341 * ggc-common.cc: ...here.
8342 * ggc-none.c: Moved to...
8343 * ggc-none.cc: ...here.
8344 * ggc-page.c: Moved to...
8345 * ggc-page.cc: ...here.
8346 * ggc-tests.c: Moved to...
8347 * ggc-tests.cc: ...here.
8348 * gimple-builder.c: Moved to...
8349 * gimple-builder.cc: ...here.
8350 * gimple-expr.c: Moved to...
8351 * gimple-expr.cc: ...here.
8352 * gimple-fold.c: Moved to...
8353 * gimple-fold.cc: ...here.
8354 * gimple-iterator.c: Moved to...
8355 * gimple-iterator.cc: ...here.
8356 * gimple-laddress.c: Moved to...
8357 * gimple-laddress.cc: ...here.
8358 * gimple-loop-jam.c: Moved to...
8359 * gimple-loop-jam.cc: ...here.
8360 * gimple-low.c: Moved to...
8361 * gimple-low.cc: ...here.
8362 * gimple-match-head.c: Moved to...
8363 * gimple-match-head.cc: ...here.
8364 * gimple-pretty-print.c: Moved to...
8365 * gimple-pretty-print.cc: ...here.
8366 * gimple-ssa-backprop.c: Moved to...
8367 * gimple-ssa-backprop.cc: ...here.
8368 * gimple-ssa-evrp-analyze.c: Moved to...
8369 * gimple-ssa-evrp-analyze.cc: ...here.
8370 * gimple-ssa-evrp.c: Moved to...
8371 * gimple-ssa-evrp.cc: ...here.
8372 * gimple-ssa-isolate-paths.c: Moved to...
8373 * gimple-ssa-isolate-paths.cc: ...here.
8374 * gimple-ssa-nonnull-compare.c: Moved to...
8375 * gimple-ssa-nonnull-compare.cc: ...here.
8376 * gimple-ssa-split-paths.c: Moved to...
8377 * gimple-ssa-split-paths.cc: ...here.
8378 * gimple-ssa-sprintf.c: Moved to...
8379 * gimple-ssa-sprintf.cc: ...here.
8380 * gimple-ssa-store-merging.c: Moved to...
8381 * gimple-ssa-store-merging.cc: ...here.
8382 * gimple-ssa-strength-reduction.c: Moved to...
8383 * gimple-ssa-strength-reduction.cc: ...here.
8384 * gimple-ssa-warn-alloca.c: Moved to...
8385 * gimple-ssa-warn-alloca.cc: ...here.
8386 * gimple-ssa-warn-restrict.c: Moved to...
8387 * gimple-ssa-warn-restrict.cc: ...here.
8388 * gimple-streamer-in.c: Moved to...
8389 * gimple-streamer-in.cc: ...here.
8390 * gimple-streamer-out.c: Moved to...
8391 * gimple-streamer-out.cc: ...here.
8392 * gimple-walk.c: Moved to...
8393 * gimple-walk.cc: ...here.
8394 * gimple-warn-recursion.c: Moved to...
8395 * gimple-warn-recursion.cc: ...here.
8396 * gimple.c: Moved to...
8397 * gimple.cc: ...here.
8398 * gimplify-me.c: Moved to...
8399 * gimplify-me.cc: ...here.
8400 * gimplify.c: Moved to...
8401 * gimplify.cc: ...here.
8402 * godump.c: Moved to...
8403 * godump.cc: ...here.
8404 * graph.c: Moved to...
8405 * graph.cc: ...here.
8406 * graphds.c: Moved to...
8407 * graphds.cc: ...here.
8408 * graphite-dependences.c: Moved to...
8409 * graphite-dependences.cc: ...here.
8410 * graphite-isl-ast-to-gimple.c: Moved to...
8411 * graphite-isl-ast-to-gimple.cc: ...here.
8412 * graphite-optimize-isl.c: Moved to...
8413 * graphite-optimize-isl.cc: ...here.
8414 * graphite-poly.c: Moved to...
8415 * graphite-poly.cc: ...here.
8416 * graphite-scop-detection.c: Moved to...
8417 * graphite-scop-detection.cc: ...here.
8418 * graphite-sese-to-poly.c: Moved to...
8419 * graphite-sese-to-poly.cc: ...here.
8420 * graphite.c: Moved to...
8421 * graphite.cc: ...here.
8422 * haifa-sched.c: Moved to...
8423 * haifa-sched.cc: ...here.
8424 * hash-map-tests.c: Moved to...
8425 * hash-map-tests.cc: ...here.
8426 * hash-set-tests.c: Moved to...
8427 * hash-set-tests.cc: ...here.
8428 * hash-table.c: Moved to...
8429 * hash-table.cc: ...here.
8430 * hooks.c: Moved to...
8431 * hooks.cc: ...here.
8432 * host-default.c: Moved to...
8433 * host-default.cc: ...here.
8434 * hw-doloop.c: Moved to...
8435 * hw-doloop.cc: ...here.
8436 * hwint.c: Moved to...
8437 * hwint.cc: ...here.
8438 * ifcvt.c: Moved to...
8439 * ifcvt.cc: ...here.
8440 * inchash.c: Moved to...
8441 * inchash.cc: ...here.
8442 * incpath.c: Moved to...
8443 * incpath.cc: ...here.
8444 * init-regs.c: Moved to...
8445 * init-regs.cc: ...here.
8446 * input.c: Moved to...
8447 * input.cc: ...here.
8448 * internal-fn.c: Moved to...
8449 * internal-fn.cc: ...here.
8450 * intl.c: Moved to...
8451 * intl.cc: ...here.
8452 * ipa-comdats.c: Moved to...
8453 * ipa-comdats.cc: ...here.
8454 * ipa-cp.c: Moved to...
8455 * ipa-cp.cc: ...here.
8456 * ipa-devirt.c: Moved to...
8457 * ipa-devirt.cc: ...here.
8458 * ipa-fnsummary.c: Moved to...
8459 * ipa-fnsummary.cc: ...here.
8460 * ipa-icf-gimple.c: Moved to...
8461 * ipa-icf-gimple.cc: ...here.
8462 * ipa-icf.c: Moved to...
8463 * ipa-icf.cc: ...here.
8464 * ipa-inline-analysis.c: Moved to...
8465 * ipa-inline-analysis.cc: ...here.
8466 * ipa-inline-transform.c: Moved to...
8467 * ipa-inline-transform.cc: ...here.
8468 * ipa-inline.c: Moved to...
8469 * ipa-inline.cc: ...here.
8470 * ipa-modref-tree.c: Moved to...
8471 * ipa-modref-tree.cc: ...here.
8472 * ipa-modref.c: Moved to...
8473 * ipa-modref.cc: ...here.
8474 * ipa-param-manipulation.c: Moved to...
8475 * ipa-param-manipulation.cc: ...here.
8476 * ipa-polymorphic-call.c: Moved to...
8477 * ipa-polymorphic-call.cc: ...here.
8478 * ipa-predicate.c: Moved to...
8479 * ipa-predicate.cc: ...here.
8480 * ipa-profile.c: Moved to...
8481 * ipa-profile.cc: ...here.
8482 * ipa-prop.c: Moved to...
8483 * ipa-prop.cc: ...here.
8484 * ipa-pure-const.c: Moved to...
8485 * ipa-pure-const.cc: ...here.
8486 * ipa-ref.c: Moved to...
8487 * ipa-ref.cc: ...here.
8488 * ipa-reference.c: Moved to...
8489 * ipa-reference.cc: ...here.
8490 * ipa-split.c: Moved to...
8491 * ipa-split.cc: ...here.
8492 * ipa-sra.c: Moved to...
8493 * ipa-sra.cc: ...here.
8494 * ipa-utils.c: Moved to...
8495 * ipa-utils.cc: ...here.
8496 * ipa-visibility.c: Moved to...
8497 * ipa-visibility.cc: ...here.
8498 * ipa.c: Moved to...
8499 * ipa.cc: ...here.
8500 * ira-build.c: Moved to...
8501 * ira-build.cc: ...here.
8502 * ira-color.c: Moved to...
8503 * ira-color.cc: ...here.
8504 * ira-conflicts.c: Moved to...
8505 * ira-conflicts.cc: ...here.
8506 * ira-costs.c: Moved to...
8507 * ira-costs.cc: ...here.
8508 * ira-emit.c: Moved to...
8509 * ira-emit.cc: ...here.
8510 * ira-lives.c: Moved to...
8511 * ira-lives.cc: ...here.
8512 * ira.c: Moved to...
8513 * ira.cc: ...here.
8514 * jump.c: Moved to...
8515 * jump.cc: ...here.
8516 * langhooks.c: Moved to...
8517 * langhooks.cc: ...here.
8518 * lcm.c: Moved to...
8519 * lcm.cc: ...here.
8520 * lists.c: Moved to...
8521 * lists.cc: ...here.
8522 * loop-doloop.c: Moved to...
8523 * loop-doloop.cc: ...here.
8524 * loop-init.c: Moved to...
8525 * loop-init.cc: ...here.
8526 * loop-invariant.c: Moved to...
8527 * loop-invariant.cc: ...here.
8528 * loop-iv.c: Moved to...
8529 * loop-iv.cc: ...here.
8530 * loop-unroll.c: Moved to...
8531 * loop-unroll.cc: ...here.
8532 * lower-subreg.c: Moved to...
8533 * lower-subreg.cc: ...here.
8534 * lra-assigns.c: Moved to...
8535 * lra-assigns.cc: ...here.
8536 * lra-coalesce.c: Moved to...
8537 * lra-coalesce.cc: ...here.
8538 * lra-constraints.c: Moved to...
8539 * lra-constraints.cc: ...here.
8540 * lra-eliminations.c: Moved to...
8541 * lra-eliminations.cc: ...here.
8542 * lra-lives.c: Moved to...
8543 * lra-lives.cc: ...here.
8544 * lra-remat.c: Moved to...
8545 * lra-remat.cc: ...here.
8546 * lra-spills.c: Moved to...
8547 * lra-spills.cc: ...here.
8548 * lra.c: Moved to...
8549 * lra.cc: ...here.
8550 * lto-cgraph.c: Moved to...
8551 * lto-cgraph.cc: ...here.
8552 * lto-compress.c: Moved to...
8553 * lto-compress.cc: ...here.
8554 * lto-opts.c: Moved to...
8555 * lto-opts.cc: ...here.
8556 * lto-section-in.c: Moved to...
8557 * lto-section-in.cc: ...here.
8558 * lto-section-out.c: Moved to...
8559 * lto-section-out.cc: ...here.
8560 * lto-streamer-in.c: Moved to...
8561 * lto-streamer-in.cc: ...here.
8562 * lto-streamer-out.c: Moved to...
8563 * lto-streamer-out.cc: ...here.
8564 * lto-streamer.c: Moved to...
8565 * lto-streamer.cc: ...here.
8566 * lto-wrapper.c: Moved to...
8567 * lto-wrapper.cc: ...here.
8568 * main.c: Moved to...
8569 * main.cc: ...here.
8570 * mcf.c: Moved to...
8571 * mcf.cc: ...here.
8572 * mode-switching.c: Moved to...
8573 * mode-switching.cc: ...here.
8574 * modulo-sched.c: Moved to...
8575 * modulo-sched.cc: ...here.
8576 * multiple_target.c: Moved to...
8577 * multiple_target.cc: ...here.
8578 * omp-expand.c: Moved to...
8579 * omp-expand.cc: ...here.
8580 * omp-general.c: Moved to...
8581 * omp-general.cc: ...here.
8582 * omp-low.c: Moved to...
8583 * omp-low.cc: ...here.
8584 * omp-offload.c: Moved to...
8585 * omp-offload.cc: ...here.
8586 * omp-simd-clone.c: Moved to...
8587 * omp-simd-clone.cc: ...here.
8588 * opt-suggestions.c: Moved to...
8589 * opt-suggestions.cc: ...here.
8590 * optabs-libfuncs.c: Moved to...
8591 * optabs-libfuncs.cc: ...here.
8592 * optabs-query.c: Moved to...
8593 * optabs-query.cc: ...here.
8594 * optabs-tree.c: Moved to...
8595 * optabs-tree.cc: ...here.
8596 * optabs.c: Moved to...
8597 * optabs.cc: ...here.
8598 * opts-common.c: Moved to...
8599 * opts-common.cc: ...here.
8600 * opts-global.c: Moved to...
8601 * opts-global.cc: ...here.
8602 * opts.c: Moved to...
8603 * opts.cc: ...here.
8604 * passes.c: Moved to...
8605 * passes.cc: ...here.
8606 * plugin.c: Moved to...
8607 * plugin.cc: ...here.
8608 * postreload-gcse.c: Moved to...
8609 * postreload-gcse.cc: ...here.
8610 * postreload.c: Moved to...
8611 * postreload.cc: ...here.
8612 * predict.c: Moved to...
8613 * predict.cc: ...here.
8614 * prefix.c: Moved to...
8615 * prefix.cc: ...here.
8616 * pretty-print.c: Moved to...
8617 * pretty-print.cc: ...here.
8618 * print-rtl-function.c: Moved to...
8619 * print-rtl-function.cc: ...here.
8620 * print-rtl.c: Moved to...
8621 * print-rtl.cc: ...here.
8622 * print-tree.c: Moved to...
8623 * print-tree.cc: ...here.
8624 * profile-count.c: Moved to...
8625 * profile-count.cc: ...here.
8626 * profile.c: Moved to...
8627 * profile.cc: ...here.
8628 * read-md.c: Moved to...
8629 * read-md.cc: ...here.
8630 * read-rtl-function.c: Moved to...
8631 * read-rtl-function.cc: ...here.
8632 * read-rtl.c: Moved to...
8633 * read-rtl.cc: ...here.
8634 * real.c: Moved to...
8635 * real.cc: ...here.
8636 * realmpfr.c: Moved to...
8637 * realmpfr.cc: ...here.
8638 * recog.c: Moved to...
8639 * recog.cc: ...here.
8640 * ree.c: Moved to...
8641 * ree.cc: ...here.
8642 * reg-stack.c: Moved to...
8643 * reg-stack.cc: ...here.
8644 * regcprop.c: Moved to...
8645 * regcprop.cc: ...here.
8646 * reginfo.c: Moved to...
8647 * reginfo.cc: ...here.
8648 * regrename.c: Moved to...
8649 * regrename.cc: ...here.
8650 * regstat.c: Moved to...
8651 * regstat.cc: ...here.
8652 * reload.c: Moved to...
8653 * reload.cc: ...here.
8654 * reload1.c: Moved to...
8655 * reload1.cc: ...here.
8656 * reorg.c: Moved to...
8657 * reorg.cc: ...here.
8658 * resource.c: Moved to...
8659 * resource.cc: ...here.
8660 * rtl-error.c: Moved to...
8661 * rtl-error.cc: ...here.
8662 * rtl-tests.c: Moved to...
8663 * rtl-tests.cc: ...here.
8664 * rtl.c: Moved to...
8665 * rtl.cc: ...here.
8666 * rtlanal.c: Moved to...
8667 * rtlanal.cc: ...here.
8668 * rtlhash.c: Moved to...
8669 * rtlhash.cc: ...here.
8670 * rtlhooks.c: Moved to...
8671 * rtlhooks.cc: ...here.
8672 * rtx-vector-builder.c: Moved to...
8673 * rtx-vector-builder.cc: ...here.
8674 * run-rtl-passes.c: Moved to...
8675 * run-rtl-passes.cc: ...here.
8676 * sancov.c: Moved to...
8677 * sancov.cc: ...here.
8678 * sanopt.c: Moved to...
8679 * sanopt.cc: ...here.
8680 * sbitmap.c: Moved to...
8681 * sbitmap.cc: ...here.
8682 * sched-deps.c: Moved to...
8683 * sched-deps.cc: ...here.
8684 * sched-ebb.c: Moved to...
8685 * sched-ebb.cc: ...here.
8686 * sched-rgn.c: Moved to...
8687 * sched-rgn.cc: ...here.
8688 * sel-sched-dump.c: Moved to...
8689 * sel-sched-dump.cc: ...here.
8690 * sel-sched-ir.c: Moved to...
8691 * sel-sched-ir.cc: ...here.
8692 * sel-sched.c: Moved to...
8693 * sel-sched.cc: ...here.
8694 * selftest-diagnostic.c: Moved to...
8695 * selftest-diagnostic.cc: ...here.
8696 * selftest-rtl.c: Moved to...
8697 * selftest-rtl.cc: ...here.
8698 * selftest-run-tests.c: Moved to...
8699 * selftest-run-tests.cc: ...here.
8700 * selftest.c: Moved to...
8701 * selftest.cc: ...here.
8702 * sese.c: Moved to...
8703 * sese.cc: ...here.
8704 * shrink-wrap.c: Moved to...
8705 * shrink-wrap.cc: ...here.
8706 * simplify-rtx.c: Moved to...
8707 * simplify-rtx.cc: ...here.
8708 * sparseset.c: Moved to...
8709 * sparseset.cc: ...here.
8710 * spellcheck-tree.c: Moved to...
8711 * spellcheck-tree.cc: ...here.
8712 * spellcheck.c: Moved to...
8713 * spellcheck.cc: ...here.
8714 * sreal.c: Moved to...
8715 * sreal.cc: ...here.
8716 * stack-ptr-mod.c: Moved to...
8717 * stack-ptr-mod.cc: ...here.
8718 * statistics.c: Moved to...
8719 * statistics.cc: ...here.
8720 * stmt.c: Moved to...
8721 * stmt.cc: ...here.
8722 * stor-layout.c: Moved to...
8723 * stor-layout.cc: ...here.
8724 * store-motion.c: Moved to...
8725 * store-motion.cc: ...here.
8726 * streamer-hooks.c: Moved to...
8727 * streamer-hooks.cc: ...here.
8728 * stringpool.c: Moved to...
8729 * stringpool.cc: ...here.
8730 * substring-locations.c: Moved to...
8731 * substring-locations.cc: ...here.
8732 * symtab.c: Moved to...
8733 * symtab.cc: ...here.
8734 * target-globals.c: Moved to...
8735 * target-globals.cc: ...here.
8736 * targhooks.c: Moved to...
8737 * targhooks.cc: ...here.
8738 * timevar.c: Moved to...
8739 * timevar.cc: ...here.
8740 * toplev.c: Moved to...
8741 * toplev.cc: ...here.
8742 * tracer.c: Moved to...
8743 * tracer.cc: ...here.
8744 * trans-mem.c: Moved to...
8745 * trans-mem.cc: ...here.
8746 * tree-affine.c: Moved to...
8747 * tree-affine.cc: ...here.
8748 * tree-call-cdce.c: Moved to...
8749 * tree-call-cdce.cc: ...here.
8750 * tree-cfg.c: Moved to...
8751 * tree-cfg.cc: ...here.
8752 * tree-cfgcleanup.c: Moved to...
8753 * tree-cfgcleanup.cc: ...here.
8754 * tree-chrec.c: Moved to...
8755 * tree-chrec.cc: ...here.
8756 * tree-complex.c: Moved to...
8757 * tree-complex.cc: ...here.
8758 * tree-data-ref.c: Moved to...
8759 * tree-data-ref.cc: ...here.
8760 * tree-dfa.c: Moved to...
8761 * tree-dfa.cc: ...here.
8762 * tree-diagnostic.c: Moved to...
8763 * tree-diagnostic.cc: ...here.
8764 * tree-dump.c: Moved to...
8765 * tree-dump.cc: ...here.
8766 * tree-eh.c: Moved to...
8767 * tree-eh.cc: ...here.
8768 * tree-emutls.c: Moved to...
8769 * tree-emutls.cc: ...here.
8770 * tree-if-conv.c: Moved to...
8771 * tree-if-conv.cc: ...here.
8772 * tree-inline.c: Moved to...
8773 * tree-inline.cc: ...here.
8774 * tree-into-ssa.c: Moved to...
8775 * tree-into-ssa.cc: ...here.
8776 * tree-iterator.c: Moved to...
8777 * tree-iterator.cc: ...here.
8778 * tree-loop-distribution.c: Moved to...
8779 * tree-loop-distribution.cc: ...here.
8780 * tree-nested.c: Moved to...
8781 * tree-nested.cc: ...here.
8782 * tree-nrv.c: Moved to...
8783 * tree-nrv.cc: ...here.
8784 * tree-object-size.c: Moved to...
8785 * tree-object-size.cc: ...here.
8786 * tree-outof-ssa.c: Moved to...
8787 * tree-outof-ssa.cc: ...here.
8788 * tree-parloops.c: Moved to...
8789 * tree-parloops.cc: ...here.
8790 * tree-phinodes.c: Moved to...
8791 * tree-phinodes.cc: ...here.
8792 * tree-predcom.c: Moved to...
8793 * tree-predcom.cc: ...here.
8794 * tree-pretty-print.c: Moved to...
8795 * tree-pretty-print.cc: ...here.
8796 * tree-profile.c: Moved to...
8797 * tree-profile.cc: ...here.
8798 * tree-scalar-evolution.c: Moved to...
8799 * tree-scalar-evolution.cc: ...here.
8800 * tree-sra.c: Moved to...
8801 * tree-sra.cc: ...here.
8802 * tree-ssa-address.c: Moved to...
8803 * tree-ssa-address.cc: ...here.
8804 * tree-ssa-alias.c: Moved to...
8805 * tree-ssa-alias.cc: ...here.
8806 * tree-ssa-ccp.c: Moved to...
8807 * tree-ssa-ccp.cc: ...here.
8808 * tree-ssa-coalesce.c: Moved to...
8809 * tree-ssa-coalesce.cc: ...here.
8810 * tree-ssa-copy.c: Moved to...
8811 * tree-ssa-copy.cc: ...here.
8812 * tree-ssa-dce.c: Moved to...
8813 * tree-ssa-dce.cc: ...here.
8814 * tree-ssa-dom.c: Moved to...
8815 * tree-ssa-dom.cc: ...here.
8816 * tree-ssa-dse.c: Moved to...
8817 * tree-ssa-dse.cc: ...here.
8818 * tree-ssa-forwprop.c: Moved to...
8819 * tree-ssa-forwprop.cc: ...here.
8820 * tree-ssa-ifcombine.c: Moved to...
8821 * tree-ssa-ifcombine.cc: ...here.
8822 * tree-ssa-live.c: Moved to...
8823 * tree-ssa-live.cc: ...here.
8824 * tree-ssa-loop-ch.c: Moved to...
8825 * tree-ssa-loop-ch.cc: ...here.
8826 * tree-ssa-loop-im.c: Moved to...
8827 * tree-ssa-loop-im.cc: ...here.
8828 * tree-ssa-loop-ivcanon.c: Moved to...
8829 * tree-ssa-loop-ivcanon.cc: ...here.
8830 * tree-ssa-loop-ivopts.c: Moved to...
8831 * tree-ssa-loop-ivopts.cc: ...here.
8832 * tree-ssa-loop-manip.c: Moved to...
8833 * tree-ssa-loop-manip.cc: ...here.
8834 * tree-ssa-loop-niter.c: Moved to...
8835 * tree-ssa-loop-niter.cc: ...here.
8836 * tree-ssa-loop-prefetch.c: Moved to...
8837 * tree-ssa-loop-prefetch.cc: ...here.
8838 * tree-ssa-loop-split.c: Moved to...
8839 * tree-ssa-loop-split.cc: ...here.
8840 * tree-ssa-loop-unswitch.c: Moved to...
8841 * tree-ssa-loop-unswitch.cc: ...here.
8842 * tree-ssa-loop.c: Moved to...
8843 * tree-ssa-loop.cc: ...here.
8844 * tree-ssa-math-opts.c: Moved to...
8845 * tree-ssa-math-opts.cc: ...here.
8846 * tree-ssa-operands.c: Moved to...
8847 * tree-ssa-operands.cc: ...here.
8848 * tree-ssa-phiopt.c: Moved to...
8849 * tree-ssa-phiopt.cc: ...here.
8850 * tree-ssa-phiprop.c: Moved to...
8851 * tree-ssa-phiprop.cc: ...here.
8852 * tree-ssa-pre.c: Moved to...
8853 * tree-ssa-pre.cc: ...here.
8854 * tree-ssa-propagate.c: Moved to...
8855 * tree-ssa-propagate.cc: ...here.
8856 * tree-ssa-reassoc.c: Moved to...
8857 * tree-ssa-reassoc.cc: ...here.
8858 * tree-ssa-sccvn.c: Moved to...
8859 * tree-ssa-sccvn.cc: ...here.
8860 * tree-ssa-scopedtables.c: Moved to...
8861 * tree-ssa-scopedtables.cc: ...here.
8862 * tree-ssa-sink.c: Moved to...
8863 * tree-ssa-sink.cc: ...here.
8864 * tree-ssa-strlen.c: Moved to...
8865 * tree-ssa-strlen.cc: ...here.
8866 * tree-ssa-structalias.c: Moved to...
8867 * tree-ssa-structalias.cc: ...here.
8868 * tree-ssa-tail-merge.c: Moved to...
8869 * tree-ssa-tail-merge.cc: ...here.
8870 * tree-ssa-ter.c: Moved to...
8871 * tree-ssa-ter.cc: ...here.
8872 * tree-ssa-threadbackward.c: Moved to...
8873 * tree-ssa-threadbackward.cc: ...here.
8874 * tree-ssa-threadedge.c: Moved to...
8875 * tree-ssa-threadedge.cc: ...here.
8876 * tree-ssa-threadupdate.c: Moved to...
8877 * tree-ssa-threadupdate.cc: ...here.
8878 * tree-ssa-uncprop.c: Moved to...
8879 * tree-ssa-uncprop.cc: ...here.
8880 * tree-ssa-uninit.c: Moved to...
8881 * tree-ssa-uninit.cc: ...here.
8882 * tree-ssa.c: Moved to...
8883 * tree-ssa.cc: ...here.
8884 * tree-ssanames.c: Moved to...
8885 * tree-ssanames.cc: ...here.
8886 * tree-stdarg.c: Moved to...
8887 * tree-stdarg.cc: ...here.
8888 * tree-streamer-in.c: Moved to...
8889 * tree-streamer-in.cc: ...here.
8890 * tree-streamer-out.c: Moved to...
8891 * tree-streamer-out.cc: ...here.
8892 * tree-streamer.c: Moved to...
8893 * tree-streamer.cc: ...here.
8894 * tree-switch-conversion.c: Moved to...
8895 * tree-switch-conversion.cc: ...here.
8896 * tree-tailcall.c: Moved to...
8897 * tree-tailcall.cc: ...here.
8898 * tree-vect-data-refs.c: Moved to...
8899 * tree-vect-data-refs.cc: ...here.
8900 * tree-vect-generic.c: Moved to...
8901 * tree-vect-generic.cc: ...here.
8902 * tree-vect-loop-manip.c: Moved to...
8903 * tree-vect-loop-manip.cc: ...here.
8904 * tree-vect-loop.c: Moved to...
8905 * tree-vect-loop.cc: ...here.
8906 * tree-vect-patterns.c: Moved to...
8907 * tree-vect-patterns.cc: ...here.
8908 * tree-vect-slp-patterns.c: Moved to...
8909 * tree-vect-slp-patterns.cc: ...here.
8910 * tree-vect-slp.c: Moved to...
8911 * tree-vect-slp.cc: ...here.
8912 * tree-vect-stmts.c: Moved to...
8913 * tree-vect-stmts.cc: ...here.
8914 * tree-vector-builder.c: Moved to...
8915 * tree-vector-builder.cc: ...here.
8916 * tree-vectorizer.c: Moved to...
8917 * tree-vectorizer.cc: ...here.
8918 * tree-vrp.c: Moved to...
8919 * tree-vrp.cc: ...here.
8920 * tree.c: Moved to...
8921 * tree.cc: ...here.
8922 * tsan.c: Moved to...
8923 * tsan.cc: ...here.
8924 * typed-splay-tree.c: Moved to...
8925 * typed-splay-tree.cc: ...here.
8926 * ubsan.c: Moved to...
8927 * ubsan.cc: ...here.
8928 * valtrack.c: Moved to...
8929 * valtrack.cc: ...here.
8930 * value-prof.c: Moved to...
8931 * value-prof.cc: ...here.
8932 * var-tracking.c: Moved to...
8933 * var-tracking.cc: ...here.
8934 * varasm.c: Moved to...
8935 * varasm.cc: ...here.
8936 * varpool.c: Moved to...
8937 * varpool.cc: ...here.
8938 * vec-perm-indices.c: Moved to...
8939 * vec-perm-indices.cc: ...here.
8940 * vec.c: Moved to...
8941 * vec.cc: ...here.
8942 * vmsdbgout.c: Moved to...
8943 * vmsdbgout.cc: ...here.
8944 * vr-values.c: Moved to...
8945 * vr-values.cc: ...here.
8946 * vtable-verify.c: Moved to...
8947 * vtable-verify.cc: ...here.
8948 * web.c: Moved to...
8949 * web.cc: ...here.
8950 * xcoffout.c: Moved to...
8951 * xcoffout.cc: ...here.
8952
8953 2022-01-17 qing zhao <qing.zhao@oracle.com>
8954
8955 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
8956 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
8957 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
8958 specially.
8959 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
8960 (warn_uninitialized_vars): Likewise.
8961 (warn_uninitialized_phi): Likewise.
8962
8963 2022-01-17 Jason Merrill <jason@redhat.com>
8964
8965 * diagnostic.h (struct diagnostic_context): Add includes_seen.
8966 * diagnostic.c (diagnostic_initialize): Initialize it.
8967 (diagnostic_finish): Clean it up.
8968 (includes_seen): New function.
8969 (diagnostic_report_current_module): Use it.
8970
8971 2022-01-17 Richard Biener <rguenther@suse.de>
8972
8973 PR middle-end/101292
8974 * diagnostic-spec.c (copy_warning): Make sure to not
8975 reference old hashtable content on possible resize.
8976 * warning-control.cc (copy_warning): Likewise.
8977
8978 2022-01-17 Jakub Jelinek <jakub@redhat.com>
8979
8980 PR target/103973
8981 * tree-cfg.h (cond_only_block_p): Declare.
8982 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
8983 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
8984 * optabs.def (spaceship_optab): New optab.
8985 * internal-fn.def (SPACESHIP): New internal function.
8986 * internal-fn.h (expand_SPACESHIP): Declare.
8987 * internal-fn.c (expand_PHI): Formatting fix.
8988 (expand_SPACESHIP): New function.
8989 * tree-ssa-math-opts.c (optimize_spaceship): New function.
8990 (math_opts_dom_walker::after_dom_children): Use it.
8991 * config/i386/i386.md (spaceship<mode>3): New define_expand.
8992 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
8993 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
8994 * doc/md.texi (spaceship@var{m}3): Document.
8995
8996 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
8997
8998 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
8999 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
9000 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
9001 known constant values to simplify code.
9002
9003 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
9004
9005 PR target/103124
9006 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
9007
9008 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
9009
9010 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
9011 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
9012 Insert zero-idiom in output template when attr enabled, set new attribute to
9013 true for non-mask/maskz insn.
9014 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
9015 Likewise.
9016 (avx512dq_mul<mode>3<mask_name>): Likewise.
9017 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
9018 (avx2_perm<mode>_1<mask_name>): Likewise.
9019 (avx512f_perm<mode>_1<mask_name>): Likewise.
9020 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
9021 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
9022 Likewise.
9023 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
9024 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
9025 Likewise.
9026 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
9027 subst_attr.
9028 (mask4_dest_false_dep_for_glc_cond): Likewise.
9029 (mask6_dest_false_dep_for_glc_cond): Likewise.
9030 (mask10_dest_false_dep_for_glc_cond): Likewise.
9031 (maskc_dest_false_dep_for_glc_cond): Likewise.
9032 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
9033 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
9034 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
9035 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
9036
9037 2022-01-15 Martin Sebor <msebor@redhat.com>
9038
9039 PR c/63272
9040 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
9041 -Wdangling-pointer.
9042 * doc/invoke.texi (-Wdangling-pointer): Document new option.
9043 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
9044 (pass_waccess::check_pointer_uses): New function.
9045 (pass_waccess::gimple_call_return_arg): New function.
9046 (pass_waccess::gimple_call_return_arg_ref): New function.
9047 (pass_waccess::check_call_dangling): New function.
9048 (pass_waccess::check_dangling_uses): New function overloads.
9049 (pass_waccess::check_dangling_stores): New function.
9050 (pass_waccess::check_dangling_stores): New function.
9051 (pass_waccess::m_clobbers): New data member.
9052 (pass_waccess::m_func): New data member.
9053 (pass_waccess::m_run_number): New data member.
9054 (pass_waccess::m_check_dangling_p): New data member.
9055 (pass_waccess::check_alloca): Check m_early_checks_p.
9056 (pass_waccess::check_alloc_size_call): Same.
9057 (pass_waccess::check_strcat): Same.
9058 (pass_waccess::check_strncat): Same.
9059 (pass_waccess::check_stxcpy): Same.
9060 (pass_waccess::check_stxncpy): Same.
9061 (pass_waccess::check_strncmp): Same.
9062 (pass_waccess::check_memop_access): Same.
9063 (pass_waccess::check_read_access): Same.
9064 (pass_waccess::check_builtin): Call check_pointer_uses.
9065 (pass_waccess::warn_invalid_pointer): Add arguments.
9066 (is_auto_decl): New function.
9067 (pass_waccess::check_stmt): New function.
9068 (pass_waccess::check_block): Call check_stmt.
9069 (pass_waccess::execute): Call check_dangling_uses,
9070 check_dangling_stores. Empty m_clobbers.
9071 * passes.def (pass_warn_access): Invoke pass two more times.
9072
9073 2022-01-15 Martin Sebor <msebor@redhat.com>
9074
9075 PR tree-optimization/80532
9076 * common.opt (-Wuse-after-free): New options.
9077 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
9078 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
9079 * diagnostic-spec.h (NW_DANGLING): New enumerator.
9080 * doc/invoke.texi (-Wuse-after-free): Document new option.
9081 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
9082 (pass_waccess::check_call_access): ...to this.
9083 (pass_waccess::check): Rename...
9084 (pass_waccess::check_block): ...to this.
9085 (pass_waccess::check_pointer_uses): New function.
9086 (pass_waccess::gimple_call_return_arg): New function.
9087 (pass_waccess::warn_invalid_pointer): New function.
9088 (pass_waccess::check_builtin): Handle free and realloc.
9089 (gimple_use_after_inval_p): New function.
9090 (get_realloc_lhs): New function.
9091 (maybe_warn_mismatched_realloc): New function.
9092 (pointers_related_p): New function.
9093 (pass_waccess::check_call): Call check_pointer_uses.
9094 (pass_waccess::execute): Compute and free dominance info.
9095
9096 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
9097
9098 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
9099 expand_simple_unop and expand_simple_binop instead of manually
9100 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
9101 consistently. Eliminate common subexpressions and simplify code.
9102 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
9103 (<any_logic:code><MODEF:mode>3): Make public.
9104
9105 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
9106
9107 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
9108 reverse flag as "reverse" for the sake of consistency.
9109 * ipa-sra.c: Fix copyright year.
9110 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
9111 (dump_isra_access): Tweak dump line.
9112 (isra_write_node_summary): Write the reverse flag.
9113 (isra_read_node_info): Read it.
9114 (pull_accesses_from_callee): Test its consistency and copy it.
9115
9116 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
9117
9118 PR middle-end/104026
9119 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
9120 partial_load_store_bias.
9121
9122 2022-01-14 Martin Sebor <msebor@redhat.com>
9123
9124 PR middle-end/101475
9125 * pointer-query.cc (handle_component_ref): Use the size of
9126 the enclosing object if it's smaller than the member.
9127
9128 2022-01-14 Martin Liska <mliska@suse.cz>
9129
9130 * configure: Regenerate.
9131
9132 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
9133
9134 * config/i386/i386.md (*add<mode>_1_slp"):
9135 Mark alternative 1 output operand earlyclobbered.
9136 (*sub<mode>_1_slp): Ditto.
9137 (*and<mode>_1_slp): Ditto.
9138 (*<code><mode>_1_slp): Ditto.
9139 (*neg<mode>_1_slp): Ditto.
9140 (*one_cmpl<mode>_1_slp): Ditto.
9141 (*ashl<mode>3_1_slp): Ditto.
9142 (*<insn><mode>3_1_slp): Ditto.
9143 (*<insn><mode>3_1_slp): Ditto.
9144
9145 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
9146
9147 PR tree-optimization/104015
9148 * tree-vect-loop.c (vect_analyze_loop): Check
9149 param_vect_partial_vector_usage for supports_partial_vectors.
9150
9151 2022-01-14 Jakub Jelinek <jakub@redhat.com>
9152
9153 PR c++/89074
9154 * fold-const.c (address_compare): Punt on comparison of address of
9155 one object with address of end of another object if
9156 folding_initializer.
9157
9158 2022-01-14 Jakub Jelinek <jakub@redhat.com>
9159
9160 PR target/98737
9161 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
9162 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
9163 and __atomic_op_fetch (p, x, y) iop x into
9164 __atomic_fetch_op (p, x, y).
9165
9166 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
9167
9168 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
9169 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
9170 (INCOMING_RETURN_ADDR_RTX): Likewise.
9171 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
9172
9173 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
9174
9175 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
9176 computin checking accumulator regs.
9177 (arc_expand_prologue): Update comments.
9178 (arc_expand_epilogue): Likewise.
9179
9180 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
9181 Uroš Bizjak <ubizjak@gmail.com>
9182
9183 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
9184 (ix86_expand_ti_to_v1ti): Use force_reg.
9185 (ix86_expand_v1ti_shift): Use force_reg.
9186 (ix86_expand_v1ti_rotate): Use force_reg.
9187 (ix86_expand_v1ti_ashiftrt): Provide new three operation
9188 implementations for shifts by 111..126 bits. Use force_reg.
9189
9190 2022-01-14 Martin Liska <mliska@suse.cz>
9191
9192 * common/config/arm/arm-common.c (arm_target_mode): Fix
9193 warning: unterminated quoting directive [-Wformat=].
9194
9195 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
9196
9197 PR tree-optimization/104009
9198 * tree-object-size.c (compute_builtin_object_size): Bail out on
9199 negative offset.
9200 (plus_stmt_object_size): Return maximum of wholesize and minimum
9201 of 0 for negative offset.
9202
9203 2022-01-14 liuhongt <hongtao.liu@intel.com>
9204
9205 PR target/104001
9206 PR target/94790
9207 PR target/104014
9208 * config/i386/i386.md (*xor2andn): Refine predicate of
9209 operands[0] from nonimmediate_operand to
9210 register_operand, remove TARGET_AVX512BW from condition.
9211
9212 2022-01-14 David Malcolm <dmalcolm@redhat.com>
9213
9214 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
9215 be used on field decls.
9216 (Common Function Attributes): Add entry on "tainted_args" attribute.
9217
9218 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
9219 Jason Merrill <jason@redhat.com>
9220
9221 PR c++/70417
9222 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
9223
9224 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
9225
9226 PR target/103861
9227 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
9228 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
9229 * config/i386/mmx.md (<any_shift:insn>v2qi):
9230 New insn_and_split pattern.
9231
9232 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
9233
9234 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
9235 (expand_partial_store_optab_fn): Likewise.
9236 (internal_len_load_store_bias): New function.
9237 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
9238 (internal_len_load_store_bias): New function.
9239 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
9240 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
9241 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
9242 (vect_estimate_min_profitable_iters): Account for bias.
9243 (vect_get_loop_len): Add bias-adjusted length.
9244 * tree-vect-stmts.c (vectorizable_store): Use.
9245 (vectorizable_load): Use.
9246 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
9247 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
9248 * config/rs6000/vsx.md: Use const0 bias predicate.
9249 * doc/md.texi: Document bias value.
9250
9251 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
9252
9253 PR tree-optimization/83072
9254 PR tree-optimization/83073
9255 PR tree-optimization/97909
9256 * fold-const.c (expr_not_equal_to): Use a multi-range class.
9257
9258 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
9259
9260 PR tree-optimization/96707
9261 * range-op.cc (operator_rshift::lhs_op1_relation): New.
9262
9263 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
9264
9265 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
9266 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
9267 (negv2qi splitters): Use lowpart_subreg instead of
9268 gen_lowpart to create subreg.
9269 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
9270 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
9271 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
9272 gen_lowpart to create subreg.
9273 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
9274
9275 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
9276
9277 PR target/104003
9278 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
9279
9280 2022-01-13 Martin Liska <mliska@suse.cz>
9281
9282 * common/config/arm/arm-common.c (arm_target_mode): Wrap
9283 keywords with %<, %> and remove trailing punctuation char.
9284 (arm_canon_arch_option_1): Likewise.
9285 (arm_asm_auto_mfpu): Likewise.
9286 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
9287 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
9288 (use_vfp_abi): Likewise.
9289 (aapcs_vfp_is_call_or_return_candidate): Likewise.
9290 (arm_handle_cmse_nonsecure_entry): Likewise.
9291 (arm_handle_cmse_nonsecure_call): Likewise.
9292 (thumb1_md_asm_adjust): Likewise.
9293
9294 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
9295
9296 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
9297 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
9298 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
9299 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
9300 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
9301 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
9302 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
9303 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
9304 macro.
9305
9306 2022-01-13 Jakub Jelinek <jakub@redhat.com>
9307
9308 PR tree-optimization/103989
9309 * tree-inline.c (setup_one_parameter): Don't copy parms with
9310 empty type.
9311
9312 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
9313
9314 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
9315 'TYPE_ADDR_SPACE' for offloading.
9316 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
9317 'TYPE_ADDR_SPACE' for offloading.
9318
9319 2022-01-13 Julian Brown <julian@codesourcery.com>
9320 Thomas Schwinge <thomas@codesourcery.com>
9321
9322 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
9323 of...
9324 (add_async_clauses_and_wait): ...here. Call new outlined function.
9325 (decompose_kernels_region_body): Add wait at the end of
9326 explicitly-asynchronous kernels regions.
9327
9328 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
9329
9330 PR middle-end/100280
9331 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
9332 Mark variables used in synthesized data clauses as addressable.
9333
9334 2022-01-13 Martin Liska <mliska@suse.cz>
9335
9336 * config/epiphany/epiphany.c (epiphany_mode_priority):
9337 Use gcc_unreachable for not handled cases.
9338
9339 2022-01-13 Martin Liska <mliska@suse.cz>
9340
9341 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
9342 Use %qs format specifier.
9343 (epiphany_override_options): Wrap keyword in %<, %>.
9344
9345 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
9346
9347 PR target/94790
9348 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
9349
9350 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
9351
9352 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
9353
9354 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
9355
9356 PR target/100637
9357 PR target/103861
9358 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
9359 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
9360 when constructing vector logic RTXes.
9361 (expand_vec_perm_pshufb2): Ditto.
9362 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
9363 (<plusminus:insn>v2qi3): Ditto.
9364 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
9365 (vcondu<mode><mode>): Ditto.
9366 (vcond_mask_<mode><mode>): Ditto.
9367 (one_cmpl<VI_32:mode>2): Remove expander.
9368 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
9369 Use VI_16_32 mode iterator.
9370 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
9371 Use lowpart_subreg instead of gen_lowpart to create subreg.
9372 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
9373 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
9374 Disparage GPR alternative a bit. Add CC clobber.
9375 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
9376 Use lowpart_subreg instead of gen_lowpart to create subreg.
9377 (*<any_logic:code><VI_16_32:mode>3): Merge from
9378 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
9379 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
9380 Add CC clobber.
9381 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
9382 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
9383
9384 2022-01-12 Clément Chigot <clement.chigot@atos.net>
9385
9386 * configure.ac: Check sizeof ino_t and dev_t.
9387 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
9388 syscall being able to handle 64bit inodes.
9389 * config.in: Regenerate.
9390 * configure: Regenerate.
9391 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
9392 (remove_duplicates): Use it.
9393
9394 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
9395
9396 PR tree-optimization/103551
9397 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
9398
9399 2022-01-12 Richard Biener <rguenther@suse.de>
9400
9401 PR tree-optimization/103990
9402 * tree-pass.h (tail_merge_optimize): Drop unused argument.
9403 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
9404 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
9405 and adjust call to tail_merge_optimize.
9406
9407 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
9408
9409 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
9410 does not add autovectorize_vector_modes.
9411
9412 2022-01-12 Martin Liska <mliska@suse.cz>
9413
9414 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
9415 %qs where possible.
9416 (aarch64_parse_sve_width_string): Likewise.
9417 (aarch64_override_options_internal): Likewise.
9418 (aarch64_print_hint_for_extensions): Likewise.
9419 (aarch64_validate_sls_mitigation): Likewise.
9420 (aarch64_handle_attr_arch): Likewise.
9421 (aarch64_handle_attr_cpu): Likewise.
9422 (aarch64_handle_attr_tune): Likewise.
9423 (aarch64_handle_attr_isa_flags): Likewise.
9424
9425 2022-01-12 Martin Liska <mliska@suse.cz>
9426
9427 * config.gcc: Include elfos.h before ${tm_file}.
9428
9429 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
9430
9431 * config/cris/cris.c: Quote identifiers in parameters to error
9432 and internal_error, and remove extraneous spaces with punctuation.
9433 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
9434 expression to internal_error, pass it as a parameter instead of
9435 appending it to the format part.
9436
9437 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
9438
9439 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
9440 parameter to as_a.
9441
9442 2022-01-11 qing zhao <qing.zhao@oracle.com>
9443
9444 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
9445 Change the 3rd argument of function .DEFERRED_INIT to the name of the
9446 decl.
9447 (gimplify_decl_expr): Delete the 3rd argument when call
9448 gimple_add_init_for_auto_var.
9449 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
9450 the 3rd argument change of function .DEFERRED_INIT.
9451 * tree-cfg.c (verify_gimple_call): Update comments and verification
9452 to reflect the 3rd argument change of function .DEFERRED_INIT.
9453 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
9454 (sra_modify_deferred_init): Change the 3rd argument of function
9455 .DEFERRED_INIT to the name of the decl.
9456
9457 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
9458
9459 * flag-types.h (enum gfc_convert): Add flags for
9460 conversion.
9461
9462 2022-01-11 Michael Meissner <meissner@the-meissners.org>
9463
9464 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
9465 checks for only C/C++ front ends before allowing the long double
9466 format to change without a warning.
9467
9468 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
9469
9470 PR rtl-optimization/103974
9471 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
9472 extra argument, default true, that says whether old-reload
9473 targets should be excluded.
9474 * ira-color.c (color_pass): Pass false.
9475
9476 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
9477
9478 PR target/103861
9479 * config/i386/mmx.md (vcond<mode><mode>):
9480 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
9481 (vcondu<mode><mode>): Ditto.
9482 (vcond_mask_<mode><mode>): Ditto.
9483 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
9484 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
9485 Use VI_16_32 mode iterator.
9486 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
9487 Update for rename. Handle V2QImode.
9488 (expand_vec_perm_blend): Update for rename.
9489
9490 2022-01-11 Jakub Jelinek <jakub@redhat.com>
9491
9492 PR c++/101597
9493 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
9494
9495 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
9496
9497 PR middle-end/70090
9498 * tree-object-size.c (size_valid_p): New function.
9499 (size_for_offset): Remove OFFSET constness assertion.
9500 (addr_object_size): Build dynamic expressions for object
9501 sizes and use size_valid_p to decide if it is valid for the
9502 given OBJECT_SIZE_TYPE.
9503 (compute_builtin_object_size): Allow dynamic offsets when
9504 computing size at O0.
9505 (call_object_size): Call size_valid_p.
9506 (plus_stmt_object_size): Allow non-constant offset and use
9507 size_valid_p to decide if it is valid for the given
9508 OBJECT_SIZE_TYPE.
9509
9510 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
9511
9512 PR middle-end/70090
9513 * tree-object-size.c (alloc_object_size): Make and return
9514 non-constant size expression.
9515 (call_object_size): Return expression or unknown based on
9516 whether dynamic object size is requested.
9517
9518 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
9519
9520 PR middle-end/70090
9521 * tree-object-size.c: Include tree-dfa.h.
9522 (parm_object_size): New function.
9523 (collect_object_sizes_for): Call it.
9524
9525 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
9526
9527 PR middle-end/70090
9528 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
9529 expressions.
9530 * tree-object-size.c: Include gimplify-me.h.
9531 (struct object_size_info): New member UNKNOWNS.
9532 (size_initval_p, size_usable_p, object_sizes_get_raw): New
9533 functions.
9534 (object_sizes_get): Return suitable gimple variable for
9535 object size.
9536 (bundle_sizes): New function.
9537 (object_sizes_set): Use it and handle dynamic object size
9538 expressions.
9539 (object_sizes_set_temp): New function.
9540 (size_for_offset): Adjust for dynamic size expressions.
9541 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
9542 New functions.
9543 (compute_builtin_object_size): Call gimplify_size_expressions
9544 for OST_DYNAMIC.
9545 (dynamic_object_size): New function.
9546 (cond_expr_object_size): Use it.
9547 (phi_dynamic_object_size): New function.
9548 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
9549 accommodate dynamic object sizes.
9550
9551 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
9552 Jakub Jelinek <jakub@redhat.com>
9553
9554 PR tree-optimization/103961
9555 * tree-object-size.c (plus_stmt_object_size): Always avoid
9556 computing offset for -1 size.
9557
9558 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
9559
9560 PR tree-optimization/103821
9561 * range-op.cc (range_operator::fold_range): Only do precise ranges
9562 when there are not too many subranges.
9563
9564 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
9565
9566 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
9567 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
9568
9569 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
9570 Richard Biener <rguenther@suse.de>
9571
9572 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
9573 highpart_mults_inserted field.
9574 (convert_mult_to_highpart): New function to convert right shift
9575 of a widening multiply into a MULT_HIGHPART_EXPR.
9576 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
9577 Call new convert_mult_to_highpart function.
9578 (pass_optimize_widening_mul::execute): Add a statistics counter
9579 for tracking "highpart multiplications inserted" events.
9580
9581 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
9582
9583 PR target/102239
9584 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
9585 declare.
9586 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
9587 function.
9588 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
9589
9590 2022-01-11 Olivier Hainque <hainque@adacore.com>
9591
9592 * gcc.c (driver_handle_option): State --sysroot as
9593 validated.
9594
9595 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
9596
9597 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
9598 useless related to option -mno-power10.
9599
9600 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
9601
9602 PR target/53652
9603 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
9604 operands[1] from register_operand to vector_operand.
9605
9606 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
9607
9608 PR target/103861
9609 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
9610 Handle V2QImode.
9611 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
9612 Use VI1_16_32 mode iterator.
9613 (*eq<mode>3): Ditto.
9614 (*gt<mode>3): Ditto.
9615 (*xop_maskcmp<mode>3): Ditto.
9616 (*xop_maskcmp_uns<mode>3): Ditto.
9617 (vec_cmp<mode><mode>): Ditto.
9618 (vec_cmpu<mode><mode>): Ditto.
9619
9620 2022-01-10 Richard Biener <rguenther@suse.de>
9621
9622 PR tree-optimization/103948
9623 * tree-vect-generic.c (expand_vector_condition): Return true if
9624 all ones vector is returned for true, all zeros vector for false
9625 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
9626
9627 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
9628
9629 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
9630 when _ARCH_PWR10. Use signed types.
9631 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
9632 (_mm_blendv_pd): Likewise.
9633
9634 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
9635
9636 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
9637 epilogue costing.
9638 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
9639 epilogues, unless we are guaranteed that we can't have partial vectors.
9640 * genopinit.c: (partial_vectors_supported): Generate new function.
9641
9642 2022-01-10 Jakub Jelinek <jakub@redhat.com>
9643
9644 PR target/102024
9645 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
9646 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
9647 always ignore them, when seeing other zero sized bitfields, either
9648 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
9649 it. Pass it to recursive calls. Add wrapper
9650 with old arguments and diagnose ABI differences for C structures
9651 with zero width bitfields. Formatting fixes.
9652
9653 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
9654
9655 PR rtl-optimization/98782
9656 * ira-int.h (ira_soft_conflict): Declare.
9657 * ira-color.c (max_soft_conflict_loop_depth): New constant.
9658 (ira_soft_conflict): New function.
9659 (spill_soft_conflicts): Likewise.
9660 (assign_hard_reg): Use them to handle the case described by
9661 the comment above ira_soft_conflict.
9662 (improve_allocation): Likewise.
9663 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
9664 to share the same register.
9665
9666 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
9667
9668 PR rtl-optimization/98782
9669 * ira-int.h (ira_caller_save_cost): New function.
9670 (ira_caller_save_loop_spill_p): Likewise.
9671 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
9672 cheaper to spill a call-clobbered register throughout a loop rather
9673 than spill it around each individual call. If so, treat all
9674 call-clobbered registers as conflicts and...
9675 (propagate_allocno_info): ...do not propagate call information
9676 from the child to the parent.
9677 * ira-color.c (move_spill_restore): Update accordingly.
9678 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
9679
9680 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
9681
9682 PR rtl-optimization/98782
9683 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
9684 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
9685 (ira_single_region_allocno_p): New function.
9686 (ira_total_conflict_hard_regs): Likewise.
9687 * ira-build.c (ira_create_allocno): Initialize
9688 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
9689 (ira_propagate_hard_reg_costs): New function.
9690 (propagate_allocno_info): Use it. Try to avoid propagating
9691 hard register conflicts to parent allocnos if we can handle
9692 the conflicts by spilling instead. Limit the propagated
9693 register costs to the cost of spilling throughout the child loop.
9694 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
9695 test whether a child and parent allocno can share the same
9696 register.
9697 (move_spill_restore): Adjust for the new behavior of
9698 propagate_allocno_info.
9699
9700 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
9701
9702 PR rtl-optimization/98782
9703 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
9704 extracted from...
9705 * ira-color.c (color_pass): ...here.
9706
9707 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
9708
9709 PR rtl-optimization/98782
9710 * ira-color.c (color_pass): Add comments to describe the spill costs.
9711 (move_spill_restore): Likewise. Fix reversed calculation.
9712
9713 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
9714
9715 PR rtl-optimization/98782
9716 * ira-int.h (ira_loop_border_costs): New class.
9717 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
9718 New constructor.
9719 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
9720 (color_pass): Likewise.
9721 (move_spill_restore): Likewise.
9722
9723 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
9724
9725 PR target/103465
9726 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
9727
9728 2022-01-10 Richard Biener <rguenther@suse.de>
9729
9730 PR tree-optimization/100359
9731 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
9732 Allow non-growing peeling with !allow_peel and UL_ALL.
9733
9734 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
9735
9736 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
9737 special case for TImode to V1TImode moves, going via V2DImode.
9738
9739 2022-01-08 Jakub Jelinek <jakub@redhat.com>
9740
9741 PR c++/89074
9742 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
9743 simplification.
9744
9745 2022-01-08 David Malcolm <dmalcolm@redhat.com>
9746
9747 * doc/analyzer.texi
9748 (Special Functions for Debugging the Analyzer): Document
9749 __analyzer_dump_escaped.
9750
9751 2022-01-08 David Malcolm <dmalcolm@redhat.com>
9752
9753 * doc/analyzer.texi (Other Debugging Techniques): Document
9754 region::is_named_decl_p.
9755
9756 2022-01-07 Andrew Pinski <apinski@marvell.com>
9757
9758 PR target/102941
9759 * config/arm/aarch-common.c (arm_md_asm_adjust):
9760 Use a temp if !REG_P.
9761
9762 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
9763
9764 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
9765 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
9766
9767 2022-01-07 liuhongt <hongtao.liu@intel.com>
9768
9769 PR rtl-optimization/103750
9770 * fwprop.c (forward_propagate_into): Allow propagations from
9771 inner loop to outer loop.
9772
9773 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
9774
9775 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
9776
9777 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
9778
9779 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
9780 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
9781 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
9782
9783 2022-01-07 liuhongt <hongtao.liu@intel.com>
9784
9785 * config/i386/sse.md
9786 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
9787 UNSPEC_PCMP_UNSIGNED.
9788
9789 2022-01-07 liuhongt <hongtao.liu@intel.com>
9790
9791 PR target/103753
9792 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
9793 gen_avx2_pblendph_1 when elt == 0.
9794 * config/i386/sse.md (avx2_pblendph): Rename to ..
9795 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
9796 (*avx2_pblendw): Rename to ..
9797 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
9798 (avx2_pblendw): Rename to ..
9799 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
9800 (blendsuf): Removed.
9801 (sse4_1_pblend<blendsuf>): Renamed to ..
9802 (sse4_1_pblend<ssemodesuffix>): .. this.
9803
9804 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
9805
9806 PR target/103925
9807 * config/i386/i386.c (ix86_output_indirect_function_return):
9808 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
9809
9810 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
9811
9812 PR target/102952
9813 * config/i386/i386-opts.h (harden_sls): Replace
9814 harden_sls_indirect_branch with harden_sls_indirect_jmp.
9815 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
9816 Likewise.
9817 (ix86_output_indirect_jmp): Likewise.
9818 (ix86_output_call_insn): Likewise.
9819 * config/i386/i386.opt: Replace indirect-branch with
9820 indirect-jmp. Replace harden_sls_indirect_branch with
9821 harden_sls_indirect_jmp.
9822 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
9823 indirect-jmp.
9824
9825 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
9826
9827 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
9828 Add %q modifier for operands in general registers.
9829 <MODE_SI>: Add %q modifier for operands in general registers.
9830 * config/i386/i386.md (*movhi_internal): Change type attribute of
9831 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
9832 to SImode for non-avx512fp16 targets.
9833 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
9834 * config/i386/mmx.md (*movv2qi_internal):
9835 Ditto for xmm-gpr interunit alternatives 8,9.
9836
9837 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
9838
9839 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
9840 vector extensions.
9841 (riscv_ext_version_table): Add version info for vector extensions.
9842 (riscv_ext_flag_table): Add option mask for vector extensions.
9843 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
9844 (MASK_VECTOR_EEW_64): New.
9845 (MASK_VECTOR_EEW_FP_32): New.
9846 (MASK_VECTOR_EEW_FP_64): New.
9847 (MASK_ZVL32B): New.
9848 (MASK_ZVL64B): New.
9849 (MASK_ZVL128B): New.
9850 (MASK_ZVL256B): New.
9851 (MASK_ZVL512B): New.
9852 (MASK_ZVL1024B): New.
9853 (MASK_ZVL2048B): New.
9854 (MASK_ZVL4096B): New.
9855 (MASK_ZVL8192B): New.
9856 (MASK_ZVL16384B): New.
9857 (MASK_ZVL32768B): New.
9858 (MASK_ZVL65536B): New.
9859 (TARGET_ZVL32B): New.
9860 (TARGET_ZVL64B): New.
9861 (TARGET_ZVL128B): New.
9862 (TARGET_ZVL256B): New.
9863 (TARGET_ZVL512B): New.
9864 (TARGET_ZVL1024B): New.
9865 (TARGET_ZVL2048B): New.
9866 (TARGET_ZVL4096B): New.
9867 (TARGET_ZVL8192B): New.
9868 (TARGET_ZVL16384B): New.
9869 (TARGET_ZVL32768B): New.
9870 (TARGET_ZVL65536B): New.
9871 * config/riscv/riscv.opt (Mask(VECTOR)): New.
9872 (riscv_vector_eew_flags): New.
9873 (riscv_zvl_flags): New.
9874
9875 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
9876
9877 * common/config/riscv/riscv-common.c
9878 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
9879 digit.
9880
9881 2022-01-06 Jakub Jelinek <jakub@redhat.com>
9882
9883 PR tree-optimization/103899
9884 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
9885 warning by moving context variable to the only spot where it is used
9886 and moving gcc_assert into if body.
9887
9888 2022-01-06 Jakub Jelinek <jakub@redhat.com>
9889
9890 PR rtl-optimization/103908
9891 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
9892 asm goto.
9893
9894 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
9895
9896 PR target/103622
9897 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
9898 Skip over instances with undefined function types.
9899
9900 2022-01-05 Andrew Pinski <apinski@marvell.com>
9901
9902 PR target/103910
9903 * config/i386/i386.h (x86_mfence): Mark with GTY.
9904
9905 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
9906
9907 PR target/103861
9908 * config/i386/mmx.md (VI_16_32): New mode iterator.
9909 (VI1_16_32): Ditto.
9910 (mmxvecsize): Handle V2QI mode.
9911 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
9912 Use VI1_16_32 mode iterator.
9913 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
9914 Use VI1_16_32 mode iterator.
9915 (abs<mode>2): Use VI_16_32 mode iterator.
9916 (uavgv2qi3_ceil): New insn pattern.
9917
9918 2022-01-05 Martin Sebor <msebor@redhat.com>
9919
9920 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
9921 %qs to avoid -Wformat-diag.
9922
9923 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
9924
9925 PR target/103915
9926 * config/i386/mmx.md (one_cmplv2qi2): Change
9927 alternatives 1,2 type from sselog to sselog1.
9928
9929 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
9930
9931 PR target/103905
9932 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
9933 narrow mode remapped elements for !one_operand_p case.
9934
9935 2022-01-05 Richard Biener <rguenther@suse.de>
9936
9937 PR tree-optimization/103816
9938 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
9939 check DR_GROUP_GAP compute for overflow and representability.
9940
9941 2022-01-05 Jakub Jelinek <jakub@redhat.com>
9942
9943 PR fortran/103691
9944 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
9945 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
9946 it can do unwanted rhs folding like &a[0] into &2.0 etc.
9947
9948 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
9949
9950 PR ipa/102059
9951 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
9952 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
9953 (rs6000_need_ipa_fn_target_info): New function.
9954 (rs6000_update_ipa_fn_target_info): Likewise.
9955 (rs6000_can_inline_p): Adjust for ipa function summary target info.
9956 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
9957 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
9958 summary target info.
9959 (analyze_function_body): Adjust for ipa function summary target info
9960 and call hook rs6000_need_ipa_fn_target_info and
9961 rs6000_update_ipa_fn_target_info.
9962 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
9963 target info.
9964 (inline_read_section): Likewise.
9965 (ipa_fn_summary_write): Likewise.
9966 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
9967 * doc/tm.texi: Regenerate.
9968 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
9969 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
9970 * target.def (update_ipa_fn_target_info): New hook.
9971 (need_ipa_fn_target_info): Likewise.
9972 * targhooks.c (default_need_ipa_fn_target_info): New function.
9973 (default_update_ipa_fn_target_info): Likewise.
9974 * targhooks.h (default_update_ipa_fn_target_info): New declare.
9975 (default_need_ipa_fn_target_info): Likewise.
9976
9977 2022-01-04 Martin Sebor <msebor@redhat.com>
9978
9979 PR middle-end/99612
9980 * builtins.c (get_memmodel): Move warning code to
9981 gimple-ssa-warn-access.cc.
9982 (expand_builtin_atomic_compare_exchange): Same.
9983 (expand_ifn_atomic_compare_exchange): Same.
9984 (expand_builtin_atomic_load): Same.
9985 (expand_builtin_atomic_store): Same.
9986 (expand_builtin_atomic_clear): Same.
9987 * doc/extend.texi (__atomic_exchange_n): Update valid memory
9988 models.
9989 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
9990 (struct memmodel_pair): New struct.
9991 (memmodel_name): New function.
9992 (pass_waccess::maybe_warn_memmodel): New function.
9993 (pass_waccess::check_atomic_memmodel): New function.
9994 (pass_waccess::check_atomic_builtin): Handle memory model.
9995 * input.c (expansion_point_location_if_in_system_header): Return
9996 original location if expansion location is in a system header.
9997
9998 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
9999
10000 PR target/103861
10001 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
10002 (one_cmplv2qi3 splitters): New post-reload splitters.
10003 (*andnotv2qi3): New insn pattern.
10004 (andnotv2qi3 splitters): New post-reload splitters.
10005 (<any_logic:code>v2qi3): New insn pattern.
10006 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
10007
10008 2022-01-04 Richard Biener <rguenther@suse.de>
10009
10010 PR tree-optimization/103800
10011 * tree-vect-loop.c (vectorizable_phi): Remove assert and
10012 expand comment.
10013
10014 2022-01-04 Richard Biener <rguenther@suse.de>
10015
10016 PR tree-optimization/103690
10017 * tree-pass.h (tail_merge_optimize): Adjust.
10018 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
10019 to re-split critical edges, move CFG cleanup ...
10020 * tree-ssa-pre.c (pass_pre::execute): ... here, before
10021 simple_dce_from_worklist and delay freeing inserted_exprs from
10022 ...
10023 (fini_pre): .. here.
10024
10025 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
10026
10027 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
10028 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
10029 (setcc_from_bi): Remove SImode specific pattern.
10030 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
10031 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
10032 for sign- and zero-extending BImode predicates to integers.
10033 (setcc_int<mode>): Remove previous (-1-based) instructions.
10034 (cstorebi4): Remove BImode to SImode specific expander.
10035 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
10036 (cstore<mode>4): For both integer and floating point modes.
10037
10038 2022-01-04 Olivier Hainque <hainque@adacore.com>
10039
10040 * gcc.c (driver_handle_option): do_save --sysroot.
10041
10042 2022-01-04 Richard Biener <rguenther@suse.de>
10043
10044 PR tree-optimization/103864
10045 PR tree-optimization/103544
10046 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
10047 reductions wrapped in conversions from SLP handling.
10048 (vect_analyze_slp): Revert PR103544 change.
10049
10050 2022-01-04 Jakub Jelinek <jakub@redhat.com>
10051
10052 PR rtl-optimization/103860
10053 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
10054 uselessly for blocks for which it has been called already.
10055
10056 2022-01-04 Cui,Lili <lili.cui@intel.com>
10057
10058 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
10059 to Alderlake and Rocketlake.
10060
10061 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
10062
10063 PR middle-end/103643
10064 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
10065 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
10066
10067 2022-01-04 liuhongt <hongtao.liu@intel.com>
10068
10069 PR target/103895
10070 * config/i386/sse.md (*bit_and_float_vector_all_ones):
10071 Force_reg operand 1 to avoid ICE.
10072
10073 2022-01-04 Jason Merrill <jason@redhat.com>
10074
10075 * tree-pretty-print.c (do_niy): Add spc parameter.
10076 (NIY): Pass it.
10077 (print_call_name): Add spc local variable.
10078
10079 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
10080
10081 PR target/103894
10082 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
10083 (mov<V_32:mode>_internal): Ditto.
10084 (*push<V_32:mode>_rex64): Ditto.
10085 (movmisalign<V_32:mode>): Ditto.
10086 (*push<V_32:mode>_rex64 splitter): Enable for
10087 TARGET_64BIT && TARGET_SSE.
10088 (*push<V_32:mode>2): Remove insn pattern.
10089
10090 2022-01-03 Andrew Pinski <apinski@marvell.com>
10091
10092 PR c/33193
10093 * doc/extend.texi: Extend the documentation about Complex
10094 types for casting and also rewrite the __real__/__imag__
10095 expression portion to use tables.
10096 Move __builtin_complex to the Complex type section.
10097
10098 2022-01-03 Jakub Jelinek <jakub@redhat.com>
10099
10100 PR target/98737
10101 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
10102 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
10103 New internal fns.
10104 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
10105 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
10106 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
10107 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
10108 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
10109 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
10110 functions.
10111 * optabs.def (atomic_add_fetch_cmp_0_optab,
10112 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
10113 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
10114 direct optabs.
10115 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
10116 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
10117 * tree-ssa-ccp.c: Include internal-fn.h.
10118 (optimize_atomic_bit_test_and): Add . before internal fn call
10119 in function comment. Change return type from void to bool and
10120 return true only if successfully replaced.
10121 (optimize_atomic_op_fetch_cmp_0): New function.
10122 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
10123 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
10124 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
10125 for *XOR* ones only if optimize_atomic_bit_test_and failed.
10126 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
10127 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
10128 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
10129 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
10130 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
10131 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
10132 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
10133 new named patterns.
10134
10135 2022-01-03 Richard Biener <rguenther@suse.de>
10136
10137 PR middle-end/103851
10138 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
10139
10140 2022-01-03 Jakub Jelinek <jakub@redhat.com>
10141
10142 PR c++/94716
10143 * symtab.c: Include fold-const.h.
10144 (symtab_node::equal_address_to): If folding_initializer is true,
10145 handle it like memory_accessed. Simplify.
10146
10147 2022-01-03 Martin Liska <mliska@suse.cz>
10148
10149 * doc/extend.texi: Use ; for function declarations.
10150
10151 2022-01-03 Jakub Jelinek <jakub@redhat.com>
10152
10153 PR c++/103600
10154 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
10155 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
10156
10157 2022-01-03 Jakub Jelinek <jakub@redhat.com>
10158
10159 * gcc.c (process_command): Update copyright notice dates.
10160 * gcov-dump.c (print_version): Ditto.
10161 * gcov.c (print_version): Ditto.
10162 * gcov-tool.c (print_version): Ditto.
10163 * gengtype.c (create_file): Ditto.
10164 * doc/cpp.texi: Bump @copying's copyright year.
10165 * doc/cppinternals.texi: Ditto.
10166 * doc/gcc.texi: Ditto.
10167 * doc/gccint.texi: Ditto.
10168 * doc/gcov.texi: Ditto.
10169 * doc/install.texi: Ditto.
10170 * doc/invoke.texi: Ditto.
10171
10172 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
10173
10174 PR target/103861
10175 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
10176 (VALID_INT_MODE_P): Ditto.
10177 * config/i386/i386.c (ix86_secondary_reload): Handle
10178 V2QImode reloads from SSE register to memory.
10179 (vector_mode_supported_p): Always return true for V2QImode.
10180 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
10181 (*negqi_ext<mode>_2): Ditto.
10182 * config/i386/mmx.md (movv2qi): New expander.
10183 (movmisalignv2qi): Ditto.
10184 (*movv2qi_internal): New insn pattern.
10185 (*pushv2qi2): Ditto.
10186 (negv2qi2 and splitters): Ditto.
10187 (<plusminus:insn>v2qi3 and splitters): Ditto.
10188
10189 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
10190
10191 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
10192 sync_lock_test_and_set libfunc. Call convert_memory_address to
10193 convert memory address to Pmode.
10194 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
10195
10196 \f
10197 Copyright (C) 2022 Free Software Foundation, Inc.
10198
10199 Copying and distribution of this file, with or without modification,
10200 are permitted in any medium without royalty provided the copyright
10201 notice and this notice are preserved.
This page took 0.450007 seconds and 6 git commands to generate.