1 2022-07-01 Aldy Hernandez <aldyh@redhat.com>
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.
7 2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
9 * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
10 Use "r" constraint for operand 1.
12 2022-07-01 Richard Biener <rguenther@suse.de>
14 * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
15 Do not look at interesting_blocks which is a copy of
17 (update_ssa): Do not initialize it.
18 (pass_build_ssa::execute): Set interesting_blocks to NULL
21 2022-07-01 Richard Biener <rguenther@suse.de>
23 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
24 back to using maybe_ne (off, -1).
26 2022-07-01 Richard Biener <rguenther@suse.de>
28 * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
29 checking dominance check conditional on flag_checking.
31 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
33 * config/gcn/gcn-protos.h (print_operand_address): Remove register
34 keyword on 'rtx addr' argument.
36 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
37 Uroš Bizjak <ubizjak@gmail.com>
39 * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
40 to post-reload define_insn_and_split.
42 2022-07-01 Jakub Jelinek <jakub@redhat.com>
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.
50 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
53 * config/i386/i386.md (peephole2): Avoid generating pop %esp
54 when optimizing for size.
56 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
57 Uroš Bizjak <ubizjak@gmail.com>
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.
83 2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
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.
90 2022-07-01 Richard Biener <rguenther@suse.de>
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
97 2022-07-01 Martin Liska <mliska@suse.cz>
99 PR tree-optimization/106126
100 * gimple-if-to-switch.cc (struct condition_info): Save
102 (find_conditions): Parse all BBs.
103 (pass_if_to_switch::execute): Allow only side effects for first
106 2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
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.
113 2022-06-30 Joseph Myers <joseph@codesourcery.com>
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
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.
124 2022-06-30 Aldy Hernandez <aldyh@redhat.com>
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.
135 2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
136 Uroš Bizjak <ubizjak@gmail.com>
138 * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
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).
146 2022-06-30 Richard Biener <rguenther@suse.de>
148 * domwalk.h (dom_walker::dom_walker): Update comment to
149 reflect reality and new special argument value for
151 * domwalk.cc (dom_walker::dom_walker): Recognize -1
154 (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
155 dom_walker to not use RPO.
157 2022-06-30 Martin Liska <mliska@suse.cz>
159 * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
162 2022-06-30 Andrew MacLeod <amacleod@redhat.com>
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.
168 2022-06-30 Antoni Boucher <bouanto@zoho.com>
171 * config/i386/sse.md: Fix asm generation.
173 2022-06-29 Sergei Trofimovich <siarheit@google.com>
176 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
178 2022-06-29 Joseph Myers <joseph@codesourcery.com>
180 * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
181 not gen_const_mem for UNSPEC_PIC_CALL_SYM.
183 2022-06-29 Richard Biener <rguenther@suse.de>
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.
189 2022-06-29 Richard Biener <rguenther@suse.de>
191 PR tree-optimization/106112
192 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
193 a constant operand according to its type.
195 2022-06-29 Martin Liska <mliska@suse.cz>
197 * doc/invoke.texi: Remove removed evrp-mode.
199 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
202 * config/loongarch/loongarch.cc (loongarch_build_integer):
203 Remove undefined behavior from code.
205 2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
207 * doc/sourcebuild.texi: Document new no_alignment_constraints
208 effective target check.
210 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
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.
221 2022-06-28 Alexandre Oliva <oliva@adacore.com>
223 * Makefile.in (TFLAGS): New.
224 (GCC_FOR_TARGET): Add TFLAGS.
225 (FLAGS_TO_PASS): Pass TFLAGS down.
227 2022-06-28 Richard Biener <rguenther@suse.de>
229 * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
232 2022-06-28 Richard Biener <rguenther@suse.de>
234 * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
235 mark_block_for_update.
236 (update_ssa): Adjust.
238 2022-06-28 Xi Ruoyao <xry111@xry111.site>
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.
246 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
248 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
251 2022-06-28 Richard Biener <rguenther@suse.de>
254 * match.pd ((T)a == (T)b): Avoid folding away sign
255 changes in a comparison if we'd truncate to a boolean.
257 2022-06-28 Kewen Lin <linkw@linux.ibm.com>
259 * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
260 iterator GPR with SImode, adjust the condition and output template,
262 (*rotlsi3_insert_4): ... this.
264 2022-06-27 David Malcolm <dmalcolm@redhat.com>
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.
277 2022-06-27 David Malcolm <dmalcolm@redhat.com>
279 * config/i386/i386-features.h: Add "final" and "override" to
280 scalar_chain vfunc implementations as appropriate.
282 2022-06-27 David Malcolm <dmalcolm@redhat.com>
284 * tree-switch-conversion.h: Add "final" and "override" to cluster
285 vfunc implementations as appropriate.
287 2022-06-27 David Malcolm <dmalcolm@redhat.com>
289 * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
290 implementations as appropriate.
292 2022-06-27 David Malcolm <dmalcolm@redhat.com>
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.
308 2022-06-27 David Malcolm <dmalcolm@redhat.com>
310 * adjust-alignment.cc: Add "final" and "override" to opt_pass
311 vfunc implementations, removing redundant "virtual" as
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.
329 * df-core.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.
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.
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.
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.
454 * ubsan.cc: Likewise.
455 * var-tracking.cc: Likewise.
456 * vtable-verify.cc: Likewise.
459 2022-06-27 Andrew Stubbs <ams@codesourcery.com>
461 * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
463 (movdi_symbol_save_scc): Likewise.
465 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
467 PR rtl-optimization/7061
468 * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
470 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
472 PR tree-optimization/94026
473 * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
474 (((X >> C1) & C2) eq/ne C3): Likewise.
476 2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
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
484 (statistics_histogram_event): Likewise.
486 2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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.
493 2022-06-25 Aldy Hernandez <aldyh@redhat.com>
495 * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
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
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.
520 2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
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.
567 2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
568 Richard Biener <rguenther@suse.de>
570 * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
571 iteration over each basic block that was updated by the second
574 2022-06-24 Jason Merrill <jason@redhat.com>
578 * doc/invoke.texi: Document changes.
580 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
582 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
583 condition to avoid overflow.
585 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
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.
605 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
607 * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
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
614 * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
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):
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.
644 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
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.
658 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
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.
678 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
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.
684 2022-06-24 Richard Biener <rguenther@suse.de>
687 * match.pd (a != b ? a : b): Fix translation of
688 operand_equal_for_comparison_p.
690 2022-06-24 Jan Hubicka <jh@suse.cz>
693 * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
695 2022-06-24 Martin Liska <mliska@suse.cz>
698 * profile-count.h: *= and /= operators need to modify this
701 2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
702 Uroš Bizjak <ubizjak@gmail.com>
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).
709 2022-06-24 Alexandre Oliva <oliva@adacore.com>
711 * common.opt (nostdlib++): New.
712 * doc/invoke.texi (-nostdlib++): Document it.
714 2022-06-24 Alexandre Oliva <oliva@adacore.com>
716 * doc/sourcebuild.texi (Environment attributes): Document
719 2022-06-23 David Malcolm <dmalcolm@redhat.com>
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.
741 2022-06-23 Martin Liska <mliska@suse.cz>
744 * ubsan.cc (sanitize_unreachable_fn): Change order of calls
745 in order to initialize UBSAN built-ins.
747 2022-06-23 Martin Liska <mliska@suse.cz>
750 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
751 Skip variables with body_removed.
753 2022-06-23 liuhongt <hongtao.liu@intel.com>
755 * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
757 (sse4_2_pcmpistr): Ditto.
759 2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
761 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
763 * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
764 * tree-switch-conversion.h: Likewise.
766 2022-06-22 Jason Merrill <jason@redhat.com>
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)
795 * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
797 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
800 2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
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.
806 2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
808 * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
810 2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
812 * config/xtensa/xtensa.md (bswapsi2_internal):
813 Enlarge the buffer that is obviously smaller than the template
814 string given to sprintf().
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>
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.
827 2022-06-21 Nathan Sidwell <nathan@acm.org>
829 * doc/invoke.texi (C++ Modules): Remove language-linkage
832 2022-06-21 Arjun Shankar <arjun@redhat.com>
834 PR tree-optimization/94899
835 * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
836 0x80000000): New simplification.
838 2022-06-21 Jakub Jelinek <jakub@redhat.com>
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.
844 2022-06-21 Jakub Jelinek <jakub@redhat.com>
847 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
848 temp to expand_operands if mode has been promoted.
850 2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
853 * gimple-if-to-switch.cc (find_conditions): Don't skip the first
856 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
858 PR tree-optimization/105736
859 * tree-object-size.cc (addr_object_size): Return size_unknown
860 when object offset computation returns an error.
862 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
865 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
866 false if PIC register is used when calling ifunc functions.
868 2022-06-20 Richard Biener <rguenther@suse.de>
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.
876 2022-06-20 Kewen Lin <linkw@linux.ibm.com>
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.
888 2022-06-20 Martin Liska <mliska@suse.cz>
890 * bb-reorder.cc (find_traces_1_round): Add operators / and * and
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.
925 2022-06-20 yulong <shiyulong@iscas.ac.cn>
927 * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
928 * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
930 * config/riscv/riscv-ftypes.def (0): Remove unused.
933 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
935 * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
936 Consider relaxed MOVI instructions as L32R.
938 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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
952 2022-06-18 Jakub Jelinek <jakub@redhat.com>
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
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.
989 2022-06-18 Jakub Jelinek <jakub@redhat.com>
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.
996 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
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
1005 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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
1014 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
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.
1024 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
1027 * config/i386/i386.cc (ix86_function_arg): Assert that
1028 the mode of pointer argumet is equal to ptr_mode, not Pmode.
1030 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
1033 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
1034 instead of REGNO comparisons in combine splitter.
1036 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
1038 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
1041 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
1043 * config/riscv/bitmanip.md: Supress warning.
1045 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
1048 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
1049 Clear bits in the mask above bit 31.
1051 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
1053 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
1054 to avoid spilling trivial literals to the constant pool.
1056 2022-06-16 David Malcolm <dmalcolm@redhat.com>
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.
1068 2022-06-16 Jason Merrill <jason@redhat.com>
1070 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
1071 opts_set->x_flag_sanitize.
1073 2022-06-16 Jason Merrill <jason@redhat.com>
1075 * flags.h (issue_strict_overflow_warning): Comment #endif.
1077 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
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.
1084 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
1086 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
1088 2022-06-16 Jakub Jelinek <jakub@redhat.com>
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.
1095 2022-06-16 Jakub Jelinek <jakub@redhat.com>
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.
1103 2022-06-16 Jakub Jelinek <jakub@redhat.com>
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
1118 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
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.
1147 2022-06-16 Martin Liska <mliska@suse.cz>
1149 * gengtype-state.cc (read_a_state_token): Do not skip extra
1150 character after escaped sequence.
1152 2022-06-16 Martin Liska <mliska@suse.cz>
1155 * spellcheck.cc (test_find_closest_string): Add new test.
1156 * spellcheck.h (class best_match): Prefer a difference in
1157 trailing sign symbol.
1159 2022-06-16 liuhongt <hongtao.liu@intel.com>
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.
1166 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1168 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
1170 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1172 * config/xtensa/predicates.md (reload_operand):
1174 * config/xtensa/xtensa.md: New peephole2 pattern.
1176 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1178 * config/xtensa/xtensa.md (*round_up_to_even):
1179 New insn-and-split pattern.
1180 (*signed_ge_zero): Ditto.
1182 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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
1192 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
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.
1204 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1206 * doc/invoke.texi: Document -mextra-l32r-costs= option.
1208 2022-06-15 David Malcolm <dmalcolm@redhat.com>
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
1217 2022-06-15 David Malcolm <dmalcolm@redhat.com>
1219 * value-relation.h: Add "final" and "override" to relation_oracle
1220 vfunc implementations as appropriate.
1222 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
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
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.
1269 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
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.
1276 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
1279 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
1281 2022-06-15 Richard Biener <rguenther@suse.de>
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.
1288 2022-06-15 Richard Biener <rguenther@suse.de>
1290 PR tree-optimization/105969
1291 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
1292 by zero in overflow check.
1294 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
1296 PR tree-optimization/105254
1297 PR tree-optimization/105940
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
1303 (aarch64_vector_costs::finish_cost): Update call accordingly.
1305 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
1307 * read-rtl.cc (find_int): Substitute symbolic constants
1308 before converting the string to an integer.
1310 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
1311 Richard Biener <rguenther@suse.de>
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.
1320 2022-06-15 liuhongt <hongtao.liu@intel.com>
1323 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
1326 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
1328 PR rtl-optimization/105041
1329 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
1331 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
1333 * config/rs6000/vsx.md (VS_scalar): Delete.
1334 (rest of file): Adjust.
1336 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
1339 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
1341 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
1343 * config/riscv/bitmanip.md: Add split to handle opportunities
1344 for slli + sh[123]add.uw
1346 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
1348 * config/riscv/predicates.md (consecutive_bits_operand):
1349 Implement new predicate.
1351 2022-06-14 Richard Biener <rguenther@suse.de>
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.
1357 2022-06-14 Richard Biener <rguenther@suse.de>
1359 PR middle-end/105965
1360 * match.pd (view_convert CONSTRUCTOR): Handle single-element
1363 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
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.
1371 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
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.
1377 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1379 * config/xtensa/predicates.md (shifted_mask_operand):
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.
1387 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1389 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
1391 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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
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"
1411 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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):
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.
1429 2022-06-13 Jason Merrill <jason@redhat.com>
1431 * tree-cfg.cc (pass_warn_function_return::execute): Also check
1434 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
1436 * config/riscv/riscv.md (length): Remove the explicit setting
1439 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
1441 * common/config/i386/cpuinfo.h (get_available_features): Require
1442 AVX for F16C and VAES.
1444 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
1447 * config/i386/predicates.md (register_no_elim_operand):
1448 Return true for subreg of a memory operand.
1450 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
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
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.
1483 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
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.
1497 2022-06-13 Jakub Jelinek <jakub@redhat.com>
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.
1503 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
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.
1512 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
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}.
1519 2022-06-13 Jakub Jelinek <jakub@redhat.com>
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.
1527 2022-06-12 Simon Wright <simon@pushface.org>
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
1534 2022-06-12 Mark Mentovai <mark@mentovai.com>
1536 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
1538 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
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
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
1557 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1559 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
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.
1569 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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
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
1584 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
1585 dependent option, however, preparatory work for now.
1587 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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,
1593 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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.
1601 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
1603 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
1604 not generate block copies with vector pair instructions if we are
1607 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
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.
1616 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1618 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
1620 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1622 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
1623 New insn_and_split pattern.
1625 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1627 * config/xtensa/xtensa.md (one_cmplsi2):
1628 Rearrange as an insn_and_split pattern.
1630 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1632 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
1634 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
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.
1646 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
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.
1653 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
1655 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
1656 omp_discover_declare_target_fn_r): Don't walk reverse-offload
1659 2022-06-09 Jakub Jelinek <jakub@redhat.com>
1661 * doc/invoke.texi (-Waddress): Fix a typo in small example.
1662 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
1664 2022-06-09 Cui,Lili <lili.cui@intel.com>
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
1675 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
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.
1681 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
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.
1688 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
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.
1696 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
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.
1703 2022-06-08 liuhongt <hongtao.liu@intel.com>
1707 * config/i386/i386.md (*movsi_internal): Change alternative
1709 (*movdi_internal): Ditto.
1710 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
1712 (*vec_extractv4sf_mem): Ditto.
1713 (*vec_extracthf): Ditto.
1715 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
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.
1727 2022-06-07 liuhongt <hongtao.liu@intel.com>
1730 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
1733 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
1735 PR middle-end/105853
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.
1746 2022-06-07 Jan Beulich <jbeulich@suse.com>
1749 2022-06-03 Jan Beulich <jbeulich@suse.com>
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.
1758 2022-06-07 Jakub Jelinek <jakub@redhat.com>
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.
1765 2022-06-07 Jan Beulich <jbeulich@suse.com>
1767 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
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.
1774 2022-06-07 Jan Beulich <jbeulich@suse.com>
1776 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
1777 into account for reg-only insns.
1779 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
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.
1787 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
1789 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
1792 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
1794 * config.in: Regenerate.
1795 * configure: Regenerate.
1796 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
1798 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
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)
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
1817 2022-06-04 Jakub Jelinek <jakub@redhat.com>
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.
1825 2022-06-03 Jakub Jelinek <jakub@redhat.com>
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.
1832 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
1834 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
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.
1840 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
1842 * value-range.h (struct vrange_traits): Remove.
1843 (is_a): Rewrite without vrange_traits.
1846 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
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
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
1876 (class unsupported_range): Remove most methods as they will now be
1877 inherited from vrange.
1879 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
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):
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.
1922 2022-06-03 Jan Beulich <jbeulich@suse.com>
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.
1931 2022-06-03 Jan Beulich <jbeulich@suse.com>
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.
1938 2022-06-03 Alexandre Oliva <oliva@adacore.com>
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.
1948 2022-06-02 David Malcolm <dmalcolm@redhat.com>
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
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.
2007 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2009 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
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
2036 * gcc.cc (driver_handle_option): Pass dump_base_name to
2037 diagnostic_output_format_init.
2038 * opts.cc (common_handle_option): Likewise.
2040 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2042 * json.cc (string::print): Fix escaping of '\'.
2044 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
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)
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).
2053 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
2056 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
2057 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
2059 2022-06-02 Jakub Jelinek <jakub@redhat.com>
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
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
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.
2098 2022-06-02 Richard Biener <rguenther@suse.de>
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.
2112 2022-06-02 Richard Biener <rguenther@suse.de>
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.
2118 2022-06-01 David Seifert <soap@gentoo.org>
2121 * configure: Regenerate.
2123 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
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
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.
2137 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
2139 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
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
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.
2163 2022-06-01 Jakub Jelinek <jakub@redhat.com>
2166 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
2167 x > ~(utype)0 / cst): New simplification.
2169 2022-06-01 Richard Biener <rguenther@suse.de>
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.
2176 2022-06-01 Jakub Jelinek <jakub@redhat.com>
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.
2182 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
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):
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.
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.
2315 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
2317 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
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):
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.
2349 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
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.
2429 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
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.
2441 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
2443 * value-range-equiv.cc (value_range_equiv::set): New.
2444 * value-range-equiv.h (class value_range_equiv): Make set method
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.
2474 * value-range.h (enum value_range_discriminator): New.
2475 (class vrange): New.
2476 (class unsupported_range): New.
2477 (struct vrange_traits): 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
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.
2497 2022-06-01 Richard Biener <rguenther@suse.de>
2499 PR tree-optimization/105763
2500 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
2501 Check gimple_range_ssa_p.
2503 2022-05-31 Jason Merrill <jason@redhat.com>
2505 * Makefile.in (TAGS): Look at libcpp/*.cc.
2507 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
2509 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
2510 Prefix mode names with E_.
2512 2022-05-31 Alan Modra <amodra@gmail.com>
2514 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
2515 spelling of DW_AT_namelist_item.
2517 2022-05-31 Jakub Jelinek <jakub@redhat.com>
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.
2524 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
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.
2530 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
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.
2541 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
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.
2547 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
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.
2572 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
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.
2594 2022-05-30 Jan Beulich <jbeulich@suse.com>
2596 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
2599 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2601 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
2603 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
2606 * config/darwin.h: Move versions-specific handling of multiply_defined
2607 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
2609 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
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.
2617 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
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
2623 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
2624 from leaking into cc1.
2626 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
2629 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
2630 is special) for various scenarios.
2632 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
2634 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
2635 describing this macro.
2637 2022-05-27 Richard Biener <rguenther@suse.de>
2639 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
2641 2022-05-27 Martin Jambor <mjambor@suse.cz>
2644 * ipa-prop.cc (propagate_controlled_uses): Check type of the
2645 constant before adding a LOAD reference.
2647 2022-05-27 Jakub Jelinek <jakub@redhat.com>
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.
2661 2022-05-27 Richard Biener <rguenther@suse.de>
2663 PR tree-optimization/105726
2664 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
2665 Constrain array-of-flexarray case more.
2667 2022-05-27 Jakub Jelinek <jakub@redhat.com>
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.
2673 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
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.
2684 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
2686 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
2687 to split a combined "and;cmp" sequence into "not;test".
2689 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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.
2698 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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.
2709 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2711 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
2712 Make instruction counting more accurate, and simplify emitting insns.
2714 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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.
2725 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2727 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
2728 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
2731 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
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.
2738 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
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.
2761 2022-05-25 Simon Cook <simon.cook@embecosm.com>
2763 * config/riscv/arch-canonicalize: Only add mafd extension if
2764 base was rv32/rv64g.
2766 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
2768 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
2770 2022-05-25 Jakub Jelinek <jakub@redhat.com>
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.
2777 2022-05-25 Martin Liska <mliska@suse.cz>
2778 Richard Biener <rguenther@suse.de>
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
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.
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.
2811 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
2813 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
2814 counts for the epilog loop.
2816 2022-05-24 Martin Sebor <msebor@redhat.com>
2817 Richard Biener <rguenther@suse.de>
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
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.
2828 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2830 * target.def (vec_perm_const): Define new parameter op_mode and
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
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.
2870 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
2873 * config/i386/i386.opt: Remove Undocumented.
2874 * doc/invoke.texi: Document -mcet-switch.
2876 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
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
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.
2909 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
2911 * config.in: Regenerate.
2912 * config/gcn/gcn-hsa.h (X_FIJI): 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.
2947 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
2949 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
2950 i.e. a double word negation of a zero extended operand, to
2953 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
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.
2963 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
2965 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
2966 to strncmp for strings of length one.
2968 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
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
2974 (RISCV_ATYPE_SI): New.
2975 (RISCV_ATYPE_DI): New.
2976 * config/riscv/riscv-ftypes.def (0): 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.
2983 (riscv_prefetchi_<mode>): New.
2984 * config/riscv/riscv-cmo.def: New file.
2986 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
2988 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
2989 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
2992 (TARGET_ZICBOZ): New.
2993 (TARGET_ZICBOM): New.
2994 (TARGET_ZICBOP): New.
2995 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
2997 2022-05-24 David Malcolm <dmalcolm@redhat.com>
2999 * tree-vect-slp-patterns.cc: Add "final" and "override" to
3000 vect_pattern::build impls as appropriate.
3002 2022-05-24 David Malcolm <dmalcolm@redhat.com>
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.
3017 2022-05-24 Martin Liska <mliska@suse.cz>
3020 2022-05-24 Martin Liska <mliska@suse.cz>
3022 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
3025 2022-05-24 Martin Liska <mliska@suse.cz>
3027 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
3030 2022-05-24 Bruno Haible <bruno@clisp.org>
3033 * doc/install.texi (Configuration): Add more details about --with-zstd.
3034 Document --with-zstd-include and --with-zstd-lib
3036 2022-05-24 Richard Biener <rguenther@suse.de>
3038 PR middle-end/105711
3039 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
3041 (extract_bit_field_1): Pass down the mode of op0 to
3042 extract_bit_field_as_subreg.
3044 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
3046 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
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.
3054 2022-05-24 Jakub Jelinek <jakub@redhat.com>
3057 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
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.
3065 2022-05-24 Richard Biener <rguenther@suse.de>
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.
3071 2022-05-24 Richard Biener <rguenther@suse.de>
3073 PR tree-optimization/105629
3074 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
3075 a sign-extending conversion.
3077 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
3080 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
3082 (union_uses): Skip debug use_insn.
3084 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
3086 * config/riscv/predicates.md (const_0_operand): Remove
3088 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
3090 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
3092 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
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
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
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.
3154 2022-05-23 Martin Liska <mliska@suse.cz>
3156 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
3158 2022-05-23 Richard Biener <rguenther@suse.de>
3160 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
3161 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
3163 2022-05-23 Richard Biener <rguenther@suse.de>
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.
3174 2022-05-23 Richard Biener <rguenther@suse.de>
3176 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
3177 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
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):
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
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.
3204 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
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.
3215 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
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.
3224 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
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.
3230 2022-05-23 liuhongt <hongtao.liu@intel.com>
3232 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
3233 <-> mask cost from 5 to 6.
3234 (icelake_cost): Ditto.
3236 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
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.
3259 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
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.
3273 2022-05-20 David Malcolm <dmalcolm@redhat.com>
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.
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.
3303 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
3305 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
3306 target_memcpy_rect_async to omp_runtime_apis array.
3308 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
3310 * doc/sourcebuild.texi (Decimal floating point attributes): Document
3311 dfp_bid effective-target.
3313 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
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
3336 (movdf_aarch64): Use DFD iterator and rename into
3338 (movtf_aarch64): Use TFD iterator and rename into
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.
3347 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
3349 * configure: Regenerate.
3351 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
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.
3358 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
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.
3374 2022-05-19 Richard Biener <rguenther@suse.de>
3376 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
3377 computation of the new value.
3379 2022-05-19 Richard Biener <rguenther@suse.de>
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.
3386 2022-05-19 David Malcolm <dmalcolm@redhat.com>
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.
3393 2022-05-19 Jakub Jelinek <jakub@redhat.com>
3396 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
3397 global vars without symtab node even when they have DECL_RTL
3400 2022-05-19 Jakub Jelinek <jakub@redhat.com>
3403 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
3404 doesn't have pointer or reference type.
3406 2022-05-18 Marek Polacek <polacek@redhat.com>
3409 * doc/invoke.texi: Document -Wenum-int-mismatch.
3411 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
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.
3417 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
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.
3423 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
3425 * config/i386/i386.md (define_split): Split *andsi_1
3426 and *andn_si_ccno after reload with -Oz.
3428 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
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.
3439 2022-05-18 liuhongt <hongtao.liu@intel.com>
3441 PR middle-end/103462
3442 * match.pd (bitwise_induction_p): New match.
3443 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
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
3450 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
3453 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
3455 2022-05-18 liuhongt <hongtao.liu@intel.com>
3458 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
3461 2022-05-18 liuhongt <hongtao.liu@intel.com>
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.
3468 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
3469 Segher Boessenkool <segher@kernel.crashing.org>
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.
3478 2022-05-17 Marek Polacek <polacek@redhat.com>
3480 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
3482 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
3485 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
3486 register count when not splitting IEEE 128-bit Complex.
3488 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3490 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
3491 target inside target if inner is reverse offload.
3493 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3495 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
3496 * config/nvptx/mkoffload.cc (process): Likewise.
3498 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
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.
3532 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
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.
3540 2022-05-17 Richard Biener <rguenther@suse.de>
3542 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
3543 not clear bb->aux of the copied blocks.
3545 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
3547 PR tree-optimization/105458
3548 * value-relation.cc (path_oracle::register_relation): Merge, then check
3551 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
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.
3575 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
3577 * diagnostic.cc: Don't advise to call 'abort' instead of
3579 * system.h: Advise to call 'internal_error' instead of 'abort' or
3582 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
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
3589 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
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.
3595 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3598 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
3599 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
3601 2022-05-17 Jakub Jelinek <jakub@redhat.com>
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.
3610 2022-05-17 Jakub Jelinek <jakub@redhat.com>
3613 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
3614 andv4si3 only for EQ, for NE use iorv4si3 instead.
3616 2022-05-17 Richard Biener <rguenther@suse.de>
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.
3622 2022-05-17 Jakub Jelinek <jakub@redhat.com>
3624 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
3625 hanlde -> handle. Fix up comment formatting.
3627 2022-05-17 liuhongt <hongtao.liu@intel.com>
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.
3635 2022-05-17 liuhongt <hongtao.liu@intel.com>
3637 PR tree-optimization/105591
3638 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
3639 vec_perm_expr index.
3641 2022-05-16 Jason Merrill <jason@redhat.com>
3644 * attribs.cc (decl_attributes): Fix broken typedefs here.
3646 2022-05-16 David Malcolm <dmalcolm@redhat.com>
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.
3654 2022-05-16 Richard Biener <rguenther@suse.de>
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
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.
3674 2022-05-16 Richard Biener <rguenther@suse.de>
3676 * gimple-match.h (code_helper): Move class ...
3677 * tree.h (code_helper): ... here.
3679 2022-05-16 Martin Liska <mliska@suse.cz>
3681 * opts-global.cc (write_langs): Add comment.
3683 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
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.
3689 2022-05-16 Martin Liska <mliska@suse.cz>
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.
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.
3734 2022-05-16 Martin Liska <mliska@suse.cz>
3736 * opts-global.cc (write_langs): Allocate at least one byte.
3738 2022-05-16 Richard Biener <rguenther@suse.de>
3740 * match.pd (A cmp B ? A : B -> min/max): New patterns
3741 carried over from fold_cond_expr_with_comparison.
3743 2022-05-16 liuhongt <hongtao.liu@intel.com>
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.
3750 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
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.
3772 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
3773 Uroš Bizjak <ubizjak@gmail.com>
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.
3782 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
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.
3790 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
3791 Manolis Tsamis <manolis.tsamis@vrull.eu>
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
3798 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
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.
3804 2022-05-13 Sebastian Pop <spop@amazon.com>
3807 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
3809 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
3810 memmodel_from_int and handle MEMMODEL_SYNC_*.
3811 (DEF0): Add __aarch64_*_sync functions.
3813 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
3815 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
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
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.
3855 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
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.
3863 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
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.
3870 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
3872 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
3873 had_global value instead.
3875 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
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.
3886 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
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.
3894 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
3896 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
3898 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
3900 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
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
3914 2022-05-13 Alexandre Oliva <oliva@adacore.com>
3916 * gimple-harden-conditionals.cc: Include sbitmap.h.
3917 (pass_harden_conditional_branches::execute): Skip new blocks.
3918 (pass_harden_compares::execute): Likewise.
3920 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
3923 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
3925 (*movmisalign<mode>_mve_load): Likewise.
3926 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
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.
3932 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
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.
3937 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3939 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
3942 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3944 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
3945 extzvsi_internal): Rename from extv, extv_internal, extzv and
3946 extzv_internal, respectively.
3948 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
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
3954 2022-05-13 Richard Biener <rguenther@suse.de>
3956 * gimple-fold.cc (gimple_build): Adjust for new
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
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.
4017 2022-05-13 Alexandre Oliva <oliva@adacore.com>
4019 PR rtl-optimization/105455
4020 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
4021 probabilities for newly-conditional edges.
4023 2022-05-13 liuhongt <hongtao.liu@intel.com>
4025 PR tree-optimization/102583
4026 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
4027 contiguous stride in the VEC_PERM_EXPR.
4029 2022-05-12 Richard Biener <rguenther@suse.de>
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.
4035 2022-05-12 Richard Biener <rguenther@suse.de>
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.
4048 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
4051 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
4052 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
4053 New define_split pattern.
4055 2022-05-12 Jakub Jelinek <jakub@redhat.com>
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
4063 2022-05-11 Patrick Palka <ppalka@redhat.com>
4065 * tree.h (TREE_VEC_BEGIN): Define.
4066 (TREE_VEC_END): Correct 'length' member access.
4067 (class tree_vec_range): Define.
4069 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
4071 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
4073 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
4075 * config/rs6000/rs6000.md: Use d instead of <Ff>.
4077 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
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.
4087 2022-05-11 Richard Biener <rguenther@suse.de>
4089 * gimple-fold.h (gimple_build): Use variadic template
4090 functions for the gimple_build API forwarders without
4091 location_t argument.
4093 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
4096 * asan.cc (initialize_sanitizer_builtins): Register
4097 __builtin_dynamic_object_size if necessary.
4099 2022-05-11 Richard Biener <rguenther@suse.de>
4101 PR rtl-optimization/105559
4102 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
4103 for non-debug insns.
4105 2022-05-11 Richard Biener <rguenther@suse.de>
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.
4112 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
4114 * doc/install.texi: Don't document '--with-hsa-runtime',
4115 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
4117 2022-05-11 Martin Liska <mliska@suse.cz>
4120 * doc/install.texi: Document the configure option --with-zstd.
4122 2022-05-11 Martin Liska <mliska@suse.cz>
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.
4130 2022-05-11 Richard Biener <rguenther@suse.de>
4133 * opts.cc (finish_options): Also disable var-tracking if
4134 !DWARF2_DEBUGGING_INFO.
4136 2022-05-11 liuhongt <hongtao.liu@intel.com>
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.
4148 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
4150 * config/rs6000/constraints.md (register constraint v): Use
4151 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
4153 2022-05-11 Martin Liska <mliska@suse.cz>
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.
4162 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
4165 * match.pd (minmax): Skip constant folding for fmin/fmax when both
4166 arguments are sNaN or one is sNaN and another is NaN.
4168 2022-05-10 Jakub Jelinek <jakub@redhat.com>
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.
4174 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
4176 * doc/md.texi (Defining Mode Iterators): Correct example replacement
4179 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
4181 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
4183 (fmin<mode>3, fmax<mode>3): New insns.
4185 2022-05-10 Richard Biener <rguenther@suse.de>
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.
4192 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
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'.
4199 2022-05-10 Richard Biener <rguenther@suse.de>
4201 PR middle-end/105537
4202 * toplev.cc (process_options): Move flag_var_tracking
4204 * opts.cc (finish_options): ... here.
4206 2022-05-10 Martin Liska <mliska@suse.cz>
4208 * basic-block.h (struct basic_block_d): Use void *
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.
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.
4222 2022-05-10 Richard Biener <rguenther@suse.de>
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.
4230 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
4231 Roger Sayle <roger@nextmovesoftware.com>
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.
4239 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
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,
4245 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
4248 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
4249 true only for 8-byte vector modes.
4251 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
4254 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
4255 (instrument_object_size): Get dynamic object size expression.
4257 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
4259 PR preprocessor/101168
4260 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
4261 Avoid empty identifier.
4263 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
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.
4272 2022-05-09 liuhongt <hongtao.liu@intel.com>
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.
4281 2022-05-09 Martin Liška <mliska@suse.cz>
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.
4287 2022-05-09 Richard Biener <rguenther@suse.de>
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.
4295 2022-05-09 Richard Biener <rguenther@suse.de>
4297 * match.pd: Remove #if GIMPLE guards around ! using patterns.
4299 2022-05-09 liuhongt <hongtao.liu@intel.com>
4302 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
4304 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
4305 define_insn_and_split.
4307 2022-05-09 Alex Coplan <alex.coplan@arm.com>
4309 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
4310 symtab state is PARSING.
4312 2022-05-09 Martin Liska <mliska@suse.cz>
4314 * system.h (LIKELY): Define.
4315 (UNLIKELY): Likewise.
4316 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
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.
4348 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
4350 * config/riscv/arch-canonicalize: Handle g correctly.
4352 2022-05-07 Marek Polacek <polacek@redhat.com>
4356 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
4358 2022-05-06 Jason Merrill <jason@redhat.com>
4360 * diagnostic-color.cc: Add fnname and targs color entries.
4361 * doc/invoke.texi: Document them.
4363 2022-05-06 Jason Merrill <jason@redhat.com>
4365 * vec.h (vec::iterate): Fix comment.
4367 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
4370 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
4371 and -mpower10-fusion options for inlining purposes.
4373 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
4375 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
4377 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
4379 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
4380 omp_runtime_apis array.
4382 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
4384 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
4385 (scan_sharing_clauses): Check a restriction on allocate clause.
4387 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
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.
4393 2022-05-05 Martin Liska <mliska@suse.cz>
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):
4401 2022-05-05 Martin Liska <mliska@suse.cz>
4403 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
4405 (gimple_gen_time_profiler): Likewise.
4407 2022-05-05 Martin Liska <mliska@suse.cz>
4409 * value-prof.cc (stream_out_histogram_value): Remove sanity
4412 2022-05-05 Richard Biener <rguenther@suse.de>
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
4418 (vn_reference_insert): Likewise.
4420 2022-05-05 Richard Biener <rguenther@suse.de>
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):
4430 2022-05-05 Richard Biener <rguenther@suse.de>
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.
4437 2022-05-05 Richard Biener <rguenther@suse.de>
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.
4444 2022-05-05 Richard Biener <rguenther@suse.de>
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.
4450 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
4452 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
4453 item that is in an outer data-sharing clause.
4455 2022-05-04 Richard Biener <rguenther@suse.de>
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
4463 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
4464 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
4466 2022-05-04 Richard Biener <rguenther@suse.de>
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.
4472 2022-05-04 Martin Liska <mliska@suse.cz>
4474 * gengtype-state.cc (read_a_state_token): Remove dead code.
4475 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
4477 2022-05-04 Richard Biener <rguenther@suse.de>
4479 * gimplify.cc (gimplify_init_constructor): First gimplify,
4480 then simplify the result to a VECTOR_CST.
4482 2022-05-04 Jakub Jelinek <jakub@redhat.com>
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).
4489 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
4492 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
4493 vector of booleans and MVE is not enabled.
4495 2022-05-04 Richard Biener <rguenther@suse.de>
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.
4504 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
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.
4514 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
4516 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
4517 protocol class methods linker-visible.
4519 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
4522 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
4523 define_insn_and_split pattern.
4525 2022-05-03 Richard Biener <rguenther@suse.de>
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.
4533 2022-05-03 Richard Biener <rguenther@suse.de>
4535 PR middle-end/105461
4536 * opts.cc (finish_options): Match the condition to
4537 disable flag_var_tracking to that of process_options.
4539 2022-05-03 Richard Biener <rguenther@suse.de>
4541 * opts.cc: #undef OPTIONS_SET_P.
4542 (finish_options): Use opts_set instead of OPTIONS_SET_P.
4544 2022-05-03 Richard Biener <rguenther@suse.de>
4546 PR tree-optimization/105394
4547 * tree-vect-generic.cc (expand_vector_condition): Adjust
4548 comp_width for non-integer mode masks as well.
4550 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
4552 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
4553 omp_runtime_apis array.
4555 2022-05-02 Richard Biener <rguenther@suse.de>
4557 * tree-scalar-evolution.cc (expression_expensive_p):
4558 Never consider mismatched calls as cheap.
4560 2022-05-02 Richard Biener <rguenther@suse.de>
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
4568 2022-05-02 Jakub Jelinek <jakub@redhat.com>
4571 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
4572 if there is no symtab node for the VAR_DECL.
4574 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4576 * gcov-io.cc (gcov_rewrite): Clear the file error status.
4578 2022-05-02 Richard Biener <rguenther@suse.de>
4580 PR tree-optimization/105437
4581 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
4582 case where last_stmt alters control flow.
4584 2022-05-02 Richard Biener <rguenther@suse.de>
4586 * dojump.cc (do_jump): Use CASE_CONVERT.
4587 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
4589 2022-05-02 Jakub Jelinek <jakub@redhat.com>
4591 * system.h: Include initializer_list.
4593 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
4595 * config/rs6000/constraints.md (Y constraint): Fix comment.
4597 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
4599 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
4600 VR_RANGE before passing a piecewise range to set_range_info_raw.
4602 2022-04-30 Patrick Palka <ppalka@redhat.com>
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.
4609 2022-04-29 Martin Jambor <mjambor@suse.cz>
4612 * cgraph.cc (cgraph_node::remove): Release body of the node this
4613 is clone_of if appropriate.
4615 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
4618 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
4620 2022-04-29 Richard Biener <rguenther@suse.de>
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.
4637 2022-04-29 Richard Biener <rguenther@suse.de>
4639 * gimple-iterator.h (gsi_after_labels): Add overload for
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.
4647 2022-04-29 Richard Biener <rguenther@suse.de>
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
4655 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
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.
4691 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
4693 * gimple-fold.cc (size_must_be_zero_p): Use reference
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
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
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.
4724 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
4726 * gimple-ssa-evrp-analyze.cc
4727 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
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
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
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.
4751 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
4753 * value-range.h (irange::irange): Use set_undefined.
4755 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
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
4764 2022-04-29 Richard Biener <rguenther@suse.de>
4766 PR tree-optimization/104322
4767 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
4769 2022-04-29 Richard Biener <rguenther@suse.de>
4771 PR middle-end/105376
4772 * tree.cc (build_real): Special case dconst* arguments
4773 for decimal floating point types.
4775 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4777 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
4778 Environments): New section.
4780 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
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.
4792 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
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.
4804 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4806 * gcov-io.cc (GCOV_MODE_STDIN): Define.
4807 (gcov_position): For gcov-tool, return calculated position if file is
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.
4814 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
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.
4821 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4823 * gcov-io.cc (gcov_seek): Make it static.
4824 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
4826 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4828 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
4829 (gcov_output_files): Open files for reading and writing.
4831 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4833 * gcov-io.cc (gcov_open): Always use the mode parameter.
4834 * gcov-io.h (gcov_open): Declare it unconditionally.
4836 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
4838 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
4839 (profile_merge): Allow merging of directories which contain no profile
4842 2022-04-28 David Malcolm <dmalcolm@redhat.com>
4844 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
4847 2022-04-28 Jakub Jelinek <jakub@redhat.com>
4849 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
4850 temporary only if out overlaps compare_op, not when it overlaps
4853 2022-04-28 Jakub Jelinek <jakub@redhat.com>
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.
4860 2022-04-28 Jakub Jelinek <jakub@redhat.com>
4863 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
4864 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
4867 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
4869 * doc/install.texi (Configuration): Remove misleading text
4870 around LE PowerPC Linux multilibs.
4872 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
4880 2022-04-28 Richard Biener <rguenther@suse.de>
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.
4887 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
4889 * config/loongarch/loongarch.cc
4890 (loongarch_flatten_aggregate_field): Ignore empty fields for
4893 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
4895 * config/loongarch/loongarch.md: Add fdiv define_expand template,
4896 then generate floating-point division and floating-point reciprocal
4899 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
4901 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
4902 to PLV instruction templates.
4904 2022-04-27 Richard Biener <rguenther@suse.de>
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.
4913 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
4916 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
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.
4922 2022-04-27 Jakub Jelinek <jakub@redhat.com>
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.
4931 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
4934 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
4937 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
4939 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
4940 data-share memory exhausted" error more verbose.
4942 2022-04-26 Martin Liska <mliska@suse.cz>
4945 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
4946 (run_gcc): Parse OPT_fdiagnostics_urls_.
4947 (main): Initialize global_dc.
4949 2022-04-26 Jakub Jelinek <jakub@redhat.com>
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.
4956 2022-04-26 Jakub Jelinek <jakub@redhat.com>
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.
4962 2022-04-26 Jakub Jelinek <jakub@redhat.com>
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.
4969 2022-04-25 David Malcolm <dmalcolm@redhat.com>
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.
4976 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
4978 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
4980 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
4982 PR tree-optimization/105276
4983 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
4984 existing global range with calculated value.
4986 2022-04-25 Richard Biener <rguenther@suse.de>
4988 PR tree-optimization/105368
4989 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
4991 2022-04-25 Richard Biener <rguenther@suse.de>
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.
5001 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
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.
5010 2022-04-25 Richard Biener <rguenther@suse.de>
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.
5021 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
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.
5038 2022-04-23 Jakub Jelinek <jakub@redhat.com>
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
5045 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
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.
5053 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
5055 * doc/extend.texi: Correct "This" to "These".
5057 2022-04-22 Jakub Jelinek <jakub@redhat.com>
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
5064 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
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.
5076 2022-04-21 Martin Liska <mliska@suse.cz>
5078 * configure.ac: Enable compressed debug sections for mold
5080 * configure: Regenerate.
5082 2022-04-21 Jakub Jelinek <jakub@redhat.com>
5085 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
5088 2022-04-20 Richard Biener <rguenther@suse.de>
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.
5095 2022-04-20 Richard Biener <rguenther@suse.de>
5097 PR tree-optimization/105312
5098 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
5099 VCOND and VCONDU for EQ and NE.
5101 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
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.
5108 2022-04-20 Jakub Jelinek <jakub@redhat.com>
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.
5116 2022-04-19 Sergei Trofimovich <siarheit@google.com>
5118 PR gcov-profile/105282
5119 * value-prof.cc (stream_out_histogram_value): Allow negative counts
5120 on HIST_TYPE_INDIR_CALL.
5122 2022-04-19 Jakub Jelinek <jakub@redhat.com>
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 */.
5129 2022-04-19 Richard Biener <rguenther@suse.de>
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.
5138 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
5140 * doc/install.texi <CRIS>: Remove references to removed websites and
5141 adjust for cris-*-elf being the only remaining toolchain.
5143 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
5145 * doc/invoke.texi <CRIS>: Remove references to options for removed
5146 subtarget cris-axis-linux-gnu and tweak wording accordingly.
5148 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
5150 * doc/install.texi (Specific): Adjust mingw-w64 download link.
5152 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
5154 * config/i386/smmintrin.h: Correct target pragma from sse4.1
5155 and sse4.2 to crc32 for crc32 intrinsics.
5157 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
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
5171 (ctf_preprocess): Defer updating the number of global objts
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.
5179 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
5181 * ctfc.h (struct ctf_container): Introduce a new member.
5182 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
5185 2022-04-14 Jakub Jelinek <jakub@redhat.com>
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.
5192 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
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):
5201 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
5203 * config/s390/3931.md: New file.
5205 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
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
5212 (aarch64_vector_costs::finish_cost): Update call accordingly.
5214 2022-04-13 Richard Biener <rguenther@suse.de>
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.
5220 2022-04-13 Jakub Jelinek <jakub@redhat.com>
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.
5227 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
5230 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
5231 Add missing set to target_val at pause label.
5233 2022-04-13 Jakub Jelinek <jakub@redhat.com>
5236 * attribs.cc (decl_attributes): Don't set
5237 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
5240 2022-04-13 Richard Biener <rguenther@suse.de>
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.
5247 2022-04-13 Richard Biener <rguenther@suse.de>
5250 2022-04-13 Richard Biener <rguenther@suse.de>
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.
5257 2022-04-13 Richard Biener <rguenther@suse.de>
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.
5264 2022-04-13 Jakub Jelinek <jakub@redhat.com>
5266 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
5268 2022-04-12 Antoni Boucher <bouanto@zoho.com>
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.
5278 2022-04-12 Antoni Boucher <bouanto@zoho.com>
5281 * toplev.cc: Call the new function tree_cc_finalize in
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).
5291 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
5294 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
5295 * config/nvptx/nvptx.opt (misa): Adjust comment.
5297 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
5300 2022-03-03 Tom de Vries <tdevries@suse.de>
5302 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
5304 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
5307 2022-03-31 Tom de Vries <tdevries@suse.de>
5309 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
5311 2022-04-12 Richard Biener <rguenther@suse.de>
5314 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
5315 include local escaped memory as obviously necessary stores.
5317 2022-04-12 Richard Biener <rguenther@suse.de>
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.
5324 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
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.
5335 2022-04-12 Richard Biener <rguenther@suse.de>
5337 PR tree-optimization/105232
5338 * tree.cc (component_ref_size): Bail out for too large
5339 or non-constant sizes.
5341 2022-04-12 Richard Biener <rguenther@suse.de>
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.
5347 2022-04-12 Jakub Jelinek <jakub@redhat.com>
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):
5355 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
5357 2022-04-12 Jakub Jelinek <jakub@redhat.com>
5360 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
5361 do_pending_stack_adjust.
5363 2022-04-12 Jakub Jelinek <jakub@redhat.com>
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.
5371 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
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
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.
5397 2022-04-12 chenglulu <chenglulu@loongson.cn>
5399 * config/loongarch/loongarch.cc: Fix bug for
5400 tmpdir-g++.dg-struct-layout-1/t033.
5402 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
5405 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
5406 to longcall functions.
5408 2022-04-11 Jason Merrill <jason@redhat.com>
5410 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
5412 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
5416 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
5418 2022-04-11 Jakub Jelinek <jakub@redhat.com>
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.
5425 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
5428 * config.gcc: Pass -misa-spec to arch-canonicalize and
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.
5436 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
5438 * config/riscv/arch-canonicalize: Add TODO item.
5439 (IMPLIED_EXT): Sync.
5440 (arch_canonicalize): Checking until no change.
5442 2022-04-11 Tamar Christina <tamar.christina@arm.com>
5445 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
5448 2022-04-11 Jason Merrill <jason@redhat.com>
5451 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
5454 2022-04-11 Jakub Jelinek <jakub@redhat.com>
5456 PR tree-optimization/104639
5457 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
5458 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
5461 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
5463 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
5464 sign bit of the source ends up in CC.
5466 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
5469 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
5472 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
5474 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
5475 nondeterministic and side_effects flags.
5477 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
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.
5488 2022-04-08 Richard Biener <rguenther@suse.de>
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.
5495 2022-04-08 Jakub Jelinek <jakub@redhat.com>
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
5502 2022-04-08 Richard Biener <rguenther@suse.de>
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.
5515 2022-04-07 Tamar Christina <tamar.christina@arm.com>
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
5522 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
5523 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
5525 2022-04-07 Richard Biener <rguenther@suse.de>
5526 Jan Hubicka <hubicka@ucw.cz>
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
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):
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.
5554 2022-04-07 Richard Biener <rguenther@suse.de>
5556 PR tree-optimization/105185
5557 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
5560 2022-04-07 Tamar Christina <tamar.christina@arm.com>
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.
5570 2022-04-07 Jakub Jelinek <jakub@redhat.com>
5572 PR tree-optimization/102586
5573 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
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.
5582 2022-04-07 Jakub Jelinek <jakub@redhat.com>
5584 PR tree-optimization/105150
5585 * tree.cc (tree_builtin_call_types_compatible_p): New function.
5586 (get_call_combined_fn): Use it.
5588 2022-04-07 Richard Biener <rguenther@suse.de>
5590 PR middle-end/105165
5591 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
5594 2022-04-07 liuhongt <hongtao.liu@intel.com>
5596 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
5598 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
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
5607 2022-04-06 Jakub Jelinek <jakub@redhat.com>
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.
5623 2022-04-06 Jakub Jelinek <jakub@redhat.com>
5626 * config/sh/sh.opt (mdiv=): Add Save.
5628 2022-04-06 Martin Liska <mliska@suse.cz>
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
5636 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
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
5644 2022-04-06 Jakub Jelinek <jakub@redhat.com>
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
5652 2022-04-06 Richard Biener <rguenther@suse.de>
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.
5660 2022-04-06 Richard Biener <rguenther@suse.de>
5663 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
5664 out for non-pointer arguments.
5666 2022-04-06 Richard Biener <rguenther@suse.de>
5668 PR tree-optimization/105163
5669 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
5672 2022-04-06 Jakub Jelinek <jakub@redhat.com>
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.
5681 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
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.
5690 2022-04-06 Martin Liska <mliska@suse.cz>
5692 * doc/invoke.texi: Document it.
5694 2022-04-06 Richard Biener <rguenther@suse.de>
5696 PR tree-optimization/105148
5697 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
5698 2 and 3 of ARRAY_REFs.
5700 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
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.
5706 2022-04-06 Richard Biener <rguenther@suse.de>
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.
5722 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
5725 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
5726 comparison codes UNLT/UNLE/UNGT/UNGE.
5728 2022-04-05 David Malcolm <dmalcolm@redhat.com>
5730 * doc/extend.texi (Common Function Attributes): Document that
5731 'access' does not imply 'nonnull'.
5733 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
5736 * config/i386/mmx.md (*movv2qi_internal):
5737 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
5739 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
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.
5753 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
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):
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.
5774 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
5777 * config/aarch64/aarch64-sve-builtins.cc
5778 (function_resolver::infer_vector_or_tuple_type): Use error_n
5779 for "%d vectors" messages.
5781 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
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
5787 2022-04-05 Richard Biener <rguenther@suse.de>
5790 * passes.def (pass_walloca): Move early instance into
5791 pass_build_ssa_passes to make SSA form available.
5793 2022-04-05 liuhongt <hongtao.liu@intel.com>
5796 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
5798 (ix86_reorg): Call ix86_split_stlf_stall_load.
5799 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
5802 2022-04-05 Alexandre Oliva <oliva@adacore.com>
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.
5811 2022-04-04 Alex Coplan <alex.coplan@arm.com>
5813 * doc/match-and-simplify.texi: Fix typos.
5815 2022-04-04 Jakub Jelinek <jakub@redhat.com>
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.
5823 2022-04-04 Jakub Jelinek <jakub@redhat.com>
5826 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
5827 * config/aarch64/aarch64-tune.md: Regenerated.
5829 2022-04-04 Richard Biener <rguenther@suse.de>
5831 PR tree-optimization/105132
5832 * tree-vect-stmts.cc (vectorizable_operation): Check that
5833 the input vectors have the same number of elements.
5835 2022-04-04 Richard Biener <rguenther@suse.de>
5837 PR middle-end/105140
5838 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
5840 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
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.
5848 2022-04-03 Jakub Jelinek <jakub@redhat.com>
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
5855 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
5857 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
5858 NULL before dereferencing it.
5860 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
5862 * config/i386/i386.cc (zero_all_st_registers): Return the value of
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.
5870 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
5873 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
5874 fields, and inform if it causes a psABI change.
5876 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
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.
5885 2022-04-01 Jakub Jelinek <jakub@redhat.com>
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.
5892 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
5894 * config/mips/mips.cc (mips_expand_prologue):
5895 IPL is 8bit for MCU ASE.
5897 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
5900 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
5903 (SET_FPSCR_RN): Likewise.
5904 (SET_FPSCR_DRN): Mark nosoft and no32bit.
5906 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
5908 * doc/options.texi (Option file format): Clarifications around
5909 option definition records' help texts.
5911 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
5913 * optc-gen.awk <END>: Fix "Multiple different help strings" error
5916 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
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.
5928 2022-03-31 Martin Jambor <mjambor@suse.cz>
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
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,
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
5954 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
5957 2022-03-31 Martin Jambor <mjambor@suse.cz>
5960 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
5961 which do not fit the known value_range.
5963 2022-03-31 Martin Jambor <mjambor@suse.cz>
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.
5970 2022-03-31 Richard Biener <rguenther@suse.de>
5972 PR tree-optimization/105109
5973 * tree-ssa.cc (execute_update_addresses_taken): Suppress
5974 diagnostics on the load of the other complex component.
5976 2022-03-31 Tom de Vries <tdevries@suse.de>
5978 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
5980 2022-03-31 Richard Biener <rguenther@suse.de>
5982 PR rtl-optimization/105091
5983 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
5986 2022-03-31 Richard Biener <rguenther@suse.de>
5989 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
5992 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
5993 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
5995 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
5997 * gcov-io.cc (gcov_read_string): Reword documentation comment.
5999 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
6001 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
6003 (NEG_V4SF): Likewise.
6004 (NEG_V4SI): Likewise.
6005 (NEG_V8HI): Likewise.
6006 (NEG_V2DF): Move to [vsx] stanza.
6007 (NEG_V2DI): Likewise.
6009 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
6011 PR middle-end/105032
6012 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
6014 2022-03-30 Tom de Vries <tdevries@suse.de>
6015 Tobias Burnus <tobias@codesourcery.com>
6017 * doc/invoke.texi (march): Document __PTX_SM__.
6018 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
6019 __PTX_ISA_VERSION_MINOR__.
6021 2022-03-30 Jakub Jelinek <jakub@redhat.com>
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.
6028 2022-03-30 Jakub Jelinek <jakub@redhat.com>
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.
6034 2022-03-30 Tom de Vries <tdevries@suse.de>
6036 * doc/invoke.texi (misa, mptx): Update.
6037 (march, march-map): Add.
6039 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
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.
6046 2022-03-29 Marek Polacek <polacek@redhat.com>
6047 Jakub Jelinek <jakub@redhat.com>
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.
6055 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
6057 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
6058 be any VSX register.
6060 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
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.
6068 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
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.
6076 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
6079 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
6080 ARM_PCS_AAPCS_LOCAL.
6082 2022-03-29 Tom de Vries <tdevries@suse.de>
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.
6090 2022-03-29 Tom de Vries <tdevries@suse.de>
6092 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
6095 2022-03-29 Tom de Vries <tdevries@suse.de>
6098 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
6100 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
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
6109 2022-03-29 Tom de Vries <tdevries@suse.de>
6111 * config/nvptx/nvptx.opt (march): Add alias of misa.
6113 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6114 Lulu Cheng <chenglulu@loongson.cn>
6116 * doc/install.texi: Add LoongArch options section.
6117 * doc/invoke.texi: Add LoongArch options section.
6118 * doc/md.texi: Add LoongArch options section.
6120 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6121 Lulu Cheng <chenglulu@loongson.cn>
6123 * config/loongarch/loongarch-c.cc
6125 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6126 Lulu Cheng <chenglulu@loongson.cn>
6128 * config/loongarch/larchintrin.h: New file.
6129 * config/loongarch/loongarch-builtins.cc: New file.
6131 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6132 Lulu Cheng <chenglulu@loongson.cn>
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.
6140 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6141 Lulu Cheng <chenglulu@loongson.cn>
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.
6152 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6153 Lulu Cheng <chenglulu@loongson.cn>
6155 * configure: Regenerate file.
6157 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6158 Lulu Cheng <chenglulu@loongson.cn>
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.
6181 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
6183 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
6186 2022-03-29 Richard Biener <rguenther@suse.de>
6188 PR tree-optimization/105080
6189 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
6192 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
6194 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
6195 (output_ctf_vars): Likewise.
6197 2022-03-28 Jason Merrill <jason@redhat.com>
6200 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
6202 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
6205 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
6208 2022-03-28 Tom de Vries <tdevries@suse.de>
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
6217 2022-03-28 David Malcolm <dmalcolm@redhat.com>
6220 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
6221 to loads then stores, set the location of the new load stmt.
6223 2022-03-28 Richard Biener <rguenther@suse.de>
6225 PR tree-optimization/105070
6226 * tree-switch-conversion.h
6227 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
6229 * tree-switch-conversion.cc
6230 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
6232 (bit_test_cluster::emit): Annotate all generated expressions
6235 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
6237 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
6239 2022-03-28 liuhongt <hongtao.liu@intel.com>
6242 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
6243 alternative 4 from sse4_noavx to noavx.
6245 2022-03-28 Jakub Jelinek <jakub@redhat.com>
6247 PR tree-optimization/105056
6248 * tree-predcom.cc (component::component): Initialize also comp_step.
6250 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
6253 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
6256 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
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.
6262 2022-03-26 Jakub Jelinek <jakub@redhat.com>
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
6269 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
6272 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
6273 (aes<aesklvariant>u8): Likewise.
6275 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
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.
6283 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
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.
6289 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
6293 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
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
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.
6308 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
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.
6314 2022-03-25 Richard Biener <rguenther@suse.de>
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.
6320 2022-03-25 Richard Biener <rguenther@suse.de>
6322 PR middle-end/105049
6323 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
6324 CONSTRUCTOR first elements.
6326 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
6329 * doc/invoke.texi (Static Analyzer Options): Move
6330 @ignore block after @gccoptlist's '}' for 'make pdf'.
6332 2022-03-25 David Malcolm <dmalcolm@redhat.com>
6335 * doc/invoke.texi (Static Analyzer Options): Add
6336 -fdump-analyzer-untracked.
6338 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
6341 * doc/invoke.texi: Document that enabling taint analyzer
6342 checker disables some warnings from `-fanalyzer`.
6344 2022-03-24 Alexandre Oliva <oliva@adacore.com>
6347 * gimple-harden-conditionals.cc (detach_value): Keep temps
6350 2022-03-24 Alexandre Oliva <oliva@adacore.com>
6352 PR middle-end/104975
6353 * gimple-harden-conditionals.cc
6354 (pass_harden_compares::execute): Force split in case of
6357 2022-03-24 Jakub Jelinek <jakub@redhat.com>
6360 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
6361 field0 or field1 is not a FIELD_DECL, return false.
6363 2022-03-24 Richard Biener <rguenther@suse.de>
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
6378 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
6379 Release m_flag_set_edges.
6381 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
6383 PR tree-optimization/104970
6384 * tree-object-size.cc (parm_object_size): Restrict size
6385 computation scenarios to explicit access attributes.
6387 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
6390 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
6393 2022-03-23 Richard Biener <rguenther@suse.de>
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.
6400 2022-03-23 Richard Biener <rguenther@suse.de>
6402 PR rtl-optimization/105028
6403 * ira-color.cc (form_threads_from_copies): Remove unnecessary
6404 copying of the sorted_copies tail.
6406 2022-03-23 Martin Liska <mliska@suse.cz>
6408 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
6410 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
6411 Reword the error message.
6413 2022-03-23 liuhongt <hongtao.liu@intel.com>
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,
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.
6447 2022-03-22 Tom de Vries <tdevries@suse.de>
6450 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
6451 Use % as register prefix.
6453 2022-03-22 Tom de Vries <tdevries@suse.de>
6455 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
6456 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
6459 2022-03-22 Tom de Vries <tdevries@suse.de>
6461 * config/nvptx/nvptx.opt (mexperimental): New option.
6463 2022-03-22 Tom de Vries <tdevries@suse.de>
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
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
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.
6477 2022-03-22 Tom de Vries <tdevries@suse.de>
6481 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
6482 sync (or uniform warp check for mptx < 6.0).
6484 2022-03-22 Richard Biener <rguenther@suse.de>
6486 PR tree-optimization/105012
6487 * tree-if-conv.cc (ifcvt_local_dce): Only call
6488 dse_classify_store when we have a VDEF.
6490 2022-03-22 Martin Liska <mliska@suse.cz>
6493 * config/nvptx/nvptx.cc (handle_ptx_version_option):
6494 Fix option wrapping in an error message.
6496 2022-03-22 Martin Liska <mliska@suse.cz>
6499 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
6502 2022-03-22 Martin Liska <mliska@suse.cz>
6504 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
6507 2022-03-22 Martin Liska <mliska@suse.cz>
6510 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
6511 Use %qs instead of (%qs).
6513 2022-03-22 Martin Liska <mliska@suse.cz>
6516 * config/i386/i386-options.cc (ix86_option_override_internal):
6517 Use '%qs' instead of '(%qs)'.
6519 2022-03-22 Martin Liska <mliska@suse.cz>
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.
6528 2022-03-22 Tamar Christina <tamar.christina@arm.com>
6529 Andre Vieira <andre.simoesdiasvieira@arm.com>
6531 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
6533 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
6535 (neoverse512tvb_tunings): Likewise.
6537 2022-03-22 Tamar Christina <tamar.christina@arm.com>
6538 Andre Vieira <andre.simoesdiasvieira@arm.com>
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
6548 * config/aarch64/aarch64-cores.def: Add entry for demeter.
6549 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
6551 2022-03-22 Tamar Christina <tamar.christina@arm.com>
6552 Andre Vieira <andre.simoesdiasvieira@arm.com>
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.
6559 2022-03-22 Tamar Christina <tamar.christina@arm.com>
6560 Andre Vieira <andre.simoesdiasvieira@arm.com>
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
6571 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
6573 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
6576 2022-03-22 liuhongt <hongtao.liu@intel.com>
6579 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
6580 following splitter to reversed condition.
6582 2022-03-22 Jakub Jelinek <jakub@redhat.com>
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.
6591 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
6593 * print-tree.cc: Change array length
6595 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
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.
6604 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
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.
6611 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
6614 * common/config/i386/cpuinfo.h (get_available_features): Pass
6615 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
6618 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
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
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
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.
6651 2022-03-21 Martin Liska <mliska@suse.cz>
6653 * doc/invoke.texi: Document min-pagesize parameter.
6655 2022-03-21 Richard Biener <rguenther@suse.de>
6657 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
6658 we are estimating niter of loop.
6660 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
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.
6682 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
6685 * config/i386/sse.md
6686 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
6687 Correct round operand for intel dialect.
6689 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
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.
6700 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
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.
6709 2022-03-19 Jakub Jelinek <jakub@redhat.com>
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.
6716 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
6718 PR rtl-optimization/104961
6719 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
6721 2022-03-18 Jason Merrill <jason@redhat.com>
6723 * tree.h (IDENTIFIER_LENGTH): Add comment.
6725 2022-03-18 Jakub Jelinek <jakub@redhat.com>
6728 PR middle-end/100680
6729 PR tree-optimization/100834
6730 * params.opt (--param=min-pagesize=): New parameter.
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.
6736 2022-03-18 Tom de Vries <tdevries@suse.de>
6738 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
6739 Set gfor location only when dealing with a OMP_TASKLOOP.
6741 2022-03-18 Tom de Vries <tdevries@suse.de>
6743 * gimplify.cc (gimplify_omp_for): Set taskloop location.
6745 2022-03-18 Tom de Vries <tdevries@suse.de>
6748 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
6749 is executed unconditionally.
6751 2022-03-18 liuhongt <hongtao.liu@intel.com>
6754 * config/i386/i386.md (*movhi_internal): Set attr type from HI
6755 to HF for alternative 12 under TARGET_AVX512FP16.
6757 2022-03-18 Cui,Lili <lili.cui@intel.com>
6760 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
6761 * doc/invoke.texi: Update documents for Intel sapphirerapids.
6763 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
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.
6772 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
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.
6778 2022-03-17 Richard Biener <rguenther@suse.de>
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.
6787 2022-03-17 Jakub Jelinek <jakub@redhat.com>
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.
6795 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
6797 * config/i386/sse.md: Delete corrupt character/typo.
6799 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
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).
6807 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
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.
6813 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
6816 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
6817 pushing target("general-regs-only").
6819 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
6821 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
6822 Add version info for zk, zks and zkn.
6824 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
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.
6833 2022-03-16 Richard Biener <rguenther@suse.de>
6835 PR tree-optimization/102008
6836 * passes.def: Move the added code sinking pass before the
6837 preceeding phiopt pass.
6839 2022-03-16 Patrick Palka <ppalka@redhat.com>
6842 * doc/invoke.texi (C++ Dialect Options): Document
6843 -ffold-simple-inlines.
6845 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
6847 PR tree-optimization/104942
6848 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
6850 2022-03-16 Jakub Jelinek <jakub@redhat.com>
6853 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
6856 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
6857 Richard Biener <rguenther@suse.de>
6859 * gimple-match-head.cc (single_use): Implement inline using a
6862 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
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.
6869 2022-03-16 liuhongt <hongtao.liu@intel.com>
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
6877 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
6880 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
6881 acceptable MEM addresses.
6883 2022-03-15 Jakub Jelinek <jakub@redhat.com>
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
6890 2022-03-15 Jakub Jelinek <jakub@redhat.com>
6893 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
6894 instead of general-regs-only.
6896 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
6897 Marc Glisse <marc.glisse@inria.fr>
6898 Richard Biener <rguenther@suse.de>
6900 PR tree-optimization/101895
6901 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
6902 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
6904 2022-03-15 Jakub Jelinek <jakub@redhat.com>
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.
6910 2022-03-15 Martin Sebor <msebor@redhat.com>
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.
6917 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
6918 Uroš Bizjak <ubizjak@gmail.com>
6920 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
6921 transformation when *zero_extend<mode>si2 is not available.
6923 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
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.
6931 2022-03-14 Jakub Jelinek <jakub@redhat.com>
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.
6938 2022-03-14 Jakub Jelinek <jakub@redhat.com>
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.
6945 2022-03-14 Jakub Jelinek <jakub@redhat.com>
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.
6955 2022-03-14 Jakub Jelinek <jakub@redhat.com>
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.
6964 2022-03-14 liuhongt <hongtao.liu@intel.com>
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.
6976 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
6978 * doc/invoke.texi: Fix typos.
6979 * doc/tm.texi.in: Remove duplicated word.
6980 * doc/tm.texi: Regenerate.
6982 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
6985 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
6986 "ppc" and "ppc64" based on rs6000_cpu.
6988 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
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'.
6995 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
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'.
7004 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
7007 * tree-core.h (user_omp_claus_code_name): Declare function.
7008 * tree.cc (user_omp_clause_code_name): New function.
7010 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
7013 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
7014 (the defaut) or -fno-signed-zeros.
7016 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
7019 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
7020 moving from a GPR register to an Altivec register.
7022 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
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.
7029 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
7030 Richard Biener <rguenther@suse.de>
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.
7040 2022-03-11 Richard Biener <rguenther@suse.de>
7042 PR tree-optimization/104880
7043 * tree-ssa.cc (execute_update_address_taken): Remember if we
7044 optimistically made something not addressable and
7047 2022-03-11 Richard Biener <rguenther@suse.de>
7050 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
7051 cost the first lane of SSE pieces as inserts for vec_construct.
7053 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
7056 * calls.cc (expand_call): Ignore stack adjustments after sorry.
7058 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
7061 * lra-constraints.cc (split_reg): Set up
7062 check_and_force_assignment_correctness_p when splitting hard
7063 register live range.
7065 2022-03-10 Martin Jambor <mjambor@suse.cz>
7068 * ipa-cp.cc (create_specialized_node): Move removal of
7069 self-recursive calls from callers vector before refrence
7072 2022-03-10 Richard Biener <rguenther@suse.de>
7074 PR tree-optimization/102943
7075 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
7077 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
7079 (sbr_sparse_bitmap::set_bb_range): Adjust.
7080 (sbr_sparse_bitmap::get_bb_range): Likewise.
7082 2022-03-10 Richard Biener <rguenther@suse.de>
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.
7091 2022-03-10 Tom de Vries <tdevries@suse.de>
7094 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
7097 2022-03-10 Tom de Vries <tdevries@suse.de>
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.
7110 2022-03-10 Tom de Vries <tdevries@suse.de>
7112 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
7115 2022-03-10 Tom de Vries <tdevries@suse.de>
7118 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
7120 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
7122 2022-03-10 Tom de Vries <tdevries@suse.de>
7124 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
7125 Emit atom.and.b64 instead of atom.b64.and.
7127 2022-03-10 Tom de Vries <tdevries@suse.de>
7129 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
7130 (MULTILIB_OPTIONS): ... here.
7132 2022-03-10 Tom de Vries <tdevries@suse.de>
7135 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
7136 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
7138 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
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.
7148 2022-03-10 Jakub Jelinek <jakub@redhat.com>
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
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.
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
7186 2022-03-09 Richard Biener <rguenther@suse.de>
7188 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
7189 with non-decl operand, avoiding a copy.
7191 2022-03-09 Jakub Jelinek <jakub@redhat.com>
7194 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
7196 2022-03-09 Richard Biener <rguenther@suse.de>
7198 PR middle-end/104786
7199 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
7200 for VLAs without an upper size bound.
7202 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
7204 PR tree-optimization/104851
7205 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
7208 2022-03-09 Jakub Jelinek <jakub@redhat.com>
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
7214 (-Wshift-negative-value): Similarly (except here we stated
7215 that it is enabled for C++11 or later).
7217 2022-03-09 Jakub Jelinek <jakub@redhat.com>
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.
7225 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
7228 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
7229 value before adding an offset.
7231 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
7233 * config/arm/arm-builtins.cc
7234 (arm_binop_none_none_unone_qualifiers): Delete.
7235 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
7237 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
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.
7243 2022-03-08 Marek Polacek <polacek@redhat.com>
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.
7249 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
7252 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
7253 stack realignment or regparm nested function with EH return.
7255 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
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.
7262 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
7264 PR translation/104552
7265 * params.opt: Fix typo.
7267 2022-03-08 Richard Biener <rguenther@suse.de>
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.
7275 2022-03-08 Martin Jambor <mjambor@suse.cz>
7277 PR translation/104552
7278 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
7279 "that" in the description.
7281 2022-03-08 Richard Biener <rguenther@suse.de>
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.
7287 2022-03-08 liuhongt <hongtao.liu@intel.com>
7289 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
7290 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
7292 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
7294 * doc/invoke.texi (C++ Modules): Remove anachronism.
7296 2022-03-07 Martin Liska <mliska@suse.cz>
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.
7302 2022-03-07 Jakub Jelinek <jakub@redhat.com>
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.
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.
7324 2022-03-07 Martin Liska <mliska@suse.cz>
7327 * config/arm/arm.cc (arm_option_override_internal): Add missing
7330 2022-03-07 Richard Biener <rguenther@suse.de>
7332 PR tree-optimization/104782
7333 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
7334 Re-instantiate r10-5979 fix, add comment.
7336 2022-03-07 Martin Liska <mliska@suse.cz>
7339 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
7340 parenthesis from built-in name.
7342 2022-03-07 Martin Liska <mliska@suse.cz>
7345 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
7346 of options in error messages.
7347 (arm_option_reconfigure_globals): Likewise.
7349 2022-03-07 Martin Liska <mliska@suse.cz>
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].
7356 2022-03-07 Jakub Jelinek <jakub@redhat.com>
7359 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
7360 S constraint instead of T in the last alternative.
7362 2022-03-07 Martin Liska <mliska@suse.cz>
7364 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
7367 2022-03-07 Martin Liska <mliska@suse.cz>
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.
7374 2022-03-07 Martin Liska <mliska@suse.cz>
7377 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
7380 2022-03-07 Jakub Jelinek <jakub@redhat.com>
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.
7390 2022-03-05 Jakub Jelinek <jakub@redhat.com>
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.
7395 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
7396 Uroš Bizjak <ubizjak@gmail.com>
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.
7409 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
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.
7418 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
7420 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
7421 bit. Handle most older CPUs.
7423 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
7425 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
7426 avoid a mismatch with DECL_MD_FUNCTION_CODE().
7428 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
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
7439 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
7443 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
7444 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
7446 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
7448 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
7451 2022-03-04 Jakub Jelinek <jakub@redhat.com>
7453 PR middle-end/104529
7454 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
7455 on automatic objects which will be runtime initialized.
7457 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
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.
7467 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
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
7478 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
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".
7485 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
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'.
7493 2022-03-04 Jakub Jelinek <jakub@redhat.com>
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
7500 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
7503 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
7506 2022-03-03 Martin Sebor <msebor@redhat.com>
7508 PR middle-end/104761
7509 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
7510 mark_dfs_back_edges.
7512 2022-03-03 Martin Liska <mliska@suse.cz>
7514 * configure.ac: Use linker plug-in by default.
7515 * configure: Regenerate.
7517 2022-03-03 Martin Liska <mliska@suse.cz>
7519 * configure.ac: Now ld.mold support LTO plugin API, use it.
7520 * configure: Regenerate.
7522 2022-03-03 Tom de Vries <tdevries@suse.de>
7524 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
7526 2022-03-03 Tom de Vries <tdevries@suse.de>
7529 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
7531 2022-03-03 Tom de Vries <tdevries@suse.de>
7533 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
7535 2022-03-03 Jakub Jelinek <jakub@redhat.com>
7537 PR middle-end/104757
7538 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
7540 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
7541 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
7543 2022-03-03 Jakub Jelinek <jakub@redhat.com>
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
7551 2022-03-02 Alexandre Oliva <oliva@adacore.com>
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.
7558 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
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.
7571 2022-03-02 Richard Biener <rguenther@suse.de>
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
7578 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
7581 2022-03-02 Jakub Jelinek <jakub@redhat.com>
7583 * cfg.cc (dump_edge_info): Dump goto_locus if present.
7585 2022-03-02 Jakub Jelinek <jakub@redhat.com>
7587 PR rtl-optimization/104589
7588 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
7589 INSN_LOCATION comparison with goto_locus.
7591 2022-03-02 Jakub Jelinek <jakub@redhat.com>
7593 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
7594 strlen_pass::before_dom_children): Comment spelling fixes.
7596 2022-03-02 Jakub Jelinek <jakub@redhat.com>
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):
7616 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
7618 * ipa-modref-tree.h (enum modref_special_parms,
7619 struct modref_access_node): Likewise.
7621 2022-03-01 Jakub Jelinek <jakub@redhat.com>
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
7629 2022-03-01 Jakub Jelinek <jakub@redhat.com>
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.
7641 2022-03-01 Richard Biener <rguenther@suse.de>
7643 PR tree-optimization/104716
7644 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
7645 Check if we can copy the loop.
7647 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
7649 PR middle-end/104721
7650 * cfgexpand.cc (expand_gimple_basic_block): Clear
7651 currently_expanding_gimple_stmt when returning inside the loop.
7653 2022-03-01 Martin Liska <mliska@suse.cz>
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.
7661 2022-03-01 Martin Liska <mliska@suse.cz>
7663 PR gcov-profile/104677
7664 * doc/invoke.texi: Document more .gcda file name generation.
7666 2022-03-01 Tom de Vries <tdevries@suse.de>
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"):
7673 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
7674 Use nvptx_register_or_complex_di_df_register_operand.
7676 2022-03-01 Tom de Vries <tdevries@suse.de>
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.
7690 2022-03-01 Tom de Vries <tdevries@suse.de>
7692 * config/nvptx/gen-omp-device-properties.sh: New file.
7693 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
7695 2022-03-01 Tom de Vries <tdevries@suse.de>
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.
7703 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
7705 PR rtl-optimization/104154
7706 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
7707 comparison ifcvt passed us.
7709 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
7712 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
7713 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
7715 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
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.
7722 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
7723 Eric Botcazou <ebotcazou@adacore.com>
7726 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
7727 register, copy it to a pseudo before calling simplify_gen_subreg.
7729 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
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.
7735 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
7737 PR middle-end/104550
7738 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
7741 2022-02-28 Martin Liska <mliska@suse.cz>
7744 * main.cc (main): Use flag_checking instead of CHECKING_P
7745 and run toplev::finalize only if there is not error seen.
7747 2022-02-28 Richard Biener <rguenther@suse.de>
7749 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
7751 2022-02-28 Richard Biener <rguenther@suse.de>
7753 PR tree-optimization/104700
7754 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
7756 (find_or_generate_expression): ... here, simplifying code.
7758 2022-02-28 Tom de Vries <tdevries@suse.de>
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.
7766 2022-02-28 Richard Biener <rguenther@suse.de>
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.
7773 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
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.
7797 2022-02-25 Jakub Jelinek <jakub@redhat.com>
7798 Marc Glisse <marc.glisse@inria.fr>
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.
7804 2022-02-25 Jakub Jelinek <jakub@redhat.com>
7807 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
7809 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
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.
7818 2022-02-25 Richard Biener <rguenther@suse.de>
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.
7843 2022-02-25 Jakub Jelinek <jakub@redhat.com>
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.
7850 2022-02-25 Jakub Jelinek <jakub@redhat.com>
7852 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
7854 2022-02-25 Jakub Jelinek <jakub@redhat.com>
7856 PR middle-end/104679
7857 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
7859 2022-02-25 Jakub Jelinek <jakub@redhat.com>
7861 PR tree-optimization/104675
7862 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
7865 2022-02-25 Alexandre Oliva <oliva@adacore.com>
7869 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
7871 2022-02-25 Alexandre Oliva <oliva@adacore.com>
7873 PR middle-end/104540
7874 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
7877 2022-02-25 Alexandre Oliva <oliva@adacore.com>
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.
7885 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
7887 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
7888 of position independence that -mcmodel=medany affords.
7890 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
7893 * configure.ac: --disable-gcov if targetting bpf-*.
7894 * configure: Regenerate.
7896 2022-02-24 Richard Biener <rguenther@suse.de>
7898 PR tree-optimization/104676
7899 * tree-loop-distribution.cc (loop_distribution::execute):
7900 Do a full scev_reset.
7902 2022-02-24 Jakub Jelinek <jakub@redhat.com>
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
7909 2022-02-24 Tom de Vries <tdevries@suse.de>
7910 Tobias Burnus <tobias@codesourcery.com>
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.
7916 2022-02-24 Tom de Vries <tdevries@suse.de>
7918 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
7919 "rotrsi3"): New define_insn.
7921 2022-02-24 Tom de Vries <tdevries@suse.de>
7923 * config/nvptx/nvptx.cc (gen_comment): Use
7924 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
7926 2022-02-24 liuhongt <hongtao.liu@intel.com>
7928 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
7929 isa attr of alternative 2 from avx to avx512vl.
7931 2022-02-23 Richard Biener <rguenther@suse.de>
7932 Jakub Jelinek <jakub@redhat.com>
7934 PR tree-optimization/104644
7935 * doc/match-and-simplify.texi: Amend ! documentation.
7936 * genmatch.cc (expr::gen_transform): Code-generate ! support
7938 (parser::parse_expr): Allow ! for GENERIC.
7939 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
7942 2022-02-23 Richard Biener <rguenther@suse.de>
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.
7951 2022-02-23 Jakub Jelinek <jakub@redhat.com>
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.
7958 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
7961 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
7963 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
7967 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
7970 2022-02-23 Cui,Lili <lili.cui@intel.com>
7972 * doc/invoke.texi: Update documents for Intel architectures.
7974 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
7976 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
7979 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
7981 * omp-low.cc (omp_build_component_ref): Move function...
7982 * omp-general.cc (omp_build_component_ref): ... here. Remove
7984 * omp-general.h (omp_build_component_ref): Declare function.
7985 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
7987 (build_receiver_ref, build_sender_ref): Call
7988 'omp_build_component_ref' instead.
7990 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
7992 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
7993 simplify. Adjust all users.
7995 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
7998 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
7999 atomic_update_decl): Add GTY markup.
8001 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8003 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
8005 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8009 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
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.
8019 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8023 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
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.
8035 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
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.
8076 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8080 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
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.
8090 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
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.
8110 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
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
8121 (arm_mode_to_pred_mode): New.
8122 (arm_expand_vector_compare): Use the right VxBI mode instead of
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.
8143 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8144 Richard Sandiford <richard.sandiford@arm.com>
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
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.
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
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.
8181 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8183 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
8186 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8188 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
8190 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
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.
8198 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
8199 Tom de Vries <tdevries@suse.de>
8201 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
8202 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
8204 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
8206 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
8207 Tom de Vries <tdevries@suse.de>
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.
8212 2022-02-22 Tom de Vries <tdevries@suse.de>
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.
8219 2022-02-22 Richard Biener <rguenther@suse.de>
8221 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
8224 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
8225 Richard Biener <rguenther@suse.de>
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.
8236 2022-02-22 Jakub Jelinek <jakub@redhat.com>
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.
8243 2022-02-22 Jakub Jelinek <jakub@redhat.com>
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.
8252 2022-02-22 Richard Biener <rguenther@suse.de>
8254 PR tree-optimization/104582
8256 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
8257 Cost GPR to vector register moves for integer vector construction.
8259 2022-02-22 Richard Biener <rguenther@suse.de>
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):
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
8277 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
8279 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
8281 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
8283 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
8285 2022-02-22 Richard Biener <rguenther@suse.de>
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):
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.
8297 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
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
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.
8309 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
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
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.
8343 2022-02-21 Tom de Vries <tdevries@suse.de>
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.
8352 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
8354 PR rtl-optimization/104498
8355 * alias.cc (compare_base_symbol_refs): Correct distance computation
8356 when swapping x and y.
8358 2022-02-21 Andrew Pinski <apinski@marvell.com>
8361 * tree-ssa.cc (tree_ssa_useless_type_conversion):
8362 Check the inner type before calling useless_type_conversion_p.
8364 2022-02-19 Tom de Vries <tdevries@suse.de>
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.
8374 2022-02-19 Tom de Vries <tdevries@suse.de>
8376 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
8377 insns with atomic attribute. Assert that all handled insns are
8379 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
8380 Set atomic attribute to false.
8382 2022-02-19 Tom de Vries <tdevries@suse.de>
8384 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
8386 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
8387 nvptx_warpsync, if necessary.
8389 2022-02-19 Jakub Jelinek <jakub@redhat.com>
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
8398 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
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.
8412 2022-02-18 Jakub Jelinek <jakub@redhat.com>
8416 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
8417 rather than __posix_memalign.
8419 2022-02-18 Richard Biener <rguenther@suse.de>
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.
8427 2022-02-18 Richard Biener <rguenther@suse.de>
8429 PR tree-optimization/96881
8430 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
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.
8438 2022-02-17 Jason Merrill <jason@redhat.com>
8440 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
8441 on TYPE_MAIN_VARIANT.
8443 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
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.
8455 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
8458 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
8459 if the expected comparison's first operand is of mode MODE_CC.
8461 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
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.
8467 2022-02-17 liuhongt <hongtao.liu@intel.com>
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.
8477 2022-02-17 Jakub Jelinek <jakub@redhat.com>
8480 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
8481 if expr has VOIDmode.
8483 2022-02-17 liuhongt <hongtao.liu@intel.com>
8485 * config/i386/cpuid.h (bit_MPX): Removed.
8486 (bit_BNDREGS): Ditto.
8487 (bit_BNDCSR): Ditto.
8489 2022-02-17 Michael Meissner <meissner@the-meissners.org>
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
8497 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
8499 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
8500 range_compatible_p instead of direct type comparison.
8502 2022-02-16 Jakub Jelinek <jakub@redhat.com>
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
8509 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
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.
8517 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
8519 PR tree-optimization/104526
8520 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
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.
8527 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
8530 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
8532 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
8533 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
8535 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
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.
8551 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
8553 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
8556 2022-02-15 Richard Biener <rguenther@suse.de>
8558 PR tree-optimization/104543
8559 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
8560 come after the inner loop.
8562 2022-02-15 Jakub Jelinek <jakub@redhat.com>
8565 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
8566 cannot instead of can%'t in diagnostics. Formatting fixes.
8568 2022-02-15 Jakub Jelinek <jakub@redhat.com>
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
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
8582 2022-02-15 Richard Biener <rguenther@suse.de>
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.
8590 2022-02-15 Jakub Jelinek <jakub@redhat.com>
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.
8599 2022-02-14 Martin Sebor <msebor@redhat.com>
8601 PR middle-end/104355
8602 * doc/invoke.texi (-Warray-bounds): Update documentation.
8604 2022-02-14 Michael Meissner <meissner@the-meissners.org>
8607 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
8608 conversion functions used to convert IFmode types.
8610 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
8612 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
8614 2022-02-14 Richard Biener <rguenther@suse.de>
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
8624 2022-02-14 Richard Biener <rguenther@suse.de>
8626 PR tree-optimization/104511
8627 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
8628 touching DFP <-> FP conversions.
8630 2022-02-14 Richard Biener <rguenther@suse.de>
8632 PR middle-end/104497
8633 * gimplify.cc (gimplify_compound_lval): Make sure the
8634 base is a non-register if needed and possible.
8636 2022-02-13 liuhongt <hongtao.liu@intel.com>
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.
8643 2022-02-12 Jakub Jelinek <jakub@redhat.com>
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.
8650 2022-02-12 Jakub Jelinek <jakub@redhat.com>
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.
8656 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
8659 * config/i386/i386.cc (type_natural_mode):
8660 Skip decimal float vector modes.
8662 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
8663 Vladimir Makarov <vmakarov@redhat.com>
8666 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
8667 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
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.
8673 2022-02-11 Jakub Jelinek <jakub@redhat.com>
8675 PR tree-optimization/104499
8676 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
8679 2022-02-11 Jakub Jelinek <jakub@redhat.com>
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
8691 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
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.
8698 2022-02-11 Jakub Jelinek <jakub@redhat.com>
8700 PR middle-end/104446
8701 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
8704 2022-02-11 Richard Biener <rguenther@suse.de>
8706 PR middle-end/104496
8707 * internal-fn.cc (vectorized_internal_fn_supported_p):
8708 Bail out for integer mode vector types.
8710 2022-02-11 Jakub Jelinek <jakub@redhat.com>
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.
8716 2022-02-11 liuhongt <hongtao.liu@intel.com>
8718 PR tree-optimization/104479
8719 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
8720 for the dest of uncond_op.
8722 2022-02-11 Tom de Vries <tdevries@suse.de>
8725 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
8728 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
8730 PR middle-end/100775
8731 * function.cc (gen_call_used_regs_seq): Call
8732 df_update_exit_block_uses when updating df.
8734 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
8737 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
8738 Change operand 1 constraint to register_operand.
8740 2022-02-10 Richard Biener <rguenther@suse.de>
8742 PR tree-optimization/104373
8743 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
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
8753 (execute_early_warn_uninitialized): Use VN to compute
8755 (pass_data_early_warn_uninitialized): Enable a dump file,
8756 change dump name to warn_uninit.
8758 2022-02-10 Richard Biener <rguenther@suse.de>
8760 PR middle-end/104467
8761 * match.pd (vector extract simplification): Multiply the
8762 number of CTOR elements with the number of element elements.
8764 2022-02-10 Richard Biener <rguenther@suse.de>
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.
8770 2022-02-10 Tom de Vries <tdevries@suse.de>
8772 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
8774 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
8776 (define_c_enum "unspecv"): Add UNSPECV_ST.
8778 2022-02-10 Tom de Vries <tdevries@suse.de>
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
8786 2022-02-10 Tom de Vries <tdevries@suse.de>
8789 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
8790 driver JIT bug by using sub.s16 instead of sub.u16.
8792 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
8794 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
8795 floating point constants as operands 1 and/or 2.
8797 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
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.
8809 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
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.
8821 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
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.
8837 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
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.
8851 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
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.
8859 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
8861 * doc/install.texi (Specific): Change the www.bitwizard.nl
8862 reference to use https.
8864 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
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.
8878 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
8880 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
8881 that will result in direct recursive calls.
8883 2022-02-10 Andrew Pinski <apinski@marvell.com>
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.
8890 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
8893 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
8894 Also include OPTION_MASK_ISA2_AVX2_UNSET.
8896 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
8899 * config/i386/i386-expand.cc (ix86_split_idivmod):
8900 Force operands[2] and operands[3] into a register..
8902 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
8905 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
8906 (*v850_fnmssf4): Renamed from fnmssf4
8908 2022-02-09 Ian Lance Taylor <iant@golang.org>
8910 * godump.cc (go_force_record_alignment): Really name the alignment
8911 field "_" (complete 2021-12-29 change).
8913 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
8915 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
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.
8927 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8929 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
8931 (single_wx, single_type, single_dtype, dblq): New mode attributes.
8932 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
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.
8943 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
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.
8953 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8955 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
8957 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
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.
8968 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8970 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
8972 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
8973 (*aarch64_combine_internal_be<mode>): New patterns.
8975 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
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.
8981 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8983 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
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
8990 (aarch64_mergeable_load_pair_p): New function.
8992 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8994 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
8995 element to be an aarch64_simd_nonimmediate_operand.
8997 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
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
9004 (@aarch64_combinez_be<mode>): Likewise.
9006 2022-02-09 Richard Biener <rguenther@suse.de>
9008 PR middle-end/104464
9009 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
9010 throwing check to after unproblematic replacement.
9012 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
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.
9018 2022-02-09 Jakub Jelinek <jakub@redhat.com>
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.
9026 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
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.
9051 2022-02-09 Richard Biener <rguenther@suse.de>
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.
9061 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
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
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
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.
9098 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
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
9106 2022-02-09 liuhongt <hongtao.liu@intel.com>
9109 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
9110 operands[2] from SImode to QImode.
9112 2022-02-09 Richard Biener <rguenther@suse.de>
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.
9119 2022-02-09 Richard Biener <rguenther@suse.de>
9122 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
9123 folding for NULL LHS.
9125 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
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.
9133 2022-02-08 Jakub Jelinek <jakub@redhat.com>
9136 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
9137 split1 pass has finished already.
9139 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
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.
9146 2022-02-08 Tom de Vries <tdevries@suse.de>
9148 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
9149 * config/nvptx/nvptx.h (TARGET_SM70): Define.
9151 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
9153 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
9155 * config/s390/s390.md: Use paradoxical subreg.
9157 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
9159 * combine.cc (reg_subword_p): Check for paradoxical subreg.
9161 2022-02-08 Tom de Vries <tdevries@suse.de>
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'.
9175 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
9177 * doc/install.texi (Configuration): Document `--with-isa-spec='
9179 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
9181 (RISC-V Options): Document it.
9183 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
9185 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
9187 2022-02-08 Tom de Vries <tdevries@suse.de>
9189 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
9191 2022-02-08 Tom de Vries <tdevries@suse.de>
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.
9207 2022-02-08 liuhongt <hongtao.liu@intel.com>
9209 PR rtl-optimization/104059
9210 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
9211 for a more expensive reg-reg move.
9213 2022-02-07 Tamar Christina <tamar.christina@arm.com>
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.
9222 2022-02-07 Tamar Christina <tamar.christina@arm.com>
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.
9232 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
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
9239 2022-02-07 Richard Biener <rguenther@suse.de>
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.
9247 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
9250 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
9251 hunk affecting VSX and ALTIVEC to appropriate place.
9253 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
9256 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
9259 2022-02-06 Jakub Jelinek <jakub@redhat.com>
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
9278 2022-02-05 Jakub Jelinek <jakub@redhat.com>
9280 PR tree-optimization/104389
9281 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
9284 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
9286 * configure.ac: Fix detection for zifencei support.
9287 * configure: Regenerate.
9289 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
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.
9296 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
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.
9310 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
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.
9317 2022-02-04 Jakub Jelinek <jakub@redhat.com>
9320 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
9321 adjust mangling of __builtin*printf_chk.
9323 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
9325 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
9327 2022-02-04 Richard Biener <rguenther@suse.de>
9328 Bin Cheng <bin.cheng@linux.alibaba.com>
9330 PR tree-optimization/100499
9331 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
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.
9341 2022-02-04 Richard Biener <rguenther@suse.de>
9343 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
9346 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
9349 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
9350 (dwarf2out_early_finish): Likewise.
9352 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
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.
9361 2022-02-04 Richard Biener <rguenther@suse.de>
9363 PR tree-optimization/103641
9364 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
9365 Pass the vector mode to choose_mult_variant.
9367 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
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.
9374 2022-02-04 Richard Biener <rguenther@suse.de>
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
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
9387 * tree-streamer-out.cc (streamer_write_tree_bitfields):
9389 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
9390 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
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.
9398 2022-02-04 Martin Sebor <msebor@redhat.com>
9400 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
9403 2022-02-03 Martin Sebor <msebor@redhat.com>
9405 PR middle-end/104260
9406 * passes.def (pass_warn_access): Adjust pass placement.
9408 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
9411 * config/i386/i386.cc (find_drap_reg): For 32bit targets
9412 return DI_REG if function uses __builtin_eh_return.
9414 2022-02-03 Martin Sebor <msebor@redhat.com>
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
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.
9430 2022-02-03 Martin Sebor <msebor@redhat.com>
9432 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
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):
9438 (array_bounds_checker::m_ptr_query): New member.
9440 2022-02-03 Martin Sebor <msebor@redhat.com>
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.
9454 2022-02-03 Martin Sebor <msebor@redhat.com>
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
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.
9476 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
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.
9484 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
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
9492 (VCLZLSBB_V4SI): Likewise.
9493 (VCLZLSBB_V8HI): Likewise.
9494 (VCTZLSBB_V16QI): Likewise.
9495 (VCTZLSBB_V4SI): Likewise.
9496 (VCTZLSBB_V8HI): Likewise.
9498 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
9500 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
9501 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
9503 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
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
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.
9553 2022-02-03 Richard Biener <rguenther@suse.de>
9556 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
9557 together via DECL_ABSTRACT_ORIGIN.
9559 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
9561 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
9562 message for RES_BITS case.
9564 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
9566 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
9568 2022-02-03 Jakub Jelinek <jakub@redhat.com>
9570 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
9571 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
9573 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
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
9585 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
9587 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
9590 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
9592 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
9593 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
9596 2022-02-03 Martin Liska <mliska@suse.cz>
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):
9603 2022-02-03 Martin Liska <mliska@suse.cz>
9605 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
9606 Use the error message for i386 target.
9608 2022-02-03 Jakub Jelinek <jakub@redhat.com>
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.
9616 2022-02-03 Martin Sebor <msebor@redhat.com>
9618 * common.opt (-Wuse-after-free): Correct typos.
9620 2022-02-02 David Malcolm <dmalcolm@redhat.com>
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.
9627 2022-02-02 Martin Liska <mliska@suse.cz>
9629 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
9631 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
9634 * config/or1k/linux.h (CPP_SPEC): Define.
9636 2022-02-02 Tamar Christina <tamar.christina@arm.com>
9638 PR tree-optimization/102819
9639 PR tree-optimization/103169
9640 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
9643 2022-02-02 Tamar Christina <tamar.christina@arm.com>
9645 PR tree-optimization/102819
9646 PR tree-optimization/103169
9647 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
9649 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
9651 2022-02-02 Tamar Christina <tamar.christina@arm.com>
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
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
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.
9678 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
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).
9691 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
9693 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
9694 extra cost for ALL_REGS.
9696 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
9698 * config/cris/constraints.md (define_register_constraint "b"): Now
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.
9707 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
9709 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
9710 Conditionalize on (sub-)register operands or operand 1 being 0.
9712 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
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
9720 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
9722 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
9725 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
9727 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
9729 2022-02-01 Andrew Pinski <apinski@marvell.com>
9733 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
9735 * config/s390/s390.cc (s390_code_end): Do not switch back to
9738 2022-02-01 Jakub Jelinek <jakub@redhat.com>
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
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.
9755 2022-02-01 Jason Merrill <jason@redhat.com>
9757 * tree.h (struct tree_vec_map_cache_hasher): Move from...
9758 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
9760 2022-02-01 Tom de Vries <tdevries@suse.de>
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.
9767 2022-02-01 Tom de Vries <tdevries@suse.de>
9769 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
9770 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
9772 (define_insn "nvptx_warpsync"): New define_insn.
9774 2022-02-01 Tom de Vries <tdevries@suse.de>
9776 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
9778 2022-02-01 Tom de Vries <tdevries@suse.de>
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.
9785 2022-02-01 Tom de Vries <tdevries@suse.de>
9788 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
9791 2022-02-01 Tom de Vries <tdevries@suse.de>
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.
9800 2022-02-01 Tom de Vries <tdevries@suse.de>
9802 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
9803 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
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
9813 (define_expand "nvptx_membar_gl"): New expand.
9814 (define_insn "*nvptx_membar_gl"): New insn.
9816 2022-02-01 Martin Liska <mliska@suse.cz>
9818 * doc/install.texi: Remove option for GCC < 4.8.
9820 2022-02-01 Jakub Jelinek <jakub@redhat.com>
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.
9829 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
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.
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.
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.
10002 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
10004 PR rtl-optimization/101260
10005 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
10008 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
10010 PR middle-end/95115
10011 * fold-const.cc (const_binop): Do not fold NaN result from
10014 2022-02-01 Tom de Vries <tdevries@suse.de>
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.
10021 2022-01-31 Andrew Pinski <apinski@marvell.com>
10023 * fold-const.h (operand_compare::operand_equal_p):
10024 Fix comment about OEP_* flags.
10026 2022-01-31 Jakub Jelinek <jakub@redhat.com>
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.
10034 2022-01-31 Martin Sebor <msebor@redhat.com>
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.
10041 2022-01-31 Richard Biener <rguenther@suse.de>
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.
10048 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
10051 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
10053 2022-01-31 Richard Biener <rguenther@suse.de>
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.
10063 2022-01-29 Jakub Jelinek <jakub@redhat.com>
10064 Andrew Pinski <apinski@marvell.com>
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.
10072 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
10074 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
10076 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
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.
10082 2022-01-28 Marek Polacek <polacek@redhat.com>
10084 * doc/invoke.texi: Update -Wbidi-chars documentation.
10086 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
10088 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
10090 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
10092 PR tree-optimization/95424
10093 * match.pd: Simplify 1 / X where X is an integer.
10095 2022-01-28 Jakub Jelinek <jakub@redhat.com>
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.
10103 2022-01-28 Martin Liska <mliska@suse.cz>
10105 * diagnostic.cc (diagnostic_action_after_output): Remove extra
10108 2022-01-28 Martin Liska <mliska@suse.cz>
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.
10116 2022-01-28 Richard Biener <rguenther@suse.de>
10118 PR tree-optimization/104267
10119 * tree-vect-stmts.cc (vectorizable_call): Properly use the
10120 per-argument determined vector type for externals and
10123 2022-01-28 Richard Biener <rguenther@suse.de>
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.
10130 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
10132 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
10135 2022-01-28 Jakub Jelinek <jakub@redhat.com>
10138 * cfgrtl.cc (loc_equal): New function.
10139 (unique_locus_on_edge_between_p): Use it.
10141 2022-01-28 Richard Biener <rguenther@suse.de>
10143 * cfganal.h (mark_dfs_back_edges): Provide API with struct
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
10153 2022-01-27 Patrick Palka <ppalka@redhat.com>
10156 * tree.cc (build_call_vec): Add const to second parameter.
10157 * tree.h (build_call_vec): Likewise.
10159 2022-01-27 Martin Liska <mliska@suse.cz>
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.
10171 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
10174 * config/rs6000/rs6000.cc
10175 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
10176 assertion with early return.
10178 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
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.
10184 2022-01-27 Jakub Jelinek <jakub@redhat.com>
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
10196 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
10197 corresponding condition even if they have non-NULL ops[]->op.
10200 2022-01-26 Jakub Jelinek <jakub@redhat.com>
10203 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
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.
10209 2022-01-26 Jakub Jelinek <jakub@redhat.com>
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.
10216 2022-01-26 Jakub Jelinek <jakub@redhat.com>
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.
10224 2022-01-26 Marek Polacek <polacek@redhat.com>
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.
10230 2022-01-26 Martin Liska <mliska@suse.cz>
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.
10240 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
10243 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
10246 2022-01-25 Martin Sebor <msebor@redhat.com>
10248 PR tree-optimization/104203
10249 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
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.
10258 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
10260 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
10262 2022-01-25 Richard Biener <rguenther@suse.de>
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.
10270 2022-01-25 Jakub Jelinek <jakub@redhat.com>
10273 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
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.
10284 2022-01-24 Martin Sebor <msebor@redhat.com>
10286 * pointer-query.cc (pointer_query::dump): Remove duplicate
10289 2022-01-24 Marek Polacek <polacek@redhat.com>
10291 PR preprocessor/104030
10292 * doc/invoke.texi: Update documentation for -Wbidi-chars.
10294 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
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
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.
10313 2022-01-24 Richard Biener <rguenther@suse.de>
10314 Jiufu Guo <guojiufu@linux.ibm.com>
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.
10324 2022-01-24 Jakub Jelinek <jakub@redhat.com>
10326 PR sanitizer/104158
10327 * opt-functions.awk (var_set): Handle EnumBitSet property.
10328 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
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
10338 (trace-pc, trace-cmp): Drop Set properties.
10340 2022-01-24 Jakub Jelinek <jakub@redhat.com>
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_.
10351 2022-01-24 Jakub Jelinek <jakub@redhat.com>
10353 PR sanitizer/104158
10354 * opt-functions.awk (var_set): Handle EnumSet property.
10355 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
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.
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
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.
10380 2022-01-24 Jakub Jelinek <jakub@redhat.com>
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).
10408 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
10410 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
10411 Skip zicsr and zifencei if I-ext is 2.0.
10413 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
10415 * config.gcc: Modify default isa_spec version.
10417 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
10419 PR tree-optimization/102087
10420 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
10421 Correct PLUS result type.
10423 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
10426 * config/i386/predicates.md (bcst_mem_operand): Also check mode
10427 of memory broadcast.
10429 2022-01-23 Andrew Pinski <apinski@marvell.com>
10432 * config/aarch64/aarch64-builtins.cc
10433 (aarch64_general_gimple_fold_builtin): Handle
10434 __builtin_aarch64_sqrt* and simplify into SQRT internal
10437 2022-01-22 Jakub Jelinek <jakub@redhat.com>
10440 * opts-global.cc (handle_common_deferred_options): Quote
10441 --enable-plugin in diagnostics to avoid -Werror=format-diag.
10443 2022-01-21 Michael Meissner <meissner@the-meissners.org>
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.
10459 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
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.
10468 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
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.
10475 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
10477 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
10478 vector float and vector double.
10480 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
10482 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
10483 Fix mention of ifunc in string.
10485 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
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
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).
10501 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
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
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
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.
10548 2022-01-21 Martin Liska <mliska@suse.cz>
10550 * configure.ac: Detect ld_is_mold and use it for
10551 comdat_group=yes and gcc_cv_ld_hidden=yes.
10552 * configure: Regenerate.
10554 2022-01-21 Richard Biener <rguenther@suse.de>
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.
10561 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
10563 * config/arm/arm-opts.h (enum stack_protector_guard): New.
10564 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
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.
10581 2022-01-21 Richard Biener <rguenther@suse.de>
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
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.
10593 2022-01-21 Richard Biener <rguenther@suse.de>
10595 PR tree-optimization/104152
10596 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
10597 can_duplicate_and_interleave_p check.
10599 2022-01-21 Jakub Jelinek <jakub@redhat.com>
10601 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
10602 Avoid passing var to warning_at when the format string doesn't
10605 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
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):
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
10624 (path_oracle::reset_path): Clear m_registered bitmap.
10625 * value-relation.h (path_oracle::set_root_oracle): New.
10627 2022-01-21 Jakub Jelinek <jakub@redhat.com>
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
10634 2022-01-20 Richard Biener <rguenther@suse.de>
10636 PR middle-end/100786
10637 * gimple-fold.cc (get_symbol_constant_value): Only return
10638 values of compatible type to the symbol.
10640 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
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.
10649 2022-01-20 Richard Biener <rguenther@suse.de>
10652 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
10653 LHS before folding __builtin_ia32_shufpd and friends.
10655 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
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.
10662 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
10664 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
10666 (aarch32_crypto_aese_fused_protected): Likewise.
10667 (aarch32_crypto_aesd_fused_protected): Likewise.
10669 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
10671 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
10672 to define_expand. Add mitigation for the Cortex-A AES erratum
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.
10679 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
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
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.
10692 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
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.
10707 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
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.
10717 2022-01-20 Martin Liska <mliska@suse.cz>
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
10724 2022-01-20 Jakub Jelinek <jakub@redhat.com>
10727 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
10728 block_num > 0, index entry even if !have_multiple_function_sections.
10730 2022-01-20 liuhongt <hongtao.liu@intel.com>
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.
10738 2022-01-20 Richard Biener <rguenther@suse.de>
10740 PR tree-optimization/104114
10741 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
10742 single element vector decomposition.
10744 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
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.
10750 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
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
10756 (noce_convert_multiple_sets): Create two sequences and use the less
10759 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
10761 * rtl.h (struct rtx_comparison): New struct that holds an rtx
10763 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
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
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.
10778 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
10780 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
10781 (noce_process_if_block): Use potential costs.
10783 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
10785 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
10786 (bb_ok_for_noce_convert_multiple_sets): Likewise.
10788 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
10790 * ifcvt.cc (need_cmov_or_rewire): New function.
10791 (noce_convert_multiple_sets): Call it.
10793 2022-01-19 David Malcolm <dmalcolm@redhat.com>
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.
10986 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
10988 PR tree-optimization/103997
10989 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
10992 2022-01-19 Jakub Jelinek <jakub@redhat.com>
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.
11000 2022-01-19 Richard Biener <rguenther@suse.de>
11002 PR tree-optimization/104112
11003 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
11004 for required intermediate vector types.
11006 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11008 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
11010 2022-01-19 Martin Liska <mliska@suse.cz>
11012 * configure.ac: Remove -Wno-error=format-diag.
11013 * configure: Regenerate.
11015 2022-01-19 Martin Liska <mliska@suse.cz>
11017 * config/riscv/riscv.cc (riscv_handle_type_attribute):
11018 Update one -Wformat-diag string in warning message.
11020 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11022 PR middle-end/104103
11023 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
11026 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11029 * fold-const.cc (address_compare): Consider different STRING_CSTs
11030 with the same lengths that memcmp the same as equal, not different.
11032 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11034 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
11037 2022-01-19 Martin Liska <mliska@suse.cz>
11038 Thomas Schwinge <thomas@codesourcery.com>
11040 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
11043 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
11046 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
11049 2022-01-19 Jakub Jelinek <jakub@redhat.com>
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}.
11063 2022-01-19 Martin Sebor <msebor@redhat.com>
11065 PR middle-end/104069
11066 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
11067 an unknown result as documented.
11069 2022-01-18 Andrew Pinski <apinski@marvell.com>
11071 * ipa-split.cc (visit_bb): Fix comment before the
11072 warning/error attribute checking code.
11074 2022-01-18 David Faust <david.faust@oracle.com>
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.
11081 2022-01-18 David Faust <david.faust@oracle.com>
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
11089 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
11091 * common/config/riscv/riscv-common.cc
11092 (riscv_subset_list::parse_multiletter_ext): Move pointer
11093 arithmetic ahead of `free'.
11095 2022-01-18 Jason Merrill <jason@redhat.com>
11098 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
11101 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
11103 PR middle-end/103163
11104 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
11105 (init_emit_once): ...not here.
11107 2022-01-18 Martin Liska <mliska@suse.cz>
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.
11144 2022-01-18 Martin Liska <mliska@suse.cz>
11146 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
11148 (vms_pragma_standard): Likewise.
11149 (vms_pragma_extern_prefix): Likewise.
11151 2022-01-18 Martin Liska <mliska@suse.cz>
11153 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
11154 (print_operand_address): Likewise.
11155 (xtensa_multibss_section_type_flags): Likewise.
11157 2022-01-18 Martin Liska <mliska@suse.cz>
11159 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
11160 wording of an error message.
11162 2022-01-18 Martin Liska <mliska@suse.cz>
11164 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
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.
11175 2022-01-18 Martin Liska <mliska@suse.cz>
11177 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
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.
11184 2022-01-18 Martin Liska <mliska@suse.cz>
11186 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
11188 * config/nvptx/nvptx.md: Remove trailing dot.
11190 2022-01-18 Martin Liska <mliska@suse.cz>
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.
11199 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
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.
11219 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
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.
11230 2022-01-18 Richard Biener <rguenther@suse.de>
11233 * ipa-inline.cc (inline_small_functions): Do not enqueue call
11234 edges originating in functions compiled with -Og.
11236 2022-01-18 Richard Biener <rguenther@suse.de>
11239 * passes.def (pass_all_optimizations_g): Remove pass_modref
11240 and pass_local_pure_const.
11242 2022-01-18 Martin Liska <mliska@suse.cz>
11244 * config/s390/s390.cc: Fix -Wformat-diag warnings.
11246 2022-01-18 Martin Liska <mliska@suse.cz>
11248 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
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.
11257 2022-01-18 Martin Liska <mliska@suse.cz>
11259 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
11260 keywords and use %qs instead of %<%s%>.
11262 2022-01-18 Richard Biener <rguenther@suse.de>
11264 PR tree-optimization/103987
11265 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
11266 query with a pointer check.
11268 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
11271 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
11272 When using MEM_EXPR, require the base to be a decl.
11274 2022-01-18 Richard Biener <rguenther@suse.de>
11276 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
11278 * function.h (struct function): Likewise.
11280 2022-01-18 Arnaud Charlet <charlet@adacore.com>
11282 * doc/install.texi: Update prerequisites for GNAT
11284 2022-01-18 Andrew Pinski <apinski@marvell.com>
11286 PR tree-optimization/101941
11287 * ipa-split.cc (visit_bb): Disallow function calls where
11288 the function has either error or warning attribute.
11290 2022-01-18 Richard Biener <rguenther@suse.de>
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.
11297 2022-01-17 Martin Liska <mliska@suse.cz>
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.
11310 2022-01-17 Martin Liska <mliska@suse.cz>
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.
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.
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.
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.
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.
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.
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.
12308 2022-01-17 Martin Liska <mliska@suse.cz>
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...
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...
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...
12898 * ddg.c: Moved to...
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...
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...
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...
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...
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...
13238 * jump.c: Moved to...
13239 * jump.cc: ...here.
13240 * langhooks.c: Moved to...
13241 * langhooks.cc: ...here.
13242 * lcm.c: Moved to...
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...
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...
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...
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...
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...
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...
13674 * xcoffout.c: Moved to...
13675 * xcoffout.cc: ...here.
13677 2022-01-17 qing zhao <qing.zhao@oracle.com>
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
13683 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
13684 (warn_uninitialized_vars): Likewise.
13685 (warn_uninitialized_phi): Likewise.
13687 2022-01-17 Jason Merrill <jason@redhat.com>
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.
13695 2022-01-17 Richard Biener <rguenther@suse.de>
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.
13702 2022-01-17 Jakub Jelinek <jakub@redhat.com>
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.
13720 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
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.
13727 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
13730 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
13732 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
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>):
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>):
13747 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
13748 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
13750 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
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
13761 2022-01-15 Martin Sebor <msebor@redhat.com>
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.
13797 2022-01-15 Martin Sebor <msebor@redhat.com>
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.
13820 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
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.
13829 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
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.
13840 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
13842 PR middle-end/104026
13843 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
13844 partial_load_store_bias.
13846 2022-01-14 Martin Sebor <msebor@redhat.com>
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.
13852 2022-01-14 Martin Liska <mliska@suse.cz>
13854 * configure: Regenerate.
13856 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
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.
13869 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
13871 PR tree-optimization/104015
13872 * tree-vect-loop.c (vect_analyze_loop): Check
13873 param_vect_partial_vector_usage for supports_partial_vectors.
13875 2022-01-14 Jakub Jelinek <jakub@redhat.com>
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.
13882 2022-01-14 Jakub Jelinek <jakub@redhat.com>
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).
13890 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
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.
13897 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
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.
13904 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
13905 Uroš Bizjak <ubizjak@gmail.com>
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.
13914 2022-01-14 Martin Liska <mliska@suse.cz>
13916 * common/config/arm/arm-common.c (arm_target_mode): Fix
13917 warning: unterminated quoting directive [-Wformat=].
13919 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
13921 PR tree-optimization/104009
13922 * tree-object-size.c (compute_builtin_object_size): Bail out on
13924 (plus_stmt_object_size): Return maximum of wholesize and minimum
13925 of 0 for negative offset.
13927 2022-01-14 liuhongt <hongtao.liu@intel.com>
13932 * config/i386/i386.md (*xor2andn): Refine predicate of
13933 operands[0] from nonimmediate_operand to
13934 register_operand, remove TARGET_AVX512BW from condition.
13936 2022-01-14 David Malcolm <dmalcolm@redhat.com>
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.
13942 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
13943 Jason Merrill <jason@redhat.com>
13946 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
13948 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
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.
13956 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
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.
13975 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
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.
13982 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
13984 PR tree-optimization/96707
13985 * range-op.cc (operator_rshift::lhs_op1_relation): New.
13987 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
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.
13999 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
14002 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
14004 2022-01-13 Martin Liska <mliska@suse.cz>
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.
14018 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
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
14030 2022-01-13 Jakub Jelinek <jakub@redhat.com>
14032 PR tree-optimization/103989
14033 * tree-inline.c (setup_one_parameter): Don't copy parms with
14036 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
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.
14043 2022-01-13 Julian Brown <julian@codesourcery.com>
14044 Thomas Schwinge <thomas@codesourcery.com>
14046 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
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.
14052 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
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.
14058 2022-01-13 Martin Liska <mliska@suse.cz>
14060 * config/epiphany/epiphany.c (epiphany_mode_priority):
14061 Use gcc_unreachable for not handled cases.
14063 2022-01-13 Martin Liska <mliska@suse.cz>
14065 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
14066 Use %qs format specifier.
14067 (epiphany_override_options): Wrap keyword in %<, %>.
14069 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
14072 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
14074 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
14076 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
14078 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
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.
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.
14108 2022-01-12 Clément Chigot <clement.chigot@atos.net>
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.
14118 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
14120 PR tree-optimization/103551
14121 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
14123 2022-01-12 Richard Biener <rguenther@suse.de>
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.
14131 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
14133 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
14134 does not add autovectorize_vector_modes.
14136 2022-01-12 Martin Liska <mliska@suse.cz>
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.
14149 2022-01-12 Martin Liska <mliska@suse.cz>
14151 * config.gcc: Include elfos.h before ${tm_file}.
14153 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
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.
14161 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
14163 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
14166 2022-01-11 qing zhao <qing.zhao@oracle.com>
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
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.
14181 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
14183 * flag-types.h (enum gfc_convert): Add flags for
14186 2022-01-11 Michael Meissner <meissner@the-meissners.org>
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.
14192 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
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.
14200 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
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.
14214 2022-01-11 Jakub Jelinek <jakub@redhat.com>
14217 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
14219 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
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
14234 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
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.
14242 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
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.
14249 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14251 PR middle-end/70090
14252 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
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
14258 (object_sizes_get): Return suitable gimple variable for
14260 (bundle_sizes): New function.
14261 (object_sizes_set): Use it and handle dynamic object size
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):
14267 (compute_builtin_object_size): Call gimplify_size_expressions
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.
14275 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14276 Jakub Jelinek <jakub@redhat.com>
14278 PR tree-optimization/103961
14279 * tree-object-size.c (plus_stmt_object_size): Always avoid
14280 computing offset for -1 size.
14282 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
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.
14288 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
14290 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
14291 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
14293 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
14294 Richard Biener <rguenther@suse.de>
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.
14305 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
14308 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
14310 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
14312 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
14314 2022-01-11 Olivier Hainque <hainque@adacore.com>
14316 * gcc.c (driver_handle_option): State --sysroot as
14319 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
14321 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
14322 useless related to option -mno-power10.
14324 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
14327 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
14328 operands[1] from register_operand to vector_operand.
14330 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
14333 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
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.
14344 2022-01-10 Richard Biener <rguenther@suse.de>
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.
14351 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
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.
14358 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
14360 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
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.
14366 2022-01-10 Jakub Jelinek <jakub@redhat.com>
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.
14377 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
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.
14390 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
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.
14404 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
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
14421 (move_spill_restore): Adjust for the new behavior of
14422 propagate_allocno_info.
14424 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
14426 PR rtl-optimization/98782
14427 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
14429 * ira-color.c (color_pass): ...here.
14431 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
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.
14437 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
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):
14443 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
14444 (color_pass): Likewise.
14445 (move_spill_restore): Likewise.
14447 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
14450 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
14452 2022-01-10 Richard Biener <rguenther@suse.de>
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.
14458 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
14460 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
14461 special case for TImode to V1TImode moves, going via V2DImode.
14463 2022-01-08 Jakub Jelinek <jakub@redhat.com>
14466 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
14469 2022-01-08 David Malcolm <dmalcolm@redhat.com>
14471 * doc/analyzer.texi
14472 (Special Functions for Debugging the Analyzer): Document
14473 __analyzer_dump_escaped.
14475 2022-01-08 David Malcolm <dmalcolm@redhat.com>
14477 * doc/analyzer.texi (Other Debugging Techniques): Document
14478 region::is_named_decl_p.
14480 2022-01-07 Andrew Pinski <apinski@marvell.com>
14483 * config/arm/aarch-common.c (arm_md_asm_adjust):
14484 Use a temp if !REG_P.
14486 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
14488 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
14489 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
14491 2022-01-07 liuhongt <hongtao.liu@intel.com>
14493 PR rtl-optimization/103750
14494 * fwprop.c (forward_propagate_into): Allow propagations from
14495 inner loop to outer loop.
14497 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
14499 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
14501 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
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.
14507 2022-01-07 liuhongt <hongtao.liu@intel.com>
14509 * config/i386/sse.md
14510 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
14511 UNSPEC_PCMP_UNSIGNED.
14513 2022-01-07 liuhongt <hongtao.liu@intel.com>
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.
14528 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
14531 * config/i386/i386.c (ix86_output_indirect_function_return):
14532 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
14534 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
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):
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
14549 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
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.
14561 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
14563 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
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.
14599 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
14601 * common/config/riscv/riscv-common.c
14602 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
14605 2022-01-06 Jakub Jelinek <jakub@redhat.com>
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.
14612 2022-01-06 Jakub Jelinek <jakub@redhat.com>
14614 PR rtl-optimization/103908
14615 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
14618 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
14621 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
14622 Skip over instances with undefined function types.
14624 2022-01-05 Andrew Pinski <apinski@marvell.com>
14627 * config/i386/i386.h (x86_mfence): Mark with GTY.
14629 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
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.
14642 2022-01-05 Martin Sebor <msebor@redhat.com>
14644 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
14645 %qs to avoid -Wformat-diag.
14647 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
14650 * config/i386/mmx.md (one_cmplv2qi2): Change
14651 alternatives 1,2 type from sselog to sselog1.
14653 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
14656 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
14657 narrow mode remapped elements for !one_operand_p case.
14659 2022-01-05 Richard Biener <rguenther@suse.de>
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.
14665 2022-01-05 Jakub Jelinek <jakub@redhat.com>
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.
14672 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
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
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.
14701 2022-01-04 Martin Sebor <msebor@redhat.com>
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
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.
14722 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
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.
14732 2022-01-04 Richard Biener <rguenther@suse.de>
14734 PR tree-optimization/103800
14735 * tree-vect-loop.c (vectorizable_phi): Remove assert and
14738 2022-01-04 Richard Biener <rguenther@suse.de>
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
14747 (fini_pre): .. here.
14749 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
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.
14762 2022-01-04 Olivier Hainque <hainque@adacore.com>
14764 * gcc.c (driver_handle_option): do_save --sysroot.
14766 2022-01-04 Richard Biener <rguenther@suse.de>
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.
14774 2022-01-04 Jakub Jelinek <jakub@redhat.com>
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.
14780 2022-01-04 Cui,Lili <lili.cui@intel.com>
14782 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
14783 to Alderlake and Rocketlake.
14785 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
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'
14791 2022-01-04 liuhongt <hongtao.liu@intel.com>
14794 * config/i386/sse.md (*bit_and_float_vector_all_ones):
14795 Force_reg operand 1 to avoid ICE.
14797 2022-01-04 Jason Merrill <jason@redhat.com>
14799 * tree-pretty-print.c (do_niy): Add spc parameter.
14801 (print_call_name): Add spc local variable.
14803 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
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.
14814 2022-01-03 Andrew Pinski <apinski@marvell.com>
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.
14822 2022-01-03 Jakub Jelinek <jakub@redhat.com>
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):
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
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
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.
14859 2022-01-03 Richard Biener <rguenther@suse.de>
14861 PR middle-end/103851
14862 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
14864 2022-01-03 Jakub Jelinek <jakub@redhat.com>
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.
14871 2022-01-03 Martin Liska <mliska@suse.cz>
14873 * doc/extend.texi: Use ; for function declarations.
14875 2022-01-03 Jakub Jelinek <jakub@redhat.com>
14878 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
14879 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
14881 2022-01-03 Jakub Jelinek <jakub@redhat.com>
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.
14896 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
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.
14913 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
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.
14921 Copyright (C) 2022 Free Software Foundation, Inc.
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.