]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ChangeLog
1 2022-07-01 Aldy Hernandez <aldyh@redhat.com>
2
3 * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
4 (trailing_wide_ints::set_precision): Add num_elements argument.
5 (trailing_wide_ints::extra_size): Same.
6
7 2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
8
9 * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
10 Use "r" constraint for operand 1.
11
12 2022-07-01 Richard Biener <rguenther@suse.de>
13
14 * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
15 Do not look at interesting_blocks which is a copy of
16 blocks_to_update.
17 (update_ssa): Do not initialize it.
18 (pass_build_ssa::execute): Set interesting_blocks to NULL
19 after releasing it.
20
21 2022-07-01 Richard Biener <rguenther@suse.de>
22
23 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
24 back to using maybe_ne (off, -1).
25
26 2022-07-01 Richard Biener <rguenther@suse.de>
27
28 * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
29 checking dominance check conditional on flag_checking.
30
31 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
32
33 * config/gcn/gcn-protos.h (print_operand_address): Remove register
34 keyword on 'rtx addr' argument.
35
36 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
37 Uroš Bizjak <ubizjak@gmail.com>
38
39 * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
40 to post-reload define_insn_and_split.
41
42 2022-07-01 Jakub Jelinek <jakub@redhat.com>
43
44 PR middle-end/106144
45 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
46 emitting element for shift or if shift is 0 first element after start.
47 (wide_int_cc_tests): Add tests for equivalency of wi::mask and
48 wi::shifted_mask with 0 start.
49
50 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
51
52 PR target/106122
53 * config/i386/i386.md (peephole2): Avoid generating pop %esp
54 when optimizing for size.
55
56 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
57 Uroš Bizjak <ubizjak@gmail.com>
58
59 * config/i386/i386.md (general_szext_operand): Add TImode
60 support using x86_64_hilo_general_operand predicate.
61 (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
62 (*add<dwi>3_doubleword): Improved optimization of zero addition.
63 (and<mode>3): Use SDWIM mode iterator to add support for double
64 word bit-wise AND in TImode. Use force_reg when double word
65 immediate operand isn't x86_64_hilo_general_operand.
66 (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
67 converted into a post-reload splitter.
68 (*andndi3_doubleword): Previous define_insn deleted.
69 (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
70 TARGET_BMI that splits post-reload.
71 (*andn<mode>3_doubleword): New define_insn_and_split for
72 !TARGET_BMI, that lowers/splits before reload.
73 (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
74 double word bit-wise XOR and bit-wise IOR in TImode. Use
75 force_reg when double word immediate operand isn't
76 x86_64_hilo_general_operand.
77 (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
78 (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
79 double word bit-wise NOT in TImode.
80 (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
81 and converted into a post-reload splitter.
82
83 2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
84
85 PR middle-end/105874
86 * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
87 EXPAND_MEMORY for the expansion of the inner reference only
88 in the usual cases where a memory reference is required.
89
90 2022-07-01 Richard Biener <rguenther@suse.de>
91
92 PR tree-optimization/106131
93 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
94 zero when offsetting the read looking through an aggregate
95 copy.
96
97 2022-07-01 Martin Liska <mliska@suse.cz>
98
99 PR tree-optimization/106126
100 * gimple-if-to-switch.cc (struct condition_info): Save
101 has_side_effect.
102 (find_conditions): Parse all BBs.
103 (pass_if_to_switch::execute): Allow only side effects for first
104 BB.
105
106 2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
107
108 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
109 Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
110 OPTION_MASK_ISA2_AVX512BF16_UNSET and
111 OPTION_MASK_ISA2_AVX512FP16_UNSET.
112
113 2022-06-30 Joseph Myers <joseph@codesourcery.com>
114
115 PR lto/106129
116 * lto-wrapper.cc (find_option): Add argument start.
117 (merge_and_complain): Loop over existing_opt_index and
118 existing_opt2_index for Xassembler check. Update calls to
119 find_option.
120 (find_and_merge_options): Add argument first to determine whether
121 to merge options with those passed in *opts.
122 (run_gcc): Update calls to find_and_merge_options.
123
124 2022-06-30 Aldy Hernandez <aldyh@redhat.com>
125
126 * gimple-range-cache.cc (block_range_cache::block_range_cache):
127 Rename vrange_allocator to obstack_vrange_allocator.
128 (ssa_global_cache::ssa_global_cache): Same.
129 * gimple-range-edge.h (class gimple_outgoing_range): Same.
130 * gimple-range-infer.h (class infer_range_manager): Same.
131 * value-range.h (class vrange_allocator): Make abstract.
132 (class obstack_vrange_allocator): Inherit from vrange_allocator.
133 (class ggc_vrange_allocator): New.
134
135 2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
136 Uroš Bizjak <ubizjak@gmail.com>
137
138 * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
139 provide gen_swapsi.
140 (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
141 via new gen_<insn>32di2_doubleword below.
142 (<anyrotate>32di2_doubleword): New define_insn_and_split
143 that splits after reload as either a pair of move instructions
144 or an xchgl (using gen_swapsi).
145
146 2022-06-30 Richard Biener <rguenther@suse.de>
147
148 * domwalk.h (dom_walker::dom_walker): Update comment to
149 reflect reality and new special argument value for
150 bb_index_to_rpo.
151 * domwalk.cc (dom_walker::dom_walker): Recognize -1
152 bb_index_to_rpo.
153 * tree-into-ssa.cc
154 (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
155 dom_walker to not use RPO.
156
157 2022-06-30 Martin Liska <mliska@suse.cz>
158
159 * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
160 it is unused.
161
162 2022-06-30 Andrew MacLeod <amacleod@redhat.com>
163
164 PR tree-optimization/106114
165 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
166 statement operands instead of GORI cache.
167
168 2022-06-30 Antoni Boucher <bouanto@zoho.com>
169
170 PR target/106095
171 * config/i386/sse.md: Fix asm generation.
172
173 2022-06-29 Sergei Trofimovich <siarheit@google.com>
174
175 PR c++/106102
176 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
177
178 2022-06-29 Joseph Myers <joseph@codesourcery.com>
179
180 * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
181 not gen_const_mem for UNSPEC_PIC_CALL_SYM.
182
183 2022-06-29 Richard Biener <rguenther@suse.de>
184
185 PR rtl-optimization/106082
186 * combine.cc (distribute_notes): Preserve notes when
187 they indicate a call doesn't perform a non-local goto.
188
189 2022-06-29 Richard Biener <rguenther@suse.de>
190
191 PR tree-optimization/106112
192 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
193 a constant operand according to its type.
194
195 2022-06-29 Martin Liska <mliska@suse.cz>
196
197 * doc/invoke.texi: Remove removed evrp-mode.
198
199 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
200
201 PR target/106097
202 * config/loongarch/loongarch.cc (loongarch_build_integer):
203 Remove undefined behavior from code.
204
205 2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
206
207 * doc/sourcebuild.texi: Document new no_alignment_constraints
208 effective target check.
209
210 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
211
212 * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
213 * flag-types.h (enum evrp_mode): Remove.
214 * params.opt: Remove --param=evrp-mode.
215 * tree-vrp.cc (make_pass_early_vrp): New.
216 (pass_vrp::execute): Call early VRP instance.
217 * gimple-ssa-evrp-analyze.cc: Removed.
218 * gimple-ssa-evrp-analyze.h: Removed.
219 * gimple-ssa-evrp.cc: Removed.
220
221 2022-06-28 Alexandre Oliva <oliva@adacore.com>
222
223 * Makefile.in (TFLAGS): New.
224 (GCC_FOR_TARGET): Add TFLAGS.
225 (FLAGS_TO_PASS): Pass TFLAGS down.
226
227 2022-06-28 Richard Biener <rguenther@suse.de>
228
229 * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
230 call update_ssa.
231
232 2022-06-28 Richard Biener <rguenther@suse.de>
233
234 * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
235 mark_block_for_update.
236 (update_ssa): Adjust.
237
238 2022-06-28 Xi Ruoyao <xry111@xry111.site>
239
240 PR target/106096
241 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
242 $r13 from SIBCALL_REGS.
243 * config/loongarch/loongarch.cc (loongarch_regno_to_class):
244 Change $r13 to JIRL_REGS.
245
246 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
247
248 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
249 irange::supports_p.
250
251 2022-06-28 Richard Biener <rguenther@suse.de>
252
253 PR middle-end/106053
254 * match.pd ((T)a == (T)b): Avoid folding away sign
255 changes in a comparison if we'd truncate to a boolean.
256
257 2022-06-28 Kewen Lin <linkw@linux.ibm.com>
258
259 * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
260 iterator GPR with SImode, adjust the condition and output template,
261 rename to ...
262 (*rotlsi3_insert_4): ... this.
263
264 2022-06-27 David Malcolm <dmalcolm@redhat.com>
265
266 * genmatch.cc: Add "final" and "override" to various vfunc
267 implementations, removing redundant "virtual" as appropriate.
268 * gensupport.cc: Likewise.
269 * gimple-range-cache.h: Likewise.
270 * ipa-icf-gimple.h: Likewise.
271 * ipa-icf.h: Likewise.
272 * read-md.h: Likewise.
273 * read-rtl-function.cc: Likewise.
274 * tree-ssa-loop-ch.cc: Likewise.
275 * tree-ssa-sccvn.cc: Likewise.
276
277 2022-06-27 David Malcolm <dmalcolm@redhat.com>
278
279 * config/i386/i386-features.h: Add "final" and "override" to
280 scalar_chain vfunc implementations as appropriate.
281
282 2022-06-27 David Malcolm <dmalcolm@redhat.com>
283
284 * tree-switch-conversion.h: Add "final" and "override" to cluster
285 vfunc implementations as appropriate.
286
287 2022-06-27 David Malcolm <dmalcolm@redhat.com>
288
289 * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
290 implementations as appropriate.
291
292 2022-06-27 David Malcolm <dmalcolm@redhat.com>
293
294 * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
295 implementations, removing redundant "virtual" as appropriate.
296 * gimple-ssa-strength-reduction.cc: Likewise.
297 * ipa-prop.cc: Likewise.
298 * rtl-ssa/blocks.cc: Likewise.
299 * tree-into-ssa.cc: Likewise.
300 * tree-ssa-dom.cc: Likewise.
301 * tree-ssa-math-opts.cc: Likewise.
302 * tree-ssa-phiopt.cc: Likewise.
303 * tree-ssa-propagate.cc: Likewise.
304 * tree-ssa-sccvn.cc: Likewise.
305 * tree-ssa-strlen.cc: Likewise.
306 * tree-ssa-uncprop.cc: Likewise.
307
308 2022-06-27 David Malcolm <dmalcolm@redhat.com>
309
310 * adjust-alignment.cc: Add "final" and "override" to opt_pass
311 vfunc implementations, removing redundant "virtual" as
312 appropriate.
313 * asan.cc: Likewise.
314 * auto-inc-dec.cc: Likewise.
315 * auto-profile.cc: Likewise.
316 * bb-reorder.cc: Likewise.
317 * cfgcleanup.cc: Likewise.
318 * cfgexpand.cc: Likewise.
319 * cfgrtl.cc: Likewise.
320 * cgraphbuild.cc: Likewise.
321 * combine-stack-adj.cc: Likewise.
322 * combine.cc: Likewise.
323 * compare-elim.cc: Likewise.
324 * config/i386/i386-features.cc: Likewise.
325 * coroutine-passes.cc: Likewise.
326 * cprop.cc: Likewise.
327 * cse.cc: Likewise.
328 * dce.cc: Likewise.
329 * df-core.cc: Likewise.
330 * dse.cc: Likewise.
331 * dwarf2cfi.cc: Likewise.
332 * early-remat.cc: Likewise.
333 * except.cc: Likewise.
334 * final.cc: Likewise.
335 * function.cc: Likewise.
336 * fwprop.cc: Likewise.
337 * gcse.cc: Likewise.
338 * gimple-harden-conditionals.cc: Likewise.
339 * gimple-if-to-switch.cc: Likewise.
340 * gimple-isel.cc: Likewise.
341 * gimple-laddress.cc: Likewise.
342 * gimple-loop-interchange.cc: Likewise.
343 * gimple-loop-jam.cc: Likewise.
344 * gimple-loop-versioning.cc: Likewise.
345 * gimple-low.cc: Likewise.
346 * gimple-ssa-backprop.cc: Likewise.
347 * gimple-ssa-evrp.cc: Likewise.
348 * gimple-ssa-isolate-paths.cc: Likewise.
349 * gimple-ssa-nonnull-compare.cc: Likewise.
350 * gimple-ssa-split-paths.cc: Likewise.
351 * gimple-ssa-store-merging.cc: Likewise.
352 * gimple-ssa-strength-reduction.cc: Likewise.
353 * gimple-ssa-warn-access.cc: Likewise.
354 * gimple-ssa-warn-alloca.cc: Likewise.
355 * gimple-ssa-warn-restrict.cc: Likewise.
356 * gimple-warn-recursion.cc: Likewise.
357 * graphite.cc: Likewise.
358 * ifcvt.cc: Likewise.
359 * init-regs.cc: Likewise.
360 * ipa-comdats.cc: Likewise.
361 * ipa-cp.cc: Likewise.
362 * ipa-devirt.cc: Likewise.
363 * ipa-fnsummary.cc: Likewise.
364 * ipa-free-lang-data.cc: Likewise.
365 * ipa-icf.cc: Likewise.
366 * ipa-inline.cc: Likewise.
367 * ipa-modref.cc: Likewise.
368 * ipa-profile.cc: Likewise.
369 * ipa-pure-const.cc: Likewise.
370 * ipa-reference.cc: Likewise.
371 * ipa-split.cc: Likewise.
372 * ipa-sra.cc: Likewise.
373 * ipa-visibility.cc: Likewise.
374 * ipa.cc: Likewise.
375 * ira.cc: Likewise.
376 * jump.cc: Likewise.
377 * loop-init.cc: Likewise.
378 * lower-subreg.cc: Likewise.
379 * mode-switching.cc: Likewise.
380 * modulo-sched.cc: Likewise.
381 * multiple_target.cc: Likewise.
382 * omp-expand.cc: Likewise.
383 * omp-low.cc: Likewise.
384 * omp-oacc-kernels-decompose.cc: Likewise.
385 * omp-oacc-neuter-broadcast.cc: Likewise.
386 * omp-offload.cc: Likewise.
387 * omp-simd-clone.cc: Likewise.
388 * passes.cc: Likewise.
389 * postreload-gcse.cc: Likewise.
390 * postreload.cc: Likewise.
391 * predict.cc: Likewise.
392 * recog.cc: Likewise.
393 * ree.cc: Likewise.
394 * reg-stack.cc: Likewise.
395 * regcprop.cc: Likewise.
396 * reginfo.cc: Likewise.
397 * regrename.cc: Likewise.
398 * reorg.cc: Likewise.
399 * sancov.cc: Likewise.
400 * sanopt.cc: Likewise.
401 * sched-rgn.cc: Likewise.
402 * stack-ptr-mod.cc: Likewise.
403 * store-motion.cc: Likewise.
404 * tracer.cc: Likewise.
405 * trans-mem.cc: Likewise.
406 * tree-call-cdce.cc: Likewise.
407 * tree-cfg.cc: Likewise.
408 * tree-cfgcleanup.cc: Likewise.
409 * tree-complex.cc: Likewise.
410 * tree-eh.cc: Likewise.
411 * tree-emutls.cc: Likewise.
412 * tree-if-conv.cc: Likewise.
413 * tree-into-ssa.cc: Likewise.
414 * tree-loop-distribution.cc: Likewise.
415 * tree-nrv.cc: Likewise.
416 * tree-object-size.cc: Likewise.
417 * tree-parloops.cc: Likewise.
418 * tree-predcom.cc: Likewise.
419 * tree-profile.cc: Likewise.
420 * tree-sra.cc: Likewise.
421 * tree-ssa-ccp.cc: Likewise.
422 * tree-ssa-copy.cc: Likewise.
423 * tree-ssa-dce.cc: Likewise.
424 * tree-ssa-dom.cc: Likewise.
425 * tree-ssa-dse.cc: Likewise.
426 * tree-ssa-forwprop.cc: Likewise.
427 * tree-ssa-ifcombine.cc: Likewise.
428 * tree-ssa-loop-ch.cc: Likewise.
429 * tree-ssa-loop-im.cc: Likewise.
430 * tree-ssa-loop-ivcanon.cc: Likewise.
431 * tree-ssa-loop-prefetch.cc: Likewise.
432 * tree-ssa-loop-split.cc: Likewise.
433 * tree-ssa-loop-unswitch.cc: Likewise.
434 * tree-ssa-loop.cc: Likewise.
435 * tree-ssa-math-opts.cc: Likewise.
436 * tree-ssa-phiopt.cc: Likewise.
437 * tree-ssa-phiprop.cc: Likewise.
438 * tree-ssa-pre.cc: Likewise.
439 * tree-ssa-reassoc.cc: Likewise.
440 * tree-ssa-sccvn.cc: Likewise.
441 * tree-ssa-sink.cc: Likewise.
442 * tree-ssa-strlen.cc: Likewise.
443 * tree-ssa-structalias.cc: Likewise.
444 * tree-ssa-uncprop.cc: Likewise.
445 * tree-ssa-uninit.cc: Likewise.
446 * tree-ssanames.cc: Likewise.
447 * tree-stdarg.cc: Likewise.
448 * tree-switch-conversion.cc: Likewise.
449 * tree-tailcall.cc: Likewise.
450 * tree-vect-generic.cc: Likewise.
451 * tree-vectorizer.cc: Likewise.
452 * tree-vrp.cc: Likewise.
453 * tsan.cc: Likewise.
454 * ubsan.cc: Likewise.
455 * var-tracking.cc: Likewise.
456 * vtable-verify.cc: Likewise.
457 * web.cc: Likewise.
458
459 2022-06-27 Andrew Stubbs <ams@codesourcery.com>
460
461 * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
462 (jump): Likewise.
463 (movdi_symbol_save_scc): Likewise.
464
465 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
466
467 PR rtl-optimization/7061
468 * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
469
470 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
471
472 PR tree-optimization/94026
473 * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
474 (((X >> C1) & C2) eq/ne C3): Likewise.
475
476 2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
477
478 * statistics.cc: Include tree.h.
479 (get_function_name): New function.
480 (statistics_fini_pass_2): Call get_function_name instead of
481 current_function_name.
482 (statistics_counter_event): Call get_function_name instead of
483 function_name.
484 (statistics_histogram_event): Likewise.
485
486 2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
487
488 * config/xtensa/xtensa.md:
489 Suppress unnecessary emitting nop insn in the split patterns for
490 integer/FP constant synthesis, and add new peephole2 pattern that
491 folds such synthesized additions.
492
493 2022-06-25 Aldy Hernandez <aldyh@redhat.com>
494
495 * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
496 instead of evrp.
497 (dom_jt_state::push): Remove m_evrp.
498 (dom_jt_state::pop): Same.
499 (dom_jt_state::record_ranges_from_stmt): Remove.
500 (dom_jt_state::register_equiv): Remove updating of evrp ranges.
501 (class dom_jt_simplifier): Pass ranger to constructor.
502 Inherit from hybrid_jt_simplifier.
503 (dom_jt_simplifier::simplify): Convert to ranger.
504 (pass_dominator::execute): Same.
505 (all_uses_feed_or_dominated_by_stmt): New.
506 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
507 (dom_opt_dom_walker::before_dom_children): Call
508 set_global_ranges_from_unreachable_edges.
509 Do not call record_ranges_from_stmt.
510 (dom_opt_dom_walker::after_dom_children): Remove evrp use.
511 (cprop_operand): Use int_range<> instead of value_range.
512 (dom_opt_dom_walker::fold_cond): New.
513 (dom_opt_dom_walker::optimize_stmt): Pass ranger to
514 cprop_into_stmt.
515 Use fold_cond() instead of vrp_visit_cond_stmt().
516 * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
517 pass state to simplifier.
518 * vr-values.h (class vr_values): Make fold_cond public.
519
520 2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
521
522 * common/config/tilegx/tilegx-common.cc: Removed.
523 * common/config/tilepro/tilepro-common.cc: Removed.
524 * config.gcc: Remove tilegx and tilepro entries.
525 * config/tilegx/constraints.md: Removed.
526 * config/tilegx/feedback.h: Removed.
527 * config/tilegx/linux.h: Removed.
528 * config/tilegx/mul-tables.cc: Removed.
529 * config/tilegx/predicates.md: Removed.
530 * config/tilegx/sync.md: Removed.
531 * config/tilegx/t-tilegx: Removed.
532 * config/tilegx/tilegx-builtins.h: Removed.
533 * config/tilegx/tilegx-c.cc: Removed.
534 * config/tilegx/tilegx-generic.md: Removed.
535 * config/tilegx/tilegx-modes.def: Removed.
536 * config/tilegx/tilegx-multiply.h: Removed.
537 * config/tilegx/tilegx-opts.h: Removed.
538 * config/tilegx/tilegx-protos.h: Removed.
539 * config/tilegx/tilegx.cc: Removed.
540 * config/tilegx/tilegx.h: Removed.
541 * config/tilegx/tilegx.md: Removed.
542 * config/tilegx/tilegx.opt: Removed.
543 * config/tilepro/constraints.md: Removed.
544 * config/tilepro/feedback.h: Removed.
545 * config/tilepro/gen-mul-tables.cc: Removed.
546 * config/tilepro/linux.h: Removed.
547 * config/tilepro/mul-tables.cc: Removed.
548 * config/tilepro/predicates.md: Removed.
549 * config/tilepro/t-tilepro: Removed.
550 * config/tilepro/tilepro-builtins.h: Removed.
551 * config/tilepro/tilepro-c.cc: Removed.
552 * config/tilepro/tilepro-generic.md: Removed.
553 * config/tilepro/tilepro-modes.def: Removed.
554 * config/tilepro/tilepro-multiply.h: Removed.
555 * config/tilepro/tilepro-protos.h: Removed.
556 * config/tilepro/tilepro.cc: Removed.
557 * config/tilepro/tilepro.h: Removed.
558 * config/tilepro/tilepro.md: Removed.
559 * config/tilepro/tilepro.opt: Removed.
560 * configure.ac: Remove tilegx and tilepro entries.
561 * configure: Rebuilt.
562 * doc/extend.texi: Remove tilegx and tilepro entries.
563 * doc/install.texi: Remove tilegx and tilepro entries.
564 * doc/invoke.texi: Remove tilegx and tilepro entries.
565 * doc/md.texi: Remove tilegx and tilepro entries.
566
567 2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
568 Richard Biener <rguenther@suse.de>
569
570 * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
571 iteration over each basic block that was updated by the second
572 iteration.
573
574 2022-06-24 Jason Merrill <jason@redhat.com>
575
576 PR c++/87729
577 PR c++/20423
578 * doc/invoke.texi: Document changes.
579
580 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
581
582 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
583 condition to avoid overflow.
584
585 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
586
587 * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
588 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
589 * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
590 OPTION_MASK_PPC_GFXOPT.
591 * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
592 * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
593 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
594 * config/rs6000/rs6000-c.cc: Update comment.
595 * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
596 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
597 MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
598 (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
599 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
600 * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
601 MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
602 MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
603 MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
604
605 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
606
607 * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
608 OPTION_MASK_MFCRF.
609 * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
610 OPTION_MASK_MULTIPLE.
611 * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
612 * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
613 OPTION_MASK_MFCRF.
614 * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
615 OPTION_MASK_EABI.
616 * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
617 * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
618 MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
619 * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
620 MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
621 MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
622 MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
623 MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
624 Replace with
625 OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
626 OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
627 OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
628 OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
629 OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
630 OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
631 OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
632 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
633 MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
634 * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
635 with OPTION_MASK_MULTIPLE.
636 (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
637 MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
638 MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
639 MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
640 MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
641 * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
642 with OPTION_MASK_EABI.
643
644 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
645
646 * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
647 RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
648 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
649 RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
650 OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
651 OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
652 OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
653 * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
654 RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
655 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
656 RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
657
658 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
659
660 * config/rs6000/rs6000-c.cc: Update comments.
661 * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
662 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
663 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
664 RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
665 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
666 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
667 OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
668 OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
669 OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
670 OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
671 OPTION_MASK_MMA, OPTION_MASK_POWER10.
672 * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
673 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
674 RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
675 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
676 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
677
678 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
679
680 * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
681 MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
682 OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
683
684 2022-06-24 Richard Biener <rguenther@suse.de>
685
686 PR middle-end/106070
687 * match.pd (a != b ? a : b): Fix translation of
688 operand_equal_for_comparison_p.
689
690 2022-06-24 Jan Hubicka <jh@suse.cz>
691
692 PR ipa/106057
693 * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
694
695 2022-06-24 Martin Liska <mliska@suse.cz>
696
697 PR middle-end/106059
698 * profile-count.h: *= and /= operators need to modify this
699 object.
700
701 2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
702 Uroš Bizjak <ubizjak@gmail.com>
703
704 PR target/105930
705 * config/i386/i386.md (*<any_or>di3_doubleword): Split after
706 reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
707 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
708
709 2022-06-24 Alexandre Oliva <oliva@adacore.com>
710
711 * common.opt (nostdlib++): New.
712 * doc/invoke.texi (-nostdlib++): Document it.
713
714 2022-06-24 Alexandre Oliva <oliva@adacore.com>
715
716 * doc/sourcebuild.texi (Environment attributes): Document
717 two_plus_gigs.
718
719 2022-06-23 David Malcolm <dmalcolm@redhat.com>
720
721 * common.opt (fdiagnostics-show-rules): New option.
722 * diagnostic-format-json.cc (diagnostic_output_format_init_json):
723 Fix up context->show_rules.
724 * diagnostic-format-sarif.cc
725 (diagnostic_output_format_init_sarif): Likewise.
726 * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
727 (diagnostic_metadata::precanned_rule): New class.
728 (diagnostic_metadata::add_rule): New.
729 (diagnostic_metadata::get_num_rules): New.
730 (diagnostic_metadata::get_rule): New.
731 (diagnostic_metadata::m_rules): New field.
732 * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
733 (print_any_rules): New.
734 (diagnostic_report_diagnostic): Call it.
735 * diagnostic.h (diagnostic_context::show_rules): New field.
736 * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
737 * opts.cc (common_handle_option): Handle
738 OPT_fdiagnostics_show_rules.
739 * toplev.cc (general_init): Set up global_dc->show_rules.
740
741 2022-06-23 Martin Liska <mliska@suse.cz>
742
743 PR c++/106062
744 * ubsan.cc (sanitize_unreachable_fn): Change order of calls
745 in order to initialize UBSAN built-ins.
746
747 2022-06-23 Martin Liska <mliska@suse.cz>
748
749 PR ipa/105600
750 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
751 Skip variables with body_removed.
752
753 2022-06-23 liuhongt <hongtao.liu@intel.com>
754
755 * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
756 reg_or_subregno.
757 (sse4_2_pcmpistr): Ditto.
758
759 2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
760
761 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
762 typo.
763 * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
764 * tree-switch-conversion.h: Likewise.
765
766 2022-06-22 Jason Merrill <jason@redhat.com>
767
768 PR c++/104642
769 * common.opt: Add -funreachable-traps.
770 * doc/invoke.texi (-funreachable-traps): Document it.
771 * opts.cc (finish_options): Enable at -O0 or -Og.
772 * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
773 (builtin_decl_unreachable, build_builtin_unreachable): New.
774 * tree.h: Declare them.
775 * ubsan.cc (sanitize_unreachable_fn): Factor out.
776 (ubsan_instrument_unreachable): Use
777 gimple_build_builtin_unreachable.
778 * ubsan.h (sanitize_unreachable_fn): Declare.
779 * gimple.cc (gimple_build_builtin_unreachable): New.
780 * gimple.h: Declare it.
781 * builtins.cc (expand_builtin_unreachable): Add assert.
782 (fold_builtin_0): Call build_builtin_unreachable.
783 * sanopt.cc: Don't run for just SANITIZE_RETURN
784 or SANITIZE_UNREACHABLE when trapping.
785 * cgraphunit.cc (walk_polymorphic_call_targets): Use new
786 unreachable functions.
787 * gimple-fold.cc (gimple_fold_call)
788 (gimple_get_virt_method_for_vtable)
789 * ipa-fnsummary.cc (redirect_to_unreachable)
790 * ipa-prop.cc (ipa_make_edge_direct_to_target)
791 (ipa_impossible_devirt_target)
792 * ipa.cc (walk_polymorphic_call_targets)
793 * tree-cfg.cc (pass_warn_function_return::execute)
794 (execute_fixup_cfg)
795 * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
796 (unloop_loops)
797 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
798 Likewise.
799
800 2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
801
802 PR tree-optimization/106019
803 * tree-data-ref.cc (dr_may_alias_p): Try using the
804 innermost_loop_behavior to disambiguate non-loop queries.
805
806 2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
807
808 * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
809
810 2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
811
812 * config/xtensa/xtensa.md (bswapsi2_internal):
813 Enlarge the buffer that is obviously smaller than the template
814 string given to sprintf().
815
816 2022-06-21 Roger Sayle <roger@nextmovesoftware.com>
817 Marek Polacek <polacek@redhat.com>
818 Segher Boessenkool <segher@kernel.crashing.org>
819 Kewen Lin <linkw@linux.ibm.com>
820
821 PR target/105991
822 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
823 exact_log2 doesn't return -1 (or zero).
824 (plus_xor): New code iterator.
825 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
826
827 2022-06-21 Nathan Sidwell <nathan@acm.org>
828
829 * doc/invoke.texi (C++ Modules): Remove language-linkage
830 as missing feature.
831
832 2022-06-21 Arjun Shankar <arjun@redhat.com>
833
834 PR tree-optimization/94899
835 * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
836 0x80000000): New simplification.
837
838 2022-06-21 Jakub Jelinek <jakub@redhat.com>
839
840 PR rtl-optimization/106032
841 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
842 t may_trap_or_fault_p, even if it is cheap.
843
844 2022-06-21 Jakub Jelinek <jakub@redhat.com>
845
846 PR middle-end/106030
847 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
848 temp to expand_operands if mode has been promoted.
849
850 2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
851
852 PR target/105740
853 * gimple-if-to-switch.cc (find_conditions): Don't skip the first
854 condition bb.
855
856 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
857
858 PR tree-optimization/105736
859 * tree-object-size.cc (addr_object_size): Return size_unknown
860 when object offset computation returns an error.
861
862 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
863
864 PR target/105960
865 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
866 false if PIC register is used when calling ifunc functions.
867
868 2022-06-20 Richard Biener <rguenther@suse.de>
869
870 PR middle-end/106027
871 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
872 type of the prevailing comparison for the new comparison type.
873 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
874 to A < X && A >= Y folding.
875
876 2022-06-20 Kewen Lin <linkw@linux.ibm.com>
877
878 PR tree-optimization/105940
879 * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
880 slp_done_for_suggested_uf and adjust with it accordingly.
881 (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
882 pass it down to vect_analyze_loop_2 for the initial analysis and
883 applying suggested unroll factor.
884 (vect_is_simple_reduction): Add parameter slp and adjust with it.
885 (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
886 (vect_analyze_scalar_cycles): Likewise.
887
888 2022-06-20 Martin Liska <mliska@suse.cz>
889
890 * bb-reorder.cc (find_traces_1_round): Add operators / and * and
891 use them.
892 (better_edge_p): Likewise.
893 * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
894 * cfgloopmanip.cc (scale_loop_profile): Likewise.
895 * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
896 * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
897 * config/sh/sh.cc (expand_cbranchdi4): Likewise.
898 * dojump.cc (do_compare_rtx_and_jump): Likewise.
899 * final.cc (compute_alignments): Likewise.
900 * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
901 (decide_about_value): Likewise.
902 * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
903 * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
904 * modulo-sched.cc (sms_schedule): Likewise.
905 * omp-expand.cc (extract_omp_for_update_vars): Likewise.
906 (expand_omp_ordered_sink): Likewise.
907 (expand_omp_for_ordered_loops): Likewise.
908 (expand_omp_for_static_nochunk): Likewise.
909 * predict.cc (maybe_hot_count_p): Likewise.
910 (probably_never_executed): Likewise.
911 (set_even_probabilities): Likewise.
912 (handle_missing_profiles): Likewise.
913 (expensive_function_p): Likewise.
914 * profile-count.h: Likewise.
915 * profile.cc (compute_branch_probabilities): Likewise.
916 * stmt.cc (emit_case_dispatch_table): Likewise.
917 * symtab-thunks.cc (expand_thunk): Likewise.
918 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
919 * tree-ssa-sink.cc (select_best_block): Likewise.
920 * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
921 (switch_decision_tree::balance_case_nodes): Likewise.
922 (switch_decision_tree::emit_case_nodes): Likewise.
923 * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
924
925 2022-06-20 yulong <shiyulong@iscas.ac.cn>
926
927 * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
928 * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
929 of RISCV_BUILTIN.
930 * config/riscv/riscv-ftypes.def (0): Remove unused.
931 (1): New.
932
933 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
934
935 * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
936 Consider relaxed MOVI instructions as L32R.
937
938 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
939
940 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
941 Use can_create_pseudo_p(), instead of using individual
942 reload_in_progress and reload_completed.
943 (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
944 the existing predicate function.
945 (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
946 Use the standard RTX code predicate macros such as MEM_P,
947 SYMBOL_REF_P and/or CONST_INT_P.
948 * config/xtensa/xtensa.md: Avoid using numeric literals to determine
949 if callee-saved register, at the split patterns for indirect sibcall
950 fixups.
951
952 2022-06-18 Jakub Jelinek <jakub@redhat.com>
953
954 * common.opt (flag_sanitize_trap): New variable.
955 (fsanitize-trap=, fsanitize-trap): New options.
956 (fsanitize-undefined-trap-on-error): Change into deprecated alias
957 for -fsanitize-trap=all.
958 * opts.h (struct sanitizer_opts_s): Add can_trap member.
959 * opts.cc (finish_options): Complain about unsupported
960 -fsanitize-trap= options.
961 (sanitizer_opts): Add can_trap values to all entries.
962 (get_closest_sanitizer_option): Ignore -fsanitize-trap=
963 options which have can_trap false.
964 (parse_sanitizer_options): Add support for -fsanitize-trap=.
965 For -fsanitize-trap=all, enable
966 SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow
967 -fsanitize-trap=vptr here.
968 (common_handle_option): Handle OPT_fsanitize_trap_ and
969 OPT_fsanitize_trap.
970 * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
971 flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
972 flag_sanitize_undefined_trap_on_error.
973 * gcc.cc (sanitize_spec_function): Use
974 flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
975 and drop use of flag_sanitize_undefined_trap_on_error in
976 "undefined" handling.
977 * ubsan.cc (ubsan_instrument_unreachable): Use
978 flag_sanitize_trap & SANITIZE_??? instead of
979 flag_sanitize_undefined_trap_on_error.
980 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
981 ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
982 ubsan_build_overflow_builtin, instrument_bool_enum_load,
983 ubsan_instrument_float_cast, instrument_nonnull_arg,
984 instrument_nonnull_return, instrument_builtin): Likewise.
985 * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
986 (-fsanitize-undefined-trap-on-error): Document as deprecated
987 alias of -fsanitize-trap.
988
989 2022-06-18 Jakub Jelinek <jakub@redhat.com>
990
991 PR middle-end/105998
992 * varasm.cc (narrowing_initializer_constant_valid_p): Check
993 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
994 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
995
996 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
997
998 PR tree-optimization/105835
999 * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
1000 Narrow integer multiplication by a zero_one_valued_p operand.
1001 (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
1002 conversions inside COND_EXPR where both data operands are
1003 integer constants.
1004
1005 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1006
1007 * config/xtensa/constraints.md (Y):
1008 Change to include integer constants until reload begins.
1009 * config/xtensa/predicates.md (move_operand): Ditto.
1010 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
1011 Change to allow storing integer constants into litpool only after
1012 reload begins.
1013
1014 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
1015
1016 PR target/105209
1017 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
1018 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
1019 (alpha_store_data_bypass_p_1): Ditto.
1020 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
1021 of generic store_data_bypass_p.
1022 (ev4_ist_c): Remove insn reservation.
1023
1024 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
1025
1026 PR target/105970
1027 * config/i386/i386.cc (ix86_function_arg): Assert that
1028 the mode of pointer argumet is equal to ptr_mode, not Pmode.
1029
1030 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
1031
1032 PR target/105993
1033 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
1034 instead of REGNO comparisons in combine splitter.
1035
1036 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
1037
1038 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
1039 types.
1040
1041 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
1042
1043 * config/riscv/bitmanip.md: Supress warning.
1044
1045 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
1046
1047 PR target/106004
1048 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
1049 Clear bits in the mask above bit 31.
1050
1051 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
1052
1053 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
1054 to avoid spilling trivial literals to the constant pool.
1055
1056 2022-06-16 David Malcolm <dmalcolm@redhat.com>
1057
1058 * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
1059 auto_diagnostic_group to group any warning with its note.
1060 (maybe_warn_for_bound): Likewise.
1061 (check_access): Likewise.
1062 (warn_dealloc_offset): Likewise.
1063 (pass_waccess::maybe_warn_memmodel): Likewise.
1064 (pass_waccess::maybe_check_dealloc_call): Likewise.
1065 (pass_waccess::warn_invalid_pointer): Likewise.
1066 (pass_waccess::check_dangling_stores): Likewise.
1067
1068 2022-06-16 Jason Merrill <jason@redhat.com>
1069
1070 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
1071 opts_set->x_flag_sanitize.
1072
1073 2022-06-16 Jason Merrill <jason@redhat.com>
1074
1075 * flags.h (issue_strict_overflow_warning): Comment #endif.
1076
1077 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
1078
1079 * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
1080 was invaraint before, clear the invariant bit.
1081 * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
1082 * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
1083
1084 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
1085
1086 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
1087
1088 2022-06-16 Jakub Jelinek <jakub@redhat.com>
1089
1090 PR tree-optimization/105983
1091 * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
1092 y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
1093 on non-equality comparisons.
1094
1095 2022-06-16 Jakub Jelinek <jakub@redhat.com>
1096
1097 PR tree-optimization/105984
1098 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
1099 x > stype_max / cst || x < stype_min / cst): fold_convert @1
1100 to TREE_TYPE (@0) just once and test for negative divisor
1101 also on that folded constant instead of on @1.
1102
1103 2022-06-16 Jakub Jelinek <jakub@redhat.com>
1104
1105 PR middle-end/105951
1106 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
1107 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
1108 as last argument to the internal functions.
1109 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
1110 extra call argument to ifns. If expand_atomic_fetch_op fails for the
1111 lhs == NULL_TREE case, fall through into the optab code with
1112 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
1113 fails, construct a CALL_EXPR and expand that.
1114 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
1115 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
1116 expand that.
1117
1118 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
1119
1120 PR target/103316
1121 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
1122 gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
1123 RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
1124 RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
1125 * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support
1126 for new Power10 V1TI instructions.
1127 (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
1128 (vec_cmpu<mode><mode>): Likewise.
1129 (vector_nlt<mode>): Set mode iterator to VEC_IC.
1130 (vector_nltv1ti): Remove.
1131 (vector_gtu<mode>): Set mode iterator to VEC_IC.
1132 (vector_gtuv1ti): Remove.
1133 (vector_nltu<mode>): Set mode iterator to VEC_IC.
1134 (vector_nltuv1ti): Remove.
1135 (vector_geu<mode>): Set mode iterator to VEC_IC.
1136 (vector_ngt<mode>): Likewise.
1137 (vector_ngtv1ti): Remove.
1138 (vector_ngtu<mode>): Set mode iterator to VEC_IC.
1139 (vector_ngtuv1ti): Remove.
1140 (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
1141 (vector_gtu_v1ti_p): Remove.
1142 (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
1143 (vrotlv1ti3): Remove.
1144 (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
1145 (vashrv1ti3): Remove.
1146
1147 2022-06-16 Martin Liska <mliska@suse.cz>
1148
1149 * gengtype-state.cc (read_a_state_token): Do not skip extra
1150 character after escaped sequence.
1151
1152 2022-06-16 Martin Liska <mliska@suse.cz>
1153
1154 PR driver/105564
1155 * spellcheck.cc (test_find_closest_string): Add new test.
1156 * spellcheck.h (class best_match): Prefer a difference in
1157 trailing sign symbol.
1158
1159 2022-06-16 liuhongt <hongtao.liu@intel.com>
1160
1161 PR tree-optimization/53533
1162 * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
1163 (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
1164 and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
1165
1166 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1167
1168 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
1169
1170 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1171
1172 * config/xtensa/predicates.md (reload_operand):
1173 New predicate.
1174 * config/xtensa/xtensa.md: New peephole2 pattern.
1175
1176 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1177
1178 * config/xtensa/xtensa.md (*round_up_to_even):
1179 New insn-and-split pattern.
1180 (*signed_ge_zero): Ditto.
1181
1182 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1183
1184 * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
1185 xtensa_emit_sibcall): New prototypes.
1186 (xtensa_expand_epilogue): Add new argument that specifies whether
1187 or not sibling call.
1188 * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
1189 New macro definition.
1190 (xtensa_prepare_expand_call): New function in order to share
1191 the common code.
1192 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
1193 New functions.
1194 (xtensa_expand_epilogue): Add new argument sibcall_p and use it
1195 for sibling call handling.
1196 * config/xtensa/xtensa.md (call, call_value):
1197 Use xtensa_prepare_expand_call.
1198 (call_internal, call_value_internal):
1199 Add the condition in order to be disabled if sibling call.
1200 (sibcall, sibcall_value, sibcall_epilogue): New expansions.
1201 (sibcall_internal, sibcall_value_internal): New insn patterns,
1202 and split ones in order to take care of the indirect sibcalls.
1203
1204 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1205
1206 * doc/invoke.texi: Document -mextra-l32r-costs= option.
1207
1208 2022-06-15 David Malcolm <dmalcolm@redhat.com>
1209
1210 PR analyzer/105962
1211 * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
1212 * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
1213 Extend -fdiagnostics-path-format=separate-events so that with
1214 -fdiagnostics-show-path-depths it prints fndecls as well as stack
1215 depths.
1216
1217 2022-06-15 David Malcolm <dmalcolm@redhat.com>
1218
1219 * value-relation.h: Add "final" and "override" to relation_oracle
1220 vfunc implementations as appropriate.
1221
1222 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
1223
1224 PR middle-end/105975
1225 Revert everything apart from the expand_fn_using_insn and
1226 expand_direct_optab_fn changes from:
1227 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
1228 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
1229 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
1230 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
1231 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
1232 member variable.
1233 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
1234 (direct_internal_fn_p): Also return true for internal functions
1235 that map directly to instructions defined target-insns.def.
1236 (direct_internal_fn): Adjust comment accordingly.
1237 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
1238 (vectorizable_optab2): New local macros.
1239 (not_direct): Initialize directly_mapped.
1240 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
1241 (gather_load_direct, len_load_direct, mask_store_direct)
1242 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
1243 (vec_cond_direct, scatter_store_direct, len_store_direct)
1244 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
1245 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
1246 (while_direct, fold_extract_direct, fold_left_direct)
1247 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
1248 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
1249 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
1250 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
1251 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
1252 (direct_internal_fn_types): Handle functions that map to instructions
1253 defined in target-insns.def.
1254 (direct_internal_fn_types): Likewise.
1255 (direct_internal_fn_supported_p): Likewise.
1256 (internal_fn_expanders): Likewise.
1257 (expand_fn_using_insn): New function,
1258 split out and adapted from...
1259 (expand_direct_optab_fn): ...here.
1260 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
1261 (expand_GOMP_SIMT_EXIT): Likewise.
1262 (expand_GOMP_SIMT_LANE): Likewise.
1263 (expand_GOMP_SIMT_LAST_LANE): Likewise.
1264 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
1265 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
1266 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
1267 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
1268
1269 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
1270
1271 PR target/105981
1272 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
1273 to first_reg and second_reg respectively. Initialize them correctly
1274 when generating big-endian code.
1275
1276 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
1277
1278 PR target/105974
1279 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
1280
1281 2022-06-15 Richard Biener <rguenther@suse.de>
1282
1283 PR tree-optimization/105971
1284 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
1285 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
1286 to leak less surprising alias results.
1287
1288 2022-06-15 Richard Biener <rguenther@suse.de>
1289
1290 PR tree-optimization/105969
1291 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
1292 by zero in overflow check.
1293
1294 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
1295
1296 PR tree-optimization/105254
1297 PR tree-optimization/105940
1298 Revert:
1299 * config/aarch64/aarch64.cc
1300 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
1301 loop_vec_info as argument. Restrict the unroll factor to values
1302 that divide the VF.
1303 (aarch64_vector_costs::finish_cost): Update call accordingly.
1304
1305 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
1306
1307 * read-rtl.cc (find_int): Substitute symbolic constants
1308 before converting the string to an integer.
1309
1310 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
1311 Richard Biener <rguenther@suse.de>
1312
1313 * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
1314 left shifts by a constant when the result is truncated, and the
1315 shift constant is well-defined.
1316 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
1317 support for rotations of signed integer types, by lowering
1318 using unsigned vector shifts.
1319
1320 2022-06-15 liuhongt <hongtao.liu@intel.com>
1321
1322 PR target/105953
1323 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
1324 operands[3].
1325
1326 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
1327
1328 PR rtl-optimization/105041
1329 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
1330
1331 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
1332
1333 * config/rs6000/vsx.md (VS_scalar): Delete.
1334 (rest of file): Adjust.
1335
1336 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
1337
1338 PR ipa/105739
1339 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
1340
1341 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
1342
1343 * config/riscv/bitmanip.md: Add split to handle opportunities
1344 for slli + sh[123]add.uw
1345
1346 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
1347
1348 * config/riscv/predicates.md (consecutive_bits_operand):
1349 Implement new predicate.
1350
1351 2022-06-14 Richard Biener <rguenther@suse.de>
1352
1353 PR tree-optimization/105946
1354 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
1355 Do not look at arguments not specified in the function call.
1356
1357 2022-06-14 Richard Biener <rguenther@suse.de>
1358
1359 PR middle-end/105965
1360 * match.pd (view_convert CONSTRUCTOR): Handle single-element
1361 CTOR case.
1362
1363 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
1364
1365 * warning-control.cc (copy_warning) [generic version]: Do not erase
1366 the warning data of the destination location when the no-warning
1367 bit is not set on the source.
1368 (copy_warning) [tree version]: Return early if TO is equal to FROM.
1369 (copy_warning) [gimple version]: Likewise.
1370
1371 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
1372
1373 PR tree-optimization/105940
1374 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
1375 applying suggested_unroll_factor after start_over.
1376
1377 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1378
1379 * config/xtensa/predicates.md (shifted_mask_operand):
1380 New predicate.
1381 * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
1382 New insn-and-split pattern.
1383 (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
1384 *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
1385 *masktrue_const_shifted_mask): Ditto.
1386
1387 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1388
1389 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
1390
1391 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1392
1393 * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
1394 Remove the first argument.
1395 (xtensa_emit_bit_branch): Remove it because now called only from the
1396 output statement of *bittrue insn pattern.
1397 * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
1398 argument 'p_invert', and make so that the condition is reversed by
1399 itself as needed.
1400 (xtensa_expand_conditional_branch): Share the common path, and remove
1401 condition inversion code.
1402 (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
1403 "false side" pattern.
1404 (xtensa_emit_bit_branch): Remove it because of the abovementioned
1405 reason, and move the function body to *bittrue insn pattern.
1406 * config/xtensa/xtensa.md (*bittrue): Transplant the output
1407 statement from removed xtensa_emit_bit_branch().
1408 (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
1409 insn patterns.
1410
1411 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1412
1413 * config/xtensa/predicates.md (logical_shift_operator,
1414 xtensa_shift_per_byte_operator): New predicates.
1415 * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
1416 New prototype.
1417 * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
1418 New helper function for funnel shift patterns.
1419 * config/xtensa/xtensa.md (ior_op): New code iterator.
1420 (*ashlsi3_1): Replace with new split pattern.
1421 (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
1422 (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
1423 New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
1424 in order to omit unnecessary bitwise AND operation.
1425 (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
1426 *shlrd_per_byte_<code>_omit_AND):
1427 New insn patterns for funnel shifts.
1428
1429 2022-06-13 Jason Merrill <jason@redhat.com>
1430
1431 * tree-cfg.cc (pass_warn_function_return::execute): Also check
1432 BUILT_IN_TRAP.
1433
1434 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
1435
1436 * config/riscv/riscv.md (length): Remove the explicit setting
1437 for "fcmp".
1438
1439 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
1440
1441 * common/config/i386/cpuinfo.h (get_available_features): Require
1442 AVX for F16C and VAES.
1443
1444 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
1445
1446 PR target/105927
1447 * config/i386/predicates.md (register_no_elim_operand):
1448 Return true for subreg of a memory operand.
1449
1450 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
1451
1452 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
1453 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
1454 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
1455 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
1456 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
1457 member variable.
1458 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
1459 (direct_internal_fn_p): Also return true for internal functions
1460 that map directly to instructions defined target-insns.def.
1461 (direct_internal_fn): Adjust comment accordingly.
1462 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
1463 (vectorizable_optab2): New local macros.
1464 (not_direct): Initialize directly_mapped.
1465 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
1466 (gather_load_direct, len_load_direct, mask_store_direct)
1467 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
1468 (vec_cond_direct, scatter_store_direct, len_store_direct)
1469 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
1470 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
1471 (while_direct, fold_extract_direct, fold_left_direct)
1472 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
1473 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
1474 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
1475 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
1476 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
1477 (direct_internal_fn_types): Handle functions that map to instructions
1478 defined in target-insns.def.
1479 (direct_internal_fn_types): Likewise.
1480 (direct_internal_fn_supported_p): Likewise.
1481 (internal_fn_expanders): Likewise.
1482
1483 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
1484
1485 * internal-fn.cc (expand_fn_using_insn): New function,
1486 split out and adapted from...
1487 (expand_direct_optab_fn): ...here.
1488 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
1489 (expand_GOMP_SIMT_EXIT): Likewise.
1490 (expand_GOMP_SIMT_LANE): Likewise.
1491 (expand_GOMP_SIMT_LAST_LANE): Likewise.
1492 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
1493 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
1494 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
1495 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
1496
1497 2022-06-13 Jakub Jelinek <jakub@redhat.com>
1498
1499 * omp-expand.cc (expand_omp_target): Remap user provided
1500 device clause arguments, -1 to -2 and -2 to -3, either
1501 at compile time if constant, or at runtime.
1502
1503 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
1504
1505 * common.opt (finstrument-functions): Set explicit value.
1506 (-finstrument-functions-once): New option.
1507 * doc/invoke.texi (Program Instrumentation Options): Document it.
1508 * gimplify.cc (build_instrumentation_call): New static function.
1509 (gimplify_function_tree): Call it to emit the instrumentation calls
1510 if -finstrument-functions[-once] is specified.
1511
1512 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
1513
1514 * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
1515 * gimple.h (gimple_set_location): Do not copy warning data from
1516 the previous location when it is UNKNOWN_LOCATION.
1517 * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
1518
1519 2022-06-13 Jakub Jelinek <jakub@redhat.com>
1520
1521 PR target/105911
1522 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
1523 *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
1524 (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
1525 operands[3] unmodified.
1526
1527 2022-06-12 Simon Wright <simon@pushface.org>
1528
1529 PR target/104871
1530 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
1531 version is darwin20 (macOS 11) or greater, truncate the version to the
1532 major number.
1533
1534 2022-06-12 Mark Mentovai <mark@mentovai.com>
1535
1536 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
1537
1538 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1539
1540 PR target/96463
1541 * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
1542 (svld1rq_impl::fold): Define.
1543 * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
1544 op_mode and op_vec_flags.
1545 (aarch64_evpc_reencode): Initialize newd.op_mode and
1546 newd.op_vec_flags.
1547 (aarch64_evpc_sve_dup): New function.
1548 (aarch64_expand_vec_perm_const_1): Gate existing calls to
1549 aarch64_evpc_* functions under d->vmode == d->op_mode,
1550 and call aarch64_evpc_sve_dup.
1551 (aarch64_vectorize_vec_perm_const): Remove assert
1552 d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
1553 * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
1554 vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
1555 constant.
1556
1557 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1558
1559 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
1560 New prototype.
1561 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
1562 xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
1563 xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
1564 New backend functions that process the abovementioned logic.
1565 (xtensa_emit_move_sequence): Revert the previous changes.
1566 * config/xtensa/xtensa.md: New split patterns for integer
1567 and floating-point, as the frontend part.
1568
1569 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1570
1571 * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
1572 for ABS and NEG, add missing case for BSWAP and CLRSB, and
1573 double the costs for integer divisions using libfuncs if
1574 optimizing for speed, in order to take advantage of fast constant
1575 division by multiplication.
1576 (TARGET_INSN_COST): New macro definition.
1577 (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
1578 calculating relative costs of a RTL insns, for both of speed and
1579 size.
1580 * config/xtensa/xtensa.md (return, nop, trap): Correct values of
1581 the attribute "length" that depends on TARGET_DENSITY.
1582 (define_asm_attributes, blockage, frame_blockage): Add missing
1583 attributes.
1584 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
1585 dependent option, however, preparatory work for now.
1586
1587 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1588
1589 * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
1590 Pass through the block length / loop count conditions if
1591 zero-overhead looping is configured and active,
1592
1593 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1594
1595 * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
1596 Split into individual signedness, in order to use libcall
1597 "__umulsidi3" but not the other.
1598 (<u>mulhisi3): Merge into one by using code iterator.
1599 (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
1600
1601 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
1602
1603 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
1604 not generate block copies with vector pair instructions if we are
1605 tuning for power10.
1606
1607 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
1608
1609 PR rtl-optimization/7061
1610 * expr.cc (emit_group_store): For groups that consist of a single
1611 scalar integer register that hold a complex mode value, use
1612 gen_lowpart to generate a SUBREG to "view_convert" to the complex
1613 mode. For modes of different sizes, first convert to an integer
1614 mode of the appropriate size.
1615
1616 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1617
1618 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
1619
1620 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1621
1622 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
1623 New insn_and_split pattern.
1624
1625 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1626
1627 * config/xtensa/xtensa.md (one_cmplsi2):
1628 Rearrange as an insn_and_split pattern.
1629
1630 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1631
1632 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
1633
1634 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
1635
1636 * config/rs6000/rs6000.md (FP_ISA3): Delete.
1637 (float<QHI:mode><FP_ISA3:mode>2): Rename to...
1638 (float<QHI:mode><SFDF:mode>2): ... this. Adjust.
1639 (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
1640 (*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
1641 (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
1642 (floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust.
1643 (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
1644 (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
1645
1646 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
1647
1648 * config/riscv/riscv.md
1649 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
1650 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
1651 rather than space with FSFLAGS.
1652
1653 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
1654
1655 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
1656 omp_discover_declare_target_fn_r): Don't walk reverse-offload
1657 target regions.
1658
1659 2022-06-09 Jakub Jelinek <jakub@redhat.com>
1660
1661 * doc/invoke.texi (-Waddress): Fix a typo in small example.
1662 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
1663
1664 2022-06-09 Cui,Lili <lili.cui@intel.com>
1665
1666 PR target/105493
1667 * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
1668 from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
1669 unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
1670 (icelake_cost): Ditto.
1671 (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
1672 stores and unaligned stores cost from {6, 6, 6, 10, 15} to
1673 {8, 8, 8, 10, 15}.
1674
1675 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
1676
1677 * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
1678 and ior insns to one rotate and mask insn.
1679 (define_split for bswapdi register): Likewise.
1680
1681 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
1682
1683 PR middle-end/105874
1684 * expr.cc (expand_expr_real_1) <normal_inner_ref>: New local
1685 variable tem_modifier for calculating the expand_modifier enum to
1686 use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY.
1687
1688 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
1689
1690 PR target/105879
1691 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
1692 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
1693 'gen_highpart' bitwise semantics and fix order of highpart and
1694 lowpart depending on target endianness.
1695
1696 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
1697
1698 * config/arm/arm-cpus.in (star-mc1): New cpu.
1699 * config/arm/arm-tables.opt: Regenerate.
1700 * config/arm/arm-tune.md: Regenerate.
1701 * doc/invoke.texi: Update docs.
1702
1703 2022-06-08 liuhongt <hongtao.liu@intel.com>
1704
1705 PR target/105513
1706 PR target/105504
1707 * config/i386/i386.md (*movsi_internal): Change alternative
1708 from *v to ?v.
1709 (*movdi_internal): Ditto.
1710 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
1711 to ?r.
1712 (*vec_extractv4sf_mem): Ditto.
1713 (*vec_extracthf): Ditto.
1714
1715 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
1716
1717 PR target/105090
1718 * config/arm/arm.cc (arm_bfi_1_p): New function.
1719 (arm_bfi_p): New function.
1720 (arm_rtx_costs_internal): Add costs for BFI idioms.
1721 (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
1722 * config/arm/constraints.md (Dj): New constraint.
1723 * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
1724 (insv_zero): Convert to an insn with a split.
1725 (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
1726
1727 2022-06-07 liuhongt <hongtao.liu@intel.com>
1728
1729 PR target/105854
1730 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
1731 from Yv to Yw.
1732
1733 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
1734
1735 PR middle-end/105853
1736 PR target/105856
1737 * calls.cc (load_register_parameters): Call store_constructor
1738 and int_expr_size directly instead of expanding via expand_expr.
1739 * expr.cc (static void store_constructor): Don't prototype here.
1740 (static HOST_WIDE_INT int_expr_size): Likewise.
1741 (store_constructor): No longer static.
1742 (int_expr_size): Likewise, no longer static.
1743 * expr.h (store_constructor): Prototype here.
1744 (int_expr_size): Prototype here.
1745
1746 2022-06-07 Jan Beulich <jbeulich@suse.com>
1747
1748 Revert:
1749 2022-06-03 Jan Beulich <jbeulich@suse.com>
1750
1751 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
1752 * configure.ac: Check for objcopy, producing
1753 ORIGINAL_OBJCOPY_FOR_TARGET.
1754 * configure: Update accordingly.
1755 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
1756 Handle objcopy.
1757
1758 2022-06-07 Jakub Jelinek <jakub@redhat.com>
1759
1760 * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
1761 * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
1762 Adjust clause printing style depending on
1763 OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
1764
1765 2022-06-07 Jan Beulich <jbeulich@suse.com>
1766
1767 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
1768 Change type.
1769 * config/i386/i386-builtin-types.def: New function type
1770 (V4DI, V32QI, V32QI).
1771 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
1772 V4DI_FTYPE_V32QI_V32QI.
1773
1774 2022-06-07 Jan Beulich <jbeulich@suse.com>
1775
1776 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
1777 into account for reg-only insns.
1778
1779 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
1780
1781 * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
1782 IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
1783 TARGET_CMOVE's (scalar integer) conditional moves.
1784 * config/i386/sse.md (define_split): Recognize XOP's vpcmov
1785 from its equivalent (canonical) pxor;pand;pxor sequence.
1786
1787 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
1788
1789 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
1790 parameter ORDER.
1791
1792 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
1793
1794 * config.in: Regenerate.
1795 * configure: Regenerate.
1796 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
1797
1798 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
1799
1800 PR middle-end/95126
1801 * calls.cc (load_register_parameters): When loading a suitable
1802 immediate_const_ctor_p VAR_DECL into a single word_mode register,
1803 construct it directly in a pseudo rather than read it (by parts)
1804 from memory.
1805 * expr.cc (int_expr_size): Make tree argument a const_tree.
1806 (immediate_const_ctor_p): Helper predicate. Return true for
1807 simple constructors that may be materialized in a register.
1808 (expand_expr_real_1) [VAR_DECL]: When expanding a constant
1809 VAR_DECL with a suitable immediate_const_ctor_p constructor
1810 use store_constructor to materialize it directly in a pseudo.
1811 * expr.h (immediate_const_ctor_p): Prototype here.
1812 * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
1813 VALUE argument from tree to const_tree.
1814 * varasm.h (initializer_constant_valid_for_bitfield_p): Update
1815 prototype.
1816
1817 2022-06-04 Jakub Jelinek <jakub@redhat.com>
1818
1819 PR target/105825
1820 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
1821 *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
1822 bits of mask aren't all set, use operands[2] mode for the AND
1823 operation instead of always SImode.
1824
1825 2022-06-03 Jakub Jelinek <jakub@redhat.com>
1826
1827 PR middle-end/30314
1828 PR middle-end/105777
1829 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
1830 x > stype_max / cst || x < stype_min / cst): New simplification.
1831
1832 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
1833
1834 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
1835 Value_Range.
1836 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
1837 * value-range.h (Value_Range::Value_Range): Implement copy
1838 constructor for Value_Range.
1839
1840 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
1841
1842 * value-range.h (struct vrange_traits): Remove.
1843 (is_a): Rewrite without vrange_traits.
1844 (as_a): Same.
1845
1846 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
1847
1848 * value-range.cc (vrange::contains_p): Implement.
1849 (vrange::type): Return void.
1850 (vrange::supports_type_p): Implement.
1851 (irange::fits_p): Same.
1852 (vrange::set_undefined): Same.
1853 (irange::set_nonnegative): Same.
1854 (vrange::set_varying): Same.
1855 (vrange::union_): Same.
1856 (unsupported_range::set): Move to vrange.
1857 (unsupported_range::type): Move to vrange.
1858 (vrange::intersect): Implement for varying and undefined.
1859 (vrange::zero_p): Implement.
1860 (unsupported_range::supports_type_p): Move to vrange.
1861 (vrange::nonzero_p): Implement.
1862 (unsupported_range::set_undefined): Move to vrange.
1863 (unsupported_range::set_varying): Same.
1864 (unsupported_range::dump): Same.
1865 (unsupported_range::union_): Same. Implement for varying and
1866 undefined.
1867 (unsupported_range::intersect): Move to vrange.
1868 (unsupported_range::zero_p): Same.
1869 (unsupported_range::nonzero_p): Same.
1870 (unsupported_range::set_nonzero): Same.
1871 (unsupported_range::set_zero): Same.
1872 (unsupported_range::set_nonnegative): Same.
1873 (unsupported_range::fits_p): Same.
1874 * value-range.h (class vrange): Remove abstract markers for most
1875 methods.
1876 (class unsupported_range): Remove most methods as they will now be
1877 inherited from vrange.
1878
1879 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
1880
1881 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
1882 an object level supports_type_p for irange and a static
1883 Value_Range::supports_type_p.
1884 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
1885 (fold_using_range::range_of_address): Same.
1886 (fold_using_range::range_of_builtin_call): Same.
1887 * gimple-range-fold.h (gimple_range_type): Same.
1888 (gimple_range_ssa_p): Same.
1889 * gimple-range-path.cc (path_range_query::internal_range_of_expr):
1890 Same.
1891 (path_range_query::range_of_stmt): Same.
1892 (path_range_query::add_to_imports): Same.
1893 * gimple-range.cc (gimple_ranger::range_on_edge): Same.
1894 (gimple_ranger::export_global_ranges): Same.
1895 * gimple-ssa-evrp-analyze.cc
1896 (evrp_range_analyzer::record_ranges_from_phis): Same.
1897 * range-op.cc (range_operator::wi_fold): Same.
1898 (range_operator::fold_range): Same.
1899 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
1900 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
1901 (evaluate_control_stmt_using_entry_checks): Same.
1902 * tree-ssa-threadedge.cc
1903 (hybrid_jt_simplifier::compute_ranges_from_state): Same.
1904 * tree-vrp.cc (supported_types_p): Same.
1905 * value-query.cc (range_query::value_of_expr): Same.
1906 (range_query::value_on_edge): Same.
1907 (range_query::value_of_stmt): Same.
1908 (range_query::get_tree_range): Same.
1909 (get_range_global): Same.
1910 (global_range_query::range_of_expr): Same.
1911 * value-range-equiv.h (class value_range_equiv): Same.
1912 * value-range.cc (irange::supports_type_p): Same.
1913 (unsupported_range::supports_type_p): Same.
1914 * value-range.h (enum value_range_discriminator): Same.
1915 (Value_Range::init): Same.
1916 (Value_Range::supports_type_p): Same.
1917 (irange::supports_type_p): Same.
1918 (irange::supports_p): Same.
1919 (vrange::supports_type_p): Same.
1920 (vrange_allocator::alloc_vrange): Same.
1921
1922 2022-06-03 Jan Beulich <jbeulich@suse.com>
1923
1924 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
1925 * configure.ac: Check for objcopy, producing
1926 ORIGINAL_OBJCOPY_FOR_TARGET.
1927 * configure: Update accordingly.
1928 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
1929 Handle objcopy.
1930
1931 2022-06-03 Jan Beulich <jbeulich@suse.com>
1932
1933 * config/i386/mmx.md (mmx_psadbw): Convert to expander.
1934 (*mmx_psadbw): New. Mark as commutative.
1935 * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
1936 (*<sse2_avx2>_psadbw): New. Mark as commutative.
1937
1938 2022-06-03 Alexandre Oliva <oliva@adacore.com>
1939
1940 PR tree-optimization/105665
1941 PR tree-optimization/100810
1942 * tree-ssa-loop-ivopts.cc
1943 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
1944 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
1945 (find_ssa_undef): Check precomputed flag and intervening uses.
1946 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
1947
1948 2022-06-02 David Malcolm <dmalcolm@redhat.com>
1949
1950 * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
1951 tree-logical-location.o.
1952 (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
1953 (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
1954 * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
1955 (sarif-stderr, sarif-file): New enum values.
1956 * diagnostic-client-data-hooks.h: New file.
1957 * diagnostic-format-sarif.cc: New file.
1958 * diagnostic-path.h (enum diagnostic_event::verb): New enum.
1959 (enum diagnostic_event::noun): New enum.
1960 (enum diagnostic_event::property): New enum.
1961 (struct diagnostic_event::meaning): New struct.
1962 (diagnostic_event::get_logical_location): New vfunc.
1963 (diagnostic_event::get_meaning): New vfunc.
1964 (simple_diagnostic_event::get_logical_location): New vfunc impl.
1965 (simple_diagnostic_event::get_meaning): New vfunc impl.
1966 * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
1967 (diagnostic_initialize): Initialize m_client_data_hooks.
1968 (diagnostic_finish): Clean up m_client_data_hooks.
1969 (diagnostic_event::meaning::dump_to_pp): New.
1970 (diagnostic_event::meaning::maybe_get_verb_str): New.
1971 (diagnostic_event::meaning::maybe_get_noun_str): New.
1972 (diagnostic_event::meaning::maybe_get_property_str): New.
1973 (get_cwe_url): Make non-static.
1974 (diagnostic_output_format_init): Handle
1975 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
1976 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
1977 * diagnostic.h (enum diagnostics_output_format): Add
1978 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
1979 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
1980 (class diagnostic_client_data_hooks): New forward decl.
1981 (class logical_location): New forward decl.
1982 (diagnostic_context::m_client_data_hooks): New field.
1983 (diagnostic_output_format_init_sarif_stderr): New decl.
1984 (diagnostic_output_format_init_sarif_file): New decl.
1985 (get_cwe_url): New decl.
1986 * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
1987 sarif-file.
1988 * doc/sourcebuild.texi (Scan a particular file): Add
1989 scan-sarif-file and scan-sarif-file-not.
1990 * langhooks-def.h (lhd_get_sarif_source_language): New decl.
1991 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
1992 (LANG_HOOKS_INITIALIZER): Add
1993 LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
1994 * langhooks.cc (lhd_get_sarif_source_language): New.
1995 * langhooks.h (lang_hooks::get_sarif_source_language): New field.
1996 * logical-location.h: New file.
1997 * plugin.cc (struct for_each_plugin_closure): New.
1998 (for_each_plugin_cb): New.
1999 (for_each_plugin): New.
2000 * plugin.h (for_each_plugin): New decl.
2001 * tree-diagnostic-client-data-hooks.cc: New file.
2002 * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
2003 (tree_diagnostics_defaults): Populate m_client_data_hooks.
2004 * tree-logical-location.cc: New file.
2005 * tree-logical-location.h: New file.
2006
2007 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2008
2009 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
2010 to description.
2011 (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
2012 (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
2013 (diagnostics_output_format): Add json-stderr and json-file.
2014 * diagnostic-format-json.cc (json_flush_to_file): New.
2015 (json_final_cb): Convert to...
2016 (json_flush_to_file): ...this, ...
2017 (json_stderr_final_cb): ...this, and...
2018 (json_file_final_cb): ...this.
2019 (diagnostic_output_format_init): Move to diagnostic.cc.
2020 (json_output_base_file_name): New.
2021 (diagnostic_output_format_init_json): New.
2022 (diagnostic_output_format_init_json_stderr): New.
2023 (diagnostic_output_format_init_json_file): New.
2024 * diagnostic.cc (diagnostic_output_format_init): Move here from
2025 diagnostic-format-json.cc; update for changes to enum.
2026 * diagnostic.h (enum diagnostics_output_format): Rename
2027 DIAGNOSTICS_OUTPUT_FORMAT_JSON to
2028 DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
2029 DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
2030 (diagnostic_output_format_init): Add base_file_name param.
2031 (diagnostic_output_format_init_json_stderr): New decl.
2032 (diagnostic_output_format_init_json_file): New dec.
2033 * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
2034 "json-file". Rewrite so that the existing "json" is a synonym of
2035 "json-stderr".
2036 * gcc.cc (driver_handle_option): Pass dump_base_name to
2037 diagnostic_output_format_init.
2038 * opts.cc (common_handle_option): Likewise.
2039
2040 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2041
2042 * json.cc (string::print): Fix escaping of '\'.
2043
2044 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
2045
2046 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
2047 (-1 << 31) for the single-bit case, when operating on (1 << 31)
2048 in SImode.
2049 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
2050 any single-bit value, moving the special case for (1 << 31) to
2051 riscv_build_integer_1 (in riscv.c).
2052
2053 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
2054
2055 PR target/105791
2056 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
2057 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
2058
2059 2022-06-02 Jakub Jelinek <jakub@redhat.com>
2060
2061 PR target/105778
2062 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
2063 from AND and its operands and just verify operands[2] has HImode,
2064 SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask
2065 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
2066 just throw away the masking. Use force_reg before calling
2067 gen_lowpart.
2068 (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
2069 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
2070 just throw away the masking.
2071 (*ashl<mode>3_doubleword): Rename to ...
2072 (ashl<mode>3_doubleword): ... this.
2073 (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
2074 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
2075 Use force_reg before calling gen_lowpart.
2076 (*<insn><mode>3_mask): Likewise.
2077 (*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be
2078 a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
2079 case just throw away the masking. Use force_reg before calling
2080 gen_lowpart.
2081 (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
2082 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
2083 throw away the masking.
2084 (*<insn><mode>3_doubleword): Rename to ...
2085 (<insn><mode>3_doubleword): ... this.
2086 (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
2087 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
2088 Use force_reg before calling gen_lowpart.
2089 (splitter after it): Remove :SI from AND and its operands and just
2090 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
2091 (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
2092 operands and just verify operands[1] has HImode, SImode or for
2093 TARGET_64BIT DImode. Use force_reg before calling gen_lowpart.
2094 (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
2095 * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
2096 ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
2097
2098 2022-06-02 Richard Biener <rguenther@suse.de>
2099
2100 PR tree-optimization/101668
2101 * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
2102 for vector types with compatible lane types.
2103 (vect_build_slp_tree_2): Deal with this.
2104 (vect_add_slp_permutation): Adjust. Emit lowpart/concat
2105 special cases without VEC_PERM.
2106 (vectorizable_slp_permutation): Select the operand vector
2107 type and relax requirements. Handle identity permutes
2108 with mismatching operand types.
2109 * optabs-query.cc (can_vec_perm_const_p): Only allow variable
2110 permutes for op_mode == mode.
2111
2112 2022-06-02 Richard Biener <rguenther@suse.de>
2113
2114 PR tree-optimization/105802
2115 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
2116 Make sure to also compute the range in the type of the switch index.
2117
2118 2022-06-01 David Seifert <soap@gentoo.org>
2119
2120 PR plugins/95648
2121 * configure: Regenerate.
2122
2123 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
2124
2125 PR rtl-optimization/105638
2126 * df-core.cc (df_find_single_def_src): Moved and renamed from
2127 find_single_def_src in loop-iv.cc. Change the argument to rtx
2128 and use rtx_equal_p. Return null for partial or conditional
2129 defs.
2130 * df.h (df_find_single_def_src): New prototype.
2131 * dse.cc (record_store): Use the constant source if the source
2132 register is set only once.
2133 * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
2134 (replace_single_def_regs): Replace find_single_def_src with
2135 df_find_single_def_src.
2136
2137 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
2138
2139 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
2140 selected_tune.
2141 (explicit_arch): Rename to selected_arch.
2142 (x_aarch64_override_tune_string): Remove.
2143 (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
2144 (aarch64_override_tune_string): Add Save so it gets saved/restored.
2145 * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
2146 * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
2147 (processor): Remove archtecture_version field.
2148 (selected_arch): Remove global.
2149 (selected_cpu): Remove global.
2150 (selected_tune): Remove global.
2151 (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
2152 (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
2153 (aarch64_override_options): Further simplify code to only set
2154 selected_arch and selected_tune globals.
2155 (aarch64_option_save): Remove now that target options are saved.
2156 (aarch64_option_restore): Remove redundant target option restores.
2157 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
2158 AARCH64_ISA_V9.
2159 * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
2160 * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
2161 (aarch64_ra_sign_key): Remove.
2162
2163 2022-06-01 Jakub Jelinek <jakub@redhat.com>
2164
2165 PR middle-end/30314
2166 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
2167 x > ~(utype)0 / cst): New simplification.
2168
2169 2022-06-01 Richard Biener <rguenther@suse.de>
2170
2171 PR tree-optimization/105786
2172 * tree-loop-distribution.cc
2173 (loop_distribution::transform_reduction_loop): Only do strlen
2174 replacement for integer type reductions.
2175
2176 2022-06-01 Jakub Jelinek <jakub@redhat.com>
2177
2178 PR tree-optimization/105770
2179 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
2180 CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
2181
2182 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
2183
2184 * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
2185 (sbr_vector::sbr_vector): Same.
2186 (sbr_vector::grow): Same.
2187 (sbr_vector::set_bb_range): Same.
2188 (sbr_vector::get_bb_range): Same.
2189 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
2190 (sbr_sparse_bitmap::set_bb_range): Same.
2191 (sbr_sparse_bitmap::get_bb_range): Same.
2192 (block_range_cache::set_bb_range): Same.
2193 (block_range_cache::get_bb_range): Same.
2194 (block_range_cache::dump): Same.
2195 (ssa_global_cache::get_global_range): Same.
2196 (ssa_global_cache::set_global_range): Same.
2197 (ssa_global_cache::clear): Same.
2198 (ssa_global_cache::dump): Same.
2199 (ranger_cache::get_global_range): Same.
2200 (ranger_cache::set_global_range): Same.
2201 (ranger_cache::range_of_def): Same.
2202 (ranger_cache::entry_range): Same.
2203 (ranger_cache::exit_range): Same.
2204 (ranger_cache::edge_range): Same.
2205 (ranger_cache::range_of_expr): Same.
2206 (ranger_cache::range_on_edge): Same.
2207 (ranger_cache::block_range): Same.
2208 (ranger_cache::propagate_cache): Same.
2209 (ranger_cache::fill_block_cache): Same.
2210 (ranger_cache::range_from_dom): Same.
2211 * gimple-range-cache.h: Same.
2212 * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
2213 Same.
2214 (gimple_outgoing_range::switch_edge_range): Same.
2215 (gimple_outgoing_range::edge_range_p): Same.
2216 * gimple-range-edge.h: Same.
2217 * gimple-range-fold.cc (fur_source::get_operand): Same.
2218 (fur_source::get_phi_operand): Same.
2219 (fur_edge::get_operand): Same.
2220 (fur_edge::get_phi_operand): Same.
2221 (fur_stmt::get_operand): Same.
2222 (fur_stmt::get_phi_operand): Same.
2223 (fur_list::fur_list): Same.
2224 (fur_list::get_operand): Same.
2225 (fur_list::get_phi_operand): Same.
2226 (fold_range): Same.
2227 (adjust_imagpart_expr): Same.
2228 (adjust_realpart_expr): Same.
2229 (gimple_range_adjustment): Same.
2230 (fold_using_range::fold_stmt): Same.
2231 (fold_using_range::range_of_range_op): Same.
2232 (fold_using_range::range_of_address): Same.
2233 (fold_using_range::range_of_phi): Same.
2234 (fold_using_range::range_of_call): Same.
2235 (fold_using_range::range_of_builtin_call): Same.
2236 (fold_using_range::range_of_builtin_int_call): Same.
2237 (fold_using_range::range_of_cond_expr): Same.
2238 (fur_source::register_outgoing_edges): Same.
2239 * gimple-range-fold.h (fold_range): Same.
2240 (gimple_range_type): Same.
2241 (gimple_range_ssa_p): Same.
2242 * gimple-range-gori.cc (gimple_range_calc_op1): Same.
2243 (gimple_range_calc_op2): Same.
2244 (gori_compute::compute_operand_range_switch): Same.
2245 (gori_compute::compute_operand_range): Same.
2246 (gori_compute::logical_combine): Same.
2247 (gori_compute::compute_logical_operands): Same.
2248 (gori_compute::compute_operand1_range): Same.
2249 (gori_compute::compute_operand2_range): Same.
2250 (gori_compute::compute_operand1_and_operand2_range): Same.
2251 (gori_compute::outgoing_edge_range_p): Same.
2252 (gori_compute::condexpr_adjust): Same.
2253 * gimple-range-gori.h (gimple_range_calc_op1): Same.
2254 (gimple_range_calc_op2): Same.
2255 * gimple-range-path.cc (path_range_query::get_cache): Same.
2256 (path_range_query::set_cache): Same.
2257 (path_range_query::range_on_path_entry): Same.
2258 (path_range_query::internal_range_of_expr): Same.
2259 (path_range_query::range_of_expr): Same.
2260 (path_range_query::ssa_range_in_phi): Same.
2261 (path_range_query::range_defined_in_block): Same.
2262 (path_range_query::compute_ranges_in_phis): Same.
2263 (path_range_query::compute_ranges_in_block): Same.
2264 (path_range_query::add_to_imports): Same.
2265 (path_range_query::range_of_stmt): Same.
2266 * gimple-range-path.h: Same.
2267 * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
2268 (gimple_infer_range::~side_effect_manager): Same.
2269 (gimple_infer_range::get_nonzero): Same.
2270 (gimple_infer_range::maybe_adjust_range): Same.
2271 (gimple_infer_range::add_range): Same.
2272 * gimple-range-infer.h: Same.
2273 * gimple-range-tests.cc: Same.
2274 * gimple-range-trace.cc (range_tracer::trailer): Same.
2275 (debug_seed_ranger): Same.
2276 * gimple-range-trace.h: Same.
2277 * gimple-range.cc (gimple_ranger::range_of_expr): Same.
2278 (gimple_ranger::range_on_entry): Same.
2279 (gimple_ranger::range_on_exit): Same.
2280 (gimple_ranger::range_on_edge): Same.
2281 (gimple_ranger::fold_range_internal): Same.
2282 (gimple_ranger::range_of_stmt): Same.
2283 (gimple_ranger::prefill_name): Same.
2284 (gimple_ranger::prefill_stmt_dependencies): Same.
2285 (gimple_ranger::export_global_ranges): Same.
2286 (gimple_ranger::dump_bb): Same.
2287 * gimple-range.h: Same.
2288 * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
2289 (memmodel_to_uhwi): Same.
2290 * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
2291 (determine_value_range): Same.
2292 (record_nonwrapping_iv): Same.
2293 (infer_loop_bounds_from_signedness): Same.
2294 (scev_var_range_cant_overflow): Same.
2295 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
2296 * value-query.cc (range_query::range_on_edge): Same.
2297 (range_query::range_of_stmt): Same.
2298 (range_query::value_of_expr): Same.
2299 (range_query::value_on_edge): Same.
2300 (range_query::value_of_stmt): Same.
2301 (range_query::get_tree_range): Same.
2302 (update_global_range): Same.
2303 (get_range_global): Same.
2304 (gimple_range_global): Same.
2305 (global_range_query::range_of_expr): Same.
2306 (range_query::query_relation): Same.
2307 * value-query.h (gimple_range_global): Same.
2308 (update_global_range): Same.
2309 * vr-values.cc (vr_values::range_of_expr): Same.
2310 (bounds_of_var_in_loop): Same.
2311 (simplify_using_ranges::vrp_visit_cond_stmt): Same.
2312 * vr-values.h (class vr_values): Same.
2313 * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
2314
2315 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
2316
2317 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
2318 vrange allocator.
2319 (sbr_vector::grow): Same.
2320 (sbr_vector::set_bb_range): Same.
2321 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
2322 (sbr_sparse_bitmap::set_bb_range): Same.
2323 (block_range_cache::~block_range_cache): Same.
2324 (block_range_cache::set_bb_range): Same.
2325 (ssa_global_cache::ssa_global_cache): Same.
2326 (ssa_global_cache::~ssa_global_cache): Same.
2327 (ssa_global_cache::set_global_range): Same.
2328 * gimple-range-cache.h (block_range_cache): Same.
2329 (ssa_global_cache): Same.
2330 * gimple-range-edge.cc
2331 (gimple_outgoing_range::calc_switch_ranges): Same.
2332 * gimple-range-edge.h (gimple_outgoing_range): Same.
2333 * gimple-range-infer.cc (infer_range_manager::get_nonzero):
2334 Same.
2335 (infer_range_manager::add_range): Same.
2336 * gimple-range-infer.h (class infer_range_manager): Same.
2337 * value-range.h (class irange_allocator): Rename to...
2338 (class vrange_allocator): ...this.
2339 (irange_allocator::irange_allocator): New.
2340 (vrange_allocator::vrange_allocator): New.
2341 (irange_allocator::~irange_allocator): New.
2342 (vrange_allocator::~vrange_allocator): New.
2343 (irange_allocator::get_memory): Rename to...
2344 (vrange_allocator::alloc): ...this.
2345 (vrange_allocator::alloc_vrange): Rename from...
2346 (irange_allocator::allocate): ...this.
2347 (vrange_allocator::alloc_irange): New.
2348
2349 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
2350
2351 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
2352 vrange and convert range_op_handler function calls to use the
2353 identically named object.
2354 * gimple-range-fold.cc (gimple_range_operand1): Same.
2355 (gimple_range_operand2): Same.
2356 (fold_using_range::fold_stmt): Same.
2357 (fold_using_range::range_of_range_op): Same.
2358 (fold_using_range::range_of_builtin_ubsan_call): Same.
2359 (fold_using_range::relation_fold_and_or): Same.
2360 (fur_source::register_outgoing_edges): Same.
2361 * gimple-range-fold.h (gimple_range_handler): Remove.
2362 * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
2363 (gimple_range_calc_op2): Same.
2364 (range_def_chain::get_def_chain): Same.
2365 (gori_compute::compute_operand_range): Same.
2366 (gori_compute::condexpr_adjust): Same.
2367 * gimple-range.cc (gimple_ranger::prefill_name): Same.
2368 (gimple_ranger::prefill_stmt_dependencies): Same.
2369 * range-op.cc (get_bool_state): Same.
2370 (class operator_equal): Add using clause.
2371 (class operator_not_equal): Same.
2372 (class operator_lt): Same.
2373 (class operator_le): Same.
2374 (class operator_gt): Same.
2375 (class operator_ge): Same.
2376 (class operator_plus): Same.
2377 (class operator_minus): Same.
2378 (class operator_mult): Same.
2379 (class operator_exact_divide): Same.
2380 (class operator_lshift): Same.
2381 (class operator_rshift): Same.
2382 (class operator_cast): Same.
2383 (class operator_logical_and): Same.
2384 (class operator_bitwise_and): Same.
2385 (class operator_logical_or): Same.
2386 (class operator_bitwise_or): Same.
2387 (class operator_bitwise_xor): Same.
2388 (class operator_trunc_mod): Same.
2389 (class operator_logical_not): Same.
2390 (class operator_bitwise_not): Same.
2391 (class operator_cst): Same.
2392 (class operator_identity): Same.
2393 (class operator_unknown): Same.
2394 (class operator_abs): Same.
2395 (class operator_negate): Same.
2396 (class operator_addr_expr): Same.
2397 (class pointer_or_operator): Same.
2398 (operator_plus::op1_range): Adjust for vrange.
2399 (operator_minus::op1_range): Same.
2400 (operator_mult::op1_range): Same.
2401 (operator_cast::op1_range): Same.
2402 (operator_bitwise_not::fold_range): Same.
2403 (operator_negate::fold_range): Same.
2404 (range_op_handler): Rename to...
2405 (get_handler): ...this.
2406 (range_op_handler::range_op_handler): New.
2407 (range_op_handler::fold_range): New.
2408 (range_op_handler::op1_range): New.
2409 (range_op_handler::op2_range): New.
2410 (range_op_handler::lhs_op1_relation): New.
2411 (range_op_handler::lhs_op2_relation): New.
2412 (range_op_handler::op1_op2_relation): New.
2413 (range_cast): Adjust for vrange.
2414 * range-op.h (range_op_handler): Remove function.
2415 (range_cast): Adjust for vrange.
2416 (class range_op_handler): New.
2417 (get_bool_state): Adjust for vrange.
2418 (empty_range_varying): Same.
2419 (relop_early_resolve): Same.
2420 * tree-data-ref.cc (compute_distributive_range): Same.
2421 * tree-vrp.cc (get_range_op_handler): Remove.
2422 (range_fold_binary_symbolics_p): Use range_op_handler class
2423 instead of get_range_op_handler.
2424 (range_fold_unary_symbolics_p): Same.
2425 (range_fold_binary_expr): Same.
2426 (range_fold_unary_expr): Same.
2427 * value-query.cc (range_query::get_tree_range): Adjust for vrange.
2428
2429 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
2430
2431 * gimple-range-fold.h (gimple_range_type): Check type before
2432 calling supports_type_p.
2433 * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
2434 * value-query.cc (range_query::get_tree_range): Same.
2435 * value-range.cc (Value_Range::lower_bound): New.
2436 (Value_Range::upper_bound): New.
2437 (Value_Range::dump): New.
2438 * value-range.h (class Value_Range): New.
2439 (irange::supports_type_p): Do not check if type is non-zero.
2440
2441 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
2442
2443 * value-range-equiv.cc (value_range_equiv::set): New.
2444 * value-range-equiv.h (class value_range_equiv): Make set method
2445 virtual.
2446 Remove default bitmap argument from set method.
2447 * value-range.cc (vrange::contains_p): New.
2448 (vrange::singleton_p): New.
2449 (vrange::operator=): New.
2450 (vrange::operator==): New.
2451 (irange::fits_p): Move to .cc file.
2452 (irange::set_nonnegative): New.
2453 (unsupported_range::unsupported_range): New.
2454 (unsupported_range::set): New.
2455 (unsupported_range::type): New.
2456 (unsupported_range::set_undefined): New.
2457 (unsupported_range::set_varying): New.
2458 (unsupported_range::dump): New.
2459 (unsupported_range::union_): New.
2460 (unsupported_range::intersect): New.
2461 (unsupported_range::zero_p): New.
2462 (unsupported_range::nonzero_p): New.
2463 (unsupported_range::set_nonzero): New.
2464 (unsupported_range::set_zero): New.
2465 (unsupported_range::set_nonnegative): New.
2466 (unsupported_range::fits_p): New.
2467 (irange::set): Call irange::set_undefined.
2468 (irange::verify_range): Check discriminator field.
2469 (irange::dump): Dump [irange] marker.
2470 (irange::debug): Move to...
2471 (vrange::debug): ...here.
2472 (dump_value_range): Accept vrange.
2473 (debug): Same.
2474 * value-range.h (enum value_range_discriminator): New.
2475 (class vrange): New.
2476 (class unsupported_range): New.
2477 (struct vrange_traits): New.
2478 (is_a): New.
2479 (as_a): New.
2480 (class irange): Inherit from vrange.
2481 (dump_value_range): Adjust for vrange.
2482 (irange::kind): Rename to...
2483 (vrange::kind): ...this.
2484 (irange::varying_p): Rename to...
2485 (vrange::varying_p): ...this.
2486 (irange::undefined_p): Rename to...
2487 (vrange::undefined_p): ...this.
2488 (irange::irange): Set discriminator.
2489 (irange::union_): Convert to irange before passing to irange
2490 method.
2491 (irange::intersect): Same.
2492 (vrange::supports_type_p): New.
2493 * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
2494 NULL bitmap argument to value_range_equiv::set.
2495 (vr_values::extract_range_basic): Same.
2496
2497 2022-06-01 Richard Biener <rguenther@suse.de>
2498
2499 PR tree-optimization/105763
2500 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
2501 Check gimple_range_ssa_p.
2502
2503 2022-05-31 Jason Merrill <jason@redhat.com>
2504
2505 * Makefile.in (TAGS): Look at libcpp/*.cc.
2506
2507 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
2508
2509 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
2510 Prefix mode names with E_.
2511
2512 2022-05-31 Alan Modra <amodra@gmail.com>
2513
2514 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
2515 spelling of DW_AT_namelist_item.
2516
2517 2022-05-31 Jakub Jelinek <jakub@redhat.com>
2518
2519 * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
2520 allow var to be private in the outer context.
2521 (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
2522 to build_outer_var_ref.
2523
2524 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
2525
2526 * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
2527 tieable with DImode on TARGET_64BIT, and SCmode tieable with
2528 V2SFmode, and DCmode with V2DFmode.
2529
2530 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
2531
2532 PR rtl-optimization/101617
2533 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
2534 special case (indicated by negate_cc_compare_p) to generate a
2535 -1/0 mask using neg;sbb.
2536 * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
2537 to generate an *x86_neg<mode>_ccc instruction.
2538 (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
2539 generate a *x86_mov<mode>cc_0_m1_neg instruction.
2540
2541 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
2542
2543 * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
2544 SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
2545 <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
2546
2547 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
2548
2549 PR target/70321
2550 * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
2551 DI mode equality/inequality using XOR here. Instead generate a
2552 COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
2553 * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
2554 gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
2555 (general_scalar_chain::convert_compare): New function to convert
2556 scalar equality/inequality comparison into vector operations.
2557 (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
2558 new convert_compare helper method.
2559 (convertible_comparion_p): Update to match doubleword COMPARE
2560 of two register, memory or integer constant operands.
2561 * config/i386/i386-features.h (general_scalar_chain::convert_compare):
2562 Prototype/declare member function here.
2563 * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
2564 only allow new doubleword modes for EQ and NE operators.
2565 (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
2566 doubleword comparison into a pair of XORs followed by an IOR to
2567 set the (zero) flags register, optimizing the XORs if possible.
2568 * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
2569 iterator; V_AVX is (currently) only used by ptest.
2570 (sse4_1 mode attribute): Update to support V1TI and V2TI.
2571
2572 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
2573
2574 * config/i386/i386.md: Remove constraints when used with
2575 const_int_operand, const0_operand, const_1_operand, constm1_operand,
2576 const8_operand, const128_operand, const248_operand, const123_operand,
2577 const2367_operand, const1248_operand, const359_operand,
2578 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
2579 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
2580 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
2581 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
2582 const_0_to_255_mul_8_operand, const_1_to_31_operand,
2583 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
2584 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
2585 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
2586 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
2587 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
2588 const_24_to_27_operand and const_28_to_31_operand.
2589 * config/i386/mmx.md: Ditto.
2590 * config/i386/sse.md: Ditto.
2591 * config/i386/subst.md: Ditto.
2592 * config/i386/sync.md: Ditto.
2593
2594 2022-05-30 Jan Beulich <jbeulich@suse.com>
2595
2596 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
2597 arguments.
2598
2599 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2600
2601 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
2602
2603 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
2604
2605 PR target/105599
2606 * config/darwin.h: Move versions-specific handling of multiply_defined
2607 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
2608
2609 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
2610
2611 PR other/82383
2612 * doc/sourcebuild.texi: Add entries for the c++tools,
2613 gotools, libbacktrace, libcc1, libcody, liboffloadmic,
2614 and libsanitizer directories. Remove entry for boehm-gc.
2615 Fix alphabetization for libquadmath.
2616
2617 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
2618
2619 * config/avr/avr-mcus.def: Add device definitions.
2620 * doc/avr-mmcu.texi: Corresponding changes.
2621 * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
2622 device prefix.
2623 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
2624 from leaking into cc1.
2625
2626 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
2627
2628 PR target/103722
2629 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
2630 is special) for various scenarios.
2631
2632 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
2633
2634 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
2635 describing this macro.
2636
2637 2022-05-27 Richard Biener <rguenther@suse.de>
2638
2639 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
2640
2641 2022-05-27 Martin Jambor <mjambor@suse.cz>
2642
2643 PR ipa/105639
2644 * ipa-prop.cc (propagate_controlled_uses): Check type of the
2645 constant before adding a LOAD reference.
2646
2647 2022-05-27 Jakub Jelinek <jakub@redhat.com>
2648
2649 * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
2650 to OMP_CLAUSE_ENTER.
2651 * tree.h (OMP_CLAUSE_ENTER_TO): Define.
2652 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
2653 OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
2654 * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
2655 instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
2656 "to" instead of "enter".
2657 * tree-nested.cc (convert_nonlocal_omp_clauses,
2658 convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
2659 OMP_CLAUSE_TO_DECLARE.
2660
2661 2022-05-27 Richard Biener <rguenther@suse.de>
2662
2663 PR tree-optimization/105726
2664 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
2665 Constrain array-of-flexarray case more.
2666
2667 2022-05-27 Jakub Jelinek <jakub@redhat.com>
2668
2669 PR sanitizer/105729
2670 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
2671 to (X &) z + w if -fsanitize=null during GENERIC folding.
2672
2673 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
2674
2675 * match.pd (match_zero_one_valued_p): New predicate.
2676 (mult @0 @1): Use zero_one_valued_p for optimization to the
2677 expression "bit_and @0 @1".
2678 (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
2679 (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
2680 (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
2681 (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
2682 Remove three redundant transforms obsoleted by the three above.
2683
2684 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
2685
2686 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
2687 to split a combined "and;cmp" sequence into "not;test".
2688
2689 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2690
2691 * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
2692 (bswapsi2_internal): Revise the template and condition, and add
2693 detection code for preceding the same insn in order to omit a
2694 "SSAI 8" instruction of the latter.
2695 (bswapdi2): Suppress built-in insn expansion with the corresponding
2696 library call when optimizing for size.
2697
2698 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2699
2700 * config/xtensa/xtensa-protos.h
2701 (xtensa_expand_block_set_unrolled_loop,
2702 xtensa_expand_block_set_small_loop): New prototypes.
2703 * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
2704 xtensa_expand_block_set_unrolled_loop,
2705 xtensa_expand_block_set_small_loop): New functions.
2706 * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
2707 * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
2708
2709 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2710
2711 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
2712 Make instruction counting more accurate, and simplify emitting insns.
2713
2714 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2715
2716 * config/xtensa/constraints.md (M, O): Use the macro.
2717 * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
2718 sext_fldsz_operand): Ditto.
2719 * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
2720 xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
2721 xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
2722 xtensa_expand_prologue): Ditto.
2723 * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
2724
2725 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2726
2727 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
2728 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
2729 Ditto.
2730
2731 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
2732
2733 * gimple-range-cache.cc: Adjust comments.
2734 * gimple-range-infer.cc: Adjust comments.
2735 * gimple-range-infer.h: Adjust comments.
2736 * gimple-range.cc: Adjust comments.
2737
2738 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
2739
2740 * Makefile.in (OBJS): Use gimple-range-infer.o.
2741 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
2742 (ranger_cache::range_from_dom): Rename var side_effect to infer.
2743 (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
2744 * gimple-range-cache.h: Include gimple-range-infer.h.
2745 (class ranger_cache): Adjust prototypes, use infer_range_manager.
2746 * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
2747 (gimple_infer_range::*): Rename from stmt_side_effects.
2748 (infer_range_manager::*): Rename from side_effect_manager.
2749 * gimple-range-side-effect.cc: Rename.
2750 * gimple-range-side-effect.h: Rename.
2751 * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
2752 (class gimple_infer_range): Rename from stmt_side_effects.
2753 (class infer_range_manager): Rename from side_effect_manager.
2754 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
2755 from register_side_effects.
2756 * gimple-range.h (register_inferred_ranges): Adjust prototype.
2757 * range-op.h: Adjust comment.
2758 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
2759 (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
2760
2761 2022-05-25 Simon Cook <simon.cook@embecosm.com>
2762
2763 * config/riscv/arch-canonicalize: Only add mafd extension if
2764 base was rv32/rv64g.
2765
2766 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
2767
2768 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
2769
2770 2022-05-25 Jakub Jelinek <jakub@redhat.com>
2771
2772 PR sanitizer/105714
2773 * asan.cc (has_stmt_been_instrumented_p): For assignments which
2774 are both stores and loads, return true only if both destination
2775 and source have been instrumented.
2776
2777 2022-05-25 Martin Liska <mliska@suse.cz>
2778 Richard Biener <rguenther@suse.de>
2779
2780 * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
2781 * params.opt (max-unswitch-level): Remove.
2782 * doc/invoke.texi (max-unswitch-level): Likewise.
2783 * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
2784 gimplified expressions.
2785 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
2786 (tree_may_unswitch_on): Rename to ...
2787 (find_unswitching_predicates_for_bb): ... this and handle
2788 switch statements.
2789 (get_predicates_for_bb): Likewise.
2790 (set_predicates_for_bb): Likewise.
2791 (init_loop_unswitch_info): Likewise.
2792 (tree_ssa_unswitch_loops): Prepare stuff before calling
2793 tree_unswitch_single_loop.
2794 (tree_unswitch_single_loop): Rework the function using
2795 pre-computed predicates and with a per original loop cost model.
2796 (merge_last): New.
2797 (add_predicate_to_path): Likewise.
2798 (find_range_for_lhs): Likewise.
2799 (simplify_using_entry_checks): Rename to ...
2800 (evaluate_control_stmt_using_entry_checks): ... this, handle
2801 switch statements and improve simplifications using ranger.
2802 (simplify_loop_version): Rework using
2803 evaluate_control_stmt_using_entry_checks.
2804 (evaluate_bbs): New.
2805 (evaluate_loop_insns_for_predicate): Likewise.
2806 (tree_unswitch_loop): Adjust to allow switch statements and
2807 pass in the edge to unswitch.
2808 (clean_up_after_unswitching): New.
2809 (pass_tree_unswitch::execute): Pass down fun.
2810
2811 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
2812
2813 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
2814 counts for the epilog loop.
2815
2816 2022-05-24 Martin Sebor <msebor@redhat.com>
2817 Richard Biener <rguenther@suse.de>
2818
2819 PR middle-end/105604
2820 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
2821 (get_origin_and_offset_r): Remove null handling. Handle variable array
2822 sizes.
2823 (get_origin_and_offset): Handle null argument here. Simplify.
2824 (alias_offset): Update comment.
2825 * pointer-query.cc (field_at_offset): Update comment. Handle members
2826 of variable-length types.
2827
2828 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2829
2830 * target.def (vec_perm_const): Define new parameter op_mode and
2831 update doc.
2832 * doc/tm.texi: Regenerate.
2833 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
2834 vec_perm_const hook to add new parameter op_mode and return false
2835 if result and operand modes do not match.
2836 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
2837 * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
2838 * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
2839 * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
2840 * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
2841 * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
2842 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
2843 * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
2844 * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
2845 prototype.
2846 * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
2847 (ashrv2di3): Likewise.
2848 * optabs.cc (expand_vec_perm_const): Likewise.
2849 * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
2850 * optabs-query.cc (can_vec_perm_const_p): Define new parameter
2851 op_mode and pass it to vec_perm_const hook.
2852 (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
2853 * match.pd (vec_perm X Y CST): Likewise.
2854 * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
2855 * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
2856 (vect_grouped_load_supported): Likewise.
2857 (vect_shift_permute_load_chain): Likewise.
2858 * tree-vect-generic.cc (lower_vec_perm): Likewise.
2859 * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
2860 * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
2861 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
2862 * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
2863 (vect_transform_slp_perm_load): Likewise.
2864 (vectorizable_slp_permutation): Likewise.
2865 * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
2866 (vectorizable_bswap): Likewise.
2867 (scan_store_can_perm_p): Likewise.
2868 (vect_gen_perm_mask_checked): Likewise.
2869
2870 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
2871
2872 PR target/104816
2873 * config/i386/i386.opt: Remove Undocumented.
2874 * doc/invoke.texi: Document -mcet-switch.
2875
2876 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
2877
2878 * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
2879 * config/gcn/gcn-opts.h (enum gcn_isa): New.
2880 (TARGET_GCN3): Use enum gcn_isa.
2881 (TARGET_GCN3_PLUS): Likewise.
2882 (TARGET_GCN5): Likewise.
2883 (TARGET_GCN5_PLUS): Likewise.
2884 (TARGET_CDNA1): New.
2885 (TARGET_CDNA1_PLUS): New.
2886 (TARGET_CDNA2): New.
2887 (TARGET_CDNA2_PLUS): New.
2888 (TARGET_M0_LDS_LIMIT): New.
2889 (TARGET_PACKED_WORK_ITEMS): New.
2890 * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
2891 (gcn_option_override): Recognise CDNA ISA variants.
2892 (gcn_omp_device_kind_arch_isa): Support gfx90a.
2893 (gcn_expand_prologue): Make m0 init optional.
2894 Add support for packed work items.
2895 (output_file_start): Support gfx90a.
2896 (gcn_hsa_declare_function_name): Support gfx90a metadata.
2897 * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
2898 __CDNA2__.
2899 * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
2900 (<su>mulsi3_highpart_imm): Likewise.
2901 (<su>mulsidi3): Likewise.
2902 (<su>mulsidi3_imm): Likewise.
2903 * config/gcn/gcn.opt (gpu_type): Add gfx90a.
2904 * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
2905 (main): Support gfx90a.
2906 * config/gcn/t-gcn-hsa: Add gfx90a multilib.
2907 * config/gcn/t-omp-device: Add gfx90a isa.
2908
2909 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
2910
2911 * config.in: Regenerate.
2912 * config/gcn/gcn-hsa.h (X_FIJI): Delete.
2913 (X_900): Delete.
2914 (X_906): Delete.
2915 (X_908): Delete.
2916 (S_FIJI): Delete.
2917 (S_900): Delete.
2918 (S_906): Delete.
2919 (S_908): Delete.
2920 (NO_XNACK): New macro.
2921 (NO_SRAM_ECC): New macro.
2922 (SRAMOPT): Keep only v4 variant.
2923 (HSACO3_SELECT_OPT): Delete.
2924 (DRIVER_SELF_SPECS): Delete.
2925 (ASM_SPEC): Remove LLVM 9 support.
2926 * config/gcn/gcn-valu.md
2927 (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
2928 (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
2929 * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
2930 (print_operand_address): Remove assembler bug workaround.
2931 * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
2932 (EF_AMDGPU_SRAM_ECC_V3): Delete.
2933 (SET_XNACK_ON): Delete v3 variants.
2934 (SET_XNACK_OFF): Delete v3 variants.
2935 (TEST_XNACK): Delete v3 variants.
2936 (SET_SRAM_ECC_ON): Delete v3 variants.
2937 (SET_SRAM_ECC_ANY): Delete v3 variants.
2938 (SET_SRAM_ECC_OFF): Delete v3 variants.
2939 (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
2940 (TEST_SRAM_ECC_ANY): Delete v3 variants.
2941 (TEST_SRAM_ECC_ON): Delete v3 variants.
2942 (copy_early_debug_info): Remove v3 support.
2943 (main): Remove v3 support.
2944 * configure: Regenerate.
2945 * configure.ac: Replace all GCN feature checks with a version check.
2946
2947 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
2948
2949 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
2950 i.e. a double word negation of a zero extended operand, to
2951 neg;sbb.
2952
2953 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
2954
2955 PR tree-optimization/105668
2956 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
2957 V1TImode, just like V2DImode.
2958 * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
2959 Use VI_128 mode iterator instead of VI124_128 to include V2DI.
2960 (vcond_mask_v2div2di): Delete.
2961 (vcond_mask_v1tiv1ti): New define_expand.
2962
2963 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
2964
2965 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
2966 to strncmp for strings of length one.
2967
2968 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
2969
2970 * config/riscv/predicates.md (imm5_operand): Add a new operand type for
2971 prefetch instructions.
2972 * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
2973 Extensions.
2974 (RISCV_ATYPE_SI): New.
2975 (RISCV_ATYPE_DI): New.
2976 * config/riscv/riscv-ftypes.def (0): New.
2977 (1): New.
2978 * config/riscv/riscv.md (riscv_clean_<mode>): New.
2979 (riscv_flush_<mode>): New.
2980 (riscv_inval_<mode>): New.
2981 (riscv_zero_<mode>): New.
2982 (prefetch): New.
2983 (riscv_prefetchi_<mode>): New.
2984 * config/riscv/riscv-cmo.def: New file.
2985
2986 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
2987
2988 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
2989 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
2990 (MASK_ZICBOM): New.
2991 (MASK_ZICBOP): New.
2992 (TARGET_ZICBOZ): New.
2993 (TARGET_ZICBOM): New.
2994 (TARGET_ZICBOP): New.
2995 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
2996
2997 2022-05-24 David Malcolm <dmalcolm@redhat.com>
2998
2999 * tree-vect-slp-patterns.cc: Add "final" and "override" to
3000 vect_pattern::build impls as appropriate.
3001
3002 2022-05-24 David Malcolm <dmalcolm@redhat.com>
3003
3004 * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
3005 implementations, removing redundant "virtual" as appropriate.
3006 * ipa-fnsummary.h: Likewise.
3007 * ipa-modref.cc: Likewise.
3008 * ipa-param-manipulation.cc: Likewise.
3009 * ipa-profile.cc: Likewise.
3010 * ipa-prop.h: Likewise.
3011 * ipa-pure-const.cc: Likewise.
3012 * ipa-reference.cc: Likewise.
3013 * ipa-sra.cc: Likewise.
3014 * symbol-summary.h: Likewise.
3015 * symtab-thunks.cc: Likewise.
3016
3017 2022-05-24 Martin Liska <mliska@suse.cz>
3018
3019 Revert:
3020 2022-05-24 Martin Liska <mliska@suse.cz>
3021
3022 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
3023 warning.
3024
3025 2022-05-24 Martin Liska <mliska@suse.cz>
3026
3027 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
3028 warning.
3029
3030 2022-05-24 Bruno Haible <bruno@clisp.org>
3031
3032 PR other/105527
3033 * doc/install.texi (Configuration): Add more details about --with-zstd.
3034 Document --with-zstd-include and --with-zstd-lib
3035
3036 2022-05-24 Richard Biener <rguenther@suse.de>
3037
3038 PR middle-end/105711
3039 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
3040 and use it.
3041 (extract_bit_field_1): Pass down the mode of op0 to
3042 extract_bit_field_as_subreg.
3043
3044 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
3045
3046 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
3047 fmv_cost.
3048 (rocket_tune_info): Add default fmv_cost 8.
3049 (sifive_7_tune_info): Ditto.
3050 (thead_c906_tune_info): Ditto.
3051 (optimize_size_tune_info): Ditto.
3052 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
3053
3054 2022-05-24 Jakub Jelinek <jakub@redhat.com>
3055
3056 PR c/105378
3057 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
3058 builtin.
3059 * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
3060 clause but no depend clauses.
3061 * omp-expand.cc (expand_taskwait_call): Use
3062 BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
3063 BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
3064
3065 2022-05-24 Richard Biener <rguenther@suse.de>
3066
3067 PR tree-optimization/100221
3068 * tree-ssa-dse.cc (contains_phi_arg): New function.
3069 (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
3070
3071 2022-05-24 Richard Biener <rguenther@suse.de>
3072
3073 PR tree-optimization/105629
3074 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
3075 a sign-extending conversion.
3076
3077 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
3078
3079 PR target/105627
3080 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
3081 be a debug insn.
3082 (union_uses): Skip debug use_insn.
3083
3084 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
3085
3086 * config/riscv/predicates.md (const_0_operand): Remove
3087 const_double.
3088 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
3089 CONST_DOUBLE.
3090 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
3091
3092 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
3093
3094 * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
3095 the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
3096 (cpu_indicator_init): Handle Zhaoxin processors.
3097 * common/config/i386/i386-common.cc: Add lujiazui.
3098 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
3099 VENDOR_ZHAOXIN.
3100 (enum processor_types): Add ZHAOXIN_FAM7H.
3101 (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
3102 * config.gcc: Add lujiazui.
3103 * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
3104 Signatures for zhaoxin
3105 (signature_SHANGHAI_ecx): Ditto.
3106 (signature_SHANGHAI_edx): Ditto.
3107 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
3108 -march=native recognize lujiazui processors.
3109 * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
3110 * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
3111 * config/i386/i386.h (enum processor_type): Ditto.
3112 * config/i386/i386.md: Add lujiazui.
3113 * config/i386/x86-tune-costs.h (struct processor_costs): Add
3114 lujiazui costs.
3115 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
3116 (ix86_adjust_cost): Ditto.
3117 * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
3118 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
3119 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
3120 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
3121 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
3122 (X86_TUNE_MOVX): Ditto.
3123 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
3124 (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
3125 (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
3126 (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
3127 (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
3128 (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
3129 (X86_TUNE_USE_LEAVE): Ditto.
3130 (X86_TUNE_PUSH_MEMORY): Ditto.
3131 (X86_TUNE_LCP_STALL): Ditto.
3132 (X86_TUNE_USE_INCDEC): Ditto.
3133 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
3134 (X86_TUNE_OPT_AGU): Ditto.
3135 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
3136 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
3137 (X86_TUNE_USE_SAHF): Ditto.
3138 (X86_TUNE_USE_BT): Ditto.
3139 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
3140 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
3141 (X86_TUNE_AVOID_MFENCE): Ditto.
3142 (X86_TUNE_EXPAND_ABS): Ditto.
3143 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
3144 (X86_TUNE_USE_FFREEP): Ditto.
3145 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
3146 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
3147 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
3148 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
3149 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
3150 * doc/extend.texi: Add details about lujiazui.
3151 * doc/invoke.texi: Add details about lujiazui.
3152 * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
3153
3154 2022-05-23 Martin Liska <mliska@suse.cz>
3155
3156 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
3157
3158 2022-05-23 Richard Biener <rguenther@suse.de>
3159
3160 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
3161 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
3162
3163 2022-05-23 Richard Biener <rguenther@suse.de>
3164
3165 * gimple-expr.cc (is_gimple_condexpr): Remove.
3166 * gimple-expr.h (is_gimple_condexpr): Likewise.
3167 * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
3168 * tree-if-conv.cc (set_bb_predicate): Likewie.
3169 (add_to_predicate_list): Likewise.
3170 (gen_phi_arg_condition): Likewise.
3171 (predicate_scalar_phi): Likewise.
3172 (predicate_statements): Likewise.
3173
3174 2022-05-23 Richard Biener <rguenther@suse.de>
3175
3176 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
3177 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
3178 as is_gimple_val.
3179 * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
3180 * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
3181 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
3182 Build the condition of the COND_EXPR separately.
3183 * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
3184 * tree-vect-generic.cc (expand_vector_condition): Likewise.
3185 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
3186 Likewise.
3187 * vr-values.cc (simplify_using_ranges::simplify): Likewise.
3188 * tree-vect-patterns.cc: Add comment indicating we are
3189 building invalid COND_EXPRs and why.
3190 * omp-expand.cc (expand_omp_simd): Gimplify the condition
3191 to the COND_EXPR separately.
3192 (expand_omp_atomic_cas): Note part that should be unreachable
3193 now.
3194 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
3195 condition for valid replacements.
3196 * tree-if-conv.cc (predicate_bbs): Simulate previous
3197 re-folding of the condition in folded COND_EXPRs which
3198 is necessary because of unfolded GIMPLE_CONDs in the IL
3199 as in for example gcc.dg/fold-bopcond-1.c.
3200 * gimple-range-gori.cc (gori_compute::condexpr_adjust):
3201 Handle that the comparison is now in the def stmt of
3202 the select operand. Required by gcc.dg/pr104526.c.
3203
3204 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
3205
3206 PR fortran/104949
3207 * langhooks-def.h (lhd_omp_array_size): New.
3208 (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
3209 (LANG_HOOKS_DECLS): Add it.
3210 * langhooks.cc (lhd_omp_array_size): New.
3211 * langhooks.h (struct lang_hooks_for_decls): Add hook.
3212 * omp-low.cc (scan_sharing_clauses, lower_omp_target):
3213 Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
3214
3215 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
3216
3217 * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
3218 XOR/IOR case. Account for two instructions for double-word
3219 operations. In case of vector pandn, account for single
3220 instruction. Likewise for integer andn with TARGET_BMI.
3221 <case NOT>: Vector NOT requires more than 1 instruction (pxor).
3222 <case NEG>: Double-word negation requires 3 instructions.
3223
3224 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
3225
3226 * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
3227 Fix "K" extension prefix to be placed before "J".
3228 * config/riscv/arch-canonicalize: Likewise.
3229
3230 2022-05-23 liuhongt <hongtao.liu@intel.com>
3231
3232 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
3233 <-> mask cost from 5 to 6.
3234 (icelake_cost): Ditto.
3235
3236 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
3237
3238 * config/aarch64/aarch64.md
3239 (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
3240 (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
3241 (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
3242 (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
3243 (one_cmpl_<optab><mode>2): Likewise.
3244 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
3245 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
3246 (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
3247 (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
3248 (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
3249 (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
3250 (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
3251 (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
3252 (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
3253 (rolsi3_insn_uxtw): New pattern.
3254 * config/aarch64/iterators.md (SHIFT): Add rotate left.
3255 (SHIFT_no_rotate): Add new iterator.
3256 (SHIFT:shift): Print rotate left as ror.
3257 (is_rotl): Add test for left rotate.
3258
3259 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
3260
3261 * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
3262 processing. Add support for architectural extensions.
3263 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
3264 AARCH64_CPU_DEFAULT_FLAGS.
3265 (TARGET_CPU_NBITS): Remove.
3266 (TARGET_CPU_MASK): Remove.
3267 * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
3268 (get_tune_cpu): Assert CPU is always valid.
3269 (get_arch): Assert architecture is always valid.
3270 (aarch64_override_options): Cleanup CPU selection code and simplify logic.
3271 (aarch64_option_restore): Remove unnecessary checks on tune.
3272
3273 2022-05-20 David Malcolm <dmalcolm@redhat.com>
3274
3275 * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
3276 "FINAL" and "OVERRIDE" with "final" and "override".
3277 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
3278 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
3279 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
3280 * diagnostic-path.h: Likewise.
3281 * digraph.cc: Likewise.
3282 * gcc-rich-location.h: Likewise.
3283 * gimple-array-bounds.cc: Likewise.
3284 * gimple-loop-versioning.cc: Likewise.
3285 * gimple-range-cache.cc: Likewise.
3286 * gimple-range-cache.h: Likewise.
3287 * gimple-range-fold.cc: Likewise.
3288 * gimple-range-fold.h: Likewise.
3289 * gimple-range-tests.cc: Likewise.
3290 * gimple-range.h: Likewise.
3291 * gimple-ssa-evrp.cc: Likewise.
3292 * input.cc: Likewise.
3293 * json.h: Likewise.
3294 * read-rtl-function.cc: Likewise.
3295 * tree-complex.cc: Likewise.
3296 * tree-diagnostic-path.cc: Likewise.
3297 * tree-ssa-ccp.cc: Likewise.
3298 * tree-ssa-copy.cc: Likewise.
3299 * tree-vrp.cc: Likewise.
3300 * value-query.h: Likewise.
3301 * vr-values.h: Likewise.
3302
3303 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
3304
3305 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
3306 target_memcpy_rect_async to omp_runtime_apis array.
3307
3308 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
3309
3310 * doc/sourcebuild.texi (Decimal floating point attributes): Document
3311 dfp_bid effective-target.
3312
3313 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
3314
3315 * config/aarch64/aarch64.cc
3316 (aarch64_split_128bit_move): Handle DFP modes.
3317 (aarch64_mode_valid_for_sched_fusion_p): Likewise.
3318 (aarch64_classify_address): Likewise.
3319 (aarch64_legitimize_address_displacement): Likewise.
3320 (aarch64_reinterpret_float_as_int): Likewise.
3321 (aarch64_float_const_zero_rtx_p): Likewise.
3322 (aarch64_can_const_movi_rtx_p): Likewise.
3323 (aarch64_anchor_offset): Likewise.
3324 (aarch64_secondary_reload): Likewise.
3325 (aarch64_rtx_costs): Likewise.
3326 (aarch64_legitimate_constant_p): Likewise.
3327 (aarch64_gimplify_va_arg_expr): Likewise.
3328 (aapcs_vfp_sub_candidate): Likewise.
3329 (aarch64_vfp_is_call_or_return_candidate): Likewise.
3330 (aarch64_output_scalar_simd_mov_immediate): Likewise.
3331 (aarch64_gen_adjusted_ldpstp): Likewise.
3332 (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
3333 * config/aarch64/aarch64.md
3334 (movsf_aarch64): Use SFD iterator and rename into
3335 mov<mode>_aarch64.
3336 (movdf_aarch64): Use DFD iterator and rename into
3337 mov<mode>_aarch64.
3338 (movtf_aarch64): Use TFD iterator and rename into
3339 mov<mode>_aarch64.
3340 (split pattern for move TF mode): Use TFD iterator.
3341 * config/aarch64/iterators.md
3342 (GPF_TF_F16_MOV): Add DFP modes.
3343 (SFD, DFD, TFD): New iterators.
3344 (GPF_TF): Add DFP modes.
3345 (TX, DX, DX2): Likewise.
3346
3347 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
3348
3349 * configure: Regenerate.
3350
3351 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
3352
3353 PR middle-end/98865
3354 * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y
3355 when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
3356 likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
3357
3358 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
3359
3360 * config/rs6000/rs6000-builtins.def: Rephrase
3361 to remove RS6000_BTC_SPECIAL from comment.
3362 * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
3363 RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
3364 RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
3365 RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
3366 RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
3367 RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
3368 RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
3369 RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
3370 RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
3371 RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
3372 RS6000_BTM_ALWAYS): Delete.
3373
3374 2022-05-19 Richard Biener <rguenther@suse.de>
3375
3376 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
3377 computation of the new value.
3378
3379 2022-05-19 Richard Biener <rguenther@suse.de>
3380
3381 * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
3382 (add_to_value): Use get_expression_id.
3383 (bitmap_insert_into_set): Likewise.
3384 (bitmap_value_insert_into_set): Likewise.
3385
3386 2022-05-19 David Malcolm <dmalcolm@redhat.com>
3387
3388 * doc/invoke.texi (-fanalyzer-checker=): Add
3389 -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
3390 the list of analyzer warnings disabled by
3391 -fanalyzer-checker=taint.
3392
3393 2022-05-19 Jakub Jelinek <jakub@redhat.com>
3394
3395 PR debug/105630
3396 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
3397 global vars without symtab node even when they have DECL_RTL
3398 set.
3399
3400 2022-05-19 Jakub Jelinek <jakub@redhat.com>
3401
3402 PR c/105635
3403 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
3404 doesn't have pointer or reference type.
3405
3406 2022-05-18 Marek Polacek <polacek@redhat.com>
3407
3408 PR c/105131
3409 * doc/invoke.texi: Document -Wenum-int-mismatch.
3410
3411 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
3412
3413 * config/i386/gnu-user-common.h (defined): Only define
3414 TARGET_CAN_SPLIT_STACK for glibc targets.
3415 * config/i386/gnu.h (defined): Ditto.
3416
3417 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
3418
3419 * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
3420 is wider than word_mode, a multiplication costs three word_mode
3421 multiplications and two word_mode additions.
3422
3423 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
3424
3425 * config/i386/i386.md (define_split): Split *andsi_1
3426 and *andn_si_ccno after reload with -Oz.
3427
3428 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
3429
3430 * graphite-scop-detection.cc (scop_detection::can_represent_loop):
3431 Output reason for failure to dump file.
3432 (scop_detection::harmful_loop_in_region): Likewise.
3433 (scop_detection::graphite_can_represent_expr): Likewise.
3434 (scop_detection::stmt_has_simple_data_refs_p): Likewise.
3435 (scop_detection::stmt_simple_for_scop_p): Likewise.
3436 (print_sese_loop_numbers): New function.
3437 (scop_detection::add_scop): Use from here.
3438
3439 2022-05-18 liuhongt <hongtao.liu@intel.com>
3440
3441 PR middle-end/103462
3442 * match.pd (bitwise_induction_p): New match.
3443 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
3444 Declare.
3445 (analyze_and_compute_bitwise_induction_effect): New function.
3446 (enum bit_op_kind): New enum.
3447 (final_value_replacement_loop): Enhanced to handle bitwise
3448 induction.
3449
3450 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
3451
3452 PR target/95737
3453 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
3454
3455 2022-05-18 liuhongt <hongtao.liu@intel.com>
3456
3457 PR target/104375
3458 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
3459 define_insn.
3460
3461 2022-05-18 liuhongt <hongtao.liu@intel.com>
3462
3463 PR target/104610
3464 * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
3465 for QImode when code is EQ or NE.
3466 * config/i386/i386.md (cbranchoi4): New expander.
3467
3468 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
3469 Segher Boessenkool <segher@kernel.crashing.org>
3470
3471 PR target/105556
3472 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
3473 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
3474 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
3475 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
3476 Update other operands accordingly.
3477
3478 2022-05-17 Marek Polacek <polacek@redhat.com>
3479
3480 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
3481
3482 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
3483
3484 PR target/99685
3485 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
3486 register count when not splitting IEEE 128-bit Complex.
3487
3488 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3489
3490 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
3491 target inside target if inner is reverse offload.
3492
3493 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3494
3495 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
3496 * config/nvptx/mkoffload.cc (process): Likewise.
3497
3498 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
3499
3500 * Makefile.in (OBJS): Add gimple-range-side-effect.o.
3501 * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
3502 (non_null_ref::~non_null_ref): Delete.
3503 (non_null_ref::set_nonnull): Delete.
3504 (non_null_ref::non_null_deref_p): Delete.
3505 (non_null_ref::process_name): Delete.
3506 (ranger_cache::ranger_cache): Initialize m_exit object.
3507 (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
3508 (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
3509 (ranger_cache::update_to_nonnull): Delete.
3510 (non_null_loadstore): Delete.
3511 (ranger_cache::block_apply_nonnull): Delete.
3512 (ranger_cache::apply_side_effects): New.
3513 * gimple-range-cache.h (class non_null_ref): Delete.
3514 (non_null_ref::adjust_range): Delete.
3515 (class ranger_cache): Adjust prototypes, add side effect manager.
3516 * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
3517 side effect manager for queries.
3518 (path_range_query::adjust_for_non_null_uses): Ditto.
3519 * gimple-range-path.h (class path_range_query): Delete non_null_ref.
3520 * gimple-range-side-effect.cc: New.
3521 * gimple-range-side-effect.h: New.
3522 * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
3523 (gimple_ranger::range_of_expr): Check def block for override value.
3524 (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
3525 (gimple_ranger::range_on_edge): Check for outgoing side-effects.
3526 (gimple_ranger::register_side_effects): Call apply_side_effects.
3527 (enable_ranger): Update contructor.
3528 * gimple-range.h (class gimple_ranger): Update prototype.
3529 (enable_ranger): Update prototype.
3530 * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
3531
3532 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
3533
3534 PR c++/105169
3535 * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
3536 * varasm.cc (switch_to_comdat_section): New
3537 (handle_vtv_comdat_section): Call switch_to_comdat_section.
3538 * varasm.h: Declare switch_to_comdat_section.
3539
3540 2022-05-17 Richard Biener <rguenther@suse.de>
3541
3542 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
3543 not clear bb->aux of the copied blocks.
3544
3545 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
3546
3547 PR tree-optimization/105458
3548 * value-relation.cc (path_oracle::register_relation): Merge, then check
3549 for equivalence.
3550
3551 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
3552
3553 PR target/105624
3554 Revert:
3555 * config/i386/i386.md: Remove constraints when used with
3556 const_int_operand, const0_operand, const_1_operand, constm1_operand,
3557 const8_operand, const128_operand, const248_operand, const123_operand,
3558 const2367_operand, const1248_operand, const359_operand,
3559 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
3560 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
3561 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
3562 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
3563 const_0_to_255_mul_8_operand, const_1_to_31_operand,
3564 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
3565 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
3566 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
3567 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
3568 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
3569 const_24_to_27_operand and const_28_to_31_operand.
3570 * config/i386/mmx.md: Ditto.
3571 * config/i386/sse.md: Ditto.
3572 * config/i386/subst.md: Ditto.
3573 * config/i386/sync.md: Ditto.
3574
3575 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
3576
3577 * diagnostic.cc: Don't advise to call 'abort' instead of
3578 'internal_error'.
3579 * system.h: Advise to call 'internal_error' instead of 'abort' or
3580 'fancy_abort'.
3581
3582 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
3583
3584 * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
3585 a reference to a variable which does not exist.
3586 * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
3587 in comment.
3588
3589 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
3590
3591 * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
3592 (isl_id_for_parameter): ... this new function name.
3593 (build_scop_context): Adjust function use.
3594
3595 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3596
3597 PR target/105602
3598 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
3599 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
3600
3601 2022-05-17 Jakub Jelinek <jakub@redhat.com>
3602
3603 * tree-core.h (enum omp_clause_depend_kind): Add
3604 OMP_CLAUSE_DEPEND_INOUTSET.
3605 * tree-pretty-print.cc (dump_omp_clause): Handle
3606 OMP_CLAUSE_DEPEND_INOUTSET.
3607 * gimplify.cc (gimplify_omp_depend): Likewise.
3608 * omp-low.cc (lower_depend_clauses): Likewise.
3609
3610 2022-05-17 Jakub Jelinek <jakub@redhat.com>
3611
3612 PR target/105613
3613 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
3614 andv4si3 only for EQ, for NE use iorv4si3 instead.
3615
3616 2022-05-17 Richard Biener <rguenther@suse.de>
3617
3618 PR tree-optimization/105618
3619 * tree-ssa-sink.cc (statement_sink_location): For virtual
3620 PHI uses ignore those defining the used virtual operand.
3621
3622 2022-05-17 Jakub Jelinek <jakub@redhat.com>
3623
3624 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
3625 hanlde -> handle. Fix up comment formatting.
3626
3627 2022-05-17 liuhongt <hongtao.liu@intel.com>
3628
3629 PR target/105033
3630 * config/i386/sse.md (*vec_concatv4si): Extend to ..
3631 (*vec_concat<mode>): .. V16QI and V8HImode.
3632 (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
3633 (*vec_concatv8hi_permt2): Ditto.
3634
3635 2022-05-17 liuhongt <hongtao.liu@intel.com>
3636
3637 PR tree-optimization/105591
3638 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
3639 vec_perm_expr index.
3640
3641 2022-05-16 Jason Merrill <jason@redhat.com>
3642
3643 PR c/105492
3644 * attribs.cc (decl_attributes): Fix broken typedefs here.
3645
3646 2022-05-16 David Malcolm <dmalcolm@redhat.com>
3647
3648 PR analyzer/105103
3649 * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
3650 * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
3651 -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
3652 -Wanalyzer-va-list-use-after-va-end.
3653
3654 2022-05-16 Richard Biener <rguenther@suse.de>
3655
3656 * gimple-match.h (gimple_build): Move code_helper overloads ...
3657 * gimple-fold.h (gimple_build): ... here.
3658 (gimple_build): Transition to new worker API. Provide
3659 overloads from sequence-based API.
3660 (gimple_convert): Likewise.
3661 (gimple_convert_to_ptrofftype): Likewise.
3662 (gimple_build_vector_from_val): Likewise.
3663 (gimple_build_vector): Likewise.
3664 (gimple_build_round_up): Likewise.
3665 * gimple-fold.cc (gimple_build_insert_seq): New helper.
3666 (gimple_build): Use it. Transition combined_fn and code_helper
3667 API parts.
3668 (gimple_convert): Transition to new worker API.
3669 (gimple_convert_to_ptrofftype): Likewise.
3670 (gimple_build_vector_from_val): Likewise.
3671 (gimple_build_vector): Likewise.
3672 (gimple_build_round_up): Likewise.
3673
3674 2022-05-16 Richard Biener <rguenther@suse.de>
3675
3676 * gimple-match.h (code_helper): Move class ...
3677 * tree.h (code_helper): ... here.
3678
3679 2022-05-16 Martin Liska <mliska@suse.cz>
3680
3681 * opts-global.cc (write_langs): Add comment.
3682
3683 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
3684
3685 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
3686 instead of a bitwise negation.
3687 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
3688
3689 2022-05-16 Martin Liska <mliska@suse.cz>
3690
3691 * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
3692 (decls_mismatched_attributes): Likewise.
3693 * builtins.cc (c_strlen): Likewise.
3694 * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
3695 * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
3696 * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
3697 (aarch64_init_simd_builtin_types): Likewise.
3698 (aarch64_init_builtin_rsqrt): Likewise.
3699 * config/aarch64/aarch64.cc (is_madd_op): Likewise.
3700 * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
3701 (arm_init_simd_builtin_types): Likewise.
3702 * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
3703 (c_prefix): Likewise.
3704 (main): Likewise.
3705 * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
3706 * config/darwin-c.cc (darwin_register_frameworks): Likewise.
3707 * config/gcn/mkoffload.cc (process_obj): Likewise.
3708 * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
3709 (fold_builtin_cpu): Likewise.
3710 * config/m32c/m32c.cc (PUSHM_N): Likewise.
3711 * config/nvptx/mkoffload.cc (process): Likewise.
3712 * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
3713 * config/s390/s390.cc (NR_C_MODES): Likewise.
3714 * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
3715 (create_insn_code_compression_table): Likewise.
3716 * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
3717 * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
3718 * dwarf2out.cc (ARRAY_SIZE): Likewise.
3719 * genhooks.cc (emit_documentation): Likewise.
3720 (emit_init_macros): Likewise.
3721 * gimple-ssa-sprintf.cc (format_floating): Likewise.
3722 * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
3723 * godump.cc (keyword_hash_init): Likewise.
3724 * hash-table.cc (hash_table_higher_prime_index): Likewise.
3725 * input.cc (for_each_line_table_case): Likewise.
3726 * ipa-free-lang-data.cc (free_lang_data): Likewise.
3727 * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
3728 * optc-save-gen.awk: Likewise.
3729 * spellcheck.cc (test_metric_conditions): Likewise.
3730 * tree-vect-slp-patterns.cc (sizeof): Likewise.
3731 (ARRAY_SIZE): Likewise.
3732 * tree.cc (build_common_tree_nodes): Likewise.
3733
3734 2022-05-16 Martin Liska <mliska@suse.cz>
3735
3736 * opts-global.cc (write_langs): Allocate at least one byte.
3737
3738 2022-05-16 Richard Biener <rguenther@suse.de>
3739
3740 * match.pd (A cmp B ? A : B -> min/max): New patterns
3741 carried over from fold_cond_expr_with_comparison.
3742
3743 2022-05-16 liuhongt <hongtao.liu@intel.com>
3744
3745 PR target/105587
3746 * config/i386/i386-expand.cc
3747 (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
3748 d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
3749
3750 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
3751
3752 * config/i386/i386.md: Remove constraints when used with
3753 const_int_operand, const0_operand, const_1_operand, constm1_operand,
3754 const8_operand, const128_operand, const248_operand, const123_operand,
3755 const2367_operand, const1248_operand, const359_operand,
3756 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
3757 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
3758 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
3759 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
3760 const_0_to_255_mul_8_operand, const_1_to_31_operand,
3761 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
3762 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
3763 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
3764 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
3765 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
3766 const_24_to_27_operand and const_28_to_31_operand.
3767 * config/i386/mmx.md: Ditto.
3768 * config/i386/sse.md: Ditto.
3769 * config/i386/subst.md: Ditto.
3770 * config/i386/sync.md: Ditto.
3771
3772 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
3773 Uroš Bizjak <ubizjak@gmail.com>
3774
3775 * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
3776 For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
3777 by a pshufd and pand.
3778 (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
3779 vector equality as a V2DImode vector comparison (see above),
3780 followed by a pshufd and pand.
3781
3782 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
3783
3784 PR tree-optimization/83907
3785 * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
3786 for memset with an constant char value.
3787 (handle_store): Improved handling of stores with a first byte
3788 of zero, but not storing_all_zeros_p.
3789
3790 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
3791 Manolis Tsamis <manolis.tsamis@vrull.eu>
3792
3793 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
3794 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
3795 * doc/sourcebuild.texi: add documentation for RISC-V specific
3796 test target keywords
3797
3798 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
3799
3800 PR tree-optimization/105597
3801 * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
3802 of the lhs and make sure it is not undefined.
3803
3804 2022-05-13 Sebastian Pop <spop@amazon.com>
3805
3806 PR target/105162
3807 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
3808 of str array.
3809 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
3810 memmodel_from_int and handle MEMMODEL_SYNC_*.
3811 (DEF0): Add __aarch64_*_sync functions.
3812
3813 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
3814
3815 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
3816 enumerated values.
3817 * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
3818 * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
3819 new VREL enumerated values.
3820 (*::lhs_op2_relation): Ditto.
3821 (*::op1_op2_relation): Ditto.
3822 (*::fold_range): Use new VREL enumerated values.
3823 (minus_op1_op2_relation_effect): Ditto.
3824 (range_relational_tests): Ditto.
3825 * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
3826 (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
3827 relation_kind.
3828 (*_op1_op2_relation): Return relation_kind.
3829 (relop_early_resolve): Use VREL_UNDEFINED.
3830 * value-query.cc (range_query::query_relation): Use VREL_VARYING.
3831 * value-relation.cc (VREL_LAST): Change enumerated value.
3832 (vrel_range_assert): Delete.
3833 (print_relation): Remove range assert.
3834 (rr_negate_table): Adjust table to use new enumerated values..
3835 (relation_negate): Remove range assert.
3836 (rr_swap_table): Adjust.
3837 (relation_swap): Remove range assert.
3838 (rr_intersect_table): Adjust.
3839 (relation_intersect): Remove range assert.
3840 (rr_union_table): Adjust.
3841 (relation_union): Remove range assert.
3842 (rr_transitive_table): Adjust.
3843 (relation_transitive): Remove range assert.
3844 (equiv_oracle::query_relation): Use new VREL enumerated values.
3845 (equiv_oracle::register_relation): Ditto.
3846 (relation_oracle::register_stmt): Ditto.
3847 (dom_oracle::set_one_relation): Ditto.
3848 (dom_oracle::register_transitives): Ditto.
3849 (dom_oracle::query_relation): Ditto.
3850 (path_oracle::register_relation): Ditto.
3851 (path_oracle::query_relation): Ditto.
3852 * value-relation.h (enum relation_kind_t): New relation_kind.
3853 (*_op1_op2_relation): Adjust prototypes.
3854
3855 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
3856
3857 * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
3858 * value-range.cc (irange::legacy_verbose_union_): Add return value.
3859 (irange::irange_single_pair_union): New.
3860 (irange::irange_union): Add return value.
3861 * value-range.h (class irange): Adjust prototypes.
3862
3863 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
3864
3865 * value-range.cc (irange::legacy_verbose_intersect): Add return value.
3866 (irange::irange_contains_p): New.
3867 (irange::irange_intersect): Add return value.
3868 * value-range.h (class irange): Adjust prototypes.
3869
3870 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
3871
3872 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
3873 had_global value instead.
3874
3875 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
3876
3877 PR tree-optimization/104547
3878 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
3879 the op1/op2 relation to the relation call.
3880 * range-op.cc (*::lhs_op1_relation): Add param.
3881 (*::lhs_op2_relation): Ditto.
3882 (operator_minus::lhs_op1_relation): New.
3883 (range_relational_tests): Add relation param.
3884 * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
3885
3886 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
3887
3888 * gimple-range.cc (gimple_ranger::register_side_effects): First check
3889 if the DEF should be exported as a global.
3890 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
3891 which will export globals.
3892 (execute_ranger_vrp): Remove call to export_global_ranges.
3893
3894 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
3895
3896 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
3897
3898 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
3899
3900 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
3901 worlist truncated.
3902 (ranger_cache::entry_range): Add rfd_mode parameter.
3903 (ranger_cache::exit_range): Ditto.
3904 (ranger_cache::edge_range): New. Incorporate from range_on_edge.
3905 (ranger_cache::range_of_expr): Adjust call to entry_range.
3906 (ranger_cache::range_on_edge): Split to edge_range and call.
3907 (ranger_cache::fill_block_cache): Always invoke range_from_dom.
3908 (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
3909 mutiple predecessors.
3910 (ranger_cache::update_to_nonnull): Adjust call to exit_range.
3911 * gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust
3912 prototypes.
3913
3914 2022-05-13 Alexandre Oliva <oliva@adacore.com>
3915
3916 * gimple-harden-conditionals.cc: Include sbitmap.h.
3917 (pass_harden_conditional_branches::execute): Skip new blocks.
3918 (pass_harden_compares::execute): Likewise.
3919
3920 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
3921
3922 PR target/105463
3923 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
3924 mve_memory_operand.
3925 (*movmisalign<mode>_mve_load): Likewise.
3926 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
3927 form...
3928 (@movmisalign<mode>): ... thus. Use generic predicates and then
3929 rework operands if they are not valid. For MVE rework to a
3930 narrower element size if the alignment is not high enough.
3931
3932 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
3933
3934 * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
3935 when there is no write-back. Fix use when strict is true.
3936
3937 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3938
3939 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
3940 definition.
3941
3942 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3943
3944 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
3945 extzvsi_internal): Rename from extv, extv_internal, extzv and
3946 extzv_internal, respectively.
3947
3948 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
3949
3950 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
3951 is the same on the LHS and RHS before rewriting one with the model
3952 of the other.
3953
3954 2022-05-13 Richard Biener <rguenther@suse.de>
3955
3956 * gimple-fold.cc (gimple_build): Adjust for new
3957 main API.
3958 * gimple-fold.h (gimple_build): New main APIs with
3959 iterator, insert direction and iterator update.
3960 (gimple_build): New forwarder template.
3961 (clear_padding_type_may_have_padding_p): Remove.
3962 (clear_type_padding_in_mask): Likewise.
3963 (arith_overflowed_p): Likewise.
3964 * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
3965 (clear_type_padding_in_mask): Likewise.
3966 (arith_overflowed_p): Likewise.
3967 * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
3968 (gimplify_build2): Likewise.
3969 (gimplify_build1): Likewise.
3970 * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
3971 compare stmt.
3972 * gengtype.cc (open_base_files): Re-order includes.
3973 * builtins.cc: Re-order gimple-fold.h include.
3974 * calls.cc: Likewise.
3975 * cgraphbuild.cc: Likewise.
3976 * cgraphunit.cc: Likewise.
3977 * config/rs6000/rs6000-builtin.cc: Likewise.
3978 * config/rs6000/rs6000-call.cc: Likewise.
3979 * config/rs6000/rs6000.cc: Likewise.
3980 * config/s390/s390.cc: Likewise.
3981 * expr.cc: Likewise.
3982 * fold-const.cc: Likewise.
3983 * function-tests.cc: Likewise.
3984 * gimple-match-head.cc: Likewise.
3985 * gimple-range-fold.cc: Likewise.
3986 * gimple-ssa-evrp-analyze.cc: Likewise.
3987 * gimple-ssa-evrp.cc: Likewise.
3988 * gimple-ssa-sprintf.cc: Likewise.
3989 * gimple-ssa-warn-access.cc: Likewise.
3990 * gimplify.cc: Likewise.
3991 * graphite-isl-ast-to-gimple.cc: Likewise.
3992 * ipa-cp.cc: Likewise.
3993 * ipa-devirt.cc: Likewise.
3994 * ipa-prop.cc: Likewise.
3995 * omp-low.cc: Likewise.
3996 * pointer-query.cc: Likewise.
3997 * range-op.cc: Likewise.
3998 * tree-cfg.cc: Likewise.
3999 * tree-if-conv.cc: Likewise.
4000 * tree-inline.cc: Likewise.
4001 * tree-object-size.cc: Likewise.
4002 * tree-ssa-ccp.cc: Likewise.
4003 * tree-ssa-dom.cc: Likewise.
4004 * tree-ssa-forwprop.cc: Likewise.
4005 * tree-ssa-ifcombine.cc: Likewise.
4006 * tree-ssa-loop-ivcanon.cc: Likewise.
4007 * tree-ssa-math-opts.cc: Likewise.
4008 * tree-ssa-pre.cc: Likewise.
4009 * tree-ssa-propagate.cc: Likewise.
4010 * tree-ssa-reassoc.cc: Likewise.
4011 * tree-ssa-sccvn.cc: Likewise.
4012 * tree-ssa-strlen.cc: Likewise.
4013 * tree-ssa.cc: Likewise.
4014 * value-pointer-equiv.cc: Likewise.
4015 * vr-values.cc: Likewise.
4016
4017 2022-05-13 Alexandre Oliva <oliva@adacore.com>
4018
4019 PR rtl-optimization/105455
4020 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
4021 probabilities for newly-conditional edges.
4022
4023 2022-05-13 liuhongt <hongtao.liu@intel.com>
4024
4025 PR tree-optimization/102583
4026 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
4027 contiguous stride in the VEC_PERM_EXPR.
4028
4029 2022-05-12 Richard Biener <rguenther@suse.de>
4030
4031 PR rtl-optimization/105577
4032 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
4033 edges before running fast DCE via df_analyze.
4034
4035 2022-05-12 Richard Biener <rguenther@suse.de>
4036
4037 PR tree-optimization/105562
4038 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
4039 against all CLOBBER defs if there's not an obvious must-alias
4040 and we are not doing redundant store elimination.
4041 (vn_walk_cb_data::redundant_store_removal_p): New field.
4042 (vn_reference_lookup_pieces): Initialize it.
4043 (vn_reference_lookup): Add argument to specify if we are
4044 doing redundant store removal.
4045 (eliminate_dom_walker::eliminate_stmt): Specify we do.
4046 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
4047
4048 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
4049
4050 PR target/104371
4051 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
4052 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
4053 New define_split pattern.
4054
4055 2022-05-12 Jakub Jelinek <jakub@redhat.com>
4056
4057 * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
4058 if null_pointer_node.
4059 (gimplify_scan_omp_clauses): Likewise.
4060 * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
4061 as omp_all_memory.
4062
4063 2022-05-11 Patrick Palka <ppalka@redhat.com>
4064
4065 * tree.h (TREE_VEC_BEGIN): Define.
4066 (TREE_VEC_END): Correct 'length' member access.
4067 (class tree_vec_range): Define.
4068
4069 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
4070
4071 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
4072
4073 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
4074
4075 * config/rs6000/rs6000.md: Use d instead of <Ff>.
4076
4077 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
4078
4079 * config/rs6000/constraints.md (register_constraint "f"): Use
4080 RS6000_CONSTRAINT_d.
4081 * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
4082 RS6000_CONSTRAINT_f.
4083 (rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit.
4084 * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
4085 RS6000_CONSTRAINT_d.
4086
4087 2022-05-11 Richard Biener <rguenther@suse.de>
4088
4089 * gimple-fold.h (gimple_build): Use variadic template
4090 functions for the gimple_build API forwarders without
4091 location_t argument.
4092
4093 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
4094
4095 PR middle-end/70090
4096 * asan.cc (initialize_sanitizer_builtins): Register
4097 __builtin_dynamic_object_size if necessary.
4098
4099 2022-05-11 Richard Biener <rguenther@suse.de>
4100
4101 PR rtl-optimization/105559
4102 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
4103 for non-debug insns.
4104
4105 2022-05-11 Richard Biener <rguenther@suse.de>
4106
4107 * generic-match-head.cc: Include tree-eh.h.
4108 * match.pd ((cond ...) cmp X): New simplification inspired
4109 by fold_binary_op_with_conditional_arg.
4110 (eq/ne (cmp ...) true/false): Likewise.
4111
4112 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
4113
4114 * doc/install.texi: Don't document '--with-hsa-runtime',
4115 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
4116
4117 2022-05-11 Martin Liska <mliska@suse.cz>
4118
4119 PR other/105527
4120 * doc/install.texi: Document the configure option --with-zstd.
4121
4122 2022-05-11 Martin Liska <mliska@suse.cz>
4123
4124 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
4125 compute index in cpu_features2.
4126 (set_cpu_feature): Likewise.
4127 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
4128 loop for cpu_features2 and use NOP_EXPRs.
4129
4130 2022-05-11 Richard Biener <rguenther@suse.de>
4131
4132 PR bootstrap/105551
4133 * opts.cc (finish_options): Also disable var-tracking if
4134 !DWARF2_DEBUGGING_INFO.
4135
4136 2022-05-11 liuhongt <hongtao.liu@intel.com>
4137
4138 PR target/104915
4139 * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
4140 pre_reload define_insn_and_split.
4141 (*vec_setv2di_0_zero_extendhi_1): Ditto.
4142 (*vec_set<mode>_0_zero_extendsi): Ditto.
4143 (*vec_setv2di_0_zero_extendsi_1): Ditto.
4144 (ssewvecmode): New mode attr.
4145 (ssewvecmodelower): Ditto.
4146 (ssepackmodelower): Ditto.
4147
4148 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
4149
4150 * config/rs6000/constraints.md (register constraint v): Use
4151 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
4152
4153 2022-05-11 Martin Liska <mliska@suse.cz>
4154
4155 PR target/105355
4156 * config/riscv/riscv.opt: Remove Separate from
4157 -msmall-data-limit=.
4158 * optc-gen.awk: Report error for the described situation.
4159 * gcc.cc: Use Separate syntax.
4160 * opts.cc (gen_command_line_string): Change option name.
4161
4162 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
4163
4164 PR target/105414
4165 * match.pd (minmax): Skip constant folding for fmin/fmax when both
4166 arguments are sNaN or one is sNaN and another is NaN.
4167
4168 2022-05-10 Jakub Jelinek <jakub@redhat.com>
4169
4170 PR tree-optimization/105528
4171 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
4172 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
4173
4174 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
4175
4176 * doc/md.texi (Defining Mode Iterators): Correct example replacement
4177 text.
4178
4179 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
4180
4181 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
4182 constants.
4183 (fmin<mode>3, fmax<mode>3): New insns.
4184
4185 2022-05-10 Richard Biener <rguenther@suse.de>
4186
4187 * tree-if-conv.cc (fold_build_cond_expr): Use
4188 match-and-simplify to simplify the condition.
4189 (ifcvt_follow_ssa_use_edges): Remove.
4190 (predicate_scalar_phi): Use follow_all_ssa_edges.
4191
4192 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
4193
4194 PR middle-end/100400
4195 * omp-oacc-kernels-decompose.cc
4196 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
4197 call 'internal_error'.
4198
4199 2022-05-10 Richard Biener <rguenther@suse.de>
4200
4201 PR middle-end/105537
4202 * toplev.cc (process_options): Move flag_var_tracking
4203 handling ...
4204 * opts.cc (finish_options): ... here.
4205
4206 2022-05-10 Martin Liska <mliska@suse.cz>
4207
4208 * basic-block.h (struct basic_block_d): Use void *
4209 instead PTR.
4210 * cfgloop.h: Likewise.
4211 * cgraph.h: Likewise.
4212 * gengtype-state.cc (state_ident_by_name): Likewise.
4213 (record_type): Likewise.
4214 (read_state_already_seen_type): Likewise.
4215 * gengtype.cc (dump_type): Likewise.
4216 (input_file_by_name): Likewise.
4217 (main): Likewise.
4218 * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
4219 * ipa-utils.h (struct ipa_dfs_info): Likewise.
4220 * plugin.cc (htab_hash_plugin): Likewise.
4221
4222 2022-05-10 Richard Biener <rguenther@suse.de>
4223
4224 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
4225 API with !GENERATOR_FILE.
4226 * opts.cc (global_options): Poison.
4227 (global_options_set): Likewise.
4228 (finish_options): Refer to options via opts.
4229
4230 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
4231 Roger Sayle <roger@nextmovesoftware.com>
4232
4233 * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
4234 alternative when optimizing for size and the immediate operand is
4235 const_0_to_127_operand.
4236 (*andqi_2_maybe_si): Likewise.
4237 * config/i386/predicates.md (const_0_to_127_operand): New predicate.
4238
4239 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
4240
4241 * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
4242 "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
4243 can't be negative.
4244
4245 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
4246
4247 PR target/105292
4248 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
4249 true only for 8-byte vector modes.
4250
4251 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
4252
4253 PR middle-end/70090
4254 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
4255 (instrument_object_size): Get dynamic object size expression.
4256
4257 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
4258
4259 PR preprocessor/101168
4260 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
4261 Avoid empty identifier.
4262
4263 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
4264
4265 PR target/101891
4266 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
4267 as a generic MMX mode instead of V4HImode.
4268 (zero_all_mm_registers): Use SET to zero instead of MOV for
4269 zeroing scratch registers.
4270 (ix86_zero_call_used_regs): Likewise.
4271
4272 2022-05-09 liuhongt <hongtao.liu@intel.com>
4273
4274 PR target/105354
4275 * config/i386/i386-expand.cc
4276 (expand_vec_perm_pslldq_psrldq_por): New function.
4277 (ix86_expand_vec_perm_const_1): Try
4278 expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
4279 4/5-instruction sequence.
4280
4281 2022-05-09 Martin Liška <mliska@suse.cz>
4282
4283 * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
4284 * system.h (STATIC_ASSERT): Define as static_assert for C++
4285 and fallback to array index in C.
4286
4287 2022-05-09 Richard Biener <rguenther@suse.de>
4288
4289 PR tree-optimization/105517
4290 * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
4291 offset can be represented in the POINTER_PLUS_EXPR IL.
4292 (vn_reference_insert): Likewise.
4293 * poly-int.h (sext_hwi): Add poly version of sext_hwi.
4294
4295 2022-05-09 Richard Biener <rguenther@suse.de>
4296
4297 * match.pd: Remove #if GIMPLE guards around ! using patterns.
4298
4299 2022-05-09 liuhongt <hongtao.liu@intel.com>
4300
4301 PR target/105072
4302 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
4303 New define_insn.
4304 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
4305 define_insn_and_split.
4306
4307 2022-05-09 Alex Coplan <alex.coplan@arm.com>
4308
4309 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
4310 symtab state is PARSING.
4311
4312 2022-05-09 Martin Liska <mliska@suse.cz>
4313
4314 * system.h (LIKELY): Define.
4315 (UNLIKELY): Likewise.
4316 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
4317 macros.
4318 * dse.cc (set_position_unneeded): Likewise.
4319 (set_all_positions_unneeded): Likewise.
4320 (any_positions_needed_p): Likewise.
4321 (all_positions_needed_p): Likewise.
4322 * expmed.cc (flip_storage_order): Likewise.
4323 * genmatch.cc (dt_simplify::gen_1): Likewise.
4324 * ggc-common.cc (gt_pch_save): Likewise.
4325 * print-rtl.cc: Likewise.
4326 * rtl-iter.h (T>::array_type::~array_type): Likewise.
4327 (T>::next): Likewise.
4328 * rtl-ssa/internals.inl: Likewise.
4329 * rtl-ssa/member-fns.inl: Likewise.
4330 * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
4331 (rtx_properties::try_to_add_dest): Likewise.
4332 * rtlanal.h (growing_rtx_properties::repeat): Likewise.
4333 (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
4334 * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
4335 * sort.cc (likely): Likewise.
4336 (mergesort): Likewise.
4337 * wide-int.h (wi::eq_p): Likewise.
4338 (wi::ltu_p): Likewise.
4339 (wi::cmpu): Likewise.
4340 (wi::bit_and): Likewise.
4341 (wi::bit_and_not): Likewise.
4342 (wi::bit_or): Likewise.
4343 (wi::bit_or_not): Likewise.
4344 (wi::bit_xor): Likewise.
4345 (wi::add): Likewise.
4346 (wi::sub): Likewise.
4347
4348 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
4349
4350 * config/riscv/arch-canonicalize: Handle g correctly.
4351
4352 2022-05-07 Marek Polacek <polacek@redhat.com>
4353
4354 PR c++/101833
4355 PR c++/47634
4356 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
4357
4358 2022-05-06 Jason Merrill <jason@redhat.com>
4359
4360 * diagnostic-color.cc: Add fnname and targs color entries.
4361 * doc/invoke.texi: Document them.
4362
4363 2022-05-06 Jason Merrill <jason@redhat.com>
4364
4365 * vec.h (vec::iterate): Fix comment.
4366
4367 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
4368
4369 PR target/102059
4370 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
4371 and -mpower10-fusion options for inlining purposes.
4372
4373 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
4374
4375 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
4376
4377 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
4378
4379 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
4380 omp_runtime_apis array.
4381
4382 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
4383
4384 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
4385 (scan_sharing_clauses): Check a restriction on allocate clause.
4386
4387 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
4388
4389 * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
4390 and ORDERED clause conflict errors. Add check for GRAINSIZE and
4391 NUM_TASKS on TASKLOOP.
4392
4393 2022-05-05 Martin Liska <mliska@suse.cz>
4394
4395 * genautomata.cc (create_composed_state): Remove dead code.
4396 * graphite-poly.cc (print_pdrs): Likewise.
4397 * lto-wrapper.cc (run_gcc): Likewise.
4398 * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
4399 Likewise.
4400
4401 2022-05-05 Martin Liska <mliska@suse.cz>
4402
4403 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
4404 PROF_*.
4405 (gimple_gen_time_profiler): Likewise.
4406
4407 2022-05-05 Martin Liska <mliska@suse.cz>
4408
4409 * value-prof.cc (stream_out_histogram_value): Remove sanity
4410 checking.
4411
4412 2022-05-05 Richard Biener <rguenther@suse.de>
4413
4414 PR tree-optimization/104162
4415 * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
4416 &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
4417 becomes invariant.
4418 (vn_reference_insert): Likewise.
4419
4420 2022-05-05 Richard Biener <rguenther@suse.de>
4421
4422 * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
4423 to real_value field.
4424 (tree_real_cst::value): Add real_value field.
4425 * tree.h (TREE_REAL_CST_PTR): Adjust.
4426 * tree.cc (build_real): Remove separate allocation.
4427 * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
4428 Likewise.
4429
4430 2022-05-05 Richard Biener <rguenther@suse.de>
4431
4432 * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
4433 divisions with undefined overflow unconditionally.
4434 (pass_tree_ifcombine::execute): Rewrite stmts with undefined
4435 overflow to defined.
4436
4437 2022-05-05 Richard Biener <rguenther@suse.de>
4438
4439 PR tree-optimization/105484
4440 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
4441 whether the CFG changed.
4442 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
4443
4444 2022-05-05 Richard Biener <rguenther@suse.de>
4445
4446 PR tree-optimization/104595
4447 * tree-vect-patterns.cc (vect_recog_bool_pattern): For
4448 COND_EXPR do not fail if check_bool_pattern returns false.
4449
4450 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
4451
4452 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
4453 item that is in an outer data-sharing clause.
4454
4455 2022-05-04 Richard Biener <rguenther@suse.de>
4456
4457 PR tree-optimization/104658
4458 * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
4459 create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector
4460 type on nodes we promote.
4461 (vectorizable_bb_reduc_epilogue): Deal with externalized
4462 root.
4463 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
4464 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
4465
4466 2022-05-04 Richard Biener <rguenther@suse.de>
4467
4468 PR tree-optimization/103116
4469 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
4470 case we need peeling for gaps even though GROUP_GAP is zero.
4471
4472 2022-05-04 Martin Liska <mliska@suse.cz>
4473
4474 * gengtype-state.cc (read_a_state_token): Remove dead code.
4475 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
4476
4477 2022-05-04 Richard Biener <rguenther@suse.de>
4478
4479 * gimplify.cc (gimplify_init_constructor): First gimplify,
4480 then simplify the result to a VECTOR_CST.
4481
4482 2022-05-04 Jakub Jelinek <jakub@redhat.com>
4483
4484 * genconditions.cc (write_conditions): Append a { nullptr, -1 }
4485 element at the end of insn_conditions.
4486 (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
4487 ARRAY_SIZE (insn_conditions).
4488
4489 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
4490
4491 PR target/104662
4492 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
4493 vector of booleans and MVE is not enabled.
4494
4495 2022-05-04 Richard Biener <rguenther@suse.de>
4496
4497 PR debug/105158
4498 * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
4499 Move debug stmts to the predecessor if moving to the
4500 destination is not possible.
4501 (remove_forwarder_block): Adjust.
4502 (remove_forwarder_block_with_phi): Likewise.
4503
4504 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
4505
4506 PR tree-optimization/102950
4507 * range-op.cc (wi_optimize_signed_bitwise_op): New function to
4508 determine bounds of bitwise operations on signed types.
4509 (operator_bitwise_and::wi_fold): Call the above function.
4510 (operator_bitwise_or::wi_fold): Likewise.
4511 (operator_bitwise_xor::wi_fold): Likewise. Additionally, the
4512 result can't be zero if the operands can't be equal.
4513
4514 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
4515
4516 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
4517 protocol class methods linker-visible.
4518
4519 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
4520
4521 PR target/105079
4522 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
4523 define_insn_and_split pattern.
4524
4525 2022-05-03 Richard Biener <rguenther@suse.de>
4526
4527 PR middle-end/105083
4528 * tree-scalar-evolution.cc (scev_initialize): Verify we
4529 have appropriate loop state.
4530 * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
4531 loop init and finalization.
4532
4533 2022-05-03 Richard Biener <rguenther@suse.de>
4534
4535 PR middle-end/105461
4536 * opts.cc (finish_options): Match the condition to
4537 disable flag_var_tracking to that of process_options.
4538
4539 2022-05-03 Richard Biener <rguenther@suse.de>
4540
4541 * opts.cc: #undef OPTIONS_SET_P.
4542 (finish_options): Use opts_set instead of OPTIONS_SET_P.
4543
4544 2022-05-03 Richard Biener <rguenther@suse.de>
4545
4546 PR tree-optimization/105394
4547 * tree-vect-generic.cc (expand_vector_condition): Adjust
4548 comp_width for non-integer mode masks as well.
4549
4550 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
4551
4552 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
4553 omp_runtime_apis array.
4554
4555 2022-05-02 Richard Biener <rguenther@suse.de>
4556
4557 * tree-scalar-evolution.cc (expression_expensive_p):
4558 Never consider mismatched calls as cheap.
4559
4560 2022-05-02 Richard Biener <rguenther@suse.de>
4561
4562 PR tree-optimization/104240
4563 * tree-vect-slp.cc (op1_op0_map): New.
4564 (vect_get_operand_map): Handle compares.
4565 (vect_build_slp_tree_1): Support swapped operands for
4566 tcc_comparison.
4567
4568 2022-05-02 Jakub Jelinek <jakub@redhat.com>
4569
4570 PR debug/105415
4571 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
4572 if there is no symtab node for the VAR_DECL.
4573
4574 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4575
4576 * gcov-io.cc (gcov_rewrite): Clear the file error status.
4577
4578 2022-05-02 Richard Biener <rguenther@suse.de>
4579
4580 PR tree-optimization/105437
4581 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
4582 case where last_stmt alters control flow.
4583
4584 2022-05-02 Richard Biener <rguenther@suse.de>
4585
4586 * dojump.cc (do_jump): Use CASE_CONVERT.
4587 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
4588
4589 2022-05-02 Jakub Jelinek <jakub@redhat.com>
4590
4591 * system.h: Include initializer_list.
4592
4593 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
4594
4595 * config/rs6000/constraints.md (Y constraint): Fix comment.
4596
4597 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
4598
4599 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
4600 VR_RANGE before passing a piecewise range to set_range_info_raw.
4601
4602 2022-04-30 Patrick Palka <ppalka@redhat.com>
4603
4604 * gengtype.cc (adjust_field_tree_exp): Remove.
4605 (adjust_field_type): Don't handle the "tree_exp" special attribute.
4606 * tree-core.h (struct tree_exp): Remove "special" and "desc"
4607 attributes. Add "length" attribute.
4608
4609 2022-04-29 Martin Jambor <mjambor@suse.cz>
4610
4611 PR ipa/100413
4612 * cgraph.cc (cgraph_node::remove): Release body of the node this
4613 is clone_of if appropriate.
4614
4615 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
4616
4617 PR target/51954
4618 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
4619
4620 2022-04-29 Richard Biener <rguenther@suse.de>
4621
4622 * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
4623 (canonicalize_cond_expr_cond): Move here from gimple.cc,
4624 allow both COND_EXPR and GIMPLE_COND forms.
4625 * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
4626 * gimple.cc (canonicalize_cond_expr_cond): Remove here.
4627 * gimple.h (canonicalize_cond_expr_cond): Likewise.
4628 * gimple-loop-versioning.cc (loop_versioning::version_loop):
4629 Use is_gimple_condexpr_for_cond.
4630 * tree-parloops.cc (gen_parallel_loop): Likewise.
4631 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
4632 a proper cond expr after canonicalize_cond_expr_cond.
4633 Use is_gimple_condexpr_for_cond where appropriate.
4634 * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
4635 * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
4636
4637 2022-04-29 Richard Biener <rguenther@suse.de>
4638
4639 * gimple-iterator.h (gsi_after_labels): Add overload for
4640 gimple_seq.
4641 (gsi_start_1): Rename to gsi_start and take a reference.
4642 (gsi_last_1): Likewise.
4643 * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
4644 * omp-low.cc (lower_rec_input_clauses): Likewise.
4645 (lower_omp_scan): Likewise.
4646
4647 2022-04-29 Richard Biener <rguenther@suse.de>
4648
4649 PR tree-optimization/105431
4650 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
4651 (powi_as_mults): Use absu_hwi.
4652 (gimple_expand_builtin_powi): Remove now pointless n != -n
4653 check.
4654
4655 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
4656
4657 * range-op.cc (empty_range_varying): Move to range-op.h.
4658 (range_true): Move to range.h.
4659 (range_false): Same.
4660 (range_true_and_false): Same.
4661 (enum bool_range_state): Move to range-op.h.
4662 (relop_early_resolve): Same.
4663 (operator_equal::op1_op2_relation): Abstract code to...
4664 (equal_op1_op2_relation): ...here.
4665 (operator_not_equal::op1_op2_relation): Abstract code to...
4666 (not_equal_op1_op2_relation): ...here.
4667 (operator_lt::op1_op2_relation): Abstract code to...
4668 (lt_op1_op2_relation): ...here.
4669 (operator_le::op1_op2_relation): Abstract code to...
4670 (le_op1_op2_relation): ...here.
4671 (operator_gt::op1_op2_relation): Abstract code to...
4672 (gt_op1_op2_relation): ...here.
4673 (operator_ge::op1_op2_relation): Abstract code to...
4674 (ge_op1_op2_relation): ...here.
4675 (class range_op_table): Move to range-op.h.
4676 * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
4677 (not_equal_op1_op2_relation): Same.
4678 (lt_op1_op2_relation): Same.
4679 (le_op1_op2_relation): Same.
4680 (gt_op1_op2_relation): Same.
4681 (ge_op1_op2_relation): Same.
4682 (enum bool_range_state): Same.
4683 (get_bool_state): Same.
4684 (empty_range_varying): Same.
4685 (relop_early_resolve): Same.
4686 (class range_op_table): Same.
4687 * range.h (range_true): Same.
4688 (range_false): Same.
4689 (range_true_and_false): Same.
4690
4691 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
4692
4693 * gimple-fold.cc (size_must_be_zero_p): Use reference
4694 instead of pointer
4695 * gimple-ssa-evrp-analyze.cc
4696 (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
4697 intersect to legacy_verbose_intersect.
4698 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
4699 of pointer.
4700 * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
4701 instead of value_range_equiv.
4702 * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
4703 instead of pointer.
4704 (find_case_label_range): Same.
4705 * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
4706 (value_range_equiv::legacy_verbose_intersect): ...this.
4707 (value_range_equiv::union_): Rename to...
4708 (value_range_equiv::legacy_verbose_union_): ...this.
4709 * value-range-equiv.h (class value_range_equiv): Rename union and
4710 intersect to legacy_verbose_{intersect,union}.
4711 * value-range.cc (irange::union_): Rename to...
4712 (irange::legacy_verbose_union_): ...this.
4713 (irange::intersect): Rename to...
4714 (irange::legacy_verbose_intersect): ...this.
4715 * value-range.h (irange::union_): Rename union_ to
4716 legacy_verbose_union.
4717 (irange::intersect): Rename intersect to legacy_verbose_intersect.
4718 * vr-values.cc (vr_values::update_value_range): Same.
4719 (vr_values::extract_range_for_var_from_comparison_expr): Same.
4720 (vr_values::extract_range_from_cond_expr): Rename union_ to
4721 legacy_verbose_union.
4722 (vr_values::extract_range_from_phi_node): Same.
4723
4724 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
4725
4726 * gimple-ssa-evrp-analyze.cc
4727 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
4728 that take a range.
4729 * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
4730 * ipa-prop.cc (ipcp_update_vr): Same.
4731 * tree-inline.cc (remap_ssa_name): Same.
4732 * tree-ssa-copy.cc (fini_copy_prop): Same.
4733 * tree-ssa-math-opts.cc (optimize_spaceship): Same.
4734 * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
4735 * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
4736 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
4737 * tree-ssa-strlen.cc (set_strlen_range): Same.
4738 (strlen_pass::handle_builtin_string_cmp): Same.
4739 * tree-ssanames.cc (set_range_info): Make static.
4740 (duplicate_ssa_name_range_info): Make static and add a new variant
4741 calling the static.
4742 * tree-ssanames.h (set_range_info): Remove version taking wide ints.
4743 (duplicate_ssa_name_range_info): Remove version taking a
4744 range_info_def and replace with a version taking SSA names.
4745 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
4746 that take a range.
4747 (vect_do_peeling): Same.
4748 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
4749 * vr-values.cc (simplify_truth_ops_using_ranges): Same.
4750
4751 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
4752
4753 * value-range.h (irange::irange): Use set_undefined.
4754
4755 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
4756
4757 * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
4758 irange::intersect (wide_int, wide_int).
4759 * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
4760 (adjust_imagpart_expr): Same.
4761 * value-range.h (irange::intersect (wide_int, wide_int)): Make
4762 private.
4763
4764 2022-04-29 Richard Biener <rguenther@suse.de>
4765
4766 PR tree-optimization/104322
4767 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
4768
4769 2022-04-29 Richard Biener <rguenther@suse.de>
4770
4771 PR middle-end/105376
4772 * tree.cc (build_real): Special case dconst* arguments
4773 for decimal floating point types.
4774
4775 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4776
4777 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
4778 Environments): New section.
4779
4780 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4781
4782 * doc/gcov-tool.texi: Document merge-stream subcommand.
4783 * doc/invoke.texi (fprofile-info-section): Mention merge-stream
4784 subcommand of gcov-tool.
4785 * gcov-tool.cc (gcov_profile_merge_stream): Declare.
4786 (print_merge_stream_usage_message): New.
4787 (merge_stream_usage): Likewise.
4788 (do_merge_stream): Likewise.
4789 (print_usage): Call print_merge_stream_usage_message().
4790 (main): Call do_merge_stream() to execute merge-stream subcommand.
4791
4792 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4793
4794 * gcov-io.cc (gcov_file_error): New enum.
4795 (gcov_var): Use gcov_file_error enum for the error member.
4796 (gcov_open): Use GCOV_FILE_NO_ERROR.
4797 (gcov_close): Use GCOV_FILE_WRITE_ERROR.
4798 (gcov_write): Likewise.
4799 (gcov_write_unsigned): Likewise.
4800 (gcov_write_string): Likewise.
4801 (gcov_read_bytes): Set error code if EOF is reached.
4802 (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
4803
4804 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4805
4806 * gcov-io.cc (GCOV_MODE_STDIN): Define.
4807 (gcov_position): For gcov-tool, return calculated position if file is
4808 stdin.
4809 (gcov_open): For gcov-tool, use stdin if filename is NULL.
4810 (gcov_close): For gcov-tool, do not close stdin.
4811 (gcov_read_bytes): For gcov-tool, update position if file is stdin.
4812 (gcov_sync): For gcov-tool, discard input if file is stdin.
4813
4814 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4815
4816 * doc/invoke.texi (fprofile-info-section): Mention
4817 __gcov_filename_to_gcfn(). Use "freestanding" to match with C11
4818 standard language. Fix minor example code issues.
4819 * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
4820
4821 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4822
4823 * gcov-io.cc (gcov_seek): Make it static.
4824 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
4825
4826 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4827
4828 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
4829 (gcov_output_files): Open files for reading and writing.
4830
4831 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4832
4833 * gcov-io.cc (gcov_open): Always use the mode parameter.
4834 * gcov-io.h (gcov_open): Declare it unconditionally.
4835
4836 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4837
4838 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
4839 (profile_merge): Allow merging of directories which contain no profile
4840 files.
4841
4842 2022-04-28 David Malcolm <dmalcolm@redhat.com>
4843
4844 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
4845 fpath.txt output.
4846
4847 2022-04-28 Jakub Jelinek <jakub@redhat.com>
4848
4849 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
4850 temporary only if out overlaps compare_op, not when it overlaps
4851 op0 or op1.
4852
4853 2022-04-28 Jakub Jelinek <jakub@redhat.com>
4854
4855 PR lto/105399
4856 * cgraph.cc (cgraph_node::verify_node): Don't verify
4857 semantic_interposition flag against
4858 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
4859
4860 2022-04-28 Jakub Jelinek <jakub@redhat.com>
4861
4862 PR target/105331
4863 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
4864 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
4865 of it.
4866
4867 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
4868
4869 * doc/install.texi (Configuration): Remove misleading text
4870 around LE PowerPC Linux multilibs.
4871
4872 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4873
4874 PR d/103528
4875 * doc/install.texi (Tools/packages necessary for building GCC)
4876 (GDC): Document libphobos requirement.
4877 (Host/target specific installation notes for GCC, *-*-solaris2*):
4878 Document libphobos and GDC specifics.
4879
4880 2022-04-28 Richard Biener <rguenther@suse.de>
4881
4882 PR tree-optimization/105219
4883 * tree-vect-loop.cc (vect_transform_loop): Disable
4884 special code narrowing the vectorized epilogue max
4885 iterations when peeling for alignment or gaps was in effect.
4886
4887 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
4888
4889 * config/loongarch/loongarch.cc
4890 (loongarch_flatten_aggregate_field): Ignore empty fields for
4891 RECORD_TYPE.
4892
4893 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
4894
4895 * config/loongarch/loongarch.md: Add fdiv define_expand template,
4896 then generate floating-point division and floating-point reciprocal
4897 instructions.
4898
4899 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
4900
4901 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
4902 to PLV instruction templates.
4903
4904 2022-04-27 Richard Biener <rguenther@suse.de>
4905
4906 PR middle-end/104492
4907 * gimple-ssa-warn-access.cc
4908 (pass_waccess::warn_invalid_pointer): Exclude equality compare
4909 diagnostics for all kind of invalidations.
4910 (pass_waccess::check_dangling_uses): Fix post-dominator query.
4911 (pass_waccess::check_pointer_uses): Likewise.
4912
4913 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
4914
4915 PR target/102024
4916 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
4917 prototype.
4918 * config/s390/s390.cc (s390_single_field_struct_p): New function.
4919 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
4920 (s390_function_arg_float): Likewise.
4921
4922 2022-04-27 Jakub Jelinek <jakub@redhat.com>
4923
4924 PR sanitizer/105396
4925 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
4926 where offset is bigger than off but smaller than m_prev_offset + 32
4927 bits by pushing one or more 0 bytes. Sink the
4928 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
4929 all cases to the end of the function.
4930
4931 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
4932
4933 PR target/105271
4934 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
4935 stanza.
4936
4937 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
4938
4939 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
4940 data-share memory exhausted" error more verbose.
4941
4942 2022-04-26 Martin Liska <mliska@suse.cz>
4943
4944 PR lto/105364
4945 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
4946 (run_gcc): Parse OPT_fdiagnostics_urls_.
4947 (main): Initialize global_dc.
4948
4949 2022-04-26 Jakub Jelinek <jakub@redhat.com>
4950
4951 PR rtl-optimization/105314
4952 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
4953 operand is equal to if_info->x, instead use the non-zero operand
4954 as one of the operands of AND with if_info->x as target.
4955
4956 2022-04-26 Jakub Jelinek <jakub@redhat.com>
4957
4958 PR tree-optimization/105374
4959 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
4960 !fold_convertible_p rather than assuming fold_convert must succeed.
4961
4962 2022-04-26 Jakub Jelinek <jakub@redhat.com>
4963
4964 PR target/105367
4965 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
4966 el_mode == DFmode ? double_type_node : float_type_node instead of
4967 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
4968
4969 2022-04-25 David Malcolm <dmalcolm@redhat.com>
4970
4971 PR analyzer/104308
4972 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
4973 the location of new_stmt in all places that don't already set it,
4974 whether explicitly, or via a call to gsi_replace.
4975
4976 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
4977
4978 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
4979
4980 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
4981
4982 PR tree-optimization/105276
4983 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
4984 existing global range with calculated value.
4985
4986 2022-04-25 Richard Biener <rguenther@suse.de>
4987
4988 PR tree-optimization/105368
4989 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
4990
4991 2022-04-25 Richard Biener <rguenther@suse.de>
4992
4993 PR tree-optimization/100810
4994 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
4995 (find_ssa_undef): New function.
4996 (add_candidate_1): Avoid adding derived candidates with
4997 undefined SSA names and mark the original ones.
4998 (determine_group_iv_cost_generic): Reject rewriting
4999 uses with a different IV when that involves undefined SSA names.
5000
5001 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
5002
5003 PR target/89125
5004 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
5005 bsd_libc_has_function.
5006 * targhooks.cc (bsd_libc_has_function): New function.
5007 Expand the supported math functions to inclue C99 libm.
5008 * targhooks.h (bsd_libc_has_function): New Prototype.
5009
5010 2022-04-25 Richard Biener <rguenther@suse.de>
5011
5012 PR rtl-optimization/105231
5013 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
5014 with landing pad > 0 is from i3. Put any REG_EH_REGION note
5015 on i3 or drop it if the insn can not trap.
5016 (try_combine): Ensure that we can merge REG_EH_REGION notes
5017 with non-call exceptions. Ensure we are not splitting a
5018 trapping part of an insn with non-call exceptions when there
5019 is any REG_EH_REGION note to preserve.
5020
5021 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
5022
5023 PR target/105339
5024 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
5025 Add parentheses for parameters and djust format.
5026 (_mm512_mask_scalef_round_pd): Ditto.
5027 (_mm512_maskz_scalef_round_pd): Ditto.
5028 (_mm512_scalef_round_ps): Ditto.
5029 (_mm512_mask_scalef_round_ps): Ditto.
5030 (_mm512_maskz_scalef_round_ps): Ditto.
5031 (_mm_scalef_round_sd): Use _mm_undefined_pd.
5032 (_mm_scalef_round_ss): Use _mm_undefined_ps.
5033 (_mm_mask_scalef_round_sd): New macro.
5034 (_mm_mask_scalef_round_ss): Ditto.
5035 (_mm_maskz_scalef_round_sd): Ditto.
5036 (_mm_maskz_scalef_round_ss): Ditto.
5037
5038 2022-04-23 Jakub Jelinek <jakub@redhat.com>
5039
5040 PR target/105338
5041 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
5042 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
5043 cases.
5044
5045 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
5046
5047 PR target/105334
5048 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
5049 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
5050 (pack<mode>_hard for FMOVE128): ... this...
5051 (pack<mode>_soft for FMOVE128): ... and this.
5052
5053 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
5054
5055 * doc/extend.texi: Correct "This" to "These".
5056
5057 2022-04-22 Jakub Jelinek <jakub@redhat.com>
5058
5059 PR rtl-optimization/105333
5060 * rtlanal.cc (replace_rtx): Use simplify_subreg or
5061 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
5062 CONST_INT_P.
5063
5064 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
5065
5066 PR target/103197
5067 PR target/102146
5068 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
5069 the "Z" alternatives in {l,st}{f,xs}iwzx.
5070 (zero_extendhi<mode>2 for EXTHI): Ditto.
5071 (zero_extendsi<mode>2 for EXTSI): Ditto.
5072 (*movsi_internal1): Ditto.
5073 (*mov<mode>_internal1 for QHI): Ditto.
5074 (movsd_hardfloat): Ditto.
5075
5076 2022-04-21 Martin Liska <mliska@suse.cz>
5077
5078 * configure.ac: Enable compressed debug sections for mold
5079 linker.
5080 * configure: Regenerate.
5081
5082 2022-04-21 Jakub Jelinek <jakub@redhat.com>
5083
5084 PR debug/105203
5085 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
5086 on DEBUG_INSNs.
5087
5088 2022-04-20 Richard Biener <rguenther@suse.de>
5089
5090 PR tree-optimization/104912
5091 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
5092 the cost model check to a separate BB to make sure it is
5093 checked first and not combined with other version checks.
5094
5095 2022-04-20 Richard Biener <rguenther@suse.de>
5096
5097 PR tree-optimization/105312
5098 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
5099 VCOND and VCONDU for EQ and NE.
5100
5101 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
5102
5103 PR ipa/103818
5104 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
5105 poly_offset_int to avoid overflow.
5106 (modref_access_node::update2): likewise.
5107
5108 2022-04-20 Jakub Jelinek <jakub@redhat.com>
5109
5110 PR ipa/105306
5111 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
5112 to opt_for_fn (decl, flag_semantic_interposition).
5113 * cgraphclones.cc (cgraph_node::create_clone): Copy over
5114 semantic_interposition flag.
5115
5116 2022-04-19 Sergei Trofimovich <siarheit@google.com>
5117
5118 PR gcov-profile/105282
5119 * value-prof.cc (stream_out_histogram_value): Allow negative counts
5120 on HIST_TYPE_INDIR_CALL.
5121
5122 2022-04-19 Jakub Jelinek <jakub@redhat.com>
5123
5124 PR target/105257
5125 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
5126 use gen_raw_REG instead of gen_rtx_REG and copy over also
5127 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
5128
5129 2022-04-19 Richard Biener <rguenther@suse.de>
5130
5131 PR tree-optimization/104010
5132 PR tree-optimization/103941
5133 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
5134 we run into stmts in patterns continue walking those
5135 for uses outside of the vectorized region instead of
5136 marking the lane live.
5137
5138 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
5139
5140 * doc/install.texi <CRIS>: Remove references to removed websites and
5141 adjust for cris-*-elf being the only remaining toolchain.
5142
5143 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
5144
5145 * doc/invoke.texi <CRIS>: Remove references to options for removed
5146 subtarget cris-axis-linux-gnu and tweak wording accordingly.
5147
5148 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
5149
5150 * doc/install.texi (Specific): Adjust mingw-w64 download link.
5151
5152 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
5153
5154 * config/i386/smmintrin.h: Correct target pragma from sse4.1
5155 and sse4.2 to crc32 for crc32 intrinsics.
5156
5157 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
5158
5159 PR debug/105089
5160 * ctfc.cc (ctf_dvd_ignore_insert): New function.
5161 (ctf_dvd_ignore_lookup): Likewise.
5162 (ctf_add_variable): Keep track of non-defining decl DIEs.
5163 (new_ctf_container): Initialize the new hash-table.
5164 (ctfc_delete_container): Empty hash-table.
5165 * ctfc.h (struct ctf_container): Add new hash-table.
5166 (ctf_dvd_ignore_lookup): New declaration.
5167 (ctf_add_variable): Add additional argument.
5168 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
5169 record for non-defining decl for which a defining decl exists
5170 in the same TU.
5171 (ctf_preprocess): Defer updating the number of global objts
5172 until here.
5173 (output_ctf_header): Use ctfc_vars_list_count as some CTF
5174 variables may not make it to the final output.
5175 (output_ctf_vars): Likewise.
5176 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
5177 if this is known to be a non-defining decl DIE.
5178
5179 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
5180
5181 * ctfc.h (struct ctf_container): Introduce a new member.
5182 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
5183 variable.
5184
5185 2022-04-14 Jakub Jelinek <jakub@redhat.com>
5186
5187 PR target/105247
5188 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
5189 or rotates by VOIDmode constant integer shift count use word_mode
5190 for the operand if int_mode is narrower than word.
5191
5192 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
5193
5194 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
5195 (s390_get_unit_mask): Likewise.
5196 (s390_is_fpd): Likewise.
5197 (s390_is_fxd): Likewise.
5198 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
5199 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
5200 Add z16.
5201 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
5202 Likewise.
5203 * config/s390/3931.md: New file.
5204
5205 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
5206
5207 PR tree-optimization/105254
5208 * config/aarch64/aarch64.cc
5209 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
5210 loop_vec_info as argument. Restrict the unroll factor to values
5211 that divide the VF.
5212 (aarch64_vector_costs::finish_cost): Update call accordingly.
5213
5214 2022-04-13 Richard Biener <rguenther@suse.de>
5215
5216 PR tree-optimization/105263
5217 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
5218 negates in multiplication chains with DFP.
5219
5220 2022-04-13 Jakub Jelinek <jakub@redhat.com>
5221
5222 PR middle-end/105253
5223 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
5224 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
5225 comparisons or tree_nop_conversion_p checks.
5226
5227 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
5228
5229 PR target/103069
5230 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
5231 Add missing set to target_val at pause label.
5232
5233 2022-04-13 Jakub Jelinek <jakub@redhat.com>
5234
5235 PR target/105234
5236 * attribs.cc (decl_attributes): Don't set
5237 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
5238 NULL.
5239
5240 2022-04-13 Richard Biener <rguenther@suse.de>
5241
5242 PR tree-optimization/105250
5243 * fold-const.cc (fold_convertible_p): Revert
5244 r12-7979-geaaf77dd85c333, instead check for size equality
5245 of the vector types involved.
5246
5247 2022-04-13 Richard Biener <rguenther@suse.de>
5248
5249 Revert:
5250 2022-04-13 Richard Biener <rguenther@suse.de>
5251
5252 PR tree-optimization/104912
5253 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
5254 the cost model check to a separate BB to make sure it is
5255 checked first and not combined with other version checks.
5256
5257 2022-04-13 Richard Biener <rguenther@suse.de>
5258
5259 PR tree-optimization/104912
5260 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
5261 the cost model check to a separate BB to make sure it is
5262 checked first and not combined with other version checks.
5263
5264 2022-04-13 Jakub Jelinek <jakub@redhat.com>
5265
5266 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
5267
5268 2022-04-12 Antoni Boucher <bouanto@zoho.com>
5269
5270 PR jit/104072
5271 * reginfo.cc: New functions (clear_global_regs_cache,
5272 reginfo_cc_finalize) to avoid an issue where compiling the same
5273 code multiple times gives an error about assigning the same
5274 register to 2 global variables.
5275 * rtl.h: New function (reginfo_cc_finalize).
5276 * toplev.cc: Call it.
5277
5278 2022-04-12 Antoni Boucher <bouanto@zoho.com>
5279
5280 PR jit/104071
5281 * toplev.cc: Call the new function tree_cc_finalize in
5282 toplev::finalize.
5283 * tree.cc: New functions (clear_nonstandard_integer_type_cache
5284 and tree_cc_finalize) to clear the cache of non-standard integer
5285 types to avoid having issues with some optimizations of
5286 bitcast where the SSA_NAME will have a size of a cached
5287 integer type that should have been invalidated, causing a
5288 comparison of integer constant to fail.
5289 * tree.h: New function (tree_cc_finalize).
5290
5291 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
5292
5293 PR target/97348
5294 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
5295 * config/nvptx/nvptx.opt (misa): Adjust comment.
5296
5297 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
5298
5299 Revert:
5300 2022-03-03 Tom de Vries <tdevries@suse.de>
5301
5302 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
5303
5304 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
5305
5306 Revert:
5307 2022-03-31 Tom de Vries <tdevries@suse.de>
5308
5309 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
5310
5311 2022-04-12 Richard Biener <rguenther@suse.de>
5312
5313 PR ipa/104303
5314 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
5315 include local escaped memory as obviously necessary stores.
5316
5317 2022-04-12 Richard Biener <rguenther@suse.de>
5318
5319 PR tree-optimization/105235
5320 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
5321 return whether the CFG changed.
5322 (execute_cse_sincos_1): Adjust.
5323
5324 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
5325
5326 PR target/104144
5327 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
5328 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
5329 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
5330 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
5331 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
5332 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
5333 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
5334
5335 2022-04-12 Richard Biener <rguenther@suse.de>
5336
5337 PR tree-optimization/105232
5338 * tree.cc (component_ref_size): Bail out for too large
5339 or non-constant sizes.
5340
5341 2022-04-12 Richard Biener <rguenther@suse.de>
5342
5343 PR tree-optimization/105226
5344 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
5345 we can split the exit of an outer loop we choose to version.
5346
5347 2022-04-12 Jakub Jelinek <jakub@redhat.com>
5348
5349 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
5350 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
5351 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
5352 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
5353 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
5354 Formatting fix.
5355 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
5356
5357 2022-04-12 Jakub Jelinek <jakub@redhat.com>
5358
5359 PR target/105214
5360 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
5361 do_pending_stack_adjust.
5362
5363 2022-04-12 Jakub Jelinek <jakub@redhat.com>
5364
5365 PR rtl-optimization/105211
5366 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
5367 fails for TREE_TYPE (arg), retry it with
5368 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
5369 fails, emit call normally.
5370
5371 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
5372
5373 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
5374 * config.gcc: Add z16 as march/mtune switch.
5375 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
5376 Recognize z16 with -march=native.
5377 * config/s390/s390-opts.h (enum processor_type): Rename
5378 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
5379 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
5380 (PROCESSOR_3931_Z16): ... throughout the file.
5381 (s390_processor processor_table): Add z16 as cpu string.
5382 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
5383 PF_Z16.
5384 (TARGET_CPU_ARCH14): Rename to ...
5385 (TARGET_CPU_Z16): ... this.
5386 (TARGET_CPU_ARCH14_P): Rename to ...
5387 (TARGET_CPU_Z16_P): ... this.
5388 (TARGET_ARCH14): Rename to ...
5389 (TARGET_Z16): ... this.
5390 (TARGET_ARCH14_P): Rename to ...
5391 (TARGET_Z16_P): ... this.
5392 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
5393 check TARGET_Z16 instead of TARGET_ARCH14.
5394 * config/s390/s390.opt: Add z16 to processor_type.
5395 * doc/invoke.texi: Document z16 and arch14.
5396
5397 2022-04-12 chenglulu <chenglulu@loongson.cn>
5398
5399 * config/loongarch/loongarch.cc: Fix bug for
5400 tmpdir-g++.dg-struct-layout-1/t033.
5401
5402 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
5403
5404 PR target/104894
5405 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
5406 to longcall functions.
5407
5408 2022-04-11 Jason Merrill <jason@redhat.com>
5409
5410 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
5411
5412 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
5413
5414 PR target/105213
5415 PR target/103623
5416 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
5417
5418 2022-04-11 Jakub Jelinek <jakub@redhat.com>
5419
5420 PR tree-optimization/105218
5421 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
5422 more than one predecessor or phi's bb more than 2 predecessors,
5423 reset phi result uses instead of adding a debug temp.
5424
5425 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
5426
5427 PR target/104853
5428 * config.gcc: Pass -misa-spec to arch-canonicalize and
5429 multilib-generator.
5430 * config/riscv/arch-canonicalize: Adding -misa-spec option.
5431 (SUPPORTED_ISA_SPEC): New.
5432 (arch_canonicalize): New argument `isa_spec`.
5433 Handle multiple ISA spec versions.
5434 * config/riscv/multilib-generator: Adding -misa-spec option.
5435
5436 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
5437
5438 * config/riscv/arch-canonicalize: Add TODO item.
5439 (IMPLIED_EXT): Sync.
5440 (arch_canonicalize): Checking until no change.
5441
5442 2022-04-11 Tamar Christina <tamar.christina@arm.com>
5443
5444 PR target/105197
5445 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
5446 not masked.
5447
5448 2022-04-11 Jason Merrill <jason@redhat.com>
5449
5450 PR c++/100370
5451 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
5452 deref == -1.
5453
5454 2022-04-11 Jakub Jelinek <jakub@redhat.com>
5455
5456 PR tree-optimization/104639
5457 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
5458 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
5459 into x != cst3.
5460
5461 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
5462
5463 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
5464 sign bit of the source ends up in CC.
5465
5466 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
5467
5468 PR ipa/103376
5469 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
5470 flag.
5471
5472 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
5473
5474 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
5475 nondeterministic and side_effects flags.
5476
5477 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
5478
5479 PR target/105157
5480 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
5481 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
5482 (TARGET_CPU_MASK): Likewise.
5483 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
5484 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
5485 (aarch64_get_arch): Likewise.
5486 (aarch64_override_options): Use TARGET_CPU_NBITS.
5487
5488 2022-04-08 Richard Biener <rguenther@suse.de>
5489
5490 PR tree-optimization/105198
5491 * tree-predcom.cc (find_looparound_phi): Check whether
5492 the found memory location of the entry value is clobbered
5493 inbetween the value we want to use and loop entry.
5494
5495 2022-04-08 Jakub Jelinek <jakub@redhat.com>
5496
5497 PR tree-optimization/105189
5498 * fold-const.cc (make_range_step): Fix up handling of
5499 (unsigned) x +[low, -] ranges for signed x if low fits into
5500 typeof (x).
5501
5502 2022-04-08 Richard Biener <rguenther@suse.de>
5503
5504 PR tree-optimization/105175
5505 * tree-vect-stmts.cc (vectorizable_operation): Suppress
5506 -Wvector-operation-performance if using emulated vectors.
5507 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
5508 -Wvector-operation-performance when suppressed.
5509 (expand_vector_parallel): Likewise.
5510 (expand_vector_comparison): Likewise.
5511 (expand_vector_condition): Likewise.
5512 (lower_vec_perm): Likewise.
5513 (expand_vector_conversion): Likewise.
5514
5515 2022-04-07 Tamar Christina <tamar.christina@arm.com>
5516
5517 PR target/104409
5518 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
5519 (aarch64_general_init_builtins): Move LS64 code.
5520 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
5521 arm_acle.h
5522 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
5523 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
5524
5525 2022-04-07 Richard Biener <rguenther@suse.de>
5526 Jan Hubicka <hubicka@ucw.cz>
5527
5528 PR ipa/104303
5529 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
5530 ref_may_alias_global_p, ref_may_alias_global_p,
5531 stmt_may_clobber_global_p, pt_solution_includes_global): Add
5532 bool parameters indicating whether escaped locals should be
5533 considered global.
5534 * tree-ssa-structalias.cc (pt_solution_includes_global):
5535 When the new escaped_nonlocal_p flag is true also consider
5536 pt->vars_contains_escaped.
5537 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
5538 Pass down new escaped_nonlocal_p flag.
5539 (ref_may_alias_global_p): Likewise.
5540 (stmt_may_clobber_global_p): Likewise.
5541 (ref_may_alias_global_p_1): Likewise. For decls also
5542 query the escaped solution if true.
5543 (ref_may_access_global_memory_p): Remove.
5544 (modref_may_conflict): Use ref_may_alias_global_p with
5545 escaped locals considered global.
5546 (ref_maybe_used_by_stmt_p): Adjust.
5547 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
5548 Likewise.
5549 * tree-ssa-dse.cc (dse_classify_store): Likewise.
5550 * trans-mem.cc (thread_private_new_memory): Likewise, but
5551 consider escaped locals global.
5552 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
5553
5554 2022-04-07 Richard Biener <rguenther@suse.de>
5555
5556 PR tree-optimization/105185
5557 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
5558 modref query again.
5559
5560 2022-04-07 Tamar Christina <tamar.christina@arm.com>
5561
5562 PR target/104049
5563 * config/aarch64/aarch64-simd.md
5564 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
5565 (reduc_plus_scal_<mode>): ... This.
5566 (reduc_plus_scal_v4sf): Moved.
5567 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
5568 (reduc_plus_scal_v2si): ... This.
5569
5570 2022-04-07 Jakub Jelinek <jakub@redhat.com>
5571
5572 PR tree-optimization/102586
5573 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
5574 langhook.
5575 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
5576 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
5577 * gimple-fold.cc (clear_padding_type): Use ftype instead of
5578 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
5579 name try the lang_hooks.types.classtype_as_base langhook and
5580 if it returns non-NULL, use that instead of ftype for recursive call.
5581
5582 2022-04-07 Jakub Jelinek <jakub@redhat.com>
5583
5584 PR tree-optimization/105150
5585 * tree.cc (tree_builtin_call_types_compatible_p): New function.
5586 (get_call_combined_fn): Use it.
5587
5588 2022-04-07 Richard Biener <rguenther@suse.de>
5589
5590 PR middle-end/105165
5591 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
5592 _Complex outputs.
5593
5594 2022-04-07 liuhongt <hongtao.liu@intel.com>
5595
5596 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
5597 Removed.
5598 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
5599 for mask_applied.
5600 (<code><mode>3<mask_name>): Ditto.
5601 (*<code><mode>3<mask_name>): Ditto.
5602 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
5603 real instruction.
5604 (VFB_512): Ditto.
5605 (VFB): Ditto.
5606
5607 2022-04-06 Jakub Jelinek <jakub@redhat.com>
5608
5609 PR rtl-optimization/104985
5610 * combine.cc (struct undo): Add where.regno member.
5611 (do_SUBST_MODE): Rename to ...
5612 (subst_mode): ... this. Change first argument from rtx * into int,
5613 operate on regno_reg_rtx[regno] and save regno into where.regno.
5614 (SUBST_MODE): Remove.
5615 (try_combine): Use subst_mode instead of SUBST_MODE, change first
5616 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
5617 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
5618 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
5619 instead of *undo->where.r.
5620 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
5621 argument from regno_reg_rtx[whatever] to whatever.
5622
5623 2022-04-06 Jakub Jelinek <jakub@redhat.com>
5624
5625 PR target/105069
5626 * config/sh/sh.opt (mdiv=): Add Save.
5627
5628 2022-04-06 Martin Liska <mliska@suse.cz>
5629
5630 PR driver/105096
5631 * common.opt: Document properly based on what it does.
5632 * gcc.cc (display_help): Unify with what we have in common.opt.
5633 * opts.cc (common_handle_option): Do not print undocumented
5634 options.
5635
5636 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
5637
5638 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
5639 cxx17_empty_base_field_p fields and set an indicator.
5640 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
5641 (mips_function_value_1): Inform psABI change about C++17 empty
5642 bases.
5643
5644 2022-04-06 Jakub Jelinek <jakub@redhat.com>
5645
5646 PR tree-optimization/105150
5647 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
5648 builtin_decl_explicit here...
5649 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
5650 here.
5651
5652 2022-04-06 Richard Biener <rguenther@suse.de>
5653
5654 PR tree-optimization/105173
5655 * tree-ssa-reassoc.cc (find_insert_point): Get extra
5656 insert_before output argument and compute it.
5657 (insert_stmt_before_use): Adjust.
5658 (rewrite_expr_tree): Likewise.
5659
5660 2022-04-06 Richard Biener <rguenther@suse.de>
5661
5662 PR ipa/105166
5663 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
5664 out for non-pointer arguments.
5665
5666 2022-04-06 Richard Biener <rguenther@suse.de>
5667
5668 PR tree-optimization/105163
5669 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
5670 negated abnormals.
5671
5672 2022-04-06 Jakub Jelinek <jakub@redhat.com>
5673
5674 PR tree-optimization/105150
5675 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
5676 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
5677 preferrably on builtin_decl_explicit decl rather than fndecl.
5678 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
5679 gimple_builtin_call_types_compatible_p here.
5680
5681 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
5682
5683 PR tree-optimization/103761
5684 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
5685 the ncopies parameter with an slp_node parameter. Calculate the
5686 number of vectors based on it and vectype. Rename lambda to
5687 group_memory_nvectors.
5688 (vectorizable_store, vectorizable_load): Update calls accordingly.
5689
5690 2022-04-06 Martin Liska <mliska@suse.cz>
5691
5692 * doc/invoke.texi: Document it.
5693
5694 2022-04-06 Richard Biener <rguenther@suse.de>
5695
5696 PR tree-optimization/105148
5697 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
5698 2 and 3 of ARRAY_REFs.
5699
5700 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
5701
5702 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
5703 (*andnottf3): Replace with...
5704 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
5705
5706 2022-04-06 Richard Biener <rguenther@suse.de>
5707
5708 PR tree-optimization/105142
5709 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
5710 basic-block parameter.
5711 (maybe_fold_or_comparisons): Likewise.
5712 * gimple-fold.cc (follow_outer_ssa_edges): New.
5713 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
5714 when an outer condition basic-block is specified.
5715 (and_comparisons_1, and_var_with_comparison,
5716 and_var_with_comparison_1, or_comparisons_1,
5717 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
5718 down the outer condition basic-block.
5719 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
5720 basic-block of the outer condition.
5721
5722 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
5723
5724 PR target/105002
5725 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
5726 comparison codes UNLT/UNLE/UNGT/UNGE.
5727
5728 2022-04-05 David Malcolm <dmalcolm@redhat.com>
5729
5730 * doc/extend.texi (Common Function Attributes): Document that
5731 'access' does not imply 'nonnull'.
5732
5733 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
5734
5735 PR target/105139
5736 * config/i386/mmx.md (*movv2qi_internal):
5737 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
5738
5739 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
5740
5741 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
5742 define_expand and turn operands 0 and 1 from REGs to MEMs.
5743 (*aarch64_cpymemdi): New pattern.
5744 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
5745 from a REG to a MEM.
5746 (*aarch64_setmemdi): New pattern.
5747 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
5748 copy_to_mode_reg on all three registers. Replace the original
5749 MEM addresses rather than creating wild reads and writes.
5750 (aarch64_expand_setmem_mops): Likewise for the size and for the
5751 destination memory and address.
5752
5753 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
5754
5755 PR target/103147
5756 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
5757 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
5758 from aarch64_simd_switcher.
5759 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
5760 New variable.
5761 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
5762 (register_tuple_type): Add more asserts. Expect the alignment
5763 of the structure to be subject to flag_pack_struct and
5764 maximum_field_alignment. Set aarch64_simd_tuple_modes.
5765 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
5766 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
5767 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
5768 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
5769 while calling aarch64_init_simd_builtins.
5770 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
5771 (sve_switcher::~sve_switcher): Remove code now performed by
5772 aarch64_simd_switcher.
5773
5774 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
5775
5776 PR target/104897
5777 * config/aarch64/aarch64-sve-builtins.cc
5778 (function_resolver::infer_vector_or_tuple_type): Use error_n
5779 for "%d vectors" messages.
5780
5781 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
5782
5783 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
5784 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
5785 current clause.
5786
5787 2022-04-05 Richard Biener <rguenther@suse.de>
5788
5789 PR c/105151
5790 * passes.def (pass_walloca): Move early instance into
5791 pass_build_ssa_passes to make SSA form available.
5792
5793 2022-04-05 liuhongt <hongtao.liu@intel.com>
5794
5795 PR target/101908
5796 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
5797 function
5798 (ix86_reorg): Call ix86_split_stlf_stall_load.
5799 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
5800 param.
5801
5802 2022-04-05 Alexandre Oliva <oliva@adacore.com>
5803
5804 * targhooks.cc (default_zero_call_used_regs): Attempt to group
5805 regs that the target refuses to use in their natural modes.
5806 (zcur_select_mode_rtx): New.
5807 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
5808 (hard_regno_max_nregs): Define.
5809 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
5810
5811 2022-04-04 Alex Coplan <alex.coplan@arm.com>
5812
5813 * doc/match-and-simplify.texi: Fix typos.
5814
5815 2022-04-04 Jakub Jelinek <jakub@redhat.com>
5816
5817 PR target/105144
5818 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
5819 only if configured with --enable-maintainer-mode, otherwise compare
5820 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
5821 if they differ, emit a message and fail.
5822
5823 2022-04-04 Jakub Jelinek <jakub@redhat.com>
5824
5825 PR target/105144
5826 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
5827 * config/aarch64/aarch64-tune.md: Regenerated.
5828
5829 2022-04-04 Richard Biener <rguenther@suse.de>
5830
5831 PR tree-optimization/105132
5832 * tree-vect-stmts.cc (vectorizable_operation): Check that
5833 the input vectors have the same number of elements.
5834
5835 2022-04-04 Richard Biener <rguenther@suse.de>
5836
5837 PR middle-end/105140
5838 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
5839
5840 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
5841
5842 PR target/104987
5843 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
5844 (delay slot descripts): Use different delay slot description when
5845 the insn as the "bbi" attribute.
5846 (bbi, bbin patterns): Set the bbi attribute to yes.
5847
5848 2022-04-03 Jakub Jelinek <jakub@redhat.com>
5849
5850 PR target/105123
5851 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
5852 using word as target for expand_simple_binop when doing ASHIFT and
5853 IOR.
5854
5855 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
5856
5857 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
5858 NULL before dereferencing it.
5859
5860 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
5861
5862 * config/i386/i386.cc (zero_all_st_registers): Return the value of
5863 num_of_st.
5864 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
5865 the return value of zero_all_st_registers.
5866 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
5867 * function.cc (gen_call_used_regs_seq): Add an assertion.
5868 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
5869
5870 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
5871
5872 PR target/102024
5873 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
5874 fields, and inform if it causes a psABI change.
5875
5876 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
5877
5878 PR target/102024
5879 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
5880 zero-width bit-fields and set up an indicator.
5881 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
5882 (mips_function_value_1): Diagnose when the presense of a C++
5883 zero-width bit-field changes function returning in GCC 12.
5884
5885 2022-04-01 Jakub Jelinek <jakub@redhat.com>
5886
5887 PR tree-optimization/104645
5888 * tree-ssa-phiopt.cc (value_replacement): If assign has
5889 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
5890 statement with constant evaluation.
5891
5892 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
5893
5894 * config/mips/mips.cc (mips_expand_prologue):
5895 IPL is 8bit for MCU ASE.
5896
5897 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
5898
5899 PR target/104004
5900 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
5901 (MTFSB0): Likewise.
5902 (MTFSB1): Likewise.
5903 (SET_FPSCR_RN): Likewise.
5904 (SET_FPSCR_DRN): Mark nosoft and no32bit.
5905
5906 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
5907
5908 * doc/options.texi (Option file format): Clarifications around
5909 option definition records' help texts.
5910
5911 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
5912
5913 * optc-gen.awk <END>: Fix "Multiple different help strings" error
5914 diagnostic.
5915
5916 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
5917
5918 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
5919 determine_suggested_unroll_factor and m_has_avg.
5920 (determine_suggested_unroll_factor): New function.
5921 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
5922 to set m_nosve_pattern.
5923 (aarch64_vector_costs::finish_costs): Use
5924 determine_suggested_unroll_factor.
5925 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
5926 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
5927
5928 2022-03-31 Martin Jambor <mjambor@suse.cz>
5929
5930 PR ipa/103083
5931 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
5932 (ipa_get_jf_ancestor_keep_null): New function.
5933 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
5934 ancestor function.
5935 (compute_complex_assign_jump_func): Pass false to keep_null
5936 parameter of ipa_set_ancestor_jf.
5937 (compute_complex_ancestor_jump_func): Pass true to keep_null
5938 parameter of ipa_set_ancestor_jf.
5939 (update_jump_functions_after_inlining): Carry over keep_null from the
5940 original ancestor jump-function or merge them.
5941 (ipa_write_jump_function): Stream keep_null flag.
5942 (ipa_read_jump_function): Likewise.
5943 (ipa_print_node_jump_functions_for_edge): Print the new flag.
5944 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
5945 member function known_nonzero_p.
5946 (ipcp_bits_lattice::known_nonzero_p): New.
5947 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
5948 observe it.
5949 (ipcp_bits_lattice::meet_with): Likewise.
5950 (propagate_bits_across_jump_function): Simplify. Pass true in
5951 drop_all_ones when it is necessary.
5952 (propagate_aggs_across_jump_function): Take care of keep_null
5953 flag.
5954 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
5955 jump functions.
5956
5957 2022-03-31 Martin Jambor <mjambor@suse.cz>
5958
5959 PR ipa/102513
5960 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
5961 which do not fit the known value_range.
5962
5963 2022-03-31 Martin Jambor <mjambor@suse.cz>
5964
5965 PR ipa/103171
5966 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
5967 always when an ADDR_EXPR constant is known to reach a load because
5968 of inlining, not just when removing an ADDR reference.
5969
5970 2022-03-31 Richard Biener <rguenther@suse.de>
5971
5972 PR tree-optimization/105109
5973 * tree-ssa.cc (execute_update_addresses_taken): Suppress
5974 diagnostics on the load of the other complex component.
5975
5976 2022-03-31 Tom de Vries <tdevries@suse.de>
5977
5978 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
5979
5980 2022-03-31 Richard Biener <rguenther@suse.de>
5981
5982 PR rtl-optimization/105091
5983 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
5984 bases.
5985
5986 2022-03-31 Richard Biener <rguenther@suse.de>
5987
5988 Revert:
5989 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
5990
5991 PR target/102125
5992 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
5993 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
5994
5995 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
5996
5997 * gcov-io.cc (gcov_read_string): Reword documentation comment.
5998
5999 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
6000
6001 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
6002 stanza.
6003 (NEG_V4SF): Likewise.
6004 (NEG_V4SI): Likewise.
6005 (NEG_V8HI): Likewise.
6006 (NEG_V2DF): Move to [vsx] stanza.
6007 (NEG_V2DI): Likewise.
6008
6009 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
6010
6011 PR middle-end/105032
6012 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
6013
6014 2022-03-30 Tom de Vries <tdevries@suse.de>
6015 Tobias Burnus <tobias@codesourcery.com>
6016
6017 * doc/invoke.texi (march): Document __PTX_SM__.
6018 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
6019 __PTX_ISA_VERSION_MINOR__.
6020
6021 2022-03-30 Jakub Jelinek <jakub@redhat.com>
6022
6023 PR sanitizer/105093
6024 * ubsan.cc (instrument_object_size): If t is equal to inner and
6025 is a decl other than global var, punt. When emitting call to
6026 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
6027
6028 2022-03-30 Jakub Jelinek <jakub@redhat.com>
6029
6030 PR tree-optimization/105094
6031 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
6032 bitsize <= 0 rather than just == 0.
6033
6034 2022-03-30 Tom de Vries <tdevries@suse.de>
6035
6036 * doc/invoke.texi (misa, mptx): Update.
6037 (march, march-map): Add.
6038
6039 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
6040
6041 * opt-functions.awk (n_args): New function.
6042 (lang_enabled_by): Merge function into...
6043 * optc-gen.awk <END>: ... sole user here.
6044 Improve diagnostics.
6045
6046 2022-03-29 Marek Polacek <polacek@redhat.com>
6047 Jakub Jelinek <jakub@redhat.com>
6048
6049 PR middle-end/103597
6050 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
6051 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
6052 (gimplify_cond_expr): Set UNUSED_LABEL_P.
6053 * tree.h (UNUSED_LABEL_P): New.
6054
6055 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
6056
6057 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
6058 be any VSX register.
6059
6060 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
6061
6062 PR target/102024
6063 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
6064 zero-sized bit-fields. Detect cases where a warning may be needed.
6065 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
6066 zero-sized bit-field has caused parameter passing to change.
6067
6068 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
6069
6070 PR target/102024
6071 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
6072 bit-fields. Detect cases where a warning may be needed.
6073 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
6074 a zero-sized bit-field has caused parameter passing to change.
6075
6076 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
6077
6078 PR target/96882
6079 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
6080 ARM_PCS_AAPCS_LOCAL.
6081
6082 2022-03-29 Tom de Vries <tdevries@suse.de>
6083
6084 PR target/104857
6085 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
6086 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
6087 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
6088 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
6089
6090 2022-03-29 Tom de Vries <tdevries@suse.de>
6091
6092 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
6093 is ignored.
6094
6095 2022-03-29 Tom de Vries <tdevries@suse.de>
6096
6097 PR target/104714
6098 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
6099
6100 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
6101
6102 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
6103 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
6104 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
6105 (TARGET_USE_GATHER_4PARTS): New macro.
6106 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
6107 (X86_TUNE_USE_GATHER_4PARTS): New tune
6108
6109 2022-03-29 Tom de Vries <tdevries@suse.de>
6110
6111 * config/nvptx/nvptx.opt (march): Add alias of misa.
6112
6113 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6114 Lulu Cheng <chenglulu@loongson.cn>
6115
6116 * doc/install.texi: Add LoongArch options section.
6117 * doc/invoke.texi: Add LoongArch options section.
6118 * doc/md.texi: Add LoongArch options section.
6119
6120 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6121 Lulu Cheng <chenglulu@loongson.cn>
6122
6123 * config/loongarch/loongarch-c.cc
6124
6125 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6126 Lulu Cheng <chenglulu@loongson.cn>
6127
6128 * config/loongarch/larchintrin.h: New file.
6129 * config/loongarch/loongarch-builtins.cc: New file.
6130
6131 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6132 Lulu Cheng <chenglulu@loongson.cn>
6133
6134 * config/host-linux.cc: Add LoongArch support.
6135 * config/loongarch/loongarch-protos.h: New file.
6136 * config/loongarch/loongarch-tune.h: Likewise.
6137 * config/loongarch/loongarch.cc: Likewise.
6138 * config/loongarch/loongarch.h: Likewise.
6139
6140 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6141 Lulu Cheng <chenglulu@loongson.cn>
6142
6143 * config/loongarch/constraints.md: New file.
6144 * config/loongarch/generic.md: New file.
6145 * config/loongarch/la464.md: New file.
6146 * config/loongarch/loongarch-ftypes.def: New file.
6147 * config/loongarch/loongarch-modes.def: New file.
6148 * config/loongarch/loongarch.md: New file.
6149 * config/loongarch/predicates.md: New file.
6150 * config/loongarch/sync.md: New file.
6151
6152 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6153 Lulu Cheng <chenglulu@loongson.cn>
6154
6155 * configure: Regenerate file.
6156
6157 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6158 Lulu Cheng <chenglulu@loongson.cn>
6159
6160 * common/config/loongarch/loongarch-common.cc: New file.
6161 * config/loongarch/genopts/genstr.sh: New file.
6162 * config/loongarch/genopts/loongarch-strings: New file.
6163 * config/loongarch/genopts/loongarch.opt.in: New file.
6164 * config/loongarch/loongarch-str.h: New file.
6165 * config/loongarch/gnu-user.h: New file.
6166 * config/loongarch/linux.h: New file.
6167 * config/loongarch/loongarch-cpu.cc: New file.
6168 * config/loongarch/loongarch-cpu.h: New file.
6169 * config/loongarch/loongarch-def.c: New file.
6170 * config/loongarch/loongarch-def.h: New file.
6171 * config/loongarch/loongarch-driver.cc: New file.
6172 * config/loongarch/loongarch-driver.h: New file.
6173 * config/loongarch/loongarch-opts.cc: New file.
6174 * config/loongarch/loongarch-opts.h: New file.
6175 * config/loongarch/loongarch.opt: New file.
6176 * config/loongarch/t-linux: New file.
6177 * config/loongarch/t-loongarch: New file.
6178 * config.gcc: Add LoongArch support.
6179 * configure.ac: Add LoongArch support.
6180
6181 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
6182
6183 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
6184 typo.
6185
6186 2022-03-29 Richard Biener <rguenther@suse.de>
6187
6188 PR tree-optimization/105080
6189 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
6190 loops and SCEV.
6191
6192 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
6193
6194 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
6195 (output_ctf_vars): Likewise.
6196
6197 2022-03-28 Jason Merrill <jason@redhat.com>
6198
6199 PR c++/59426
6200 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
6201
6202 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
6203
6204 PR target/105068
6205 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
6206 "Yw" in clobber.
6207
6208 2022-03-28 Tom de Vries <tdevries@suse.de>
6209
6210 PR target/104818
6211 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
6212 * config/nvptx/nvptx-gen.opt: Regenerate.
6213 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
6214 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
6215 gen-opt.sh.
6216
6217 2022-03-28 David Malcolm <dmalcolm@redhat.com>
6218
6219 PR analyzer/104308
6220 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
6221 to loads then stores, set the location of the new load stmt.
6222
6223 2022-03-28 Richard Biener <rguenther@suse.de>
6224
6225 PR tree-optimization/105070
6226 * tree-switch-conversion.h
6227 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
6228 argument.
6229 * tree-switch-conversion.cc
6230 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
6231 cond with location.
6232 (bit_test_cluster::emit): Annotate all generated expressions
6233 with location.
6234
6235 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
6236
6237 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
6238
6239 2022-03-28 liuhongt <hongtao.liu@intel.com>
6240
6241 PR target/105066
6242 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
6243 alternative 4 from sse4_noavx to noavx.
6244
6245 2022-03-28 Jakub Jelinek <jakub@redhat.com>
6246
6247 PR tree-optimization/105056
6248 * tree-predcom.cc (component::component): Initialize also comp_step.
6249
6250 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
6251
6252 PR target/105068
6253 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
6254 "Yw".
6255
6256 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
6257
6258 PR middle-end/104885
6259 * calls.cc (mark_stack_region_used): Check that the region
6260 is within the allocated size of stack_usage_map.
6261
6262 2022-03-26 Jakub Jelinek <jakub@redhat.com>
6263
6264 PR rtl-optimization/103775
6265 * recog.cc (check_invalid_inc_dec): New function.
6266 (insn_invalid_p): Return 1 if REG_INC operand overlaps
6267 any stored REGs.
6268
6269 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
6270
6271 PR target/105058
6272 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
6273 (aes<aesklvariant>u8): Likewise.
6274
6275 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
6276
6277 PR target/105052
6278 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
6279 Replace "Yv" with "x".
6280 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
6281 (ssse3_psign<mode>3): Likewise.
6282
6283 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
6284
6285 * reload.cc (find_reloads): Align comment with code where
6286 considering the intersection of register classes then tweaking the
6287 regclass for the current alternative or rejecting it.
6288
6289 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
6290
6291 PR target/104882
6292 Revert
6293 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
6294
6295 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
6296 (mve_vec_unpack<US>_hi_<mode>): Delete.
6297 (@mve_vec_pack_trunc_lo_<mode>): Delete.
6298 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
6299 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
6300 from vec-common.md.
6301 (vec_unpack<US>_lo_<mode>): Likewise.
6302 (vec_pack_trunc_<mode>): Rename from
6303 neon_quad_vec_pack_trunc_<mode>.
6304 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
6305 (vec_unpack<US>_lo_<mode>): Delete.
6306 (vec_pack_trunc_<mode>): Delete.
6307
6308 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
6309
6310 PR middle-end/104971
6311 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
6312 regs to clear remove_p flag.
6313
6314 2022-03-25 Richard Biener <rguenther@suse.de>
6315
6316 PR tree-optimization/105053
6317 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
6318 the correct live-out stmt for a reduction chain.
6319
6320 2022-03-25 Richard Biener <rguenther@suse.de>
6321
6322 PR middle-end/105049
6323 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
6324 CONSTRUCTOR first elements.
6325
6326 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
6327
6328 PR analyzer/103533
6329 * doc/invoke.texi (Static Analyzer Options): Move
6330 @ignore block after @gccoptlist's '}' for 'make pdf'.
6331
6332 2022-03-25 David Malcolm <dmalcolm@redhat.com>
6333
6334 PR analyzer/104954
6335 * doc/invoke.texi (Static Analyzer Options): Add
6336 -fdump-analyzer-untracked.
6337
6338 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
6339
6340 PR analyzer/103533
6341 * doc/invoke.texi: Document that enabling taint analyzer
6342 checker disables some warnings from `-fanalyzer`.
6343
6344 2022-03-24 Alexandre Oliva <oliva@adacore.com>
6345
6346 PR debug/104564
6347 * gimple-harden-conditionals.cc (detach_value): Keep temps
6348 anonymous.
6349
6350 2022-03-24 Alexandre Oliva <oliva@adacore.com>
6351
6352 PR middle-end/104975
6353 * gimple-harden-conditionals.cc
6354 (pass_harden_compares::execute): Force split in case of
6355 multiple edges.
6356
6357 2022-03-24 Jakub Jelinek <jakub@redhat.com>
6358
6359 PR c++/105035
6360 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
6361 field0 or field1 is not a FIELD_DECL, return false.
6362
6363 2022-03-24 Richard Biener <rguenther@suse.de>
6364
6365 * tree-predcom.cc (chain::chain): Add CTOR.
6366 (component::component): Likewise.
6367 (pcom_worker::release_chain): Use delete.
6368 (release_components): Likewise.
6369 (pcom_worker::filter_suitable_components): Likewise.
6370 (pcom_worker::split_data_refs_to_components): Use new.
6371 (make_invariant_chain): Likewise.
6372 (make_rooted_chain): Likewise.
6373 (pcom_worker::combine_chains): Likewise.
6374 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
6375 Make sure to release previously constructed scalar_results.
6376 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
6377 for vec_offsets.
6378 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
6379 Release m_flag_set_edges.
6380
6381 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
6382
6383 PR tree-optimization/104970
6384 * tree-object-size.cc (parm_object_size): Restrict size
6385 computation scenarios to explicit access attributes.
6386
6387 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
6388
6389 PR target/104967
6390 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
6391 function types.
6392
6393 2022-03-23 Richard Biener <rguenther@suse.de>
6394
6395 PR target/102125
6396 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
6397 use of movmisalign when either the source or destination
6398 decl is properly aligned.
6399
6400 2022-03-23 Richard Biener <rguenther@suse.de>
6401
6402 PR rtl-optimization/105028
6403 * ira-color.cc (form_threads_from_copies): Remove unnecessary
6404 copying of the sorted_copies tail.
6405
6406 2022-03-23 Martin Liska <mliska@suse.cz>
6407
6408 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
6409 Use %qs in format.
6410 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
6411 Reword the error message.
6412
6413 2022-03-23 liuhongt <hongtao.liu@intel.com>
6414
6415 PR target/104976
6416 * config/i386/sse.md (ssePSmodelower): New.
6417 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
6418 lowpart_subreg to avoid NULL_RTX.
6419 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
6420 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
6421 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
6422 <avx512>_<complexopname>_<mode>_mask<round_name>,
6423 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
6424 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
6425 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
6426 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
6427 float<floatunssuffix><mode>v4hf2,
6428 float<floatunssuffix>v2div2hf2,
6429 fix<fixunssuffix>_truncv4hf<mode>2,
6430 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
6431 extendv2hfv2df2,
6432 trunc<mode>v4hf2,truncv2dfv2hf2,
6433 *avx512bw_permvar_truncv16siv16hi_1,
6434 *avx512bw_permvar_truncv16siv16hi_1_hf,
6435 *avx512f_permvar_truncv8siv8hi_1,
6436 *avx512f_permvar_truncv8siv8hi_1_hf,
6437 *avx512f_vpermvar_truncv8div8si_1,
6438 *avx512f_permvar_truncv32hiv32qi_1,
6439 *avx512f_permvar_truncv16hiv16qi_1,
6440 *avx512f_permvar_truncv4div4si_1,
6441 *avx512f_pshufb_truncv8hiv8qi_1,
6442 *avx512f_pshufb_truncv4siv4hi_1,
6443 *avx512f_pshufd_truncv2div2si_1,
6444 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
6445 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
6446
6447 2022-03-22 Tom de Vries <tdevries@suse.de>
6448
6449 PR target/104925
6450 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
6451 Use % as register prefix.
6452
6453 2022-03-22 Tom de Vries <tdevries@suse.de>
6454
6455 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
6456 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
6457 mexperimental.
6458
6459 2022-03-22 Tom de Vries <tdevries@suse.de>
6460
6461 * config/nvptx/nvptx.opt (mexperimental): New option.
6462
6463 2022-03-22 Tom de Vries <tdevries@suse.de>
6464
6465 PR target/104957
6466 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
6467 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
6468 for alias.
6469 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
6470 (nvptx_asm_output_def_from_decls): New function.
6471 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
6472 gcc_unreachable ().
6473 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
6474 nvptx_asm_output_def_from_decls.
6475 * config/nvptx/nvptx.opt (malias): New opt.
6476
6477 2022-03-22 Tom de Vries <tdevries@suse.de>
6478
6479 PR target/104916
6480 PR target/104783
6481 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
6482 sync (or uniform warp check for mptx < 6.0).
6483
6484 2022-03-22 Richard Biener <rguenther@suse.de>
6485
6486 PR tree-optimization/105012
6487 * tree-if-conv.cc (ifcvt_local_dce): Only call
6488 dse_classify_store when we have a VDEF.
6489
6490 2022-03-22 Martin Liska <mliska@suse.cz>
6491
6492 PR target/104902
6493 * config/nvptx/nvptx.cc (handle_ptx_version_option):
6494 Fix option wrapping in an error message.
6495
6496 2022-03-22 Martin Liska <mliska@suse.cz>
6497
6498 PR target/104903
6499 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
6500 Wrap const keyword.
6501
6502 2022-03-22 Martin Liska <mliska@suse.cz>
6503
6504 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
6505 name.
6506
6507 2022-03-22 Martin Liska <mliska@suse.cz>
6508
6509 PR target/104898
6510 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
6511 Use %qs instead of (%qs).
6512
6513 2022-03-22 Martin Liska <mliska@suse.cz>
6514
6515 PR target/104898
6516 * config/i386/i386-options.cc (ix86_option_override_internal):
6517 Use '%qs' instead of '(%qs)'.
6518
6519 2022-03-22 Martin Liska <mliska@suse.cz>
6520
6521 PR target/104898
6522 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
6523 Use 'qs' and remove usage '(%qs)'.
6524 (aarch64_handle_attr_cpu): Likewise.
6525 (aarch64_handle_attr_tune): Likewise.
6526 (aarch64_handle_attr_isa_flags): Likewise.
6527
6528 2022-03-22 Tamar Christina <tamar.christina@arm.com>
6529 Andre Vieira <andre.simoesdiasvieira@arm.com>
6530
6531 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
6532 struct.
6533 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
6534 cost.
6535 (neoverse512tvb_tunings): Likewise.
6536
6537 2022-03-22 Tamar Christina <tamar.christina@arm.com>
6538 Andre Vieira <andre.simoesdiasvieira@arm.com>
6539
6540 * config/aarch64/aarch64.cc (demeter_addrcost_table,
6541 demeter_regmove_cost, demeter_advsimd_vector_cost,
6542 demeter_sve_vector_cost, demeter_scalar_issue_info,
6543 demeter_advsimd_issue_info, demeter_sve_issue_info,
6544 demeter_vec_issue_info, demeter_vector_cost,
6545 demeter_tunings): New tuning structs.
6546 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
6547 tuning.
6548 * config/aarch64/aarch64-cores.def: Add entry for demeter.
6549 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
6550
6551 2022-03-22 Tamar Christina <tamar.christina@arm.com>
6552 Andre Vieira <andre.simoesdiasvieira@arm.com>
6553
6554 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
6555 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
6556 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
6557 tunings to use cpu_memmov_cost struct.
6558
6559 2022-03-22 Tamar Christina <tamar.christina@arm.com>
6560 Andre Vieira <andre.simoesdiasvieira@arm.com>
6561
6562 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
6563 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
6564 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
6565 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
6566 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
6567 (neoversen2_tunings): Use new structs and update tuning flags.
6568 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
6569 tuning.
6570
6571 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
6572
6573 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
6574 bit.
6575
6576 2022-03-22 liuhongt <hongtao.liu@intel.com>
6577
6578 PR target/104982
6579 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
6580 following splitter to reversed condition.
6581
6582 2022-03-22 Jakub Jelinek <jakub@redhat.com>
6583
6584 PR rtl-optimization/104989
6585 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
6586 sorry for passing too large argument, instead set sibcall_failure
6587 for pass == 0, or a new normal_failure flag otherwise. If
6588 normal_failure is set, don't assert all stack has been deallocated
6589 at the end and throw away the whole insn sequence.
6590
6591 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
6592
6593 * print-tree.cc: Change array length
6594
6595 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
6596
6597 PR target/104978
6598 * config/i386/sse.md
6599 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
6600 Use avx512f_movsf_mask instead of vmovaps or vblend, and
6601 force_reg before lowpart_subreg.
6602 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
6603
6604 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
6605
6606 PR target/105000
6607 * common/config/i386/i386-common.cc
6608 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
6609 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
6610
6611 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
6612
6613 PR target/104998
6614 * common/config/i386/cpuinfo.h (get_available_features): Pass
6615 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
6616 bit_AESKLE is set.
6617
6618 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
6619
6620 PR middle-end/104869
6621 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
6622 (clobber_group::next_clobber): Likewise.
6623 (def_lookup::prev_def): Rename to...
6624 (def_lookup::last_def_of_prev_group): ...this.
6625 (def_lookup::next_def): Rename to...
6626 (def_lookup::first_def_of_next_group): ...this.
6627 (def_lookup::matching_or_prev_def): Rename to...
6628 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
6629 (def_lookup::matching_or_next_def): Rename to...
6630 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
6631 (def_lookup::prev_def): New function, taking the lookup insn as
6632 argument.
6633 (def_lookup::next_def): Likewise.
6634 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
6635 (def_lookup::last_def_of_prev_group): ...this.
6636 (def_lookup::next_def): Rename to...
6637 (def_lookup::first_def_of_next_group): ...this.
6638 (def_lookup::matching_or_prev_def): Rename to...
6639 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
6640 (def_lookup::matching_or_next_def): Rename to...
6641 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
6642 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
6643 above renaming.
6644 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
6645 (clobber_group::next_clobber): Likewise.
6646 (def_lookup::prev_def): Likewise.
6647 (def_lookup::next_def): Likewise.
6648 (function_info::make_use_available): Pass the lookup insn to
6649 def_lookup::prev_def and def_lookup::next_def.
6650
6651 2022-03-21 Martin Liska <mliska@suse.cz>
6652
6653 * doc/invoke.texi: Document min-pagesize parameter.
6654
6655 2022-03-21 Richard Biener <rguenther@suse.de>
6656
6657 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
6658 we are estimating niter of loop.
6659
6660 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
6661
6662 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
6663 Update flag name and mask name.
6664 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
6665 misc macro for vector extensions.
6666 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
6667 (MASK_VECTOR_ELEN_32): ... this.
6668 (MASK_VECTOR_EEW_64): Rename to ...
6669 (MASK_VECTOR_ELEN_64): ... this.
6670 (MASK_VECTOR_EEW_FP_32): Rename to ...
6671 (MASK_VECTOR_ELEN_FP_32): ... this.
6672 (MASK_VECTOR_EEW_FP_64): Rename to ...
6673 (MASK_VECTOR_ELEN_FP_64): ... this.
6674 (TARGET_VECTOR_ELEN_32): New.
6675 (TARGET_VECTOR_ELEN_64): Ditto.
6676 (TARGET_VECTOR_ELEN_FP_32): Ditto.
6677 (TARGET_VECTOR_ELEN_FP_64): Ditto.
6678 (TARGET_MIN_VLEN): Ditto.
6679 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
6680 (riscv_vector_elen_flags): ... this.
6681
6682 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
6683
6684 PR target/104977
6685 * config/i386/sse.md
6686 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
6687 Correct round operand for intel dialect.
6688
6689 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
6690
6691 * diagnostic.cc (diagnostic_cc_tests): Rename to...
6692 (c_diagnostic_cc_tests): ...this.
6693 * opt-problem.cc (opt_problem_cc_tests): Rename to...
6694 (c_opt_problem_cc_tests): ...this.
6695 * selftest-run-tests.cc (selftest::run_tests): No longer run
6696 opt_problem_cc_tests or diagnostic_cc_tests.
6697 * selftest.h (diagnostic_cc_tests): Remove declaration.
6698 (opt_problem_cc_tests): Likewise.
6699
6700 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
6701
6702 PR jit/63854
6703 * hash-traits.h (struct typed_const_free_remove): New.
6704 (struct free_string_hash): New.
6705 * pass_manager.h: Use free_string_hash.
6706 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
6707 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
6708
6709 2022-03-19 Jakub Jelinek <jakub@redhat.com>
6710
6711 PR middle-end/104971
6712 * config/i386/i386-expand.cc
6713 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
6714 don't push/pop anything and just return const0_rtx.
6715
6716 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
6717
6718 PR rtl-optimization/104961
6719 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
6720
6721 2022-03-18 Jason Merrill <jason@redhat.com>
6722
6723 * tree.h (IDENTIFIER_LENGTH): Add comment.
6724
6725 2022-03-18 Jakub Jelinek <jakub@redhat.com>
6726
6727 PR middle-end/99578
6728 PR middle-end/100680
6729 PR tree-optimization/100834
6730 * params.opt (--param=min-pagesize=): New parameter.
6731 * pointer-query.cc
6732 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
6733 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
6734 of zero for pointer constants equal or larger than min-pagesize.
6735
6736 2022-03-18 Tom de Vries <tdevries@suse.de>
6737
6738 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
6739 Set gfor location only when dealing with a OMP_TASKLOOP.
6740
6741 2022-03-18 Tom de Vries <tdevries@suse.de>
6742
6743 * gimplify.cc (gimplify_omp_for): Set taskloop location.
6744
6745 2022-03-18 Tom de Vries <tdevries@suse.de>
6746
6747 PR target/104952
6748 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
6749 is executed unconditionally.
6750
6751 2022-03-18 liuhongt <hongtao.liu@intel.com>
6752
6753 PR target/104974
6754 * config/i386/i386.md (*movhi_internal): Set attr type from HI
6755 to HF for alternative 12 under TARGET_AVX512FP16.
6756
6757 2022-03-18 Cui,Lili <lili.cui@intel.com>
6758
6759 PR target/104963
6760 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
6761 * doc/invoke.texi: Update documents for Intel sapphirerapids.
6762
6763 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
6764
6765 PR target/86722
6766 PR tree-optimization/90356
6767 * config/i386/i386.md (*movtf_internal): Don't guard
6768 standard_sse_constant_p clause by optimize_function_for_size_p.
6769 (*movdf_internal): Likewise.
6770 (*movsf_internal): Likewise.
6771
6772 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
6773
6774 PR tree-optimization/102943
6775 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
6776 dominators and apply intermediary outgoing edge ranges.
6777
6778 2022-03-17 Richard Biener <rguenther@suse.de>
6779
6780 PR tree-optimization/104960
6781 * passes.def: Add pass parameter to pass_sink_code, mark
6782 last one to unsplit edges.
6783 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
6784 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
6785 when we need to unsplit edges.
6786
6787 2022-03-17 Jakub Jelinek <jakub@redhat.com>
6788
6789 PR middle-end/103984
6790 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
6791 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
6792 and asan unpoisioning, then append the temporary sequence and
6793 finally the TARGET_EXPR_CLEANUP clobbers.
6794
6795 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
6796
6797 * config/i386/sse.md: Delete corrupt character/typo.
6798
6799 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
6800
6801 PR target/94680
6802 * config/i386/sse.md (sse2_movq128): New define_expand to
6803 preserve previous named instruction.
6804 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
6805 generalized to VI8F_128 (both V2DI and V2DF).
6806
6807 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
6808
6809 PR tree-optimization/104941
6810 * tree-object-size.cc (size_for_offset): Make useless conversion
6811 check lighter and assign result of fold_convert to OFFSET.
6812
6813 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
6814
6815 PR target/104890
6816 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
6817 pushing target("general-regs-only").
6818
6819 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
6820
6821 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
6822 Add version info for zk, zks and zkn.
6823
6824 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
6825
6826 * common/config/riscv/riscv-common.cc
6827 (riscv_combine_info): New.
6828 (riscv_subset_list::handle_combine_ext): Combine back into zk to
6829 maintain the canonical order in isa strings.
6830 (riscv_subset_list::parse): Ditto.
6831 * config/riscv/riscv-subset.h (handle_combine_ext): New.
6832
6833 2022-03-16 Richard Biener <rguenther@suse.de>
6834
6835 PR tree-optimization/102008
6836 * passes.def: Move the added code sinking pass before the
6837 preceeding phiopt pass.
6838
6839 2022-03-16 Patrick Palka <ppalka@redhat.com>
6840
6841 PR c++/96780
6842 * doc/invoke.texi (C++ Dialect Options): Document
6843 -ffold-simple-inlines.
6844
6845 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
6846
6847 PR tree-optimization/104942
6848 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
6849
6850 2022-03-16 Jakub Jelinek <jakub@redhat.com>
6851
6852 PR target/104910
6853 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
6854 imm rtx.
6855
6856 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
6857 Richard Biener <rguenther@suse.de>
6858
6859 * gimple-match-head.cc (single_use): Implement inline using a
6860 single loop.
6861
6862 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
6863
6864 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
6865 instead of HONOR_NANS.
6866 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
6867 this can't trap/signal.
6868
6869 2022-03-16 liuhongt <hongtao.liu@intel.com>
6870
6871 PR target/104946
6872 * config/i386/i386-builtin.def (BDESC): Add
6873 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
6874 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
6875 __builtin_ia32_blendvpd w/o sse4.2
6876
6877 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
6878
6879 PR target/104923
6880 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
6881 acceptable MEM addresses.
6882
6883 2022-03-15 Jakub Jelinek <jakub@redhat.com>
6884
6885 PR target/91229
6886 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
6887 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
6888 to warning calls.
6889
6890 2022-03-15 Jakub Jelinek <jakub@redhat.com>
6891
6892 PR target/104890
6893 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
6894 instead of general-regs-only.
6895
6896 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
6897 Marc Glisse <marc.glisse@inria.fr>
6898 Richard Biener <rguenther@suse.de>
6899
6900 PR tree-optimization/101895
6901 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
6902 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
6903
6904 2022-03-15 Jakub Jelinek <jakub@redhat.com>
6905
6906 PR rtl-optimization/104814
6907 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
6908 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
6909
6910 2022-03-15 Martin Sebor <msebor@redhat.com>
6911
6912 PR middle-end/104436
6913 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
6914 Check for warning suppression. Avoid by-value arguments transformed
6915 into by-transparent-reference.
6916
6917 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
6918 Uroš Bizjak <ubizjak@gmail.com>
6919
6920 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
6921 transformation when *zero_extend<mode>si2 is not available.
6922
6923 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
6924
6925 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
6926 * config/mips/mips.cc (mips_option_override): Make
6927 -fsanitize=address imply -fasynchronous-unwind-tables. This is
6928 needed by libasan for stack backtrace on MIPS.
6929 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
6930
6931 2022-03-14 Jakub Jelinek <jakub@redhat.com>
6932
6933 PR debug/104778
6934 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
6935 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
6936 call simplified the first operand into VOIDmode constant.
6937
6938 2022-03-14 Jakub Jelinek <jakub@redhat.com>
6939
6940 PR tree-optimization/102586
6941 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
6942 argument type should be pointer to trivially-copyable type unless it
6943 is address of a variable or parameter.
6944
6945 2022-03-14 Jakub Jelinek <jakub@redhat.com>
6946
6947 PR target/99754
6948 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
6949 first rather than last element of the vector, use __m32_u to do
6950 a really unaligned load, use just 0 instead of (int)0.
6951 (_mm_loadu_si16): Put loaded value into first rather than last
6952 element of the vector, use __m16_u to do a really unaligned load,
6953 use just 0 instead of (short)0.
6954
6955 2022-03-14 Jakub Jelinek <jakub@redhat.com>
6956
6957 PR other/104899
6958 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
6959 in diagnostic message - cannott -> cannot. Use %< and %> around
6960 names of attribute. Avoid too long line.
6961 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
6962 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
6963
6964 2022-03-14 liuhongt <hongtao.liu@intel.com>
6965
6966 PR target/104666
6967 * config/i386/i386-expand.cc
6968 (ix86_check_builtin_isa_match): New func.
6969 (ix86_expand_builtin): Move code to
6970 ix86_check_builtin_isa_match and call it.
6971 * config/i386/i386-protos.h
6972 (ix86_check_builtin_isa_match): Declare.
6973 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
6974 builtin into gimple when isa mismatches.
6975
6976 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
6977
6978 * doc/invoke.texi: Fix typos.
6979 * doc/tm.texi.in: Remove duplicated word.
6980 * doc/tm.texi: Regenerate.
6981
6982 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
6983
6984 PR target/104829
6985 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
6986 "ppc" and "ppc64" based on rs6000_cpu.
6987
6988 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
6989
6990 PR middle-end/100280
6991 PR middle-end/104892
6992 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
6993 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
6994
6995 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
6996
6997 PR middle-end/100280
6998 PR middle-end/104086
6999 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
7000 Mark variables used in 'present' clauses as addressable.
7001 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
7002 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
7003
7004 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
7005
7006 PR other/65095
7007 * tree-core.h (user_omp_claus_code_name): Declare function.
7008 * tree.cc (user_omp_clause_code_name): New function.
7009
7010 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
7011
7012 PR middle-end/98420
7013 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
7014 (the defaut) or -fno-signed-zeros.
7015
7016 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
7017
7018 PR target/104868
7019 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
7020 moving from a GPR register to an Altivec register.
7021
7022 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
7023
7024 PR tree-optimization/98335
7025 * config/i386/i386.md (peephole2): Eliminate redundant insv.
7026 Combine movl followed by movb. Transform xorl followed by
7027 a suitable movb or movw into the equivalent movz[bw]l.
7028
7029 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
7030 Richard Biener <rguenther@suse.de>
7031
7032 PR tree-optimization/98335
7033 * builtins.cc (get_object_alignment_2): Export.
7034 * builtins.h (get_object_alignment_2): Likewise.
7035 * tree-ssa-alias.cc (ao_ref_alignment): New.
7036 * tree-ssa-alias.h (ao_ref_alignment): Declare.
7037 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
7038 to align head/tail, writing more bytes but using fewer store insns.
7039
7040 2022-03-11 Richard Biener <rguenther@suse.de>
7041
7042 PR tree-optimization/104880
7043 * tree-ssa.cc (execute_update_address_taken): Remember if we
7044 optimistically made something not addressable and
7045 prepare to undo it.
7046
7047 2022-03-11 Richard Biener <rguenther@suse.de>
7048
7049 PR target/104762
7050 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
7051 cost the first lane of SSE pieces as inserts for vec_construct.
7052
7053 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
7054
7055 PR c++/84964
7056 * calls.cc (expand_call): Ignore stack adjustments after sorry.
7057
7058 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
7059
7060 PR target/103074
7061 * lra-constraints.cc (split_reg): Set up
7062 check_and_force_assignment_correctness_p when splitting hard
7063 register live range.
7064
7065 2022-03-10 Martin Jambor <mjambor@suse.cz>
7066
7067 PR ipa/104813
7068 * ipa-cp.cc (create_specialized_node): Move removal of
7069 self-recursive calls from callers vector before refrence
7070 adjustments.
7071
7072 2022-03-10 Richard Biener <rguenther@suse.de>
7073
7074 PR tree-optimization/102943
7075 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
7076 Make a bitmap_head.
7077 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
7078 to tree view.
7079 (sbr_sparse_bitmap::set_bb_range): Adjust.
7080 (sbr_sparse_bitmap::get_bb_range): Likewise.
7081
7082 2022-03-10 Richard Biener <rguenther@suse.de>
7083
7084 PR tree-optimization/102943
7085 * tree-ssa-dom.cc (back_propagate_equivalences): Only
7086 populate the dominance bitmap if fast queries are not
7087 available. Use a tree view bitmap.
7088 (record_temporary_equivalences): Cache the dominance bitmap
7089 across all equivalences on the edge.
7090
7091 2022-03-10 Tom de Vries <tdevries@suse.de>
7092
7093 PR target/104840
7094 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
7095 of false,true.
7096
7097 2022-03-10 Tom de Vries <tdevries@suse.de>
7098
7099 PR target/104783
7100 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
7101 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
7102 (nvptx_get_unisimt_outside_simt_predicate): New function.
7103 (predicate_insn): New function, factored out of ...
7104 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
7105 * config/nvptx/nvptx.h (struct machine_function): Add
7106 unisimt_outside_simt_predicate field.
7107 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
7108 (define_insn "nvptx_uniform_warp_check"): Make predicable.
7109
7110 2022-03-10 Tom de Vries <tdevries@suse.de>
7111
7112 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
7113 result.
7114
7115 2022-03-10 Tom de Vries <tdevries@suse.de>
7116
7117 PR target/104815
7118 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
7119 modifier.
7120 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
7121
7122 2022-03-10 Tom de Vries <tdevries@suse.de>
7123
7124 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
7125 Emit atom.and.b64 instead of atom.b64.and.
7126
7127 2022-03-10 Tom de Vries <tdevries@suse.de>
7128
7129 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
7130 (MULTILIB_OPTIONS): ... here.
7131
7132 2022-03-10 Tom de Vries <tdevries@suse.de>
7133
7134 PR target/104758
7135 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
7136 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
7137
7138 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
7139
7140 PR middle-end/90115
7141 PR middle-end/102330
7142 PR middle-end/104774
7143 * omp-low.cc (oacc_privatization_candidate_p)
7144 (oacc_privatization_scan_clause_chain)
7145 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
7146 Analyze 'lookup_decl'-translated DECL.
7147
7148 2022-03-10 Jakub Jelinek <jakub@redhat.com>
7149
7150 PR target/99708
7151 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
7152 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
7153 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
7154 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
7155 "**NULL**" if type_node is NULL first. Handle
7156 ieee128_float_type_node.
7157 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
7158 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
7159 ieee128_float_type_node to NULL rather than long_double_type_node if
7160 they aren't supported. Do support __ibm128 even if
7161 !TARGET_FLOAT128_TYPE when long double is double double.
7162 (rs6000_expand_builtin): Error if bif_is_ibm128 and
7163 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
7164 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
7165 for it.
7166 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
7167 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
7168 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
7169 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
7170 Formatting fix.
7171 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
7172 (struct attrinfo): Add isibm128 member.
7173 (TYPE_MAP_SIZE): Remove.
7174 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
7175 ibm128_float_type_node only if it is non-NULL, otherwise fall back
7176 to long_double_type_node. Remove "pif" entry.
7177 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
7178 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
7179 (write_type_node): Use sizeof type_map / sizeof type_map[0]
7180 instead of TYPE_MAP_SIZE.
7181 (write_bif_static_init): Handle isibm128.
7182 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
7183 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
7184 attribute.
7185
7186 2022-03-09 Richard Biener <rguenther@suse.de>
7187
7188 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
7189 with non-decl operand, avoiding a copy.
7190
7191 2022-03-09 Jakub Jelinek <jakub@redhat.com>
7192
7193 PR target/104781
7194 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
7195
7196 2022-03-09 Richard Biener <rguenther@suse.de>
7197
7198 PR middle-end/104786
7199 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
7200 for VLAs without an upper size bound.
7201
7202 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
7203
7204 PR tree-optimization/104851
7205 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
7206 error.
7207
7208 2022-03-09 Jakub Jelinek <jakub@redhat.com>
7209
7210 PR c/104711
7211 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
7212 is enabled by it only for C++11 to C++17 rather than for C++03 or
7213 later.
7214 (-Wshift-negative-value): Similarly (except here we stated
7215 that it is enabled for C++11 or later).
7216
7217 2022-03-09 Jakub Jelinek <jakub@redhat.com>
7218
7219 PR rtl-optimization/104839
7220 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
7221 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
7222 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
7223 instead of incorrect 0 in SUBREG_PROMOTED_SET.
7224
7225 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
7226
7227 PR target/104842
7228 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
7229 value before adding an offset.
7230
7231 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
7232
7233 * config/arm/arm-builtins.cc
7234 (arm_binop_none_none_unone_qualifiers): Delete.
7235 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
7236
7237 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
7238
7239 PR translation/104552
7240 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
7241 the PCH out of memory error message punctuation and wording.
7242
7243 2022-03-08 Marek Polacek <polacek@redhat.com>
7244
7245 PR rtl-optimization/104777
7246 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
7247 ASM_OPERANDS_LABEL_VEC has at least one element.
7248
7249 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
7250
7251 PR target/104781
7252 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
7253 stack realignment or regparm nested function with EH return.
7254
7255 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
7256
7257 PR target/104790
7258 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
7259 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
7260 register for non widening loads or narrowing stores.
7261
7262 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
7263
7264 PR translation/104552
7265 * params.opt: Fix typo.
7266
7267 2022-03-08 Richard Biener <rguenther@suse.de>
7268
7269 PR tree-optimization/84201
7270 * params.opt (-param=vect-induction-float): Add.
7271 * doc/invoke.texi (vect-induction-float): Document.
7272 * tree-vect-loop.cc (vectorizable_induction): Honor
7273 param_vect_induction_float.
7274
7275 2022-03-08 Martin Jambor <mjambor@suse.cz>
7276
7277 PR translation/104552
7278 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
7279 "that" in the description.
7280
7281 2022-03-08 Richard Biener <rguenther@suse.de>
7282
7283 PR tree-optimization/104825
7284 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
7285 guard modref get_ao_ref on a pointer typed argument.
7286
7287 2022-03-08 liuhongt <hongtao.liu@intel.com>
7288
7289 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
7290 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
7291
7292 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
7293
7294 * doc/invoke.texi (C++ Modules): Remove anachronism.
7295
7296 2022-03-07 Martin Liska <mliska@suse.cz>
7297
7298 PR middle-end/104381
7299 * opts.cc (finish_options): If debug info is disabled
7300 (debug_info_level) and -fvar-tracking is unset, disable it.
7301
7302 2022-03-07 Jakub Jelinek <jakub@redhat.com>
7303
7304 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
7305 * config/riscv/riscv.cc: Likewise.
7306 * config/darwin.h: Likewise.
7307 * config/i386/i386.cc: Likewise.
7308 * config/aarch64/thunderx3t110.md: Likewise.
7309 * config/aarch64/fractional-cost.h: Likewise.
7310 * config/vax/vax.cc: Likewise.
7311 * config/rs6000/pcrel-opt.md: Likewise.
7312 * config/rs6000/predicates.md: Likewise.
7313 * ctfc.h: Likewise.
7314 * tree-ssa-uninit.cc: Likewise.
7315 * value-relation.h: Likewise.
7316 * gimple-range-gori.cc: Likewise.
7317 * ipa-polymorphic-call.cc: Likewise.
7318 * pointer-query.cc: Likewise.
7319 * ipa-sra.cc: Likewise.
7320 * internal-fn.cc: Likewise.
7321 * varasm.cc: Likewise.
7322 * gimple-ssa-warn-access.cc: Likewise.
7323
7324 2022-03-07 Martin Liska <mliska@suse.cz>
7325
7326 PR target/104794
7327 * config/arm/arm.cc (arm_option_override_internal): Add missing
7328 space.
7329
7330 2022-03-07 Richard Biener <rguenther@suse.de>
7331
7332 PR tree-optimization/104782
7333 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
7334 Re-instantiate r10-5979 fix, add comment.
7335
7336 2022-03-07 Martin Liska <mliska@suse.cz>
7337
7338 PR target/104797
7339 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
7340 parenthesis from built-in name.
7341
7342 2022-03-07 Martin Liska <mliska@suse.cz>
7343
7344 PR target/104794
7345 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
7346 of options in error messages.
7347 (arm_option_reconfigure_globals): Likewise.
7348
7349 2022-03-07 Martin Liska <mliska@suse.cz>
7350
7351 PR target/104794
7352 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
7353 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
7354 have only range [0,32].
7355
7356 2022-03-07 Jakub Jelinek <jakub@redhat.com>
7357
7358 PR target/104775
7359 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
7360 S constraint instead of T in the last alternative.
7361
7362 2022-03-07 Martin Liska <mliska@suse.cz>
7363
7364 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
7365 message.
7366
7367 2022-03-07 Martin Liska <mliska@suse.cz>
7368
7369 PR translation/90148
7370 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
7371 quote to a proper place.
7372 * plugin.cc (default_plugin_dir_name): Likewise.
7373
7374 2022-03-07 Martin Liska <mliska@suse.cz>
7375
7376 PR target/99297
7377 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
7378 string.
7379
7380 2022-03-07 Jakub Jelinek <jakub@redhat.com>
7381
7382 PR target/104779
7383 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
7384 define_expand pattern. Rename define_insn to ...
7385 (*avx512dq_mul<mode>3<mask_name>): ... this.
7386 (<code><mode>3_mask): New any_logic define_expand pattern.
7387 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
7388 (*<code><mode>3<mask_name>): ... this.
7389
7390 2022-03-05 Jakub Jelinek <jakub@redhat.com>
7391
7392 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
7393 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
7394
7395 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
7396 Uroš Bizjak <ubizjak@gmail.com>
7397
7398 PR testsuite/104732
7399 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
7400 Include DI mode unconditionally.
7401 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
7402 i.e. always split on !TARGET_64BIT.
7403 (*<any_or>di3_doubleword): Likewise.
7404 (*one_cmpldi2_doubleword): Likewise.
7405 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
7406 (<any_or><mode>3 expander): Likewise.
7407 (one_cmpl<mode>2 expander): Likewise.
7408
7409 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
7410
7411 PR target/104698
7412 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
7413 (mtvsrdd_diti_w1): Delete.
7414 (extendditi2): Convert from define_expand to
7415 define_insn_and_split. Replace with code to deal with both GPR
7416 registers and with altivec registers.
7417
7418 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
7419
7420 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
7421 bit. Handle most older CPUs.
7422
7423 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
7424
7425 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
7426 avoid a mismatch with DECL_MD_FUNCTION_CODE().
7427
7428 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
7429
7430 PR target/104117
7431 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
7432 (@machopic_low_<mode>): New.
7433 * config/rs6000/predicates.md (macho_pic_address): New.
7434 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
7435 apply the TLS processing to Darwin.
7436 * lra-constraints.cc (process_address_1): Revert the changes
7437 in r12-7209.
7438
7439 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
7440
7441 PR target/87496
7442 PR target/104208
7443 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
7444 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
7445 -mlong-double-128.
7446 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
7447 from here...
7448 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
7449 ... to here.
7450
7451 2022-03-04 Jakub Jelinek <jakub@redhat.com>
7452
7453 PR middle-end/104529
7454 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
7455 on automatic objects which will be runtime initialized.
7456
7457 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
7458
7459 PR middle-end/100280
7460 PR middle-end/104132
7461 PR middle-end/104133
7462 * omp-low.cc (task_shared_vars): Rename to
7463 'make_addressable_vars'. Adjust all users.
7464 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
7465 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
7466
7467 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
7468
7469 PR middle-end/100280
7470 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
7471 * tree-core.h: Document it.
7472 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
7473 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
7474 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
7475 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
7476 'TREE_ADDRESSABLE'.
7477
7478 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
7479
7480 PR middle-end/100280
7481 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
7482 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
7483 '[...]' declared in block made addressable".
7484
7485 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
7486
7487 PR middle-end/100400
7488 PR middle-end/103836
7489 PR middle-end/104061
7490 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
7491 Catch 'GIMPLE_DEBUG'.
7492
7493 2022-03-04 Jakub Jelinek <jakub@redhat.com>
7494
7495 PR c/104627
7496 * tree.cc (warn_deprecated_use): For types prefer to use node
7497 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
7498 NULL.
7499
7500 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
7501
7502 PR target/104704
7503 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
7504 a pseudo register.
7505
7506 2022-03-03 Martin Sebor <msebor@redhat.com>
7507
7508 PR middle-end/104761
7509 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
7510 mark_dfs_back_edges.
7511
7512 2022-03-03 Martin Liska <mliska@suse.cz>
7513
7514 * configure.ac: Use linker plug-in by default.
7515 * configure: Regenerate.
7516
7517 2022-03-03 Martin Liska <mliska@suse.cz>
7518
7519 * configure.ac: Now ld.mold support LTO plugin API, use it.
7520 * configure: Regenerate.
7521
7522 2022-03-03 Tom de Vries <tdevries@suse.de>
7523
7524 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
7525
7526 2022-03-03 Tom de Vries <tdevries@suse.de>
7527
7528 PR target/104758
7529 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
7530
7531 2022-03-03 Tom de Vries <tdevries@suse.de>
7532
7533 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
7534
7535 2022-03-03 Jakub Jelinek <jakub@redhat.com>
7536
7537 PR middle-end/104757
7538 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
7539 gimplify_omp_for.
7540 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
7541 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
7542
7543 2022-03-03 Jakub Jelinek <jakub@redhat.com>
7544
7545 PR middle-end/104558
7546 * calls.cc (store_one_arg): When not calling emit_push_insn
7547 because size_rtx is const0_rtx, call at least anti_adjust_stack
7548 on arg->locate.alignment_pad if !argblock and the alignment might
7549 be non-zero.
7550
7551 2022-03-02 Alexandre Oliva <oliva@adacore.com>
7552
7553 * lra-constraints.cc (undo_optional_reloads): Recognize and
7554 drop insns of multi-word move sequences, tolerate removal
7555 iteration on an already-removed clobber, and refuse to
7556 substitute original pseudos into clobbers.
7557
7558 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
7559
7560 PR middle-end/102276
7561 * common.opt (-Wtrivial-auto-var-init): New option.
7562 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
7563 (-ftrivial-auto-var-init): Update option;
7564 * gimplify.cc (emit_warn_switch_unreachable): New function.
7565 (warn_switch_unreachable_r): Rename to ...
7566 (warn_switch_unreachable_and_auto_init_r): This.
7567 (maybe_warn_switch_unreachable): Rename to ...
7568 (maybe_warn_switch_unreachable_and_auto_init): This.
7569 (gimplify_switch_expr): Update calls to renamed function.
7570
7571 2022-03-02 Richard Biener <rguenther@suse.de>
7572
7573 PR rtl-optimization/104686
7574 * ira-color.cc (object_conflicts_with_allocno_p): New function
7575 using a bitvector test instead of iterating when possible.
7576 (allocnos_conflict_p): Choose the best allocno to iterate over
7577 object conflicts.
7578 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
7579 last.
7580
7581 2022-03-02 Jakub Jelinek <jakub@redhat.com>
7582
7583 * cfg.cc (dump_edge_info): Dump goto_locus if present.
7584
7585 2022-03-02 Jakub Jelinek <jakub@redhat.com>
7586
7587 PR rtl-optimization/104589
7588 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
7589 INSN_LOCATION comparison with goto_locus.
7590
7591 2022-03-02 Jakub Jelinek <jakub@redhat.com>
7592
7593 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
7594 strlen_pass::before_dom_children): Comment spelling fixes.
7595
7596 2022-03-02 Jakub Jelinek <jakub@redhat.com>
7597
7598 * ipa-modref-tree.cc (modref_access_node::contains,
7599 modref_access_node::closer_pair_p, modref_access_node::insert,
7600 modref_access_node::insert_kill): Comment spelling fixes.
7601 * ipa-modref.cc: Likewise.
7602 (modref_summary::finalize, ignore_nondeterminism_p,
7603 class modref_access_analysis,
7604 modref_access_analysis::set_side_effects,
7605 modref_access_analysis::set_nondeterministic,
7606 modref_access_analysis::record_global_memory_load,
7607 modref_access_analysis::propagate, modref_access_analysis::analyze,
7608 struct escape_point, class modref_lattice, modref_lattice::merge,
7609 modref_lattice::merge_deref, class modref_eaf_analysis,
7610 modref_eaf_analysis::merge_call_lhs_flags,
7611 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
7612 modref_eaf_analysis::record_escape_points, remap_kills,
7613 update_escape_summary, remove_useless_summaries,
7614 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
7615 Likewise.
7616 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
7617 Likewise.
7618 * ipa-modref-tree.h (enum modref_special_parms,
7619 struct modref_access_node): Likewise.
7620
7621 2022-03-01 Jakub Jelinek <jakub@redhat.com>
7622
7623 PR tree-optimization/104715
7624 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
7625 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
7626 of a call if gimple_call_return_arg is equal to ptr, not just when it
7627 is non-NULL.
7628
7629 2022-03-01 Jakub Jelinek <jakub@redhat.com>
7630
7631 * gimple-ssa-warn-access.cc (warn_string_no_nul,
7632 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
7633 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
7634 pass_waccess::check_alloca, pass_waccess::check_strcat,
7635 memmodel_to_uhwi, fntype_argno_type,
7636 pass_waccess::maybe_check_access_sizes,
7637 pass_waccess::check_call_access,
7638 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
7639 Comment spelling fixes.
7640
7641 2022-03-01 Richard Biener <rguenther@suse.de>
7642
7643 PR tree-optimization/104716
7644 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
7645 Check if we can copy the loop.
7646
7647 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
7648
7649 PR middle-end/104721
7650 * cfgexpand.cc (expand_gimple_basic_block): Clear
7651 currently_expanding_gimple_stmt when returning inside the loop.
7652
7653 2022-03-01 Martin Liska <mliska@suse.cz>
7654
7655 PR ipa/104533
7656 * multiple_target.cc (get_attr_len): Move to tree.c.
7657 (expand_target_clones): Remove single value checking.
7658 * tree.cc (get_target_clone_attr_len): New fn.
7659 * tree.h (get_target_clone_attr_len): Likewise.
7660
7661 2022-03-01 Martin Liska <mliska@suse.cz>
7662
7663 PR gcov-profile/104677
7664 * doc/invoke.texi: Document more .gcda file name generation.
7665
7666 2022-03-01 Tom de Vries <tdevries@suse.de>
7667
7668 PR target/102429
7669 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
7670 * config/nvptx/nvptx.md
7671 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
7672 New predicate.
7673 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
7674 Use nvptx_register_or_complex_di_df_register_operand.
7675
7676 2022-03-01 Tom de Vries <tdevries@suse.de>
7677
7678 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
7679 * config/nvptx/gen-copyright.sh: New file.
7680 * config/nvptx/gen-h.sh: New file.
7681 * config/nvptx/gen-opt.sh: New file.
7682 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
7683 (TARGET_SM75, TARGET_SM80): Move ...
7684 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
7685 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
7686 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
7687 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
7688 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
7689
7690 2022-03-01 Tom de Vries <tdevries@suse.de>
7691
7692 * config/nvptx/gen-omp-device-properties.sh: New file.
7693 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
7694
7695 2022-03-01 Tom de Vries <tdevries@suse.de>
7696
7697 * config/nvptx/nvptx-sm.def: New file.
7698 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
7699 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
7700 * config/nvptx/nvptx.cc (sm_version_to_string)
7701 (nvptx_omp_device_kind_arch_isa): Same.
7702
7703 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
7704
7705 PR rtl-optimization/104154
7706 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
7707 comparison ifcvt passed us.
7708
7709 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
7710
7711 PR target/104664
7712 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
7713 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
7714
7715 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
7716
7717 PR tree-optimization/91384
7718 * config/i386/i386.md (peephole2): Eliminate final testl insn
7719 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
7720 transforming using *negsi_2 for the negation.
7721
7722 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
7723 Eric Botcazou <ebotcazou@adacore.com>
7724
7725 PR middle-end/80270
7726 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
7727 register, copy it to a pseudo before calling simplify_gen_subreg.
7728
7729 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
7730
7731 PR rtl-optimization/104637
7732 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
7733 as possible on one subpass.
7734
7735 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
7736
7737 PR middle-end/104550
7738 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
7739 created uses.
7740
7741 2022-02-28 Martin Liska <mliska@suse.cz>
7742
7743 PR ipa/104648
7744 * main.cc (main): Use flag_checking instead of CHECKING_P
7745 and run toplev::finalize only if there is not error seen.
7746
7747 2022-02-28 Richard Biener <rguenther@suse.de>
7748
7749 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
7750
7751 2022-02-28 Richard Biener <rguenther@suse.de>
7752
7753 PR tree-optimization/104700
7754 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
7755 into ...
7756 (find_or_generate_expression): ... here, simplifying code.
7757
7758 2022-02-28 Tom de Vries <tdevries@suse.de>
7759
7760 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
7761 PTX_VERSION_default.
7762 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
7763 PTX_VERSION_default.
7764 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
7765
7766 2022-02-28 Richard Biener <rguenther@suse.de>
7767
7768 PR rtl-optimization/104686
7769 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
7770 skipping bits that are zero.
7771 (ira_object_conflict_iter_cond): Likewise.
7772
7773 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
7774
7775 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
7776 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
7777 char to avoid error when using ~enum as parameter.
7778 (_mm512_mask_ternarylogic_epi64): Likewise.
7779 (_mm512_maskz_ternarylogic_epi64): Likewise.
7780 (_mm512_ternarylogic_epi32): Likewise.
7781 (_mm512_mask_ternarylogic_epi32): Likewise.
7782 (_mm512_maskz_ternarylogic_epi32): Likewise.
7783 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
7784 Adjust imm param type to unsigned char.
7785 (_mm256_mask_ternarylogic_epi64): Likewise.
7786 (_mm256_maskz_ternarylogic_epi64): Likewise.
7787 (_mm256_ternarylogic_epi32): Likewise.
7788 (_mm256_mask_ternarylogic_epi32): Likewise.
7789 (_mm256_maskz_ternarylogic_epi32): Likewise.
7790 (_mm_ternarylogic_epi64): Likewise.
7791 (_mm_mask_ternarylogic_epi64): Likewise.
7792 (_mm_maskz_ternarylogic_epi64): Likewise.
7793 (_mm_ternarylogic_epi32): Likewise.
7794 (_mm_mask_ternarylogic_epi32): Likewise.
7795 (_mm_maskz_ternarylogic_epi32): Likewise.
7796
7797 2022-02-25 Jakub Jelinek <jakub@redhat.com>
7798 Marc Glisse <marc.glisse@inria.fr>
7799
7800 PR tree-optimization/104675
7801 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
7802 Restrict simplifications to INTEGRAL_TYPE_P.
7803
7804 2022-02-25 Jakub Jelinek <jakub@redhat.com>
7805
7806 PR target/104681
7807 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
7808
7809 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
7810
7811 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
7812 comparison is not valid.
7813 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
7814 (movdicc): Likewise.
7815 (movsfcc): Likewise.
7816 (movdfcc): Likewise.
7817
7818 2022-02-25 Richard Biener <rguenther@suse.de>
7819
7820 PR tree-optimization/103037
7821 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
7822 (vn_nary_length_from_stmt): Likewise.
7823 (init_vn_nary_op_from_stmt): Likewise.
7824 (vn_nary_op_compute_hash): Likewise.
7825 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
7826 (vn_nary_length_from_stmt): Likewise.
7827 (init_vn_nary_op_from_stmt): Likewise.
7828 (vn_nary_op_compute_hash): Likewise.
7829 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
7830 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
7831 (re-)compute the hash value and if the expression is not
7832 found allocate it from pre_expr_obstack.
7833 (phi_translate_1): Do not insert the NARY found in the
7834 VN tables but build a PRE expression from the valueized
7835 NARY with the value-id we eventually found.
7836 (find_or_generate_expression): Assert we have an entry
7837 for constant values.
7838 (compute_avail): Insert not valueized expressions into
7839 EXP_GEN using the value-id from the VN tables.
7840 (init_pre): Allocate pre_expr_obstack.
7841 (fini_pre): Free pre_expr_obstack.
7842
7843 2022-02-25 Jakub Jelinek <jakub@redhat.com>
7844
7845 PR target/104674
7846 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
7847 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
7848 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
7849
7850 2022-02-25 Jakub Jelinek <jakub@redhat.com>
7851
7852 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
7853
7854 2022-02-25 Jakub Jelinek <jakub@redhat.com>
7855
7856 PR middle-end/104679
7857 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
7858
7859 2022-02-25 Jakub Jelinek <jakub@redhat.com>
7860
7861 PR tree-optimization/104675
7862 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
7863 COMPLEX_TYPE.
7864
7865 2022-02-25 Alexandre Oliva <oliva@adacore.com>
7866
7867 PR target/104121
7868 PR target/103302
7869 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
7870
7871 2022-02-25 Alexandre Oliva <oliva@adacore.com>
7872
7873 PR middle-end/104540
7874 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
7875 dw_cfi_cfa_loc.
7876
7877 2022-02-25 Alexandre Oliva <oliva@adacore.com>
7878
7879 PR tree-optimization/103856
7880 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
7881 eh edge to be requested through an extra parameter.
7882 (pass_harden_compares::execute): Copy PHI args in the EH dest
7883 block for the new EH edge added for the inverted compare.
7884
7885 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
7886
7887 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
7888 of position independence that -mcmodel=medany affords.
7889
7890 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
7891
7892 PR target/104656
7893 * configure.ac: --disable-gcov if targetting bpf-*.
7894 * configure: Regenerate.
7895
7896 2022-02-24 Richard Biener <rguenther@suse.de>
7897
7898 PR tree-optimization/104676
7899 * tree-loop-distribution.cc (loop_distribution::execute):
7900 Do a full scev_reset.
7901
7902 2022-02-24 Jakub Jelinek <jakub@redhat.com>
7903
7904 PR tree-optimization/104601
7905 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
7906 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
7907 vuse value number.
7908
7909 2022-02-24 Tom de Vries <tdevries@suse.de>
7910 Tobias Burnus <tobias@codesourcery.com>
7911
7912 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
7913 sm_70, sm_75 and sm_80.
7914 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
7915
7916 2022-02-24 Tom de Vries <tdevries@suse.de>
7917
7918 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
7919 "rotrsi3"): New define_insn.
7920
7921 2022-02-24 Tom de Vries <tdevries@suse.de>
7922
7923 * config/nvptx/nvptx.cc (gen_comment): Use
7924 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
7925
7926 2022-02-24 liuhongt <hongtao.liu@intel.com>
7927
7928 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
7929 isa attr of alternative 2 from avx to avx512vl.
7930
7931 2022-02-23 Richard Biener <rguenther@suse.de>
7932 Jakub Jelinek <jakub@redhat.com>
7933
7934 PR tree-optimization/104644
7935 * doc/match-and-simplify.texi: Amend ! documentation.
7936 * genmatch.cc (expr::gen_transform): Code-generate ! support
7937 for GENERIC.
7938 (parser::parse_expr): Allow ! for GENERIC.
7939 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
7940 bswap.
7941
7942 2022-02-23 Richard Biener <rguenther@suse.de>
7943
7944 PR tree-optimization/101636
7945 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
7946 vector type of the node.
7947 (vect_slp_analyze_operations): Make sure the CTOR
7948 is vectorized with an expected type.
7949 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
7950
7951 2022-02-23 Jakub Jelinek <jakub@redhat.com>
7952
7953 PR c/104633
7954 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
7955 Don't warn about calls to corresponding builtin from extern inline
7956 gnu_inline wrappers.
7957
7958 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
7959
7960 PR target/104489
7961 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
7962
7963 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
7964
7965 PR target/100757
7966 PR target/101325
7967 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
7968 typo.
7969
7970 2022-02-23 Cui,Lili <lili.cui@intel.com>
7971
7972 * doc/invoke.texi: Update documents for Intel architectures.
7973
7974 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
7975
7976 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
7977 bootstrap.
7978
7979 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
7980
7981 * omp-low.cc (omp_build_component_ref): Move function...
7982 * omp-general.cc (omp_build_component_ref): ... here. Remove
7983 'static'.
7984 * omp-general.h (omp_build_component_ref): Declare function.
7985 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
7986 function.
7987 (build_receiver_ref, build_sender_ref): Call
7988 'omp_build_component_ref' instead.
7989
7990 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
7991
7992 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
7993 simplify. Adjust all users.
7994
7995 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
7996
7997 PR target/88134
7998 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
7999 atomic_update_decl): Add GTY markup.
8000
8001 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8002
8003 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
8004
8005 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8006
8007 PR target/100757
8008 PR target/101325
8009 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
8010 predicate.
8011 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
8012 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
8013 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
8014 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
8015 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
8016 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
8017 * config/arm/mve.md: Use VxBI instead of HI.
8018
8019 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8020
8021 PR target/100757
8022 PR target/101325
8023 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
8024 qualifier.
8025 (STRSBU_P_QUALIFIERS): Likewise.
8026 (LDRGBS_Z_QUALIFIERS): Likewise.
8027 (LDRGBU_Z_QUALIFIERS): Likewise.
8028 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
8029 (LDRGBWBS_Z_QUALIFIERS): Likewise.
8030 (LDRGBWBU_Z_QUALIFIERS): Likewise.
8031 (STRSBWBS_P_QUALIFIERS): Likewise.
8032 (STRSBWBU_P_QUALIFIERS): Likewise.
8033 * config/arm/mve.md: Use VxBI instead of HI.
8034
8035 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8036
8037 PR target/100757
8038 PR target/101325
8039 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
8040 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
8041 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
8042 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
8043 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
8044 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
8045 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
8046 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
8047 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
8048 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
8049 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
8050 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
8051 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
8052 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
8053 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
8054 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
8055 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
8056 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
8057 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
8058 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
8059 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
8060 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
8061 (STRS_P_QUALIFIERS): Use predicate qualifier.
8062 (STRU_P_QUALIFIERS): Likewise.
8063 (STRSU_P_QUALIFIERS): Likewise.
8064 (STRSS_P_QUALIFIERS): Likewise.
8065 (LDRGS_Z_QUALIFIERS): Likewise.
8066 (LDRGU_Z_QUALIFIERS): Likewise.
8067 (LDRS_Z_QUALIFIERS): Likewise.
8068 (LDRU_Z_QUALIFIERS): Likewise.
8069 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
8070 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
8071 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
8072 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
8073 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
8074 * config/arm/mve.md: Use MVE_VPRED instead of HI.
8075
8076 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8077
8078 PR target/100757
8079 PR target/101325
8080 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
8081 Delete.
8082 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
8083 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
8084 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
8085 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
8086 predicated qualifiers.
8087 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
8088 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
8089
8090 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8091
8092 PR target/100757
8093 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
8094 (arm_expand_vector_compare): Update prototype.
8095 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
8096 (arm_vector_mode_supported_p): Add support for VxBI modes.
8097 (arm_expand_vector_compare): Remove useless generation of vpsel.
8098 (arm_expand_vcond): Fix select operands.
8099 (arm_get_mask_mode): New.
8100 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
8101 (vec_cmpu<mode><MVE_vpred>): New.
8102 (vcond_mask_<mode><MVE_vpred>): New.
8103 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
8104 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
8105 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
8106 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
8107 and disable for MVE.
8108 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
8109
8110 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8111
8112 PR target/100757
8113 PR target/101325
8114 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
8115 (BINOP_PRED_NONE_NONE_QUALIFIERS)
8116 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
8117 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
8118 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
8119 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
8120 modes.
8121 (arm_mode_to_pred_mode): New.
8122 (arm_expand_vector_compare): Use the right VxBI mode instead of
8123 HI.
8124 (arm_expand_vcond): Likewise.
8125 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
8126 (mve_bool_vec_to_const): New.
8127 (neon_make_constant): Call mve_bool_vec_to_const when needed.
8128 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
8129 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
8130 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
8131 (vpselq_s, vpselq_f): Use new predicated qualifiers.
8132 * config/arm/constraints.md (DB): New.
8133 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
8134 (MVE_VPRED, MVE_vpred): New attribute iterators.
8135 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
8136 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
8137 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
8138 (@mve_vpselq_<supf>v2di): Define separately.
8139 (mov<mode>): New expander for VxBI modes.
8140 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
8141 MVE_7_HI iterator and add support for DB constraint.
8142
8143 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8144 Richard Sandiford <richard.sandiford@arm.com>
8145
8146 PR target/100757
8147 PR target/101325
8148 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
8149 VNx2BI): Update definition.
8150 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
8151 simd types.
8152 (arm_init_builtin): Map predicate vectors arguments to HImode.
8153 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
8154 rtx. Move return value to HImode rtx.
8155 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
8156 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
8157 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
8158 Pred2x8_t,Pred4x4_t): New.
8159 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
8160 * genmodes.cc (mode_data): Add boolean field.
8161 (blank_mode): Initialize it.
8162 (make_complex_modes): Fix handling of boolean modes.
8163 (make_vector_modes): Likewise.
8164 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
8165 (make_vector_bool_mode): Likewise.
8166 (BOOL_MODE): New.
8167 (make_bool_mode): New.
8168 (emit_insn_modes_h): Fix generation of boolean modes.
8169 (emit_class_narrowest_mode): Likewise.
8170 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
8171 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
8172 define BImode.
8173 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
8174 Fix handling of constm1_rtx for VECTOR_BOOL.
8175 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
8176 (native_decode_vector_rtx): Likewise.
8177 (test_vector_ops_duplicate): Skip vec_merge test
8178 with vectors of booleans.
8179 * varasm.cc (output_constant_pool_2): Likewise.
8180
8181 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8182
8183 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
8184 for operand 1.
8185
8186 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8187
8188 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
8189
8190 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8191
8192 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
8193 (REG_CLASS_NAMES): Likewise.
8194 (REG_CLASS_CONTENTS): Likewise.
8195 (CLASS_MAX_NREGS): Handle VPR.
8196 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
8197
8198 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
8199 Tom de Vries <tdevries@suse.de>
8200
8201 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
8202 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
8203 Likewise.
8204 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
8205
8206 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
8207 Tom de Vries <tdevries@suse.de>
8208
8209 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
8210 * doc/invoke.texi (-mptx): Update for new values and defaults.
8211
8212 2022-02-22 Tom de Vries <tdevries@suse.de>
8213
8214 * config/nvptx/nvptx.cc (gen_comment): New function.
8215 (workaround_uninit_method_1, workaround_uninit_method_2)
8216 (workaround_uninit_method_3): : Use gen_comment.
8217 * config/nvptx/nvptx.opt (mptx-comment): New option.
8218
8219 2022-02-22 Richard Biener <rguenther@suse.de>
8220
8221 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
8222 for a splat.
8223
8224 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
8225 Richard Biener <rguenther@suse.de>
8226
8227 * fold-const.cc (ctor_single_nonzero_element): New function to
8228 return the single non-zero element of a (vector) constructor.
8229 * fold-const.h (ctor_single_nonzero_element): Prototype here.
8230 * match.pd (reduc (constructor@0)): Simplify reductions of a
8231 constructor containing a single non-zero element.
8232 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
8233 reductions of vector operations of the same operator with
8234 constant vector operands.
8235
8236 2022-02-22 Jakub Jelinek <jakub@redhat.com>
8237
8238 PR tree-optimization/104604
8239 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
8240 Only check if gimple_assign_rhs1 is COMPLEX_CST if
8241 gimple_assign_rhs_code is COMPLEX_CST.
8242
8243 2022-02-22 Jakub Jelinek <jakub@redhat.com>
8244
8245 PR target/104612
8246 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
8247 on input operands before calling lowpart_subreg on it. For output
8248 operand, use a vmode pseudo as destination and then move its lowpart
8249 subreg into operands[0] if lowpart_subreg fails on dest.
8250 (ix86_expand_xorsign): Likewise.
8251
8252 2022-02-22 Richard Biener <rguenther@suse.de>
8253
8254 PR tree-optimization/104582
8255 PR target/99881
8256 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
8257 Cost GPR to vector register moves for integer vector construction.
8258
8259 2022-02-22 Richard Biener <rguenther@suse.de>
8260
8261 PR tree-optimization/104582
8262 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
8263 (vector_costs::add_stmt_cost): Add SLP node parameter.
8264 (dump_stmt_cost): Likewise.
8265 (add_stmt_cost): Likewise, new overload and adjust.
8266 (add_stmt_costs): Adjust.
8267 (record_stmt_cost): New overload.
8268 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
8269 (vector_costs::add_stmt_cost): Adjust.
8270 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
8271 Adjust.
8272 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
8273 the SLP node for costing.
8274 (vectorizable_slp_permutation): Likewise.
8275 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
8276 new overloads.
8277 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
8278 Adjust.
8279 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
8280 Adjust.
8281 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
8282 Adjust.
8283 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
8284
8285 2022-02-22 Richard Biener <rguenther@suse.de>
8286
8287 PR tree-optimization/104582
8288 * tree-vectorizer.h (add_stmt_cost): New overload.
8289 (record_stmt_cost): Likewise.
8290 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
8291 Use add_stmt_costs.
8292 (vect_get_known_peeling_cost): Use new overloads.
8293 (vect_estimate_min_profitable_iters): Likewise. Consistently
8294 use scalar_stmt for costing versioning checks.
8295 * tree-vect-stmts.cc (record_stmt_cost): New overload.
8296
8297 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
8298
8299 PR target/103069
8300 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
8301 Split atomic fetch and loop part.
8302 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
8303 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
8304 prototype.
8305 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
8306 expander under TARGET_RELAX_CMPXCHG_LOOP.
8307 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
8308
8309 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
8310
8311 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
8312 Change wb_candidate[12] to wb_push_candidate[12].
8313 (aarch64_layout_frame): Likewise, and
8314 change callee_adjust when scs is enabled.
8315 (aarch64_save_callee_saves):
8316 Change wb_candidate[12] to wb_push_candidate[12].
8317 (aarch64_restore_callee_saves):
8318 Change wb_candidate[12] to wb_pop_candidate[12].
8319 (aarch64_get_separate_components):
8320 Change wb_candidate[12] to wb_push_candidate[12].
8321 (aarch64_expand_prologue): Push x30 onto SCS before it's
8322 pushed onto stack.
8323 (aarch64_expand_epilogue): Pop x30 frome SCS, while
8324 preventing it from being popped from the regular stack again.
8325 (aarch64_override_options_internal): Add SCS compile option check.
8326 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
8327 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
8328 wb_pop_candidate[12], and rename wb_candidate[12] to
8329 wb_push_candidate[12].
8330 * config/aarch64/aarch64.md (scs_push): New template.
8331 (scs_pop): Likewise.
8332 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
8333 * doc/tm.texi: Regenerate.
8334 * doc/tm.texi.in: Add hook have_shadow_call_stack.
8335 * flag-types.h (enum sanitize_code):
8336 Add SANITIZE_SHADOW_CALL_STACK.
8337 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
8338 and exclude SANITIZE_SHADOW_CALL_STACK.
8339 * target.def: New hook.
8340 * toplev.cc (process_options): Add SCS compile option check.
8341 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
8342
8343 2022-02-21 Tom de Vries <tdevries@suse.de>
8344
8345 PR target/104440
8346 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
8347 (workaround_uninit_method_2, workaround_uninit_method_3)
8348 (workaround_uninit): New function.
8349 (nvptx_reorg): Use workaround_uninit.
8350 * config/nvptx/nvptx.opt (minit-regs): New option.
8351
8352 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
8353
8354 PR rtl-optimization/104498
8355 * alias.cc (compare_base_symbol_refs): Correct distance computation
8356 when swapping x and y.
8357
8358 2022-02-21 Andrew Pinski <apinski@marvell.com>
8359
8360 PR c/104506
8361 * tree-ssa.cc (tree_ssa_useless_type_conversion):
8362 Check the inner type before calling useless_type_conversion_p.
8363
8364 2022-02-19 Tom de Vries <tdevries@suse.de>
8365
8366 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
8367 * config/nvptx/nvptx.md
8368 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
8369 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
8370 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
8371 (define_expand "atomic_store<mode>"): Handle rename. Use
8372 nvptx_atomic_store instead of atomic_exchange.
8373
8374 2022-02-19 Tom de Vries <tdevries@suse.de>
8375
8376 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
8377 insns with atomic attribute. Assert that all handled insns are
8378 PARALLELs.
8379 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
8380 Set atomic attribute to false.
8381
8382 2022-02-19 Tom de Vries <tdevries@suse.de>
8383
8384 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
8385 type to bool.
8386 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
8387 nvptx_warpsync, if necessary.
8388
8389 2022-02-19 Jakub Jelinek <jakub@redhat.com>
8390
8391 PR sanitizer/102656
8392 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
8393 known to be within bounds, treat it like automatic variables.
8394 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
8395 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
8396 it addressable.
8397
8398 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
8399
8400 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
8401 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
8402 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
8403 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
8404 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
8405 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
8406 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
8407 power10_sched_reorder): Likewise.
8408 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
8409 gen_addadd): Likewise
8410 * config/rs6000/fusion.md: Regenerate.
8411
8412 2022-02-18 Jakub Jelinek <jakub@redhat.com>
8413
8414 PR target/104257
8415 PR target/104598
8416 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
8417 rather than __posix_memalign.
8418
8419 2022-02-18 Richard Biener <rguenther@suse.de>
8420
8421 PR target/104581
8422 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
8423 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
8424 of calling ix86_avx_u128_mode_source which would eventually
8425 have returned AVX_U128_ANY in some very special case.
8426
8427 2022-02-18 Richard Biener <rguenther@suse.de>
8428
8429 PR tree-optimization/96881
8430 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
8431 CLOBBER handling.
8432 (control_parents_preserved_p): New function.
8433 (eliminate_unnecessary_stmts): Check that we preserved control
8434 parents before retaining a CLOBBER.
8435 (perform_tree_ssa_dce): Pass down aggressive flag
8436 to eliminate_unnecessary_stmts.
8437
8438 2022-02-17 Jason Merrill <jason@redhat.com>
8439
8440 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
8441 on TYPE_MAIN_VARIANT.
8442
8443 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
8444
8445 PR target/104257
8446 * config/rs6000/bmi2intrin.h: Uglify local variables.
8447 * config/rs6000/emmintrin.h: Likewise.
8448 * config/rs6000/mm_malloc.h: Likewise.
8449 * config/rs6000/mmintrin.h: Likewise.
8450 * config/rs6000/pmmintrin.h: Likewise.
8451 * config/rs6000/smmintrin.h: Likewise.
8452 * config/rs6000/tmmintrin.h: Likewise.
8453 * config/rs6000/xmmintrin.h: Likewise.
8454
8455 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
8456
8457 PR target/104335
8458 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
8459 if the expected comparison's first operand is of mode MODE_CC.
8460
8461 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
8462
8463 PR rtl-optimization/104447
8464 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
8465 hard reg set by lra_no_alloc_regs.
8466
8467 2022-02-17 liuhongt <hongtao.liu@intel.com>
8468
8469 PR tree-optimization/104551
8470 PR tree-optimization/103771
8471 * match.pd (cond_expr_convert_p): Add types_match check when
8472 convert is extension.
8473 * tree-vect-patterns.cc
8474 (gimple_cond_expr_convert_p): Adjust comments.
8475 (vect_recog_cond_expr_convert_pattern): Ditto.
8476
8477 2022-02-17 Jakub Jelinek <jakub@redhat.com>
8478
8479 PR debug/104557
8480 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
8481 if expr has VOIDmode.
8482
8483 2022-02-17 liuhongt <hongtao.liu@intel.com>
8484
8485 * config/i386/cpuid.h (bit_MPX): Removed.
8486 (bit_BNDREGS): Ditto.
8487 (bit_BNDCSR): Ditto.
8488
8489 2022-02-17 Michael Meissner <meissner@the-meissners.org>
8490
8491 PR target/99708
8492 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
8493 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
8494 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
8495 is created.
8496
8497 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
8498
8499 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
8500 range_compatible_p instead of direct type comparison.
8501
8502 2022-02-16 Jakub Jelinek <jakub@redhat.com>
8503
8504 PR rtl-optimization/104544
8505 * combine.cc (try_combine): When looking for insn whose links
8506 should be updated from i3 to i2, don't stop on debug insns, instead
8507 skip over them.
8508
8509 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
8510
8511 PR target/100056
8512 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
8513 * config/aarch64/aarch64.md: Extend the PR100056 patterns
8514 to handle plus in the same way as ior, if the operands have
8515 no set bits in common.
8516
8517 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
8518
8519 PR tree-optimization/104526
8520 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
8521 new routine.
8522 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
8523 of dependency chain if there isn't one.
8524 (gori_compute::condexpr_adjust): New.
8525 * gimple-range-gori.h (class gori_compute): New prototype.
8526
8527 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
8528
8529 PR target/100874
8530 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
8531 Declare.
8532 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
8533 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
8534
8535 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
8536
8537 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
8538 (vect_scalar_ops_slice_hash): Likewise.
8539 (vect_scalar_ops_slice::op): New function.
8540 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
8541 (vect_scalar_ops_slice_hash::hash): Likewise.
8542 (vect_scalar_ops_slice_hash::equal): Likewise.
8543 (vect_prologue_cost_for_slp): Check for duplicate vectors.
8544 * config/aarch64/aarch64.cc
8545 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
8546 (aarch64_aligned_constant_offset_p): New function.
8547 (aarch64_stp_sequence_cost): Likewise.
8548 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
8549 (aarch64_vector_costs::finish_cost): Likewise.
8550
8551 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
8552
8553 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
8554 use after free.
8555
8556 2022-02-15 Richard Biener <rguenther@suse.de>
8557
8558 PR tree-optimization/104543
8559 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
8560 come after the inner loop.
8561
8562 2022-02-15 Jakub Jelinek <jakub@redhat.com>
8563
8564 PR target/104536
8565 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
8566 cannot instead of can%'t in diagnostics. Formatting fixes.
8567
8568 2022-02-15 Jakub Jelinek <jakub@redhat.com>
8569
8570 PR middle-end/104522
8571 * fold-const.h (native_interpret_real): Declare.
8572 * fold-const.cc (native_interpret_real): No longer static. Don't
8573 perform MODE_COMPOSITE_P verification here.
8574 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
8575 for all modes.
8576 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
8577 instead of native_interpret_expr.
8578 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
8579 and comparison verification for all FLOAT_MODE_P modes, not just
8580 MODE_COMPOSITE_P.
8581
8582 2022-02-15 Richard Biener <rguenther@suse.de>
8583
8584 PR tree-optimization/104519
8585 * fold-const.cc (multiple_of_p): Remove never true condition.
8586 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
8587 the appropriate types for determining whether the difference
8588 of final and base is a multiple of the step.
8589
8590 2022-02-15 Jakub Jelinek <jakub@redhat.com>
8591
8592 PR debug/104517
8593 * omp-low.cc (task_cpyfns): New variable.
8594 (delete_omp_context): Don't call finalize_task_copyfn from here.
8595 (create_task_copyfn): Push task_stmt into task_cpyfns.
8596 (execute_lower_omp): Call finalize_task_copyfn here on entries from
8597 task_cpyfns vector and release the vector.
8598
8599 2022-02-14 Martin Sebor <msebor@redhat.com>
8600
8601 PR middle-end/104355
8602 * doc/invoke.texi (-Warray-bounds): Update documentation.
8603
8604 2022-02-14 Michael Meissner <meissner@the-meissners.org>
8605
8606 PR target/104253
8607 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
8608 conversion functions used to convert IFmode types.
8609
8610 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
8611
8612 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
8613
8614 2022-02-14 Richard Biener <rguenther@suse.de>
8615
8616 PR tree-optimization/104528
8617 * tree-ssa.h (find_released_ssa_name): Declare.
8618 * tree-ssa.cc (find_released_ssa_name): Export.
8619 * cfgloop.cc (verify_loop_structure): Look for released
8620 SSA names in loops nb_iterations.
8621 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
8622 estimates.
8623
8624 2022-02-14 Richard Biener <rguenther@suse.de>
8625
8626 PR tree-optimization/104511
8627 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
8628 touching DFP <-> FP conversions.
8629
8630 2022-02-14 Richard Biener <rguenther@suse.de>
8631
8632 PR middle-end/104497
8633 * gimplify.cc (gimplify_compound_lval): Make sure the
8634 base is a non-register if needed and possible.
8635
8636 2022-02-13 liuhongt <hongtao.liu@intel.com>
8637
8638 PR target/103771
8639 * match.pd (cond_expr_convert_p): New match.
8640 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
8641 (vect_recog_cond_expr_convert_pattern): New.
8642
8643 2022-02-12 Jakub Jelinek <jakub@redhat.com>
8644
8645 PR sanitizer/104449
8646 * asan.cc: Include tree-eh.h.
8647 (handle_builtin_alloca): Handle the case when __builtin_alloca or
8648 __builtin_alloca_with_align can throw.
8649
8650 2022-02-12 Jakub Jelinek <jakub@redhat.com>
8651
8652 PR target/104502
8653 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
8654 and AVX512VL isn't available, move operands[1] to operands[0] first.
8655
8656 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
8657
8658 PR target/79754
8659 * config/i386/i386.cc (type_natural_mode):
8660 Skip decimal float vector modes.
8661
8662 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
8663 Vladimir Makarov <vmakarov@redhat.com>
8664
8665 PR target/104117
8666 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
8667 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
8668 emitting PIC code.
8669 (legitimate_lo_sum_address_p): Likewise.
8670 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
8671 load from an invalid lo_sum address.
8672
8673 2022-02-11 Jakub Jelinek <jakub@redhat.com>
8674
8675 PR tree-optimization/104499
8676 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
8677 of convert.
8678
8679 2022-02-11 Jakub Jelinek <jakub@redhat.com>
8680
8681 * tree.cc (build_common_builtin_nodes): Fix up formatting in
8682 __builtin_clear_padding decl creation.
8683 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
8684 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
8685 argument rather than in 3rd argument.
8686 (gimplify_call_expr): Likewise. Fix up comment formatting.
8687 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
8688 2 arguments instead of 3, take for_auto_init from the value
8689 of 2nd argument.
8690
8691 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
8692
8693 PR rtl-optimization/104400
8694 * lra-constraints.cc (process_alt_operands): Don't make union of
8695 this_alternative_exclude_start_hard_regs when reg class in insn
8696 alternative covers other reg classes in the same alternative.
8697
8698 2022-02-11 Jakub Jelinek <jakub@redhat.com>
8699
8700 PR middle-end/104446
8701 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
8702 operands.
8703
8704 2022-02-11 Richard Biener <rguenther@suse.de>
8705
8706 PR middle-end/104496
8707 * internal-fn.cc (vectorized_internal_fn_supported_p):
8708 Bail out for integer mode vector types.
8709
8710 2022-02-11 Jakub Jelinek <jakub@redhat.com>
8711
8712 PR rtl-optimization/104459
8713 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
8714 moving DEBUG_INSNs between bbs.
8715
8716 2022-02-11 liuhongt <hongtao.liu@intel.com>
8717
8718 PR tree-optimization/104479
8719 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
8720 for the dest of uncond_op.
8721
8722 2022-02-11 Tom de Vries <tdevries@suse.de>
8723
8724 PR target/104456
8725 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
8726 insn.
8727
8728 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
8729
8730 PR middle-end/100775
8731 * function.cc (gen_call_used_regs_seq): Call
8732 df_update_exit_block_uses when updating df.
8733
8734 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
8735
8736 PR target/104469
8737 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
8738 Change operand 1 constraint to register_operand.
8739
8740 2022-02-10 Richard Biener <rguenther@suse.de>
8741
8742 PR tree-optimization/104373
8743 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
8744 walk kind.
8745 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
8746 walk kind as argument.
8747 (run_rpo_vn): Adjust.
8748 (pass_fre::execute): Likewise.
8749 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
8750 blocks not reachable.
8751 (execute_late_warn_uninitialized): Mark all edges as
8752 executable.
8753 (execute_early_warn_uninitialized): Use VN to compute
8754 executable edges.
8755 (pass_data_early_warn_uninitialized): Enable a dump file,
8756 change dump name to warn_uninit.
8757
8758 2022-02-10 Richard Biener <rguenther@suse.de>
8759
8760 PR middle-end/104467
8761 * match.pd (vector extract simplification): Multiply the
8762 number of CTOR elements with the number of element elements.
8763
8764 2022-02-10 Richard Biener <rguenther@suse.de>
8765
8766 PR tree-optimization/104466
8767 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
8768 for the MR_DEPENDENCE checks as intended.
8769
8770 2022-02-10 Tom de Vries <tdevries@suse.de>
8771
8772 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
8773 define_insn.
8774 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
8775 TARGET_SM70.
8776 (define_c_enum "unspecv"): Add UNSPECV_ST.
8777
8778 2022-02-10 Tom de Vries <tdevries@suse.de>
8779
8780 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
8781 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
8782 (nvptx_mem_maybe_shared_p): New function.
8783 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
8784 define_expand.
8785
8786 2022-02-10 Tom de Vries <tdevries@suse.de>
8787
8788 PR target/97005
8789 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
8790 driver JIT bug by using sub.s16 instead of sub.u16.
8791
8792 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
8793
8794 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
8795 floating point constants as operands 1 and/or 2.
8796
8797 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
8798
8799 PR target/104345
8800 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
8801 (sel_false<mode>): Likewise.
8802 (define_code_iterator eqne): New code iterator for EQ and NE.
8803 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
8804 the negation of a selp instruction.
8805 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
8806 the bitwise not of a selp instruction.
8807 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
8808
8809 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
8810
8811 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
8812 in machine description.
8813 (logic): Move code attribute earlier in machine description.
8814 (ilogic): New code attribute, like logic but "ior" for IOR.
8815 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
8816 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
8817 (<ilogic>bi3): New define_insn for BI mode logic operations.
8818 (define_split): Lower logic operations from integer modes to
8819 BI mode predicate operations.
8820
8821 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
8822
8823 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
8824 (one_cmplbi2): New define_insn for not.pred.
8825 (mulditi3): New define_expand for signed widening multiply.
8826 (umulditi3): New define_expand for unsigned widening multiply.
8827 (smul<mode>3_highpart): New define_insn for signed highpart mult.
8828 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
8829 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
8830 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
8831 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
8832 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
8833 (*setcc<mode>_from_not_bi): New define_insn.
8834 (*setcc_isinf<mode>): New define_insn for testp.infinite.
8835 (isinf<mode>2): New define_expand.
8836
8837 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
8838
8839 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
8840 (setcc<mode>_from_bi): Additionally support QImode.
8841 (extendbi<mode>2): Additionally support QImode.
8842 (zero_extendbi<mode>2): Additionally support QImode.
8843 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
8844 iterators for signed and unsigned, binary and unary operations.
8845 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
8846 expanders to perform QImode operations using SImode instructions.
8847 (cstoreqi4): New define_expand.
8848 (*ext_truncsi2_qi): New define_insn.
8849 (*zext_truncsi2_qi): New define_insn.
8850
8851 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
8852
8853 * config/nvptx/nvptx.md (*cmpf): New define_insn.
8854 (cstorehf4): New define_expand.
8855 (fmahf4): New define_insn.
8856 (neghf2): New define_insn.
8857 (abshf2): New define_insn.
8858
8859 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
8860
8861 * doc/install.texi (Specific): Change the www.bitwizard.nl
8862 reference to use https.
8863
8864 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
8865
8866 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
8867 OMP_CLAUSE_HAS_DEVICE_ADDR
8868 and handle array sections.
8869 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
8870 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
8871 (lower_omp_target): Same.
8872 * tree-core.h (enum omp_clause_code): Same.
8873 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
8874 (convert_local_omp_clauses): Same.
8875 * tree-pretty-print.cc (dump_omp_clause): Same.
8876 * tree.cc: Same.
8877
8878 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
8879
8880 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
8881 that will result in direct recursive calls.
8882
8883 2022-02-10 Andrew Pinski <apinski@marvell.com>
8884
8885 PR target/104474
8886 * config/aarch64/aarch64.cc
8887 (aarch64_sve_expand_vector_init_handle_trailing_constants):
8888 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
8889
8890 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
8891
8892 PR target/104462
8893 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
8894 Also include OPTION_MASK_ISA2_AVX2_UNSET.
8895
8896 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
8897
8898 PR target/104458
8899 * config/i386/i386-expand.cc (ix86_split_idivmod):
8900 Force operands[2] and operands[3] into a register..
8901
8902 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
8903
8904 PR target/97040
8905 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
8906 (*v850_fnmssf4): Renamed from fnmssf4
8907
8908 2022-02-09 Ian Lance Taylor <iant@golang.org>
8909
8910 * godump.cc (go_force_record_alignment): Really name the alignment
8911 field "_" (complete 2021-12-29 change).
8912
8913 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
8914
8915 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
8916 function prototype.
8917 (VREPLACE_UN_UV4SI): Likewise.
8918 (VREPLACE_UN_V2DF): Likewise.
8919 (VREPLACE_UN_V2DI): Likewise.
8920 (VREPLACE_UN_V4SF): Likewise.
8921 (VREPLACE_UN_V4SI): Likewise.
8922 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
8923 function prototypes.
8924 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
8925 (vreplace_un_<mode>): New define_insn.
8926
8927 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8928
8929 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
8930 (VDBL): Handle SF.
8931 (single_wx, single_type, single_dtype, dblq): New mode attributes.
8932 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
8933 from VDC to VDCSIF.
8934 (store_pair_lanes<mode>): Likewise.
8935 (*aarch64_combine_internal<mode>): Likewise.
8936 (*aarch64_combine_internal_be<mode>): Likewise.
8937 (*aarch64_combinez<mode>): Likewise.
8938 (*aarch64_combinez_be<mode>): Likewise.
8939 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
8940 8-byte modes for ADDR_QUERY_LDP_STP_N.
8941 (aarch64_print_operand): Likewise for %y.
8942
8943 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8944
8945 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
8946 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
8947 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
8948 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
8949 (vec_pack_trunc_<mode>): Take general_operand elements and use
8950 aarch64_combine rather than move_lo/hi_quad to combine them.
8951 (vec_pack_trunc_df): Likewise.
8952
8953 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8954
8955 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
8956 Delete.
8957 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
8958 to...
8959 (*aarch64_combinez<mode>): ...this.
8960 (@aarch64_combinez_be<mode>): Rename to...
8961 (*aarch64_combinez_be<mode>): ...this.
8962 (@aarch64_vec_concat<mode>): New expander.
8963 (aarch64_combine<mode>): Use it.
8964 (@aarch64_simd_combine<mode>): Delete.
8965 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
8966 (aarch64_expand_vector_init): Use aarch64_vec_concat.
8967
8968 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8969
8970 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
8971 New predicate.
8972 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
8973 (*aarch64_combine_internal_be<mode>): New patterns.
8974
8975 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8976
8977 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
8978 (move_lo_quad_internal_be_<mode>): Delete.
8979 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
8980
8981 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8982
8983 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
8984 Declare.
8985 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
8986 aarch64_mergeable_load_pair_p instead of inline check.
8987 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
8988 (aarch64_check_consecutive_mems): Allow the reversed parameter
8989 to be null.
8990 (aarch64_mergeable_load_pair_p): New function.
8991
8992 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8993
8994 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
8995 element to be an aarch64_simd_nonimmediate_operand.
8996
8997 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8998
8999 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
9000 aarch64_simd_nonimmediate_operand instead of
9001 aarch64_simd_general_operand.
9002 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
9003 general_operand.
9004 (@aarch64_combinez_be<mode>): Likewise.
9005
9006 2022-02-09 Richard Biener <rguenther@suse.de>
9007
9008 PR middle-end/104464
9009 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
9010 throwing check to after unproblematic replacement.
9011
9012 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
9013
9014 PR tree-optimization/104420
9015 * match.pd (mult @0 real_zerop): Tweak conditions for constant
9016 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
9017
9018 2022-02-09 Jakub Jelinek <jakub@redhat.com>
9019
9020 PR debug/104407
9021 * dwarf2out.cc (mangle_referenced_decls): New function.
9022 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
9023 early_dwarf. Instead walk the initializer and try to mangle vars or
9024 functions referenced from it.
9025
9026 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
9027
9028 PR tree-optimization/104288
9029 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
9030 (non_null_ref::adjust_range): Move to header.
9031 (ranger_cache::range_of_def): Don't check non-null.
9032 (ranger_cache::entry_range): Don't check non-null.
9033 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
9034 (ranger_cache::update_to_nonnull): New.
9035 (non_null_loadstore): New.
9036 (ranger_cache::block_apply_nonnull): New.
9037 * gimple-range-cache.h (class non_null_ref): Update prototypes.
9038 (non_null_ref::adjust_range): Move to here and inline.
9039 (class ranger_cache): Update prototypes.
9040 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
9041 not search dominators.
9042 (path_range_query::adjust_for_non_null_uses): Ditto.
9043 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
9044 def overrides. Do not check nonnull.
9045 (gimple_ranger::range_on_entry): Check dominators for nonnull.
9046 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
9047 (gimple_ranger::register_side_effects): New.
9048 * gimple-range.h (gimple_ranger::register_side_effects): New.
9049 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
9050
9051 2022-02-09 Richard Biener <rguenther@suse.de>
9052
9053 PR tree-optimization/104445
9054 PR tree-optimization/102832
9055 * optabs-query.h (can_vec_extract): New.
9056 * optabs-query.cc (can_vec_extract): Likewise.
9057 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
9058 we can extract a hi/lo part from the larger vector, rework
9059 check iteration from larger to smaller sizes.
9060
9061 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
9062
9063 PR target/35513
9064 PR target/100593
9065 * config/i386/gnu-property.cc: Include "i386-protos.h".
9066 (file_end_indicate_exec_stack_and_gnu_property): Generate
9067 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
9068 nodirect_extern_access attribute.
9069 * config/i386/i386-options.cc
9070 (handle_nodirect_extern_access_attribute): New function.
9071 (ix86_attribute_table): Add nodirect_extern_access attribute.
9072 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
9073 bool argument.
9074 (ix86_has_no_direct_extern_access): New.
9075 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
9076 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
9077 call operand. Force non-call load from GOT for
9078 -mno-direct-extern-access or nodirect_extern_access attribute.
9079 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
9080 for -mno-direct-extern-access or nodirect_extern_access attribute.
9081 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
9082 for call operand.
9083 (asm_preferred_eh_data_format): Use PC-relative format for
9084 -mno-direct-extern-access to avoid copy relocation. Check
9085 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
9086 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
9087 true for -mno-direct-extern-access or nodirect_extern_access
9088 attribute. Don't treat protected data as extern and avoid copy
9089 relocation on common symbol with -mno-direct-extern-access or
9090 nodirect_extern_access attribute.
9091 (ix86_reloc_rw_mask): New to avoid copy relocation for
9092 -mno-direct-extern-access.
9093 (TARGET_ASM_RELOC_RW_MASK): New.
9094 * config/i386/i386.opt: Add -mdirect-extern-access.
9095 * doc/extend.texi: Document nodirect_extern_access attribute.
9096 * doc/invoke.texi: Document -m[no-]direct-extern-access.
9097
9098 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
9099
9100 PR target/104441
9101 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
9102 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
9103 Call ix86_avx_u128_mode_source to check mode for each component
9104 of source operand.
9105
9106 2022-02-09 liuhongt <hongtao.liu@intel.com>
9107
9108 PR target/104451
9109 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
9110 operands[2] from SImode to QImode.
9111
9112 2022-02-09 Richard Biener <rguenther@suse.de>
9113
9114 PR middle-end/104450
9115 * gimple-isel.cc: Pass cfun around.
9116 (+gimple_expand_vec_cond_expr): Do not combine a throwing
9117 comparison with the select.
9118
9119 2022-02-09 Richard Biener <rguenther@suse.de>
9120
9121 PR target/104453
9122 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
9123 folding for NULL LHS.
9124
9125 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
9126
9127 PR rtl-optimization/104198
9128 PR rtl-optimization/104153
9129 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
9130 using it directly. Rework comparison handling and always
9131 perform a second pass.
9132
9133 2022-02-08 Jakub Jelinek <jakub@redhat.com>
9134
9135 PR target/102140
9136 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
9137 split1 pass has finished already.
9138
9139 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
9140
9141 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
9142 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
9143 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
9144 (vmsumcud): New define_insn.
9145
9146 2022-02-08 Tom de Vries <tdevries@suse.de>
9147
9148 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
9149 * config/nvptx/nvptx.h (TARGET_SM70): Define.
9150
9151 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
9152
9153 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
9154 on condition.
9155 * config/s390/s390.md: Use paradoxical subreg.
9156
9157 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
9158
9159 * combine.cc (reg_subword_p): Check for paradoxical subreg.
9160
9161 2022-02-08 Tom de Vries <tdevries@suse.de>
9162
9163 PR target/104283
9164 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
9165 and PTX_VERSION_4_2.
9166 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
9167 (default_ptx_version_option, ptx_version_to_string)
9168 (sm_version_to_string, handle_ptx_version_option): New function.
9169 (nvptx_option_override): Call handle_ptx_version_option.
9170 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
9171 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
9172 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
9173 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
9174
9175 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
9176
9177 * doc/install.texi (Configuration): Document `--with-isa-spec='
9178 RISC-V option.
9179 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
9180 option.
9181 (RISC-V Options): Document it.
9182
9183 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
9184
9185 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
9186
9187 2022-02-08 Tom de Vries <tdevries@suse.de>
9188
9189 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
9190
9191 2022-02-08 Tom de Vries <tdevries@suse.de>
9192
9193 PR target/104364
9194 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
9195 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
9196 change is validated.
9197 (nvptx_mem_local_p): New function.
9198 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
9199 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
9200 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
9201 non-atomic, non-predicable define_insn, factored out of ...
9202 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
9203 Make predicable again.
9204 (define_expand "atomic_compare_and_swap<mode>"): Use
9205 atomic_compare_and_swap<mode>_1_local.
9206
9207 2022-02-08 liuhongt <hongtao.liu@intel.com>
9208
9209 PR rtl-optimization/104059
9210 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
9211 for a more expensive reg-reg move.
9212
9213 2022-02-07 Tamar Christina <tamar.christina@arm.com>
9214
9215 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
9216 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
9217 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
9218 (usdot_laneq, sudot_laneq): New.
9219 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
9220 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
9221
9222 2022-02-07 Tamar Christina <tamar.christina@arm.com>
9223
9224 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
9225 vdot_laneq_s32, vdotq_laneq_s32): New.
9226 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
9227 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
9228 (<sup>dot_prod<vsi2qi>): Re-order rtl.
9229 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
9230 (neon_<sup>dot_laneq<vsi2qi>): New.
9231
9232 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
9233
9234 PR target/104327
9235 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
9236 if always_inline is set. Don't inline when tune differs without
9237 always_inline.
9238
9239 2022-02-07 Richard Biener <rguenther@suse.de>
9240
9241 PR middle-end/104402
9242 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
9243 compares are not valid.
9244 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
9245 check is_gimple_condexpr.
9246
9247 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
9248
9249 PR target/103627
9250 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
9251 hunk affecting VSX and ALTIVEC to appropriate place.
9252
9253 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
9254
9255 PR target/103627
9256 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
9257 MMA if !TARGET_VSX.
9258
9259 2022-02-06 Jakub Jelinek <jakub@redhat.com>
9260
9261 PR c++/89074
9262 PR c++/104033
9263 * fold-const.h (folding_initializer): Adjust comment.
9264 (folding_cxx_constexpr): Declare.
9265 * fold-const.cc (folding_initializer): Adjust comment.
9266 (folding_cxx_constexpr): New variable.
9267 (address_compare): Restrict the decl vs. STRING_CST
9268 or vice versa or STRING_CST vs. STRING_CST or
9269 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
9270 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
9271 assume non-aliased functions have non-zero size and have different
9272 addresses. For folding_cxx_constexpr, punt on comparisons of start
9273 of some object and end of another one, regardless whether it is a decl
9274 or string literal. Also punt for folding_cxx_constexpr on
9275 STRING_CST vs. STRING_CST comparisons if the two literals could be
9276 overlapping.
9277
9278 2022-02-05 Jakub Jelinek <jakub@redhat.com>
9279
9280 PR tree-optimization/104389
9281 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
9282 honored.
9283
9284 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
9285
9286 * configure.ac: Fix detection for zifencei support.
9287 * configure: Regenerate.
9288
9289 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
9290
9291 PR target/104219
9292 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
9293 (all_defaults): Add isa_spec.
9294 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
9295
9296 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
9297
9298 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
9299 parameters instead of arglist and nargs. Simplify accordingly. Remove
9300 unnecessary test for argument count mismatch.
9301 (resolve_vec_cmpne): Likewise.
9302 (resolve_vec_adde_sube): Likewise.
9303 (resolve_vec_addec_subec): Likewise.
9304 (altivec_resolve_overloaded_builtin): Move overload special handling
9305 after the gathering of arguments into args[] and types[] and the test
9306 for correct number of arguments. Don't perform the test for correct
9307 number of arguments for certain special cases. Call the other special
9308 cases with args and types instead of arglist and nargs.
9309
9310 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
9311
9312 PR target/100808
9313 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
9314 3.1): Provide consistent type names. Remove unnecessary semicolons.
9315 Fix bad line breaks.
9316
9317 2022-02-04 Jakub Jelinek <jakub@redhat.com>
9318
9319 PR target/104380
9320 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
9321 adjust mangling of __builtin*printf_chk.
9322
9323 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
9324
9325 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
9326
9327 2022-02-04 Richard Biener <rguenther@suse.de>
9328 Bin Cheng <bin.cheng@linux.alibaba.com>
9329
9330 PR tree-optimization/100499
9331 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
9332 to true.
9333 * fold-const.cc (multiple_of_p): Likewise. Honor it for
9334 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
9335 switching to false for conversions.
9336 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
9337 claim the outermost expression does not wrap when calling
9338 multiple_of_p. Refactor the check done to check the
9339 original IV, avoiding a bias that might wrap.
9340
9341 2022-02-04 Richard Biener <rguenther@suse.de>
9342
9343 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
9344 handling.
9345
9346 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
9347
9348 PR debug/104366
9349 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
9350 (dwarf2out_early_finish): Likewise.
9351
9352 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
9353
9354 PR tree-optimization/104356
9355 * match.pd (X / bool_range_Y is X): Add guard.
9356 (X / X is one): Likewise.
9357 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
9358 (X / -X is -1): Likewise.
9359 (1 / X -> X == 1): Likewise.
9360
9361 2022-02-04 Richard Biener <rguenther@suse.de>
9362
9363 PR tree-optimization/103641
9364 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
9365 Pass the vector mode to choose_mult_variant.
9366
9367 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
9368
9369 PR rtl-optimization/101885
9370 * combine.cc (try_combine): When splitting a parallel into two
9371 sequential sets, check not only that the first doesn't clobber
9372 the second but also that the second doesn't clobber the first.
9373
9374 2022-02-04 Richard Biener <rguenther@suse.de>
9375
9376 PR middle-end/90348
9377 PR middle-end/104092
9378 * tree-core.h (clobber_kind): New enum.
9379 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
9380 * tree.h (CLOBBER_KIND): Add.
9381 (build_clobber): Add clobber kind argument, defaulted to
9382 CLOBBER_UNDEF.
9383 * tree.cc (build_clobber): Likewise.
9384 * gimple.h (gimple_clobber_p): New overload with specified kind.
9385 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
9386 CLOBBER_KIND.
9387 * tree-streamer-out.cc (streamer_write_tree_bitfields):
9388 Likewise.
9389 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
9390 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
9391 with CLOBBER_EOL.
9392 (gimplify_target_expr): Likewise.
9393 * tree-inline.cc (expand_call_inline): Likewise.
9394 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
9395 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
9396 CLOBBER_EOL clobbers as ending lifetime of storage.
9397
9398 2022-02-04 Martin Sebor <msebor@redhat.com>
9399
9400 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
9401 cleanup.
9402
9403 2022-02-03 Martin Sebor <msebor@redhat.com>
9404
9405 PR middle-end/104260
9406 * passes.def (pass_warn_access): Adjust pass placement.
9407
9408 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
9409
9410 PR target/104362
9411 * config/i386/i386.cc (find_drap_reg): For 32bit targets
9412 return DI_REG if function uses __builtin_eh_return.
9413
9414 2022-02-03 Martin Sebor <msebor@redhat.com>
9415
9416 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
9417 (pass_wrestrict::m_ptr_qry): New member.
9418 (wrestrict_walk): Rename...
9419 (pass_wrestrict::check_block): ...to this.
9420 (pass_wrestrict::execute): Set up and tear down pointer_query and
9421 ranger.
9422 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
9423 (builtin_access::builtin_access): Same.
9424 (builtin_access::m_ptr_qry): New member.
9425 (check_call): Rename...
9426 (pass_wrestrict::check_call): ...to this.
9427 (check_bounds_or_overlap): Change argument.
9428 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
9429
9430 2022-02-03 Martin Sebor <msebor@redhat.com>
9431
9432 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
9433 Define ctor.
9434 (array_bounds_checker::get_value_range): Use new member.
9435 (array_bounds_checker::check_mem_ref): Same.
9436 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
9437 Outline ctor.
9438 (array_bounds_checker::m_ptr_query): New member.
9439
9440 2022-02-03 Martin Sebor <msebor@redhat.com>
9441
9442 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
9443 pointer_query cache.
9444 * pointer-query.cc (pointer_query::pointer_query): Remove cache
9445 argument. Zero-initialize new cache member.
9446 (pointer_query::get_ref): Replace cache pointer with direct access.
9447 (pointer_query::put_ref): Same.
9448 (pointer_query::flush_cache): Same.
9449 (pointer_query::dump): Same.
9450 * pointer-query.h (class pointer_query): Remove cache argument from
9451 ctor. Change cache pointer to cache subobject member.
9452 * tree-ssa-strlen.cc: Remove pointer_query cache.
9453
9454 2022-02-03 Martin Sebor <msebor@redhat.com>
9455
9456 PR tree-optimization/104119
9457 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
9458 (format_none): Same.
9459 (format_percent): Same.
9460 (format_integer): Same.
9461 (format_floating): Same.
9462 (get_string_length): Same.
9463 (format_character): Same.
9464 (format_string): Same.
9465 (format_plain): Same.
9466 (format_directive): Same.
9467 (compute_format_length): Same.
9468 (handle_printf_call): Same.
9469 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
9470 get_maxbound.
9471 (get_range_strlen_phi): Same.
9472 (get_maxbound): New function.
9473 (strlen_pass::get_len_or_size): Adjust to parameter change.
9474 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
9475
9476 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
9477
9478 PR target/103686
9479 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
9480 test for !rs6000_fold_gimple.
9481 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
9482 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
9483
9484 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
9485
9486 PR target/95082
9487 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
9488 endianness for vclzlsbb and vctzlsbb.
9489 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
9490 default pattern and indicate a different pattern will be used for
9491 big endian.
9492 (VCLZLSBB_V4SI): Likewise.
9493 (VCLZLSBB_V8HI): Likewise.
9494 (VCTZLSBB_V16QI): Likewise.
9495 (VCTZLSBB_V4SI): Likewise.
9496 (VCTZLSBB_V8HI): Likewise.
9497
9498 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
9499
9500 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
9501 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
9502 from other files.
9503 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
9504 rs6000-builtin.cc.
9505 (cpu_supports_info): Likewise.
9506 (rs6000_type_string): Likewise.
9507 (altivec_expand_predicate_builtin): Likewise.
9508 (rs6000_htm_spr_icode): Likewise.
9509 (altivec_expand_vec_init_builtin): Likewise.
9510 (get_element_number): Likewise.
9511 (altivec_expand_vec_set_builtin): Likewise.
9512 (altivec_expand_vec_ext_builtin): Likewise.
9513 (rs6000_invalid_builtin): Likewise.
9514 (rs6000_fold_builtin): Likewise.
9515 (fold_build_vec_cmp): Likewise.
9516 (fold_compare_helper): Likewise.
9517 (map_to_integral_tree_type): Likewise.
9518 (fold_mergehl_helper): Likewise.
9519 (fold_mergeeo_helper): Likewise.
9520 (rs6000_builtin_valid_without_lhs): Likewise.
9521 (rs6000_builtin_is_supported): Likewise.
9522 (rs6000_gimple_fold_mma_builtin): Likewise.
9523 (rs6000_gimple_fold_builtin): Likewise.
9524 (rs6000_expand_ldst_mask): Likewise.
9525 (cpu_expand_builtin): Likewise.
9526 (elemrev_icode): Likewise.
9527 (ldv_expand_builtin): Likewise.
9528 (lxvrse_expand_builtin): Likewise.
9529 (lxvrze_expand_builtin): Likewise.
9530 (stv_expand_builtin): Likewise.
9531 (mma_expand_builtin): Likewise.
9532 (htm_spr_num): Likewise.
9533 (htm_expand_builtin): Likewise.
9534 (rs6000_expand_builtin): Likewise.
9535 (rs6000_vector_type): Likewise.
9536 (rs6000_init_builtins): Likewise. Remove initialization of
9537 builtin_mode_to_type entries.
9538 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
9539 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
9540 external declaration.
9541 (rs6000_builtin_md_vectorized_function): Likewise.
9542 (rs6000_builtin_reciprocal): Likewise.
9543 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
9544 (rs6000_builtin_types): Likewise.
9545 (builtin_mode_to_type): Remove.
9546 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
9547 static qualifier.
9548 (rs6000_builtin_md_vectorized_function): Likewise.
9549 (rs6000_builtin_reciprocal): Likewise.
9550 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
9551 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
9552
9553 2022-02-03 Richard Biener <rguenther@suse.de>
9554
9555 PR debug/104337
9556 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
9557 together via DECL_ABSTRACT_ORIGIN.
9558
9559 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
9560
9561 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
9562 message for RES_BITS case.
9563
9564 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
9565
9566 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
9567
9568 2022-02-03 Jakub Jelinek <jakub@redhat.com>
9569
9570 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
9571 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
9572
9573 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
9574
9575 * cfganal.cc (verify_marked_backedges): New.
9576 * cfganal.h (verify_marked_backedges): New.
9577 * gimple-range-path.cc (path_range_query::path_range_query):
9578 Verify freshness of back edges.
9579 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
9580 mark_dfs_back_edges.
9581 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
9582 path_range_query construction after backedges have been
9583 updated.
9584
9585 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
9586
9587 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
9588 VALL to VALL_F16.
9589
9590 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
9591
9592 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
9593 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
9594 of VALL_F16MOV.
9595
9596 2022-02-03 Martin Liska <mliska@suse.cz>
9597
9598 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
9599 Change subject and object in the error message.
9600 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
9601 Likewise.
9602
9603 2022-02-03 Martin Liska <mliska@suse.cz>
9604
9605 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
9606 Use the error message for i386 target.
9607
9608 2022-02-03 Jakub Jelinek <jakub@redhat.com>
9609
9610 PR tree-optimization/104334
9611 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
9612 and rh_range type to widest_int and subtract in widest_int. Remove
9613 ov_rh, ov_lh and sign vars, always perform comparisons as signed
9614 and use >, < and == operators for it.
9615
9616 2022-02-03 Martin Sebor <msebor@redhat.com>
9617
9618 * common.opt (-Wuse-after-free): Correct typos.
9619
9620 2022-02-02 David Malcolm <dmalcolm@redhat.com>
9621
9622 PR analyzer/104270
9623 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
9624 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
9625 -ftrivial-auto-var-init= doesn't suppress warnings.
9626
9627 2022-02-02 Martin Liska <mliska@suse.cz>
9628
9629 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
9630
9631 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
9632
9633 PR target/94372
9634 * config/or1k/linux.h (CPP_SPEC): Define.
9635
9636 2022-02-02 Tamar Christina <tamar.christina@arm.com>
9637
9638 PR tree-optimization/102819
9639 PR tree-optimization/103169
9640 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
9641 canonical order.
9642
9643 2022-02-02 Tamar Christina <tamar.christina@arm.com>
9644
9645 PR tree-optimization/102819
9646 PR tree-optimization/103169
9647 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
9648 canonical order.
9649 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
9650
9651 2022-02-02 Tamar Christina <tamar.christina@arm.com>
9652
9653 PR tree-optimization/102819
9654 PR tree-optimization/103169
9655 * doc/md.texi: Update docs for cfms, cfma.
9656 * tree-data-ref.h (same_data_refs): Accept optional offset.
9657 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
9658 patterns.
9659 (vect_normalize_conj_loc): Remove.
9660 (is_eq_or_top): Change to take two nodes.
9661 (enum _conj_status, compatible_complex_nodes_p,
9662 vect_validate_multiplication): New.
9663 (class complex_add_pattern, complex_add_pattern::matches,
9664 complex_add_pattern::recognize, class complex_mul_pattern,
9665 complex_mul_pattern::recognize, class complex_fms_pattern,
9666 complex_fms_pattern::recognize, class complex_operations_pattern,
9667 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
9668 new cache.
9669 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
9670 cache and use new validation code.
9671 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
9672 vect_analyze_slp): Pass along cache.
9673 (compatible_calls_p): Expose.
9674 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
9675 slp_compat_nodes_map_t): New.
9676 (class vect_pattern): Update signatures include new cache.
9677
9678 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
9679
9680 * config/cris/cris.cc (cris_preferred_reload_class): Reject
9681 "eliminated" registers and small-enough constants unless
9682 reloaded into a class that is a subset of GENERAL_REGS.
9683 * config/cris/cris.md (attribute "cpu_variant"): New.
9684 (attribute "enabled"): Conditionalize on a matching attribute
9685 cpu_variant, if specified.
9686 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
9687 memory, add cpu-variant-enabled variants for "r" alternatives on
9688 the far side of the "x" alternatives, preferring the "x" ones
9689 only for variants where MOF is present (in addition to SRP).
9690
9691 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
9692
9693 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
9694 extra cost for ALL_REGS.
9695
9696 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
9697
9698 * config/cris/constraints.md (define_register_constraint "b"): Now
9699 GENERAL_REGS.
9700 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
9701 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
9702 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
9703 and SPEC_GENNONACR_REGS.
9704 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
9705 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
9706
9707 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
9708
9709 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
9710 Conditionalize on (sub-)register operands or operand 1 being 0.
9711
9712 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
9713
9714 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
9715 (MUL_BUG_ASM_DEFAULT): New macro.
9716 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
9717 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
9718 accordingly.
9719
9720 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
9721
9722 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
9723 to 10 for AutoFDO.
9724
9725 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
9726
9727 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
9728
9729 2022-02-01 Andrew Pinski <apinski@marvell.com>
9730
9731 * doc/install.texi:
9732
9733 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
9734
9735 * config/s390/s390.cc (s390_code_end): Do not switch back to
9736 code section.
9737
9738 2022-02-01 Jakub Jelinek <jakub@redhat.com>
9739
9740 PR target/104323
9741 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
9742 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
9743 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
9744 GTY((user)) for struct bifdata and struct ovlddata. Instead add
9745 GTY((skip(""))) to members with pointer and enum types that don't need
9746 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
9747 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
9748 (write_extern_fntype, write_fntype): Remove.
9749 (write_fntype_init): Emit the fntype vars as automatic vars instead
9750 of file scope ones.
9751 (write_header_file): Don't iterate with write_extern_fntype.
9752 (write_init_file): Don't iterate with write_fntype. Don't emit
9753 gt_ggc_mx and gt_pch_nx definitions.
9754
9755 2022-02-01 Jason Merrill <jason@redhat.com>
9756
9757 * tree.h (struct tree_vec_map_cache_hasher): Move from...
9758 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
9759
9760 2022-02-01 Tom de Vries <tdevries@suse.de>
9761
9762 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
9763 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
9764 UNSPECV_UNIFORM_WARP_CHECK.
9765 (define_insn "nvptx_uniform_warp_check"): New define_insn.
9766
9767 2022-02-01 Tom de Vries <tdevries@suse.de>
9768
9769 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
9770 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
9771 UNSPECV_WARPSYNC.
9772 (define_insn "nvptx_warpsync"): New define_insn.
9773
9774 2022-02-01 Tom de Vries <tdevries@suse.de>
9775
9776 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
9777
9778 2022-02-01 Tom de Vries <tdevries@suse.de>
9779
9780 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
9781 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
9782 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
9783 insn for TARGET_PTX_6_0.
9784
9785 2022-02-01 Tom de Vries <tdevries@suse.de>
9786
9787 PR target/100428
9788 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
9789 insn.
9790
9791 2022-02-01 Tom de Vries <tdevries@suse.de>
9792
9793 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
9794 (define_insn "atomic_exchange<mode>")
9795 (define_insn "atomic_fetch_add<mode>")
9796 (define_insn "atomic_fetch_addsf")
9797 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
9798 if memory operands is frame-relative.
9799
9800 2022-02-01 Tom de Vries <tdevries@suse.de>
9801
9802 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
9803 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
9804 (VOID): New macro.
9805 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
9806 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
9807 NVPTX_BUILTIN_MEMBAR_CTA.
9808 (nvptx_lockfull_update): Add level parameter. Emit barriers.
9809 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
9810 nvptx_lockfull_update.
9811 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
9812 UNSPECV_MEMBAR_GL.
9813 (define_expand "nvptx_membar_gl"): New expand.
9814 (define_insn "*nvptx_membar_gl"): New insn.
9815
9816 2022-02-01 Martin Liska <mliska@suse.cz>
9817
9818 * doc/install.texi: Remove option for GCC < 4.8.
9819
9820 2022-02-01 Jakub Jelinek <jakub@redhat.com>
9821
9822 PR middle-end/104307
9823 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
9824 stmts to uses vector, just set vec_cond_expr_only to false for
9825 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
9826 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
9827 like non-VEC_COND_EXPRs.
9828
9829 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
9830
9831 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
9832 (VEC_BLENDV): Likewise.
9833 (VEC_BPERM): Likewise.
9834 (VEC_CFUGE): Likewise.
9835 (VEC_CIPHER_BE): Likewise.
9836 (VEC_CIPHERLAST_BE): Likewise.
9837 (VEC_CLRL): Likewise.
9838 (VEC_CLRR): Likewise.
9839 (VEC_CMPNEZ): Likewise.
9840 (VEC_CNTLZ): Likewise.
9841 (VEC_CNTLZM): Likewise.
9842 (VEC_CNTTZM): Likewise.
9843 (VEC_CNTLZ_LSBB): Likewise.
9844 (VEC_CNTM): Likewise.
9845 (VEC_CNTTZ): Likewise.
9846 (VEC_CNTTZ_LSBB): Likewise.
9847 (VEC_CONVERT_4F32_8F16): Likewise.
9848 (VEC_DIV): Likewise.
9849 (VEC_DIVE): Likewise.
9850 (VEC_EQV): Likewise.
9851 (VEC_EXPANDM): Likewise.
9852 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
9853 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
9854 (VEC_EXTRACTH): Likewise.
9855 (VEC_EXTRACTL): Likewise.
9856 (VEC_EXTRACTM): Likewise.
9857 (VEC_EXTRACT4B): Likewise.
9858 (VEC_EXTULX): Likewise.
9859 (VEC_EXTURX): Likewise.
9860 (VEC_FIRSTMATCHINDEX): Likewise.
9861 (VEC_FIRSTMACHOREOSINDEX): Likewise.
9862 (VEC_FIRSTMISMATCHINDEX): Likewise.
9863 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
9864 (VEC_GB): Likewise.
9865 (VEC_GENBM): Likewise.
9866 (VEC_GENHM): Likewise.
9867 (VEC_GENWM): Likewise.
9868 (VEC_GENDM): Likewise.
9869 (VEC_GENQM): Likewise.
9870 (VEC_GENPCVM): Likewise.
9871 (VEC_GNB): Likewise.
9872 (VEC_INSERTH): Likewise.
9873 (VEC_INSERTL): Likewise.
9874 (VEC_INSERT4B): Likewise.
9875 (VEC_LXVL): Likewise.
9876 (VEC_MERGEE): Likewise.
9877 (VEC_MERGEO): Likewise.
9878 (VEC_MOD): Likewise.
9879 (VEC_MSUB): Likewise.
9880 (VEC_MULH): Likewise.
9881 (VEC_NAND): Likewise.
9882 (VEC_NCIPHER_BE): Likewise.
9883 (VEC_NCIPHERLAST_BE): Likewise.
9884 (VEC_NEARBYINT): Likewise.
9885 (VEC_NMADD): Likewise.
9886 (VEC_ORC): Likewise.
9887 (VEC_PDEP): Likewise.
9888 (VEC_PERMX): Likewise.
9889 (VEC_PEXT): Likewise.
9890 (VEC_POPCNT): Likewise.
9891 (VEC_PARITY_LSBB): Likewise.
9892 (VEC_REPLACE_ELT): Likewise.
9893 (VEC_REPLACE_UN): Likewise.
9894 (VEC_REVB): Likewise.
9895 (VEC_RINT): Likewise.
9896 (VEC_RLMI): Likewise.
9897 (VEC_RLNM): Likewise.
9898 (VEC_SBOX_BE): Likewise.
9899 (VEC_SIGNEXTI): Likewise.
9900 (VEC_SIGNEXTLL): Likewise.
9901 (VEC_SIGNEXTQ): Likewise.
9902 (VEC_SLDB): Likewise.
9903 (VEC_SLV): Likewise.
9904 (VEC_SPLATI): Likewise.
9905 (VEC_SPLATID): Likewise.
9906 (VEC_SPLATI_INS): Likewise.
9907 (VEC_SQRT): Likewise.
9908 (VEC_SRDB): Likewise.
9909 (VEC_SRV): Likewise.
9910 (VEC_STRIL): Likewise.
9911 (VEC_STRIL_P): Likewise.
9912 (VEC_STRIR): Likewise.
9913 (VEC_STRIR_P): Likewise.
9914 (VEC_STXVL): Likewise.
9915 (VEC_TERNARYLOGIC): Likewise.
9916 (VEC_TEST_LSBB_ALL_ONES): Likewise.
9917 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
9918 (VEC_VEE): Likewise.
9919 (VEC_VES): Likewise.
9920 (VEC_VIE): Likewise.
9921 (VEC_VPRTYB): Likewise.
9922 (VEC_VSCEEQ): Likewise.
9923 (VEC_VSCEGT): Likewise.
9924 (VEC_VSCELT): Likewise.
9925 (VEC_VSCEUO): Likewise.
9926 (VEC_VSEE): Likewise.
9927 (VEC_VSES): Likewise.
9928 (VEC_VSIE): Likewise.
9929 (VEC_VSTDC): Likewise.
9930 (VEC_VSTDCN): Likewise.
9931 (VEC_VTDC): Likewise.
9932 (VEC_XL): Likewise.
9933 (VEC_XL_BE): Likewise.
9934 (VEC_XL_LEN_R): Likewise.
9935 (VEC_XL_SEXT): Likewise.
9936 (VEC_XL_ZEXT): Likewise.
9937 (VEC_XST): Likewise.
9938 (VEC_XST_BE): Likewise.
9939 (VEC_XST_LEN_R): Likewise.
9940 (VEC_XST_TRUNC): Likewise.
9941 (VEC_XXPERMDI): Likewise.
9942 (VEC_XXSLDWI): Likewise.
9943 (VEC_TSTSFI_EQ_DD): Likewise.
9944 (VEC_TSTSFI_EQ_TD): Likewise.
9945 (VEC_TSTSFI_GT_DD): Likewise.
9946 (VEC_TSTSFI_GT_TD): Likewise.
9947 (VEC_TSTSFI_LT_DD): Likewise.
9948 (VEC_TSTSFI_LT_TD): Likewise.
9949 (VEC_TSTSFI_OV_DD): Likewise.
9950 (VEC_TSTSFI_OV_TD): Likewise.
9951 (VEC_VADDCUQ): Likewise.
9952 (VEC_VADDECUQ): Likewise.
9953 (VEC_VADDEUQM): Likewise.
9954 (VEC_VADDUDM): Likewise.
9955 (VEC_VADDUQM): Likewise.
9956 (VEC_VBPERMQ): Likewise.
9957 (VEC_VCLZB): Likewise.
9958 (VEC_VCLZD): Likewise.
9959 (VEC_VCLZH): Likewise.
9960 (VEC_VCLZW): Likewise.
9961 (VEC_VCTZB): Likewise.
9962 (VEC_VCTZD): Likewise.
9963 (VEC_VCTZH): Likewise.
9964 (VEC_VCTZW): Likewise.
9965 (VEC_VEEDP): Likewise.
9966 (VEC_VEESP): Likewise.
9967 (VEC_VESDP): Likewise.
9968 (VEC_VESSP): Likewise.
9969 (VEC_VIEDP): Likewise.
9970 (VEC_VIESP): Likewise.
9971 (VEC_VPKSDSS): Likewise.
9972 (VEC_VPKSDUS): Likewise.
9973 (VEC_VPKUDUM): Likewise.
9974 (VEC_VPKUDUS): Likewise.
9975 (VEC_VPOPCNT): Likewise.
9976 (VEC_VPOPCNTB): Likewise.
9977 (VEC_VPOPCNTD): Likewise.
9978 (VEC_VPOPCNTH): Likewise.
9979 (VEC_VPOPCNTW): Likewise.
9980 (VEC_VPRTYBD): Likewise.
9981 (VEC_VPRTYBQ): Likewise.
9982 (VEC_VPRTYBW): Likewise.
9983 (VEC_VRLD): Likewise.
9984 (VEC_VSLD): Likewise.
9985 (VEC_VSRAD): Likewise.
9986 (VEC_VSRD): Likewise.
9987 (VEC_VSTDCDP): Likewise.
9988 (VEC_VSTDCNDP): Likewise.
9989 (VEC_VSTDCNQP): Likewise.
9990 (VEC_VSTDCNSP): Likewise.
9991 (VEC_VSTDCQP): Likewise.
9992 (VEC_VSTDCSP): Likewise.
9993 (VEC_VSUBECUQ): Likewise.
9994 (VEC_VSUBEUQM): Likewise.
9995 (VEC_VSUBUDM): Likewise.
9996 (VEC_VSUBUQM): Likewise.
9997 (VEC_VTDCDP): Likewise.
9998 (VEC_VTDCSP): Likewise.
9999 (VEC_VUPKHSW): Likewise.
10000 (VEC_VUPKLSW): Likewise.
10001
10002 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
10003
10004 PR rtl-optimization/101260
10005 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
10006 copy_regno.
10007
10008 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
10009
10010 PR middle-end/95115
10011 * fold-const.cc (const_binop): Do not fold NaN result from
10012 non-NaN operands.
10013
10014 2022-02-01 Tom de Vries <tdevries@suse.de>
10015
10016 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
10017 -ftree-loop-distribute-patterns.
10018 (loop_distribution::execute): Don't call transform_reduction_loop for
10019 -fno-tree-loop-distribute-patterns.
10020
10021 2022-01-31 Andrew Pinski <apinski@marvell.com>
10022
10023 * fold-const.h (operand_compare::operand_equal_p):
10024 Fix comment about OEP_* flags.
10025
10026 2022-01-31 Jakub Jelinek <jakub@redhat.com>
10027
10028 PR target/104298
10029 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
10030 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
10031 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
10032 if not already defined.
10033
10034 2022-01-31 Martin Sebor <msebor@redhat.com>
10035
10036 PR middle-end/104232
10037 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
10038 Handle PHIs. Add a synonymous overload.
10039 (pass_waccess::check_pointer_uses): Call pointers_related_p.
10040
10041 2022-01-31 Richard Biener <rguenther@suse.de>
10042
10043 PR tree-optimization/100499
10044 * fold-const.cc (multiple_of_p): Pass the correct type of
10045 the expression to the recursive invocation of multiple_of_p
10046 for conversions and use CASE_CONVERT.
10047
10048 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
10049
10050 PR target/104189
10051 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
10052
10053 2022-01-31 Richard Biener <rguenther@suse.de>
10054
10055 PR tree-optimization/100499
10056 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
10057 on poly-ints instead of multiple_of_p.
10058 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
10059 (non_rewritable_mem_ref_base): Likewise.
10060 (non_rewritable_lvalue_p): Likewise.
10061 (execute_update_addresses_taken): Likewise.
10062
10063 2022-01-29 Jakub Jelinek <jakub@redhat.com>
10064 Andrew Pinski <apinski@marvell.com>
10065
10066 PR tree-optimization/104279
10067 PR tree-optimization/104280
10068 PR tree-optimization/104281
10069 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
10070 boolean_type_node and convert to type. Formatting fixes.
10071
10072 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
10073
10074 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
10075
10076 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
10077
10078 PR tree-optimization/103514
10079 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
10080 (a & b) == (a ^ b) -> !(a | b): New optimization.
10081
10082 2022-01-28 Marek Polacek <polacek@redhat.com>
10083
10084 * doc/invoke.texi: Update -Wbidi-chars documentation.
10085
10086 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
10087
10088 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
10089
10090 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
10091
10092 PR tree-optimization/95424
10093 * match.pd: Simplify 1 / X where X is an integer.
10094
10095 2022-01-28 Jakub Jelinek <jakub@redhat.com>
10096
10097 PR tree-optimization/104263
10098 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
10099 cfun->can_throw_non_call_exceptions && cfun->eh test whether
10100 last non-debug stmt in the bb is store_valid_for_store_merging_p
10101 rather than last stmt.
10102
10103 2022-01-28 Martin Liska <mliska@suse.cz>
10104
10105 * diagnostic.cc (diagnostic_action_after_output): Remove extra
10106 newline.
10107
10108 2022-01-28 Martin Liska <mliska@suse.cz>
10109
10110 * config/rs6000/host-darwin.cc (segv_crash_handler):
10111 Do not use leading capital letter.
10112 (segv_handler): Likewise.
10113 * ipa-sra.cc (verify_splitting_accesses): Likewise.
10114 * varasm.cc (get_section): Likewise.
10115
10116 2022-01-28 Richard Biener <rguenther@suse.de>
10117
10118 PR tree-optimization/104267
10119 * tree-vect-stmts.cc (vectorizable_call): Properly use the
10120 per-argument determined vector type for externals and
10121 invariants.
10122
10123 2022-01-28 Richard Biener <rguenther@suse.de>
10124
10125 PR tree-optimization/104263
10126 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
10127 Purge edges also when !cfun->has_nonlocal_label
10128 and !cfun->calls_setjmp.
10129
10130 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
10131
10132 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
10133 attributes.
10134
10135 2022-01-28 Jakub Jelinek <jakub@redhat.com>
10136
10137 PR lto/104237
10138 * cfgrtl.cc (loc_equal): New function.
10139 (unique_locus_on_edge_between_p): Use it.
10140
10141 2022-01-28 Richard Biener <rguenther@suse.de>
10142
10143 * cfganal.h (mark_dfs_back_edges): Provide API with struct
10144 function argument.
10145 * cfganal.cc (mark_dfs_back_edges): Take a struct function
10146 to work on, add a wrapper passing cfun.
10147 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
10148 uses with fun which is already passed.
10149 (draw_cfg_edges): Likewise.
10150 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
10151 for fun != cfun.
10152
10153 2022-01-27 Patrick Palka <ppalka@redhat.com>
10154
10155 PR c++/99895
10156 * tree.cc (build_call_vec): Add const to second parameter.
10157 * tree.h (build_call_vec): Likewise.
10158
10159 2022-01-27 Martin Liska <mliska@suse.cz>
10160
10161 PR web/104254
10162 * diagnostic.cc (diagnostic_initialize):
10163 Initialize report_bug flag.
10164 (diagnostic_action_after_output):
10165 Explain that -freport-bug option can be used for pre-processed
10166 file creation. Make the message shorter.
10167 (error_recursion): Rename Internal to internal.
10168 * diagnostic.h (struct diagnostic_context): New field.
10169 * opts.cc (common_handle_option): Init the field here.
10170
10171 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
10172
10173 PR target/103702
10174 * config/rs6000/rs6000.cc
10175 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
10176 assertion with early return.
10177
10178 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
10179
10180 PR middle-end/103642
10181 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
10182 for non-pointer or non-reference-to-pointer cases.
10183
10184 2022-01-27 Jakub Jelinek <jakub@redhat.com>
10185
10186 PR tree-optimization/104196
10187 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
10188 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
10189 return NULL and emit needed stmts before and after stmt.
10190 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
10191 pick as operand_entry that will hold the merged test the one feeding
10192 earliest condition, ensure that by swapping range->idx with some
10193 other range's idx if needed. If seq is non-NULL, don't actually swap
10194 it but instead rewrite stmts with undefined overflow in between
10195 the two locations.
10196 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
10197 corresponding condition even if they have non-NULL ops[]->op.
10198 Formatting fix.
10199
10200 2022-01-26 Jakub Jelinek <jakub@redhat.com>
10201
10202 PR target/104239
10203 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
10204 asm.
10205 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
10206 before for loop instead of for init clause.
10207 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
10208
10209 2022-01-26 Jakub Jelinek <jakub@redhat.com>
10210
10211 PR target/104239
10212 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
10213 _X86INTRIN_H_INCLUDED and adjust #error wording.
10214 * config/rs6000/bmi2intrin.h: Likewise.
10215
10216 2022-01-26 Jakub Jelinek <jakub@redhat.com>
10217
10218 PR debug/104194
10219 * dwarf2out.cc (long_double_as_float128): New function.
10220 (modified_type_die): For powerpc64le IEEE 754 quad long double
10221 and complex long double emit those as DW_TAG_typedef to
10222 _Float128 or complex _Float128 base type.
10223
10224 2022-01-26 Marek Polacek <polacek@redhat.com>
10225
10226 PR target/104213
10227 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
10228 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
10229
10230 2022-01-26 Martin Liska <mliska@suse.cz>
10231
10232 * ipa-modref-tree.cc (modref_access_node::update):
10233 Remove "--param param=foo" with "--param foo".
10234 (modref_access_node::insert): Likewise.
10235 (modref_access_node::insert_kill): Likewise.
10236 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
10237 (struct modref_base_node): Likewise.
10238 (struct modref_tree): Likewise.
10239
10240 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
10241
10242 PR target/94193
10243 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
10244 predicate check.
10245
10246 2022-01-25 Martin Sebor <msebor@redhat.com>
10247
10248 PR tree-optimization/104203
10249 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
10250 TV_WARN_ACCESS.
10251 * pointer-query.cc (access_ref::merge_ref): Change return type.
10252 Convert failure to a conservative success.
10253 (access_ref::get_ref): Adjust to the change above. Short-circuit
10254 PHI evaluation after first failure turned into conservative success.
10255 * pointer-query.h (access_ref::merge_ref): Change return type.
10256 * timevar.def (TV_WARN_ACCESS): New timer variable.
10257
10258 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
10259
10260 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
10261
10262 2022-01-25 Richard Biener <rguenther@suse.de>
10263
10264 PR tree-optimization/104214
10265 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
10266 stronger guarantees for relational pointer compares when
10267 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
10268 BASE0 + STEP0 - STEP1 cmp BASE1.
10269
10270 2022-01-25 Jakub Jelinek <jakub@redhat.com>
10271
10272 PR target/104172
10273 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
10274 declare.
10275 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
10276 ieee128_mangling_gcc_8_1): Remove.
10277 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
10278 (rs6000_mangle_type): Return "u9__ieee128" instead of
10279 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
10280 (rs6000_globalize_decl_name): Remove.
10281 * config/rs6000/rs6000-call.cc (init_cumulative_args,
10282 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
10283
10284 2022-01-24 Martin Sebor <msebor@redhat.com>
10285
10286 * pointer-query.cc (pointer_query::dump): Remove duplicate
10287 block.
10288
10289 2022-01-24 Marek Polacek <polacek@redhat.com>
10290
10291 PR preprocessor/104030
10292 * doc/invoke.texi: Update documentation for -Wbidi-chars.
10293
10294 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
10295
10296 PR target/94193
10297 * builtins.cc (expand_builtin_fegetround): New function.
10298 (expand_builtin_feclear_feraise_except): New function.
10299 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
10300 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
10301 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
10302 (feclearexceptsi): New Pattern.
10303 (feraiseexceptsi): New Pattern.
10304 * doc/extend.texi: Add a new introductory paragraph about the
10305 new builtins.
10306 * doc/md.texi: (fegetround@var{m}): Document new optab.
10307 (feclearexcept@var{m}): Document new optab.
10308 (feraiseexcept@var{m}): Document new optab.
10309 * optabs.def (fegetround_optab): New optab.
10310 (feclearexcept_optab): New optab.
10311 (feraiseexcept_optab): New optab.
10312
10313 2022-01-24 Richard Biener <rguenther@suse.de>
10314 Jiufu Guo <guojiufu@linux.ibm.com>
10315
10316 PR tree-optimization/100740
10317 PR tree-optimization/101508
10318 PR tree-optimization/101972
10319 PR tree-optimization/102131
10320 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
10321 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
10322 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
10323
10324 2022-01-24 Jakub Jelinek <jakub@redhat.com>
10325
10326 PR sanitizer/104158
10327 * opt-functions.awk (var_set): Handle EnumBitSet property.
10328 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
10329 specified.
10330 * opts.h (enum cl_enum_var_value): New type.
10331 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
10332 Handle CLEV_BITSET.
10333 (cmdline_handle_error): Handle CLEV_BITSET.
10334 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
10335 * doc/options.texi (EnumBitSet): Document.
10336 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
10337 EnumSet.
10338 (trace-pc, trace-cmp): Drop Set properties.
10339
10340 2022-01-24 Jakub Jelinek <jakub@redhat.com>
10341
10342 PR sanitizer/104158
10343 * common.opt (flag_sanitize_coverage): Remove Variable entry.
10344 (fsanitize-coverage=): Remove RejectNegative property, add
10345 Var(flag_sanitize_coverage) and EnumSet properties.
10346 (trace-pc): Add Set(1) property.
10347 (trace-cmp): Add Set(2) property.
10348 * opts.cc (common_handle_option): Don't handle
10349 OPT_fsanitize_coverage_.
10350
10351 2022-01-24 Jakub Jelinek <jakub@redhat.com>
10352
10353 PR sanitizer/104158
10354 * opt-functions.awk (var_set): Handle EnumSet property.
10355 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
10356 specified.
10357 * opt-read.awk: Handle Set property.
10358 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
10359 (struct cl_decoded_option): Mention enum in value description.
10360 Add mask member.
10361 (set_option): Add mask argument defaulted to 0.
10362 * opts.cc (test_enum_sets): New function.
10363 (opts_cc_tests): Call it.
10364 * opts-common.cc (enum_arg_to_value): Change return argument
10365 from bool to int, on success return index into the cl_enum_arg
10366 array, on failure -1. Add len argument, if non-0, use strncmp
10367 instead of strcmp.
10368 (opt_enum_arg_to_value): Adjust caller.
10369 (decode_cmdline_option): Handle EnumSet represented as
10370 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
10371 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
10372 (handle_option): Pass decoded->mask to set_options last argument.
10373 (generate_option): Clear decoded->mask.
10374 (generate_option_input_file): Likewise.
10375 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
10376 (set_option): Add mask argument, use it for CLVC_ENUM.
10377 (control_warning_option): Adjust enum_arg_to_value caller.
10378 * doc/options.texi: Document Set and EnumSet properties.
10379
10380 2022-01-24 Jakub Jelinek <jakub@redhat.com>
10381
10382 PR bootstrap/104170
10383 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
10384 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
10385 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
10386 using OPTION_*_P macros.
10387 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
10388 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
10389 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
10390 using OPTION_*_P macros.
10391 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
10392 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
10393 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
10394 using OPTION_*_P macros.
10395 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
10396 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
10397 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
10398 using OPTION_*_P macros.
10399 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
10400 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
10401 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
10402 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
10403 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
10404 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
10405 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
10406 otherwise assume if (true).
10407
10408 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
10409
10410 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
10411 Skip zicsr and zifencei if I-ext is 2.0.
10412
10413 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
10414
10415 * config.gcc: Modify default isa_spec version.
10416
10417 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
10418
10419 PR tree-optimization/102087
10420 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
10421 Correct PLUS result type.
10422
10423 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
10424
10425 PR target/104188
10426 * config/i386/predicates.md (bcst_mem_operand): Also check mode
10427 of memory broadcast.
10428
10429 2022-01-23 Andrew Pinski <apinski@marvell.com>
10430
10431 PR target/64821
10432 * config/aarch64/aarch64-builtins.cc
10433 (aarch64_general_gimple_fold_builtin): Handle
10434 __builtin_aarch64_sqrt* and simplify into SQRT internal
10435 function.
10436
10437 2022-01-22 Jakub Jelinek <jakub@redhat.com>
10438
10439 PR other/104176
10440 * opts-global.cc (handle_common_deferred_options): Quote
10441 --enable-plugin in diagnostics to avoid -Werror=format-diag.
10442
10443 2022-01-21 Michael Meissner <meissner@the-meissners.org>
10444
10445 PR target/104136
10446 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
10447 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
10448 * config/rs6000/rs6000.md (prefixed attribute): Delete section
10449 that sets the prefixed attribute for xxspltiw, xxspltidp, and
10450 xxsplti32dx instructions.
10451 (movsf_hardfloat): Explicitly set the prefixed attribute
10452 when xxspltiw and xxspltidp instructions are generated.
10453 (mov<mode>_hardfloat32): Likewise.
10454 (mov<mode>_hardfloat64): Likewise.
10455 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
10456 prefixed attribute for xxspltiw and xxspltidp instructions.
10457 (vsx_mov<mode>_32bit): Likewise.
10458
10459 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
10460
10461 PR bootstrap/104170
10462 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
10463 Return true only on glibc.
10464 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
10465 Revert commit c163647ffbc.
10466 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
10467
10468 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
10469
10470 * common/config/s390/s390-common.cc (s390_supports_split_stack):
10471 Only support split-stack on glibc targets.
10472 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
10473 * config/i386/gnu.h (defined): Ditto.
10474
10475 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
10476
10477 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
10478 vector float and vector double.
10479
10480 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
10481
10482 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
10483 Fix mention of ifunc in string.
10484
10485 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
10486
10487 PR middle-end/104140
10488 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
10489 operands of the widening multiplication are either both signed or
10490 both unsigned, and abort the conversion if mismatched.
10491 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
10492 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
10493 signedness.
10494 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
10495 integer types with the same precision and signedness.
10496 (WIDEN_MULT_EXPR): Document that operands must have integer types
10497 with the same precision, but possibly differing signedness.
10498 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
10499 riscv_current_subset_list returning a NULL pointer (empty list).
10500
10501 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
10502
10503 PR target/103676
10504 * ira.h (struct target_ira): Add member
10505 x_ira_exclude_class_mode_regs.
10506 (ira_exclude_class_mode_regs): New macro.
10507 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
10508 move from here ...
10509 * lra-int.h: ... to here.
10510 (lra_create_new_reg_with_unique_value): Add arg
10511 exclude_start_hard_regs.
10512 (class lra_reg): Add member exclude_start_hard_regs.
10513 * lra-assigns.cc (find_hard_regno_for_1): Setup
10514 impossible_start_hard_regs from exclude_start_hard_regs.
10515 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
10516 it lra_create_new_reg[_with_unique_value].
10517 (match_reload): Ditto.
10518 (check_and_process_move): Pass NULL
10519 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
10520 (goal_alt_exclude_start_hard_regs): New static variable.
10521 (process_addr_reg, simplify_operand_subreg): Pass NULL
10522 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
10523 and get_reload_reg.
10524 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
10525 Use this_alternative_exclude_start_hard_regs additionally to find
10526 winning operand alternative.
10527 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
10528 exclude_start_hard_regs to lra_create_new_reg.
10529 (process_address_1, emit_inc): Ditto.
10530 (curr_insn_transform): Pass exclude_start_hard_regs value to
10531 lra_create_new_reg, get_reload_reg, match_reload.
10532 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
10533 to lra_create_new_reg.
10534 (process_invariant_for_inheritance): Ditto.
10535 * lra-remat.cc (update_scratch_ops): Ditto.
10536 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
10537 exclude_start_hard_regs. Setup the corresponding member of
10538 lra reg info.
10539 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
10540 to lra_create_new_reg_with_unique_value.
10541 (initialize_lra_reg_info_element): Initialize member
10542 exclude_start_hard_regs.
10543 (get_scratch_reg): Pass NULL to lra_create_new_reg.
10544 * ira.cc (setup_prohibited_class_mode_regs): Rename to
10545 setup_prohibited_and_exclude_class_mode_regs and calculate
10546 ira_exclude_class_mode_regs.
10547
10548 2022-01-21 Martin Liska <mliska@suse.cz>
10549
10550 * configure.ac: Detect ld_is_mold and use it for
10551 comdat_group=yes and gcc_cv_ld_hidden=yes.
10552 * configure: Regenerate.
10553
10554 2022-01-21 Richard Biener <rguenther@suse.de>
10555
10556 PR tree-optimization/100089
10557 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
10558 of if-converted loops with unvectorized COND_EXPRs for
10559 all but the unlimited cost models.
10560
10561 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
10562
10563 * config/arm/arm-opts.h (enum stack_protector_guard): New.
10564 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
10565 New.
10566 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
10567 (arm_option_override_internal): Handle and put in error checks.
10568 for stack protector guard options.
10569 (arm_option_reconfigure_globals): Likewise.
10570 (arm_stack_protect_tls_canary_mem): New.
10571 (arm_stack_protect_guard): New.
10572 * config/arm/arm.md (stack_protect_set): New.
10573 (stack_protect_set_tls): Likewise.
10574 (stack_protect_test): Likewise.
10575 (stack_protect_test_tls): Likewise.
10576 (reload_tp_hard): Likewise.
10577 * config/arm/arm.opt (-mstack-protector-guard): New
10578 (-mstack-protector-guard-offset): New.
10579 * doc/invoke.texi: Document new options.
10580
10581 2022-01-21 Richard Biener <rguenther@suse.de>
10582
10583 PR tree-optimization/104156
10584 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
10585 Collect and reset debug stmts with out-of-loop uses when
10586 hoisting guards.
10587 (find_loop_guard): Adjust.
10588 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
10589 (used_outside_loop_p): Push debug uses to a vector of
10590 debug stmts to reset.
10591 (hoist_guard): Adjust -fopt-info category.
10592
10593 2022-01-21 Richard Biener <rguenther@suse.de>
10594
10595 PR tree-optimization/104152
10596 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
10597 can_duplicate_and_interleave_p check.
10598
10599 2022-01-21 Jakub Jelinek <jakub@redhat.com>
10600
10601 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
10602 Avoid passing var to warning_at when the format string doesn't
10603 refer to it.
10604
10605 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
10606
10607 PR tree-optimization/103721
10608 * gimple-range-path.cc
10609 (path_range_query::relations_may_be_invalidated): New.
10610 (path_range_query::compute_ranges_in_block): Reset relations if
10611 they may be invalidated.
10612 (path_range_query::maybe_register_phi_relation): Exit if relations
10613 may be invalidated on incoming edge.
10614 (path_range_query::compute_phi_relations): Pass incoming PHI edge
10615 to maybe_register_phi_relation.
10616 * gimple-range-path.h (relations_may_be_invalidated): New.
10617 (maybe_register_phi_relation): Pass edge instead of tree.
10618 * tree-ssa-threadbackward.cc (back_threader::back_threader):
10619 Mark DFS edges.
10620 * value-relation.cc (path_oracle::path_oracle): Call
10621 mark_dfs_back_edges.
10622 (path_oracle::register_relation): Add SSA names to m_registered
10623 bitmap.
10624 (path_oracle::reset_path): Clear m_registered bitmap.
10625 * value-relation.h (path_oracle::set_root_oracle): New.
10626
10627 2022-01-21 Jakub Jelinek <jakub@redhat.com>
10628
10629 PR rtl-optimization/102478
10630 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
10631 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
10632 would be needed.
10633
10634 2022-01-20 Richard Biener <rguenther@suse.de>
10635
10636 PR middle-end/100786
10637 * gimple-fold.cc (get_symbol_constant_value): Only return
10638 values of compatible type to the symbol.
10639
10640 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
10641
10642 * value-relation.cc (relation_oracle::valid_equivs): Query and add
10643 if valid members of a set.
10644 (equiv_oracle::register_equiv): Call valid_equivs rather than
10645 bitmap direct operations.
10646 (path_oracle::register_equiv): Ditto.
10647 * value-relation.h (relation_oracle::valid_equivs): New prototype.
10648
10649 2022-01-20 Richard Biener <rguenther@suse.de>
10650
10651 PR target/100784
10652 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
10653 LHS before folding __builtin_ia32_shufpd and friends.
10654
10655 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
10656
10657 * config/arm/crypto.md (aes_op_protect): Allow moves from core
10658 registers and from memory.
10659 (aes_op_protect_misalign_load): New pattern.
10660 (aes_op_protect_neon_vld1v16qi): New pattern.
10661
10662 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
10663
10664 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
10665 New pattern.
10666 (aarch32_crypto_aese_fused_protected): Likewise.
10667 (aarch32_crypto_aesd_fused_protected): Likewise.
10668
10669 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
10670
10671 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
10672 to define_expand. Add mitigation for the Cortex-A AES erratum
10673 when enabled.
10674 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
10675 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
10676 (aes_op_protect): New pattern.
10677 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
10678
10679 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
10680
10681 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
10682 (ALL_QUIRKS): Add it.
10683 (cortex-a57, cortex-a72): Enable it.
10684 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
10685 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
10686 option.
10687 (mfix-cortex-a72-aes-1655431): New option alias.
10688 * config/arm/arm.cc (arm_option_override): Handle default settings
10689 for AES erratum switch.
10690 * doc/invoke.texi (Arm Options): Document new options.
10691
10692 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
10693
10694 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
10695 <crypto_mode> rather than hard-coding the mode.
10696 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
10697 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
10698 (*aarch32_crypto_aese_fused): Likewise.
10699 (*aarch32_crypto_aesd_fused): Likewise.
10700 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
10701 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
10702 (crypto_sha1h_lb): Likewise.
10703 (crypto_vmullp64): Likewise.
10704 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
10705 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
10706
10707 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
10708
10709 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
10710 iterator to pattern name to disambiguate.
10711 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
10712 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
10713 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
10714 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
10715 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
10716
10717 2022-01-20 Martin Liska <mliska@suse.cz>
10718
10719 PR bootstrap/104135
10720 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
10721 * rtl.cc: Partially disable -Wformat-diag for RTL checking
10722 error messages.
10723
10724 2022-01-20 Jakub Jelinek <jakub@redhat.com>
10725
10726 PR debug/103874
10727 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
10728 block_num > 0, index entry even if !have_multiple_function_sections.
10729
10730 2022-01-20 liuhongt <hongtao.liu@intel.com>
10731
10732 PR target/103771
10733 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
10734 integral mode mask pack by multi steps which takes
10735 vec_pack_sbool_trunc_optab as start when elements number is
10736 less than BITS_PER_UNITS.
10737
10738 2022-01-20 Richard Biener <rguenther@suse.de>
10739
10740 PR tree-optimization/104114
10741 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
10742 single element vector decomposition.
10743
10744 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
10745
10746 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
10747 (noce_convert_multiple_sets): Call function a second time if we can
10748 improve the first try.
10749
10750 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
10751
10752 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
10753 reversed comparison.
10754 (try_emit_cmove_seq): New function to facilitate creating a cmov
10755 sequence.
10756 (noce_convert_multiple_sets): Create two sequences and use the less
10757 expensive one.
10758
10759 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
10760
10761 * rtl.h (struct rtx_comparison): New struct that holds an rtx
10762 comparison.
10763 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
10764 single parameters.
10765 (rs6000_emit_swsqrt): Likewise.
10766 * expmed.cc (expand_sdiv_pow2): Likewise.
10767 (emit_store_flag): Likewise.
10768 * expr.cc (expand_cond_expr_using_cmove): Likewise.
10769 (expand_expr_real_2): Likewise.
10770 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
10771 parameters.
10772 * optabs.cc (emit_conditional_move_1): New function.
10773 (expand_doubleword_shift_condmove): Use struct.
10774 (emit_conditional_move): Use struct and allow to call directly
10775 without going through preparation steps.
10776 * optabs.h (emit_conditional_move): Use struct.
10777
10778 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
10779
10780 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
10781 (noce_process_if_block): Use potential costs.
10782
10783 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
10784
10785 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
10786 (bb_ok_for_noce_convert_multiple_sets): Likewise.
10787
10788 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
10789
10790 * ifcvt.cc (need_cmov_or_rewire): New function.
10791 (noce_convert_multiple_sets): Call it.
10792
10793 2022-01-19 David Malcolm <dmalcolm@redhat.com>
10794
10795 * attribs.cc (attribute_c_tests): Rename to...
10796 (attribs_cc_tests): ...this.
10797 * bitmap.cc (bitmap_c_tests): Rename to...
10798 (bitmap_cc_tests): ...this.
10799 * cgraph.cc (cgraph_c_finalize): Rename to...
10800 (cgraph_cc_finalize): ...this.
10801 (cgraph_c_tests): Rename to...
10802 (cgraph_cc_tests): ...this.
10803 * cgraph.h (cgraph_c_finalize): Rename to...
10804 (cgraph_cc_finalize): ...this.
10805 (cgraphunit_c_finalize): Rename to...
10806 (cgraphunit_cc_finalize): ...this.
10807 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
10808 (cgraphunit_cc_finalize): ...this.
10809 * convert.cc (convert_c_tests): Rename to...
10810 (convert_cc_tests): ...this.
10811 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
10812 (dbgcnt_cc_tests): ...this.
10813 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
10814 (diagnostic_show_locus_cc_tests): ...this.
10815 * diagnostic.cc (diagnostic_c_tests): Rename to...
10816 (diagnostic_cc_tests): ...this.
10817 * dumpfile.cc (dumpfile_c_tests): Rename to...
10818 (dumpfile_cc_tests): ...this.
10819 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
10820 (dwarf2out_cc_finalize): ...this.
10821 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
10822 (dwarf2out_cc_finalize): ...this.
10823 * edit-context.cc (edit_context_c_tests): Rename to...
10824 (edit_context_cc_tests): ...this.
10825 * et-forest.cc (et_forest_c_tests): Rename to...
10826 (et_forest_cc_tests): ...this.
10827 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
10828 (fibonacci_heap_cc_tests): ...this.
10829 * fold-const.cc (fold_const_c_tests): Rename to...
10830 (fold_const_cc_tests): ...this.
10831 * function-tests.cc (function_tests_c_tests): Rename to...
10832 (function_tests_cc_tests): ...this.
10833 * gcse.cc (gcse_c_finalize): Rename to...
10834 (gcse_cc_finalize): ...this.
10835 * gcse.h (gcse_c_finalize): Rename to...
10836 (gcse_cc_finalize): ...this.
10837 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
10838 (ggc_tests_cc_tests): ...this.
10839 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
10840 (store_merging_cc_tests): ...this.
10841 * gimple.cc (gimple_c_tests): Rename to...
10842 (gimple_cc_tests): ...this.
10843 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
10844 (hash_map_tests_cc_tests): ...this.
10845 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
10846 (hash_set_tests_cc_tests): ...this.
10847 * input.cc (input_c_tests): Rename to...
10848 (input_cc_tests): ...this.
10849 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
10850 (ipa_cp_cc_finalize): ...this.
10851 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
10852 (ipa_fnsummary_cc_finalize): ...this.
10853 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
10854 (ipa_fnsummary_cc_finalize): ...this.
10855 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
10856 (ipa_modref_tree_cc_tests): ...this.
10857 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
10858 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
10859 (ipa_modref_cc_finalize): ...this.
10860 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
10861 (ipa_modref_cc_finalize): ...this.
10862 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
10863 (ipa_cp_cc_finalize): ...this.
10864 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
10865 (ipa_reference_cc_finalize): ...this.
10866 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
10867 (ipa_reference_cc_finalize): ...this.
10868 * ira-costs.cc (ira_costs_c_finalize): Rename to...
10869 (ira_costs_cc_finalize): ...this.
10870 * ira.h (ira_costs_c_finalize): Rename to...
10871 (ira_costs_cc_finalize): ...this.
10872 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
10873 (opt_suggestions_cc_tests): ...this.
10874 * opts.cc (opts_c_tests): Rename to...
10875 (opts_cc_tests): ...this.
10876 * predict.cc (predict_c_tests): Rename to...
10877 (predict_cc_tests): ...this.
10878 * pretty-print.cc (pretty_print_c_tests): Rename to...
10879 (pretty_print_cc_tests): ...this.
10880 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
10881 (read_rtl_function_cc_tests): ...this.
10882 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
10883 (rtl_tests_cc_tests): ...this.
10884 * sbitmap.cc (sbitmap_c_tests): Rename to...
10885 (sbitmap_cc_tests): ...this.
10886 * selftest-run-tests.cc (selftest::run_tests): Update calls for
10887 _c_ to _cc_ function renamings; fix names of attribs and
10888 opt-suggestions tests.
10889 * selftest.cc (selftest_c_tests): Rename to...
10890 (selftest_cc_tests): ...this.
10891 * selftest.h (attribute_c_tests): Rename to...
10892 (attribs_cc_tests): ...this.
10893 (bitmap_c_tests): Rename to...
10894 (bitmap_cc_tests): ...this.
10895 (cgraph_c_tests): Rename to...
10896 (cgraph_cc_tests): ...this.
10897 (convert_c_tests): Rename to...
10898 (convert_cc_tests): ...this.
10899 (diagnostic_c_tests): Rename to...
10900 (diagnostic_cc_tests): ...this.
10901 (diagnostic_show_locus_c_tests): Rename to...
10902 (diagnostic_show_locus_cc_tests): ...this.
10903 (dumpfile_c_tests): Rename to...
10904 (dumpfile_cc_tests): ...this.
10905 (edit_context_c_tests): Rename to...
10906 (edit_context_cc_tests): ...this.
10907 (et_forest_c_tests): Rename to...
10908 (et_forest_cc_tests): ...this.
10909 (fibonacci_heap_c_tests): Rename to...
10910 (fibonacci_heap_cc_tests): ...this.
10911 (fold_const_c_tests): Rename to...
10912 (fold_const_cc_tests): ...this.
10913 (function_tests_c_tests): Rename to...
10914 (function_tests_cc_tests): ...this.
10915 (ggc_tests_c_tests): Rename to...
10916 (ggc_tests_cc_tests): ...this.
10917 (gimple_c_tests): Rename to...
10918 (gimple_cc_tests): ...this.
10919 (hash_map_tests_c_tests): Rename to...
10920 (hash_map_tests_cc_tests): ...this.
10921 (hash_set_tests_c_tests): Rename to...
10922 (hash_set_tests_cc_tests): ...this.
10923 (input_c_tests): Rename to...
10924 (input_cc_tests): ...this.
10925 (opts_c_tests): Rename to...
10926 (opts_cc_tests): ...this.
10927 (predict_c_tests): Rename to...
10928 (predict_cc_tests): ...this.
10929 (pretty_print_c_tests): Rename to...
10930 (pretty_print_cc_tests): ...this.
10931 (read_rtl_function_c_tests): Rename to...
10932 (read_rtl_function_cc_tests): ...this.
10933 (rtl_tests_c_tests): Rename to...
10934 (rtl_tests_cc_tests): ...this.
10935 (sbitmap_c_tests): Rename to...
10936 (sbitmap_cc_tests): ...this.
10937 (selftest_c_tests): Rename to...
10938 (selftest_cc_tests): ...this.
10939 (simplify_rtx_c_tests): Rename to...
10940 (simplify_rtx_cc_tests): ...this.
10941 (spellcheck_c_tests): Rename to...
10942 (spellcheck_cc_tests): ...this.
10943 (spellcheck_tree_c_tests): Rename to...
10944 (spellcheck_tree_cc_tests): ...this.
10945 (sreal_c_tests): Rename to...
10946 (sreal_cc_tests): ...this.
10947 (store_merging_c_tests): Rename to...
10948 (store_merging_cc_tests): ...this.
10949 (tree_c_tests): Rename to...
10950 (tree_cc_tests): ...this.
10951 (tree_cfg_c_tests): Rename to...
10952 (tree_cfg_cc_tests): ...this.
10953 (typed_splay_tree_c_tests): Rename to...
10954 (typed_splay_tree_cc_tests): ...this.
10955 (vec_c_tests): Rename to...
10956 (vec_cc_tests): ...this.
10957 (vec_perm_indices_c_tests): Rename to...
10958 (vec_perm_indices_cc_tests): ..this.
10959 (opt_proposer_c_tests): Rename to...
10960 (opt_suggestions_cc_tests): ...this.
10961 (dbgcnt_c_tests): Rename to...
10962 (dbgcnt_cc_tests): ...this.
10963 (ipa_modref_tree_c_tests): Rename to...
10964 (ipa_modref_tree_cc_tests): ...this.
10965 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
10966 (simplify_rtx_cc_tests): ...this.
10967 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
10968 (spellcheck_tree_cc_tests): ...this.
10969 * spellcheck.cc (spellcheck_c_tests): Rename to...
10970 (spellcheck_cc_tests): ...this.
10971 * sreal.cc (sreal_c_tests): Rename to...
10972 (sreal_cc_tests): ...this.
10973 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
10974 function renamings.
10975 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
10976 (tree_cfg_cc_tests): ...this.
10977 * tree.cc (tree_c_tests): Rename to...
10978 (tree_cc_tests): ...this.
10979 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
10980 (typed_splay_tree_cc_tests): ...this.
10981 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
10982 (vec_perm_indices_cc_tests): ...this.
10983 * vec.cc (vec_c_tests): Rename to...
10984 (vec_cc_tests): ...this.
10985
10986 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
10987
10988 PR tree-optimization/103997
10989 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
10990 vectorization.
10991
10992 2022-01-19 Jakub Jelinek <jakub@redhat.com>
10993
10994 PR middle-end/102860
10995 * match.pd (x %[fl] y -> x % y): New simplification for
10996 unsigned integral types.
10997 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
10998 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
10999
11000 2022-01-19 Richard Biener <rguenther@suse.de>
11001
11002 PR tree-optimization/104112
11003 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
11004 for required intermediate vector types.
11005
11006 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11007
11008 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
11009
11010 2022-01-19 Martin Liska <mliska@suse.cz>
11011
11012 * configure.ac: Remove -Wno-error=format-diag.
11013 * configure: Regenerate.
11014
11015 2022-01-19 Martin Liska <mliska@suse.cz>
11016
11017 * config/riscv/riscv.cc (riscv_handle_type_attribute):
11018 Update one -Wformat-diag string in warning message.
11019
11020 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11021
11022 PR middle-end/104103
11023 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
11024 .ASAN_MARK calls.
11025
11026 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11027
11028 PR c++/89074
11029 * fold-const.cc (address_compare): Consider different STRING_CSTs
11030 with the same lengths that memcmp the same as equal, not different.
11031
11032 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11033
11034 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
11035 {%0}.
11036
11037 2022-01-19 Martin Liska <mliska@suse.cz>
11038 Thomas Schwinge <thomas@codesourcery.com>
11039
11040 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
11041 warning messages.
11042
11043 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
11044
11045 PR target/104090
11046 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
11047 rs6000_cpu.
11048
11049 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11050
11051 PR target/104104
11052 * config/i386/sse.md
11053 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
11054 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
11055 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
11056 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
11057 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
11058 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
11059 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
11060 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
11061 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
11062
11063 2022-01-19 Martin Sebor <msebor@redhat.com>
11064
11065 PR middle-end/104069
11066 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
11067 an unknown result as documented.
11068
11069 2022-01-18 Andrew Pinski <apinski@marvell.com>
11070
11071 * ipa-split.cc (visit_bb): Fix comment before the
11072 warning/error attribute checking code.
11073
11074 2022-01-18 David Faust <david.faust@oracle.com>
11075
11076 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
11077 for base strtab offset yet as it may change.
11078 (output_asm_btfext_core_reloc): Do so here instead.
11079 (output_btfext_core_sections): Likewise.
11080
11081 2022-01-18 David Faust <david.faust@oracle.com>
11082
11083 * config/bpf/coreout.cc (output_btfext_header): Account for
11084 4-byte record size in core_relo_len.
11085 (output_btfext_core_sections): Only write record size once.
11086 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
11087 member.
11088
11089 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
11090
11091 * common/config/riscv/riscv-common.cc
11092 (riscv_subset_list::parse_multiletter_ext): Move pointer
11093 arithmetic ahead of `free'.
11094
11095 2022-01-18 Jason Merrill <jason@redhat.com>
11096
11097 PR c++/104007
11098 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
11099 context.
11100
11101 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
11102
11103 PR middle-end/103163
11104 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
11105 (init_emit_once): ...not here.
11106
11107 2022-01-18 Martin Liska <mliska@suse.cz>
11108
11109 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
11110 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
11111 * config/arc/arc.md: Likewise.
11112 * config/avr/avr.cc (avr_section_type_flags): Likewise.
11113 * config/bfin/bfin.cc (bfin_option_override): Likewise.
11114 (bfin_handle_longcall_attribute): Likewise.
11115 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
11116 * config/frv/frv.cc (frv_expand_builtin): Likewise.
11117 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
11118 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
11119 (iq2000_print_operand_address): Likewise.
11120 (iq2000_print_operand): Likewise.
11121 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
11122 (m32c_pragma_address): Likewise.
11123 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
11124 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
11125 (mips_set_compression_mode): Likewise.
11126 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
11127 (mmix_print_operand): Likewise.
11128 (mmix_output_shiftvalue_op_from_str): Likewise.
11129 (mmix_output_shifted_value): Likewise.
11130 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
11131 * config/msp430/msp430.cc (msp430_option_override): Likewise.
11132 (msp430_attr): Likewise.
11133 (msp430_expand_delay_cycles): Likewise.
11134 (msp430_expand_builtin): Likewise.
11135 * config/rs6000/aix73.h: Likewise.
11136 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
11137 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
11138 (valid_psw_flag): Likewise.
11139 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
11140 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
11141 (xstormy16_expand_builtin_va_start): Likewise.
11142 (xstormy16_handle_below100_attribute): Likewise.
11143
11144 2022-01-18 Martin Liska <mliska@suse.cz>
11145
11146 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
11147 warning.
11148 (vms_pragma_standard): Likewise.
11149 (vms_pragma_extern_prefix): Likewise.
11150
11151 2022-01-18 Martin Liska <mliska@suse.cz>
11152
11153 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
11154 (print_operand_address): Likewise.
11155 (xtensa_multibss_section_type_flags): Likewise.
11156
11157 2022-01-18 Martin Liska <mliska@suse.cz>
11158
11159 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
11160 wording of an error message.
11161
11162 2022-01-18 Martin Liska <mliska@suse.cz>
11163
11164 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
11165 warning.
11166 (ghs_pragma_section): Likewise.
11167 (ghs_pragma_interrupt): Likewise.
11168 (ghs_pragma_starttda): Likewise.
11169 (ghs_pragma_startsda): Likewise.
11170 (ghs_pragma_startzda): Likewise.
11171 (ghs_pragma_endtda): Likewise.
11172 (ghs_pragma_endsda): Likewise.
11173 (ghs_pragma_endzda): Likewise.
11174
11175 2022-01-18 Martin Liska <mliska@suse.cz>
11176
11177 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
11178 Fix warnings.
11179 * config/nds32/nds32-intrinsic.md: Likewise.
11180 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
11181 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
11182 (nds32_insert_attributes): Likewise.
11183
11184 2022-01-18 Martin Liska <mliska@suse.cz>
11185
11186 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
11187 keyword.
11188 * config/nvptx/nvptx.md: Remove trailing dot.
11189
11190 2022-01-18 Martin Liska <mliska@suse.cz>
11191
11192 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
11193 Wrap keywords with quotes and remove trailing dots.
11194 (riscv_subset_list::parsing_subset_version): Likewise.
11195 (riscv_subset_list::parse_std_ext): Likewise.
11196 (riscv_subset_list::parse_multiletter_ext): Likewise.
11197 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
11198
11199 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
11200
11201 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
11202 argument suggested_unroll_factor.
11203 (vect_analyze_loop_costing): Likewise.
11204 (_loop_vec_info::_loop_vec_info): Initialize new member
11205 suggested_unroll_factor.
11206 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
11207 main loop use partial vectors.
11208 (vect_analyze_loop_2): Pass and use new argument
11209 suggested_unroll_factor.
11210 (vect_analyze_loop_1): Change to intialize local
11211 suggested_unroll_factor and use it.
11212 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
11213 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
11214 suggested_unroll_factor.
11215 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
11216 (vector_costs::suggested_unroll_factor): New getter function.
11217 (finish_cost): Set return argument suggested_unroll_factor.
11218
11219 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
11220
11221 PR tree-optimization/104038
11222 * doc/invoke.texi (relation-block-limit): New.
11223 * params.opt (relation-block-limit): New.
11224 * value-relation.cc (dom_oracle::register_relation): Check for NULL
11225 record before invoking transitive registery.
11226 (dom_oracle::set_one_relation): Check limit before creating record.
11227 (dom_oracle::register_transitives): Stop when no record created.
11228 * value-relation.h (relation_chain_head::m_num_relations): New.
11229
11230 2022-01-18 Richard Biener <rguenther@suse.de>
11231
11232 PR ipa/103989
11233 * ipa-inline.cc (inline_small_functions): Do not enqueue call
11234 edges originating in functions compiled with -Og.
11235
11236 2022-01-18 Richard Biener <rguenther@suse.de>
11237
11238 PR ipa/103989
11239 * passes.def (pass_all_optimizations_g): Remove pass_modref
11240 and pass_local_pure_const.
11241
11242 2022-01-18 Martin Liska <mliska@suse.cz>
11243
11244 * config/s390/s390.cc: Fix -Wformat-diag warnings.
11245
11246 2022-01-18 Martin Liska <mliska@suse.cz>
11247
11248 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
11249 keyword in quotes.
11250 (s390_resolve_overloaded_builtin): Remove trailing dot.
11251 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
11252 (s390_expand_builtin): Remove trailing dot.
11253 (s390_emit_prologue): Likewise, use semicolon.
11254 (s390_option_override_internal): Update keyword.
11255 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
11256
11257 2022-01-18 Martin Liska <mliska@suse.cz>
11258
11259 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
11260 keywords and use %qs instead of %<%s%>.
11261
11262 2022-01-18 Richard Biener <rguenther@suse.de>
11263
11264 PR tree-optimization/103987
11265 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
11266 query with a pointer check.
11267
11268 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
11269
11270 PR target/104005
11271 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
11272 When using MEM_EXPR, require the base to be a decl.
11273
11274 2022-01-18 Richard Biener <rguenther@suse.de>
11275
11276 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
11277 avoid padding.
11278 * function.h (struct function): Likewise.
11279
11280 2022-01-18 Arnaud Charlet <charlet@adacore.com>
11281
11282 * doc/install.texi: Update prerequisites for GNAT
11283
11284 2022-01-18 Andrew Pinski <apinski@marvell.com>
11285
11286 PR tree-optimization/101941
11287 * ipa-split.cc (visit_bb): Disallow function calls where
11288 the function has either error or warning attribute.
11289
11290 2022-01-18 Richard Biener <rguenther@suse.de>
11291
11292 PR tree-optimization/104064
11293 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
11294 DR_INIT fits in a signed HWI, represent the difference from the
11295 first DR in unsigned.
11296
11297 2022-01-17 Martin Liska <mliska@suse.cz>
11298
11299 * Makefile.in: Rename .c names to .cc.
11300 * config.gcc: Likewise.
11301 * configure: Regenerate. Likewise.
11302 * configure.ac: Likewise.
11303 * gengtype.cc (set_gc_used): Likewise.
11304 (source_dot_c_frul): Likewise.
11305 (source_dot_cc_frul): Likewise.
11306 (struct file_rule_st): Likewise.
11307 (close_output_files): Likewise.
11308 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
11309
11310 2022-01-17 Martin Liska <mliska@suse.cz>
11311
11312 * Makefile.in: Rename .c names to .cc.
11313 * alias.h: Likewise.
11314 * asan.cc: Likewise.
11315 * auto-profile.h: Likewise.
11316 * basic-block.h (struct basic_block_d): Likewise.
11317 * btfout.cc: Likewise.
11318 * builtins.cc (expand_builtin_longjmp): Likewise.
11319 (validate_arg): Likewise.
11320 (access_ref::offset_bounded): Likewise.
11321 * caller-save.cc (reg_restore_code): Likewise.
11322 (setup_save_areas): Likewise.
11323 * calls.cc (initialize_argument_information): Likewise.
11324 (expand_call): Likewise.
11325 (emit_library_call_value_1): Likewise.
11326 * cfg-flags.def (RTL): Likewise.
11327 (SIBCALL): Likewise.
11328 (CAN_FALLTHRU): Likewise.
11329 * cfganal.cc (post_order_compute): Likewise.
11330 * cfgcleanup.cc (try_simplify_condjump): Likewise.
11331 (merge_blocks_move_predecessor_nojumps): Likewise.
11332 (merge_blocks_move_successor_nojumps): Likewise.
11333 (merge_blocks_move): Likewise.
11334 (old_insns_match_p): Likewise.
11335 (try_crossjump_bb): Likewise.
11336 * cfgexpand.cc (expand_gimple_stmt): Likewise.
11337 * cfghooks.cc (split_block_before_cond_jump): Likewise.
11338 (profile_record_check_consistency): Likewise.
11339 * cfghooks.h: Likewise.
11340 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
11341 (rtl_can_merge_blocks): Likewise.
11342 (try_redirect_by_replacing_jump): Likewise.
11343 (make_pass_outof_cfg_layout_mode): Likewise.
11344 (cfg_layout_can_merge_blocks_p): Likewise.
11345 * cgraph.cc (release_function_body): Likewise.
11346 (cgraph_node::get_fun): Likewise.
11347 * cgraph.h (struct cgraph_node): Likewise.
11348 (asmname_hasher::equal): Likewise.
11349 (cgraph_inline_failed_type): Likewise.
11350 (thunk_adjust): Likewise.
11351 (dump_callgraph_transformation): Likewise.
11352 (record_references_in_initializer): Likewise.
11353 (ipa_discover_variable_flags): Likewise.
11354 * cgraphclones.cc (GTY): Likewise.
11355 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
11356 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
11357 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
11358 * collect2.cc (maybe_run_lto_and_relink): Likewise.
11359 * combine-stack-adj.cc: Likewise.
11360 * combine.cc (setup_incoming_promotions): Likewise.
11361 (combine_simplify_rtx): Likewise.
11362 (count_rtxs): Likewise.
11363 * common.opt: Likewise.
11364 * common/config/aarch64/aarch64-common.cc: Likewise.
11365 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
11366 * common/config/avr/avr-common.cc: Likewise.
11367 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
11368 * conditions.h: Likewise.
11369 * config.gcc: Likewise.
11370 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
11371 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
11372 (aarch64_get_extension_string_for_isa_flags): Likewise.
11373 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
11374 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
11375 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
11376 (aarch64_option_valid_attribute_p): Likewise.
11377 (aarch64_short_vector_p): Likewise.
11378 (aarch64_float_const_representable_p): Likewise.
11379 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
11380 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
11381 (GTY): Likewise.
11382 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
11383 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
11384 * config/aarch64/t-aarch64: Likewise.
11385 * config/aarch64/x-aarch64: Likewise.
11386 * config/aarch64/x-darwin: Likewise.
11387 * config/alpha/alpha-protos.h: Likewise.
11388 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
11389 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
11390 (enum reg_class): Likewise.
11391 * config/alpha/alpha.md: Likewise.
11392 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
11393 * config/alpha/x-alpha: Likewise.
11394 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
11395 * config/arc/arc.cc (ARC_OPT): Likewise.
11396 (arc_ccfsm_advance): Likewise.
11397 (arc_arg_partial_bytes): Likewise.
11398 (conditionalize_nonjump): Likewise.
11399 * config/arc/arc.md: Likewise.
11400 * config/arc/builtins.def: Likewise.
11401 * config/arc/t-arc: Likewise.
11402 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
11403 (arm_pragma_target_parse): Likewise.
11404 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
11405 (arm_cpu_cpp_builtins): Likewise.
11406 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
11407 (shift_op): Likewise.
11408 (thumb2_final_prescan_insn): Likewise.
11409 (arm_final_prescan_insn): Likewise.
11410 (arm_asm_output_labelref): Likewise.
11411 (arm_small_register_classes_for_mode_p): Likewise.
11412 * config/arm/arm.h: Likewise.
11413 * config/arm/arm.md: Likewise.
11414 * config/arm/driver-arm.cc: Likewise.
11415 * config/arm/symbian.h: Likewise.
11416 * config/arm/t-arm: Likewise.
11417 * config/arm/thumb1.md: Likewise.
11418 * config/arm/x-arm: Likewise.
11419 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
11420 * config/avr/avr-fixed.md: Likewise.
11421 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
11422 * config/avr/avr-mcus.def: Likewise.
11423 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
11424 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
11425 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
11426 * config/avr/avr.cc (avr_option_override): Likewise.
11427 (avr_build_builtin_va_list): Likewise.
11428 (avr_mode_dependent_address_p): Likewise.
11429 (avr_function_arg_advance): Likewise.
11430 (avr_asm_output_aligned_decl_common): Likewise.
11431 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
11432 (SUPPORTS_INIT_PRIORITY): Likewise.
11433 * config/avr/avr.md: Likewise.
11434 * config/avr/builtins.def: Likewise.
11435 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
11436 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
11437 (main): Likewise.
11438 * config/avr/t-avr: Likewise.
11439 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
11440 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
11441 * config/bpf/bpf.h (enum reg_class): Likewise.
11442 * config/bpf/t-bpf: Likewise.
11443 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
11444 * config/cr16/cr16-protos.h: Likewise.
11445 * config/cris/cris.cc (cris_address_cost): Likewise.
11446 (cris_side_effect_mode_ok): Likewise.
11447 (cris_init_machine_status): Likewise.
11448 (cris_emit_movem_store): Likewise.
11449 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
11450 (enum reg_class): Likewise.
11451 (struct cum_args): Likewise.
11452 * config/cris/cris.opt: Likewise.
11453 * config/cris/sync.md: Likewise.
11454 * config/csky/csky.cc (csky_expand_prologue): Likewise.
11455 * config/darwin-c.cc: Likewise.
11456 * config/darwin-f.cc: Likewise.
11457 * config/darwin-sections.def (zobj_const_section): Likewise.
11458 * config/darwin.cc (output_objc_section_asm_op): Likewise.
11459 (fprintf): Likewise.
11460 * config/darwin.h (GTY): Likewise.
11461 * config/elfos.h: Likewise.
11462 * config/epiphany/epiphany-sched.md: Likewise.
11463 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
11464 * config/epiphany/epiphany.h (GTY): Likewise.
11465 (NO_FUNCTION_CSE): Likewise.
11466 * config/epiphany/mode-switch-use.cc: Likewise.
11467 * config/epiphany/predicates.md: Likewise.
11468 * config/epiphany/t-epiphany: Likewise.
11469 * config/fr30/fr30-protos.h: Likewise.
11470 * config/frv/frv-protos.h: Likewise.
11471 * config/frv/frv.cc (TLS_BIAS): Likewise.
11472 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
11473 * config/ft32/ft32-protos.h: Likewise.
11474 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
11475 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
11476 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
11477 * config/gcn/t-gcn-hsa: Likewise.
11478 * config/gcn/t-omp-device: Likewise.
11479 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
11480 (same_cmp_following_p): Likewise.
11481 * config/h8300/h8300.cc (F): Likewise.
11482 * config/h8300/h8300.h (struct cum_arg): Likewise.
11483 (BRANCH_COST): Likewise.
11484 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
11485 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
11486 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
11487 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
11488 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
11489 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
11490 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
11491 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
11492 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
11493 (ix86_register_pragmas): Likewise.
11494 (ix86_d_has_stdcall_convention): Likewise.
11495 (i386_pe_seh_init_sections): Likewise.
11496 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
11497 (ix86_function_value_regno_p): Likewise.
11498 (ix86_compute_frame_layout): Likewise.
11499 (legitimize_pe_coff_symbol): Likewise.
11500 (output_pic_addr_const): Likewise.
11501 * config/i386/i386.h (defined): Likewise.
11502 (host_detect_local_cpu): Likewise.
11503 (CONSTANT_ADDRESS_P): Likewise.
11504 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
11505 (struct machine_frame_state): Likewise.
11506 * config/i386/i386.md: Likewise.
11507 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
11508 * config/i386/mmx.md: Likewise.
11509 * config/i386/sse.md: Likewise.
11510 * config/i386/t-cygming: Likewise.
11511 * config/i386/t-djgpp: Likewise.
11512 * config/i386/t-gnu-property: Likewise.
11513 * config/i386/t-i386: Likewise.
11514 * config/i386/t-intelmic: Likewise.
11515 * config/i386/t-omp-device: Likewise.
11516 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
11517 (i386_pe_adjust_class_at_definition): Likewise.
11518 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
11519 (i386_pe_mangle_decl_assembler_name): Likewise.
11520 (i386_pe_encode_section_info): Likewise.
11521 * config/i386/x-cygwin: Likewise.
11522 * config/i386/x-darwin: Likewise.
11523 * config/i386/x-i386: Likewise.
11524 * config/i386/x-mingw32: Likewise.
11525 * config/i386/x86-tune-sched-core.cc: Likewise.
11526 * config/i386/x86-tune.def: Likewise.
11527 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
11528 * config/ia64/freebsd.h: Likewise.
11529 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
11530 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
11531 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
11532 (ia64_secondary_reload_class): Likewise.
11533 (bundling): Likewise.
11534 * config/ia64/ia64.h: Likewise.
11535 * config/ia64/ia64.md: Likewise.
11536 * config/ia64/predicates.md: Likewise.
11537 * config/ia64/sysv4.h: Likewise.
11538 * config/ia64/t-ia64: Likewise.
11539 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
11540 * config/iq2000/iq2000.md: Likewise.
11541 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
11542 (if): Likewise.
11543 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
11544 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
11545 * config/m32c/t-m32c: Likewise.
11546 * config/m32r/m32r-protos.h: Likewise.
11547 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
11548 * config/m32r/m32r.h: Likewise.
11549 * config/m32r/m32r.md: Likewise.
11550 * config/m68k/m68k-isas.def: Likewise.
11551 * config/m68k/m68k-microarchs.def: Likewise.
11552 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
11553 (m68k_epilogue_uses): Likewise.
11554 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
11555 (m68k_sched_adjust_cost): Likewise.
11556 (m68k_sched_md_init): Likewise.
11557 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
11558 (enum m68k_function_kind): Likewise.
11559 * config/m68k/m68k.md: Likewise.
11560 * config/m68k/m68kemb.h: Likewise.
11561 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
11562 * config/mcore/mcore-protos.h: Likewise.
11563 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
11564 (mcore_expand_prolog): Likewise.
11565 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
11566 * config/mcore/mcore.md: Likewise.
11567 * config/microblaze/microblaze-protos.h: Likewise.
11568 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
11569 (microblaze_function_prologue): Likewise.
11570 (microblaze_function_epilogue): Likewise.
11571 (microblaze_select_section): Likewise.
11572 (microblaze_asm_output_mi_thunk): Likewise.
11573 (microblaze_eh_return): Likewise.
11574 * config/microblaze/microblaze.h: Likewise.
11575 * config/microblaze/microblaze.md: Likewise.
11576 * config/microblaze/t-microblaze: Likewise.
11577 * config/mips/driver-native.cc: Likewise.
11578 * config/mips/loongson2ef.md: Likewise.
11579 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
11580 * config/mips/mips.cc (mips_rtx_costs): Likewise.
11581 (mips_output_filename): Likewise.
11582 (mips_output_function_prologue): Likewise.
11583 (mips_output_function_epilogue): Likewise.
11584 (mips_output_mi_thunk): Likewise.
11585 * config/mips/mips.h: Likewise.
11586 * config/mips/mips.md: Likewise.
11587 * config/mips/t-mips: Likewise.
11588 * config/mips/x-native: Likewise.
11589 * config/mmix/mmix-protos.h: Likewise.
11590 * config/mmix/mmix.cc (mmix_option_override): Likewise.
11591 (mmix_dbx_register_number): Likewise.
11592 (mmix_expand_prologue): Likewise.
11593 * config/mmix/mmix.h: Likewise.
11594 * config/mmix/mmix.md: Likewise.
11595 * config/mmix/predicates.md: Likewise.
11596 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
11597 (mn10300_legitimate_pic_operand_p): Likewise.
11598 * config/mn10300/mn10300.h (enum reg_class): Likewise.
11599 (NO_FUNCTION_CSE): Likewise.
11600 * config/moxie/moxie-protos.h: Likewise.
11601 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
11602 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
11603 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
11604 (msp430_incoming_return_addr_rtx): Likewise.
11605 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
11606 * config/msp430/t-msp430: Likewise.
11607 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
11608 (nds32_rtx_costs_size_prefer): Likewise.
11609 (nds32_init_rtx_costs): Likewise.
11610 * config/nds32/nds32-doubleword.md: Likewise.
11611 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
11612 (nds32_builtin_decl): Likewise.
11613 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
11614 (enum nds32_isr_nested_type): Likewise.
11615 (enum reg_class): Likewise.
11616 * config/nds32/predicates.md: Likewise.
11617 * config/nds32/t-nds32: Likewise.
11618 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
11619 * config/nvptx/nvptx-protos.h: Likewise.
11620 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
11621 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
11622 * config/nvptx/t-nvptx: Likewise.
11623 * config/nvptx/t-omp-device: Likewise.
11624 * config/pa/elf.h: Likewise.
11625 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
11626 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
11627 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
11628 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
11629 (pa_legitimize_reload_address): Likewise.
11630 (pa_can_use_return_insn): Likewise.
11631 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
11632 (som_output_text_section_asm_op): Likewise.
11633 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
11634 * config/pa/pa.md: Likewise.
11635 * config/pa/som.h: Likewise.
11636 * config/pa/t-pa: Likewise.
11637 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
11638 * config/pdp11/pdp11.h: Likewise.
11639 * config/pdp11/pdp11.md: Likewise.
11640 * config/pdp11/t-pdp11: Likewise.
11641 * config/pru/pru.md: Likewise.
11642 * config/pru/t-pru: Likewise.
11643 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
11644 (riscv_gpr_save_operation_p): Likewise.
11645 (riscv_d_register_target_info): Likewise.
11646 (riscv_init_builtins): Likewise.
11647 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
11648 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
11649 * config/riscv/t-riscv: Likewise.
11650 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
11651 * config/rl78/t-rl78: Likewise.
11652 * config/rs6000/aix.h: Likewise.
11653 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
11654 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
11655 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
11656 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
11657 * config/rs6000/driver-rs6000.cc: Likewise.
11658 * config/rs6000/freebsd.h: Likewise.
11659 * config/rs6000/freebsd64.h: Likewise.
11660 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
11661 * config/rs6000/rbtree.cc: Likewise.
11662 * config/rs6000/rbtree.h: Likewise.
11663 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
11664 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
11665 (rs6000_expand_builtin): Likewise.
11666 (rs6000_init_builtins): Likewise.
11667 * config/rs6000/rs6000-cpus.def: Likewise.
11668 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
11669 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
11670 (quad_address_offset_p): Likewise.
11671 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
11672 (rs6000_emit_epilogue): Likewise.
11673 * config/rs6000/rs6000-overload.def: Likewise.
11674 * config/rs6000/rs6000-p8swap.cc: Likewise.
11675 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
11676 (rs6000_const_f32_to_i32): Likewise.
11677 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
11678 (rs6000_debug_legitimize_address): Likewise.
11679 (rs6000_mode_dependent_address): Likewise.
11680 (rs6000_adjust_priority): Likewise.
11681 (rs6000_c_mode_for_suffix): Likewise.
11682 * config/rs6000/rs6000.h (defined): Likewise.
11683 (LONG_DOUBLE_TYPE_SIZE): Likewise.
11684 * config/rs6000/rs6000.md: Likewise.
11685 * config/rs6000/sysv4.h: Likewise.
11686 * config/rs6000/t-linux: Likewise.
11687 * config/rs6000/t-linux64: Likewise.
11688 * config/rs6000/t-rs6000: Likewise.
11689 * config/rs6000/x-darwin: Likewise.
11690 * config/rs6000/x-darwin64: Likewise.
11691 * config/rs6000/x-rs6000: Likewise.
11692 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
11693 * config/rx/rx.cc (rx_expand_builtin): Likewise.
11694 * config/s390/constraints.md: Likewise.
11695 * config/s390/driver-native.cc: Likewise.
11696 * config/s390/htmxlintrin.h: Likewise.
11697 * config/s390/s390-builtins.def (B_DEF): Likewise.
11698 (OB_DEF_VAR): Likewise.
11699 * config/s390/s390-builtins.h: Likewise.
11700 * config/s390/s390-c.cc: Likewise.
11701 * config/s390/s390-opts.h: Likewise.
11702 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
11703 (s390_register_target_pragmas): Likewise.
11704 * config/s390/s390.cc (s390_init_builtins): Likewise.
11705 (s390_expand_plus_operand): Likewise.
11706 (s390_expand_atomic): Likewise.
11707 (s390_valid_target_attribute_inner_p): Likewise.
11708 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
11709 * config/s390/s390.md: Likewise.
11710 * config/s390/t-s390: Likewise.
11711 * config/s390/vx-builtins.md: Likewise.
11712 * config/s390/x-native: Likewise.
11713 * config/sh/divtab-sh4-300.cc (main): Likewise.
11714 * config/sh/divtab-sh4.cc (main): Likewise.
11715 * config/sh/divtab.cc (main): Likewise.
11716 * config/sh/elf.h: Likewise.
11717 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
11718 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
11719 (sh_struct_value_rtx): Likewise.
11720 (sh_remove_reg_dead_or_unused_notes): Likewise.
11721 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
11722 * config/sh/t-sh: Likewise.
11723 * config/sol2-protos.h (solaris_override_options): Likewise.
11724 * config/sol2.h: Likewise.
11725 * config/sparc/driver-sparc.cc: Likewise.
11726 * config/sparc/freebsd.h: Likewise.
11727 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
11728 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
11729 (sparc_asan_shadow_offset): Likewise.
11730 * config/sparc/sparc.h: Likewise.
11731 * config/sparc/sparc.md: Likewise.
11732 * config/sparc/t-sparc: Likewise.
11733 * config/sparc/x-sparc: Likewise.
11734 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
11735 * config/t-darwin: Likewise.
11736 * config/t-dragonfly: Likewise.
11737 * config/t-freebsd: Likewise.
11738 * config/t-glibc: Likewise.
11739 * config/t-linux: Likewise.
11740 * config/t-netbsd: Likewise.
11741 * config/t-openbsd: Likewise.
11742 * config/t-pnt16-warn: Likewise.
11743 * config/t-sol2: Likewise.
11744 * config/t-vxworks: Likewise.
11745 * config/t-winnt: Likewise.
11746 * config/tilegx/t-tilegx: Likewise.
11747 * config/tilegx/tilegx-c.cc: Likewise.
11748 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
11749 * config/tilegx/tilegx.md: Likewise.
11750 * config/tilepro/t-tilepro: Likewise.
11751 * config/tilepro/tilepro-c.cc: Likewise.
11752 * config/v850/t-v850: Likewise.
11753 * config/v850/v850-protos.h: Likewise.
11754 * config/v850/v850.cc (F): Likewise.
11755 * config/v850/v850.h (enum reg_class): Likewise.
11756 (SLOW_BYTE_ACCESS): Likewise.
11757 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
11758 * config/vax/vax.h (enum reg_class): Likewise.
11759 * config/vax/vax.md: Likewise.
11760 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
11761 * config/visium/visium.h: Likewise.
11762 * config/vms/t-vms: Likewise.
11763 * config/vms/vms-crtlmap.map: Likewise.
11764 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
11765 * config/vx-common.h: Likewise.
11766 * config/x-darwin: Likewise.
11767 * config/x-hpux: Likewise.
11768 * config/x-linux: Likewise.
11769 * config/x-netbsd: Likewise.
11770 * config/x-openbsd: Likewise.
11771 * config/x-solaris: Likewise.
11772 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
11773 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
11774 * config/xtensa/xtensa.h: Likewise.
11775 * configure.ac: Likewise.
11776 * context.cc: Likewise.
11777 * convert.h: Likewise.
11778 * coretypes.h: Likewise.
11779 * coverage.cc: Likewise.
11780 * coverage.h: Likewise.
11781 * cppdefault.h (struct default_include): Likewise.
11782 * cprop.cc (local_cprop_pass): Likewise.
11783 (one_cprop_pass): Likewise.
11784 * cse.cc (hash_rtx_cb): Likewise.
11785 (fold_rtx): Likewise.
11786 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
11787 * data-streamer.h (bp_unpack_var_len_int): Likewise.
11788 (streamer_write_widest_int): Likewise.
11789 * dbgcnt.def: Likewise.
11790 * dbxout.cc (dbxout_early_global_decl): Likewise.
11791 (dbxout_common_check): Likewise.
11792 * dbxout.h: Likewise.
11793 * debug.h (struct gcc_debug_hooks): Likewise.
11794 (dump_go_spec_init): Likewise.
11795 * df-core.cc: Likewise.
11796 * df-scan.cc (df_insn_info_delete): Likewise.
11797 (df_insn_delete): Likewise.
11798 * df.h (debug_df_chain): Likewise.
11799 (can_move_insns_across): Likewise.
11800 * dfp.cc (decimal_from_binary): Likewise.
11801 * diagnostic-color.cc: Likewise.
11802 * diagnostic-event-id.h: Likewise.
11803 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
11804 * diagnostic.cc (bt_callback): Likewise.
11805 (num_digits): Likewise.
11806 * doc/avr-mmcu.texi: Likewise.
11807 * doc/cfg.texi: Likewise.
11808 * doc/contrib.texi: Likewise.
11809 * doc/cppinternals.texi: Likewise.
11810 * doc/extend.texi: Likewise.
11811 * doc/generic.texi: Likewise.
11812 * doc/gimple.texi: Likewise.
11813 * doc/gty.texi: Likewise.
11814 * doc/invoke.texi: Likewise.
11815 * doc/loop.texi: Likewise.
11816 * doc/lto.texi: Likewise.
11817 * doc/match-and-simplify.texi: Likewise.
11818 * doc/md.texi: Likewise.
11819 * doc/optinfo.texi: Likewise.
11820 * doc/options.texi: Likewise.
11821 * doc/passes.texi: Likewise.
11822 * doc/plugins.texi: Likewise.
11823 * doc/rtl.texi: Likewise.
11824 * doc/sourcebuild.texi: Likewise.
11825 * doc/tm.texi: Likewise.
11826 * doc/tm.texi.in: Likewise.
11827 * doc/tree-ssa.texi: Likewise.
11828 * dojump.cc (do_jump): Likewise.
11829 * dojump.h: Likewise.
11830 * dumpfile.cc (test_impl_location): Likewise.
11831 (test_capture_of_dump_calls): Likewise.
11832 * dumpfile.h (enum dump_kind): Likewise.
11833 (class dump_location_t): Likewise.
11834 (dump_enabled_p): Likewise.
11835 (enable_rtl_dump_file): Likewise.
11836 (dump_combine_total_stats): Likewise.
11837 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
11838 * dwarf2ctf.h (ctf_debug_finish): Likewise.
11839 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
11840 (struct loc_descr_context): Likewise.
11841 (rtl_for_decl_location): Likewise.
11842 (gen_subprogram_die): Likewise.
11843 (gen_label_die): Likewise.
11844 (is_trivial_indirect_ref): Likewise.
11845 (dwarf2out_late_global_decl): Likewise.
11846 (dwarf_file_hasher::hash): Likewise.
11847 (dwarf2out_end_source_file): Likewise.
11848 (dwarf2out_define): Likewise.
11849 (dwarf2out_early_finish): Likewise.
11850 * dwarf2out.h (struct dw_fde_node): Likewise.
11851 (struct dw_discr_list_node): Likewise.
11852 (output_loc_sequence_raw): Likewise.
11853 * emit-rtl.cc (gen_raw_REG): Likewise.
11854 (maybe_set_max_label_num): Likewise.
11855 * emit-rtl.h (struct rtl_data): Likewise.
11856 * errors.cc (internal_error): Likewise.
11857 (trim_filename): Likewise.
11858 * et-forest.cc: Likewise.
11859 * except.cc (init_eh_for_function): Likewise.
11860 * explow.cc (promote_ssa_mode): Likewise.
11861 (get_dynamic_stack_size): Likewise.
11862 * explow.h: Likewise.
11863 * expmed.h: Likewise.
11864 * expr.cc (safe_from_p): Likewise.
11865 (expand_expr_real_2): Likewise.
11866 (expand_expr_real_1): Likewise.
11867 * file-prefix-map.cc (remap_filename): Likewise.
11868 * final.cc (app_enable): Likewise.
11869 (make_pass_compute_alignments): Likewise.
11870 (final_scan_insn_1): Likewise.
11871 (final_scan_insn): Likewise.
11872 * fixed-value.h (fixed_from_string): Likewise.
11873 * flag-types.h (NO_DEBUG): Likewise.
11874 (DWARF2_DEBUG): Likewise.
11875 (VMS_DEBUG): Likewise.
11876 (BTF_DEBUG): Likewise.
11877 (enum ctf_debug_info_levels): Likewise.
11878 * fold-const.cc (const_binop): Likewise.
11879 (fold_binary_loc): Likewise.
11880 (fold_checksum_tree): Likewise.
11881 * fp-test.cc: Likewise.
11882 * function.cc (expand_function_end): Likewise.
11883 * function.h (struct function): Likewise.
11884 * fwprop.cc (should_replace_address): Likewise.
11885 * gcc-main.cc: Likewise.
11886 * gcc-rich-location.h (class gcc_rich_location): Likewise.
11887 * gcc-symtab.h: Likewise.
11888 * gcc.cc (MIN_FATAL_STATUS): Likewise.
11889 (driver_handle_option): Likewise.
11890 (quote_spec_arg): Likewise.
11891 (driver::finalize): Likewise.
11892 * gcc.h (set_input): Likewise.
11893 * gcov-dump.cc: Likewise.
11894 * gcov.cc (solve_flow_graph): Likewise.
11895 * gcse-common.cc: Likewise.
11896 * gcse.cc (make_pass_rtl_hoist): Likewise.
11897 * genattr-common.cc: Likewise.
11898 * genattrtab.cc (min_fn): Likewise.
11899 (write_const_num_delay_slots): Likewise.
11900 * genautomata.cc: Likewise.
11901 * genconditions.cc (write_one_condition): Likewise.
11902 * genconstants.cc: Likewise.
11903 * genemit.cc (gen_exp): Likewise.
11904 * generic-match-head.cc: Likewise.
11905 * genextract.cc: Likewise.
11906 * gengenrtl.cc (always_void_p): Likewise.
11907 * gengtype-parse.cc (gtymarker_opt): Likewise.
11908 * gengtype-state.cc (state_writer::state_writer): Likewise.
11909 (write_state_trailer): Likewise.
11910 (equals_type_number): Likewise.
11911 (read_state): Likewise.
11912 * gengtype.cc (open_base_files): Likewise.
11913 (struct file_rule_st): Likewise.
11914 (header_dot_h_frul): Likewise.
11915 * gengtype.h: Likewise.
11916 * genmatch.cc (main): Likewise.
11917 * genmddeps.cc: Likewise.
11918 * genmodes.cc (emit_mode_inner): Likewise.
11919 (emit_mode_unit_size): Likewise.
11920 * genpeep.cc (gen_peephole): Likewise.
11921 * genpreds.cc (write_tm_preds_h): Likewise.
11922 * genrecog.cc (validate_pattern): Likewise.
11923 (write_header): Likewise.
11924 (main): Likewise.
11925 * gensupport.cc (change_subst_attribute): Likewise.
11926 (traverse_c_tests): Likewise.
11927 (add_predicate): Likewise.
11928 (init_predicate_table): Likewise.
11929 * gensupport.h (struct optab_pattern): Likewise.
11930 (get_num_insn_codes): Likewise.
11931 (maybe_eval_c_test): Likewise.
11932 (struct pred_data): Likewise.
11933 * ggc-internal.h: Likewise.
11934 * gimple-fold.cc (maybe_fold_reference): Likewise.
11935 (get_range_strlen_tree): Likewise.
11936 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
11937 * gimple-low.cc: Likewise.
11938 * gimple-match-head.cc (directly_supported_p): Likewise.
11939 * gimple-pretty-print.h: Likewise.
11940 * gimple-ssa-sprintf.cc (format_percent): Likewise.
11941 (adjust_range_for_overflow): Likewise.
11942 * gimple-streamer.h: Likewise.
11943 * gimple.h (struct GTY): Likewise.
11944 (is_gimple_resx): Likewise.
11945 * gimplify.cc (gimplify_expr): Likewise.
11946 (gimplify_init_constructor): Likewise.
11947 (omp_construct_selector_matches): Likewise.
11948 (gimplify_omp_target_update): Likewise.
11949 (gimplify_omp_ordered): Likewise.
11950 (gimplify_va_arg_expr): Likewise.
11951 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
11952 * haifa-sched.cc (increase_insn_priority): Likewise.
11953 (try_ready): Likewise.
11954 (sched_create_recovery_edges): Likewise.
11955 * ifcvt.cc (find_if_case_1): Likewise.
11956 (find_if_case_2): Likewise.
11957 * inchash.h: Likewise.
11958 * incpath.cc (add_env_var_paths): Likewise.
11959 * input.cc (dump_location_info): Likewise.
11960 (assert_loceq): Likewise.
11961 (test_lexer_string_locations_concatenation_1): Likewise.
11962 (test_lexer_string_locations_concatenation_2): Likewise.
11963 (test_lexer_string_locations_concatenation_3): Likewise.
11964 * input.h (BUILTINS_LOCATION): Likewise.
11965 (class string_concat_db): Likewise.
11966 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
11967 (expand_LOOP_VECTORIZED): Likewise.
11968 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
11969 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
11970 (ipa_fn_summary_t::duplicate): Likewise.
11971 (make_pass_ipa_fn_summary): Likewise.
11972 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
11973 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
11974 (free_lang_data_in_decl): Likewise.
11975 * ipa-inline.cc (compute_inlined_call_time): Likewise.
11976 (inline_always_inline_functions): Likewise.
11977 * ipa-inline.h (free_growth_caches): Likewise.
11978 (inline_account_function_p): Likewise.
11979 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
11980 (modref_eaf_analysis::analyze_ssa_name): Likewise.
11981 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
11982 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
11983 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
11984 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
11985 (unadjusted_ptr_and_unit_offset): Likewise.
11986 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
11987 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
11988 * ipa-split.cc (consider_split): Likewise.
11989 * ipa-sra.cc (isra_read_node_info): Likewise.
11990 * ipa-utils.h (struct ipa_dfs_info): Likewise.
11991 (recursive_call_p): Likewise.
11992 (ipa_make_function_pure): Likewise.
11993 * ira-build.cc (ira_create_allocno): Likewise.
11994 (ira_flattening): Likewise.
11995 * ira-color.cc (do_coloring): Likewise.
11996 (update_curr_costs): Likewise.
11997 * ira-conflicts.cc (process_regs_for_copy): Likewise.
11998 * ira-int.h (struct ira_emit_data): Likewise.
11999 (ira_prohibited_mode_move_regs): Likewise.
12000 (ira_get_dup_out_num): Likewise.
12001 (ira_destroy): Likewise.
12002 (ira_tune_allocno_costs): Likewise.
12003 (ira_implicitly_set_insn_hard_regs): Likewise.
12004 (ira_build_conflicts): Likewise.
12005 (ira_color): Likewise.
12006 * ira-lives.cc (process_bb_node_lives): Likewise.
12007 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
12008 (setup_uniform_class_p): Likewise.
12009 (def_dominates_uses): Likewise.
12010 * ira.h (ira_nullify_asm_goto): Likewise.
12011 * langhooks.cc (lhd_post_options): Likewise.
12012 * langhooks.h (class substring_loc): Likewise.
12013 (struct lang_hooks_for_tree_inlining): Likewise.
12014 (struct lang_hooks_for_types): Likewise.
12015 (struct lang_hooks): Likewise.
12016 * libfuncs.h (synchronize_libfunc): Likewise.
12017 * loop-doloop.cc (doloop_condition_get): Likewise.
12018 * loop-init.cc (fix_loop_structure): Likewise.
12019 * loop-invariant.cc: Likewise.
12020 * lower-subreg.h: Likewise.
12021 * lra-constraints.cc (curr_insn_transform): Likewise.
12022 * lra-int.h (struct lra_insn_reg): Likewise.
12023 (lra_undo_inheritance): Likewise.
12024 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
12025 (lra_split_hard_reg_for): Likewise.
12026 (lra_coalesce): Likewise.
12027 (lra_final_code_change): Likewise.
12028 * lra-spills.cc (lra_final_code_change): Likewise.
12029 * lra.cc (lra_process_new_insns): Likewise.
12030 * lto-compress.h (struct lto_compression_stream): Likewise.
12031 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
12032 (write_symbol): Likewise.
12033 * lto-streamer.h (enum LTO_tags): Likewise.
12034 (lto_value_range_error): Likewise.
12035 (lto_append_block): Likewise.
12036 (lto_streamer_hooks_init): Likewise.
12037 (stream_read_tree_ref): Likewise.
12038 (lto_prepare_function_for_streaming): Likewise.
12039 (select_what_to_stream): Likewise.
12040 (omp_lto_input_declare_variant_alt): Likewise.
12041 (cl_optimization_stream_in): Likewise.
12042 * lto-wrapper.cc (append_compiler_options): Likewise.
12043 * machmode.def: Likewise.
12044 * machmode.h (struct int_n_data_t): Likewise.
12045 * main.cc (main): Likewise.
12046 * match.pd: Likewise.
12047 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
12048 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
12049 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
12050 (make_pass_expand_omp_ssa): Likewise.
12051 * omp-low.cc (struct omp_context): Likewise.
12052 (struct omp_taskcopy_context): Likewise.
12053 (lower_omp): Likewise.
12054 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
12055 (mask_name): Likewise.
12056 (omp_sese_dump_pars): Likewise.
12057 (worker_single_simple): Likewise.
12058 * omp-offload.cc (omp_finish_file): Likewise.
12059 (execute_oacc_loop_designation): Likewise.
12060 * optabs-query.cc (lshift_cheap_p): Likewise.
12061 * optc-gen.awk: Likewise.
12062 * optc-save-gen.awk: Likewise.
12063 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
12064 * opts-common.cc: Likewise.
12065 * output.h (app_enable): Likewise.
12066 (output_operand_lossage): Likewise.
12067 (insn_current_reference_address): Likewise.
12068 (get_insn_template): Likewise.
12069 (output_quoted_string): Likewise.
12070 * pass_manager.h (struct register_pass_info): Likewise.
12071 * plugin.cc: Likewise.
12072 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
12073 * plugin.h (invoke_plugin_callbacks): Likewise.
12074 * pointer-query.cc (handle_mem_ref): Likewise.
12075 * postreload-gcse.cc (alloc_mem): Likewise.
12076 * predict.h (enum prediction): Likewise.
12077 (add_reg_br_prob_note): Likewise.
12078 * prefix.h: Likewise.
12079 * profile.h (get_working_sets): Likewise.
12080 * read-md.cc: Likewise.
12081 * read-md.h (struct mapping): Likewise.
12082 (class md_reader): Likewise.
12083 (class noop_reader): Likewise.
12084 * read-rtl-function.cc (function_reader::create_function): Likewise.
12085 (function_reader::extra_parsing_for_operand_code_0): Likewise.
12086 * read-rtl.cc (initialize_iterators): Likewise.
12087 * real.cc: Likewise.
12088 * real.h (struct real_value): Likewise.
12089 (format_helper::format_helper): Likewise.
12090 (real_hash): Likewise.
12091 (real_can_shorten_arithmetic): Likewise.
12092 * recog.cc (struct target_recog): Likewise.
12093 (offsettable_nonstrict_memref_p): Likewise.
12094 (constrain_operands): Likewise.
12095 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
12096 (which_op_alt): Likewise.
12097 (struct insn_gen_fn): Likewise.
12098 * reg-notes.def (REG_NOTE): Likewise.
12099 * reg-stack.cc: Likewise.
12100 * regs.h (reg_is_parm_p): Likewise.
12101 * regset.h: Likewise.
12102 * reload.cc (push_reload): Likewise.
12103 (find_reloads): Likewise.
12104 (find_reloads_address_1): Likewise.
12105 (find_replacement): Likewise.
12106 (refers_to_regno_for_reload_p): Likewise.
12107 (refers_to_mem_for_reload_p): Likewise.
12108 * reload.h (push_reload): Likewise.
12109 (deallocate_reload_reg): Likewise.
12110 * reload1.cc (emit_input_reload_insns): Likewise.
12111 * reorg.cc (relax_delay_slots): Likewise.
12112 * rtl.def (UNKNOWN): Likewise.
12113 (SEQUENCE): Likewise.
12114 (BARRIER): Likewise.
12115 (ASM_OPERANDS): Likewise.
12116 (EQ_ATTR_ALT): Likewise.
12117 * rtl.h (struct GTY): Likewise.
12118 (LABEL_NAME): Likewise.
12119 (LABEL_ALT_ENTRY_P): Likewise.
12120 (SUBREG_BYTE): Likewise.
12121 (get_stack_check_protect): Likewise.
12122 (dump_rtx_statistics): Likewise.
12123 (unwrap_const_vec_duplicate): Likewise.
12124 (subreg_promoted_mode): Likewise.
12125 (gen_lowpart_common): Likewise.
12126 (operand_subword): Likewise.
12127 (immed_wide_int_const): Likewise.
12128 (decide_function_section): Likewise.
12129 (active_insn_p): Likewise.
12130 (delete_related_insns): Likewise.
12131 (try_split): Likewise.
12132 (val_signbit_known_clear_p): Likewise.
12133 (simplifiable_subregs): Likewise.
12134 (set_insn_deleted): Likewise.
12135 (subreg_get_info): Likewise.
12136 (remove_free_EXPR_LIST_node): Likewise.
12137 (finish_subregs_of_mode): Likewise.
12138 (get_mem_attrs): Likewise.
12139 (lookup_constant_def): Likewise.
12140 (rtx_to_tree_code): Likewise.
12141 (hash_rtx): Likewise.
12142 (condjump_in_parallel_p): Likewise.
12143 (validate_subreg): Likewise.
12144 (make_compound_operation): Likewise.
12145 (schedule_ebbs): Likewise.
12146 (print_inline_rtx): Likewise.
12147 (fixup_args_size_notes): Likewise.
12148 (expand_dec): Likewise.
12149 (prepare_copy_insn): Likewise.
12150 (mark_elimination): Likewise.
12151 (valid_mode_changes_for_regno): Likewise.
12152 (make_debug_expr_from_rtl): Likewise.
12153 (delete_vta_debug_insns): Likewise.
12154 (simplify_using_condition): Likewise.
12155 (set_insn_locations): Likewise.
12156 (fatal_insn_not_found): Likewise.
12157 (word_register_operation_p): Likewise.
12158 * rtlanal.cc (get_call_fndecl): Likewise.
12159 (side_effects_p): Likewise.
12160 (subreg_nregs): Likewise.
12161 (rtx_cost): Likewise.
12162 (canonicalize_condition): Likewise.
12163 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
12164 * run-rtl-passes.cc (run_rtl_passes): Likewise.
12165 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
12166 * sched-deps.cc (add_dependence_1): Likewise.
12167 * sched-ebb.cc (begin_move_insn): Likewise.
12168 (add_deps_for_risky_insns): Likewise.
12169 (advance_target_bb): Likewise.
12170 * sched-int.h (reemit_notes): Likewise.
12171 (struct _haifa_insn_data): Likewise.
12172 (HID): Likewise.
12173 (DEP_CANCELLED): Likewise.
12174 (debug_ds): Likewise.
12175 (number_in_ready): Likewise.
12176 (schedule_ebbs_finish): Likewise.
12177 (find_modifiable_mems): Likewise.
12178 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
12179 * sel-sched-dump.cc (dump_lv_set): Likewise.
12180 * sel-sched-dump.h: Likewise.
12181 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
12182 (setup_id_reg_sets): Likewise.
12183 (has_dependence_p): Likewise.
12184 (sel_num_cfg_preds_gt_1): Likewise.
12185 (bb_ends_ebb_p): Likewise.
12186 * sel-sched-ir.h (struct _list_node): Likewise.
12187 (struct idata_def): Likewise.
12188 (bb_next_bb): Likewise.
12189 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
12190 (choose_best_pseudo_reg): Likewise.
12191 (verify_target_availability): Likewise.
12192 (can_speculate_dep_p): Likewise.
12193 (sel_rank_for_schedule): Likewise.
12194 * selftest-run-tests.cc (selftest::run_tests): Likewise.
12195 * selftest.h (class auto_fix_quotes): Likewise.
12196 * shrink-wrap.cc (handle_simple_exit): Likewise.
12197 * shrink-wrap.h: Likewise.
12198 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
12199 (simplify_context::simplify_gen_vec_select): Likewise.
12200 * spellcheck-tree.h: Likewise.
12201 * spellcheck.h: Likewise.
12202 * statistics.h (struct function): Likewise.
12203 * stmt.cc (conditional_probability): Likewise.
12204 * stmt.h: Likewise.
12205 * stor-layout.h: Likewise.
12206 * streamer-hooks.h: Likewise.
12207 * stringpool.h: Likewise.
12208 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
12209 * target.def (HOOK_VECTOR_END): Likewise.
12210 (type.): Likewise.
12211 * target.h (union cumulative_args_t): Likewise.
12212 (by_pieces_ninsns): Likewise.
12213 (class predefined_function_abi): Likewise.
12214 * targhooks.cc (default_translate_mode_attribute): Likewise.
12215 * timevar.def: Likewise.
12216 * timevar.h (class timer): Likewise.
12217 * toplev.h (enable_rtl_dump_file): Likewise.
12218 * trans-mem.cc (collect_bb2reg): Likewise.
12219 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
12220 * tree-cfg.cc (remove_bb): Likewise.
12221 (verify_gimple_debug): Likewise.
12222 (remove_edge_and_dominated_blocks): Likewise.
12223 (push_fndecl): Likewise.
12224 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
12225 * tree-complex.cc (expand_complex_multiplication): Likewise.
12226 (expand_complex_div_straight): Likewise.
12227 * tree-core.h (enum tree_index): Likewise.
12228 (enum operand_equal_flag): Likewise.
12229 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
12230 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
12231 * tree-inline.cc (initialize_inlined_parameters): Likewise.
12232 * tree-inline.h (force_value_to_type): Likewise.
12233 * tree-nested.cc (get_chain_decl): Likewise.
12234 (walk_all_functions): Likewise.
12235 * tree-object-size.h: Likewise.
12236 * tree-outof-ssa.cc: Likewise.
12237 * tree-parloops.cc (create_parallel_loop): Likewise.
12238 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
12239 (dump_generic_node): Likewise.
12240 * tree-profile.cc (tree_profiling): Likewise.
12241 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
12242 * tree-ssa-address.cc: Likewise.
12243 * tree-ssa-alias.cc: Likewise.
12244 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
12245 (dump_alias_stats): Likewise.
12246 * tree-ssa-ccp.cc: Likewise.
12247 * tree-ssa-coalesce.h: Likewise.
12248 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
12249 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
12250 * tree-ssa-loop-unswitch.cc: Likewise.
12251 * tree-ssa-math-opts.cc: Likewise.
12252 * tree-ssa-operands.cc (class operands_scanner): Likewise.
12253 * tree-ssa-pre.cc: Likewise.
12254 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
12255 (debug_range_entry): Likewise.
12256 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
12257 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
12258 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
12259 (equal_mem_array_ref_p): Likewise.
12260 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
12261 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
12262 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
12263 * tree-ssa-ter.h: Likewise.
12264 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
12265 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
12266 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
12267 (write_ts_block_tree_pointers): Likewise.
12268 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
12269 (streamer_read_tree_bitfields): Likewise.
12270 (streamer_write_integer_cst): Likewise.
12271 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
12272 (vect_synth_mult_by_constant): Likewise.
12273 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
12274 * tree-vectorizer.cc: Likewise.
12275 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
12276 (vect_update_inits_of_drs): Likewise.
12277 (vect_get_mask_type_for_stmt): Likewise.
12278 (vect_rgroup_iv_might_wrap_p): Likewise.
12279 (cse_and_gimplify_to_preheader): Likewise.
12280 (vect_free_slp_tree): Likewise.
12281 (vect_pattern_recog): Likewise.
12282 (vect_stmt_dominates_stmt_p): Likewise.
12283 * tree.cc (initialize_tree_contains_struct): Likewise.
12284 (need_assembler_name_p): Likewise.
12285 (type_with_interoperable_signedness): Likewise.
12286 * tree.def (SWITCH_EXPR): Likewise.
12287 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
12288 (poly_int_tree_p): Likewise.
12289 (inlined_function_outer_scope_p): Likewise.
12290 (tree_code_for_canonical_type_merging): Likewise.
12291 * value-prof.cc: Likewise.
12292 * value-prof.h (get_nth_most_common_value): Likewise.
12293 (find_func_by_profile_id): Likewise.
12294 * value-range.cc (vrp_operand_equal_p): Likewise.
12295 * value-range.h: Likewise.
12296 * var-tracking.cc: Likewise.
12297 * varasm.cc (default_function_section): Likewise.
12298 (function_section_1): Likewise.
12299 (assemble_variable): Likewise.
12300 (handle_vtv_comdat_section): Likewise.
12301 * vec.h (struct vec_prefix): Likewise.
12302 * vmsdbgout.cc (full_name): Likewise.
12303 * vtable-verify.cc: Likewise.
12304 * vtable-verify.h (struct vtv_graph_node): Likewise.
12305 * xcoffout.cc: Likewise.
12306 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
12307
12308 2022-01-17 Martin Liska <mliska@suse.cz>
12309
12310 * adjust-alignment.c: Moved to...
12311 * adjust-alignment.cc: ...here.
12312 * alias.c: Moved to...
12313 * alias.cc: ...here.
12314 * alloc-pool.c: Moved to...
12315 * alloc-pool.cc: ...here.
12316 * asan.c: Moved to...
12317 * asan.cc: ...here.
12318 * attribs.c: Moved to...
12319 * attribs.cc: ...here.
12320 * auto-inc-dec.c: Moved to...
12321 * auto-inc-dec.cc: ...here.
12322 * auto-profile.c: Moved to...
12323 * auto-profile.cc: ...here.
12324 * bb-reorder.c: Moved to...
12325 * bb-reorder.cc: ...here.
12326 * bitmap.c: Moved to...
12327 * bitmap.cc: ...here.
12328 * btfout.c: Moved to...
12329 * btfout.cc: ...here.
12330 * builtins.c: Moved to...
12331 * builtins.cc: ...here.
12332 * caller-save.c: Moved to...
12333 * caller-save.cc: ...here.
12334 * calls.c: Moved to...
12335 * calls.cc: ...here.
12336 * ccmp.c: Moved to...
12337 * ccmp.cc: ...here.
12338 * cfg.c: Moved to...
12339 * cfg.cc: ...here.
12340 * cfganal.c: Moved to...
12341 * cfganal.cc: ...here.
12342 * cfgbuild.c: Moved to...
12343 * cfgbuild.cc: ...here.
12344 * cfgcleanup.c: Moved to...
12345 * cfgcleanup.cc: ...here.
12346 * cfgexpand.c: Moved to...
12347 * cfgexpand.cc: ...here.
12348 * cfghooks.c: Moved to...
12349 * cfghooks.cc: ...here.
12350 * cfgloop.c: Moved to...
12351 * cfgloop.cc: ...here.
12352 * cfgloopanal.c: Moved to...
12353 * cfgloopanal.cc: ...here.
12354 * cfgloopmanip.c: Moved to...
12355 * cfgloopmanip.cc: ...here.
12356 * cfgrtl.c: Moved to...
12357 * cfgrtl.cc: ...here.
12358 * cgraph.c: Moved to...
12359 * cgraph.cc: ...here.
12360 * cgraphbuild.c: Moved to...
12361 * cgraphbuild.cc: ...here.
12362 * cgraphclones.c: Moved to...
12363 * cgraphclones.cc: ...here.
12364 * cgraphunit.c: Moved to...
12365 * cgraphunit.cc: ...here.
12366 * collect-utils.c: Moved to...
12367 * collect-utils.cc: ...here.
12368 * collect2-aix.c: Moved to...
12369 * collect2-aix.cc: ...here.
12370 * collect2.c: Moved to...
12371 * collect2.cc: ...here.
12372 * combine-stack-adj.c: Moved to...
12373 * combine-stack-adj.cc: ...here.
12374 * combine.c: Moved to...
12375 * combine.cc: ...here.
12376 * common/common-targhooks.c: Moved to...
12377 * common/common-targhooks.cc: ...here.
12378 * common/config/aarch64/aarch64-common.c: Moved to...
12379 * common/config/aarch64/aarch64-common.cc: ...here.
12380 * common/config/alpha/alpha-common.c: Moved to...
12381 * common/config/alpha/alpha-common.cc: ...here.
12382 * common/config/arc/arc-common.c: Moved to...
12383 * common/config/arc/arc-common.cc: ...here.
12384 * common/config/arm/arm-common.c: Moved to...
12385 * common/config/arm/arm-common.cc: ...here.
12386 * common/config/avr/avr-common.c: Moved to...
12387 * common/config/avr/avr-common.cc: ...here.
12388 * common/config/bfin/bfin-common.c: Moved to...
12389 * common/config/bfin/bfin-common.cc: ...here.
12390 * common/config/bpf/bpf-common.c: Moved to...
12391 * common/config/bpf/bpf-common.cc: ...here.
12392 * common/config/c6x/c6x-common.c: Moved to...
12393 * common/config/c6x/c6x-common.cc: ...here.
12394 * common/config/cr16/cr16-common.c: Moved to...
12395 * common/config/cr16/cr16-common.cc: ...here.
12396 * common/config/cris/cris-common.c: Moved to...
12397 * common/config/cris/cris-common.cc: ...here.
12398 * common/config/csky/csky-common.c: Moved to...
12399 * common/config/csky/csky-common.cc: ...here.
12400 * common/config/default-common.c: Moved to...
12401 * common/config/default-common.cc: ...here.
12402 * common/config/epiphany/epiphany-common.c: Moved to...
12403 * common/config/epiphany/epiphany-common.cc: ...here.
12404 * common/config/fr30/fr30-common.c: Moved to...
12405 * common/config/fr30/fr30-common.cc: ...here.
12406 * common/config/frv/frv-common.c: Moved to...
12407 * common/config/frv/frv-common.cc: ...here.
12408 * common/config/gcn/gcn-common.c: Moved to...
12409 * common/config/gcn/gcn-common.cc: ...here.
12410 * common/config/h8300/h8300-common.c: Moved to...
12411 * common/config/h8300/h8300-common.cc: ...here.
12412 * common/config/i386/i386-common.c: Moved to...
12413 * common/config/i386/i386-common.cc: ...here.
12414 * common/config/ia64/ia64-common.c: Moved to...
12415 * common/config/ia64/ia64-common.cc: ...here.
12416 * common/config/iq2000/iq2000-common.c: Moved to...
12417 * common/config/iq2000/iq2000-common.cc: ...here.
12418 * common/config/lm32/lm32-common.c: Moved to...
12419 * common/config/lm32/lm32-common.cc: ...here.
12420 * common/config/m32r/m32r-common.c: Moved to...
12421 * common/config/m32r/m32r-common.cc: ...here.
12422 * common/config/m68k/m68k-common.c: Moved to...
12423 * common/config/m68k/m68k-common.cc: ...here.
12424 * common/config/mcore/mcore-common.c: Moved to...
12425 * common/config/mcore/mcore-common.cc: ...here.
12426 * common/config/microblaze/microblaze-common.c: Moved to...
12427 * common/config/microblaze/microblaze-common.cc: ...here.
12428 * common/config/mips/mips-common.c: Moved to...
12429 * common/config/mips/mips-common.cc: ...here.
12430 * common/config/mmix/mmix-common.c: Moved to...
12431 * common/config/mmix/mmix-common.cc: ...here.
12432 * common/config/mn10300/mn10300-common.c: Moved to...
12433 * common/config/mn10300/mn10300-common.cc: ...here.
12434 * common/config/msp430/msp430-common.c: Moved to...
12435 * common/config/msp430/msp430-common.cc: ...here.
12436 * common/config/nds32/nds32-common.c: Moved to...
12437 * common/config/nds32/nds32-common.cc: ...here.
12438 * common/config/nios2/nios2-common.c: Moved to...
12439 * common/config/nios2/nios2-common.cc: ...here.
12440 * common/config/nvptx/nvptx-common.c: Moved to...
12441 * common/config/nvptx/nvptx-common.cc: ...here.
12442 * common/config/or1k/or1k-common.c: Moved to...
12443 * common/config/or1k/or1k-common.cc: ...here.
12444 * common/config/pa/pa-common.c: Moved to...
12445 * common/config/pa/pa-common.cc: ...here.
12446 * common/config/pdp11/pdp11-common.c: Moved to...
12447 * common/config/pdp11/pdp11-common.cc: ...here.
12448 * common/config/pru/pru-common.c: Moved to...
12449 * common/config/pru/pru-common.cc: ...here.
12450 * common/config/riscv/riscv-common.c: Moved to...
12451 * common/config/riscv/riscv-common.cc: ...here.
12452 * common/config/rs6000/rs6000-common.c: Moved to...
12453 * common/config/rs6000/rs6000-common.cc: ...here.
12454 * common/config/rx/rx-common.c: Moved to...
12455 * common/config/rx/rx-common.cc: ...here.
12456 * common/config/s390/s390-common.c: Moved to...
12457 * common/config/s390/s390-common.cc: ...here.
12458 * common/config/sh/sh-common.c: Moved to...
12459 * common/config/sh/sh-common.cc: ...here.
12460 * common/config/sparc/sparc-common.c: Moved to...
12461 * common/config/sparc/sparc-common.cc: ...here.
12462 * common/config/tilegx/tilegx-common.c: Moved to...
12463 * common/config/tilegx/tilegx-common.cc: ...here.
12464 * common/config/tilepro/tilepro-common.c: Moved to...
12465 * common/config/tilepro/tilepro-common.cc: ...here.
12466 * common/config/v850/v850-common.c: Moved to...
12467 * common/config/v850/v850-common.cc: ...here.
12468 * common/config/vax/vax-common.c: Moved to...
12469 * common/config/vax/vax-common.cc: ...here.
12470 * common/config/visium/visium-common.c: Moved to...
12471 * common/config/visium/visium-common.cc: ...here.
12472 * common/config/xstormy16/xstormy16-common.c: Moved to...
12473 * common/config/xstormy16/xstormy16-common.cc: ...here.
12474 * common/config/xtensa/xtensa-common.c: Moved to...
12475 * common/config/xtensa/xtensa-common.cc: ...here.
12476 * compare-elim.c: Moved to...
12477 * compare-elim.cc: ...here.
12478 * config/aarch64/aarch64-bti-insert.c: Moved to...
12479 * config/aarch64/aarch64-bti-insert.cc: ...here.
12480 * config/aarch64/aarch64-builtins.c: Moved to...
12481 * config/aarch64/aarch64-builtins.cc: ...here.
12482 * config/aarch64/aarch64-c.c: Moved to...
12483 * config/aarch64/aarch64-c.cc: ...here.
12484 * config/aarch64/aarch64-d.c: Moved to...
12485 * config/aarch64/aarch64-d.cc: ...here.
12486 * config/aarch64/aarch64.c: Moved to...
12487 * config/aarch64/aarch64.cc: ...here.
12488 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
12489 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
12490 * config/aarch64/driver-aarch64.c: Moved to...
12491 * config/aarch64/driver-aarch64.cc: ...here.
12492 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
12493 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
12494 * config/aarch64/host-aarch64-darwin.c: Moved to...
12495 * config/aarch64/host-aarch64-darwin.cc: ...here.
12496 * config/alpha/alpha.c: Moved to...
12497 * config/alpha/alpha.cc: ...here.
12498 * config/alpha/driver-alpha.c: Moved to...
12499 * config/alpha/driver-alpha.cc: ...here.
12500 * config/arc/arc-c.c: Moved to...
12501 * config/arc/arc-c.cc: ...here.
12502 * config/arc/arc.c: Moved to...
12503 * config/arc/arc.cc: ...here.
12504 * config/arc/driver-arc.c: Moved to...
12505 * config/arc/driver-arc.cc: ...here.
12506 * config/arm/aarch-common.c: Moved to...
12507 * config/arm/aarch-common.cc: ...here.
12508 * config/arm/arm-builtins.c: Moved to...
12509 * config/arm/arm-builtins.cc: ...here.
12510 * config/arm/arm-c.c: Moved to...
12511 * config/arm/arm-c.cc: ...here.
12512 * config/arm/arm-d.c: Moved to...
12513 * config/arm/arm-d.cc: ...here.
12514 * config/arm/arm.c: Moved to...
12515 * config/arm/arm.cc: ...here.
12516 * config/arm/driver-arm.c: Moved to...
12517 * config/arm/driver-arm.cc: ...here.
12518 * config/avr/avr-c.c: Moved to...
12519 * config/avr/avr-c.cc: ...here.
12520 * config/avr/avr-devices.c: Moved to...
12521 * config/avr/avr-devices.cc: ...here.
12522 * config/avr/avr-log.c: Moved to...
12523 * config/avr/avr-log.cc: ...here.
12524 * config/avr/avr.c: Moved to...
12525 * config/avr/avr.cc: ...here.
12526 * config/avr/driver-avr.c: Moved to...
12527 * config/avr/driver-avr.cc: ...here.
12528 * config/avr/gen-avr-mmcu-specs.c: Moved to...
12529 * config/avr/gen-avr-mmcu-specs.cc: ...here.
12530 * config/avr/gen-avr-mmcu-texi.c: Moved to...
12531 * config/avr/gen-avr-mmcu-texi.cc: ...here.
12532 * config/bfin/bfin.c: Moved to...
12533 * config/bfin/bfin.cc: ...here.
12534 * config/bpf/bpf.c: Moved to...
12535 * config/bpf/bpf.cc: ...here.
12536 * config/bpf/coreout.c: Moved to...
12537 * config/bpf/coreout.cc: ...here.
12538 * config/c6x/c6x.c: Moved to...
12539 * config/c6x/c6x.cc: ...here.
12540 * config/cr16/cr16.c: Moved to...
12541 * config/cr16/cr16.cc: ...here.
12542 * config/cris/cris.c: Moved to...
12543 * config/cris/cris.cc: ...here.
12544 * config/csky/csky.c: Moved to...
12545 * config/csky/csky.cc: ...here.
12546 * config/darwin-c.c: Moved to...
12547 * config/darwin-c.cc: ...here.
12548 * config/darwin-d.c: Moved to...
12549 * config/darwin-d.cc: ...here.
12550 * config/darwin-driver.c: Moved to...
12551 * config/darwin-driver.cc: ...here.
12552 * config/darwin-f.c: Moved to...
12553 * config/darwin-f.cc: ...here.
12554 * config/darwin.c: Moved to...
12555 * config/darwin.cc: ...here.
12556 * config/default-c.c: Moved to...
12557 * config/default-c.cc: ...here.
12558 * config/default-d.c: Moved to...
12559 * config/default-d.cc: ...here.
12560 * config/dragonfly-d.c: Moved to...
12561 * config/dragonfly-d.cc: ...here.
12562 * config/epiphany/epiphany.c: Moved to...
12563 * config/epiphany/epiphany.cc: ...here.
12564 * config/epiphany/mode-switch-use.c: Moved to...
12565 * config/epiphany/mode-switch-use.cc: ...here.
12566 * config/epiphany/resolve-sw-modes.c: Moved to...
12567 * config/epiphany/resolve-sw-modes.cc: ...here.
12568 * config/fr30/fr30.c: Moved to...
12569 * config/fr30/fr30.cc: ...here.
12570 * config/freebsd-d.c: Moved to...
12571 * config/freebsd-d.cc: ...here.
12572 * config/frv/frv.c: Moved to...
12573 * config/frv/frv.cc: ...here.
12574 * config/ft32/ft32.c: Moved to...
12575 * config/ft32/ft32.cc: ...here.
12576 * config/gcn/driver-gcn.c: Moved to...
12577 * config/gcn/driver-gcn.cc: ...here.
12578 * config/gcn/gcn-run.c: Moved to...
12579 * config/gcn/gcn-run.cc: ...here.
12580 * config/gcn/gcn-tree.c: Moved to...
12581 * config/gcn/gcn-tree.cc: ...here.
12582 * config/gcn/gcn.c: Moved to...
12583 * config/gcn/gcn.cc: ...here.
12584 * config/gcn/mkoffload.c: Moved to...
12585 * config/gcn/mkoffload.cc: ...here.
12586 * config/glibc-c.c: Moved to...
12587 * config/glibc-c.cc: ...here.
12588 * config/glibc-d.c: Moved to...
12589 * config/glibc-d.cc: ...here.
12590 * config/h8300/h8300.c: Moved to...
12591 * config/h8300/h8300.cc: ...here.
12592 * config/host-darwin.c: Moved to...
12593 * config/host-darwin.cc: ...here.
12594 * config/host-hpux.c: Moved to...
12595 * config/host-hpux.cc: ...here.
12596 * config/host-linux.c: Moved to...
12597 * config/host-linux.cc: ...here.
12598 * config/host-netbsd.c: Moved to...
12599 * config/host-netbsd.cc: ...here.
12600 * config/host-openbsd.c: Moved to...
12601 * config/host-openbsd.cc: ...here.
12602 * config/host-solaris.c: Moved to...
12603 * config/host-solaris.cc: ...here.
12604 * config/i386/djgpp.c: Moved to...
12605 * config/i386/djgpp.cc: ...here.
12606 * config/i386/driver-i386.c: Moved to...
12607 * config/i386/driver-i386.cc: ...here.
12608 * config/i386/driver-mingw32.c: Moved to...
12609 * config/i386/driver-mingw32.cc: ...here.
12610 * config/i386/gnu-property.c: Moved to...
12611 * config/i386/gnu-property.cc: ...here.
12612 * config/i386/host-cygwin.c: Moved to...
12613 * config/i386/host-cygwin.cc: ...here.
12614 * config/i386/host-i386-darwin.c: Moved to...
12615 * config/i386/host-i386-darwin.cc: ...here.
12616 * config/i386/host-mingw32.c: Moved to...
12617 * config/i386/host-mingw32.cc: ...here.
12618 * config/i386/i386-builtins.c: Moved to...
12619 * config/i386/i386-builtins.cc: ...here.
12620 * config/i386/i386-c.c: Moved to...
12621 * config/i386/i386-c.cc: ...here.
12622 * config/i386/i386-d.c: Moved to...
12623 * config/i386/i386-d.cc: ...here.
12624 * config/i386/i386-expand.c: Moved to...
12625 * config/i386/i386-expand.cc: ...here.
12626 * config/i386/i386-features.c: Moved to...
12627 * config/i386/i386-features.cc: ...here.
12628 * config/i386/i386-options.c: Moved to...
12629 * config/i386/i386-options.cc: ...here.
12630 * config/i386/i386.c: Moved to...
12631 * config/i386/i386.cc: ...here.
12632 * config/i386/intelmic-mkoffload.c: Moved to...
12633 * config/i386/intelmic-mkoffload.cc: ...here.
12634 * config/i386/msformat-c.c: Moved to...
12635 * config/i386/msformat-c.cc: ...here.
12636 * config/i386/winnt-cxx.c: Moved to...
12637 * config/i386/winnt-cxx.cc: ...here.
12638 * config/i386/winnt-d.c: Moved to...
12639 * config/i386/winnt-d.cc: ...here.
12640 * config/i386/winnt-stubs.c: Moved to...
12641 * config/i386/winnt-stubs.cc: ...here.
12642 * config/i386/winnt.c: Moved to...
12643 * config/i386/winnt.cc: ...here.
12644 * config/i386/x86-tune-sched-atom.c: Moved to...
12645 * config/i386/x86-tune-sched-atom.cc: ...here.
12646 * config/i386/x86-tune-sched-bd.c: Moved to...
12647 * config/i386/x86-tune-sched-bd.cc: ...here.
12648 * config/i386/x86-tune-sched-core.c: Moved to...
12649 * config/i386/x86-tune-sched-core.cc: ...here.
12650 * config/i386/x86-tune-sched.c: Moved to...
12651 * config/i386/x86-tune-sched.cc: ...here.
12652 * config/ia64/ia64-c.c: Moved to...
12653 * config/ia64/ia64-c.cc: ...here.
12654 * config/ia64/ia64.c: Moved to...
12655 * config/ia64/ia64.cc: ...here.
12656 * config/iq2000/iq2000.c: Moved to...
12657 * config/iq2000/iq2000.cc: ...here.
12658 * config/linux.c: Moved to...
12659 * config/linux.cc: ...here.
12660 * config/lm32/lm32.c: Moved to...
12661 * config/lm32/lm32.cc: ...here.
12662 * config/m32c/m32c-pragma.c: Moved to...
12663 * config/m32c/m32c-pragma.cc: ...here.
12664 * config/m32c/m32c.c: Moved to...
12665 * config/m32c/m32c.cc: ...here.
12666 * config/m32r/m32r.c: Moved to...
12667 * config/m32r/m32r.cc: ...here.
12668 * config/m68k/m68k.c: Moved to...
12669 * config/m68k/m68k.cc: ...here.
12670 * config/mcore/mcore.c: Moved to...
12671 * config/mcore/mcore.cc: ...here.
12672 * config/microblaze/microblaze-c.c: Moved to...
12673 * config/microblaze/microblaze-c.cc: ...here.
12674 * config/microblaze/microblaze.c: Moved to...
12675 * config/microblaze/microblaze.cc: ...here.
12676 * config/mips/driver-native.c: Moved to...
12677 * config/mips/driver-native.cc: ...here.
12678 * config/mips/frame-header-opt.c: Moved to...
12679 * config/mips/frame-header-opt.cc: ...here.
12680 * config/mips/mips-d.c: Moved to...
12681 * config/mips/mips-d.cc: ...here.
12682 * config/mips/mips.c: Moved to...
12683 * config/mips/mips.cc: ...here.
12684 * config/mmix/mmix.c: Moved to...
12685 * config/mmix/mmix.cc: ...here.
12686 * config/mn10300/mn10300.c: Moved to...
12687 * config/mn10300/mn10300.cc: ...here.
12688 * config/moxie/moxie.c: Moved to...
12689 * config/moxie/moxie.cc: ...here.
12690 * config/msp430/driver-msp430.c: Moved to...
12691 * config/msp430/driver-msp430.cc: ...here.
12692 * config/msp430/msp430-c.c: Moved to...
12693 * config/msp430/msp430-c.cc: ...here.
12694 * config/msp430/msp430-devices.c: Moved to...
12695 * config/msp430/msp430-devices.cc: ...here.
12696 * config/msp430/msp430.c: Moved to...
12697 * config/msp430/msp430.cc: ...here.
12698 * config/nds32/nds32-cost.c: Moved to...
12699 * config/nds32/nds32-cost.cc: ...here.
12700 * config/nds32/nds32-fp-as-gp.c: Moved to...
12701 * config/nds32/nds32-fp-as-gp.cc: ...here.
12702 * config/nds32/nds32-intrinsic.c: Moved to...
12703 * config/nds32/nds32-intrinsic.cc: ...here.
12704 * config/nds32/nds32-isr.c: Moved to...
12705 * config/nds32/nds32-isr.cc: ...here.
12706 * config/nds32/nds32-md-auxiliary.c: Moved to...
12707 * config/nds32/nds32-md-auxiliary.cc: ...here.
12708 * config/nds32/nds32-memory-manipulation.c: Moved to...
12709 * config/nds32/nds32-memory-manipulation.cc: ...here.
12710 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
12711 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
12712 * config/nds32/nds32-predicates.c: Moved to...
12713 * config/nds32/nds32-predicates.cc: ...here.
12714 * config/nds32/nds32-relax-opt.c: Moved to...
12715 * config/nds32/nds32-relax-opt.cc: ...here.
12716 * config/nds32/nds32-utils.c: Moved to...
12717 * config/nds32/nds32-utils.cc: ...here.
12718 * config/nds32/nds32.c: Moved to...
12719 * config/nds32/nds32.cc: ...here.
12720 * config/netbsd-d.c: Moved to...
12721 * config/netbsd-d.cc: ...here.
12722 * config/netbsd.c: Moved to...
12723 * config/netbsd.cc: ...here.
12724 * config/nios2/nios2.c: Moved to...
12725 * config/nios2/nios2.cc: ...here.
12726 * config/nvptx/mkoffload.c: Moved to...
12727 * config/nvptx/mkoffload.cc: ...here.
12728 * config/nvptx/nvptx-c.c: Moved to...
12729 * config/nvptx/nvptx-c.cc: ...here.
12730 * config/nvptx/nvptx.c: Moved to...
12731 * config/nvptx/nvptx.cc: ...here.
12732 * config/openbsd-d.c: Moved to...
12733 * config/openbsd-d.cc: ...here.
12734 * config/or1k/or1k.c: Moved to...
12735 * config/or1k/or1k.cc: ...here.
12736 * config/pa/pa-d.c: Moved to...
12737 * config/pa/pa-d.cc: ...here.
12738 * config/pa/pa.c: Moved to...
12739 * config/pa/pa.cc: ...here.
12740 * config/pdp11/pdp11.c: Moved to...
12741 * config/pdp11/pdp11.cc: ...here.
12742 * config/pru/pru-passes.c: Moved to...
12743 * config/pru/pru-passes.cc: ...here.
12744 * config/pru/pru-pragma.c: Moved to...
12745 * config/pru/pru-pragma.cc: ...here.
12746 * config/pru/pru.c: Moved to...
12747 * config/pru/pru.cc: ...here.
12748 * config/riscv/riscv-builtins.c: Moved to...
12749 * config/riscv/riscv-builtins.cc: ...here.
12750 * config/riscv/riscv-c.c: Moved to...
12751 * config/riscv/riscv-c.cc: ...here.
12752 * config/riscv/riscv-d.c: Moved to...
12753 * config/riscv/riscv-d.cc: ...here.
12754 * config/riscv/riscv-shorten-memrefs.c: Moved to...
12755 * config/riscv/riscv-shorten-memrefs.cc: ...here.
12756 * config/riscv/riscv-sr.c: Moved to...
12757 * config/riscv/riscv-sr.cc: ...here.
12758 * config/riscv/riscv.c: Moved to...
12759 * config/riscv/riscv.cc: ...here.
12760 * config/rl78/rl78-c.c: Moved to...
12761 * config/rl78/rl78-c.cc: ...here.
12762 * config/rl78/rl78.c: Moved to...
12763 * config/rl78/rl78.cc: ...here.
12764 * config/rs6000/driver-rs6000.c: Moved to...
12765 * config/rs6000/driver-rs6000.cc: ...here.
12766 * config/rs6000/host-darwin.c: Moved to...
12767 * config/rs6000/host-darwin.cc: ...here.
12768 * config/rs6000/host-ppc64-darwin.c: Moved to...
12769 * config/rs6000/host-ppc64-darwin.cc: ...here.
12770 * config/rs6000/rbtree.c: Moved to...
12771 * config/rs6000/rbtree.cc: ...here.
12772 * config/rs6000/rs6000-c.c: Moved to...
12773 * config/rs6000/rs6000-c.cc: ...here.
12774 * config/rs6000/rs6000-call.c: Moved to...
12775 * config/rs6000/rs6000-call.cc: ...here.
12776 * config/rs6000/rs6000-d.c: Moved to...
12777 * config/rs6000/rs6000-d.cc: ...here.
12778 * config/rs6000/rs6000-gen-builtins.c: Moved to...
12779 * config/rs6000/rs6000-gen-builtins.cc: ...here.
12780 * config/rs6000/rs6000-linux.c: Moved to...
12781 * config/rs6000/rs6000-linux.cc: ...here.
12782 * config/rs6000/rs6000-logue.c: Moved to...
12783 * config/rs6000/rs6000-logue.cc: ...here.
12784 * config/rs6000/rs6000-p8swap.c: Moved to...
12785 * config/rs6000/rs6000-p8swap.cc: ...here.
12786 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
12787 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
12788 * config/rs6000/rs6000-string.c: Moved to...
12789 * config/rs6000/rs6000-string.cc: ...here.
12790 * config/rs6000/rs6000.c: Moved to...
12791 * config/rs6000/rs6000.cc: ...here.
12792 * config/rx/rx.c: Moved to...
12793 * config/rx/rx.cc: ...here.
12794 * config/s390/driver-native.c: Moved to...
12795 * config/s390/driver-native.cc: ...here.
12796 * config/s390/s390-c.c: Moved to...
12797 * config/s390/s390-c.cc: ...here.
12798 * config/s390/s390-d.c: Moved to...
12799 * config/s390/s390-d.cc: ...here.
12800 * config/s390/s390.c: Moved to...
12801 * config/s390/s390.cc: ...here.
12802 * config/sh/divtab-sh4-300.c: Moved to...
12803 * config/sh/divtab-sh4-300.cc: ...here.
12804 * config/sh/divtab-sh4.c: Moved to...
12805 * config/sh/divtab-sh4.cc: ...here.
12806 * config/sh/divtab.c: Moved to...
12807 * config/sh/divtab.cc: ...here.
12808 * config/sh/sh-c.c: Moved to...
12809 * config/sh/sh-c.cc: ...here.
12810 * config/sh/sh.c: Moved to...
12811 * config/sh/sh.cc: ...here.
12812 * config/sol2-c.c: Moved to...
12813 * config/sol2-c.cc: ...here.
12814 * config/sol2-cxx.c: Moved to...
12815 * config/sol2-cxx.cc: ...here.
12816 * config/sol2-d.c: Moved to...
12817 * config/sol2-d.cc: ...here.
12818 * config/sol2-stubs.c: Moved to...
12819 * config/sol2-stubs.cc: ...here.
12820 * config/sol2.c: Moved to...
12821 * config/sol2.cc: ...here.
12822 * config/sparc/driver-sparc.c: Moved to...
12823 * config/sparc/driver-sparc.cc: ...here.
12824 * config/sparc/sparc-c.c: Moved to...
12825 * config/sparc/sparc-c.cc: ...here.
12826 * config/sparc/sparc-d.c: Moved to...
12827 * config/sparc/sparc-d.cc: ...here.
12828 * config/sparc/sparc.c: Moved to...
12829 * config/sparc/sparc.cc: ...here.
12830 * config/stormy16/stormy16.c: Moved to...
12831 * config/stormy16/stormy16.cc: ...here.
12832 * config/tilegx/mul-tables.c: Moved to...
12833 * config/tilegx/mul-tables.cc: ...here.
12834 * config/tilegx/tilegx-c.c: Moved to...
12835 * config/tilegx/tilegx-c.cc: ...here.
12836 * config/tilegx/tilegx.c: Moved to...
12837 * config/tilegx/tilegx.cc: ...here.
12838 * config/tilepro/mul-tables.c: Moved to...
12839 * config/tilepro/mul-tables.cc: ...here.
12840 * config/tilepro/tilepro-c.c: Moved to...
12841 * config/tilepro/tilepro-c.cc: ...here.
12842 * config/tilepro/tilepro.c: Moved to...
12843 * config/tilepro/tilepro.cc: ...here.
12844 * config/v850/v850-c.c: Moved to...
12845 * config/v850/v850-c.cc: ...here.
12846 * config/v850/v850.c: Moved to...
12847 * config/v850/v850.cc: ...here.
12848 * config/vax/vax.c: Moved to...
12849 * config/vax/vax.cc: ...here.
12850 * config/visium/visium.c: Moved to...
12851 * config/visium/visium.cc: ...here.
12852 * config/vms/vms-c.c: Moved to...
12853 * config/vms/vms-c.cc: ...here.
12854 * config/vms/vms-f.c: Moved to...
12855 * config/vms/vms-f.cc: ...here.
12856 * config/vms/vms.c: Moved to...
12857 * config/vms/vms.cc: ...here.
12858 * config/vxworks-c.c: Moved to...
12859 * config/vxworks-c.cc: ...here.
12860 * config/vxworks.c: Moved to...
12861 * config/vxworks.cc: ...here.
12862 * config/winnt-c.c: Moved to...
12863 * config/winnt-c.cc: ...here.
12864 * config/xtensa/xtensa.c: Moved to...
12865 * config/xtensa/xtensa.cc: ...here.
12866 * context.c: Moved to...
12867 * context.cc: ...here.
12868 * convert.c: Moved to...
12869 * convert.cc: ...here.
12870 * coverage.c: Moved to...
12871 * coverage.cc: ...here.
12872 * cppbuiltin.c: Moved to...
12873 * cppbuiltin.cc: ...here.
12874 * cppdefault.c: Moved to...
12875 * cppdefault.cc: ...here.
12876 * cprop.c: Moved to...
12877 * cprop.cc: ...here.
12878 * cse.c: Moved to...
12879 * cse.cc: ...here.
12880 * cselib.c: Moved to...
12881 * cselib.cc: ...here.
12882 * ctfc.c: Moved to...
12883 * ctfc.cc: ...here.
12884 * ctfout.c: Moved to...
12885 * ctfout.cc: ...here.
12886 * data-streamer-in.c: Moved to...
12887 * data-streamer-in.cc: ...here.
12888 * data-streamer-out.c: Moved to...
12889 * data-streamer-out.cc: ...here.
12890 * data-streamer.c: Moved to...
12891 * data-streamer.cc: ...here.
12892 * dbgcnt.c: Moved to...
12893 * dbgcnt.cc: ...here.
12894 * dbxout.c: Moved to...
12895 * dbxout.cc: ...here.
12896 * dce.c: Moved to...
12897 * dce.cc: ...here.
12898 * ddg.c: Moved to...
12899 * ddg.cc: ...here.
12900 * debug.c: Moved to...
12901 * debug.cc: ...here.
12902 * df-core.c: Moved to...
12903 * df-core.cc: ...here.
12904 * df-problems.c: Moved to...
12905 * df-problems.cc: ...here.
12906 * df-scan.c: Moved to...
12907 * df-scan.cc: ...here.
12908 * dfp.c: Moved to...
12909 * dfp.cc: ...here.
12910 * diagnostic-color.c: Moved to...
12911 * diagnostic-color.cc: ...here.
12912 * diagnostic-show-locus.c: Moved to...
12913 * diagnostic-show-locus.cc: ...here.
12914 * diagnostic-spec.c: Moved to...
12915 * diagnostic-spec.cc: ...here.
12916 * diagnostic.c: Moved to...
12917 * diagnostic.cc: ...here.
12918 * dojump.c: Moved to...
12919 * dojump.cc: ...here.
12920 * dominance.c: Moved to...
12921 * dominance.cc: ...here.
12922 * domwalk.c: Moved to...
12923 * domwalk.cc: ...here.
12924 * double-int.c: Moved to...
12925 * double-int.cc: ...here.
12926 * dse.c: Moved to...
12927 * dse.cc: ...here.
12928 * dumpfile.c: Moved to...
12929 * dumpfile.cc: ...here.
12930 * dwarf2asm.c: Moved to...
12931 * dwarf2asm.cc: ...here.
12932 * dwarf2cfi.c: Moved to...
12933 * dwarf2cfi.cc: ...here.
12934 * dwarf2ctf.c: Moved to...
12935 * dwarf2ctf.cc: ...here.
12936 * dwarf2out.c: Moved to...
12937 * dwarf2out.cc: ...here.
12938 * early-remat.c: Moved to...
12939 * early-remat.cc: ...here.
12940 * edit-context.c: Moved to...
12941 * edit-context.cc: ...here.
12942 * emit-rtl.c: Moved to...
12943 * emit-rtl.cc: ...here.
12944 * errors.c: Moved to...
12945 * errors.cc: ...here.
12946 * et-forest.c: Moved to...
12947 * et-forest.cc: ...here.
12948 * except.c: Moved to...
12949 * except.cc: ...here.
12950 * explow.c: Moved to...
12951 * explow.cc: ...here.
12952 * expmed.c: Moved to...
12953 * expmed.cc: ...here.
12954 * expr.c: Moved to...
12955 * expr.cc: ...here.
12956 * fibonacci_heap.c: Moved to...
12957 * fibonacci_heap.cc: ...here.
12958 * file-find.c: Moved to...
12959 * file-find.cc: ...here.
12960 * file-prefix-map.c: Moved to...
12961 * file-prefix-map.cc: ...here.
12962 * final.c: Moved to...
12963 * final.cc: ...here.
12964 * fixed-value.c: Moved to...
12965 * fixed-value.cc: ...here.
12966 * fold-const-call.c: Moved to...
12967 * fold-const-call.cc: ...here.
12968 * fold-const.c: Moved to...
12969 * fold-const.cc: ...here.
12970 * fp-test.c: Moved to...
12971 * fp-test.cc: ...here.
12972 * function-tests.c: Moved to...
12973 * function-tests.cc: ...here.
12974 * function.c: Moved to...
12975 * function.cc: ...here.
12976 * fwprop.c: Moved to...
12977 * fwprop.cc: ...here.
12978 * gcc-ar.c: Moved to...
12979 * gcc-ar.cc: ...here.
12980 * gcc-main.c: Moved to...
12981 * gcc-main.cc: ...here.
12982 * gcc-rich-location.c: Moved to...
12983 * gcc-rich-location.cc: ...here.
12984 * gcc.c: Moved to...
12985 * gcc.cc: ...here.
12986 * gcov-dump.c: Moved to...
12987 * gcov-dump.cc: ...here.
12988 * gcov-io.c: Moved to...
12989 * gcov-io.cc: ...here.
12990 * gcov-tool.c: Moved to...
12991 * gcov-tool.cc: ...here.
12992 * gcov.c: Moved to...
12993 * gcov.cc: ...here.
12994 * gcse-common.c: Moved to...
12995 * gcse-common.cc: ...here.
12996 * gcse.c: Moved to...
12997 * gcse.cc: ...here.
12998 * genattr-common.c: Moved to...
12999 * genattr-common.cc: ...here.
13000 * genattr.c: Moved to...
13001 * genattr.cc: ...here.
13002 * genattrtab.c: Moved to...
13003 * genattrtab.cc: ...here.
13004 * genautomata.c: Moved to...
13005 * genautomata.cc: ...here.
13006 * gencfn-macros.c: Moved to...
13007 * gencfn-macros.cc: ...here.
13008 * gencheck.c: Moved to...
13009 * gencheck.cc: ...here.
13010 * genchecksum.c: Moved to...
13011 * genchecksum.cc: ...here.
13012 * gencodes.c: Moved to...
13013 * gencodes.cc: ...here.
13014 * genconditions.c: Moved to...
13015 * genconditions.cc: ...here.
13016 * genconfig.c: Moved to...
13017 * genconfig.cc: ...here.
13018 * genconstants.c: Moved to...
13019 * genconstants.cc: ...here.
13020 * genemit.c: Moved to...
13021 * genemit.cc: ...here.
13022 * genenums.c: Moved to...
13023 * genenums.cc: ...here.
13024 * generic-match-head.c: Moved to...
13025 * generic-match-head.cc: ...here.
13026 * genextract.c: Moved to...
13027 * genextract.cc: ...here.
13028 * genflags.c: Moved to...
13029 * genflags.cc: ...here.
13030 * gengenrtl.c: Moved to...
13031 * gengenrtl.cc: ...here.
13032 * gengtype-parse.c: Moved to...
13033 * gengtype-parse.cc: ...here.
13034 * gengtype-state.c: Moved to...
13035 * gengtype-state.cc: ...here.
13036 * gengtype.c: Moved to...
13037 * gengtype.cc: ...here.
13038 * genhooks.c: Moved to...
13039 * genhooks.cc: ...here.
13040 * genmatch.c: Moved to...
13041 * genmatch.cc: ...here.
13042 * genmddeps.c: Moved to...
13043 * genmddeps.cc: ...here.
13044 * genmddump.c: Moved to...
13045 * genmddump.cc: ...here.
13046 * genmodes.c: Moved to...
13047 * genmodes.cc: ...here.
13048 * genopinit.c: Moved to...
13049 * genopinit.cc: ...here.
13050 * genoutput.c: Moved to...
13051 * genoutput.cc: ...here.
13052 * genpeep.c: Moved to...
13053 * genpeep.cc: ...here.
13054 * genpreds.c: Moved to...
13055 * genpreds.cc: ...here.
13056 * genrecog.c: Moved to...
13057 * genrecog.cc: ...here.
13058 * gensupport.c: Moved to...
13059 * gensupport.cc: ...here.
13060 * gentarget-def.c: Moved to...
13061 * gentarget-def.cc: ...here.
13062 * genversion.c: Moved to...
13063 * genversion.cc: ...here.
13064 * ggc-common.c: Moved to...
13065 * ggc-common.cc: ...here.
13066 * ggc-none.c: Moved to...
13067 * ggc-none.cc: ...here.
13068 * ggc-page.c: Moved to...
13069 * ggc-page.cc: ...here.
13070 * ggc-tests.c: Moved to...
13071 * ggc-tests.cc: ...here.
13072 * gimple-builder.c: Moved to...
13073 * gimple-builder.cc: ...here.
13074 * gimple-expr.c: Moved to...
13075 * gimple-expr.cc: ...here.
13076 * gimple-fold.c: Moved to...
13077 * gimple-fold.cc: ...here.
13078 * gimple-iterator.c: Moved to...
13079 * gimple-iterator.cc: ...here.
13080 * gimple-laddress.c: Moved to...
13081 * gimple-laddress.cc: ...here.
13082 * gimple-loop-jam.c: Moved to...
13083 * gimple-loop-jam.cc: ...here.
13084 * gimple-low.c: Moved to...
13085 * gimple-low.cc: ...here.
13086 * gimple-match-head.c: Moved to...
13087 * gimple-match-head.cc: ...here.
13088 * gimple-pretty-print.c: Moved to...
13089 * gimple-pretty-print.cc: ...here.
13090 * gimple-ssa-backprop.c: Moved to...
13091 * gimple-ssa-backprop.cc: ...here.
13092 * gimple-ssa-evrp-analyze.c: Moved to...
13093 * gimple-ssa-evrp-analyze.cc: ...here.
13094 * gimple-ssa-evrp.c: Moved to...
13095 * gimple-ssa-evrp.cc: ...here.
13096 * gimple-ssa-isolate-paths.c: Moved to...
13097 * gimple-ssa-isolate-paths.cc: ...here.
13098 * gimple-ssa-nonnull-compare.c: Moved to...
13099 * gimple-ssa-nonnull-compare.cc: ...here.
13100 * gimple-ssa-split-paths.c: Moved to...
13101 * gimple-ssa-split-paths.cc: ...here.
13102 * gimple-ssa-sprintf.c: Moved to...
13103 * gimple-ssa-sprintf.cc: ...here.
13104 * gimple-ssa-store-merging.c: Moved to...
13105 * gimple-ssa-store-merging.cc: ...here.
13106 * gimple-ssa-strength-reduction.c: Moved to...
13107 * gimple-ssa-strength-reduction.cc: ...here.
13108 * gimple-ssa-warn-alloca.c: Moved to...
13109 * gimple-ssa-warn-alloca.cc: ...here.
13110 * gimple-ssa-warn-restrict.c: Moved to...
13111 * gimple-ssa-warn-restrict.cc: ...here.
13112 * gimple-streamer-in.c: Moved to...
13113 * gimple-streamer-in.cc: ...here.
13114 * gimple-streamer-out.c: Moved to...
13115 * gimple-streamer-out.cc: ...here.
13116 * gimple-walk.c: Moved to...
13117 * gimple-walk.cc: ...here.
13118 * gimple-warn-recursion.c: Moved to...
13119 * gimple-warn-recursion.cc: ...here.
13120 * gimple.c: Moved to...
13121 * gimple.cc: ...here.
13122 * gimplify-me.c: Moved to...
13123 * gimplify-me.cc: ...here.
13124 * gimplify.c: Moved to...
13125 * gimplify.cc: ...here.
13126 * godump.c: Moved to...
13127 * godump.cc: ...here.
13128 * graph.c: Moved to...
13129 * graph.cc: ...here.
13130 * graphds.c: Moved to...
13131 * graphds.cc: ...here.
13132 * graphite-dependences.c: Moved to...
13133 * graphite-dependences.cc: ...here.
13134 * graphite-isl-ast-to-gimple.c: Moved to...
13135 * graphite-isl-ast-to-gimple.cc: ...here.
13136 * graphite-optimize-isl.c: Moved to...
13137 * graphite-optimize-isl.cc: ...here.
13138 * graphite-poly.c: Moved to...
13139 * graphite-poly.cc: ...here.
13140 * graphite-scop-detection.c: Moved to...
13141 * graphite-scop-detection.cc: ...here.
13142 * graphite-sese-to-poly.c: Moved to...
13143 * graphite-sese-to-poly.cc: ...here.
13144 * graphite.c: Moved to...
13145 * graphite.cc: ...here.
13146 * haifa-sched.c: Moved to...
13147 * haifa-sched.cc: ...here.
13148 * hash-map-tests.c: Moved to...
13149 * hash-map-tests.cc: ...here.
13150 * hash-set-tests.c: Moved to...
13151 * hash-set-tests.cc: ...here.
13152 * hash-table.c: Moved to...
13153 * hash-table.cc: ...here.
13154 * hooks.c: Moved to...
13155 * hooks.cc: ...here.
13156 * host-default.c: Moved to...
13157 * host-default.cc: ...here.
13158 * hw-doloop.c: Moved to...
13159 * hw-doloop.cc: ...here.
13160 * hwint.c: Moved to...
13161 * hwint.cc: ...here.
13162 * ifcvt.c: Moved to...
13163 * ifcvt.cc: ...here.
13164 * inchash.c: Moved to...
13165 * inchash.cc: ...here.
13166 * incpath.c: Moved to...
13167 * incpath.cc: ...here.
13168 * init-regs.c: Moved to...
13169 * init-regs.cc: ...here.
13170 * input.c: Moved to...
13171 * input.cc: ...here.
13172 * internal-fn.c: Moved to...
13173 * internal-fn.cc: ...here.
13174 * intl.c: Moved to...
13175 * intl.cc: ...here.
13176 * ipa-comdats.c: Moved to...
13177 * ipa-comdats.cc: ...here.
13178 * ipa-cp.c: Moved to...
13179 * ipa-cp.cc: ...here.
13180 * ipa-devirt.c: Moved to...
13181 * ipa-devirt.cc: ...here.
13182 * ipa-fnsummary.c: Moved to...
13183 * ipa-fnsummary.cc: ...here.
13184 * ipa-icf-gimple.c: Moved to...
13185 * ipa-icf-gimple.cc: ...here.
13186 * ipa-icf.c: Moved to...
13187 * ipa-icf.cc: ...here.
13188 * ipa-inline-analysis.c: Moved to...
13189 * ipa-inline-analysis.cc: ...here.
13190 * ipa-inline-transform.c: Moved to...
13191 * ipa-inline-transform.cc: ...here.
13192 * ipa-inline.c: Moved to...
13193 * ipa-inline.cc: ...here.
13194 * ipa-modref-tree.c: Moved to...
13195 * ipa-modref-tree.cc: ...here.
13196 * ipa-modref.c: Moved to...
13197 * ipa-modref.cc: ...here.
13198 * ipa-param-manipulation.c: Moved to...
13199 * ipa-param-manipulation.cc: ...here.
13200 * ipa-polymorphic-call.c: Moved to...
13201 * ipa-polymorphic-call.cc: ...here.
13202 * ipa-predicate.c: Moved to...
13203 * ipa-predicate.cc: ...here.
13204 * ipa-profile.c: Moved to...
13205 * ipa-profile.cc: ...here.
13206 * ipa-prop.c: Moved to...
13207 * ipa-prop.cc: ...here.
13208 * ipa-pure-const.c: Moved to...
13209 * ipa-pure-const.cc: ...here.
13210 * ipa-ref.c: Moved to...
13211 * ipa-ref.cc: ...here.
13212 * ipa-reference.c: Moved to...
13213 * ipa-reference.cc: ...here.
13214 * ipa-split.c: Moved to...
13215 * ipa-split.cc: ...here.
13216 * ipa-sra.c: Moved to...
13217 * ipa-sra.cc: ...here.
13218 * ipa-utils.c: Moved to...
13219 * ipa-utils.cc: ...here.
13220 * ipa-visibility.c: Moved to...
13221 * ipa-visibility.cc: ...here.
13222 * ipa.c: Moved to...
13223 * ipa.cc: ...here.
13224 * ira-build.c: Moved to...
13225 * ira-build.cc: ...here.
13226 * ira-color.c: Moved to...
13227 * ira-color.cc: ...here.
13228 * ira-conflicts.c: Moved to...
13229 * ira-conflicts.cc: ...here.
13230 * ira-costs.c: Moved to...
13231 * ira-costs.cc: ...here.
13232 * ira-emit.c: Moved to...
13233 * ira-emit.cc: ...here.
13234 * ira-lives.c: Moved to...
13235 * ira-lives.cc: ...here.
13236 * ira.c: Moved to...
13237 * ira.cc: ...here.
13238 * jump.c: Moved to...
13239 * jump.cc: ...here.
13240 * langhooks.c: Moved to...
13241 * langhooks.cc: ...here.
13242 * lcm.c: Moved to...
13243 * lcm.cc: ...here.
13244 * lists.c: Moved to...
13245 * lists.cc: ...here.
13246 * loop-doloop.c: Moved to...
13247 * loop-doloop.cc: ...here.
13248 * loop-init.c: Moved to...
13249 * loop-init.cc: ...here.
13250 * loop-invariant.c: Moved to...
13251 * loop-invariant.cc: ...here.
13252 * loop-iv.c: Moved to...
13253 * loop-iv.cc: ...here.
13254 * loop-unroll.c: Moved to...
13255 * loop-unroll.cc: ...here.
13256 * lower-subreg.c: Moved to...
13257 * lower-subreg.cc: ...here.
13258 * lra-assigns.c: Moved to...
13259 * lra-assigns.cc: ...here.
13260 * lra-coalesce.c: Moved to...
13261 * lra-coalesce.cc: ...here.
13262 * lra-constraints.c: Moved to...
13263 * lra-constraints.cc: ...here.
13264 * lra-eliminations.c: Moved to...
13265 * lra-eliminations.cc: ...here.
13266 * lra-lives.c: Moved to...
13267 * lra-lives.cc: ...here.
13268 * lra-remat.c: Moved to...
13269 * lra-remat.cc: ...here.
13270 * lra-spills.c: Moved to...
13271 * lra-spills.cc: ...here.
13272 * lra.c: Moved to...
13273 * lra.cc: ...here.
13274 * lto-cgraph.c: Moved to...
13275 * lto-cgraph.cc: ...here.
13276 * lto-compress.c: Moved to...
13277 * lto-compress.cc: ...here.
13278 * lto-opts.c: Moved to...
13279 * lto-opts.cc: ...here.
13280 * lto-section-in.c: Moved to...
13281 * lto-section-in.cc: ...here.
13282 * lto-section-out.c: Moved to...
13283 * lto-section-out.cc: ...here.
13284 * lto-streamer-in.c: Moved to...
13285 * lto-streamer-in.cc: ...here.
13286 * lto-streamer-out.c: Moved to...
13287 * lto-streamer-out.cc: ...here.
13288 * lto-streamer.c: Moved to...
13289 * lto-streamer.cc: ...here.
13290 * lto-wrapper.c: Moved to...
13291 * lto-wrapper.cc: ...here.
13292 * main.c: Moved to...
13293 * main.cc: ...here.
13294 * mcf.c: Moved to...
13295 * mcf.cc: ...here.
13296 * mode-switching.c: Moved to...
13297 * mode-switching.cc: ...here.
13298 * modulo-sched.c: Moved to...
13299 * modulo-sched.cc: ...here.
13300 * multiple_target.c: Moved to...
13301 * multiple_target.cc: ...here.
13302 * omp-expand.c: Moved to...
13303 * omp-expand.cc: ...here.
13304 * omp-general.c: Moved to...
13305 * omp-general.cc: ...here.
13306 * omp-low.c: Moved to...
13307 * omp-low.cc: ...here.
13308 * omp-offload.c: Moved to...
13309 * omp-offload.cc: ...here.
13310 * omp-simd-clone.c: Moved to...
13311 * omp-simd-clone.cc: ...here.
13312 * opt-suggestions.c: Moved to...
13313 * opt-suggestions.cc: ...here.
13314 * optabs-libfuncs.c: Moved to...
13315 * optabs-libfuncs.cc: ...here.
13316 * optabs-query.c: Moved to...
13317 * optabs-query.cc: ...here.
13318 * optabs-tree.c: Moved to...
13319 * optabs-tree.cc: ...here.
13320 * optabs.c: Moved to...
13321 * optabs.cc: ...here.
13322 * opts-common.c: Moved to...
13323 * opts-common.cc: ...here.
13324 * opts-global.c: Moved to...
13325 * opts-global.cc: ...here.
13326 * opts.c: Moved to...
13327 * opts.cc: ...here.
13328 * passes.c: Moved to...
13329 * passes.cc: ...here.
13330 * plugin.c: Moved to...
13331 * plugin.cc: ...here.
13332 * postreload-gcse.c: Moved to...
13333 * postreload-gcse.cc: ...here.
13334 * postreload.c: Moved to...
13335 * postreload.cc: ...here.
13336 * predict.c: Moved to...
13337 * predict.cc: ...here.
13338 * prefix.c: Moved to...
13339 * prefix.cc: ...here.
13340 * pretty-print.c: Moved to...
13341 * pretty-print.cc: ...here.
13342 * print-rtl-function.c: Moved to...
13343 * print-rtl-function.cc: ...here.
13344 * print-rtl.c: Moved to...
13345 * print-rtl.cc: ...here.
13346 * print-tree.c: Moved to...
13347 * print-tree.cc: ...here.
13348 * profile-count.c: Moved to...
13349 * profile-count.cc: ...here.
13350 * profile.c: Moved to...
13351 * profile.cc: ...here.
13352 * read-md.c: Moved to...
13353 * read-md.cc: ...here.
13354 * read-rtl-function.c: Moved to...
13355 * read-rtl-function.cc: ...here.
13356 * read-rtl.c: Moved to...
13357 * read-rtl.cc: ...here.
13358 * real.c: Moved to...
13359 * real.cc: ...here.
13360 * realmpfr.c: Moved to...
13361 * realmpfr.cc: ...here.
13362 * recog.c: Moved to...
13363 * recog.cc: ...here.
13364 * ree.c: Moved to...
13365 * ree.cc: ...here.
13366 * reg-stack.c: Moved to...
13367 * reg-stack.cc: ...here.
13368 * regcprop.c: Moved to...
13369 * regcprop.cc: ...here.
13370 * reginfo.c: Moved to...
13371 * reginfo.cc: ...here.
13372 * regrename.c: Moved to...
13373 * regrename.cc: ...here.
13374 * regstat.c: Moved to...
13375 * regstat.cc: ...here.
13376 * reload.c: Moved to...
13377 * reload.cc: ...here.
13378 * reload1.c: Moved to...
13379 * reload1.cc: ...here.
13380 * reorg.c: Moved to...
13381 * reorg.cc: ...here.
13382 * resource.c: Moved to...
13383 * resource.cc: ...here.
13384 * rtl-error.c: Moved to...
13385 * rtl-error.cc: ...here.
13386 * rtl-tests.c: Moved to...
13387 * rtl-tests.cc: ...here.
13388 * rtl.c: Moved to...
13389 * rtl.cc: ...here.
13390 * rtlanal.c: Moved to...
13391 * rtlanal.cc: ...here.
13392 * rtlhash.c: Moved to...
13393 * rtlhash.cc: ...here.
13394 * rtlhooks.c: Moved to...
13395 * rtlhooks.cc: ...here.
13396 * rtx-vector-builder.c: Moved to...
13397 * rtx-vector-builder.cc: ...here.
13398 * run-rtl-passes.c: Moved to...
13399 * run-rtl-passes.cc: ...here.
13400 * sancov.c: Moved to...
13401 * sancov.cc: ...here.
13402 * sanopt.c: Moved to...
13403 * sanopt.cc: ...here.
13404 * sbitmap.c: Moved to...
13405 * sbitmap.cc: ...here.
13406 * sched-deps.c: Moved to...
13407 * sched-deps.cc: ...here.
13408 * sched-ebb.c: Moved to...
13409 * sched-ebb.cc: ...here.
13410 * sched-rgn.c: Moved to...
13411 * sched-rgn.cc: ...here.
13412 * sel-sched-dump.c: Moved to...
13413 * sel-sched-dump.cc: ...here.
13414 * sel-sched-ir.c: Moved to...
13415 * sel-sched-ir.cc: ...here.
13416 * sel-sched.c: Moved to...
13417 * sel-sched.cc: ...here.
13418 * selftest-diagnostic.c: Moved to...
13419 * selftest-diagnostic.cc: ...here.
13420 * selftest-rtl.c: Moved to...
13421 * selftest-rtl.cc: ...here.
13422 * selftest-run-tests.c: Moved to...
13423 * selftest-run-tests.cc: ...here.
13424 * selftest.c: Moved to...
13425 * selftest.cc: ...here.
13426 * sese.c: Moved to...
13427 * sese.cc: ...here.
13428 * shrink-wrap.c: Moved to...
13429 * shrink-wrap.cc: ...here.
13430 * simplify-rtx.c: Moved to...
13431 * simplify-rtx.cc: ...here.
13432 * sparseset.c: Moved to...
13433 * sparseset.cc: ...here.
13434 * spellcheck-tree.c: Moved to...
13435 * spellcheck-tree.cc: ...here.
13436 * spellcheck.c: Moved to...
13437 * spellcheck.cc: ...here.
13438 * sreal.c: Moved to...
13439 * sreal.cc: ...here.
13440 * stack-ptr-mod.c: Moved to...
13441 * stack-ptr-mod.cc: ...here.
13442 * statistics.c: Moved to...
13443 * statistics.cc: ...here.
13444 * stmt.c: Moved to...
13445 * stmt.cc: ...here.
13446 * stor-layout.c: Moved to...
13447 * stor-layout.cc: ...here.
13448 * store-motion.c: Moved to...
13449 * store-motion.cc: ...here.
13450 * streamer-hooks.c: Moved to...
13451 * streamer-hooks.cc: ...here.
13452 * stringpool.c: Moved to...
13453 * stringpool.cc: ...here.
13454 * substring-locations.c: Moved to...
13455 * substring-locations.cc: ...here.
13456 * symtab.c: Moved to...
13457 * symtab.cc: ...here.
13458 * target-globals.c: Moved to...
13459 * target-globals.cc: ...here.
13460 * targhooks.c: Moved to...
13461 * targhooks.cc: ...here.
13462 * timevar.c: Moved to...
13463 * timevar.cc: ...here.
13464 * toplev.c: Moved to...
13465 * toplev.cc: ...here.
13466 * tracer.c: Moved to...
13467 * tracer.cc: ...here.
13468 * trans-mem.c: Moved to...
13469 * trans-mem.cc: ...here.
13470 * tree-affine.c: Moved to...
13471 * tree-affine.cc: ...here.
13472 * tree-call-cdce.c: Moved to...
13473 * tree-call-cdce.cc: ...here.
13474 * tree-cfg.c: Moved to...
13475 * tree-cfg.cc: ...here.
13476 * tree-cfgcleanup.c: Moved to...
13477 * tree-cfgcleanup.cc: ...here.
13478 * tree-chrec.c: Moved to...
13479 * tree-chrec.cc: ...here.
13480 * tree-complex.c: Moved to...
13481 * tree-complex.cc: ...here.
13482 * tree-data-ref.c: Moved to...
13483 * tree-data-ref.cc: ...here.
13484 * tree-dfa.c: Moved to...
13485 * tree-dfa.cc: ...here.
13486 * tree-diagnostic.c: Moved to...
13487 * tree-diagnostic.cc: ...here.
13488 * tree-dump.c: Moved to...
13489 * tree-dump.cc: ...here.
13490 * tree-eh.c: Moved to...
13491 * tree-eh.cc: ...here.
13492 * tree-emutls.c: Moved to...
13493 * tree-emutls.cc: ...here.
13494 * tree-if-conv.c: Moved to...
13495 * tree-if-conv.cc: ...here.
13496 * tree-inline.c: Moved to...
13497 * tree-inline.cc: ...here.
13498 * tree-into-ssa.c: Moved to...
13499 * tree-into-ssa.cc: ...here.
13500 * tree-iterator.c: Moved to...
13501 * tree-iterator.cc: ...here.
13502 * tree-loop-distribution.c: Moved to...
13503 * tree-loop-distribution.cc: ...here.
13504 * tree-nested.c: Moved to...
13505 * tree-nested.cc: ...here.
13506 * tree-nrv.c: Moved to...
13507 * tree-nrv.cc: ...here.
13508 * tree-object-size.c: Moved to...
13509 * tree-object-size.cc: ...here.
13510 * tree-outof-ssa.c: Moved to...
13511 * tree-outof-ssa.cc: ...here.
13512 * tree-parloops.c: Moved to...
13513 * tree-parloops.cc: ...here.
13514 * tree-phinodes.c: Moved to...
13515 * tree-phinodes.cc: ...here.
13516 * tree-predcom.c: Moved to...
13517 * tree-predcom.cc: ...here.
13518 * tree-pretty-print.c: Moved to...
13519 * tree-pretty-print.cc: ...here.
13520 * tree-profile.c: Moved to...
13521 * tree-profile.cc: ...here.
13522 * tree-scalar-evolution.c: Moved to...
13523 * tree-scalar-evolution.cc: ...here.
13524 * tree-sra.c: Moved to...
13525 * tree-sra.cc: ...here.
13526 * tree-ssa-address.c: Moved to...
13527 * tree-ssa-address.cc: ...here.
13528 * tree-ssa-alias.c: Moved to...
13529 * tree-ssa-alias.cc: ...here.
13530 * tree-ssa-ccp.c: Moved to...
13531 * tree-ssa-ccp.cc: ...here.
13532 * tree-ssa-coalesce.c: Moved to...
13533 * tree-ssa-coalesce.cc: ...here.
13534 * tree-ssa-copy.c: Moved to...
13535 * tree-ssa-copy.cc: ...here.
13536 * tree-ssa-dce.c: Moved to...
13537 * tree-ssa-dce.cc: ...here.
13538 * tree-ssa-dom.c: Moved to...
13539 * tree-ssa-dom.cc: ...here.
13540 * tree-ssa-dse.c: Moved to...
13541 * tree-ssa-dse.cc: ...here.
13542 * tree-ssa-forwprop.c: Moved to...
13543 * tree-ssa-forwprop.cc: ...here.
13544 * tree-ssa-ifcombine.c: Moved to...
13545 * tree-ssa-ifcombine.cc: ...here.
13546 * tree-ssa-live.c: Moved to...
13547 * tree-ssa-live.cc: ...here.
13548 * tree-ssa-loop-ch.c: Moved to...
13549 * tree-ssa-loop-ch.cc: ...here.
13550 * tree-ssa-loop-im.c: Moved to...
13551 * tree-ssa-loop-im.cc: ...here.
13552 * tree-ssa-loop-ivcanon.c: Moved to...
13553 * tree-ssa-loop-ivcanon.cc: ...here.
13554 * tree-ssa-loop-ivopts.c: Moved to...
13555 * tree-ssa-loop-ivopts.cc: ...here.
13556 * tree-ssa-loop-manip.c: Moved to...
13557 * tree-ssa-loop-manip.cc: ...here.
13558 * tree-ssa-loop-niter.c: Moved to...
13559 * tree-ssa-loop-niter.cc: ...here.
13560 * tree-ssa-loop-prefetch.c: Moved to...
13561 * tree-ssa-loop-prefetch.cc: ...here.
13562 * tree-ssa-loop-split.c: Moved to...
13563 * tree-ssa-loop-split.cc: ...here.
13564 * tree-ssa-loop-unswitch.c: Moved to...
13565 * tree-ssa-loop-unswitch.cc: ...here.
13566 * tree-ssa-loop.c: Moved to...
13567 * tree-ssa-loop.cc: ...here.
13568 * tree-ssa-math-opts.c: Moved to...
13569 * tree-ssa-math-opts.cc: ...here.
13570 * tree-ssa-operands.c: Moved to...
13571 * tree-ssa-operands.cc: ...here.
13572 * tree-ssa-phiopt.c: Moved to...
13573 * tree-ssa-phiopt.cc: ...here.
13574 * tree-ssa-phiprop.c: Moved to...
13575 * tree-ssa-phiprop.cc: ...here.
13576 * tree-ssa-pre.c: Moved to...
13577 * tree-ssa-pre.cc: ...here.
13578 * tree-ssa-propagate.c: Moved to...
13579 * tree-ssa-propagate.cc: ...here.
13580 * tree-ssa-reassoc.c: Moved to...
13581 * tree-ssa-reassoc.cc: ...here.
13582 * tree-ssa-sccvn.c: Moved to...
13583 * tree-ssa-sccvn.cc: ...here.
13584 * tree-ssa-scopedtables.c: Moved to...
13585 * tree-ssa-scopedtables.cc: ...here.
13586 * tree-ssa-sink.c: Moved to...
13587 * tree-ssa-sink.cc: ...here.
13588 * tree-ssa-strlen.c: Moved to...
13589 * tree-ssa-strlen.cc: ...here.
13590 * tree-ssa-structalias.c: Moved to...
13591 * tree-ssa-structalias.cc: ...here.
13592 * tree-ssa-tail-merge.c: Moved to...
13593 * tree-ssa-tail-merge.cc: ...here.
13594 * tree-ssa-ter.c: Moved to...
13595 * tree-ssa-ter.cc: ...here.
13596 * tree-ssa-threadbackward.c: Moved to...
13597 * tree-ssa-threadbackward.cc: ...here.
13598 * tree-ssa-threadedge.c: Moved to...
13599 * tree-ssa-threadedge.cc: ...here.
13600 * tree-ssa-threadupdate.c: Moved to...
13601 * tree-ssa-threadupdate.cc: ...here.
13602 * tree-ssa-uncprop.c: Moved to...
13603 * tree-ssa-uncprop.cc: ...here.
13604 * tree-ssa-uninit.c: Moved to...
13605 * tree-ssa-uninit.cc: ...here.
13606 * tree-ssa.c: Moved to...
13607 * tree-ssa.cc: ...here.
13608 * tree-ssanames.c: Moved to...
13609 * tree-ssanames.cc: ...here.
13610 * tree-stdarg.c: Moved to...
13611 * tree-stdarg.cc: ...here.
13612 * tree-streamer-in.c: Moved to...
13613 * tree-streamer-in.cc: ...here.
13614 * tree-streamer-out.c: Moved to...
13615 * tree-streamer-out.cc: ...here.
13616 * tree-streamer.c: Moved to...
13617 * tree-streamer.cc: ...here.
13618 * tree-switch-conversion.c: Moved to...
13619 * tree-switch-conversion.cc: ...here.
13620 * tree-tailcall.c: Moved to...
13621 * tree-tailcall.cc: ...here.
13622 * tree-vect-data-refs.c: Moved to...
13623 * tree-vect-data-refs.cc: ...here.
13624 * tree-vect-generic.c: Moved to...
13625 * tree-vect-generic.cc: ...here.
13626 * tree-vect-loop-manip.c: Moved to...
13627 * tree-vect-loop-manip.cc: ...here.
13628 * tree-vect-loop.c: Moved to...
13629 * tree-vect-loop.cc: ...here.
13630 * tree-vect-patterns.c: Moved to...
13631 * tree-vect-patterns.cc: ...here.
13632 * tree-vect-slp-patterns.c: Moved to...
13633 * tree-vect-slp-patterns.cc: ...here.
13634 * tree-vect-slp.c: Moved to...
13635 * tree-vect-slp.cc: ...here.
13636 * tree-vect-stmts.c: Moved to...
13637 * tree-vect-stmts.cc: ...here.
13638 * tree-vector-builder.c: Moved to...
13639 * tree-vector-builder.cc: ...here.
13640 * tree-vectorizer.c: Moved to...
13641 * tree-vectorizer.cc: ...here.
13642 * tree-vrp.c: Moved to...
13643 * tree-vrp.cc: ...here.
13644 * tree.c: Moved to...
13645 * tree.cc: ...here.
13646 * tsan.c: Moved to...
13647 * tsan.cc: ...here.
13648 * typed-splay-tree.c: Moved to...
13649 * typed-splay-tree.cc: ...here.
13650 * ubsan.c: Moved to...
13651 * ubsan.cc: ...here.
13652 * valtrack.c: Moved to...
13653 * valtrack.cc: ...here.
13654 * value-prof.c: Moved to...
13655 * value-prof.cc: ...here.
13656 * var-tracking.c: Moved to...
13657 * var-tracking.cc: ...here.
13658 * varasm.c: Moved to...
13659 * varasm.cc: ...here.
13660 * varpool.c: Moved to...
13661 * varpool.cc: ...here.
13662 * vec-perm-indices.c: Moved to...
13663 * vec-perm-indices.cc: ...here.
13664 * vec.c: Moved to...
13665 * vec.cc: ...here.
13666 * vmsdbgout.c: Moved to...
13667 * vmsdbgout.cc: ...here.
13668 * vr-values.c: Moved to...
13669 * vr-values.cc: ...here.
13670 * vtable-verify.c: Moved to...
13671 * vtable-verify.cc: ...here.
13672 * web.c: Moved to...
13673 * web.cc: ...here.
13674 * xcoffout.c: Moved to...
13675 * xcoffout.cc: ...here.
13676
13677 2022-01-17 qing zhao <qing.zhao@oracle.com>
13678
13679 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
13680 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
13681 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
13682 specially.
13683 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
13684 (warn_uninitialized_vars): Likewise.
13685 (warn_uninitialized_phi): Likewise.
13686
13687 2022-01-17 Jason Merrill <jason@redhat.com>
13688
13689 * diagnostic.h (struct diagnostic_context): Add includes_seen.
13690 * diagnostic.c (diagnostic_initialize): Initialize it.
13691 (diagnostic_finish): Clean it up.
13692 (includes_seen): New function.
13693 (diagnostic_report_current_module): Use it.
13694
13695 2022-01-17 Richard Biener <rguenther@suse.de>
13696
13697 PR middle-end/101292
13698 * diagnostic-spec.c (copy_warning): Make sure to not
13699 reference old hashtable content on possible resize.
13700 * warning-control.cc (copy_warning): Likewise.
13701
13702 2022-01-17 Jakub Jelinek <jakub@redhat.com>
13703
13704 PR target/103973
13705 * tree-cfg.h (cond_only_block_p): Declare.
13706 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
13707 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
13708 * optabs.def (spaceship_optab): New optab.
13709 * internal-fn.def (SPACESHIP): New internal function.
13710 * internal-fn.h (expand_SPACESHIP): Declare.
13711 * internal-fn.c (expand_PHI): Formatting fix.
13712 (expand_SPACESHIP): New function.
13713 * tree-ssa-math-opts.c (optimize_spaceship): New function.
13714 (math_opts_dom_walker::after_dom_children): Use it.
13715 * config/i386/i386.md (spaceship<mode>3): New define_expand.
13716 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
13717 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
13718 * doc/md.texi (spaceship@var{m}3): Document.
13719
13720 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
13721
13722 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
13723 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
13724 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
13725 known constant values to simplify code.
13726
13727 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
13728
13729 PR target/103124
13730 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
13731
13732 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
13733
13734 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
13735 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
13736 Insert zero-idiom in output template when attr enabled, set new attribute to
13737 true for non-mask/maskz insn.
13738 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
13739 Likewise.
13740 (avx512dq_mul<mode>3<mask_name>): Likewise.
13741 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
13742 (avx2_perm<mode>_1<mask_name>): Likewise.
13743 (avx512f_perm<mode>_1<mask_name>): Likewise.
13744 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
13745 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
13746 Likewise.
13747 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
13748 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
13749 Likewise.
13750 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
13751 subst_attr.
13752 (mask4_dest_false_dep_for_glc_cond): Likewise.
13753 (mask6_dest_false_dep_for_glc_cond): Likewise.
13754 (mask10_dest_false_dep_for_glc_cond): Likewise.
13755 (maskc_dest_false_dep_for_glc_cond): Likewise.
13756 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
13757 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
13758 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
13759 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
13760
13761 2022-01-15 Martin Sebor <msebor@redhat.com>
13762
13763 PR c/63272
13764 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
13765 -Wdangling-pointer.
13766 * doc/invoke.texi (-Wdangling-pointer): Document new option.
13767 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
13768 (pass_waccess::check_pointer_uses): New function.
13769 (pass_waccess::gimple_call_return_arg): New function.
13770 (pass_waccess::gimple_call_return_arg_ref): New function.
13771 (pass_waccess::check_call_dangling): New function.
13772 (pass_waccess::check_dangling_uses): New function overloads.
13773 (pass_waccess::check_dangling_stores): New function.
13774 (pass_waccess::check_dangling_stores): New function.
13775 (pass_waccess::m_clobbers): New data member.
13776 (pass_waccess::m_func): New data member.
13777 (pass_waccess::m_run_number): New data member.
13778 (pass_waccess::m_check_dangling_p): New data member.
13779 (pass_waccess::check_alloca): Check m_early_checks_p.
13780 (pass_waccess::check_alloc_size_call): Same.
13781 (pass_waccess::check_strcat): Same.
13782 (pass_waccess::check_strncat): Same.
13783 (pass_waccess::check_stxcpy): Same.
13784 (pass_waccess::check_stxncpy): Same.
13785 (pass_waccess::check_strncmp): Same.
13786 (pass_waccess::check_memop_access): Same.
13787 (pass_waccess::check_read_access): Same.
13788 (pass_waccess::check_builtin): Call check_pointer_uses.
13789 (pass_waccess::warn_invalid_pointer): Add arguments.
13790 (is_auto_decl): New function.
13791 (pass_waccess::check_stmt): New function.
13792 (pass_waccess::check_block): Call check_stmt.
13793 (pass_waccess::execute): Call check_dangling_uses,
13794 check_dangling_stores. Empty m_clobbers.
13795 * passes.def (pass_warn_access): Invoke pass two more times.
13796
13797 2022-01-15 Martin Sebor <msebor@redhat.com>
13798
13799 PR tree-optimization/80532
13800 * common.opt (-Wuse-after-free): New options.
13801 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
13802 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
13803 * diagnostic-spec.h (NW_DANGLING): New enumerator.
13804 * doc/invoke.texi (-Wuse-after-free): Document new option.
13805 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
13806 (pass_waccess::check_call_access): ...to this.
13807 (pass_waccess::check): Rename...
13808 (pass_waccess::check_block): ...to this.
13809 (pass_waccess::check_pointer_uses): New function.
13810 (pass_waccess::gimple_call_return_arg): New function.
13811 (pass_waccess::warn_invalid_pointer): New function.
13812 (pass_waccess::check_builtin): Handle free and realloc.
13813 (gimple_use_after_inval_p): New function.
13814 (get_realloc_lhs): New function.
13815 (maybe_warn_mismatched_realloc): New function.
13816 (pointers_related_p): New function.
13817 (pass_waccess::check_call): Call check_pointer_uses.
13818 (pass_waccess::execute): Compute and free dominance info.
13819
13820 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
13821
13822 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
13823 expand_simple_unop and expand_simple_binop instead of manually
13824 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
13825 consistently. Eliminate common subexpressions and simplify code.
13826 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
13827 (<any_logic:code><MODEF:mode>3): Make public.
13828
13829 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
13830
13831 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
13832 reverse flag as "reverse" for the sake of consistency.
13833 * ipa-sra.c: Fix copyright year.
13834 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
13835 (dump_isra_access): Tweak dump line.
13836 (isra_write_node_summary): Write the reverse flag.
13837 (isra_read_node_info): Read it.
13838 (pull_accesses_from_callee): Test its consistency and copy it.
13839
13840 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
13841
13842 PR middle-end/104026
13843 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
13844 partial_load_store_bias.
13845
13846 2022-01-14 Martin Sebor <msebor@redhat.com>
13847
13848 PR middle-end/101475
13849 * pointer-query.cc (handle_component_ref): Use the size of
13850 the enclosing object if it's smaller than the member.
13851
13852 2022-01-14 Martin Liska <mliska@suse.cz>
13853
13854 * configure: Regenerate.
13855
13856 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
13857
13858 * config/i386/i386.md (*add<mode>_1_slp"):
13859 Mark alternative 1 output operand earlyclobbered.
13860 (*sub<mode>_1_slp): Ditto.
13861 (*and<mode>_1_slp): Ditto.
13862 (*<code><mode>_1_slp): Ditto.
13863 (*neg<mode>_1_slp): Ditto.
13864 (*one_cmpl<mode>_1_slp): Ditto.
13865 (*ashl<mode>3_1_slp): Ditto.
13866 (*<insn><mode>3_1_slp): Ditto.
13867 (*<insn><mode>3_1_slp): Ditto.
13868
13869 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
13870
13871 PR tree-optimization/104015
13872 * tree-vect-loop.c (vect_analyze_loop): Check
13873 param_vect_partial_vector_usage for supports_partial_vectors.
13874
13875 2022-01-14 Jakub Jelinek <jakub@redhat.com>
13876
13877 PR c++/89074
13878 * fold-const.c (address_compare): Punt on comparison of address of
13879 one object with address of end of another object if
13880 folding_initializer.
13881
13882 2022-01-14 Jakub Jelinek <jakub@redhat.com>
13883
13884 PR target/98737
13885 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
13886 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
13887 and __atomic_op_fetch (p, x, y) iop x into
13888 __atomic_fetch_op (p, x, y).
13889
13890 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
13891
13892 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
13893 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
13894 (INCOMING_RETURN_ADDR_RTX): Likewise.
13895 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
13896
13897 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
13898
13899 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
13900 computin checking accumulator regs.
13901 (arc_expand_prologue): Update comments.
13902 (arc_expand_epilogue): Likewise.
13903
13904 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
13905 Uroš Bizjak <ubizjak@gmail.com>
13906
13907 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
13908 (ix86_expand_ti_to_v1ti): Use force_reg.
13909 (ix86_expand_v1ti_shift): Use force_reg.
13910 (ix86_expand_v1ti_rotate): Use force_reg.
13911 (ix86_expand_v1ti_ashiftrt): Provide new three operation
13912 implementations for shifts by 111..126 bits. Use force_reg.
13913
13914 2022-01-14 Martin Liska <mliska@suse.cz>
13915
13916 * common/config/arm/arm-common.c (arm_target_mode): Fix
13917 warning: unterminated quoting directive [-Wformat=].
13918
13919 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
13920
13921 PR tree-optimization/104009
13922 * tree-object-size.c (compute_builtin_object_size): Bail out on
13923 negative offset.
13924 (plus_stmt_object_size): Return maximum of wholesize and minimum
13925 of 0 for negative offset.
13926
13927 2022-01-14 liuhongt <hongtao.liu@intel.com>
13928
13929 PR target/104001
13930 PR target/94790
13931 PR target/104014
13932 * config/i386/i386.md (*xor2andn): Refine predicate of
13933 operands[0] from nonimmediate_operand to
13934 register_operand, remove TARGET_AVX512BW from condition.
13935
13936 2022-01-14 David Malcolm <dmalcolm@redhat.com>
13937
13938 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
13939 be used on field decls.
13940 (Common Function Attributes): Add entry on "tainted_args" attribute.
13941
13942 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
13943 Jason Merrill <jason@redhat.com>
13944
13945 PR c++/70417
13946 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
13947
13948 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
13949
13950 PR target/103861
13951 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
13952 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
13953 * config/i386/mmx.md (<any_shift:insn>v2qi):
13954 New insn_and_split pattern.
13955
13956 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
13957
13958 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
13959 (expand_partial_store_optab_fn): Likewise.
13960 (internal_len_load_store_bias): New function.
13961 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
13962 (internal_len_load_store_bias): New function.
13963 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
13964 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
13965 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
13966 (vect_estimate_min_profitable_iters): Account for bias.
13967 (vect_get_loop_len): Add bias-adjusted length.
13968 * tree-vect-stmts.c (vectorizable_store): Use.
13969 (vectorizable_load): Use.
13970 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
13971 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
13972 * config/rs6000/vsx.md: Use const0 bias predicate.
13973 * doc/md.texi: Document bias value.
13974
13975 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
13976
13977 PR tree-optimization/83072
13978 PR tree-optimization/83073
13979 PR tree-optimization/97909
13980 * fold-const.c (expr_not_equal_to): Use a multi-range class.
13981
13982 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
13983
13984 PR tree-optimization/96707
13985 * range-op.cc (operator_rshift::lhs_op1_relation): New.
13986
13987 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
13988
13989 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
13990 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
13991 (negv2qi splitters): Use lowpart_subreg instead of
13992 gen_lowpart to create subreg.
13993 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
13994 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
13995 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
13996 gen_lowpart to create subreg.
13997 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
13998
13999 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
14000
14001 PR target/104003
14002 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
14003
14004 2022-01-13 Martin Liska <mliska@suse.cz>
14005
14006 * common/config/arm/arm-common.c (arm_target_mode): Wrap
14007 keywords with %<, %> and remove trailing punctuation char.
14008 (arm_canon_arch_option_1): Likewise.
14009 (arm_asm_auto_mfpu): Likewise.
14010 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
14011 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
14012 (use_vfp_abi): Likewise.
14013 (aapcs_vfp_is_call_or_return_candidate): Likewise.
14014 (arm_handle_cmse_nonsecure_entry): Likewise.
14015 (arm_handle_cmse_nonsecure_call): Likewise.
14016 (thumb1_md_asm_adjust): Likewise.
14017
14018 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
14019
14020 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
14021 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
14022 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
14023 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
14024 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
14025 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
14026 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
14027 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
14028 macro.
14029
14030 2022-01-13 Jakub Jelinek <jakub@redhat.com>
14031
14032 PR tree-optimization/103989
14033 * tree-inline.c (setup_one_parameter): Don't copy parms with
14034 empty type.
14035
14036 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
14037
14038 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
14039 'TYPE_ADDR_SPACE' for offloading.
14040 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
14041 'TYPE_ADDR_SPACE' for offloading.
14042
14043 2022-01-13 Julian Brown <julian@codesourcery.com>
14044 Thomas Schwinge <thomas@codesourcery.com>
14045
14046 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
14047 of...
14048 (add_async_clauses_and_wait): ...here. Call new outlined function.
14049 (decompose_kernels_region_body): Add wait at the end of
14050 explicitly-asynchronous kernels regions.
14051
14052 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
14053
14054 PR middle-end/100280
14055 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
14056 Mark variables used in synthesized data clauses as addressable.
14057
14058 2022-01-13 Martin Liska <mliska@suse.cz>
14059
14060 * config/epiphany/epiphany.c (epiphany_mode_priority):
14061 Use gcc_unreachable for not handled cases.
14062
14063 2022-01-13 Martin Liska <mliska@suse.cz>
14064
14065 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
14066 Use %qs format specifier.
14067 (epiphany_override_options): Wrap keyword in %<, %>.
14068
14069 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
14070
14071 PR target/94790
14072 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
14073
14074 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
14075
14076 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
14077
14078 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
14079
14080 PR target/100637
14081 PR target/103861
14082 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
14083 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
14084 when constructing vector logic RTXes.
14085 (expand_vec_perm_pshufb2): Ditto.
14086 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
14087 (<plusminus:insn>v2qi3): Ditto.
14088 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
14089 (vcondu<mode><mode>): Ditto.
14090 (vcond_mask_<mode><mode>): Ditto.
14091 (one_cmpl<VI_32:mode>2): Remove expander.
14092 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
14093 Use VI_16_32 mode iterator.
14094 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
14095 Use lowpart_subreg instead of gen_lowpart to create subreg.
14096 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
14097 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
14098 Disparage GPR alternative a bit. Add CC clobber.
14099 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
14100 Use lowpart_subreg instead of gen_lowpart to create subreg.
14101 (*<any_logic:code><VI_16_32:mode>3): Merge from
14102 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
14103 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
14104 Add CC clobber.
14105 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
14106 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
14107
14108 2022-01-12 Clément Chigot <clement.chigot@atos.net>
14109
14110 * configure.ac: Check sizeof ino_t and dev_t.
14111 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
14112 syscall being able to handle 64bit inodes.
14113 * config.in: Regenerate.
14114 * configure: Regenerate.
14115 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
14116 (remove_duplicates): Use it.
14117
14118 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
14119
14120 PR tree-optimization/103551
14121 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
14122
14123 2022-01-12 Richard Biener <rguenther@suse.de>
14124
14125 PR tree-optimization/103990
14126 * tree-pass.h (tail_merge_optimize): Drop unused argument.
14127 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
14128 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
14129 and adjust call to tail_merge_optimize.
14130
14131 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
14132
14133 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
14134 does not add autovectorize_vector_modes.
14135
14136 2022-01-12 Martin Liska <mliska@suse.cz>
14137
14138 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
14139 %qs where possible.
14140 (aarch64_parse_sve_width_string): Likewise.
14141 (aarch64_override_options_internal): Likewise.
14142 (aarch64_print_hint_for_extensions): Likewise.
14143 (aarch64_validate_sls_mitigation): Likewise.
14144 (aarch64_handle_attr_arch): Likewise.
14145 (aarch64_handle_attr_cpu): Likewise.
14146 (aarch64_handle_attr_tune): Likewise.
14147 (aarch64_handle_attr_isa_flags): Likewise.
14148
14149 2022-01-12 Martin Liska <mliska@suse.cz>
14150
14151 * config.gcc: Include elfos.h before ${tm_file}.
14152
14153 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
14154
14155 * config/cris/cris.c: Quote identifiers in parameters to error
14156 and internal_error, and remove extraneous spaces with punctuation.
14157 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
14158 expression to internal_error, pass it as a parameter instead of
14159 appending it to the format part.
14160
14161 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
14162
14163 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
14164 parameter to as_a.
14165
14166 2022-01-11 qing zhao <qing.zhao@oracle.com>
14167
14168 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
14169 Change the 3rd argument of function .DEFERRED_INIT to the name of the
14170 decl.
14171 (gimplify_decl_expr): Delete the 3rd argument when call
14172 gimple_add_init_for_auto_var.
14173 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
14174 the 3rd argument change of function .DEFERRED_INIT.
14175 * tree-cfg.c (verify_gimple_call): Update comments and verification
14176 to reflect the 3rd argument change of function .DEFERRED_INIT.
14177 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
14178 (sra_modify_deferred_init): Change the 3rd argument of function
14179 .DEFERRED_INIT to the name of the decl.
14180
14181 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
14182
14183 * flag-types.h (enum gfc_convert): Add flags for
14184 conversion.
14185
14186 2022-01-11 Michael Meissner <meissner@the-meissners.org>
14187
14188 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
14189 checks for only C/C++ front ends before allowing the long double
14190 format to change without a warning.
14191
14192 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
14193
14194 PR rtl-optimization/103974
14195 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
14196 extra argument, default true, that says whether old-reload
14197 targets should be excluded.
14198 * ira-color.c (color_pass): Pass false.
14199
14200 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
14201
14202 PR target/103861
14203 * config/i386/mmx.md (vcond<mode><mode>):
14204 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
14205 (vcondu<mode><mode>): Ditto.
14206 (vcond_mask_<mode><mode>): Ditto.
14207 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
14208 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
14209 Use VI_16_32 mode iterator.
14210 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
14211 Update for rename. Handle V2QImode.
14212 (expand_vec_perm_blend): Update for rename.
14213
14214 2022-01-11 Jakub Jelinek <jakub@redhat.com>
14215
14216 PR c++/101597
14217 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
14218
14219 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14220
14221 PR middle-end/70090
14222 * tree-object-size.c (size_valid_p): New function.
14223 (size_for_offset): Remove OFFSET constness assertion.
14224 (addr_object_size): Build dynamic expressions for object
14225 sizes and use size_valid_p to decide if it is valid for the
14226 given OBJECT_SIZE_TYPE.
14227 (compute_builtin_object_size): Allow dynamic offsets when
14228 computing size at O0.
14229 (call_object_size): Call size_valid_p.
14230 (plus_stmt_object_size): Allow non-constant offset and use
14231 size_valid_p to decide if it is valid for the given
14232 OBJECT_SIZE_TYPE.
14233
14234 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14235
14236 PR middle-end/70090
14237 * tree-object-size.c (alloc_object_size): Make and return
14238 non-constant size expression.
14239 (call_object_size): Return expression or unknown based on
14240 whether dynamic object size is requested.
14241
14242 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14243
14244 PR middle-end/70090
14245 * tree-object-size.c: Include tree-dfa.h.
14246 (parm_object_size): New function.
14247 (collect_object_sizes_for): Call it.
14248
14249 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14250
14251 PR middle-end/70090
14252 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
14253 expressions.
14254 * tree-object-size.c: Include gimplify-me.h.
14255 (struct object_size_info): New member UNKNOWNS.
14256 (size_initval_p, size_usable_p, object_sizes_get_raw): New
14257 functions.
14258 (object_sizes_get): Return suitable gimple variable for
14259 object size.
14260 (bundle_sizes): New function.
14261 (object_sizes_set): Use it and handle dynamic object size
14262 expressions.
14263 (object_sizes_set_temp): New function.
14264 (size_for_offset): Adjust for dynamic size expressions.
14265 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
14266 New functions.
14267 (compute_builtin_object_size): Call gimplify_size_expressions
14268 for OST_DYNAMIC.
14269 (dynamic_object_size): New function.
14270 (cond_expr_object_size): Use it.
14271 (phi_dynamic_object_size): New function.
14272 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
14273 accommodate dynamic object sizes.
14274
14275 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14276 Jakub Jelinek <jakub@redhat.com>
14277
14278 PR tree-optimization/103961
14279 * tree-object-size.c (plus_stmt_object_size): Always avoid
14280 computing offset for -1 size.
14281
14282 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
14283
14284 PR tree-optimization/103821
14285 * range-op.cc (range_operator::fold_range): Only do precise ranges
14286 when there are not too many subranges.
14287
14288 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
14289
14290 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
14291 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
14292
14293 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
14294 Richard Biener <rguenther@suse.de>
14295
14296 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
14297 highpart_mults_inserted field.
14298 (convert_mult_to_highpart): New function to convert right shift
14299 of a widening multiply into a MULT_HIGHPART_EXPR.
14300 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
14301 Call new convert_mult_to_highpart function.
14302 (pass_optimize_widening_mul::execute): Add a statistics counter
14303 for tracking "highpart multiplications inserted" events.
14304
14305 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
14306
14307 PR target/102239
14308 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
14309 declare.
14310 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
14311 function.
14312 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
14313
14314 2022-01-11 Olivier Hainque <hainque@adacore.com>
14315
14316 * gcc.c (driver_handle_option): State --sysroot as
14317 validated.
14318
14319 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
14320
14321 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
14322 useless related to option -mno-power10.
14323
14324 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
14325
14326 PR target/53652
14327 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
14328 operands[1] from register_operand to vector_operand.
14329
14330 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
14331
14332 PR target/103861
14333 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
14334 Handle V2QImode.
14335 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
14336 Use VI1_16_32 mode iterator.
14337 (*eq<mode>3): Ditto.
14338 (*gt<mode>3): Ditto.
14339 (*xop_maskcmp<mode>3): Ditto.
14340 (*xop_maskcmp_uns<mode>3): Ditto.
14341 (vec_cmp<mode><mode>): Ditto.
14342 (vec_cmpu<mode><mode>): Ditto.
14343
14344 2022-01-10 Richard Biener <rguenther@suse.de>
14345
14346 PR tree-optimization/103948
14347 * tree-vect-generic.c (expand_vector_condition): Return true if
14348 all ones vector is returned for true, all zeros vector for false
14349 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
14350
14351 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
14352
14353 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
14354 when _ARCH_PWR10. Use signed types.
14355 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
14356 (_mm_blendv_pd): Likewise.
14357
14358 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
14359
14360 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
14361 epilogue costing.
14362 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
14363 epilogues, unless we are guaranteed that we can't have partial vectors.
14364 * genopinit.c: (partial_vectors_supported): Generate new function.
14365
14366 2022-01-10 Jakub Jelinek <jakub@redhat.com>
14367
14368 PR target/102024
14369 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
14370 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
14371 always ignore them, when seeing other zero sized bitfields, either
14372 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
14373 it. Pass it to recursive calls. Add wrapper
14374 with old arguments and diagnose ABI differences for C structures
14375 with zero width bitfields. Formatting fixes.
14376
14377 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
14378
14379 PR rtl-optimization/98782
14380 * ira-int.h (ira_soft_conflict): Declare.
14381 * ira-color.c (max_soft_conflict_loop_depth): New constant.
14382 (ira_soft_conflict): New function.
14383 (spill_soft_conflicts): Likewise.
14384 (assign_hard_reg): Use them to handle the case described by
14385 the comment above ira_soft_conflict.
14386 (improve_allocation): Likewise.
14387 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
14388 to share the same register.
14389
14390 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
14391
14392 PR rtl-optimization/98782
14393 * ira-int.h (ira_caller_save_cost): New function.
14394 (ira_caller_save_loop_spill_p): Likewise.
14395 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
14396 cheaper to spill a call-clobbered register throughout a loop rather
14397 than spill it around each individual call. If so, treat all
14398 call-clobbered registers as conflicts and...
14399 (propagate_allocno_info): ...do not propagate call information
14400 from the child to the parent.
14401 * ira-color.c (move_spill_restore): Update accordingly.
14402 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
14403
14404 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
14405
14406 PR rtl-optimization/98782
14407 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
14408 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
14409 (ira_single_region_allocno_p): New function.
14410 (ira_total_conflict_hard_regs): Likewise.
14411 * ira-build.c (ira_create_allocno): Initialize
14412 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
14413 (ira_propagate_hard_reg_costs): New function.
14414 (propagate_allocno_info): Use it. Try to avoid propagating
14415 hard register conflicts to parent allocnos if we can handle
14416 the conflicts by spilling instead. Limit the propagated
14417 register costs to the cost of spilling throughout the child loop.
14418 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
14419 test whether a child and parent allocno can share the same
14420 register.
14421 (move_spill_restore): Adjust for the new behavior of
14422 propagate_allocno_info.
14423
14424 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
14425
14426 PR rtl-optimization/98782
14427 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
14428 extracted from...
14429 * ira-color.c (color_pass): ...here.
14430
14431 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
14432
14433 PR rtl-optimization/98782
14434 * ira-color.c (color_pass): Add comments to describe the spill costs.
14435 (move_spill_restore): Likewise. Fix reversed calculation.
14436
14437 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
14438
14439 PR rtl-optimization/98782
14440 * ira-int.h (ira_loop_border_costs): New class.
14441 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
14442 New constructor.
14443 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
14444 (color_pass): Likewise.
14445 (move_spill_restore): Likewise.
14446
14447 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
14448
14449 PR target/103465
14450 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
14451
14452 2022-01-10 Richard Biener <rguenther@suse.de>
14453
14454 PR tree-optimization/100359
14455 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
14456 Allow non-growing peeling with !allow_peel and UL_ALL.
14457
14458 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
14459
14460 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
14461 special case for TImode to V1TImode moves, going via V2DImode.
14462
14463 2022-01-08 Jakub Jelinek <jakub@redhat.com>
14464
14465 PR c++/89074
14466 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
14467 simplification.
14468
14469 2022-01-08 David Malcolm <dmalcolm@redhat.com>
14470
14471 * doc/analyzer.texi
14472 (Special Functions for Debugging the Analyzer): Document
14473 __analyzer_dump_escaped.
14474
14475 2022-01-08 David Malcolm <dmalcolm@redhat.com>
14476
14477 * doc/analyzer.texi (Other Debugging Techniques): Document
14478 region::is_named_decl_p.
14479
14480 2022-01-07 Andrew Pinski <apinski@marvell.com>
14481
14482 PR target/102941
14483 * config/arm/aarch-common.c (arm_md_asm_adjust):
14484 Use a temp if !REG_P.
14485
14486 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
14487
14488 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
14489 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
14490
14491 2022-01-07 liuhongt <hongtao.liu@intel.com>
14492
14493 PR rtl-optimization/103750
14494 * fwprop.c (forward_propagate_into): Allow propagations from
14495 inner loop to outer loop.
14496
14497 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
14498
14499 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
14500
14501 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
14502
14503 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
14504 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
14505 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
14506
14507 2022-01-07 liuhongt <hongtao.liu@intel.com>
14508
14509 * config/i386/sse.md
14510 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
14511 UNSPEC_PCMP_UNSIGNED.
14512
14513 2022-01-07 liuhongt <hongtao.liu@intel.com>
14514
14515 PR target/103753
14516 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
14517 gen_avx2_pblendph_1 when elt == 0.
14518 * config/i386/sse.md (avx2_pblendph): Rename to ..
14519 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
14520 (*avx2_pblendw): Rename to ..
14521 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
14522 (avx2_pblendw): Rename to ..
14523 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
14524 (blendsuf): Removed.
14525 (sse4_1_pblend<blendsuf>): Renamed to ..
14526 (sse4_1_pblend<ssemodesuffix>): .. this.
14527
14528 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
14529
14530 PR target/103925
14531 * config/i386/i386.c (ix86_output_indirect_function_return):
14532 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
14533
14534 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
14535
14536 PR target/102952
14537 * config/i386/i386-opts.h (harden_sls): Replace
14538 harden_sls_indirect_branch with harden_sls_indirect_jmp.
14539 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
14540 Likewise.
14541 (ix86_output_indirect_jmp): Likewise.
14542 (ix86_output_call_insn): Likewise.
14543 * config/i386/i386.opt: Replace indirect-branch with
14544 indirect-jmp. Replace harden_sls_indirect_branch with
14545 harden_sls_indirect_jmp.
14546 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
14547 indirect-jmp.
14548
14549 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
14550
14551 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
14552 Add %q modifier for operands in general registers.
14553 <MODE_SI>: Add %q modifier for operands in general registers.
14554 * config/i386/i386.md (*movhi_internal): Change type attribute of
14555 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
14556 to SImode for non-avx512fp16 targets.
14557 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
14558 * config/i386/mmx.md (*movv2qi_internal):
14559 Ditto for xmm-gpr interunit alternatives 8,9.
14560
14561 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
14562
14563 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
14564 vector extensions.
14565 (riscv_ext_version_table): Add version info for vector extensions.
14566 (riscv_ext_flag_table): Add option mask for vector extensions.
14567 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
14568 (MASK_VECTOR_EEW_64): New.
14569 (MASK_VECTOR_EEW_FP_32): New.
14570 (MASK_VECTOR_EEW_FP_64): New.
14571 (MASK_ZVL32B): New.
14572 (MASK_ZVL64B): New.
14573 (MASK_ZVL128B): New.
14574 (MASK_ZVL256B): New.
14575 (MASK_ZVL512B): New.
14576 (MASK_ZVL1024B): New.
14577 (MASK_ZVL2048B): New.
14578 (MASK_ZVL4096B): New.
14579 (MASK_ZVL8192B): New.
14580 (MASK_ZVL16384B): New.
14581 (MASK_ZVL32768B): New.
14582 (MASK_ZVL65536B): New.
14583 (TARGET_ZVL32B): New.
14584 (TARGET_ZVL64B): New.
14585 (TARGET_ZVL128B): New.
14586 (TARGET_ZVL256B): New.
14587 (TARGET_ZVL512B): New.
14588 (TARGET_ZVL1024B): New.
14589 (TARGET_ZVL2048B): New.
14590 (TARGET_ZVL4096B): New.
14591 (TARGET_ZVL8192B): New.
14592 (TARGET_ZVL16384B): New.
14593 (TARGET_ZVL32768B): New.
14594 (TARGET_ZVL65536B): New.
14595 * config/riscv/riscv.opt (Mask(VECTOR)): New.
14596 (riscv_vector_eew_flags): New.
14597 (riscv_zvl_flags): New.
14598
14599 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
14600
14601 * common/config/riscv/riscv-common.c
14602 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
14603 digit.
14604
14605 2022-01-06 Jakub Jelinek <jakub@redhat.com>
14606
14607 PR tree-optimization/103899
14608 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
14609 warning by moving context variable to the only spot where it is used
14610 and moving gcc_assert into if body.
14611
14612 2022-01-06 Jakub Jelinek <jakub@redhat.com>
14613
14614 PR rtl-optimization/103908
14615 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
14616 asm goto.
14617
14618 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
14619
14620 PR target/103622
14621 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
14622 Skip over instances with undefined function types.
14623
14624 2022-01-05 Andrew Pinski <apinski@marvell.com>
14625
14626 PR target/103910
14627 * config/i386/i386.h (x86_mfence): Mark with GTY.
14628
14629 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
14630
14631 PR target/103861
14632 * config/i386/mmx.md (VI_16_32): New mode iterator.
14633 (VI1_16_32): Ditto.
14634 (mmxvecsize): Handle V2QI mode.
14635 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
14636 Use VI1_16_32 mode iterator.
14637 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
14638 Use VI1_16_32 mode iterator.
14639 (abs<mode>2): Use VI_16_32 mode iterator.
14640 (uavgv2qi3_ceil): New insn pattern.
14641
14642 2022-01-05 Martin Sebor <msebor@redhat.com>
14643
14644 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
14645 %qs to avoid -Wformat-diag.
14646
14647 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
14648
14649 PR target/103915
14650 * config/i386/mmx.md (one_cmplv2qi2): Change
14651 alternatives 1,2 type from sselog to sselog1.
14652
14653 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
14654
14655 PR target/103905
14656 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
14657 narrow mode remapped elements for !one_operand_p case.
14658
14659 2022-01-05 Richard Biener <rguenther@suse.de>
14660
14661 PR tree-optimization/103816
14662 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
14663 check DR_GROUP_GAP compute for overflow and representability.
14664
14665 2022-01-05 Jakub Jelinek <jakub@redhat.com>
14666
14667 PR fortran/103691
14668 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
14669 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
14670 it can do unwanted rhs folding like &a[0] into &2.0 etc.
14671
14672 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
14673
14674 PR ipa/102059
14675 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
14676 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
14677 (rs6000_need_ipa_fn_target_info): New function.
14678 (rs6000_update_ipa_fn_target_info): Likewise.
14679 (rs6000_can_inline_p): Adjust for ipa function summary target info.
14680 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
14681 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
14682 summary target info.
14683 (analyze_function_body): Adjust for ipa function summary target info
14684 and call hook rs6000_need_ipa_fn_target_info and
14685 rs6000_update_ipa_fn_target_info.
14686 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
14687 target info.
14688 (inline_read_section): Likewise.
14689 (ipa_fn_summary_write): Likewise.
14690 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
14691 * doc/tm.texi: Regenerate.
14692 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
14693 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
14694 * target.def (update_ipa_fn_target_info): New hook.
14695 (need_ipa_fn_target_info): Likewise.
14696 * targhooks.c (default_need_ipa_fn_target_info): New function.
14697 (default_update_ipa_fn_target_info): Likewise.
14698 * targhooks.h (default_update_ipa_fn_target_info): New declare.
14699 (default_need_ipa_fn_target_info): Likewise.
14700
14701 2022-01-04 Martin Sebor <msebor@redhat.com>
14702
14703 PR middle-end/99612
14704 * builtins.c (get_memmodel): Move warning code to
14705 gimple-ssa-warn-access.cc.
14706 (expand_builtin_atomic_compare_exchange): Same.
14707 (expand_ifn_atomic_compare_exchange): Same.
14708 (expand_builtin_atomic_load): Same.
14709 (expand_builtin_atomic_store): Same.
14710 (expand_builtin_atomic_clear): Same.
14711 * doc/extend.texi (__atomic_exchange_n): Update valid memory
14712 models.
14713 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
14714 (struct memmodel_pair): New struct.
14715 (memmodel_name): New function.
14716 (pass_waccess::maybe_warn_memmodel): New function.
14717 (pass_waccess::check_atomic_memmodel): New function.
14718 (pass_waccess::check_atomic_builtin): Handle memory model.
14719 * input.c (expansion_point_location_if_in_system_header): Return
14720 original location if expansion location is in a system header.
14721
14722 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
14723
14724 PR target/103861
14725 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
14726 (one_cmplv2qi3 splitters): New post-reload splitters.
14727 (*andnotv2qi3): New insn pattern.
14728 (andnotv2qi3 splitters): New post-reload splitters.
14729 (<any_logic:code>v2qi3): New insn pattern.
14730 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
14731
14732 2022-01-04 Richard Biener <rguenther@suse.de>
14733
14734 PR tree-optimization/103800
14735 * tree-vect-loop.c (vectorizable_phi): Remove assert and
14736 expand comment.
14737
14738 2022-01-04 Richard Biener <rguenther@suse.de>
14739
14740 PR tree-optimization/103690
14741 * tree-pass.h (tail_merge_optimize): Adjust.
14742 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
14743 to re-split critical edges, move CFG cleanup ...
14744 * tree-ssa-pre.c (pass_pre::execute): ... here, before
14745 simple_dce_from_worklist and delay freeing inserted_exprs from
14746 ...
14747 (fini_pre): .. here.
14748
14749 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
14750
14751 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
14752 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
14753 (setcc_from_bi): Remove SImode specific pattern.
14754 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
14755 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
14756 for sign- and zero-extending BImode predicates to integers.
14757 (setcc_int<mode>): Remove previous (-1-based) instructions.
14758 (cstorebi4): Remove BImode to SImode specific expander.
14759 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
14760 (cstore<mode>4): For both integer and floating point modes.
14761
14762 2022-01-04 Olivier Hainque <hainque@adacore.com>
14763
14764 * gcc.c (driver_handle_option): do_save --sysroot.
14765
14766 2022-01-04 Richard Biener <rguenther@suse.de>
14767
14768 PR tree-optimization/103864
14769 PR tree-optimization/103544
14770 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
14771 reductions wrapped in conversions from SLP handling.
14772 (vect_analyze_slp): Revert PR103544 change.
14773
14774 2022-01-04 Jakub Jelinek <jakub@redhat.com>
14775
14776 PR rtl-optimization/103860
14777 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
14778 uselessly for blocks for which it has been called already.
14779
14780 2022-01-04 Cui,Lili <lili.cui@intel.com>
14781
14782 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
14783 to Alderlake and Rocketlake.
14784
14785 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
14786
14787 PR middle-end/103643
14788 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
14789 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
14790
14791 2022-01-04 liuhongt <hongtao.liu@intel.com>
14792
14793 PR target/103895
14794 * config/i386/sse.md (*bit_and_float_vector_all_ones):
14795 Force_reg operand 1 to avoid ICE.
14796
14797 2022-01-04 Jason Merrill <jason@redhat.com>
14798
14799 * tree-pretty-print.c (do_niy): Add spc parameter.
14800 (NIY): Pass it.
14801 (print_call_name): Add spc local variable.
14802
14803 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
14804
14805 PR target/103894
14806 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
14807 (mov<V_32:mode>_internal): Ditto.
14808 (*push<V_32:mode>_rex64): Ditto.
14809 (movmisalign<V_32:mode>): Ditto.
14810 (*push<V_32:mode>_rex64 splitter): Enable for
14811 TARGET_64BIT && TARGET_SSE.
14812 (*push<V_32:mode>2): Remove insn pattern.
14813
14814 2022-01-03 Andrew Pinski <apinski@marvell.com>
14815
14816 PR c/33193
14817 * doc/extend.texi: Extend the documentation about Complex
14818 types for casting and also rewrite the __real__/__imag__
14819 expression portion to use tables.
14820 Move __builtin_complex to the Complex type section.
14821
14822 2022-01-03 Jakub Jelinek <jakub@redhat.com>
14823
14824 PR target/98737
14825 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
14826 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
14827 New internal fns.
14828 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
14829 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
14830 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
14831 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
14832 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
14833 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
14834 functions.
14835 * optabs.def (atomic_add_fetch_cmp_0_optab,
14836 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
14837 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
14838 direct optabs.
14839 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
14840 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
14841 * tree-ssa-ccp.c: Include internal-fn.h.
14842 (optimize_atomic_bit_test_and): Add . before internal fn call
14843 in function comment. Change return type from void to bool and
14844 return true only if successfully replaced.
14845 (optimize_atomic_op_fetch_cmp_0): New function.
14846 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
14847 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
14848 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
14849 for *XOR* ones only if optimize_atomic_bit_test_and failed.
14850 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
14851 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
14852 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
14853 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
14854 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
14855 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
14856 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
14857 new named patterns.
14858
14859 2022-01-03 Richard Biener <rguenther@suse.de>
14860
14861 PR middle-end/103851
14862 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
14863
14864 2022-01-03 Jakub Jelinek <jakub@redhat.com>
14865
14866 PR c++/94716
14867 * symtab.c: Include fold-const.h.
14868 (symtab_node::equal_address_to): If folding_initializer is true,
14869 handle it like memory_accessed. Simplify.
14870
14871 2022-01-03 Martin Liska <mliska@suse.cz>
14872
14873 * doc/extend.texi: Use ; for function declarations.
14874
14875 2022-01-03 Jakub Jelinek <jakub@redhat.com>
14876
14877 PR c++/103600
14878 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
14879 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
14880
14881 2022-01-03 Jakub Jelinek <jakub@redhat.com>
14882
14883 * gcc.c (process_command): Update copyright notice dates.
14884 * gcov-dump.c (print_version): Ditto.
14885 * gcov.c (print_version): Ditto.
14886 * gcov-tool.c (print_version): Ditto.
14887 * gengtype.c (create_file): Ditto.
14888 * doc/cpp.texi: Bump @copying's copyright year.
14889 * doc/cppinternals.texi: Ditto.
14890 * doc/gcc.texi: Ditto.
14891 * doc/gccint.texi: Ditto.
14892 * doc/gcov.texi: Ditto.
14893 * doc/install.texi: Ditto.
14894 * doc/invoke.texi: Ditto.
14895
14896 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
14897
14898 PR target/103861
14899 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
14900 (VALID_INT_MODE_P): Ditto.
14901 * config/i386/i386.c (ix86_secondary_reload): Handle
14902 V2QImode reloads from SSE register to memory.
14903 (vector_mode_supported_p): Always return true for V2QImode.
14904 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
14905 (*negqi_ext<mode>_2): Ditto.
14906 * config/i386/mmx.md (movv2qi): New expander.
14907 (movmisalignv2qi): Ditto.
14908 (*movv2qi_internal): New insn pattern.
14909 (*pushv2qi2): Ditto.
14910 (negv2qi2 and splitters): Ditto.
14911 (<plusminus:insn>v2qi3 and splitters): Ditto.
14912
14913 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
14914
14915 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
14916 sync_lock_test_and_set libfunc. Call convert_memory_address to
14917 convert memory address to Pmode.
14918 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
14919
14920 \f
14921 Copyright (C) 2022 Free Software Foundation, Inc.
14922
14923 Copying and distribution of this file, with or without modification,
14924 are permitted in any medium without royalty provided the copyright
14925 notice and this notice are preserved.