compiler: use correct init order for multi-value initialization
[official-gcc.git] / gcc / ChangeLog
blob463a301d256c73e6883f42c03fb882eb6105734a
1 2022-06-30  Joseph Myers  <joseph@codesourcery.com>
3         PR lto/106129
4         * lto-wrapper.cc (find_option): Add argument start.
5         (merge_and_complain): Loop over existing_opt_index and
6         existing_opt2_index for Xassembler check.  Update calls to
7         find_option.
8         (find_and_merge_options): Add argument first to determine whether
9         to merge options with those passed in *opts.
10         (run_gcc): Update calls to find_and_merge_options.
12 2022-06-30  Aldy Hernandez  <aldyh@redhat.com>
14         * gimple-range-cache.cc (block_range_cache::block_range_cache):
15         Rename vrange_allocator to obstack_vrange_allocator.
16         (ssa_global_cache::ssa_global_cache): Same.
17         * gimple-range-edge.h (class gimple_outgoing_range): Same.
18         * gimple-range-infer.h (class infer_range_manager): Same.
19         * value-range.h (class vrange_allocator): Make abstract.
20         (class obstack_vrange_allocator): Inherit from vrange_allocator.
21         (class ggc_vrange_allocator): New.
23 2022-06-30  Roger Sayle  <roger@nextmovesoftware.com>
24             Uroš Bizjak  <ubizjak@gmail.com>
26         * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
27         provide gen_swapsi.
28         (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
29         via new gen_<insn>32di2_doubleword below.
30         (<anyrotate>32di2_doubleword): New define_insn_and_split
31         that splits after reload as either a pair of move instructions
32         or an xchgl (using gen_swapsi).
34 2022-06-30  Richard Biener  <rguenther@suse.de>
36         * domwalk.h (dom_walker::dom_walker): Update comment to
37         reflect reality and new special argument value for
38         bb_index_to_rpo.
39         * domwalk.cc (dom_walker::dom_walker): Recognize -1
40         bb_index_to_rpo.
41         * tree-into-ssa.cc
42         (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
43         dom_walker to not use RPO.
45 2022-06-30  Martin Liska  <mliska@suse.cz>
47         * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
48         it is unused.
50 2022-06-30  Andrew MacLeod  <amacleod@redhat.com>
52         PR tree-optimization/106114
53         * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
54         statement operands instead of GORI cache.
56 2022-06-30  Antoni Boucher  <bouanto@zoho.com>
58         PR target/106095
59         * config/i386/sse.md: Fix asm generation.
61 2022-06-29  Sergei Trofimovich  <siarheit@google.com>
63         PR c++/106102
64         * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
66 2022-06-29  Joseph Myers  <joseph@codesourcery.com>
68         * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
69         not gen_const_mem for UNSPEC_PIC_CALL_SYM.
71 2022-06-29  Richard Biener  <rguenther@suse.de>
73         PR rtl-optimization/106082
74         * combine.cc (distribute_notes): Preserve notes when
75         they indicate a call doesn't perform a non-local goto.
77 2022-06-29  Richard Biener  <rguenther@suse.de>
79         PR tree-optimization/106112
80         * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
81         a constant operand according to its type.
83 2022-06-29  Martin Liska  <mliska@suse.cz>
85         * doc/invoke.texi: Remove removed evrp-mode.
87 2022-06-29  Lulu Cheng  <chenglulu@loongson.cn>
89         PR target/106097
90         * config/loongarch/loongarch.cc (loongarch_build_integer):
91         Remove undefined behavior from code.
93 2022-06-28  Dimitar Dimitrov  <dimitar@dinux.eu>
95         * doc/sourcebuild.texi: Document new no_alignment_constraints
96         effective target check.
98 2022-06-28  Aldy Hernandez  <aldyh@redhat.com>
100         * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
101         * flag-types.h (enum evrp_mode): Remove.
102         * params.opt: Remove --param=evrp-mode.
103         * tree-vrp.cc (make_pass_early_vrp): New.
104         (pass_vrp::execute): Call early VRP instance.
105         * gimple-ssa-evrp-analyze.cc: Removed.
106         * gimple-ssa-evrp-analyze.h: Removed.
107         * gimple-ssa-evrp.cc: Removed.
109 2022-06-28  Alexandre Oliva  <oliva@adacore.com>
111         * Makefile.in (TFLAGS): New.
112         (GCC_FOR_TARGET): Add TFLAGS.
113         (FLAGS_TO_PASS): Pass TFLAGS down.
115 2022-06-28  Richard Biener  <rguenther@suse.de>
117         * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
118         call update_ssa.
120 2022-06-28  Richard Biener  <rguenther@suse.de>
122         * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
123         mark_block_for_update.
124         (update_ssa): Adjust.
126 2022-06-28  Xi Ruoyao  <xry111@xry111.site>
128         PR target/106096
129         * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
130         $r13 from SIBCALL_REGS.
131         * config/loongarch/loongarch.cc (loongarch_regno_to_class):
132         Change $r13 to JIRL_REGS.
134 2022-06-28  Aldy Hernandez  <aldyh@redhat.com>
136         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
137         irange::supports_p.
139 2022-06-28  Richard Biener  <rguenther@suse.de>
141         PR middle-end/106053
142         * match.pd ((T)a == (T)b): Avoid folding away sign
143         changes in a comparison if we'd truncate to a boolean.
145 2022-06-28  Kewen Lin  <linkw@linux.ibm.com>
147         * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
148         iterator GPR with SImode, adjust the condition and output template,
149         rename to ...
150         (*rotlsi3_insert_4): ... this.
152 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
154         * genmatch.cc: Add "final" and "override" to various vfunc
155         implementations, removing redundant "virtual" as appropriate.
156         * gensupport.cc: Likewise.
157         * gimple-range-cache.h: Likewise.
158         * ipa-icf-gimple.h: Likewise.
159         * ipa-icf.h: Likewise.
160         * read-md.h: Likewise.
161         * read-rtl-function.cc: Likewise.
162         * tree-ssa-loop-ch.cc: Likewise.
163         * tree-ssa-sccvn.cc: Likewise.
165 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
167         * config/i386/i386-features.h: Add "final" and "override" to
168         scalar_chain vfunc implementations as appropriate.
170 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
172         * tree-switch-conversion.h: Add "final" and "override" to cluster
173         vfunc implementations as appropriate.
175 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
177         * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
178         implementations as appropriate.
180 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
182         * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
183         implementations, removing redundant "virtual" as appropriate.
184         * gimple-ssa-strength-reduction.cc: Likewise.
185         * ipa-prop.cc: Likewise.
186         * rtl-ssa/blocks.cc: Likewise.
187         * tree-into-ssa.cc: Likewise.
188         * tree-ssa-dom.cc: Likewise.
189         * tree-ssa-math-opts.cc: Likewise.
190         * tree-ssa-phiopt.cc: Likewise.
191         * tree-ssa-propagate.cc: Likewise.
192         * tree-ssa-sccvn.cc: Likewise.
193         * tree-ssa-strlen.cc: Likewise.
194         * tree-ssa-uncprop.cc: Likewise.
196 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
198         * adjust-alignment.cc: Add "final" and "override" to opt_pass
199         vfunc implementations, removing redundant "virtual" as
200         appropriate.
201         * asan.cc: Likewise.
202         * auto-inc-dec.cc: Likewise.
203         * auto-profile.cc: Likewise.
204         * bb-reorder.cc: Likewise.
205         * cfgcleanup.cc: Likewise.
206         * cfgexpand.cc: Likewise.
207         * cfgrtl.cc: Likewise.
208         * cgraphbuild.cc: Likewise.
209         * combine-stack-adj.cc: Likewise.
210         * combine.cc: Likewise.
211         * compare-elim.cc: Likewise.
212         * config/i386/i386-features.cc: Likewise.
213         * coroutine-passes.cc: Likewise.
214         * cprop.cc: Likewise.
215         * cse.cc: Likewise.
216         * dce.cc: Likewise.
217         * df-core.cc: Likewise.
218         * dse.cc: Likewise.
219         * dwarf2cfi.cc: Likewise.
220         * early-remat.cc: Likewise.
221         * except.cc: Likewise.
222         * final.cc: Likewise.
223         * function.cc: Likewise.
224         * fwprop.cc: Likewise.
225         * gcse.cc: Likewise.
226         * gimple-harden-conditionals.cc: Likewise.
227         * gimple-if-to-switch.cc: Likewise.
228         * gimple-isel.cc: Likewise.
229         * gimple-laddress.cc: Likewise.
230         * gimple-loop-interchange.cc: Likewise.
231         * gimple-loop-jam.cc: Likewise.
232         * gimple-loop-versioning.cc: Likewise.
233         * gimple-low.cc: Likewise.
234         * gimple-ssa-backprop.cc: Likewise.
235         * gimple-ssa-evrp.cc: Likewise.
236         * gimple-ssa-isolate-paths.cc: Likewise.
237         * gimple-ssa-nonnull-compare.cc: Likewise.
238         * gimple-ssa-split-paths.cc: Likewise.
239         * gimple-ssa-store-merging.cc: Likewise.
240         * gimple-ssa-strength-reduction.cc: Likewise.
241         * gimple-ssa-warn-access.cc: Likewise.
242         * gimple-ssa-warn-alloca.cc: Likewise.
243         * gimple-ssa-warn-restrict.cc: Likewise.
244         * gimple-warn-recursion.cc: Likewise.
245         * graphite.cc: Likewise.
246         * ifcvt.cc: Likewise.
247         * init-regs.cc: Likewise.
248         * ipa-comdats.cc: Likewise.
249         * ipa-cp.cc: Likewise.
250         * ipa-devirt.cc: Likewise.
251         * ipa-fnsummary.cc: Likewise.
252         * ipa-free-lang-data.cc: Likewise.
253         * ipa-icf.cc: Likewise.
254         * ipa-inline.cc: Likewise.
255         * ipa-modref.cc: Likewise.
256         * ipa-profile.cc: Likewise.
257         * ipa-pure-const.cc: Likewise.
258         * ipa-reference.cc: Likewise.
259         * ipa-split.cc: Likewise.
260         * ipa-sra.cc: Likewise.
261         * ipa-visibility.cc: Likewise.
262         * ipa.cc: Likewise.
263         * ira.cc: Likewise.
264         * jump.cc: Likewise.
265         * loop-init.cc: Likewise.
266         * lower-subreg.cc: Likewise.
267         * mode-switching.cc: Likewise.
268         * modulo-sched.cc: Likewise.
269         * multiple_target.cc: Likewise.
270         * omp-expand.cc: Likewise.
271         * omp-low.cc: Likewise.
272         * omp-oacc-kernels-decompose.cc: Likewise.
273         * omp-oacc-neuter-broadcast.cc: Likewise.
274         * omp-offload.cc: Likewise.
275         * omp-simd-clone.cc: Likewise.
276         * passes.cc: Likewise.
277         * postreload-gcse.cc: Likewise.
278         * postreload.cc: Likewise.
279         * predict.cc: Likewise.
280         * recog.cc: Likewise.
281         * ree.cc: Likewise.
282         * reg-stack.cc: Likewise.
283         * regcprop.cc: Likewise.
284         * reginfo.cc: Likewise.
285         * regrename.cc: Likewise.
286         * reorg.cc: Likewise.
287         * sancov.cc: Likewise.
288         * sanopt.cc: Likewise.
289         * sched-rgn.cc: Likewise.
290         * stack-ptr-mod.cc: Likewise.
291         * store-motion.cc: Likewise.
292         * tracer.cc: Likewise.
293         * trans-mem.cc: Likewise.
294         * tree-call-cdce.cc: Likewise.
295         * tree-cfg.cc: Likewise.
296         * tree-cfgcleanup.cc: Likewise.
297         * tree-complex.cc: Likewise.
298         * tree-eh.cc: Likewise.
299         * tree-emutls.cc: Likewise.
300         * tree-if-conv.cc: Likewise.
301         * tree-into-ssa.cc: Likewise.
302         * tree-loop-distribution.cc: Likewise.
303         * tree-nrv.cc: Likewise.
304         * tree-object-size.cc: Likewise.
305         * tree-parloops.cc: Likewise.
306         * tree-predcom.cc: Likewise.
307         * tree-profile.cc: Likewise.
308         * tree-sra.cc: Likewise.
309         * tree-ssa-ccp.cc: Likewise.
310         * tree-ssa-copy.cc: Likewise.
311         * tree-ssa-dce.cc: Likewise.
312         * tree-ssa-dom.cc: Likewise.
313         * tree-ssa-dse.cc: Likewise.
314         * tree-ssa-forwprop.cc: Likewise.
315         * tree-ssa-ifcombine.cc: Likewise.
316         * tree-ssa-loop-ch.cc: Likewise.
317         * tree-ssa-loop-im.cc: Likewise.
318         * tree-ssa-loop-ivcanon.cc: Likewise.
319         * tree-ssa-loop-prefetch.cc: Likewise.
320         * tree-ssa-loop-split.cc: Likewise.
321         * tree-ssa-loop-unswitch.cc: Likewise.
322         * tree-ssa-loop.cc: Likewise.
323         * tree-ssa-math-opts.cc: Likewise.
324         * tree-ssa-phiopt.cc: Likewise.
325         * tree-ssa-phiprop.cc: Likewise.
326         * tree-ssa-pre.cc: Likewise.
327         * tree-ssa-reassoc.cc: Likewise.
328         * tree-ssa-sccvn.cc: Likewise.
329         * tree-ssa-sink.cc: Likewise.
330         * tree-ssa-strlen.cc: Likewise.
331         * tree-ssa-structalias.cc: Likewise.
332         * tree-ssa-uncprop.cc: Likewise.
333         * tree-ssa-uninit.cc: Likewise.
334         * tree-ssanames.cc: Likewise.
335         * tree-stdarg.cc: Likewise.
336         * tree-switch-conversion.cc: Likewise.
337         * tree-tailcall.cc: Likewise.
338         * tree-vect-generic.cc: Likewise.
339         * tree-vectorizer.cc: Likewise.
340         * tree-vrp.cc: Likewise.
341         * tsan.cc: Likewise.
342         * ubsan.cc: Likewise.
343         * var-tracking.cc: Likewise.
344         * vtable-verify.cc: Likewise.
345         * web.cc: Likewise.
347 2022-06-27  Andrew Stubbs  <ams@codesourcery.com>
349         * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
350         (jump): Likewise.
351         (movdi_symbol_save_scc): Likewise.
353 2022-06-27  Roger Sayle  <roger@nextmovesoftware.com>
355         PR rtl-optimization/7061
356         * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
358 2022-06-27  Roger Sayle  <roger@nextmovesoftware.com>
360         PR tree-optimization/94026
361         * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
362         (((X >> C1) & C2) eq/ne C3): Likewise.
364 2022-06-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
366         * statistics.cc: Include tree.h.
367         (get_function_name): New function.
368         (statistics_fini_pass_2): Call get_function_name instead of
369         current_function_name.
370         (statistics_counter_event): Call get_function_name instead of
371         function_name.
372         (statistics_histogram_event): Likewise.
374 2022-06-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
376         * config/xtensa/xtensa.md:
377         Suppress unnecessary emitting nop insn in the split patterns for
378         integer/FP constant synthesis, and add new peephole2 pattern that
379         folds such synthesized additions.
381 2022-06-25  Aldy Hernandez  <aldyh@redhat.com>
383         * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
384         instead of evrp.
385         (dom_jt_state::push): Remove m_evrp.
386         (dom_jt_state::pop): Same.
387         (dom_jt_state::record_ranges_from_stmt): Remove.
388         (dom_jt_state::register_equiv): Remove updating of evrp ranges.
389         (class dom_jt_simplifier): Pass ranger to constructor.
390         Inherit from hybrid_jt_simplifier.
391         (dom_jt_simplifier::simplify): Convert to ranger.
392         (pass_dominator::execute): Same.
393         (all_uses_feed_or_dominated_by_stmt): New.
394         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
395         (dom_opt_dom_walker::before_dom_children): Call
396         set_global_ranges_from_unreachable_edges.
397         Do not call record_ranges_from_stmt.
398         (dom_opt_dom_walker::after_dom_children): Remove evrp use.
399         (cprop_operand): Use int_range<> instead of value_range.
400         (dom_opt_dom_walker::fold_cond): New.
401         (dom_opt_dom_walker::optimize_stmt): Pass ranger to
402         cprop_into_stmt.
403         Use fold_cond() instead of vrp_visit_cond_stmt().
404         * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
405         pass state to simplifier.
406         * vr-values.h (class vr_values): Make fold_cond public.
408 2022-06-25  Jeff Law  <jeffreyalaw@gmail.com>
410         * common/config/tilegx/tilegx-common.cc: Removed.
411         * common/config/tilepro/tilepro-common.cc: Removed.
412         * config.gcc: Remove tilegx and tilepro entries.
413         * config/tilegx/constraints.md: Removed.
414         * config/tilegx/feedback.h: Removed.
415         * config/tilegx/linux.h: Removed.
416         * config/tilegx/mul-tables.cc: Removed.
417         * config/tilegx/predicates.md: Removed.
418         * config/tilegx/sync.md: Removed.
419         * config/tilegx/t-tilegx: Removed.
420         * config/tilegx/tilegx-builtins.h: Removed.
421         * config/tilegx/tilegx-c.cc: Removed.
422         * config/tilegx/tilegx-generic.md: Removed.
423         * config/tilegx/tilegx-modes.def: Removed.
424         * config/tilegx/tilegx-multiply.h: Removed.
425         * config/tilegx/tilegx-opts.h: Removed.
426         * config/tilegx/tilegx-protos.h: Removed.
427         * config/tilegx/tilegx.cc: Removed.
428         * config/tilegx/tilegx.h: Removed.
429         * config/tilegx/tilegx.md: Removed.
430         * config/tilegx/tilegx.opt: Removed.
431         * config/tilepro/constraints.md: Removed.
432         * config/tilepro/feedback.h: Removed.
433         * config/tilepro/gen-mul-tables.cc: Removed.
434         * config/tilepro/linux.h: Removed.
435         * config/tilepro/mul-tables.cc: Removed.
436         * config/tilepro/predicates.md: Removed.
437         * config/tilepro/t-tilepro: Removed.
438         * config/tilepro/tilepro-builtins.h: Removed.
439         * config/tilepro/tilepro-c.cc: Removed.
440         * config/tilepro/tilepro-generic.md: Removed.
441         * config/tilepro/tilepro-modes.def: Removed.
442         * config/tilepro/tilepro-multiply.h: Removed.
443         * config/tilepro/tilepro-protos.h: Removed.
444         * config/tilepro/tilepro.cc: Removed.
445         * config/tilepro/tilepro.h: Removed.
446         * config/tilepro/tilepro.md: Removed.
447         * config/tilepro/tilepro.opt: Removed.
448         * configure.ac: Remove tilegx and tilepro entries.
449         * configure: Rebuilt.
450         * doc/extend.texi: Remove tilegx and tilepro entries.
451         * doc/install.texi: Remove tilegx and tilepro entries.
452         * doc/invoke.texi: Remove tilegx and tilepro entries.
453         * doc/md.texi: Remove tilegx and tilepro entries.
455 2022-06-25  Roger Sayle  <roger@nextmovesoftware.com>
456             Richard Biener  <rguenther@suse.de>
458         * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
459         iteration over each basic block that was updated by the second
460         iteration.
462 2022-06-24  Jason Merrill  <jason@redhat.com>
464         PR c++/87729
465         PR c++/20423
466         * doc/invoke.texi: Document changes.
468 2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>
470         * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
471         condition to avoid overflow.
473 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
475         * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
476         OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
477         * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
478         OPTION_MASK_PPC_GFXOPT.
479         * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
480         * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
481         OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
482         * config/rs6000/rs6000-c.cc: Update comment.
483         * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
484         * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
485         MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
486         (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
487         with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
488         * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
489         MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
490         MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
491         MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
493 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
495         * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
496         OPTION_MASK_MFCRF.
497         * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
498         OPTION_MASK_MULTIPLE.
499         * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
500         * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
501         OPTION_MASK_MFCRF.
502         * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
503         OPTION_MASK_EABI.
504         * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
505         * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
506         MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
507         * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
508         MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
509         MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
510         MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
511         MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
512         Replace with
513         OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
514         OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
515         OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
516         OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
517         OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
518         OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
519         OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
520         * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
521         MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
522         * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
523         with OPTION_MASK_MULTIPLE.
524         (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
525         MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
526         MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
527         MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
528         MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
529         * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
530         with OPTION_MASK_EABI.
532 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
534         * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
535         RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
536         RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
537         RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
538         OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
539         OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
540         OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
541         * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
542         RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
543         RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
544         RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
546 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
548         * config/rs6000/rs6000-c.cc: Update comments.
549         * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
550         RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
551         RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
552         RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
553         RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
554         with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
555         OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
556         OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
557         OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
558         OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
559         OPTION_MASK_MMA, OPTION_MASK_POWER10.
560         * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
561         RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
562         RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
563         RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
564         RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
566 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
568         * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
569         MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
570         OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
572 2022-06-24  Richard Biener  <rguenther@suse.de>
574         PR middle-end/106070
575         * match.pd (a != b ? a : b): Fix translation of
576         operand_equal_for_comparison_p.
578 2022-06-24  Jan Hubicka  <jh@suse.cz>
580         PR ipa/106057
581         * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
583 2022-06-24  Martin Liska  <mliska@suse.cz>
585         PR middle-end/106059
586         * profile-count.h: *= and /= operators need to modify this
587         object.
589 2022-06-24  Roger Sayle  <roger@nextmovesoftware.com>
590             Uroš Bizjak  <ubizjak@gmail.com>
592         PR target/105930
593         * config/i386/i386.md (*<any_or>di3_doubleword): Split after
594         reload.  Use rtx_equal_p to avoid creating memory-to-memory moves,
595         and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
597 2022-06-24  Alexandre Oliva  <oliva@adacore.com>
599         * common.opt (nostdlib++): New.
600         * doc/invoke.texi (-nostdlib++): Document it.
602 2022-06-24  Alexandre Oliva  <oliva@adacore.com>
604         * doc/sourcebuild.texi (Environment attributes): Document
605         two_plus_gigs.
607 2022-06-23  David Malcolm  <dmalcolm@redhat.com>
609         * common.opt (fdiagnostics-show-rules): New option.
610         * diagnostic-format-json.cc (diagnostic_output_format_init_json):
611         Fix up context->show_rules.
612         * diagnostic-format-sarif.cc
613         (diagnostic_output_format_init_sarif): Likewise.
614         * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
615         (diagnostic_metadata::precanned_rule): New class.
616         (diagnostic_metadata::add_rule): New.
617         (diagnostic_metadata::get_num_rules): New.
618         (diagnostic_metadata::get_rule): New.
619         (diagnostic_metadata::m_rules): New field.
620         * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
621         (print_any_rules): New.
622         (diagnostic_report_diagnostic): Call it.
623         * diagnostic.h (diagnostic_context::show_rules): New field.
624         * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
625         * opts.cc (common_handle_option): Handle
626         OPT_fdiagnostics_show_rules.
627         * toplev.cc (general_init): Set up global_dc->show_rules.
629 2022-06-23  Martin Liska  <mliska@suse.cz>
631         PR c++/106062
632         * ubsan.cc (sanitize_unreachable_fn): Change order of calls
633         in order to initialize UBSAN built-ins.
635 2022-06-23  Martin Liska  <mliska@suse.cz>
637         PR ipa/105600
638         * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
639         Skip variables with body_removed.
641 2022-06-23  liuhongt  <hongtao.liu@intel.com>
643         * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
644         reg_or_subregno.
645         (sse4_2_pcmpistr): Ditto.
647 2022-06-23  Xionghu Luo  <xionghuluo@tencent.com>
649         * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
650         typo.
651         * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
652         * tree-switch-conversion.h: Likewise.
654 2022-06-22  Jason Merrill  <jason@redhat.com>
656         PR c++/104642
657         * common.opt: Add -funreachable-traps.
658         * doc/invoke.texi (-funreachable-traps): Document it.
659         * opts.cc (finish_options): Enable at -O0 or -Og.
660         * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
661         (builtin_decl_unreachable, build_builtin_unreachable): New.
662         * tree.h: Declare them.
663         * ubsan.cc (sanitize_unreachable_fn): Factor out.
664         (ubsan_instrument_unreachable): Use
665         gimple_build_builtin_unreachable.
666         * ubsan.h (sanitize_unreachable_fn): Declare.
667         * gimple.cc (gimple_build_builtin_unreachable): New.
668         * gimple.h: Declare it.
669         * builtins.cc (expand_builtin_unreachable): Add assert.
670         (fold_builtin_0): Call build_builtin_unreachable.
671         * sanopt.cc: Don't run for just SANITIZE_RETURN
672         or SANITIZE_UNREACHABLE when trapping.
673         * cgraphunit.cc (walk_polymorphic_call_targets): Use new
674         unreachable functions.
675         * gimple-fold.cc (gimple_fold_call)
676         (gimple_get_virt_method_for_vtable)
677         * ipa-fnsummary.cc (redirect_to_unreachable)
678         * ipa-prop.cc (ipa_make_edge_direct_to_target)
679         (ipa_impossible_devirt_target)
680         * ipa.cc (walk_polymorphic_call_targets)
681         * tree-cfg.cc (pass_warn_function_return::execute)
682         (execute_fixup_cfg)
683         * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
684         (unloop_loops)
685         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
686         Likewise.
688 2022-06-22  Richard Sandiford  <richard.sandiford@arm.com>
690         PR tree-optimization/106019
691         * tree-data-ref.cc (dr_may_alias_p): Try using the
692         innermost_loop_behavior to disambiguate non-loop queries.
694 2022-06-22  Palmer Dabbelt  <palmer@rivosinc.com>
696         * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
698 2022-06-22  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
700         * config/xtensa/xtensa.md (bswapsi2_internal):
701         Enlarge the buffer that is obviously smaller than the template
702         string given to sprintf().
704 2022-06-21  Roger Sayle  <roger@nextmovesoftware.com>
705             Marek Polacek  <polacek@redhat.com>
706             Segher Boessenkool  <segher@kernel.crashing.org>
707             Kewen Lin  <linkw@linux.ibm.com>
709         PR target/105991
710         * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
711         exact_log2 doesn't return -1 (or zero).
712         (plus_xor): New code iterator.
713         (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
715 2022-06-21  Nathan Sidwell  <nathan@acm.org>
717         * doc/invoke.texi (C++ Modules): Remove language-linkage
718         as missing feature.
720 2022-06-21  Arjun Shankar  <arjun@redhat.com>
722         PR tree-optimization/94899
723         * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
724         0x80000000): New simplification.
726 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
728         PR rtl-optimization/106032
729         * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
730         t may_trap_or_fault_p, even if it is cheap.
732 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
734         PR middle-end/106030
735         * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
736         temp to expand_operands if mode has been promoted.
738 2022-06-21  Xionghu Luo  <xionghuluo@tencent.com>
740         PR target/105740
741         * gimple-if-to-switch.cc (find_conditions): Don't skip the first
742         condition bb.
744 2022-06-21  Siddhesh Poyarekar  <siddhesh@gotplt.org>
746         PR tree-optimization/105736
747         * tree-object-size.cc (addr_object_size): Return size_unknown
748         when object offset computation returns an error.
750 2022-06-20  H.J. Lu  <hjl.tools@gmail.com>
752         PR target/105960
753         * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
754         false if PIC register is used when calling ifunc functions.
756 2022-06-20  Richard Biener  <rguenther@suse.de>
758         PR middle-end/106027
759         * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
760         type of the prevailing comparison for the new comparison type.
761         (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
762         to A < X && A >= Y folding.
764 2022-06-20  Kewen Lin  <linkw@linux.ibm.com>
766         PR tree-optimization/105940
767         * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
768         slp_done_for_suggested_uf and adjust with it accordingly.
769         (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
770         pass it down to vect_analyze_loop_2 for the initial analysis and
771         applying suggested unroll factor.
772         (vect_is_simple_reduction): Add parameter slp and adjust with it.
773         (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
774         (vect_analyze_scalar_cycles): Likewise.
776 2022-06-20  Martin Liska  <mliska@suse.cz>
778         * bb-reorder.cc (find_traces_1_round): Add operators / and * and
779         use them.
780         (better_edge_p): Likewise.
781         * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
782         * cfgloopmanip.cc (scale_loop_profile): Likewise.
783         * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
784         * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
785         * config/sh/sh.cc (expand_cbranchdi4): Likewise.
786         * dojump.cc (do_compare_rtx_and_jump): Likewise.
787         * final.cc (compute_alignments): Likewise.
788         * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
789         (decide_about_value): Likewise.
790         * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
791         * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
792         * modulo-sched.cc (sms_schedule): Likewise.
793         * omp-expand.cc (extract_omp_for_update_vars): Likewise.
794         (expand_omp_ordered_sink): Likewise.
795         (expand_omp_for_ordered_loops): Likewise.
796         (expand_omp_for_static_nochunk): Likewise.
797         * predict.cc (maybe_hot_count_p): Likewise.
798         (probably_never_executed): Likewise.
799         (set_even_probabilities): Likewise.
800         (handle_missing_profiles): Likewise.
801         (expensive_function_p): Likewise.
802         * profile-count.h: Likewise.
803         * profile.cc (compute_branch_probabilities): Likewise.
804         * stmt.cc (emit_case_dispatch_table): Likewise.
805         * symtab-thunks.cc (expand_thunk): Likewise.
806         * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
807         * tree-ssa-sink.cc (select_best_block): Likewise.
808         * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
809         (switch_decision_tree::balance_case_nodes): Likewise.
810         (switch_decision_tree::emit_case_nodes): Likewise.
811         * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
813 2022-06-20  yulong  <shiyulong@iscas.ac.cn>
815         * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
816         * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
817         of RISCV_BUILTIN.
818         * config/riscv/riscv-ftypes.def (0): Remove unused.
819         (1): New.
821 2022-06-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
823         * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
824         Consider relaxed MOVI instructions as L32R.
826 2022-06-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
828         * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
829         Use can_create_pseudo_p(), instead of using individual
830         reload_in_progress and reload_completed.
831         (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
832         the existing predicate function.
833         (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
834         Use the standard RTX code predicate macros such as MEM_P,
835         SYMBOL_REF_P and/or CONST_INT_P.
836         * config/xtensa/xtensa.md: Avoid using numeric literals to determine
837         if callee-saved register, at the split patterns for indirect sibcall
838         fixups.
840 2022-06-18  Jakub Jelinek  <jakub@redhat.com>
842         * common.opt (flag_sanitize_trap): New variable.
843         (fsanitize-trap=, fsanitize-trap): New options.
844         (fsanitize-undefined-trap-on-error): Change into deprecated alias
845         for -fsanitize-trap=all.
846         * opts.h (struct sanitizer_opts_s): Add can_trap member.
847         * opts.cc (finish_options): Complain about unsupported
848         -fsanitize-trap= options.
849         (sanitizer_opts): Add can_trap values to all entries.
850         (get_closest_sanitizer_option): Ignore -fsanitize-trap=
851         options which have can_trap false.
852         (parse_sanitizer_options): Add support for -fsanitize-trap=.
853         For -fsanitize-trap=all, enable
854         SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT.  Disallow
855         -fsanitize-trap=vptr here.
856         (common_handle_option): Handle OPT_fsanitize_trap_ and
857         OPT_fsanitize_trap.
858         * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
859         flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
860         flag_sanitize_undefined_trap_on_error.
861         * gcc.cc (sanitize_spec_function): Use
862         flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
863         and drop use of flag_sanitize_undefined_trap_on_error in
864         "undefined" handling.
865         * ubsan.cc (ubsan_instrument_unreachable): Use
866         flag_sanitize_trap & SANITIZE_??? instead of
867         flag_sanitize_undefined_trap_on_error.
868         (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
869         ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
870         ubsan_build_overflow_builtin, instrument_bool_enum_load,
871         ubsan_instrument_float_cast, instrument_nonnull_arg,
872         instrument_nonnull_return, instrument_builtin): Likewise.
873         * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
874         (-fsanitize-undefined-trap-on-error): Document as deprecated
875         alias of -fsanitize-trap.
877 2022-06-18  Jakub Jelinek  <jakub@redhat.com>
879         PR middle-end/105998
880         * varasm.cc (narrowing_initializer_constant_valid_p): Check
881         SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
882         ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
884 2022-06-18  Roger Sayle  <roger@nextmovesoftware.com>
886         PR tree-optimization/105835
887         * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
888         Narrow integer multiplication by a zero_one_valued_p operand.
889         (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
890         conversions inside COND_EXPR where both data operands are
891         integer constants.
893 2022-06-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
895         * config/xtensa/constraints.md (Y):
896         Change to include integer constants until reload begins.
897         * config/xtensa/predicates.md (move_operand): Ditto.
898         * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
899         Change to allow storing integer constants into litpool only after
900         reload begins.
902 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
904         PR target/105209
905         * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
906         * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
907         (alpha_store_data_bypass_p_1): Ditto.
908         * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
909         of generic store_data_bypass_p.
910         (ev4_ist_c): Remove insn reservation.
912 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
914         PR target/105970
915         * config/i386/i386.cc (ix86_function_arg): Assert that
916         the mode of pointer argumet is equal to ptr_mode, not Pmode.
918 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
920         PR target/105993
921         * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
922         instead of REGNO comparisons in combine splitter.
924 2022-06-17  Segher Boessenkool  <segher@kernel.crashing.org>
926         * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
927         types.
929 2022-06-17  Kito Cheng  <kito.cheng@sifive.com>
931         * config/riscv/bitmanip.md: Supress warning.
933 2022-06-17  Richard Earnshaw  <rearnsha@arm.com>
935         PR target/106004
936         * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
937         Clear bits in the mask above bit 31.
939 2022-06-17  Richard Earnshaw  <rearnsha@arm.com>
941         * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
942         to avoid spilling trivial literals to the constant pool.
944 2022-06-16  David Malcolm  <dmalcolm@redhat.com>
946         * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
947         auto_diagnostic_group to group any warning with its note.
948         (maybe_warn_for_bound): Likewise.
949         (check_access): Likewise.
950         (warn_dealloc_offset): Likewise.
951         (pass_waccess::maybe_warn_memmodel): Likewise.
952         (pass_waccess::maybe_check_dealloc_call): Likewise.
953         (pass_waccess::warn_invalid_pointer): Likewise.
954         (pass_waccess::check_dangling_stores): Likewise.
956 2022-06-16  Jason Merrill  <jason@redhat.com>
958         * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
959         opts_set->x_flag_sanitize.
961 2022-06-16  Jason Merrill  <jason@redhat.com>
963         * flags.h (issue_strict_overflow_warning): Comment #endif.
965 2022-06-16  Andrew MacLeod  <amacleod@redhat.com>
967         * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
968         was invaraint before, clear the invariant bit.
969         * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
970         * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
972 2022-06-16  Andrew MacLeod  <amacleod@redhat.com>
974         * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
976 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
978         PR tree-optimization/105983
979         * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
980         y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
981         on non-equality comparisons.
983 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
985         PR tree-optimization/105984
986         * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
987         x > stype_max / cst || x < stype_min / cst): fold_convert @1
988         to TREE_TYPE (@0) just once and test for negative divisor
989         also on that folded constant instead of on @1.
991 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
993         PR middle-end/105951
994         * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
995         optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
996         as last argument to the internal functions.
997         * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
998         extra call argument to ifns.  If expand_atomic_fetch_op fails for the
999         lhs == NULL_TREE case, fall through into the optab code with
1000         gen_reg_rtx (mode) as target.  If second expand_atomic_fetch_op
1001         fails, construct a CALL_EXPR and expand that.
1002         (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
1003         to ifns.  If expand_atomic_fetch_op fails, construct a CALL_EXPR and
1004         expand that.
1006 2022-06-16  Haochen Gui  <guihaoc@gcc.gnu.org>
1008         PR target/103316
1009         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
1010         gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
1011         RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
1012         RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
1013         * config/rs6000/vector.md (VEC_IC): New mode iterator.  Add support
1014         for new Power10 V1TI instructions.
1015         (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
1016         (vec_cmpu<mode><mode>): Likewise.
1017         (vector_nlt<mode>): Set mode iterator to VEC_IC.
1018         (vector_nltv1ti): Remove.
1019         (vector_gtu<mode>): Set mode iterator to VEC_IC.
1020         (vector_gtuv1ti): Remove.
1021         (vector_nltu<mode>): Set mode iterator to VEC_IC.
1022         (vector_nltuv1ti): Remove.
1023         (vector_geu<mode>): Set mode iterator to VEC_IC.
1024         (vector_ngt<mode>): Likewise.
1025         (vector_ngtv1ti): Remove.
1026         (vector_ngtu<mode>): Set mode iterator to VEC_IC.
1027         (vector_ngtuv1ti): Remove.
1028         (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
1029         (vector_gtu_v1ti_p): Remove.
1030         (vrotl<mode>3): Set mode iterator to VEC_IC.  Emit insns for V1TI.
1031         (vrotlv1ti3): Remove.
1032         (vashr<mode>3): Set mode iterator to VEC_IC.  Emit insns for V1TI.
1033         (vashrv1ti3): Remove.
1035 2022-06-16  Martin Liska  <mliska@suse.cz>
1037         * gengtype-state.cc (read_a_state_token): Do not skip extra
1038         character after escaped sequence.
1040 2022-06-16  Martin Liska  <mliska@suse.cz>
1042         PR driver/105564
1043         * spellcheck.cc (test_find_closest_string): Add new test.
1044         * spellcheck.h (class best_match): Prefer a difference in
1045         trailing sign symbol.
1047 2022-06-16  liuhongt  <hongtao.liu@intel.com>
1049         PR tree-optimization/53533
1050         * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
1051         (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
1052         and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
1054 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1056         * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
1058 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1060         * config/xtensa/predicates.md (reload_operand):
1061         New predicate.
1062         * config/xtensa/xtensa.md: New peephole2 pattern.
1064 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1066         * config/xtensa/xtensa.md (*round_up_to_even):
1067         New insn-and-split pattern.
1068         (*signed_ge_zero): Ditto.
1070 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1072         * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
1073         xtensa_emit_sibcall): New prototypes.
1074         (xtensa_expand_epilogue): Add new argument that specifies whether
1075         or not sibling call.
1076         * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
1077         New macro definition.
1078         (xtensa_prepare_expand_call): New function in order to share
1079         the common code.
1080         (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
1081         New functions.
1082         (xtensa_expand_epilogue): Add new argument sibcall_p and use it
1083         for sibling call handling.
1084         * config/xtensa/xtensa.md (call, call_value):
1085         Use xtensa_prepare_expand_call.
1086         (call_internal, call_value_internal):
1087         Add the condition in order to be disabled if sibling call.
1088         (sibcall, sibcall_value, sibcall_epilogue): New expansions.
1089         (sibcall_internal, sibcall_value_internal): New insn patterns,
1090         and split ones in order to take care of the indirect sibcalls.
1092 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1094         * doc/invoke.texi: Document -mextra-l32r-costs= option.
1096 2022-06-15  David Malcolm  <dmalcolm@redhat.com>
1098         PR analyzer/105962
1099         * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
1100         * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
1101         Extend -fdiagnostics-path-format=separate-events so that with
1102         -fdiagnostics-show-path-depths it prints fndecls as well as stack
1103         depths.
1105 2022-06-15  David Malcolm  <dmalcolm@redhat.com>
1107         * value-relation.h: Add "final" and "override" to relation_oracle
1108         vfunc implementations as appropriate.
1110 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
1112         PR middle-end/105975
1113         Revert everything apart from the expand_fn_using_insn and
1114         expand_direct_optab_fn changes from:
1115         * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
1116         (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
1117         (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
1118         (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
1119         * internal-fn.h (direct_internal_fn_info::directly_mapped): New
1120         member variable.
1121         (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
1122         (direct_internal_fn_p): Also return true for internal functions
1123         that map directly to instructions defined target-insns.def.
1124         (direct_internal_fn): Adjust comment accordingly.
1125         * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
1126         (vectorizable_optab2): New local macros.
1127         (not_direct): Initialize directly_mapped.
1128         (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
1129         (gather_load_direct, len_load_direct, mask_store_direct)
1130         (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
1131         (vec_cond_direct, scatter_store_direct, len_store_direct)
1132         (vec_set_direct, unary_direct, binary_direct, ternary_direct)
1133         (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
1134         (while_direct, fold_extract_direct, fold_left_direct)
1135         (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
1136         (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
1137         (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
1138         (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
1139         (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
1140         (direct_internal_fn_types): Handle functions that map to instructions
1141         defined in target-insns.def.
1142         (direct_internal_fn_types): Likewise.
1143         (direct_internal_fn_supported_p): Likewise.
1144         (internal_fn_expanders): Likewise.
1145         (expand_fn_using_insn): New function,
1146         split out and adapted from...
1147         (expand_direct_optab_fn): ...here.
1148         (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
1149         (expand_GOMP_SIMT_EXIT): Likewise.
1150         (expand_GOMP_SIMT_LANE): Likewise.
1151         (expand_GOMP_SIMT_LAST_LANE): Likewise.
1152         (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
1153         (expand_GOMP_SIMT_VOTE_ANY): Likewise.
1154         (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
1155         (expand_GOMP_SIMT_XCHG_IDX): Likewise.
1157 2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
1159         PR target/105981
1160         * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
1161         to first_reg and second_reg respectively.  Initialize them correctly
1162         when generating big-endian code.
1164 2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
1166         PR target/105974
1167         * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
1169 2022-06-15  Richard Biener  <rguenther@suse.de>
1171         PR tree-optimization/105971
1172         * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
1173         FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
1174         to leak less surprising alias results.
1176 2022-06-15  Richard Biener  <rguenther@suse.de>
1178         PR tree-optimization/105969
1179         * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
1180         by zero in overflow check.
1182 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
1184         PR tree-optimization/105254
1185         PR tree-optimization/105940
1186         Revert:
1187         * config/aarch64/aarch64.cc
1188         (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
1189         loop_vec_info as argument.  Restrict the unroll factor to values
1190         that divide the VF.
1191         (aarch64_vector_costs::finish_cost): Update call accordingly.
1193 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
1195         * read-rtl.cc (find_int): Substitute symbolic constants
1196         before converting the string to an integer.
1198 2022-06-15  Roger Sayle  <roger@nextmovesoftware.com>
1199             Richard Biener  <rguenther@suse.de>
1201         * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
1202         left shifts by a constant when the result is truncated, and the
1203         shift constant is well-defined.
1204         * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
1205         support for rotations of signed integer types, by lowering
1206         using unsigned vector shifts.
1208 2022-06-15  liuhongt  <hongtao.liu@intel.com>
1210         PR target/105953
1211         * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
1212         operands[3].
1214 2022-06-14  Surya Kumari Jangala  <jskumari@linux.ibm.com>
1216         PR rtl-optimization/105041
1217         * regrename.cc (check_new_reg_p): Use nregs value from du chain.
1219 2022-06-14  Segher Boessenkool  <segher@kernel.crashing.org>
1221         * config/rs6000/vsx.md (VS_scalar): Delete.
1222         (rest of file): Adjust.
1224 2022-06-14  Jan Hubicka  <hubicka@ucw.cz>
1226         PR ipa/105739
1227         * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
1229 2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1231         * config/riscv/bitmanip.md: Add split to handle opportunities
1232         for slli + sh[123]add.uw
1234 2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1236         * config/riscv/predicates.md (consecutive_bits_operand):
1237         Implement new predicate.
1239 2022-06-14  Richard Biener  <rguenther@suse.de>
1241         PR tree-optimization/105946
1242         * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
1243         Do not look at arguments not specified in the function call.
1245 2022-06-14  Richard Biener  <rguenther@suse.de>
1247         PR middle-end/105965
1248         * match.pd (view_convert CONSTRUCTOR): Handle single-element
1249         CTOR case.
1251 2022-06-14  Eric Botcazou  <ebotcazou@adacore.com>
1253         * warning-control.cc (copy_warning) [generic version]: Do not erase
1254         the warning data of the destination location when the no-warning
1255         bit is not set on the source.
1256         (copy_warning) [tree version]: Return early if TO is equal to FROM.
1257         (copy_warning) [gimple version]: Likewise.
1259 2022-06-14  Kewen Lin  <linkw@linux.ibm.com>
1261         PR tree-optimization/105940
1262         * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
1263         applying suggested_unroll_factor after start_over.
1265 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1267         * config/xtensa/predicates.md (shifted_mask_operand):
1268         New predicate.
1269         * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
1270         New insn-and-split pattern.
1271         (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
1272         *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
1273         *masktrue_const_shifted_mask): Ditto.
1275 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1277         * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
1279 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1281         * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
1282         Remove the first argument.
1283         (xtensa_emit_bit_branch): Remove it because now called only from the
1284         output statement of *bittrue insn pattern.
1285         * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
1286         argument 'p_invert', and make so that the condition is reversed by
1287         itself as needed.
1288         (xtensa_expand_conditional_branch): Share the common path, and remove
1289         condition inversion code.
1290         (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
1291         "false side" pattern.
1292         (xtensa_emit_bit_branch): Remove it because of the abovementioned
1293         reason, and move the function body to *bittrue insn pattern.
1294         * config/xtensa/xtensa.md (*bittrue): Transplant the output
1295         statement from removed xtensa_emit_bit_branch().
1296         (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
1297         insn patterns.
1299 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1301         * config/xtensa/predicates.md (logical_shift_operator,
1302         xtensa_shift_per_byte_operator): New predicates.
1303         * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
1304         New prototype.
1305         * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
1306         New helper function for funnel shift patterns.
1307         * config/xtensa/xtensa.md (ior_op): New code iterator.
1308         (*ashlsi3_1): Replace with new split pattern.
1309         (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
1310         (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
1311         New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
1312         in order to omit unnecessary bitwise AND operation.
1313         (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
1314         *shlrd_per_byte_<code>_omit_AND):
1315         New insn patterns for funnel shifts.
1317 2022-06-13  Jason Merrill  <jason@redhat.com>
1319         * tree-cfg.cc (pass_warn_function_return::execute): Also check
1320         BUILT_IN_TRAP.
1322 2022-06-13  Maciej W. Rozycki  <macro@embecosm.com>
1324         * config/riscv/riscv.md (length): Remove the explicit setting
1325         for "fcmp".
1327 2022-06-13  H.J. Lu  <hjl.tools@gmail.com>
1329         * common/config/i386/cpuinfo.h (get_available_features): Require
1330         AVX for F16C and VAES.
1332 2022-06-13  Uroš Bizjak  <ubizjak@gmail.com>
1334         PR target/105927
1335         * config/i386/predicates.md (register_no_elim_operand):
1336         Return true for subreg of a memory operand.
1338 2022-06-13  Richard Sandiford  <richard.sandiford@arm.com>
1340         * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
1341         (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
1342         (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
1343         (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
1344         * internal-fn.h (direct_internal_fn_info::directly_mapped): New
1345         member variable.
1346         (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
1347         (direct_internal_fn_p): Also return true for internal functions
1348         that map directly to instructions defined target-insns.def.
1349         (direct_internal_fn): Adjust comment accordingly.
1350         * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
1351         (vectorizable_optab2): New local macros.
1352         (not_direct): Initialize directly_mapped.
1353         (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
1354         (gather_load_direct, len_load_direct, mask_store_direct)
1355         (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
1356         (vec_cond_direct, scatter_store_direct, len_store_direct)
1357         (vec_set_direct, unary_direct, binary_direct, ternary_direct)
1358         (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
1359         (while_direct, fold_extract_direct, fold_left_direct)
1360         (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
1361         (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
1362         (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
1363         (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
1364         (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
1365         (direct_internal_fn_types): Handle functions that map to instructions
1366         defined in target-insns.def.
1367         (direct_internal_fn_types): Likewise.
1368         (direct_internal_fn_supported_p): Likewise.
1369         (internal_fn_expanders): Likewise.
1371 2022-06-13  Richard Sandiford  <richard.sandiford@arm.com>
1373         * internal-fn.cc (expand_fn_using_insn): New function,
1374         split out and adapted from...
1375         (expand_direct_optab_fn): ...here.
1376         (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
1377         (expand_GOMP_SIMT_EXIT): Likewise.
1378         (expand_GOMP_SIMT_LANE): Likewise.
1379         (expand_GOMP_SIMT_LAST_LANE): Likewise.
1380         (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
1381         (expand_GOMP_SIMT_VOTE_ANY): Likewise.
1382         (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
1383         (expand_GOMP_SIMT_XCHG_IDX): Likewise.
1385 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
1387         * omp-expand.cc (expand_omp_target): Remap user provided
1388         device clause arguments, -1 to -2 and -2 to -3, either
1389         at compile time if constant, or at runtime.
1391 2022-06-13  Eric Botcazou  <ebotcazou@adacore.com>
1393         * common.opt (finstrument-functions): Set explicit value.
1394         (-finstrument-functions-once): New option.
1395         * doc/invoke.texi (Program Instrumentation Options): Document it.
1396         * gimplify.cc (build_instrumentation_call): New static function.
1397         (gimplify_function_tree): Call it to emit the instrumentation calls
1398         if -finstrument-functions[-once] is specified.
1400 2022-06-13  Eric Botcazou  <ebotcazou@adacore.com>
1402         * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
1403         * gimple.h (gimple_set_location): Do not copy warning data from
1404         the previous location when it is UNKNOWN_LOCATION.
1405         * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
1407 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
1409         PR target/105911
1410         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
1411         *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
1412         (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
1413         operands[3] unmodified.
1415 2022-06-12  Simon Wright  <simon@pushface.org>
1417         PR target/104871
1418         * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
1419         version is darwin20 (macOS 11) or greater, truncate the version to the
1420         major number.
1422 2022-06-12  Mark Mentovai  <mark@mentovai.com>
1424         * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
1426 2022-06-12  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
1428         PR target/96463
1429         * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
1430         (svld1rq_impl::fold): Define.
1431         * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
1432         op_mode and op_vec_flags.
1433         (aarch64_evpc_reencode): Initialize newd.op_mode and
1434         newd.op_vec_flags.
1435         (aarch64_evpc_sve_dup): New function.
1436         (aarch64_expand_vec_perm_const_1): Gate existing calls to
1437         aarch64_evpc_* functions under d->vmode == d->op_mode,
1438         and call aarch64_evpc_sve_dup.
1439         (aarch64_vectorize_vec_perm_const): Remove assert
1440         d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
1441         * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
1442         vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
1443         constant.
1445 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1447         * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
1448         New prototype.
1449         * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
1450         xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
1451         xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
1452         New backend functions that process the abovementioned logic.
1453         (xtensa_emit_move_sequence): Revert the previous changes.
1454         * config/xtensa/xtensa.md: New split patterns for integer
1455         and floating-point, as the frontend part.
1457 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1459         * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
1460         for ABS and NEG, add missing case for BSWAP and CLRSB, and
1461         double the costs for integer divisions using libfuncs if
1462         optimizing for speed, in order to take advantage of fast constant
1463         division by multiplication.
1464         (TARGET_INSN_COST): New macro definition.
1465         (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
1466         calculating relative costs of a RTL insns, for both of speed and
1467         size.
1468         * config/xtensa/xtensa.md (return, nop, trap): Correct values of
1469         the attribute "length" that depends on TARGET_DENSITY.
1470         (define_asm_attributes, blockage, frame_blockage): Add missing
1471         attributes.
1472         * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
1473         dependent option, however, preparatory work for now.
1475 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1477         * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
1478         Pass through the block length / loop count conditions if
1479         zero-overhead looping is configured and active,
1481 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1483         * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
1484         Split into individual signedness, in order to use libcall
1485         "__umulsidi3" but not the other.
1486         (<u>mulhisi3): Merge into one by using code iterator.
1487         (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
1489 2022-06-11   Michael Meissner  <meissner@linux.ibm.com>
1491         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
1492         not generate block copies with vector pair instructions if we are
1493         tuning for power10.
1495 2022-06-10  Roger Sayle  <roger@nextmovesoftware.com>
1497         PR rtl-optimization/7061
1498         * expr.cc (emit_group_store): For groups that consist of a single
1499         scalar integer register that hold a complex mode value, use
1500         gen_lowpart to generate a SUBREG to "view_convert" to the complex
1501         mode.  For modes of different sizes, first convert to an integer
1502         mode of the appropriate size.
1504 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1506         * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
1508 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1510         * config/xtensa/xtensa.md (*andsi3_bitcmpl):
1511         New insn_and_split pattern.
1513 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1515         * config/xtensa/xtensa.md (one_cmplsi2):
1516         Rearrange as an insn_and_split pattern.
1518 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1520         * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
1522 2022-06-09  Segher Boessenkool  <segher@kernel.crashing.org>
1524         * config/rs6000/rs6000.md (FP_ISA3): Delete.
1525         (float<QHI:mode><FP_ISA3:mode>2): Rename to...
1526         (float<QHI:mode><SFDF:mode>2): ... this.  Adjust.
1527         (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
1528         (*float<QHI:mode><SFDF:mode>2_internal): ... this.  Adjust.
1529         (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
1530         (floatuns<QHI:mode><SFDF:mode>2): ... this.  Adjust.
1531         (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
1532         (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this.  Adjust.
1534 2022-06-09  Maciej W. Rozycki  <macro@embecosm.com>
1536         * config/riscv/riscv.md
1537         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
1538         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
1539         rather than space with FSFLAGS.
1541 2022-06-09  Tobias Burnus  <tobias@codesourcery.com>
1543         * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
1544         omp_discover_declare_target_fn_r): Don't walk reverse-offload
1545         target regions.
1547 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
1549         * doc/invoke.texi (-Waddress): Fix a typo in small example.
1550         Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
1552 2022-06-09  Cui,Lili  <lili.cui@intel.com>
1554         PR target/105493
1555         * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
1556         from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
1557         unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
1558         (icelake_cost): Ditto.
1559         (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
1560         stores and unaligned stores cost from {6, 6, 6, 10, 15} to
1561         {8, 8, 8, 10, 15}.
1563 2022-06-09  Haochen Gui  <guihaoc@gcc.gnu.org>
1565         * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
1566         and ior insns to one rotate and mask insn.
1567         (define_split for bswapdi register): Likewise.
1569 2022-06-08  Roger Sayle  <roger@nextmovesoftware.com>
1571         PR middle-end/105874
1572         * expr.cc (expand_expr_real_1) <normal_inner_ref>:  New local
1573         variable tem_modifier for calculating the expand_modifier enum to
1574         use for expanding tem.  If tem is a VAR_DECL, use EXPAND_MEMORY.
1576 2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>
1578         PR target/105879
1579         * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
1580         to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
1581         'gen_highpart' bitwise semantics and fix order of highpart and
1582         lowpart depending on target endianness.
1584 2022-06-08  Chung-Ju Wu  <jasonwucj@gmail.com>
1586         * config/arm/arm-cpus.in (star-mc1): New cpu.
1587         * config/arm/arm-tables.opt: Regenerate.
1588         * config/arm/arm-tune.md: Regenerate.
1589         * doc/invoke.texi: Update docs.
1591 2022-06-08  liuhongt  <hongtao.liu@intel.com>
1593         PR target/105513
1594         PR target/105504
1595         * config/i386/i386.md (*movsi_internal): Change alternative
1596         from *v to ?v.
1597         (*movdi_internal): Ditto.
1598         * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
1599         to ?r.
1600         (*vec_extractv4sf_mem): Ditto.
1601         (*vec_extracthf): Ditto.
1603 2022-06-07  Richard Earnshaw  <rearnsha@arm.com>
1605         PR target/105090
1606         * config/arm/arm.cc (arm_bfi_1_p): New function.
1607         (arm_bfi_p): New function.
1608         (arm_rtx_costs_internal): Add costs for BFI idioms.
1609         (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
1610         * config/arm/constraints.md (Dj): New constraint.
1611         * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
1612         (insv_zero): Convert to an insn with a split.
1613         (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
1615 2022-06-07  liuhongt  <hongtao.liu@intel.com>
1617         PR target/105854
1618         * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
1619         from Yv to Yw.
1621 2022-06-07  Roger Sayle  <roger@nextmovesoftware.com>
1623         PR middle-end/105853
1624         PR target/105856
1625         * calls.cc (load_register_parameters): Call store_constructor
1626         and int_expr_size directly instead of expanding via expand_expr.
1627         * expr.cc (static void store_constructor): Don't prototype here.
1628         (static HOST_WIDE_INT int_expr_size): Likewise.
1629         (store_constructor): No longer static.
1630         (int_expr_size): Likewise, no longer static.
1631         * expr.h (store_constructor): Prototype here.
1632         (int_expr_size): Prototype here.
1634 2022-06-07  Jan Beulich  <jbeulich@suse.com>
1636         Revert:
1637         2022-06-03  Jan Beulich  <jbeulich@suse.com>
1639         * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
1640         * configure.ac: Check for objcopy, producing
1641         ORIGINAL_OBJCOPY_FOR_TARGET.
1642         * configure: Update accordingly.
1643         * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
1644         Handle objcopy.
1646 2022-06-07  Jakub Jelinek  <jakub@redhat.com>
1648         * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
1649         * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
1650         Adjust clause printing style depending on
1651         OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
1653 2022-06-07  Jan Beulich  <jbeulich@suse.com>
1655         * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
1656         Change type.
1657         * config/i386/i386-builtin-types.def: New function type
1658         (V4DI, V32QI, V32QI).
1659         * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
1660         V4DI_FTYPE_V32QI_V32QI.
1662 2022-06-07  Jan Beulich  <jbeulich@suse.com>
1664         * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
1665         into account for reg-only insns.
1667 2022-06-07  Roger Sayle  <roger@nextmovesoftware.com>
1669         * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
1670         IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
1671         TARGET_CMOVE's (scalar integer) conditional moves.
1672         * config/i386/sse.md (define_split): Recognize XOP's vpcmov
1673         from its equivalent (canonical) pxor;pand;pxor sequence.
1675 2022-06-07  Kewen Lin  <linkw@linux.ibm.com>
1677         * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
1678         parameter ORDER.
1680 2022-06-06  Andrew Stubbs  <ams@codesourcery.com>
1682         * config.in: Regenerate.
1683         * configure: Regenerate.
1684         * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
1686 2022-06-04  Roger Sayle  <roger@nextmovesoftware.com>
1688         PR middle-end/95126
1689         * calls.cc (load_register_parameters): When loading a suitable
1690         immediate_const_ctor_p VAR_DECL into a single word_mode register,
1691         construct it directly in a pseudo rather than read it (by parts)
1692         from memory.
1693         * expr.cc (int_expr_size): Make tree argument a const_tree.
1694         (immediate_const_ctor_p): Helper predicate.  Return true for
1695         simple constructors that may be materialized in a register.
1696         (expand_expr_real_1) [VAR_DECL]: When expanding a constant
1697         VAR_DECL with a suitable immediate_const_ctor_p constructor
1698         use store_constructor to materialize it directly in a pseudo.
1699         * expr.h (immediate_const_ctor_p): Prototype here.
1700         * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
1701         VALUE argument from tree to const_tree.
1702         * varasm.h (initializer_constant_valid_for_bitfield_p): Update
1703         prototype.
1705 2022-06-04  Jakub Jelinek  <jakub@redhat.com>
1707         PR target/105825
1708         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
1709         *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
1710         bits of mask aren't all set, use operands[2] mode for the AND
1711         operation instead of always SImode.
1713 2022-06-03  Jakub Jelinek  <jakub@redhat.com>
1715         PR middle-end/30314
1716         PR middle-end/105777
1717         * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
1718         x > stype_max / cst || x < stype_min / cst): New simplification.
1720 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
1722         * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
1723         Value_Range.
1724         * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
1725         * value-range.h (Value_Range::Value_Range): Implement copy
1726         constructor for Value_Range.
1728 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
1730         * value-range.h (struct vrange_traits): Remove.
1731         (is_a): Rewrite without vrange_traits.
1732         (as_a): Same.
1734 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
1736         * value-range.cc (vrange::contains_p): Implement.
1737         (vrange::type): Return void.
1738         (vrange::supports_type_p): Implement.
1739         (irange::fits_p): Same.
1740         (vrange::set_undefined): Same.
1741         (irange::set_nonnegative): Same.
1742         (vrange::set_varying): Same.
1743         (vrange::union_): Same.
1744         (unsupported_range::set): Move to vrange.
1745         (unsupported_range::type): Move to vrange.
1746         (vrange::intersect): Implement for varying and undefined.
1747         (vrange::zero_p): Implement.
1748         (unsupported_range::supports_type_p): Move to vrange.
1749         (vrange::nonzero_p): Implement.
1750         (unsupported_range::set_undefined): Move to vrange.
1751         (unsupported_range::set_varying): Same.
1752         (unsupported_range::dump): Same.
1753         (unsupported_range::union_): Same.  Implement for varying and
1754         undefined.
1755         (unsupported_range::intersect): Move to vrange.
1756         (unsupported_range::zero_p): Same.
1757         (unsupported_range::nonzero_p): Same.
1758         (unsupported_range::set_nonzero): Same.
1759         (unsupported_range::set_zero): Same.
1760         (unsupported_range::set_nonnegative): Same.
1761         (unsupported_range::fits_p): Same.
1762         * value-range.h (class vrange): Remove abstract markers for most
1763         methods.
1764         (class unsupported_range): Remove most methods as they will now be
1765         inherited from vrange.
1767 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
1769         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
1770         an object level supports_type_p for irange and a static
1771         Value_Range::supports_type_p.
1772         * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
1773         (fold_using_range::range_of_address): Same.
1774         (fold_using_range::range_of_builtin_call): Same.
1775         * gimple-range-fold.h (gimple_range_type): Same.
1776         (gimple_range_ssa_p): Same.
1777         * gimple-range-path.cc (path_range_query::internal_range_of_expr):
1778         Same.
1779         (path_range_query::range_of_stmt): Same.
1780         (path_range_query::add_to_imports): Same.
1781         * gimple-range.cc (gimple_ranger::range_on_edge): Same.
1782         (gimple_ranger::export_global_ranges): Same.
1783         * gimple-ssa-evrp-analyze.cc
1784         (evrp_range_analyzer::record_ranges_from_phis):  Same.
1785         * range-op.cc (range_operator::wi_fold): Same.
1786         (range_operator::fold_range): Same.
1787         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
1788         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
1789         (evaluate_control_stmt_using_entry_checks): Same.
1790         * tree-ssa-threadedge.cc
1791         (hybrid_jt_simplifier::compute_ranges_from_state): Same.
1792         * tree-vrp.cc (supported_types_p): Same.
1793         * value-query.cc (range_query::value_of_expr): Same.
1794         (range_query::value_on_edge): Same.
1795         (range_query::value_of_stmt): Same.
1796         (range_query::get_tree_range): Same.
1797         (get_range_global): Same.
1798         (global_range_query::range_of_expr): Same.
1799         * value-range-equiv.h (class value_range_equiv): Same.
1800         * value-range.cc (irange::supports_type_p): Same.
1801         (unsupported_range::supports_type_p): Same.
1802         * value-range.h (enum value_range_discriminator): Same.
1803         (Value_Range::init): Same.
1804         (Value_Range::supports_type_p): Same.
1805         (irange::supports_type_p): Same.
1806         (irange::supports_p): Same.
1807         (vrange::supports_type_p): Same.
1808         (vrange_allocator::alloc_vrange): Same.
1810 2022-06-03  Jan Beulich  <jbeulich@suse.com>
1812         * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
1813         * configure.ac: Check for objcopy, producing
1814         ORIGINAL_OBJCOPY_FOR_TARGET.
1815         * configure: Update accordingly.
1816         * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
1817         Handle objcopy.
1819 2022-06-03  Jan Beulich  <jbeulich@suse.com>
1821         * config/i386/mmx.md (mmx_psadbw): Convert to expander.
1822         (*mmx_psadbw): New. Mark as commutative.
1823         * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
1824         (*<sse2_avx2>_psadbw): New. Mark as commutative.
1826 2022-06-03  Alexandre Oliva  <oliva@adacore.com>
1828         PR tree-optimization/105665
1829         PR tree-optimization/100810
1830         * tree-ssa-loop-ivopts.cc
1831         (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
1832         (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
1833         (find_ssa_undef): Check precomputed flag and intervening uses.
1834         (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
1836 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
1838         * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
1839         tree-logical-location.o.
1840         (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
1841         (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
1842         * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
1843         (sarif-stderr, sarif-file): New enum values.
1844         * diagnostic-client-data-hooks.h: New file.
1845         * diagnostic-format-sarif.cc: New file.
1846         * diagnostic-path.h (enum diagnostic_event::verb): New enum.
1847         (enum diagnostic_event::noun): New enum.
1848         (enum diagnostic_event::property): New enum.
1849         (struct diagnostic_event::meaning): New struct.
1850         (diagnostic_event::get_logical_location): New vfunc.
1851         (diagnostic_event::get_meaning): New vfunc.
1852         (simple_diagnostic_event::get_logical_location): New vfunc impl.
1853         (simple_diagnostic_event::get_meaning): New vfunc impl.
1854         * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
1855         (diagnostic_initialize): Initialize m_client_data_hooks.
1856         (diagnostic_finish): Clean up m_client_data_hooks.
1857         (diagnostic_event::meaning::dump_to_pp): New.
1858         (diagnostic_event::meaning::maybe_get_verb_str): New.
1859         (diagnostic_event::meaning::maybe_get_noun_str): New.
1860         (diagnostic_event::meaning::maybe_get_property_str): New.
1861         (get_cwe_url): Make non-static.
1862         (diagnostic_output_format_init): Handle
1863         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
1864         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
1865         * diagnostic.h (enum diagnostics_output_format): Add
1866         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
1867         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
1868         (class diagnostic_client_data_hooks): New forward decl.
1869         (class logical_location): New forward decl.
1870         (diagnostic_context::m_client_data_hooks): New field.
1871         (diagnostic_output_format_init_sarif_stderr): New decl.
1872         (diagnostic_output_format_init_sarif_file): New decl.
1873         (get_cwe_url): New decl.
1874         * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
1875         sarif-file.
1876         * doc/sourcebuild.texi (Scan a particular file): Add
1877         scan-sarif-file and scan-sarif-file-not.
1878         * langhooks-def.h (lhd_get_sarif_source_language): New decl.
1879         (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
1880         (LANG_HOOKS_INITIALIZER): Add
1881         LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
1882         * langhooks.cc (lhd_get_sarif_source_language): New.
1883         * langhooks.h (lang_hooks::get_sarif_source_language): New field.
1884         * logical-location.h: New file.
1885         * plugin.cc (struct for_each_plugin_closure): New.
1886         (for_each_plugin_cb): New.
1887         (for_each_plugin): New.
1888         * plugin.h (for_each_plugin): New decl.
1889         * tree-diagnostic-client-data-hooks.cc: New file.
1890         * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
1891         (tree_diagnostics_defaults): Populate m_client_data_hooks.
1892         * tree-logical-location.cc: New file.
1893         * tree-logical-location.h: New file.
1895 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
1897         * common.opt (fdiagnostics-format=): Add json-stderr and json-file
1898         to description.
1899         (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
1900         (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
1901         (diagnostics_output_format): Add json-stderr and json-file.
1902         * diagnostic-format-json.cc (json_flush_to_file): New.
1903         (json_final_cb): Convert to...
1904         (json_flush_to_file): ...this, ...
1905         (json_stderr_final_cb): ...this, and...
1906         (json_file_final_cb): ...this.
1907         (diagnostic_output_format_init): Move to diagnostic.cc.
1908         (json_output_base_file_name): New.
1909         (diagnostic_output_format_init_json): New.
1910         (diagnostic_output_format_init_json_stderr): New.
1911         (diagnostic_output_format_init_json_file): New.
1912         * diagnostic.cc (diagnostic_output_format_init): Move here from
1913         diagnostic-format-json.cc; update for changes to enum.
1914         * diagnostic.h (enum diagnostics_output_format): Rename
1915         DIAGNOSTICS_OUTPUT_FORMAT_JSON to
1916         DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
1917         DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
1918         (diagnostic_output_format_init): Add base_file_name param.
1919         (diagnostic_output_format_init_json_stderr): New decl.
1920         (diagnostic_output_format_init_json_file): New dec.
1921         * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
1922         "json-file".  Rewrite so that the existing "json" is a synonym of
1923         "json-stderr".
1924         * gcc.cc (driver_handle_option): Pass dump_base_name to
1925         diagnostic_output_format_init.
1926         * opts.cc (common_handle_option): Likewise.
1928 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
1930         * json.cc (string::print): Fix escaping of '\'.
1932 2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1934         * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
1935         (-1 << 31) for the single-bit case, when operating on (1 << 31)
1936         in SImode.
1937         * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
1938         any single-bit value, moving the special case for (1 << 31) to
1939         riscv_build_integer_1 (in riscv.c).
1941 2022-06-02  Roger Sayle  <roger@nextmovesoftware.com>
1943         PR target/105791
1944         * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
1945         (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
1947 2022-06-02  Jakub Jelinek  <jakub@redhat.com>
1949         PR target/105778
1950         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
1951         from AND and its operands and just verify operands[2] has HImode,
1952         SImode or for TARGET_64BIT DImode.  Allow operands[3] to be a mask
1953         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
1954         just throw away the masking.  Use force_reg before calling
1955         gen_lowpart.
1956         (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
1957         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
1958         just throw away the masking.
1959         (*ashl<mode>3_doubleword): Rename to ...
1960         (ashl<mode>3_doubleword): ... this.
1961         (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
1962         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
1963         Use force_reg before calling gen_lowpart.
1964         (*<insn><mode>3_mask): Likewise.
1965         (*<insn><dwi>3_doubleword_mask): Likewise.  Allow operands[3] to be
1966         a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
1967         case just throw away the masking.  Use force_reg before calling
1968         gen_lowpart.
1969         (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
1970         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
1971         throw away the masking.
1972         (*<insn><mode>3_doubleword): Rename to ...
1973         (<insn><mode>3_doubleword): ... this.
1974         (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
1975         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
1976         Use force_reg before calling gen_lowpart.
1977         (splitter after it): Remove :SI from AND and its operands and just
1978         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
1979         (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
1980         operands and just verify operands[1] has HImode, SImode or for
1981         TARGET_64BIT DImode.  Use force_reg before calling gen_lowpart.
1982         (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
1983         * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
1984         ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
1986 2022-06-02  Richard Biener  <rguenther@suse.de>
1988         PR tree-optimization/101668
1989         * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
1990         for vector types with compatible lane types.
1991         (vect_build_slp_tree_2): Deal with this.
1992         (vect_add_slp_permutation): Adjust.  Emit lowpart/concat
1993         special cases without VEC_PERM.
1994         (vectorizable_slp_permutation): Select the operand vector
1995         type and relax requirements.  Handle identity permutes
1996         with mismatching operand types.
1997         * optabs-query.cc (can_vec_perm_const_p): Only allow variable
1998         permutes for op_mode == mode.
2000 2022-06-02  Richard Biener  <rguenther@suse.de>
2002         PR tree-optimization/105802
2003         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
2004         Make sure to also compute the range in the type of the switch index.
2006 2022-06-01  David Seifert  <soap@gentoo.org>
2008         PR plugins/95648
2009         * configure: Regenerate.
2011 2022-06-01  H.J. Lu  <hjl.tools@gmail.com>
2013         PR rtl-optimization/105638
2014         * df-core.cc (df_find_single_def_src): Moved and renamed from
2015         find_single_def_src in loop-iv.cc.  Change the argument to rtx
2016         and use rtx_equal_p.  Return null for partial or conditional
2017         defs.
2018         * df.h (df_find_single_def_src): New prototype.
2019         * dse.cc (record_store): Use the constant source if the source
2020         register is set only once.
2021         * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
2022         (replace_single_def_regs): Replace find_single_def_src with
2023         df_find_single_def_src.
2025 2022-06-01  Wilco Dijkstra  <wilco.dijkstra@arm.com>
2027         * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
2028         selected_tune.
2029         (explicit_arch): Rename to selected_arch.
2030         (x_aarch64_override_tune_string): Remove.
2031         (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
2032         (aarch64_override_tune_string): Add Save so it gets saved/restored.
2033         * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
2034         * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
2035         (processor): Remove archtecture_version field.
2036         (selected_arch): Remove global.
2037         (selected_cpu): Remove global.
2038         (selected_tune): Remove global.
2039         (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
2040         (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
2041         (aarch64_override_options): Further simplify code to only set
2042         selected_arch and selected_tune globals.
2043         (aarch64_option_save): Remove now that target options are saved.
2044         (aarch64_option_restore): Remove redundant target option restores.
2045         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
2046         AARCH64_ISA_V9.
2047         * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
2048         * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
2049         (aarch64_ra_sign_key): Remove.
2051 2022-06-01  Jakub Jelinek  <jakub@redhat.com>
2053         PR middle-end/30314
2054         * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
2055         x > ~(utype)0 / cst): New simplification.
2057 2022-06-01  Richard Biener  <rguenther@suse.de>
2059         PR tree-optimization/105786
2060         * tree-loop-distribution.cc
2061         (loop_distribution::transform_reduction_loop): Only do strlen
2062         replacement for integer type reductions.
2064 2022-06-01  Jakub Jelinek  <jakub@redhat.com>
2066         PR tree-optimization/105770
2067         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
2068         CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
2070 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
2072         * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
2073         (sbr_vector::sbr_vector): Same.
2074         (sbr_vector::grow): Same.
2075         (sbr_vector::set_bb_range): Same.
2076         (sbr_vector::get_bb_range): Same.
2077         (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
2078         (sbr_sparse_bitmap::set_bb_range): Same.
2079         (sbr_sparse_bitmap::get_bb_range): Same.
2080         (block_range_cache::set_bb_range): Same.
2081         (block_range_cache::get_bb_range): Same.
2082         (block_range_cache::dump): Same.
2083         (ssa_global_cache::get_global_range): Same.
2084         (ssa_global_cache::set_global_range): Same.
2085         (ssa_global_cache::clear): Same.
2086         (ssa_global_cache::dump): Same.
2087         (ranger_cache::get_global_range): Same.
2088         (ranger_cache::set_global_range): Same.
2089         (ranger_cache::range_of_def): Same.
2090         (ranger_cache::entry_range): Same.
2091         (ranger_cache::exit_range): Same.
2092         (ranger_cache::edge_range): Same.
2093         (ranger_cache::range_of_expr): Same.
2094         (ranger_cache::range_on_edge): Same.
2095         (ranger_cache::block_range): Same.
2096         (ranger_cache::propagate_cache): Same.
2097         (ranger_cache::fill_block_cache): Same.
2098         (ranger_cache::range_from_dom): Same.
2099         * gimple-range-cache.h: Same.
2100         * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
2101         Same.
2102         (gimple_outgoing_range::switch_edge_range): Same.
2103         (gimple_outgoing_range::edge_range_p): Same.
2104         * gimple-range-edge.h: Same.
2105         * gimple-range-fold.cc (fur_source::get_operand): Same.
2106         (fur_source::get_phi_operand): Same.
2107         (fur_edge::get_operand): Same.
2108         (fur_edge::get_phi_operand): Same.
2109         (fur_stmt::get_operand): Same.
2110         (fur_stmt::get_phi_operand): Same.
2111         (fur_list::fur_list): Same.
2112         (fur_list::get_operand): Same.
2113         (fur_list::get_phi_operand): Same.
2114         (fold_range): Same.
2115         (adjust_imagpart_expr): Same.
2116         (adjust_realpart_expr): Same.
2117         (gimple_range_adjustment): Same.
2118         (fold_using_range::fold_stmt): Same.
2119         (fold_using_range::range_of_range_op): Same.
2120         (fold_using_range::range_of_address): Same.
2121         (fold_using_range::range_of_phi): Same.
2122         (fold_using_range::range_of_call): Same.
2123         (fold_using_range::range_of_builtin_call): Same.
2124         (fold_using_range::range_of_builtin_int_call): Same.
2125         (fold_using_range::range_of_cond_expr): Same.
2126         (fur_source::register_outgoing_edges): Same.
2127         * gimple-range-fold.h (fold_range): Same.
2128         (gimple_range_type): Same.
2129         (gimple_range_ssa_p): Same.
2130         * gimple-range-gori.cc (gimple_range_calc_op1): Same.
2131         (gimple_range_calc_op2): Same.
2132         (gori_compute::compute_operand_range_switch): Same.
2133         (gori_compute::compute_operand_range): Same.
2134         (gori_compute::logical_combine): Same.
2135         (gori_compute::compute_logical_operands): Same.
2136         (gori_compute::compute_operand1_range): Same.
2137         (gori_compute::compute_operand2_range): Same.
2138         (gori_compute::compute_operand1_and_operand2_range): Same.
2139         (gori_compute::outgoing_edge_range_p): Same.
2140         (gori_compute::condexpr_adjust): Same.
2141         * gimple-range-gori.h (gimple_range_calc_op1): Same.
2142         (gimple_range_calc_op2): Same.
2143         * gimple-range-path.cc (path_range_query::get_cache): Same.
2144         (path_range_query::set_cache): Same.
2145         (path_range_query::range_on_path_entry): Same.
2146         (path_range_query::internal_range_of_expr): Same.
2147         (path_range_query::range_of_expr): Same.
2148         (path_range_query::ssa_range_in_phi): Same.
2149         (path_range_query::range_defined_in_block): Same.
2150         (path_range_query::compute_ranges_in_phis): Same.
2151         (path_range_query::compute_ranges_in_block): Same.
2152         (path_range_query::add_to_imports): Same.
2153         (path_range_query::range_of_stmt): Same.
2154         * gimple-range-path.h: Same.
2155         * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
2156         (gimple_infer_range::~side_effect_manager): Same.
2157         (gimple_infer_range::get_nonzero): Same.
2158         (gimple_infer_range::maybe_adjust_range): Same.
2159         (gimple_infer_range::add_range): Same.
2160         * gimple-range-infer.h: Same.
2161         * gimple-range-tests.cc: Same.
2162         * gimple-range-trace.cc (range_tracer::trailer): Same.
2163         (debug_seed_ranger): Same.
2164         * gimple-range-trace.h: Same.
2165         * gimple-range.cc (gimple_ranger::range_of_expr): Same.
2166         (gimple_ranger::range_on_entry): Same.
2167         (gimple_ranger::range_on_exit): Same.
2168         (gimple_ranger::range_on_edge): Same.
2169         (gimple_ranger::fold_range_internal): Same.
2170         (gimple_ranger::range_of_stmt): Same.
2171         (gimple_ranger::prefill_name): Same.
2172         (gimple_ranger::prefill_stmt_dependencies): Same.
2173         (gimple_ranger::export_global_ranges): Same.
2174         (gimple_ranger::dump_bb): Same.
2175         * gimple-range.h: Same.
2176         * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
2177         (memmodel_to_uhwi): Same.
2178         * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
2179         (determine_value_range): Same.
2180         (record_nonwrapping_iv): Same.
2181         (infer_loop_bounds_from_signedness): Same.
2182         (scev_var_range_cant_overflow): Same.
2183         * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
2184         * value-query.cc (range_query::range_on_edge): Same.
2185         (range_query::range_of_stmt): Same.
2186         (range_query::value_of_expr): Same.
2187         (range_query::value_on_edge): Same.
2188         (range_query::value_of_stmt): Same.
2189         (range_query::get_tree_range): Same.
2190         (update_global_range): Same.
2191         (get_range_global): Same.
2192         (gimple_range_global): Same.
2193         (global_range_query::range_of_expr): Same.
2194         (range_query::query_relation): Same.
2195         * value-query.h (gimple_range_global): Same.
2196         (update_global_range): Same.
2197         * vr-values.cc (vr_values::range_of_expr): Same.
2198         (bounds_of_var_in_loop): Same.
2199         (simplify_using_ranges::vrp_visit_cond_stmt): Same.
2200         * vr-values.h (class vr_values): Same.
2201         * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
2203 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
2205         * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
2206         vrange allocator.
2207         (sbr_vector::grow): Same.
2208         (sbr_vector::set_bb_range): Same.
2209         (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
2210         (sbr_sparse_bitmap::set_bb_range): Same.
2211         (block_range_cache::~block_range_cache): Same.
2212         (block_range_cache::set_bb_range): Same.
2213         (ssa_global_cache::ssa_global_cache): Same.
2214         (ssa_global_cache::~ssa_global_cache): Same.
2215         (ssa_global_cache::set_global_range): Same.
2216         * gimple-range-cache.h (block_range_cache): Same.
2217         (ssa_global_cache): Same.
2218         * gimple-range-edge.cc
2219         (gimple_outgoing_range::calc_switch_ranges): Same.
2220         * gimple-range-edge.h (gimple_outgoing_range): Same.
2221         * gimple-range-infer.cc (infer_range_manager::get_nonzero):
2222         Same.
2223         (infer_range_manager::add_range): Same.
2224         * gimple-range-infer.h (class infer_range_manager): Same.
2225         * value-range.h (class irange_allocator): Rename to...
2226         (class vrange_allocator): ...this.
2227         (irange_allocator::irange_allocator): New.
2228         (vrange_allocator::vrange_allocator): New.
2229         (irange_allocator::~irange_allocator): New.
2230         (vrange_allocator::~vrange_allocator): New.
2231         (irange_allocator::get_memory): Rename to...
2232         (vrange_allocator::alloc): ...this.
2233         (vrange_allocator::alloc_vrange): Rename from...
2234         (irange_allocator::allocate): ...this.
2235         (vrange_allocator::alloc_irange): New.
2237 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
2239         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
2240         vrange and convert range_op_handler function calls to use the
2241         identically named object.
2242         * gimple-range-fold.cc (gimple_range_operand1): Same.
2243         (gimple_range_operand2): Same.
2244         (fold_using_range::fold_stmt): Same.
2245         (fold_using_range::range_of_range_op): Same.
2246         (fold_using_range::range_of_builtin_ubsan_call): Same.
2247         (fold_using_range::relation_fold_and_or): Same.
2248         (fur_source::register_outgoing_edges): Same.
2249         * gimple-range-fold.h (gimple_range_handler): Remove.
2250         * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
2251         (gimple_range_calc_op2): Same.
2252         (range_def_chain::get_def_chain): Same.
2253         (gori_compute::compute_operand_range): Same.
2254         (gori_compute::condexpr_adjust): Same.
2255         * gimple-range.cc (gimple_ranger::prefill_name): Same.
2256         (gimple_ranger::prefill_stmt_dependencies): Same.
2257         * range-op.cc (get_bool_state): Same.
2258         (class operator_equal): Add using clause.
2259         (class operator_not_equal): Same.
2260         (class operator_lt): Same.
2261         (class operator_le): Same.
2262         (class operator_gt): Same.
2263         (class operator_ge): Same.
2264         (class operator_plus): Same.
2265         (class operator_minus): Same.
2266         (class operator_mult): Same.
2267         (class operator_exact_divide): Same.
2268         (class operator_lshift): Same.
2269         (class operator_rshift): Same.
2270         (class operator_cast): Same.
2271         (class operator_logical_and): Same.
2272         (class operator_bitwise_and): Same.
2273         (class operator_logical_or): Same.
2274         (class operator_bitwise_or): Same.
2275         (class operator_bitwise_xor): Same.
2276         (class operator_trunc_mod): Same.
2277         (class operator_logical_not): Same.
2278         (class operator_bitwise_not): Same.
2279         (class operator_cst): Same.
2280         (class operator_identity): Same.
2281         (class operator_unknown): Same.
2282         (class operator_abs): Same.
2283         (class operator_negate): Same.
2284         (class operator_addr_expr): Same.
2285         (class pointer_or_operator): Same.
2286         (operator_plus::op1_range): Adjust for vrange.
2287         (operator_minus::op1_range): Same.
2288         (operator_mult::op1_range): Same.
2289         (operator_cast::op1_range): Same.
2290         (operator_bitwise_not::fold_range): Same.
2291         (operator_negate::fold_range): Same.
2292         (range_op_handler): Rename to...
2293         (get_handler): ...this.
2294         (range_op_handler::range_op_handler): New.
2295         (range_op_handler::fold_range): New.
2296         (range_op_handler::op1_range): New.
2297         (range_op_handler::op2_range): New.
2298         (range_op_handler::lhs_op1_relation): New.
2299         (range_op_handler::lhs_op2_relation): New.
2300         (range_op_handler::op1_op2_relation): New.
2301         (range_cast): Adjust for vrange.
2302         * range-op.h (range_op_handler): Remove function.
2303         (range_cast): Adjust for vrange.
2304         (class range_op_handler): New.
2305         (get_bool_state): Adjust for vrange.
2306         (empty_range_varying): Same.
2307         (relop_early_resolve): Same.
2308         * tree-data-ref.cc (compute_distributive_range): Same.
2309         * tree-vrp.cc (get_range_op_handler): Remove.
2310         (range_fold_binary_symbolics_p): Use range_op_handler class
2311         instead of get_range_op_handler.
2312         (range_fold_unary_symbolics_p): Same.
2313         (range_fold_binary_expr): Same.
2314         (range_fold_unary_expr): Same.
2315         * value-query.cc (range_query::get_tree_range): Adjust for vrange.
2317 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
2319         * gimple-range-fold.h (gimple_range_type): Check type before
2320         calling supports_type_p.
2321         * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
2322         * value-query.cc (range_query::get_tree_range): Same.
2323         * value-range.cc (Value_Range::lower_bound): New.
2324         (Value_Range::upper_bound): New.
2325         (Value_Range::dump): New.
2326         * value-range.h (class Value_Range): New.
2327         (irange::supports_type_p): Do not check if type is non-zero.
2329 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
2331         * value-range-equiv.cc (value_range_equiv::set): New.
2332         * value-range-equiv.h (class value_range_equiv): Make set method
2333         virtual.
2334         Remove default bitmap argument from set method.
2335         * value-range.cc (vrange::contains_p): New.
2336         (vrange::singleton_p): New.
2337         (vrange::operator=): New.
2338         (vrange::operator==): New.
2339         (irange::fits_p): Move to .cc file.
2340         (irange::set_nonnegative): New.
2341         (unsupported_range::unsupported_range): New.
2342         (unsupported_range::set): New.
2343         (unsupported_range::type): New.
2344         (unsupported_range::set_undefined): New.
2345         (unsupported_range::set_varying): New.
2346         (unsupported_range::dump): New.
2347         (unsupported_range::union_): New.
2348         (unsupported_range::intersect): New.
2349         (unsupported_range::zero_p): New.
2350         (unsupported_range::nonzero_p): New.
2351         (unsupported_range::set_nonzero): New.
2352         (unsupported_range::set_zero): New.
2353         (unsupported_range::set_nonnegative): New.
2354         (unsupported_range::fits_p): New.
2355         (irange::set): Call irange::set_undefined.
2356         (irange::verify_range): Check discriminator field.
2357         (irange::dump): Dump [irange] marker.
2358         (irange::debug): Move to...
2359         (vrange::debug): ...here.
2360         (dump_value_range): Accept vrange.
2361         (debug): Same.
2362         * value-range.h (enum value_range_discriminator): New.
2363         (class vrange): New.
2364         (class unsupported_range): New.
2365         (struct vrange_traits): New.
2366         (is_a): New.
2367         (as_a): New.
2368         (class irange): Inherit from vrange.
2369         (dump_value_range): Adjust for vrange.
2370         (irange::kind): Rename to...
2371         (vrange::kind): ...this.
2372         (irange::varying_p): Rename to...
2373         (vrange::varying_p): ...this.
2374         (irange::undefined_p): Rename to...
2375         (vrange::undefined_p): ...this.
2376         (irange::irange): Set discriminator.
2377         (irange::union_): Convert to irange before passing to irange
2378         method.
2379         (irange::intersect): Same.
2380         (vrange::supports_type_p): New.
2381         * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
2382         NULL bitmap argument to value_range_equiv::set.
2383         (vr_values::extract_range_basic): Same.
2385 2022-06-01  Richard Biener  <rguenther@suse.de>
2387         PR tree-optimization/105763
2388         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
2389         Check gimple_range_ssa_p.
2391 2022-05-31  Jason Merrill  <jason@redhat.com>
2393         * Makefile.in (TAGS): Look at libcpp/*.cc.
2395 2022-05-31  Christophe Lyon  <christophe.lyon@arm.com>
2397         * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
2398         Prefix mode names with E_.
2400 2022-05-31  Alan Modra  <amodra@gmail.com>
2402         * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
2403         spelling of DW_AT_namelist_item.
2405 2022-05-31  Jakub Jelinek  <jakub@redhat.com>
2407         * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
2408         allow var to be private in the outer context.
2409         (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
2410         to build_outer_var_ref.
2412 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
2414         * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
2415         tieable with DImode on TARGET_64BIT, and SCmode tieable with
2416         V2SFmode, and DCmode with V2DFmode.
2418 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
2420         PR rtl-optimization/101617
2421         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
2422         special case (indicated by negate_cc_compare_p) to generate a
2423         -1/0 mask using neg;sbb.
2424         * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
2425         to generate an *x86_neg<mode>_ccc instruction.
2426         (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
2427         generate a *x86_mov<mode>cc_0_m1_neg instruction.
2429 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
2431         * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
2432         SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
2433         <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
2435 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
2437         PR target/70321
2438         * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
2439         DI mode equality/inequality using XOR here.  Instead generate a
2440         COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
2441         * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
2442         gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
2443         (general_scalar_chain::convert_compare): New function to convert
2444         scalar equality/inequality comparison into vector operations.
2445         (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
2446         new convert_compare helper method.
2447         (convertible_comparion_p): Update to match doubleword COMPARE
2448         of two register, memory or integer constant operands.
2449         * config/i386/i386-features.h (general_scalar_chain::convert_compare):
2450         Prototype/declare member function here.
2451         * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
2452         only allow new doubleword modes for EQ and NE operators.
2453         (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
2454         doubleword comparison into a pair of XORs followed by an IOR to
2455         set the (zero) flags register, optimizing the XORs if possible.
2456         * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
2457         iterator; V_AVX is (currently) only used by ptest.
2458         (sse4_1 mode attribute): Update to support V1TI and V2TI.
2460 2022-05-30  Uroš Bizjak  <ubizjak@gmail.com>
2462         * config/i386/i386.md: Remove constraints when used with
2463         const_int_operand, const0_operand, const_1_operand, constm1_operand,
2464         const8_operand, const128_operand, const248_operand, const123_operand,
2465         const2367_operand, const1248_operand, const359_operand,
2466         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
2467         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
2468         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
2469         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
2470         const_0_to_255_mul_8_operand, const_1_to_31_operand,
2471         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
2472         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
2473         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
2474         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
2475         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
2476         const_24_to_27_operand and const_28_to_31_operand.
2477         * config/i386/mmx.md: Ditto.
2478         * config/i386/sse.md: Ditto.
2479         * config/i386/subst.md: Ditto.
2480         * config/i386/sync.md: Ditto.
2482 2022-05-30  Jan Beulich  <jbeulich@suse.com>
2484         * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
2485         arguments.
2487 2022-05-30  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
2489         * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
2491 2022-05-29  Iain Sandoe  <iain@sandoe.co.uk>
2493         PR target/105599
2494         * config/darwin.h: Move versions-specific handling of multiply_defined
2495         from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
2497 2022-05-29  Eric Gallager  <egallager@gcc.gnu.org>
2499         PR other/82383
2500         * doc/sourcebuild.texi: Add entries for the c++tools,
2501         gotools, libbacktrace, libcc1, libcody, liboffloadmic,
2502         and libsanitizer directories. Remove entry for boehm-gc.
2503         Fix alphabetization for libquadmath.
2505 2022-05-28  Joel Holdsworth  <jholdsworth@nvidia.com>
2507         * config/avr/avr-mcus.def: Add device definitions.
2508         * doc/avr-mmcu.texi: Corresponding changes.
2509         * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
2510         device prefix.
2511         * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
2512         from leaking into cc1.
2514 2022-05-28  Vladimir Makarov  <vmakarov@gcc.gnu.org>
2516         PR target/103722
2517         * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
2518         is special) for various scenarios.
2520 2022-05-28  Iain Sandoe  <iain@sandoe.co.uk>
2522         * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
2523         describing this macro.
2525 2022-05-27  Richard Biener  <rguenther@suse.de>
2527         * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
2529 2022-05-27  Martin Jambor  <mjambor@suse.cz>
2531         PR ipa/105639
2532         * ipa-prop.cc (propagate_controlled_uses): Check type of the
2533         constant before adding a LOAD reference.
2535 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
2537         * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
2538         to OMP_CLAUSE_ENTER.
2539         * tree.h (OMP_CLAUSE_ENTER_TO): Define.
2540         * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
2541         OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
2542         * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
2543         instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
2544         "to" instead of "enter".
2545         * tree-nested.cc (convert_nonlocal_omp_clauses,
2546         convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
2547         OMP_CLAUSE_TO_DECLARE.
2549 2022-05-27  Richard Biener  <rguenther@suse.de>
2551         PR tree-optimization/105726
2552         * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
2553         Constrain array-of-flexarray case more.
2555 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
2557         PR sanitizer/105729
2558         * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
2559         to (X &) z + w if -fsanitize=null during GENERIC folding.
2561 2022-05-27  Roger Sayle  <roger@nextmovesoftware.com>
2563         * match.pd (match_zero_one_valued_p): New predicate.
2564         (mult @0 @1): Use zero_one_valued_p for optimization to the
2565         expression "bit_and @0 @1".
2566         (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
2567         (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
2568         (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
2569         (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
2570         Remove three redundant transforms obsoleted by the three above.
2572 2022-05-27  Roger Sayle  <roger@nextmovesoftware.com>
2574         * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
2575         to split a combined "and;cmp" sequence into "not;test".
2577 2022-05-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
2579         * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
2580         (bswapsi2_internal): Revise the template and condition, and add
2581         detection code for preceding the same insn in order to omit a
2582         "SSAI 8" instruction of the latter.
2583         (bswapdi2): Suppress built-in insn expansion with the corresponding
2584         library call when optimizing for size.
2586 2022-05-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
2588         * config/xtensa/xtensa-protos.h
2589         (xtensa_expand_block_set_unrolled_loop,
2590         xtensa_expand_block_set_small_loop): New prototypes.
2591         * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
2592         xtensa_expand_block_set_unrolled_loop,
2593         xtensa_expand_block_set_small_loop): New functions.
2594         * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
2595         * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
2597 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
2599         * config/xtensa/xtensa.cc (xtensa_expand_block_move):
2600         Make instruction counting more accurate, and simplify emitting insns.
2602 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
2604         * config/xtensa/constraints.md (M, O): Use the macro.
2605         * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
2606         sext_fldsz_operand): Ditto.
2607         * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
2608         xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
2609         xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
2610         xtensa_expand_prologue): Ditto.
2611         * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
2613 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
2615         * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
2616         * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
2617         Ditto.
2619 2022-05-25  Andrew MacLeod  <amacleod@redhat.com>
2621         * gimple-range-cache.cc: Adjust comments.
2622         * gimple-range-infer.cc: Adjust comments.
2623         * gimple-range-infer.h: Adjust comments.
2624         * gimple-range.cc: Adjust comments.
2626 2022-05-25  Andrew MacLeod  <amacleod@redhat.com>
2628         * Makefile.in (OBJS): Use gimple-range-infer.o.
2629         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
2630         (ranger_cache::range_from_dom): Rename var side_effect to infer.
2631         (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
2632         * gimple-range-cache.h: Include gimple-range-infer.h.
2633         (class ranger_cache): Adjust prototypes, use infer_range_manager.
2634         * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
2635         (gimple_infer_range::*): Rename from stmt_side_effects.
2636         (infer_range_manager::*): Rename from side_effect_manager.
2637         * gimple-range-side-effect.cc: Rename.
2638         * gimple-range-side-effect.h: Rename.
2639         * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
2640         (class gimple_infer_range): Rename from stmt_side_effects.
2641         (class infer_range_manager): Rename from side_effect_manager.
2642         * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
2643         from register_side_effects.
2644         * gimple-range.h (register_inferred_ranges): Adjust prototype.
2645         * range-op.h: Adjust comment.
2646         * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
2647         (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
2649 2022-05-25  Simon Cook  <simon.cook@embecosm.com>
2651         * config/riscv/arch-canonicalize: Only add mafd extension if
2652         base was rv32/rv64g.
2654 2022-05-25  Tobias Burnus  <tobias@codesourcery.com>
2656         * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
2658 2022-05-25  Jakub Jelinek  <jakub@redhat.com>
2660         PR sanitizer/105714
2661         * asan.cc (has_stmt_been_instrumented_p): For assignments which
2662         are both stores and loads, return true only if both destination
2663         and source have been instrumented.
2665 2022-05-25  Martin Liska  <mliska@suse.cz>
2666             Richard Biener   <rguenther@suse.de>
2668         * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
2669         * params.opt (max-unswitch-level): Remove.
2670         * doc/invoke.texi (max-unswitch-level): Likewise.
2671         * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
2672         gimplified expressions.
2673         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
2674         (tree_may_unswitch_on): Rename to ...
2675         (find_unswitching_predicates_for_bb): ... this and handle
2676         switch statements.
2677         (get_predicates_for_bb): Likewise.
2678         (set_predicates_for_bb): Likewise.
2679         (init_loop_unswitch_info): Likewise.
2680         (tree_ssa_unswitch_loops): Prepare stuff before calling
2681         tree_unswitch_single_loop.
2682         (tree_unswitch_single_loop): Rework the function using
2683         pre-computed predicates and with a per original loop cost model.
2684         (merge_last): New.
2685         (add_predicate_to_path): Likewise.
2686         (find_range_for_lhs): Likewise.
2687         (simplify_using_entry_checks): Rename to ...
2688         (evaluate_control_stmt_using_entry_checks): ... this, handle
2689         switch statements and improve simplifications using ranger.
2690         (simplify_loop_version): Rework using
2691         evaluate_control_stmt_using_entry_checks.
2692         (evaluate_bbs): New.
2693         (evaluate_loop_insns_for_predicate): Likewise.
2694         (tree_unswitch_loop): Adjust to allow switch statements and
2695         pass in the edge to unswitch.
2696         (clean_up_after_unswitching): New.
2697         (pass_tree_unswitch::execute): Pass down fun.
2699 2022-05-24  Eugene Rozenfeld  <erozen@microsoft.com>
2701         * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
2702         counts for the epilog loop.
2704 2022-05-24  Martin Sebor  <msebor@redhat.com>
2705             Richard Biener  <rguenther@suse.de>
2707         PR middle-end/105604
2708         * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
2709         (get_origin_and_offset_r): Remove null handling.  Handle variable array
2710         sizes.
2711         (get_origin_and_offset): Handle null argument here.  Simplify.
2712         (alias_offset): Update comment.
2713         * pointer-query.cc (field_at_offset): Update comment.  Handle members
2714         of variable-length types.
2716 2022-05-24  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
2718         * target.def (vec_perm_const): Define new parameter op_mode and
2719         update doc.
2720         * doc/tm.texi: Regenerate.
2721         * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
2722         vec_perm_const hook to add new parameter op_mode and return false
2723         if result and operand modes do not match.
2724         * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
2725         * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
2726         * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
2727         * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
2728         * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
2729         * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
2730         * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
2731         * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
2732         * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
2733         prototype.
2734         * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
2735         (ashrv2di3): Likewise.
2736         * optabs.cc (expand_vec_perm_const): Likewise.
2737         * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
2738         * optabs-query.cc (can_vec_perm_const_p): Define new parameter
2739         op_mode and pass it to vec_perm_const hook.
2740         (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
2741         * match.pd (vec_perm X Y CST): Likewise.
2742         * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
2743         * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
2744         (vect_grouped_load_supported): Likewise.
2745         (vect_shift_permute_load_chain): Likewise.
2746         * tree-vect-generic.cc (lower_vec_perm): Likewise.
2747         * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
2748         * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
2749         * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
2750         * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
2751         (vect_transform_slp_perm_load): Likewise.
2752         (vectorizable_slp_permutation): Likewise.
2753         * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
2754         (vectorizable_bswap): Likewise.
2755         (scan_store_can_perm_p): Likewise.
2756         (vect_gen_perm_mask_checked): Likewise.
2758 2022-05-24  H.J. Lu  <hjl.tools@gmail.com>
2760         PR target/104816
2761         * config/i386/i386.opt: Remove Undocumented.
2762         * doc/invoke.texi: Document -mcet-switch.
2764 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
2766         * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
2767         * config/gcn/gcn-opts.h (enum gcn_isa): New.
2768         (TARGET_GCN3): Use enum gcn_isa.
2769         (TARGET_GCN3_PLUS): Likewise.
2770         (TARGET_GCN5): Likewise.
2771         (TARGET_GCN5_PLUS): Likewise.
2772         (TARGET_CDNA1): New.
2773         (TARGET_CDNA1_PLUS): New.
2774         (TARGET_CDNA2): New.
2775         (TARGET_CDNA2_PLUS): New.
2776         (TARGET_M0_LDS_LIMIT): New.
2777         (TARGET_PACKED_WORK_ITEMS): New.
2778         * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
2779         (gcn_option_override): Recognise CDNA ISA variants.
2780         (gcn_omp_device_kind_arch_isa): Support gfx90a.
2781         (gcn_expand_prologue): Make m0 init optional.
2782         Add support for packed work items.
2783         (output_file_start): Support gfx90a.
2784         (gcn_hsa_declare_function_name): Support gfx90a metadata.
2785         * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
2786         __CDNA2__.
2787         * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
2788         (<su>mulsi3_highpart_imm): Likewise.
2789         (<su>mulsidi3): Likewise.
2790         (<su>mulsidi3_imm): Likewise.
2791         * config/gcn/gcn.opt (gpu_type): Add gfx90a.
2792         * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
2793         (main): Support gfx90a.
2794         * config/gcn/t-gcn-hsa: Add gfx90a multilib.
2795         * config/gcn/t-omp-device: Add gfx90a isa.
2797 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
2799         * config.in: Regenerate.
2800         * config/gcn/gcn-hsa.h (X_FIJI): Delete.
2801         (X_900): Delete.
2802         (X_906): Delete.
2803         (X_908): Delete.
2804         (S_FIJI): Delete.
2805         (S_900): Delete.
2806         (S_906): Delete.
2807         (S_908): Delete.
2808         (NO_XNACK): New macro.
2809         (NO_SRAM_ECC): New macro.
2810         (SRAMOPT): Keep only v4 variant.
2811         (HSACO3_SELECT_OPT): Delete.
2812         (DRIVER_SELF_SPECS): Delete.
2813         (ASM_SPEC): Remove LLVM 9 support.
2814         * config/gcn/gcn-valu.md
2815         (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
2816         (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
2817         * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
2818         (print_operand_address): Remove assembler bug workaround.
2819         * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
2820         (EF_AMDGPU_SRAM_ECC_V3): Delete.
2821         (SET_XNACK_ON): Delete v3 variants.
2822         (SET_XNACK_OFF): Delete v3 variants.
2823         (TEST_XNACK): Delete v3 variants.
2824         (SET_SRAM_ECC_ON): Delete v3 variants.
2825         (SET_SRAM_ECC_ANY): Delete v3 variants.
2826         (SET_SRAM_ECC_OFF): Delete v3 variants.
2827         (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
2828         (TEST_SRAM_ECC_ANY): Delete v3 variants.
2829         (TEST_SRAM_ECC_ON): Delete v3 variants.
2830         (copy_early_debug_info): Remove v3 support.
2831         (main): Remove v3 support.
2832         * configure: Regenerate.
2833         * configure.ac: Replace all GCN feature checks with a version check.
2835 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
2837         * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
2838         i.e. a double word negation of a zero extended operand, to
2839         neg;sbb.
2841 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
2843         PR tree-optimization/105668
2844         * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
2845         V1TImode, just like V2DImode.
2846         * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
2847         Use VI_128 mode iterator instead of VI124_128 to include V2DI.
2848         (vcond_mask_v2div2di): Delete.
2849         (vcond_mask_v1tiv1ti): New define_expand.
2851 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
2853         * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
2854         to strncmp for strings of length one.
2856 2022-05-24  ShiYulong  <shiyulong@iscas.ac.cn>
2858         * config/riscv/predicates.md (imm5_operand): Add a new operand type for
2859         prefetch instructions.
2860         * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
2861         Extensions.
2862         (RISCV_ATYPE_SI): New.
2863         (RISCV_ATYPE_DI): New.
2864         * config/riscv/riscv-ftypes.def (0): New.
2865         (1): New.
2866         * config/riscv/riscv.md (riscv_clean_<mode>): New.
2867         (riscv_flush_<mode>): New.
2868         (riscv_inval_<mode>): New.
2869         (riscv_zero_<mode>): New.
2870         (prefetch): New.
2871         (riscv_prefetchi_<mode>): New.
2872         * config/riscv/riscv-cmo.def: New file.
2874 2022-05-24  ShiYulong  <shiyulong@iscas.ac.cn>
2876         * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
2877         * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
2878         (MASK_ZICBOM): New.
2879         (MASK_ZICBOP): New.
2880         (TARGET_ZICBOZ): New.
2881         (TARGET_ZICBOM): New.
2882         (TARGET_ZICBOP): New.
2883         * config/riscv/riscv.opt (riscv_zicmo_subext): New.
2885 2022-05-24  David Malcolm  <dmalcolm@redhat.com>
2887         * tree-vect-slp-patterns.cc: Add "final" and "override" to
2888         vect_pattern::build impls as appropriate.
2890 2022-05-24  David Malcolm  <dmalcolm@redhat.com>
2892         * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
2893         implementations, removing redundant "virtual" as appropriate.
2894         * ipa-fnsummary.h: Likewise.
2895         * ipa-modref.cc: Likewise.
2896         * ipa-param-manipulation.cc: Likewise.
2897         * ipa-profile.cc: Likewise.
2898         * ipa-prop.h: Likewise.
2899         * ipa-pure-const.cc: Likewise.
2900         * ipa-reference.cc: Likewise.
2901         * ipa-sra.cc: Likewise.
2902         * symbol-summary.h: Likewise.
2903         * symtab-thunks.cc: Likewise.
2905 2022-05-24  Martin Liska  <mliska@suse.cz>
2907         Revert:
2908         2022-05-24  Martin Liska  <mliska@suse.cz>
2910         * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
2911         warning.
2913 2022-05-24  Martin Liska  <mliska@suse.cz>
2915         * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
2916         warning.
2918 2022-05-24  Bruno Haible  <bruno@clisp.org>
2920         PR other/105527
2921         * doc/install.texi (Configuration): Add more details about --with-zstd.
2922         Document --with-zstd-include and --with-zstd-lib
2924 2022-05-24  Richard Biener  <rguenther@suse.de>
2926         PR middle-end/105711
2927         * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
2928         and use it.
2929         (extract_bit_field_1): Pass down the mode of op0 to
2930         extract_bit_field_as_subreg.
2932 2022-05-24  Vineet Gupta  <vineetg@rivosinc.com>
2934         * config/riscv/riscv.cc: (struct riscv_tune_param): Add
2935           fmv_cost.
2936         (rocket_tune_info): Add default fmv_cost 8.
2937         (sifive_7_tune_info): Ditto.
2938         (thead_c906_tune_info): Ditto.
2939         (optimize_size_tune_info): Ditto.
2940         (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
2942 2022-05-24  Jakub Jelinek  <jakub@redhat.com>
2944         PR c/105378
2945         * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
2946         builtin.
2947         * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
2948         clause but no depend clauses.
2949         * omp-expand.cc (expand_taskwait_call): Use
2950         BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
2951         BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
2953 2022-05-24  Richard Biener  <rguenther@suse.de>
2955         PR tree-optimization/100221
2956         * tree-ssa-dse.cc (contains_phi_arg): New function.
2957         (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
2959 2022-05-24  Richard Biener  <rguenther@suse.de>
2961         PR tree-optimization/105629
2962         * tree-ssa-phiopt.cc (spaceship_replacement): Allow
2963         a sign-extending conversion.
2965 2022-05-24  Kewen Lin  <linkw@linux.ibm.com>
2967         PR target/105627
2968         * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
2969         be a debug insn.
2970         (union_uses): Skip debug use_insn.
2972 2022-05-23  Vineet Gupta  <vineetg@rivosinc.com>
2974         * config/riscv/predicates.md (const_0_operand): Remove
2975         const_double.
2976         * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
2977         CONST_DOUBLE.
2978         * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
2980 2022-05-23  Mayshao  <mayshao-oc@zhaoxin.com>
2982         * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
2983         the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
2984         (cpu_indicator_init): Handle Zhaoxin processors.
2985         * common/config/i386/i386-common.cc: Add lujiazui.
2986         * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
2987         VENDOR_ZHAOXIN.
2988         (enum processor_types): Add ZHAOXIN_FAM7H.
2989         (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
2990         * config.gcc: Add lujiazui.
2991         * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
2992         Signatures for zhaoxin
2993         (signature_SHANGHAI_ecx): Ditto.
2994         (signature_SHANGHAI_edx): Ditto.
2995         * config/i386/driver-i386.cc (host_detect_local_cpu): Let
2996         -march=native recognize lujiazui processors.
2997         * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
2998         * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
2999         * config/i386/i386.h (enum processor_type): Ditto.
3000         * config/i386/i386.md: Add lujiazui.
3001         * config/i386/x86-tune-costs.h (struct processor_costs): Add
3002         lujiazui costs.
3003         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
3004         (ix86_adjust_cost): Ditto.
3005         * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
3006         (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
3007         (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
3008         (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
3009         (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
3010         (X86_TUNE_MOVX): Ditto.
3011         (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
3012         (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
3013         (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
3014         (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
3015         (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
3016         (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
3017         (X86_TUNE_USE_LEAVE): Ditto.
3018         (X86_TUNE_PUSH_MEMORY): Ditto.
3019         (X86_TUNE_LCP_STALL): Ditto.
3020         (X86_TUNE_USE_INCDEC): Ditto.
3021         (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
3022         (X86_TUNE_OPT_AGU): Ditto.
3023         (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
3024         (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
3025         (X86_TUNE_USE_SAHF): Ditto.
3026         (X86_TUNE_USE_BT): Ditto.
3027         (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
3028         (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
3029         (X86_TUNE_AVOID_MFENCE): Ditto.
3030         (X86_TUNE_EXPAND_ABS): Ditto.
3031         (X86_TUNE_USE_SIMODE_FIOP): Ditto.
3032         (X86_TUNE_USE_FFREEP): Ditto.
3033         (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
3034         (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
3035         (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
3036         (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
3037         (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
3038         * doc/extend.texi: Add details about lujiazui.
3039         * doc/invoke.texi: Add details about lujiazui.
3040         * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
3042 2022-05-23  Martin Liska  <mliska@suse.cz>
3044         * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
3046 2022-05-23  Richard Biener  <rguenther@suse.de>
3048         * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
3049         (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
3051 2022-05-23  Richard Biener  <rguenther@suse.de>
3053         * gimple-expr.cc (is_gimple_condexpr): Remove.
3054         * gimple-expr.h (is_gimple_condexpr): Likewise.
3055         * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
3056         * tree-if-conv.cc (set_bb_predicate): Likewie.
3057         (add_to_predicate_list): Likewise.
3058         (gen_phi_arg_condition): Likewise.
3059         (predicate_scalar_phi): Likewise.
3060         (predicate_statements): Likewise.
3062 2022-05-23  Richard Biener  <rguenther@suse.de>
3064         * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
3065         * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
3066         as is_gimple_val.
3067         * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
3068         * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
3069         * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
3070         Build the condition of the COND_EXPR separately.
3071         * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
3072         * tree-vect-generic.cc (expand_vector_condition): Likewise.
3073         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
3074         Likewise.
3075         * vr-values.cc (simplify_using_ranges::simplify): Likewise.
3076         * tree-vect-patterns.cc: Add comment indicating we are
3077         building invalid COND_EXPRs and why.
3078         * omp-expand.cc (expand_omp_simd): Gimplify the condition
3079         to the COND_EXPR separately.
3080         (expand_omp_atomic_cas): Note part that should be unreachable
3081         now.
3082         * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
3083         condition for valid replacements.
3084         * tree-if-conv.cc (predicate_bbs): Simulate previous
3085         re-folding of the condition in folded COND_EXPRs which
3086         is necessary because of unfolded GIMPLE_CONDs in the IL
3087         as in for example gcc.dg/fold-bopcond-1.c.
3088         * gimple-range-gori.cc (gori_compute::condexpr_adjust):
3089         Handle that the comparison is now in the def stmt of
3090         the select operand.  Required by gcc.dg/pr104526.c.
3092 2022-05-23  Tobias Burnus  <tobias@codesourcery.com>
3094         PR fortran/104949
3095         * langhooks-def.h (lhd_omp_array_size): New.
3096         (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
3097         (LANG_HOOKS_DECLS): Add it.
3098         * langhooks.cc (lhd_omp_array_size): New.
3099         * langhooks.h (struct lang_hooks_for_decls): Add hook.
3100         * omp-low.cc (scan_sharing_clauses, lower_omp_target):
3101         Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
3103 2022-05-23  Roger Sayle  <roger@nextmovesoftware.com>
3105         * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
3106         XOR/IOR case.  Account for two instructions for double-word
3107         operations.  In case of vector pandn, account for single
3108         instruction.  Likewise for integer andn with TARGET_BMI.
3109         <case NOT>: Vector NOT requires more than 1 instruction (pxor).
3110         <case NEG>: Double-word negation requires 3 instructions.
3112 2022-05-23  Tsukasa OI  <research_trasio@irq.a4lg.com>
3114         * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
3115         Fix "K" extension prefix to be placed before "J".
3116         * config/riscv/arch-canonicalize: Likewise.
3118 2022-05-23  liuhongt  <hongtao.liu@intel.com>
3120         * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
3121         <-> mask cost from 5 to 6.
3122         (icelake_cost): Ditto.
3124 2022-05-20  Wilco Dijkstra  <wilco.dijkstra@arm.com>
3126         * config/aarch64/aarch64.md
3127         (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
3128         (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
3129         (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
3130         (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
3131         (one_cmpl_<optab><mode>2): Likewise.
3132         (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
3133         (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
3134         (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
3135         (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
3136         (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
3137         (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
3138         (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
3139         (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
3140         (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
3141         (rolsi3_insn_uxtw): New pattern.
3142         * config/aarch64/iterators.md (SHIFT): Add rotate left.
3143         (SHIFT_no_rotate): Add new iterator.
3144         (SHIFT:shift): Print rotate left as ror.
3145         (is_rotl): Add test for left rotate.
3147 2022-05-20  Wilco Dijkstra  <wilco.dijkstra@arm.com>
3149         * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
3150         processing.  Add support for architectural extensions.
3151         * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
3152         AARCH64_CPU_DEFAULT_FLAGS.
3153         (TARGET_CPU_NBITS): Remove.
3154         (TARGET_CPU_MASK): Remove.
3155         * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
3156         (get_tune_cpu): Assert CPU is always valid.
3157         (get_arch): Assert architecture is always valid.
3158         (aarch64_override_options): Cleanup CPU selection code and simplify logic.
3159         (aarch64_option_restore): Remove unnecessary checks on tune.
3161 2022-05-20  David Malcolm  <dmalcolm@redhat.com>
3163         * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
3164         "FINAL" and "OVERRIDE" with "final" and "override".
3165         * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
3166         * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
3167         * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
3168         * diagnostic-path.h: Likewise.
3169         * digraph.cc: Likewise.
3170         * gcc-rich-location.h: Likewise.
3171         * gimple-array-bounds.cc: Likewise.
3172         * gimple-loop-versioning.cc: Likewise.
3173         * gimple-range-cache.cc: Likewise.
3174         * gimple-range-cache.h: Likewise.
3175         * gimple-range-fold.cc: Likewise.
3176         * gimple-range-fold.h: Likewise.
3177         * gimple-range-tests.cc: Likewise.
3178         * gimple-range.h: Likewise.
3179         * gimple-ssa-evrp.cc: Likewise.
3180         * input.cc: Likewise.
3181         * json.h: Likewise.
3182         * read-rtl-function.cc: Likewise.
3183         * tree-complex.cc: Likewise.
3184         * tree-diagnostic-path.cc: Likewise.
3185         * tree-ssa-ccp.cc: Likewise.
3186         * tree-ssa-copy.cc: Likewise.
3187         * tree-vrp.cc: Likewise.
3188         * value-query.h: Likewise.
3189         * vr-values.h: Likewise.
3191 2022-05-20  Marcel Vollweiler  <marcel@codesourcery.com>
3193         * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
3194         target_memcpy_rect_async to omp_runtime_apis array.
3196 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
3198         * doc/sourcebuild.texi (Decimal floating point attributes): Document
3199         dfp_bid effective-target.
3201 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
3203         * config/aarch64/aarch64.cc
3204         (aarch64_split_128bit_move): Handle DFP modes.
3205         (aarch64_mode_valid_for_sched_fusion_p): Likewise.
3206         (aarch64_classify_address): Likewise.
3207         (aarch64_legitimize_address_displacement): Likewise.
3208         (aarch64_reinterpret_float_as_int): Likewise.
3209         (aarch64_float_const_zero_rtx_p): Likewise.
3210         (aarch64_can_const_movi_rtx_p): Likewise.
3211         (aarch64_anchor_offset): Likewise.
3212         (aarch64_secondary_reload): Likewise.
3213         (aarch64_rtx_costs): Likewise.
3214         (aarch64_legitimate_constant_p): Likewise.
3215         (aarch64_gimplify_va_arg_expr): Likewise.
3216         (aapcs_vfp_sub_candidate): Likewise.
3217         (aarch64_vfp_is_call_or_return_candidate): Likewise.
3218         (aarch64_output_scalar_simd_mov_immediate): Likewise.
3219         (aarch64_gen_adjusted_ldpstp): Likewise.
3220         (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
3221         * config/aarch64/aarch64.md
3222         (movsf_aarch64): Use SFD iterator and rename into
3223         mov<mode>_aarch64.
3224         (movdf_aarch64): Use DFD iterator and rename into
3225         mov<mode>_aarch64.
3226         (movtf_aarch64): Use TFD iterator and rename into
3227         mov<mode>_aarch64.
3228         (split pattern for move TF mode): Use TFD iterator.
3229         * config/aarch64/iterators.md
3230         (GPF_TF_F16_MOV): Add DFP modes.
3231         (SFD, DFD, TFD): New iterators.
3232         (GPF_TF): Add DFP modes.
3233         (TX, DX, DX2): Likewise.
3235 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
3237         * configure: Regenerate.
3239 2022-05-19  Roger Sayle  <roger@nextmovesoftware.com>
3241         PR middle-end/98865
3242         * expr.cc (expand_expr_real_2) [MULT_EXPR]:  Expand X*Y as X&Y
3243         when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
3244         likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
3246 2022-05-19  Will Schmidt  <will_schmidt@vnet.ibm.com>
3248         * config/rs6000/rs6000-builtins.def: Rephrase
3249         to remove RS6000_BTC_SPECIAL from comment.
3250         * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
3251         RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
3252         RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
3253         RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
3254         RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
3255         RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
3256         RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
3257         RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
3258         RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
3259         RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
3260         RS6000_BTM_ALWAYS): Delete.
3262 2022-05-19  Richard Biener  <rguenther@suse.de>
3264         * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
3265         computation of the new value.
3267 2022-05-19  Richard Biener  <rguenther@suse.de>
3269         * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
3270         (add_to_value): Use get_expression_id.
3271         (bitmap_insert_into_set): Likewise.
3272         (bitmap_value_insert_into_set): Likewise.
3274 2022-05-19  David Malcolm  <dmalcolm@redhat.com>
3276         * doc/invoke.texi (-fanalyzer-checker=): Add
3277         -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
3278         the list of analyzer warnings disabled by
3279         -fanalyzer-checker=taint.
3281 2022-05-19  Jakub Jelinek  <jakub@redhat.com>
3283         PR debug/105630
3284         * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
3285         global vars without symtab node even when they have DECL_RTL
3286         set.
3288 2022-05-19  Jakub Jelinek  <jakub@redhat.com>
3290         PR c/105635
3291         * pointer-query.cc (gimple_parm_array_size): Return NULL if var
3292         doesn't have pointer or reference type.
3294 2022-05-18  Marek Polacek  <polacek@redhat.com>
3296         PR c/105131
3297         * doc/invoke.texi: Document -Wenum-int-mismatch.
3299 2022-05-18  Uros Bizjak  <ubizjak@gmail.com>
3301         * config/i386/gnu-user-common.h (defined): Only define
3302         TARGET_CAN_SPLIT_STACK for glibc targets.
3303         * config/i386/gnu.h (defined): Ditto.
3305 2022-05-18  Roger Sayle  <roger@nextmovesoftware.com>
3307         * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
3308         is wider than word_mode, a multiplication costs three word_mode
3309         multiplications and two word_mode additions.
3311 2022-05-18  Roger Sayle  <roger@nextmovesoftware.com>
3313         * config/i386/i386.md (define_split):  Split *andsi_1
3314         and *andn_si_ccno after reload with -Oz.
3316 2022-05-18  Frederik Harwath  <frederik@codesourcery.com>
3318         * graphite-scop-detection.cc (scop_detection::can_represent_loop):
3319         Output reason for failure to dump file.
3320         (scop_detection::harmful_loop_in_region): Likewise.
3321         (scop_detection::graphite_can_represent_expr): Likewise.
3322         (scop_detection::stmt_has_simple_data_refs_p): Likewise.
3323         (scop_detection::stmt_simple_for_scop_p): Likewise.
3324         (print_sese_loop_numbers): New function.
3325         (scop_detection::add_scop): Use from here.
3327 2022-05-18  liuhongt  <hongtao.liu@intel.com>
3329         PR middle-end/103462
3330         * match.pd (bitwise_induction_p): New match.
3331         * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
3332         Declare.
3333         (analyze_and_compute_bitwise_induction_effect): New function.
3334         (enum bit_op_kind): New enum.
3335         (final_value_replacement_loop): Enhanced to handle bitwise
3336         induction.
3338 2022-05-18  Haochen Gui  <guihaoc@gcc.gnu.org>
3340         PR target/95737
3341         * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
3343 2022-05-18  liuhongt  <hongtao.liu@intel.com>
3345         PR target/104375
3346         * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
3347         define_insn.
3349 2022-05-18  liuhongt  <hongtao.liu@intel.com>
3351         PR target/104610
3352         * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
3353         for QImode when code is EQ or NE.
3354         * config/i386/i386.md (cbranchoi4): New expander.
3356 2022-05-18  Peter Bergner  <bergner@linux.ibm.com>
3357             Segher Boessenkool  <segher@kernel.crashing.org>
3359         PR target/105556
3360         * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
3361         mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
3362         mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
3363         mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
3364         Update other operands accordingly.
3366 2022-05-17  Marek Polacek  <polacek@redhat.com>
3368         * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
3370 2022-05-17  Pat Haugen  <pthaugen@linux.ibm.com>
3372         PR target/99685
3373         * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
3374         register count when not splitting IEEE 128-bit Complex.
3376 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
3378         * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
3379         target inside target if inner is reverse offload.
3381 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
3383         * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
3384         * config/nvptx/mkoffload.cc (process): Likewise.
3386 2022-05-17  Andrew MacLeod  <amacleod@redhat.com>
3388         * Makefile.in (OBJS): Add gimple-range-side-effect.o.
3389         * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
3390         (non_null_ref::~non_null_ref): Delete.
3391         (non_null_ref::set_nonnull): Delete.
3392         (non_null_ref::non_null_deref_p): Delete.
3393         (non_null_ref::process_name): Delete.
3394         (ranger_cache::ranger_cache): Initialize m_exit object.
3395         (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
3396         (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
3397         (ranger_cache::update_to_nonnull): Delete.
3398         (non_null_loadstore): Delete.
3399         (ranger_cache::block_apply_nonnull): Delete.
3400         (ranger_cache::apply_side_effects): New.
3401         * gimple-range-cache.h (class non_null_ref): Delete.
3402         (non_null_ref::adjust_range): Delete.
3403         (class ranger_cache): Adjust prototypes, add side effect manager.
3404         * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
3405         side effect manager for queries.
3406         (path_range_query::adjust_for_non_null_uses): Ditto.
3407         * gimple-range-path.h (class path_range_query): Delete non_null_ref.
3408         * gimple-range-side-effect.cc: New.
3409         * gimple-range-side-effect.h: New.
3410         * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
3411         (gimple_ranger::range_of_expr): Check def block for override value.
3412         (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
3413         (gimple_ranger::range_on_edge): Check for outgoing side-effects.
3414         (gimple_ranger::register_side_effects): Call apply_side_effects.
3415         (enable_ranger): Update contructor.
3416         * gimple-range.h (class gimple_ranger): Update prototype.
3417         (enable_ranger): Update prototype.
3418         * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
3420 2022-05-17  Giuliano Belinassi  <gbelinassi@suse.de>
3422         PR c++/105169
3423         * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
3424         * varasm.cc (switch_to_comdat_section): New
3425         (handle_vtv_comdat_section): Call switch_to_comdat_section.
3426         * varasm.h: Declare switch_to_comdat_section.
3428 2022-05-17  Richard Biener  <rguenther@suse.de>
3430         * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
3431         not clear bb->aux of the copied blocks.
3433 2022-05-17  Andrew MacLeod  <amacleod@redhat.com>
3435         PR tree-optimization/105458
3436         * value-relation.cc (path_oracle::register_relation): Merge, then check
3437         for equivalence.
3439 2022-05-17  Uroš Bizjak  <ubizjak@gmail.com>
3441         PR target/105624
3442         Revert:
3443         * config/i386/i386.md: Remove constraints when used with
3444         const_int_operand, const0_operand, const_1_operand, constm1_operand,
3445         const8_operand, const128_operand, const248_operand, const123_operand,
3446         const2367_operand, const1248_operand, const359_operand,
3447         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
3448         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
3449         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
3450         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
3451         const_0_to_255_mul_8_operand, const_1_to_31_operand,
3452         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
3453         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
3454         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
3455         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
3456         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
3457         const_24_to_27_operand and const_28_to_31_operand.
3458         * config/i386/mmx.md: Ditto.
3459         * config/i386/sse.md: Ditto.
3460         * config/i386/subst.md: Ditto.
3461         * config/i386/sync.md: Ditto.
3463 2022-05-17  Thomas Schwinge  <thomas@codesourcery.com>
3465         * diagnostic.cc: Don't advise to call 'abort' instead of
3466         'internal_error'.
3467         * system.h: Advise to call 'internal_error' instead of 'abort' or
3468         'fancy_abort'.
3470 2022-05-17  Frederik Harwath  <frederik@codesourcery.com>
3472         * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
3473         a reference to a variable which does not exist.
3474         * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
3475         in comment.
3477 2022-05-17  Frederik Harwath  <frederik@codesourcery.com>
3479         * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
3480         (isl_id_for_parameter): ... this new function name.
3481         (build_scop_context): Adjust function use.
3483 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
3485         PR target/105602
3486         * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
3487         * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
3489 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
3491         * tree-core.h (enum omp_clause_depend_kind): Add
3492         OMP_CLAUSE_DEPEND_INOUTSET.
3493         * tree-pretty-print.cc (dump_omp_clause): Handle
3494         OMP_CLAUSE_DEPEND_INOUTSET.
3495         * gimplify.cc (gimplify_omp_depend): Likewise.
3496         * omp-low.cc (lower_depend_clauses): Likewise.
3498 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
3500         PR target/105613
3501         * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
3502         andv4si3 only for EQ, for NE use iorv4si3 instead.
3504 2022-05-17  Richard Biener  <rguenther@suse.de>
3506         PR tree-optimization/105618
3507         * tree-ssa-sink.cc (statement_sink_location): For virtual
3508         PHI uses ignore those defining the used virtual operand.
3510 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
3512         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
3513         hanlde -> handle.  Fix up comment formatting.
3515 2022-05-17  liuhongt  <hongtao.liu@intel.com>
3517         PR target/105033
3518         * config/i386/sse.md (*vec_concatv4si): Extend to ..
3519         (*vec_concat<mode>): .. V16QI and V8HImode.
3520         (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
3521         (*vec_concatv8hi_permt2): Ditto.
3523 2022-05-17  liuhongt  <hongtao.liu@intel.com>
3525         PR tree-optimization/105591
3526         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
3527         vec_perm_expr index.
3529 2022-05-16  Jason Merrill  <jason@redhat.com>
3531         PR c/105492
3532         * attribs.cc (decl_attributes): Fix broken typedefs here.
3534 2022-05-16  David Malcolm  <dmalcolm@redhat.com>
3536         PR analyzer/105103
3537         * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
3538         * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
3539         -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
3540         -Wanalyzer-va-list-use-after-va-end.
3542 2022-05-16  Richard Biener  <rguenther@suse.de>
3544         * gimple-match.h (gimple_build): Move code_helper overloads ...
3545         * gimple-fold.h (gimple_build): ... here.
3546         (gimple_build): Transition to new worker API.  Provide
3547         overloads from sequence-based API.
3548         (gimple_convert): Likewise.
3549         (gimple_convert_to_ptrofftype): Likewise.
3550         (gimple_build_vector_from_val): Likewise.
3551         (gimple_build_vector): Likewise.
3552         (gimple_build_round_up): Likewise.
3553         * gimple-fold.cc (gimple_build_insert_seq): New helper.
3554         (gimple_build): Use it.  Transition combined_fn and code_helper
3555         API parts.
3556         (gimple_convert): Transition to new worker API.
3557         (gimple_convert_to_ptrofftype): Likewise.
3558         (gimple_build_vector_from_val): Likewise.
3559         (gimple_build_vector): Likewise.
3560         (gimple_build_round_up): Likewise.
3562 2022-05-16  Richard Biener  <rguenther@suse.de>
3564         * gimple-match.h (code_helper): Move class ...
3565         * tree.h (code_helper): ... here.
3567 2022-05-16  Martin Liska  <mliska@suse.cz>
3569         * opts-global.cc (write_langs): Add comment.
3571 2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
3573         * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
3574         instead of a bitwise negation.
3575         <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
3577 2022-05-16  Martin Liska  <mliska@suse.cz>
3579         * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
3580         (decls_mismatched_attributes): Likewise.
3581         * builtins.cc (c_strlen): Likewise.
3582         * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
3583         * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
3584         * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
3585         (aarch64_init_simd_builtin_types): Likewise.
3586         (aarch64_init_builtin_rsqrt): Likewise.
3587         * config/aarch64/aarch64.cc (is_madd_op): Likewise.
3588         * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
3589         (arm_init_simd_builtin_types): Likewise.
3590         * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
3591         (c_prefix): Likewise.
3592         (main): Likewise.
3593         * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
3594         * config/darwin-c.cc (darwin_register_frameworks): Likewise.
3595         * config/gcn/mkoffload.cc (process_obj): Likewise.
3596         * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
3597         (fold_builtin_cpu): Likewise.
3598         * config/m32c/m32c.cc (PUSHM_N): Likewise.
3599         * config/nvptx/mkoffload.cc (process): Likewise.
3600         * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
3601         * config/s390/s390.cc (NR_C_MODES): Likewise.
3602         * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
3603         (create_insn_code_compression_table): Likewise.
3604         * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
3605         * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
3606         * dwarf2out.cc (ARRAY_SIZE): Likewise.
3607         * genhooks.cc (emit_documentation): Likewise.
3608         (emit_init_macros): Likewise.
3609         * gimple-ssa-sprintf.cc (format_floating): Likewise.
3610         * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
3611         * godump.cc (keyword_hash_init): Likewise.
3612         * hash-table.cc (hash_table_higher_prime_index): Likewise.
3613         * input.cc (for_each_line_table_case): Likewise.
3614         * ipa-free-lang-data.cc (free_lang_data): Likewise.
3615         * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
3616         * optc-save-gen.awk: Likewise.
3617         * spellcheck.cc (test_metric_conditions): Likewise.
3618         * tree-vect-slp-patterns.cc (sizeof): Likewise.
3619         (ARRAY_SIZE): Likewise.
3620         * tree.cc (build_common_tree_nodes): Likewise.
3622 2022-05-16  Martin Liska  <mliska@suse.cz>
3624         * opts-global.cc (write_langs): Allocate at least one byte.
3626 2022-05-16  Richard Biener  <rguenther@suse.de>
3628         * match.pd (A cmp B ? A : B -> min/max): New patterns
3629         carried over from fold_cond_expr_with_comparison.
3631 2022-05-16  liuhongt  <hongtao.liu@intel.com>
3633         PR target/105587
3634         * config/i386/i386-expand.cc
3635         (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
3636         d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
3638 2022-05-15  Uroš Bizjak  <ubizjak@gmail.com>
3640         * config/i386/i386.md: Remove constraints when used with
3641         const_int_operand, const0_operand, const_1_operand, constm1_operand,
3642         const8_operand, const128_operand, const248_operand, const123_operand,
3643         const2367_operand, const1248_operand, const359_operand,
3644         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
3645         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
3646         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
3647         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
3648         const_0_to_255_mul_8_operand, const_1_to_31_operand,
3649         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
3650         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
3651         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
3652         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
3653         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
3654         const_24_to_27_operand and const_28_to_31_operand.
3655         * config/i386/mmx.md: Ditto.
3656         * config/i386/sse.md: Ditto.
3657         * config/i386/subst.md: Ditto.
3658         * config/i386/sync.md: Ditto.
3660 2022-05-13  Roger Sayle  <roger@nextmovesoftware.com>
3661             Uroš Bizjak  <ubizjak@gmail.com>
3663         * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
3664         For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
3665         by a pshufd and pand.
3666         (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
3667         vector equality as a V2DImode vector comparison (see above),
3668         followed by a pshufd and pand.
3670 2022-05-13  Roger Sayle  <roger@nextmovesoftware.com>
3672         PR tree-optimization/83907
3673         * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
3674         for memset with an constant char value.
3675         (handle_store): Improved handling of stores with a first byte
3676         of zero, but not storing_all_zeros_p.
3678 2022-05-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3679             Manolis Tsamis  <manolis.tsamis@vrull.eu>
3681         * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
3682         (CTZ_DEFINED_VALUE_AT_ZERO): Same.
3683         * doc/sourcebuild.texi: add documentation for RISC-V specific
3684         test target keywords
3686 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3688         PR tree-optimization/105597
3689         * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
3690         of the lhs and make sure it is not undefined.
3692 2022-05-13  Sebastian Pop  <spop@amazon.com>
3694         PR target/105162
3695         * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
3696         of str array.
3697         * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
3698         memmodel_from_int and handle MEMMODEL_SYNC_*.
3699         (DEF0): Add __aarch64_*_sync functions.
3701 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3703         * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
3704         enumerated values.
3705         * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
3706         * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
3707         new VREL enumerated values.
3708         (*::lhs_op2_relation): Ditto.
3709         (*::op1_op2_relation): Ditto.
3710         (*::fold_range): Use new VREL enumerated values.
3711         (minus_op1_op2_relation_effect): Ditto.
3712         (range_relational_tests): Ditto.
3713         * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
3714         (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
3715         relation_kind.
3716         (*_op1_op2_relation): Return relation_kind.
3717         (relop_early_resolve): Use VREL_UNDEFINED.
3718         * value-query.cc (range_query::query_relation): Use VREL_VARYING.
3719         * value-relation.cc (VREL_LAST): Change enumerated value.
3720         (vrel_range_assert): Delete.
3721         (print_relation): Remove range assert.
3722         (rr_negate_table): Adjust table to use new enumerated values..
3723         (relation_negate): Remove range assert.
3724         (rr_swap_table): Adjust.
3725         (relation_swap): Remove range assert.
3726         (rr_intersect_table): Adjust.
3727         (relation_intersect): Remove range assert.
3728         (rr_union_table): Adjust.
3729         (relation_union): Remove range assert.
3730         (rr_transitive_table): Adjust.
3731         (relation_transitive): Remove range assert.
3732         (equiv_oracle::query_relation): Use new VREL enumerated values.
3733         (equiv_oracle::register_relation): Ditto.
3734         (relation_oracle::register_stmt): Ditto.
3735         (dom_oracle::set_one_relation): Ditto.
3736         (dom_oracle::register_transitives): Ditto.
3737         (dom_oracle::query_relation): Ditto.
3738         (path_oracle::register_relation): Ditto.
3739         (path_oracle::query_relation): Ditto.
3740         * value-relation.h (enum relation_kind_t): New relation_kind.
3741         (*_op1_op2_relation): Adjust prototypes.
3743 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3745         * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
3746         * value-range.cc (irange::legacy_verbose_union_): Add return value.
3747         (irange::irange_single_pair_union): New.
3748         (irange::irange_union): Add return value.
3749         * value-range.h (class irange): Adjust prototypes.
3751 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3753         * value-range.cc (irange::legacy_verbose_intersect): Add return value.
3754         (irange::irange_contains_p): New.
3755         (irange::irange_intersect): Add return value.
3756         * value-range.h (class irange): Adjust prototypes.
3758 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3760         * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
3761         had_global value instead.
3763 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3765         PR tree-optimization/104547
3766         * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
3767         the op1/op2 relation to the relation call.
3768         * range-op.cc (*::lhs_op1_relation): Add param.
3769         (*::lhs_op2_relation): Ditto.
3770         (operator_minus::lhs_op1_relation): New.
3771         (range_relational_tests): Add relation param.
3772         * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
3774 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3776         * gimple-range.cc (gimple_ranger::register_side_effects): First check
3777         if the DEF should be exported as a global.
3778         * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
3779         which will export globals.
3780         (execute_ranger_vrp): Remove call to export_global_ranges.
3782 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3784         * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
3786 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3788         * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
3789         worlist truncated.
3790         (ranger_cache::entry_range): Add rfd_mode parameter.
3791         (ranger_cache::exit_range): Ditto.
3792         (ranger_cache::edge_range): New.  Incorporate from range_on_edge.
3793         (ranger_cache::range_of_expr): Adjust call to entry_range.
3794         (ranger_cache::range_on_edge): Split to edge_range and call.
3795         (ranger_cache::fill_block_cache): Always invoke range_from_dom.
3796         (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
3797         mutiple predecessors.
3798         (ranger_cache::update_to_nonnull): Adjust call to exit_range.
3799         * gimple-range-cache.h (ranger_cache): Add enum rfd_mode.  Adjust
3800         prototypes.
3802 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
3804         * gimple-harden-conditionals.cc: Include sbitmap.h.
3805         (pass_harden_conditional_branches::execute): Skip new blocks.
3806         (pass_harden_compares::execute): Likewise.
3808 2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
3810         PR target/105463
3811         * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
3812         mve_memory_operand.
3813         (*movmisalign<mode>_mve_load): Likewise.
3814         * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
3815         form...
3816         (@movmisalign<mode>): ... thus.  Use generic predicates and then
3817         rework operands if they are not valid.  For MVE rework to a
3818         narrower element size if the alignment is not high enough.
3820 2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
3822         * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
3823         when there is no write-back.  Fix use when strict is true.
3825 2022-05-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
3827         * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
3828         definition.
3830 2022-05-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
3832         * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
3833         extzvsi_internal): Rename from extv, extv_internal, extzv and
3834         extzv_internal, respectively.
3836 2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>
3838         * tree-sra.cc (sra_modify_assign): Check that scalar storage order
3839         is the same on the LHS and RHS before rewriting one with the model
3840         of the other.
3842 2022-05-13  Richard Biener  <rguenther@suse.de>
3844         * gimple-fold.cc (gimple_build): Adjust for new
3845         main API.
3846         * gimple-fold.h (gimple_build): New main APIs with
3847         iterator, insert direction and iterator update.
3848         (gimple_build): New forwarder template.
3849         (clear_padding_type_may_have_padding_p): Remove.
3850         (clear_type_padding_in_mask): Likewise.
3851         (arith_overflowed_p): Likewise.
3852         * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
3853         (clear_type_padding_in_mask): Likewise.
3854         (arith_overflowed_p): Likewise.
3855         * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
3856         (gimplify_build2): Likewise.
3857         (gimplify_build1): Likewise.
3858         * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
3859         compare stmt.
3860         * gengtype.cc (open_base_files): Re-order includes.
3861         * builtins.cc: Re-order gimple-fold.h include.
3862         * calls.cc: Likewise.
3863         * cgraphbuild.cc: Likewise.
3864         * cgraphunit.cc: Likewise.
3865         * config/rs6000/rs6000-builtin.cc: Likewise.
3866         * config/rs6000/rs6000-call.cc: Likewise.
3867         * config/rs6000/rs6000.cc: Likewise.
3868         * config/s390/s390.cc: Likewise.
3869         * expr.cc: Likewise.
3870         * fold-const.cc: Likewise.
3871         * function-tests.cc: Likewise.
3872         * gimple-match-head.cc: Likewise.
3873         * gimple-range-fold.cc: Likewise.
3874         * gimple-ssa-evrp-analyze.cc: Likewise.
3875         * gimple-ssa-evrp.cc: Likewise.
3876         * gimple-ssa-sprintf.cc: Likewise.
3877         * gimple-ssa-warn-access.cc: Likewise.
3878         * gimplify.cc: Likewise.
3879         * graphite-isl-ast-to-gimple.cc: Likewise.
3880         * ipa-cp.cc: Likewise.
3881         * ipa-devirt.cc: Likewise.
3882         * ipa-prop.cc: Likewise.
3883         * omp-low.cc: Likewise.
3884         * pointer-query.cc: Likewise.
3885         * range-op.cc: Likewise.
3886         * tree-cfg.cc: Likewise.
3887         * tree-if-conv.cc: Likewise.
3888         * tree-inline.cc: Likewise.
3889         * tree-object-size.cc: Likewise.
3890         * tree-ssa-ccp.cc: Likewise.
3891         * tree-ssa-dom.cc: Likewise.
3892         * tree-ssa-forwprop.cc: Likewise.
3893         * tree-ssa-ifcombine.cc: Likewise.
3894         * tree-ssa-loop-ivcanon.cc: Likewise.
3895         * tree-ssa-math-opts.cc: Likewise.
3896         * tree-ssa-pre.cc: Likewise.
3897         * tree-ssa-propagate.cc: Likewise.
3898         * tree-ssa-reassoc.cc: Likewise.
3899         * tree-ssa-sccvn.cc: Likewise.
3900         * tree-ssa-strlen.cc: Likewise.
3901         * tree-ssa.cc: Likewise.
3902         * value-pointer-equiv.cc: Likewise.
3903         * vr-values.cc: Likewise.
3905 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
3907         PR rtl-optimization/105455
3908         * gimple-harden-conditionals.cc (insert_check_and_trap): Set
3909         probabilities for newly-conditional edges.
3911 2022-05-13  liuhongt  <hongtao.liu@intel.com>
3913         PR tree-optimization/102583
3914         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
3915         contiguous stride in the VEC_PERM_EXPR.
3917 2022-05-12  Richard Biener  <rguenther@suse.de>
3919         PR rtl-optimization/105577
3920         * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
3921         edges before running fast DCE via df_analyze.
3923 2022-05-12  Richard Biener  <rguenther@suse.de>
3925         PR tree-optimization/105562
3926         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
3927         against all CLOBBER defs if there's not an obvious must-alias
3928         and we are not doing redundant store elimination.
3929         (vn_walk_cb_data::redundant_store_removal_p): New field.
3930         (vn_reference_lookup_pieces): Initialize it.
3931         (vn_reference_lookup): Add argument to specify if we are
3932         doing redundant store removal.
3933         (eliminate_dom_walker::eliminate_stmt): Specify we do.
3934         * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
3936 2022-05-12  Haochen Jiang  <haochen.jiang@intel.com>
3938         PR target/104371
3939         * config/i386/sse.md (vi1avx2const): New define_mode_attr.
3940         (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
3941         New define_split pattern.
3943 2022-05-12  Jakub Jelinek  <jakub@redhat.com>
3945         * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
3946         if null_pointer_node.
3947         (gimplify_scan_omp_clauses): Likewise.
3948         * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
3949         as omp_all_memory.
3951 2022-05-11  Patrick Palka  <ppalka@redhat.com>
3953         * tree.h (TREE_VEC_BEGIN): Define.
3954         (TREE_VEC_END): Correct 'length' member access.
3955         (class tree_vec_range): Define.
3957 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
3959         * config/rs6000/rs6000.md: Use wa instead of <Fv>.
3961 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
3963         * config/rs6000/rs6000.md: Use d instead of <Ff>.
3965 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
3967         * config/rs6000/constraints.md (register_constraint "f"): Use
3968         RS6000_CONSTRAINT_d.
3969         * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
3970         RS6000_CONSTRAINT_f.
3971         (rs6000_init_hard_regno_mode_ok): Ditto.  Reorder and simplify a bit.
3972         * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
3973         RS6000_CONSTRAINT_d.
3975 2022-05-11  Richard Biener  <rguenther@suse.de>
3977         * gimple-fold.h (gimple_build): Use variadic template
3978         functions for the gimple_build API forwarders without
3979         location_t argument.
3981 2022-05-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3983         PR middle-end/70090
3984         * asan.cc (initialize_sanitizer_builtins): Register
3985         __builtin_dynamic_object_size if necessary.
3987 2022-05-11  Richard Biener  <rguenther@suse.de>
3989         PR rtl-optimization/105559
3990         * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
3991         for non-debug insns.
3993 2022-05-11  Richard Biener  <rguenther@suse.de>
3995         * generic-match-head.cc: Include tree-eh.h.
3996         * match.pd ((cond ...) cmp X): New simplification inspired
3997         by fold_binary_op_with_conditional_arg.
3998         (eq/ne (cmp ...) true/false): Likewise.
4000 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
4002         * doc/install.texi: Don't document '--with-hsa-runtime',
4003         '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
4005 2022-05-11  Martin Liska  <mliska@suse.cz>
4007         PR other/105527
4008         * doc/install.texi: Document the configure option --with-zstd.
4010 2022-05-11  Martin Liska  <mliska@suse.cz>
4012         * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
4013         compute index in cpu_features2.
4014         (set_cpu_feature): Likewise.
4015         * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
4016         loop for cpu_features2 and use NOP_EXPRs.
4018 2022-05-11  Richard Biener  <rguenther@suse.de>
4020         PR bootstrap/105551
4021         * opts.cc (finish_options): Also disable var-tracking if
4022         !DWARF2_DEBUGGING_INFO.
4024 2022-05-11  liuhongt  <hongtao.liu@intel.com>
4026         PR target/104915
4027         * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
4028         pre_reload define_insn_and_split.
4029         (*vec_setv2di_0_zero_extendhi_1): Ditto.
4030         (*vec_set<mode>_0_zero_extendsi): Ditto.
4031         (*vec_setv2di_0_zero_extendsi_1): Ditto.
4032         (ssewvecmode): New mode attr.
4033         (ssewvecmodelower): Ditto.
4034         (ssepackmodelower): Ditto.
4036 2022-05-11  Kewen Lin  <linkw@linux.ibm.com>
4038         * config/rs6000/constraints.md (register constraint v): Use
4039         rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
4041 2022-05-11  Martin Liska  <mliska@suse.cz>
4043         PR target/105355
4044         * config/riscv/riscv.opt: Remove Separate from
4045         -msmall-data-limit=.
4046         * optc-gen.awk: Report error for the described situation.
4047         * gcc.cc: Use Separate syntax.
4048         * opts.cc (gen_command_line_string): Change option name.
4050 2022-05-11  Haochen Gui  <guihaoc@gcc.gnu.org>
4052         PR target/105414
4053         * match.pd (minmax): Skip constant folding for fmin/fmax when both
4054         arguments are sNaN or one is sNaN and another is NaN.
4056 2022-05-10  Jakub Jelinek  <jakub@redhat.com>
4058         PR tree-optimization/105528
4059         * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
4060         set *gsi to gsi_for_stmt (ass_stmt).  Fix up function comment.
4062 2022-05-10  Segher Boessenkool  <segher@kernel.crashing.org>
4064         * doc/md.texi (Defining Mode Iterators): Correct example replacement
4065         text.
4067 2022-05-10  Maciej W. Rozycki  <macro@embecosm.com>
4069         * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
4070         constants.
4071         (fmin<mode>3, fmax<mode>3): New insns.
4073 2022-05-10  Richard Biener  <rguenther@suse.de>
4075         * tree-if-conv.cc (fold_build_cond_expr): Use
4076         match-and-simplify to simplify the condition.
4077         (ifcvt_follow_ssa_use_edges): Remove.
4078         (predicate_scalar_phi): Use follow_all_ssa_edges.
4080 2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
4082         PR middle-end/100400
4083         * omp-oacc-kernels-decompose.cc
4084         (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
4085         call 'internal_error'.
4087 2022-05-10  Richard Biener  <rguenther@suse.de>
4089         PR middle-end/105537
4090         * toplev.cc (process_options): Move flag_var_tracking
4091         handling ...
4092         * opts.cc (finish_options): ... here.
4094 2022-05-10  Martin Liska  <mliska@suse.cz>
4096         * basic-block.h (struct basic_block_d): Use void *
4097         instead PTR.
4098         * cfgloop.h: Likewise.
4099         * cgraph.h: Likewise.
4100         * gengtype-state.cc (state_ident_by_name): Likewise.
4101         (record_type): Likewise.
4102         (read_state_already_seen_type): Likewise.
4103         * gengtype.cc (dump_type): Likewise.
4104         (input_file_by_name): Likewise.
4105         (main): Likewise.
4106         * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
4107         * ipa-utils.h (struct ipa_dfs_info): Likewise.
4108         * plugin.cc (htab_hash_plugin): Likewise.
4110 2022-05-10  Richard Biener  <rguenther@suse.de>
4112         * flags.h (dwarf_debuginfo_p): Add opts argument, guard
4113         API with !GENERATOR_FILE.
4114         * opts.cc (global_options): Poison.
4115         (global_options_set): Likewise.
4116         (finish_options): Refer to options via opts.
4118 2022-05-10  Uroš Bizjak  <ubizjak@gmail.com>
4119             Roger Sayle  <roger@nextmovesoftware.com>
4121         * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
4122         alternative when optimizing for size and the immediate operand is
4123         const_0_to_127_operand.
4124         (*andqi_2_maybe_si): Likewise.
4125         * config/i386/predicates.md (const_0_to_127_operand): New predicate.
4127 2022-05-10  Roger Sayle  <roger@nextmovesoftware.com>
4129         * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
4130         "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
4131         can't be negative.
4133 2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
4135         PR target/105292
4136         * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
4137         true only for 8-byte vector modes.
4139 2022-05-10  Siddhesh Poyarekar  <siddhesh@gotplt.org>
4141         PR middle-end/70090
4142         * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
4143         (instrument_object_size): Get dynamic object size expression.
4145 2022-05-10  Jiufu Guo  <guojiufu@linux.ibm.com>
4147         PR preprocessor/101168
4148         * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
4149         Avoid empty identifier.
4151 2022-05-09  Qing Zhao  <qing.zhao@oracle.com>
4153         PR target/101891
4154         * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
4155         as a generic MMX mode instead of V4HImode.
4156         (zero_all_mm_registers): Use SET to zero instead of MOV for
4157         zeroing scratch registers.
4158         (ix86_zero_call_used_regs): Likewise.
4160 2022-05-09  liuhongt  <hongtao.liu@intel.com>
4162         PR target/105354
4163         * config/i386/i386-expand.cc
4164         (expand_vec_perm_pslldq_psrldq_por): New function.
4165         (ix86_expand_vec_perm_const_1): Try
4166         expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
4167         4/5-instruction sequence.
4169 2022-05-09  Martin Liška  <mliska@suse.cz>
4171         * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
4172         * system.h (STATIC_ASSERT): Define as static_assert for C++
4173         and fallback to array index in C.
4175 2022-05-09  Richard Biener  <rguenther@suse.de>
4177         PR tree-optimization/105517
4178         * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
4179         offset can be represented in the POINTER_PLUS_EXPR IL.
4180         (vn_reference_insert): Likewise.
4181         * poly-int.h (sext_hwi): Add poly version of sext_hwi.
4183 2022-05-09  Richard Biener  <rguenther@suse.de>
4185         * match.pd: Remove #if GIMPLE guards around ! using patterns.
4187 2022-05-09  liuhongt  <hongtao.liu@intel.com>
4189         PR target/105072
4190         * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
4191         New define_insn.
4192         (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
4193         define_insn_and_split.
4195 2022-05-09  Alex Coplan  <alex.coplan@arm.com>
4197         * cgraph.cc (cgraph_node::get_create): Don't dump if the current
4198         symtab state is PARSING.
4200 2022-05-09  Martin Liska  <mliska@suse.cz>
4202         * system.h (LIKELY): Define.
4203         (UNLIKELY): Likewise.
4204         * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
4205         macros.
4206         * dse.cc (set_position_unneeded): Likewise.
4207         (set_all_positions_unneeded): Likewise.
4208         (any_positions_needed_p): Likewise.
4209         (all_positions_needed_p): Likewise.
4210         * expmed.cc (flip_storage_order): Likewise.
4211         * genmatch.cc (dt_simplify::gen_1): Likewise.
4212         * ggc-common.cc (gt_pch_save): Likewise.
4213         * print-rtl.cc: Likewise.
4214         * rtl-iter.h (T>::array_type::~array_type): Likewise.
4215         (T>::next): Likewise.
4216         * rtl-ssa/internals.inl: Likewise.
4217         * rtl-ssa/member-fns.inl: Likewise.
4218         * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
4219         (rtx_properties::try_to_add_dest): Likewise.
4220         * rtlanal.h (growing_rtx_properties::repeat): Likewise.
4221         (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
4222         * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
4223         * sort.cc (likely): Likewise.
4224         (mergesort): Likewise.
4225         * wide-int.h (wi::eq_p): Likewise.
4226         (wi::ltu_p): Likewise.
4227         (wi::cmpu): Likewise.
4228         (wi::bit_and): Likewise.
4229         (wi::bit_and_not): Likewise.
4230         (wi::bit_or): Likewise.
4231         (wi::bit_or_not): Likewise.
4232         (wi::bit_xor): Likewise.
4233         (wi::add): Likewise.
4234         (wi::sub): Likewise.
4236 2022-05-09  Kito Cheng  <kito.cheng@sifive.com>
4238         * config/riscv/arch-canonicalize: Handle g correctly.
4240 2022-05-07  Marek Polacek  <polacek@redhat.com>
4242         PR c++/101833
4243         PR c++/47634
4244         * tree-core.h (struct attribute_spec): Update comment for HANDLER.
4246 2022-05-06  Jason Merrill  <jason@redhat.com>
4248         * diagnostic-color.cc: Add fnname and targs color entries.
4249         * doc/invoke.texi: Document them.
4251 2022-05-06  Jason Merrill  <jason@redhat.com>
4253         * vec.h (vec::iterate): Fix comment.
4255 2022-05-06   Michael Meissner  <meissner@linux.ibm.com>
4257         PR target/102059
4258         * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
4259         and -mpower10-fusion options for inlining purposes.
4261 2022-05-06  Christophe Lyon  <christophe.lyon@arm.com>
4263         * config/aarch64/iterators.md (GPF_TF_F16): Delete.
4265 2022-05-06  Marcel Vollweiler  <marcel@codesourcery.com>
4267         * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
4268         omp_runtime_apis array.
4270 2022-05-06  Hafiz Abid Qadeer  <abidh@codesourcery.com>
4272         * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
4273         (scan_sharing_clauses):  Check a restriction on allocate clause.
4275 2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
4277         * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
4278         and ORDERED clause conflict errors.  Add check for GRAINSIZE and
4279         NUM_TASKS on TASKLOOP.
4281 2022-05-05  Martin Liska  <mliska@suse.cz>
4283         * genautomata.cc (create_composed_state): Remove dead code.
4284         * graphite-poly.cc (print_pdrs): Likewise.
4285         * lto-wrapper.cc (run_gcc): Likewise.
4286         * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
4287         Likewise.
4289 2022-05-05  Martin Liska  <mliska@suse.cz>
4291         * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
4292         PROF_*.
4293         (gimple_gen_time_profiler): Likewise.
4295 2022-05-05  Martin Liska  <mliska@suse.cz>
4297         * value-prof.cc (stream_out_histogram_value): Remove sanity
4298         checking.
4300 2022-05-05  Richard Biener  <rguenther@suse.de>
4302         PR tree-optimization/104162
4303         * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
4304         &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
4305         becomes invariant.
4306         (vn_reference_insert): Likewise.
4308 2022-05-05  Richard Biener  <rguenther@suse.de>
4310         * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
4311         to real_value field.
4312         (tree_real_cst::value): Add real_value field.
4313         * tree.h (TREE_REAL_CST_PTR): Adjust.
4314         * tree.cc (build_real): Remove separate allocation.
4315         * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
4316         Likewise.
4318 2022-05-05  Richard Biener  <rguenther@suse.de>
4320         * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
4321         divisions with undefined overflow unconditionally.
4322         (pass_tree_ifcombine::execute): Rewrite stmts with undefined
4323         overflow to defined.
4325 2022-05-05  Richard Biener  <rguenther@suse.de>
4327         PR tree-optimization/105484
4328         * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
4329         whether the CFG changed.
4330         (gimple_expand_vec_exprs): When the CFG changed, clean it up.
4332 2022-05-05  Richard Biener  <rguenther@suse.de>
4334         PR tree-optimization/104595
4335         * tree-vect-patterns.cc (vect_recog_bool_pattern): For
4336         COND_EXPR do not fail if check_bool_pattern returns false.
4338 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
4340         * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
4341         item that is in an outer data-sharing clause.
4343 2022-05-04  Richard Biener  <rguenther@suse.de>
4345         PR tree-optimization/104658
4346         * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
4347         create VECTOR_BOOLEAN_TYPE_P extern defs.  Reset the vector
4348         type on nodes we promote.
4349         (vectorizable_bb_reduc_epilogue): Deal with externalized
4350         root.
4351         * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
4352         not allow VECTOR_BOOLEAN_TYPE_P extern defs.
4354 2022-05-04  Richard Biener  <rguenther@suse.de>
4356         PR tree-optimization/103116
4357         * tree-vect-stmts.cc (get_group_load_store_type): Handle the
4358         case we need peeling for gaps even though GROUP_GAP is zero.
4360 2022-05-04  Martin Liska  <mliska@suse.cz>
4362         * gengtype-state.cc (read_a_state_token): Remove dead code.
4363         * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
4365 2022-05-04  Richard Biener  <rguenther@suse.de>
4367         * gimplify.cc (gimplify_init_constructor): First gimplify,
4368         then simplify the result to a VECTOR_CST.
4370 2022-05-04  Jakub Jelinek  <jakub@redhat.com>
4372         * genconditions.cc (write_conditions): Append a { nullptr, -1 }
4373         element at the end of insn_conditions.
4374         (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
4375         ARRAY_SIZE (insn_conditions).
4377 2022-05-04  Christophe Lyon  <christophe.lyon@arm.com>
4379         PR target/104662
4380         * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
4381         vector of booleans and MVE is not enabled.
4383 2022-05-04  Richard Biener  <rguenther@suse.de>
4385         PR debug/105158
4386         * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
4387         Move debug stmts to the predecessor if moving to the
4388         destination is not possible.
4389         (remove_forwarder_block): Adjust.
4390         (remove_forwarder_block_with_phi): Likewise.
4392 2022-05-03  Roger Sayle  <roger@nextmovesoftware.com>
4394         PR tree-optimization/102950
4395         * range-op.cc (wi_optimize_signed_bitwise_op): New function to
4396         determine bounds of bitwise operations on signed types.
4397         (operator_bitwise_and::wi_fold): Call the above function.
4398         (operator_bitwise_or::wi_fold): Likewise.
4399         (operator_bitwise_xor::wi_fold): Likewise.  Additionally, the
4400         result can't be zero if the operands can't be equal.
4402 2022-05-03  Iain Sandoe  <iain@sandoe.co.uk>
4404         * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
4405         protocol class methods linker-visible.
4407 2022-05-03  Uroš Bizjak  <ubizjak@gmail.com>
4409         PR target/105079
4410         * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
4411         define_insn_and_split pattern.
4413 2022-05-03  Richard Biener  <rguenther@suse.de>
4415         PR middle-end/105083
4416         * tree-scalar-evolution.cc (scev_initialize): Verify we
4417         have appropriate loop state.
4418         * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
4419         loop init and finalization.
4421 2022-05-03  Richard Biener  <rguenther@suse.de>
4423         PR middle-end/105461
4424         * opts.cc (finish_options): Match the condition to
4425         disable flag_var_tracking to that of process_options.
4427 2022-05-03  Richard Biener  <rguenther@suse.de>
4429         * opts.cc: #undef OPTIONS_SET_P.
4430         (finish_options): Use opts_set instead of OPTIONS_SET_P.
4432 2022-05-03  Richard Biener  <rguenther@suse.de>
4434         PR tree-optimization/105394
4435         * tree-vect-generic.cc (expand_vector_condition): Adjust
4436         comp_width for non-integer mode masks as well.
4438 2022-05-03  Marcel Vollweiler  <marcel@codesourcery.com>
4440         * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
4441         omp_runtime_apis array.
4443 2022-05-02  Richard Biener  <rguenther@suse.de>
4445         * tree-scalar-evolution.cc (expression_expensive_p):
4446         Never consider mismatched calls as cheap.
4448 2022-05-02  Richard Biener  <rguenther@suse.de>
4450         PR tree-optimization/104240
4451         * tree-vect-slp.cc (op1_op0_map): New.
4452         (vect_get_operand_map): Handle compares.
4453         (vect_build_slp_tree_1): Support swapped operands for
4454         tcc_comparison.
4456 2022-05-02  Jakub Jelinek  <jakub@redhat.com>
4458         PR debug/105415
4459         * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
4460         if there is no symtab node for the VAR_DECL.
4462 2022-05-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4464         * gcov-io.cc (gcov_rewrite):  Clear the file error status.
4466 2022-05-02  Richard Biener  <rguenther@suse.de>
4468         PR tree-optimization/105437
4469         * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
4470         case where last_stmt alters control flow.
4472 2022-05-02  Richard Biener  <rguenther@suse.de>
4474         * dojump.cc (do_jump): Use CASE_CONVERT.
4475         * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
4477 2022-05-02  Jakub Jelinek  <jakub@redhat.com>
4479         * system.h: Include initializer_list.
4481 2022-05-01  Segher Boessenkool  <segher@kernel.crashing.org>
4483         * config/rs6000/constraints.md (Y constraint): Fix comment.
4485 2022-05-01  Aldy Hernandez  <aldyh@redhat.com>
4487         * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
4488         VR_RANGE before passing a piecewise range to set_range_info_raw.
4490 2022-04-30  Patrick Palka  <ppalka@redhat.com>
4492         * gengtype.cc (adjust_field_tree_exp): Remove.
4493         (adjust_field_type): Don't handle the "tree_exp" special attribute.
4494         * tree-core.h (struct tree_exp): Remove "special" and "desc"
4495         attributes.  Add "length" attribute.
4497 2022-04-29  Martin Jambor  <mjambor@suse.cz>
4499         PR ipa/100413
4500         * cgraph.cc (cgraph_node::remove): Release body of the node this
4501         is clone_of if appropriate.
4503 2022-04-29  Uroš Bizjak  <ubizjak@gmail.com>
4505         PR target/51954
4506         * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
4508 2022-04-29  Richard Biener  <rguenther@suse.de>
4510         * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
4511         (canonicalize_cond_expr_cond): Move here from gimple.cc,
4512         allow both COND_EXPR and GIMPLE_COND forms.
4513         * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
4514         * gimple.cc (canonicalize_cond_expr_cond): Remove here.
4515         * gimple.h (canonicalize_cond_expr_cond): Likewise.
4516         * gimple-loop-versioning.cc (loop_versioning::version_loop):
4517         Use is_gimple_condexpr_for_cond.
4518         * tree-parloops.cc (gen_parallel_loop): Likewise.
4519         * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
4520         a proper cond expr after canonicalize_cond_expr_cond.
4521         Use is_gimple_condexpr_for_cond where appropriate.
4522         * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
4523         * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
4525 2022-04-29  Richard Biener  <rguenther@suse.de>
4527         * gimple-iterator.h (gsi_after_labels): Add overload for
4528         gimple_seq.
4529         (gsi_start_1): Rename to gsi_start and take a reference.
4530         (gsi_last_1): Likewise.
4531         * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
4532         * omp-low.cc (lower_rec_input_clauses): Likewise.
4533         (lower_omp_scan): Likewise.
4535 2022-04-29  Richard Biener  <rguenther@suse.de>
4537         PR tree-optimization/105431
4538         * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
4539         (powi_as_mults): Use absu_hwi.
4540         (gimple_expand_builtin_powi): Remove now pointless n != -n
4541         check.
4543 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
4545         * range-op.cc (empty_range_varying): Move to range-op.h.
4546         (range_true): Move to range.h.
4547         (range_false): Same.
4548         (range_true_and_false): Same.
4549         (enum bool_range_state): Move to range-op.h.
4550         (relop_early_resolve): Same.
4551         (operator_equal::op1_op2_relation): Abstract code to...
4552         (equal_op1_op2_relation): ...here.
4553         (operator_not_equal::op1_op2_relation): Abstract code to...
4554         (not_equal_op1_op2_relation): ...here.
4555         (operator_lt::op1_op2_relation): Abstract code to...
4556         (lt_op1_op2_relation): ...here.
4557         (operator_le::op1_op2_relation): Abstract code to...
4558         (le_op1_op2_relation): ...here.
4559         (operator_gt::op1_op2_relation): Abstract code to...
4560         (gt_op1_op2_relation): ...here.
4561         (operator_ge::op1_op2_relation): Abstract code to...
4562         (ge_op1_op2_relation): ...here.
4563         (class range_op_table): Move to range-op.h.
4564         * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
4565         (not_equal_op1_op2_relation): Same.
4566         (lt_op1_op2_relation): Same.
4567         (le_op1_op2_relation): Same.
4568         (gt_op1_op2_relation): Same.
4569         (ge_op1_op2_relation): Same.
4570         (enum bool_range_state): Same.
4571         (get_bool_state): Same.
4572         (empty_range_varying): Same.
4573         (relop_early_resolve): Same.
4574         (class range_op_table): Same.
4575         * range.h (range_true): Same.
4576         (range_false): Same.
4577         (range_true_and_false): Same.
4579 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
4581         * gimple-fold.cc (size_must_be_zero_p): Use reference
4582         instead of pointer
4583         * gimple-ssa-evrp-analyze.cc
4584         (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
4585         intersect to legacy_verbose_intersect.
4586         * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
4587         of pointer.
4588         * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
4589         instead of value_range_equiv.
4590         * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
4591         instead of pointer.
4592         (find_case_label_range): Same.
4593         * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
4594         (value_range_equiv::legacy_verbose_intersect): ...this.
4595         (value_range_equiv::union_): Rename to...
4596         (value_range_equiv::legacy_verbose_union_): ...this.
4597         * value-range-equiv.h (class value_range_equiv): Rename union and
4598         intersect to legacy_verbose_{intersect,union}.
4599         * value-range.cc (irange::union_): Rename to...
4600         (irange::legacy_verbose_union_): ...this.
4601         (irange::intersect): Rename to...
4602         (irange::legacy_verbose_intersect): ...this.
4603         * value-range.h (irange::union_): Rename union_ to
4604         legacy_verbose_union.
4605         (irange::intersect): Rename intersect to legacy_verbose_intersect.
4606         * vr-values.cc (vr_values::update_value_range): Same.
4607         (vr_values::extract_range_for_var_from_comparison_expr): Same.
4608         (vr_values::extract_range_from_cond_expr): Rename union_ to
4609         legacy_verbose_union.
4610         (vr_values::extract_range_from_phi_node): Same.
4612 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
4614         * gimple-ssa-evrp-analyze.cc
4615         (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
4616         that take a range.
4617         * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
4618         * ipa-prop.cc (ipcp_update_vr): Same.
4619         * tree-inline.cc (remap_ssa_name): Same.
4620         * tree-ssa-copy.cc (fini_copy_prop): Same.
4621         * tree-ssa-math-opts.cc (optimize_spaceship): Same.
4622         * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
4623         * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
4624         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
4625         * tree-ssa-strlen.cc (set_strlen_range): Same.
4626         (strlen_pass::handle_builtin_string_cmp): Same.
4627         * tree-ssanames.cc (set_range_info): Make static.
4628         (duplicate_ssa_name_range_info): Make static and add a new variant
4629         calling the static.
4630         * tree-ssanames.h (set_range_info): Remove version taking wide ints.
4631         (duplicate_ssa_name_range_info): Remove version taking a
4632         range_info_def and replace with a version taking SSA names.
4633         * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
4634         that take a range.
4635         (vect_do_peeling): Same.
4636         * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
4637         * vr-values.cc (simplify_truth_ops_using_ranges): Same.
4639 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
4641         * value-range.h (irange::irange): Use set_undefined.
4643 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
4645         * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
4646         irange::intersect (wide_int, wide_int).
4647         * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
4648         (adjust_imagpart_expr): Same.
4649         * value-range.h (irange::intersect (wide_int, wide_int)): Make
4650         private.
4652 2022-04-29  Richard Biener  <rguenther@suse.de>
4654         PR tree-optimization/104322
4655         * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
4657 2022-04-29  Richard Biener  <rguenther@suse.de>
4659         PR middle-end/105376
4660         * tree.cc (build_real): Special case dconst* arguments
4661         for decimal floating point types.
4663 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4665         * doc/gcov.texi (Profiling and Test Coverage in Freestanding
4666         Environments): New section.
4668 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4670         * doc/gcov-tool.texi: Document merge-stream subcommand.
4671         * doc/invoke.texi (fprofile-info-section): Mention merge-stream
4672         subcommand of gcov-tool.
4673         * gcov-tool.cc (gcov_profile_merge_stream): Declare.
4674         (print_merge_stream_usage_message): New.
4675         (merge_stream_usage): Likewise.
4676         (do_merge_stream): Likewise.
4677         (print_usage): Call print_merge_stream_usage_message().
4678         (main): Call do_merge_stream() to execute merge-stream subcommand.
4680 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4682         * gcov-io.cc (gcov_file_error): New enum.
4683         (gcov_var): Use gcov_file_error enum for the error member.
4684         (gcov_open): Use GCOV_FILE_NO_ERROR.
4685         (gcov_close): Use GCOV_FILE_WRITE_ERROR.
4686         (gcov_write): Likewise.
4687         (gcov_write_unsigned): Likewise.
4688         (gcov_write_string): Likewise.
4689         (gcov_read_bytes): Set error code if EOF is reached.
4690         (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
4692 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4694         * gcov-io.cc (GCOV_MODE_STDIN): Define.
4695         (gcov_position): For gcov-tool, return calculated position if file is
4696         stdin.
4697         (gcov_open):  For gcov-tool, use stdin if filename is NULL.
4698         (gcov_close): For gcov-tool, do not close stdin.
4699         (gcov_read_bytes): For gcov-tool, update position if file is stdin.
4700         (gcov_sync): For gcov-tool, discard input if file is stdin.
4702 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4704         * doc/invoke.texi (fprofile-info-section): Mention
4705         __gcov_filename_to_gcfn().  Use "freestanding" to match with C11
4706         standard language.  Fix minor example code issues.
4707         * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
4709 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4711         * gcov-io.cc (gcov_seek): Make it static.
4712         * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
4714 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4716         * gcov-tool.cc (gcov_do_dump): Add mode parameter.
4717         (gcov_output_files): Open files for reading and writing.
4719 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4721         * gcov-io.cc (gcov_open): Always use the mode parameter.
4722         * gcov-io.h (gcov_open): Declare it unconditionally.
4724 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4726         * gcov-tool.cc (gcov_profile_merge): Adjust return type.
4727         (profile_merge): Allow merging of directories which contain no profile
4728         files.
4730 2022-04-28  David Malcolm  <dmalcolm@redhat.com>
4732         * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
4733         fpath.txt output.
4735 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
4737         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
4738         temporary only if out overlaps compare_op, not when it overlaps
4739         op0 or op1.
4741 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
4743         PR lto/105399
4744         * cgraph.cc (cgraph_node::verify_node): Don't verify
4745         semantic_interposition flag against
4746         opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
4748 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
4750         PR target/105331
4751         * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
4752         temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
4753         of it.
4755 2022-04-28  Jonathan Wakely  <jwakely@redhat.com>
4757         * doc/install.texi (Configuration): Remove misleading text
4758         around LE PowerPC Linux multilibs.
4760 2022-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4762         PR d/103528
4763         * doc/install.texi (Tools/packages necessary for building GCC)
4764         (GDC): Document libphobos requirement.
4765         (Host/target specific installation notes for GCC, *-*-solaris2*):
4766         Document libphobos and GDC specifics.
4768 2022-04-28  Richard Biener  <rguenther@suse.de>
4770         PR tree-optimization/105219
4771         * tree-vect-loop.cc (vect_transform_loop): Disable
4772         special code narrowing the vectorized epilogue max
4773         iterations when peeling for alignment or gaps was in effect.
4775 2022-04-28  Xi Ruoyao  <xry111@mengyan1223.wang>
4777         * config/loongarch/loongarch.cc
4778         (loongarch_flatten_aggregate_field): Ignore empty fields for
4779         RECORD_TYPE.
4781 2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
4783         * config/loongarch/loongarch.md: Add fdiv define_expand template,
4784         then generate floating-point division and floating-point reciprocal
4785         instructions.
4787 2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
4789         * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
4790         to PLV instruction templates.
4792 2022-04-27  Richard Biener  <rguenther@suse.de>
4794         PR middle-end/104492
4795         * gimple-ssa-warn-access.cc
4796         (pass_waccess::warn_invalid_pointer): Exclude equality compare
4797         diagnostics for all kind of invalidations.
4798         (pass_waccess::check_dangling_uses): Fix post-dominator query.
4799         (pass_waccess::check_pointer_uses): Likewise.
4801 2022-04-27  Andreas Krebbel  <krebbel@linux.ibm.com>
4803         PR target/102024
4804         * config/s390/s390-protos.h (s390_function_arg_vector): Remove
4805         prototype.
4806         * config/s390/s390.cc (s390_single_field_struct_p): New function.
4807         (s390_function_arg_vector): Invoke s390_single_field_struct_p.
4808         (s390_function_arg_float): Likewise.
4810 2022-04-27  Jakub Jelinek  <jakub@redhat.com>
4812         PR sanitizer/105396
4813         * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
4814         where offset is bigger than off but smaller than m_prev_offset + 32
4815         bits by pushing one or more 0 bytes.  Sink the
4816         m_shadow_bytes.safe_push (value); flush_if_full (); statements from
4817         all cases to the end of the function.
4819 2022-04-27  Kewen Lin  <linkw@linux.ibm.com>
4821         PR target/105271
4822         * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
4823         stanza.
4825 2022-04-26  Thomas Schwinge  <thomas@codesourcery.com>
4827         * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
4828         data-share memory exhausted" error more verbose.
4830 2022-04-26  Martin Liska  <mliska@suse.cz>
4832         PR lto/105364
4833         * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
4834         (run_gcc): Parse OPT_fdiagnostics_urls_.
4835         (main): Initialize global_dc.
4837 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
4839         PR rtl-optimization/105314
4840         * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
4841         operand is equal to if_info->x, instead use the non-zero operand
4842         as one of the operands of AND with if_info->x as target.
4844 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
4846         PR tree-optimization/105374
4847         * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
4848         !fold_convertible_p rather than assuming fold_convert must succeed.
4850 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
4852         PR target/105367
4853         * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
4854         el_mode == DFmode ? double_type_node : float_type_node instead of
4855         TREE_TYPE (type_in) as first arguments to mathfn_built_in.
4857 2022-04-25  David Malcolm  <dmalcolm@redhat.com>
4859         PR analyzer/104308
4860         * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
4861         the location of new_stmt in all places that don't already set it,
4862         whether explicitly, or via a call to gsi_replace.
4864 2022-04-25  Paul A. Clarke  <pc@us.ibm.com>
4866         * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
4868 2022-04-25  Andrew MacLeod  <amacleod@redhat.com>
4870         PR tree-optimization/105276
4871         * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
4872         existing global range with calculated value.
4874 2022-04-25  Richard Biener  <rguenther@suse.de>
4876         PR tree-optimization/105368
4877         * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
4879 2022-04-25  Richard Biener  <rguenther@suse.de>
4881         PR tree-optimization/100810
4882         * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
4883         (find_ssa_undef): New function.
4884         (add_candidate_1): Avoid adding derived candidates with
4885         undefined SSA names and mark the original ones.
4886         (determine_group_iv_cost_generic): Reject rewriting
4887         uses with a different IV when that involves undefined SSA names.
4889 2022-04-25  Steven G. Kargl  <kargl@gcc.gnu.org>
4891         PR target/89125
4892         * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
4893         bsd_libc_has_function.
4894         * targhooks.cc (bsd_libc_has_function): New function.
4895         Expand the supported math functions to inclue C99 libm.
4896         * targhooks.h (bsd_libc_has_function): New Prototype.
4898 2022-04-25  Richard Biener  <rguenther@suse.de>
4900         PR rtl-optimization/105231
4901         * combine.cc (distribute_notes): Assert that a REG_EH_REGION
4902         with landing pad > 0 is from i3.  Put any REG_EH_REGION note
4903         on i3 or drop it if the insn can not trap.
4904         (try_combine): Ensure that we can merge REG_EH_REGION notes
4905         with non-call exceptions.  Ensure we are not splitting a
4906         trapping part of an insn with non-call exceptions when there
4907         is any REG_EH_REGION note to preserve.
4909 2022-04-25  Hongyu Wang  <hongyu.wang@intel.com>
4911         PR target/105339
4912         * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
4913         Add parentheses for parameters and djust format.
4914         (_mm512_mask_scalef_round_pd): Ditto.
4915         (_mm512_maskz_scalef_round_pd): Ditto.
4916         (_mm512_scalef_round_ps): Ditto.
4917         (_mm512_mask_scalef_round_ps): Ditto.
4918         (_mm512_maskz_scalef_round_ps): Ditto.
4919         (_mm_scalef_round_sd): Use _mm_undefined_pd.
4920         (_mm_scalef_round_ss): Use _mm_undefined_ps.
4921         (_mm_mask_scalef_round_sd): New macro.
4922         (_mm_mask_scalef_round_ss): Ditto.
4923         (_mm_maskz_scalef_round_sd): Ditto.
4924         (_mm_maskz_scalef_round_ss): Ditto.
4926 2022-04-23  Jakub Jelinek  <jakub@redhat.com>
4928         PR target/105338
4929         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
4930         op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
4931         cases.
4933 2022-04-22  Segher Boessenkool  <segher@kernel.crashing.org>
4935         PR target/105334
4936         * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
4937         (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
4938         (pack<mode>_hard for FMOVE128): ... this...
4939         (pack<mode>_soft for FMOVE128): ... and this.
4941 2022-04-22  Paul A. Clarke  <pc@us.ibm.com>
4943         * doc/extend.texi: Correct "This" to "These".
4945 2022-04-22  Jakub Jelinek  <jakub@redhat.com>
4947         PR rtl-optimization/105333
4948         * rtlanal.cc (replace_rtx): Use simplify_subreg or
4949         simplify_unary_operation if CONST_SCALAR_INT_P rather than just
4950         CONST_INT_P.
4952 2022-04-21  Segher Boessenkool  <segher@kernel.crashing.org>
4954         PR target/103197
4955         PR target/102146
4956         * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
4957         the "Z" alternatives in {l,st}{f,xs}iwzx.
4958         (zero_extendhi<mode>2 for EXTHI): Ditto.
4959         (zero_extendsi<mode>2 for EXTSI): Ditto.
4960         (*movsi_internal1): Ditto.
4961         (*mov<mode>_internal1 for QHI): Ditto.
4962         (movsd_hardfloat): Ditto.
4964 2022-04-21  Martin Liska  <mliska@suse.cz>
4966         * configure.ac: Enable compressed debug sections for mold
4967         linker.
4968         * configure: Regenerate.
4970 2022-04-21  Jakub Jelinek  <jakub@redhat.com>
4972         PR debug/105203
4973         * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
4974         on DEBUG_INSNs.
4976 2022-04-20  Richard Biener  <rguenther@suse.de>
4978         PR tree-optimization/104912
4979         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
4980         the cost model check to a separate BB to make sure it is
4981         checked first and not combined with other version checks.
4983 2022-04-20  Richard Biener  <rguenther@suse.de>
4985         PR tree-optimization/105312
4986         * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
4987         VCOND and VCONDU for EQ and NE.
4989 2022-04-20  Jan Hubicka  <hubicka@ucw.cz>
4991         PR ipa/103818
4992         * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
4993         poly_offset_int to avoid overflow.
4994         (modref_access_node::update2): likewise.
4996 2022-04-20  Jakub Jelinek  <jakub@redhat.com>
4998         PR ipa/105306
4999         * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
5000         to opt_for_fn (decl, flag_semantic_interposition).
5001         * cgraphclones.cc (cgraph_node::create_clone): Copy over
5002         semantic_interposition flag.
5004 2022-04-19  Sergei Trofimovich  <siarheit@google.com>
5006         PR gcov-profile/105282
5007         * value-prof.cc (stream_out_histogram_value): Allow negative counts
5008         on HIST_TYPE_INDIR_CALL.
5010 2022-04-19  Jakub Jelinek  <jakub@redhat.com>
5012         PR target/105257
5013         * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
5014         use gen_raw_REG instead of gen_rtx_REG and copy over also
5015         ORIGINAL_REGNO.  Use return 0; instead of /* fallthrough */.
5017 2022-04-19  Richard Biener  <rguenther@suse.de>
5019         PR tree-optimization/104010
5020         PR tree-optimization/103941
5021         * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
5022         we run into stmts in patterns continue walking those
5023         for uses outside of the vectorized region instead of
5024         marking the lane live.
5026 2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
5028         * doc/install.texi <CRIS>: Remove references to removed websites and
5029         adjust for cris-*-elf being the only remaining toolchain.
5031 2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
5033         * doc/invoke.texi <CRIS>: Remove references to options for removed
5034         subtarget cris-axis-linux-gnu and tweak wording accordingly.
5036 2022-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
5038         * doc/install.texi (Specific): Adjust mingw-w64 download link.
5040 2022-04-15  Hongyu Wang  <hongyu.wang@intel.com>
5042         * config/i386/smmintrin.h: Correct target pragma from sse4.1
5043         and sse4.2 to crc32 for crc32 intrinsics.
5045 2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
5047         PR debug/105089
5048         * ctfc.cc (ctf_dvd_ignore_insert): New function.
5049         (ctf_dvd_ignore_lookup): Likewise.
5050         (ctf_add_variable): Keep track of non-defining decl DIEs.
5051         (new_ctf_container): Initialize the new hash-table.
5052         (ctfc_delete_container): Empty hash-table.
5053         * ctfc.h (struct ctf_container): Add new hash-table.
5054         (ctf_dvd_ignore_lookup): New declaration.
5055         (ctf_add_variable): Add additional argument.
5056         * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
5057         record for non-defining decl for which a defining decl exists
5058         in the same TU.
5059         (ctf_preprocess): Defer updating the number of global objts
5060         until here.
5061         (output_ctf_header): Use ctfc_vars_list_count as some CTF
5062         variables may not make it to the final output.
5063         (output_ctf_vars): Likewise.
5064         * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
5065         if this is known to be a non-defining decl DIE.
5067 2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
5069         * ctfc.h (struct ctf_container): Introduce a new member.
5070         * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
5071         variable.
5073 2022-04-14  Jakub Jelinek  <jakub@redhat.com>
5075         PR target/105247
5076         * simplify-rtx.cc (simplify_const_binary_operation): For shifts
5077         or rotates by VOIDmode constant integer shift count use word_mode
5078         for the operand if int_mode is narrower than word.
5080 2022-04-14  Robin Dapp  <rdapp@linux.ibm.com>
5082         * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
5083         (s390_get_unit_mask): Likewise.
5084         (s390_is_fpd): Likewise.
5085         (s390_is_fxd): Likewise.
5086         * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
5087         * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
5088         Add z16.
5089         (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
5090         Likewise.
5091         * config/s390/3931.md: New file.
5093 2022-04-13  Richard Sandiford  <richard.sandiford@arm.com>
5095         PR tree-optimization/105254
5096         * config/aarch64/aarch64.cc
5097         (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
5098         loop_vec_info as argument.  Restrict the unroll factor to values
5099         that divide the VF.
5100         (aarch64_vector_costs::finish_cost): Update call accordingly.
5102 2022-04-13  Richard Biener  <rguenther@suse.de>
5104         PR tree-optimization/105263
5105         * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
5106         negates in multiplication chains with DFP.
5108 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
5110         PR middle-end/105253
5111         * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
5112         use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
5113         comparisons or tree_nop_conversion_p checks.
5115 2022-04-13  Hongyu Wang  <hongyu.wang@intel.com>
5117         PR target/103069
5118         * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
5119           Add missing set to target_val at pause label.
5121 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
5123         PR target/105234
5124         * attribs.cc (decl_attributes): Don't set
5125         DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
5126         NULL.
5128 2022-04-13  Richard Biener  <rguenther@suse.de>
5130         PR tree-optimization/105250
5131         * fold-const.cc (fold_convertible_p): Revert
5132         r12-7979-geaaf77dd85c333, instead check for size equality
5133         of the vector types involved.
5135 2022-04-13  Richard Biener  <rguenther@suse.de>
5137         Revert:
5138         2022-04-13  Richard Biener  <rguenther@suse.de>
5140         PR tree-optimization/104912
5141         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
5142         the cost model check to a separate BB to make sure it is
5143         checked first and not combined with other version checks.
5145 2022-04-13  Richard Biener  <rguenther@suse.de>
5147         PR tree-optimization/104912
5148         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
5149         the cost model check to a separate BB to make sure it is
5150         checked first and not combined with other version checks.
5152 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
5154         * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
5156 2022-04-12  Antoni Boucher  <bouanto@zoho.com>
5158         PR jit/104072
5159         * reginfo.cc: New functions (clear_global_regs_cache,
5160         reginfo_cc_finalize) to avoid an issue where compiling the same
5161         code multiple times gives an error about assigning the same
5162         register to 2 global variables.
5163         * rtl.h: New function (reginfo_cc_finalize).
5164         * toplev.cc: Call it.
5166 2022-04-12  Antoni Boucher  <bouanto@zoho.com>
5168         PR jit/104071
5169         * toplev.cc: Call the new function tree_cc_finalize in
5170         toplev::finalize.
5171         * tree.cc: New functions (clear_nonstandard_integer_type_cache
5172         and tree_cc_finalize) to clear the cache of non-standard integer
5173         types to avoid having issues with some optimizations of
5174         bitcast where the SSA_NAME will have a size of a cached
5175         integer type that should have been invalidated, causing a
5176         comparison of integer constant to fail.
5177         * tree.h: New function (tree_cc_finalize).
5179 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
5181         PR target/97348
5182         * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
5183         * config/nvptx/nvptx.opt (misa): Adjust comment.
5185 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
5187         Revert:
5188         2022-03-03  Tom de Vries  <tdevries@suse.de>
5190         * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
5192 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
5194         Revert:
5195         2022-03-31  Tom de Vries  <tdevries@suse.de>
5197         * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
5199 2022-04-12  Richard Biener  <rguenther@suse.de>
5201         PR ipa/104303
5202         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
5203         include local escaped memory as obviously necessary stores.
5205 2022-04-12  Richard Biener  <rguenther@suse.de>
5207         PR tree-optimization/105235
5208         * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
5209         return whether the CFG changed.
5210         (execute_cse_sincos_1): Adjust.
5212 2022-04-12  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>
5214         PR target/104144
5215         * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
5216         (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
5217         (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
5218         (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
5219         (MULTILIB_REUSE): Remove remap rules for Armv9-a.
5220         * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
5221         (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
5223 2022-04-12  Richard Biener  <rguenther@suse.de>
5225         PR tree-optimization/105232
5226         * tree.cc (component_ref_size): Bail out for too large
5227         or non-constant sizes.
5229 2022-04-12  Richard Biener  <rguenther@suse.de>
5231         PR tree-optimization/105226
5232         * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
5233         we can split the exit of an outer loop we choose to version.
5235 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
5237         * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
5238         ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
5239         ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
5240         ix86_emit_swdivsf, ix86_emit_swsqrtsf,
5241         ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
5242         Formatting fix.
5243         * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
5245 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
5247         PR target/105214
5248         * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
5249         do_pending_stack_adjust.
5251 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
5253         PR rtl-optimization/105211
5254         * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
5255         fails for TREE_TYPE (arg), retry it with
5256         TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
5257         fails, emit call normally.
5259 2022-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>
5261         * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
5262         * config.gcc: Add z16 as march/mtune switch.
5263         * config/s390/driver-native.cc (s390_host_detect_local_cpu):
5264         Recognize z16 with -march=native.
5265         * config/s390/s390-opts.h (enum processor_type): Rename
5266         PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
5267         * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
5268         (PROCESSOR_3931_Z16): ... throughout the file.
5269         (s390_processor processor_table): Add z16 as cpu string.
5270         * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
5271         PF_Z16.
5272         (TARGET_CPU_ARCH14): Rename to ...
5273         (TARGET_CPU_Z16): ... this.
5274         (TARGET_CPU_ARCH14_P): Rename to ...
5275         (TARGET_CPU_Z16_P): ... this.
5276         (TARGET_ARCH14): Rename to ...
5277         (TARGET_Z16): ... this.
5278         (TARGET_ARCH14_P): Rename to ...
5279         (TARGET_Z16_P): ... this.
5280         * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
5281         check TARGET_Z16 instead of TARGET_ARCH14.
5282         * config/s390/s390.opt: Add z16 to processor_type.
5283         * doc/invoke.texi: Document z16 and arch14.
5285 2022-04-12  chenglulu  <chenglulu@loongson.cn>
5287         * config/loongarch/loongarch.cc: Fix bug for
5288         tmpdir-g++.dg-struct-layout-1/t033.
5290 2022-04-11  Peter Bergner  <bergner@linux.ibm.com>
5292         PR target/104894
5293         * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
5294         to longcall functions.
5296 2022-04-11  Jason Merrill  <jason@redhat.com>
5298         * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
5300 2022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>
5302         PR target/105213
5303         PR target/103623
5304         * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
5306 2022-04-11  Jakub Jelinek  <jakub@redhat.com>
5308         PR tree-optimization/105218
5309         * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
5310         more than one predecessor or phi's bb more than 2 predecessors,
5311         reset phi result uses instead of adding a debug temp.
5313 2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
5315         PR target/104853
5316         * config.gcc: Pass -misa-spec to arch-canonicalize and
5317         multilib-generator.
5318         * config/riscv/arch-canonicalize: Adding -misa-spec option.
5319         (SUPPORTED_ISA_SPEC): New.
5320         (arch_canonicalize): New argument `isa_spec`.
5321         Handle multiple ISA spec versions.
5322         * config/riscv/multilib-generator: Adding -misa-spec option.
5324 2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
5326         * config/riscv/arch-canonicalize: Add TODO item.
5327         (IMPLIED_EXT): Sync.
5328         (arch_canonicalize): Checking until no change.
5330 2022-04-11  Tamar Christina  <tamar.christina@arm.com>
5332         PR target/105197
5333         * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
5334         not masked.
5336 2022-04-11  Jason Merrill  <jason@redhat.com>
5338         PR c++/100370
5339         * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
5340         deref == -1.
5342 2022-04-11  Jakub Jelinek  <jakub@redhat.com>
5344         PR tree-optimization/104639
5345         * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
5346         (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
5347         into x != cst3.
5349 2022-04-11  Jeff Law  <jeffreyalaw@gmail.com>
5351         * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
5352         sign bit of the source ends up in CC.
5354 2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
5356         PR ipa/103376
5357         * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
5358         flag.
5360 2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
5362         * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
5363         nondeterministic and side_effects flags.
5365 2022-04-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
5367         PR target/105157
5368         * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
5369         * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
5370         (TARGET_CPU_MASK): Likewise.
5371         (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
5372         * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
5373         (aarch64_get_arch): Likewise.
5374         (aarch64_override_options): Use TARGET_CPU_NBITS.
5376 2022-04-08  Richard Biener  <rguenther@suse.de>
5378         PR tree-optimization/105198
5379         * tree-predcom.cc (find_looparound_phi): Check whether
5380         the found memory location of the entry value is clobbered
5381         inbetween the value we want to use and loop entry.
5383 2022-04-08  Jakub Jelinek  <jakub@redhat.com>
5385         PR tree-optimization/105189
5386         * fold-const.cc (make_range_step): Fix up handling of
5387         (unsigned) x +[low, -] ranges for signed x if low fits into
5388         typeof (x).
5390 2022-04-08  Richard Biener  <rguenther@suse.de>
5392         PR tree-optimization/105175
5393         * tree-vect-stmts.cc (vectorizable_operation): Suppress
5394         -Wvector-operation-performance if using emulated vectors.
5395         * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
5396         -Wvector-operation-performance when suppressed.
5397         (expand_vector_parallel): Likewise.
5398         (expand_vector_comparison): Likewise.
5399         (expand_vector_condition): Likewise.
5400         (lower_vec_perm): Likewise.
5401         (expand_vector_conversion): Likewise.
5403 2022-04-07  Tamar Christina  <tamar.christina@arm.com>
5405         PR target/104409
5406         * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
5407         (aarch64_general_init_builtins): Move LS64 code.
5408         * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
5409         arm_acle.h
5410         * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
5411         * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
5413 2022-04-07  Richard Biener  <rguenther@suse.de>
5414             Jan Hubicka  <hubicka@ucw.cz>
5416         PR ipa/104303
5417         * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
5418         ref_may_alias_global_p, ref_may_alias_global_p,
5419         stmt_may_clobber_global_p, pt_solution_includes_global): Add
5420         bool parameters indicating whether escaped locals should be
5421         considered global.
5422         * tree-ssa-structalias.cc (pt_solution_includes_global):
5423         When the new escaped_nonlocal_p flag is true also consider
5424         pt->vars_contains_escaped.
5425         * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
5426         Pass down new escaped_nonlocal_p flag.
5427         (ref_may_alias_global_p): Likewise.
5428         (stmt_may_clobber_global_p): Likewise.
5429         (ref_may_alias_global_p_1): Likewise.  For decls also
5430         query the escaped solution if true.
5431         (ref_may_access_global_memory_p): Remove.
5432         (modref_may_conflict): Use ref_may_alias_global_p with
5433         escaped locals considered global.
5434         (ref_maybe_used_by_stmt_p): Adjust.
5435         * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
5436         Likewise.
5437         * tree-ssa-dse.cc (dse_classify_store): Likewise.
5438         * trans-mem.cc (thread_private_new_memory): Likewise, but
5439         consider escaped locals global.
5440         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
5442 2022-04-07  Richard Biener  <rguenther@suse.de>
5444         PR tree-optimization/105185
5445         * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
5446         modref query again.
5448 2022-04-07  Tamar Christina  <tamar.christina@arm.com>
5450         PR target/104049
5451         * config/aarch64/aarch64-simd.md
5452         (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
5453         (reduc_plus_scal_<mode>): ... This.
5454         (reduc_plus_scal_v4sf): Moved.
5455         (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
5456         (reduc_plus_scal_v2si): ... This.
5458 2022-04-07  Jakub Jelinek  <jakub@redhat.com>
5460         PR tree-optimization/102586
5461         * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
5462         langhook.
5463         * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
5464         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
5465         * gimple-fold.cc (clear_padding_type): Use ftype instead of
5466         TREE_TYPE (field) some more.  For artificial FIELD_DECLs without
5467         name try the lang_hooks.types.classtype_as_base langhook and
5468         if it returns non-NULL, use that instead of ftype for recursive call.
5470 2022-04-07  Jakub Jelinek  <jakub@redhat.com>
5472         PR tree-optimization/105150
5473         * tree.cc (tree_builtin_call_types_compatible_p): New function.
5474         (get_call_combined_fn): Use it.
5476 2022-04-07  Richard Biener  <rguenther@suse.de>
5478         PR middle-end/105165
5479         * tree-complex.cc (expand_complex_asm): Sorry for asm goto
5480         _Complex outputs.
5482 2022-04-07  liuhongt  <hongtao.liu@intel.com>
5484         * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
5485         Removed.
5486         (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
5487         for mask_applied.
5488         (<code><mode>3<mask_name>): Ditto.
5489         (*<code><mode>3<mask_name>): Ditto.
5490         (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
5491         real instruction.
5492         (VFB_512): Ditto.
5493         (VFB): Ditto.
5495 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
5497         PR rtl-optimization/104985
5498         * combine.cc (struct undo): Add where.regno member.
5499         (do_SUBST_MODE): Rename to ...
5500         (subst_mode): ... this.  Change first argument from rtx * into int,
5501         operate on regno_reg_rtx[regno] and save regno into where.regno.
5502         (SUBST_MODE): Remove.
5503         (try_combine): Use subst_mode instead of SUBST_MODE, change first
5504         argument from regno_reg_rtx[whatever] to whatever.  For UNDO_MODE, use
5505         regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
5506         (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
5507         instead of *undo->where.r.
5508         (simplify_set): Use subst_mode instead of SUBST_MODE, change first
5509         argument from regno_reg_rtx[whatever] to whatever.
5511 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
5513         PR target/105069
5514         * config/sh/sh.opt (mdiv=): Add Save.
5516 2022-04-06  Martin Liska  <mliska@suse.cz>
5518         PR driver/105096
5519         * common.opt: Document properly based on what it does.
5520         * gcc.cc (display_help): Unify with what we have in common.opt.
5521         * opts.cc (common_handle_option): Do not print undocumented
5522         options.
5524 2022-04-06  Xi Ruoyao  <xry111@mengyan1223.wang>
5526         * config/mips/mips.cc (mips_fpr_return_fields): Ignore
5527         cxx17_empty_base_field_p fields and set an indicator.
5528         (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
5529         (mips_function_value_1): Inform psABI change about C++17 empty
5530         bases.
5532 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
5534         PR tree-optimization/105150
5535         * gimple.cc (gimple_builtin_call_types_compatible_p): Use
5536         builtin_decl_explicit here...
5537         (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
5538         here.
5540 2022-04-06  Richard Biener  <rguenther@suse.de>
5542         PR tree-optimization/105173
5543         * tree-ssa-reassoc.cc (find_insert_point): Get extra
5544         insert_before output argument and compute it.
5545         (insert_stmt_before_use): Adjust.
5546         (rewrite_expr_tree): Likewise.
5548 2022-04-06  Richard Biener  <rguenther@suse.de>
5550         PR ipa/105166
5551         * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
5552         out for non-pointer arguments.
5554 2022-04-06  Richard Biener  <rguenther@suse.de>
5556         PR tree-optimization/105163
5557         * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
5558         negated abnormals.
5560 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
5562         PR tree-optimization/105150
5563         * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
5564         For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
5565         preferrably on builtin_decl_explicit decl rather than fndecl.
5566         * tree-ssa-strlen.cc (valid_builtin_call): Don't call
5567         gimple_builtin_call_types_compatible_p here.
5569 2022-04-06  Richard Sandiford  <richard.sandiford@arm.com>
5571         PR tree-optimization/103761
5572         * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
5573         the ncopies parameter with an slp_node parameter.  Calculate the
5574         number of vectors based on it and vectype.  Rename lambda to
5575         group_memory_nvectors.
5576         (vectorizable_store, vectorizable_load): Update calls accordingly.
5578 2022-04-06  Martin Liska  <mliska@suse.cz>
5580         * doc/invoke.texi: Document it.
5582 2022-04-06  Richard Biener  <rguenther@suse.de>
5584         PR tree-optimization/105148
5585         * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
5586         2 and 3 of ARRAY_REFs.
5588 2022-04-06  Roger Sayle  <roger@nextmovesoftware.com>
5590         * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
5591         (*andnottf3): Replace with...
5592         (*andnot<mode>3): New define_insn using ANDNOT_MODE.
5594 2022-04-06  Richard Biener  <rguenther@suse.de>
5596         PR tree-optimization/105142
5597         * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
5598         basic-block parameter.
5599         (maybe_fold_or_comparisons): Likewise.
5600         * gimple-fold.cc (follow_outer_ssa_edges): New.
5601         (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
5602         when an outer condition basic-block is specified.
5603         (and_comparisons_1, and_var_with_comparison,
5604         and_var_with_comparison_1, or_comparisons_1,
5605         or_var_with_comparison, or_var_with_comparison_1): Receive and pass
5606         down the outer condition basic-block.
5607         * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
5608         basic-block of the outer condition.
5610 2022-04-06  Kewen Lin  <linkw@linux.ibm.com>
5612         PR target/105002
5613         * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
5614         comparison codes UNLT/UNLE/UNGT/UNGE.
5616 2022-04-05  David Malcolm  <dmalcolm@redhat.com>
5618         * doc/extend.texi (Common Function Attributes): Document that
5619         'access' does not imply 'nonnull'.
5621 2022-04-05  Uroš Bizjak  <ubizjak@gmail.com>
5623         PR target/105139
5624         * config/i386/mmx.md (*movv2qi_internal):
5625         Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
5627 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
5629         * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
5630         define_expand and turn operands 0 and 1 from REGs to MEMs.
5631         (*aarch64_cpymemdi): New pattern.
5632         (aarch64_setmemdi): Turn into a define_expand and turn operand 0
5633         from a REG to a MEM.
5634         (*aarch64_setmemdi): New pattern.
5635         * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
5636         copy_to_mode_reg on all three registers.  Replace the original
5637         MEM addresses rather than creating wild reads and writes.
5638         (aarch64_expand_setmem_mops): Likewise for the size and for the
5639         destination memory and address.
5641 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
5643         PR target/103147
5644         * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
5645         * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
5646         from aarch64_simd_switcher.
5647         * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
5648         New variable.
5649         (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
5650         (register_tuple_type): Add more asserts.  Expect the alignment
5651         of the structure to be subject to flag_pack_struct and
5652         maximum_field_alignment.  Set aarch64_simd_tuple_modes.
5653         (aarch64_simd_switcher::aarch64_simd_switcher): New function.
5654         (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
5655         (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
5656         (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
5657         while calling aarch64_init_simd_builtins.
5658         * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
5659         (sve_switcher::~sve_switcher): Remove code now performed by
5660         aarch64_simd_switcher.
5662 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
5664         PR target/104897
5665         * config/aarch64/aarch64-sve-builtins.cc
5666         (function_resolver::infer_vector_or_tuple_type): Use error_n
5667         for "%d vectors" messages.
5669 2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
5671         * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
5672         argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
5673         current clause.
5675 2022-04-05  Richard Biener  <rguenther@suse.de>
5677         PR c/105151
5678         * passes.def (pass_walloca): Move early instance into
5679         pass_build_ssa_passes to make SSA form available.
5681 2022-04-05  liuhongt  <hongtao.liu@intel.com>
5683         PR target/101908
5684         * config/i386/i386.cc (ix86_split_stlf_stall_load): New
5685         function
5686         (ix86_reorg): Call ix86_split_stlf_stall_load.
5687         * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
5688         param.
5690 2022-04-05  Alexandre Oliva  <oliva@adacore.com>
5692         * targhooks.cc (default_zero_call_used_regs): Attempt to group
5693         regs that the target refuses to use in their natural modes.
5694         (zcur_select_mode_rtx): New.
5695         * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
5696         (hard_regno_max_nregs): Define.
5697         * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
5699 2022-04-04  Alex Coplan  <alex.coplan@arm.com>
5701         * doc/match-and-simplify.texi: Fix typos.
5703 2022-04-04  Jakub Jelinek  <jakub@redhat.com>
5705         PR target/105144
5706         * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
5707         only if configured with --enable-maintainer-mode, otherwise compare
5708         tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
5709         if they differ, emit a message and fail.
5711 2022-04-04  Jakub Jelinek  <jakub@redhat.com>
5713         PR target/105144
5714         * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
5715         * config/aarch64/aarch64-tune.md: Regenerated.
5717 2022-04-04  Richard Biener  <rguenther@suse.de>
5719         PR tree-optimization/105132
5720         * tree-vect-stmts.cc (vectorizable_operation): Check that
5721         the input vectors have the same number of elements.
5723 2022-04-04  Richard Biener  <rguenther@suse.de>
5725         PR middle-end/105140
5726         * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
5728 2022-04-03  Jeff Law  <jeffreyalaw@gmail.com>
5730         PR target/104987
5731         * config/iq2000/iq2000.md (bbi): New attribute,  default to no.
5732         (delay slot descripts): Use different delay slot description when
5733         the insn as the "bbi" attribute.
5734         (bbi, bbin patterns): Set the bbi attribute to yes.
5736 2022-04-03  Jakub Jelinek  <jakub@redhat.com>
5738         PR target/105123
5739         * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
5740         using word as target for expand_simple_binop when doing ASHIFT and
5741         IOR.
5743 2022-04-02  Xi Ruoyao  <xry111@mengyan1223.wang>
5745         * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
5746         NULL before dereferencing it.
5748 2022-04-01  Qing Zhao  <qing.zhao@oracle.com>
5750         * config/i386/i386.cc (zero_all_st_registers): Return the value of
5751         num_of_st.
5752         (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
5753         the return value of zero_all_st_registers.
5754         * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
5755         * function.cc (gen_call_used_regs_seq): Add an assertion.
5756         * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
5758 2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
5760         PR target/102024
5761         * config/mips/mips.cc (mips_function_arg): Ignore zero-width
5762         fields, and inform if it causes a psABI change.
5764 2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
5766         PR target/102024
5767         * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
5768         zero-width bit-fields and set up an indicator.
5769         (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
5770         (mips_function_value_1): Diagnose when the presense of a C++
5771         zero-width bit-field changes function returning in GCC 12.
5773 2022-04-01  Jakub Jelinek  <jakub@redhat.com>
5775         PR tree-optimization/104645
5776         * tree-ssa-phiopt.cc (value_replacement): If assign has
5777         CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
5778         statement with constant evaluation.
5780 2022-04-01  YunQiang Su  <yunqiang.su@cipunited.com>
5782         * config/mips/mips.cc (mips_expand_prologue):
5783           IPL is 8bit for MCU ASE.
5785 2022-03-31  Bill Schmidt  <wschmidt@linux.ibm.com>
5787         PR target/104004
5788         * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
5789         (MTFSB0): Likewise.
5790         (MTFSB1): Likewise.
5791         (SET_FPSCR_RN): Likewise.
5792         (SET_FPSCR_DRN): Mark nosoft and no32bit.
5794 2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
5796         * doc/options.texi (Option file format): Clarifications around
5797         option definition records' help texts.
5799 2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
5801         * optc-gen.awk <END>: Fix "Multiple different help strings" error
5802         diagnostic.
5804 2022-03-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
5806         * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
5807         determine_suggested_unroll_factor and m_has_avg.
5808         (determine_suggested_unroll_factor): New function.
5809         (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
5810         to set m_nosve_pattern.
5811         (aarch64_vector_costs::finish_costs): Use
5812         determine_suggested_unroll_factor.
5813         * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
5814         * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
5816 2022-03-31  Martin Jambor  <mjambor@suse.cz>
5818         PR ipa/103083
5819         * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
5820         (ipa_get_jf_ancestor_keep_null): New function.
5821         * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
5822         ancestor function.
5823         (compute_complex_assign_jump_func): Pass false to keep_null
5824         parameter of ipa_set_ancestor_jf.
5825         (compute_complex_ancestor_jump_func): Pass true to keep_null
5826         parameter of ipa_set_ancestor_jf.
5827         (update_jump_functions_after_inlining): Carry over keep_null from the
5828         original ancestor jump-function or merge them.
5829         (ipa_write_jump_function): Stream keep_null flag.
5830         (ipa_read_jump_function): Likewise.
5831         (ipa_print_node_jump_functions_for_edge): Print the new flag.
5832         * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const.  New
5833         member function known_nonzero_p.
5834         (ipcp_bits_lattice::known_nonzero_p): New.
5835         (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
5836         observe it.
5837         (ipcp_bits_lattice::meet_with): Likewise.
5838         (propagate_bits_across_jump_function): Simplify.  Pass true in
5839         drop_all_ones when it is necessary.
5840         (propagate_aggs_across_jump_function): Take care of keep_null
5841         flag.
5842         (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
5843         jump functions.
5845 2022-03-31  Martin Jambor  <mjambor@suse.cz>
5847         PR ipa/102513
5848         * ipa-cp.cc (decide_whether_version_node): Skip scalar values
5849         which do not fit the known value_range.
5851 2022-03-31  Martin Jambor  <mjambor@suse.cz>
5853         PR ipa/103171
5854         * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
5855         always when an ADDR_EXPR constant is known to reach a load because
5856         of inlining, not just when removing an ADDR reference.
5858 2022-03-31  Richard Biener  <rguenther@suse.de>
5860         PR tree-optimization/105109
5861         * tree-ssa.cc (execute_update_addresses_taken): Suppress
5862         diagnostics on the load of the other complex component.
5864 2022-03-31  Tom de Vries  <tdevries@suse.de>
5866         * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
5868 2022-03-31  Richard Biener  <rguenther@suse.de>
5870         PR rtl-optimization/105091
5871         * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
5872         bases.
5874 2022-03-31  Richard Biener  <rguenther@suse.de>
5876         Revert:
5877         2021-09-13  Richard Earnshaw  <rearnsha@arm.com>
5879         PR target/102125
5880         * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
5881         memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
5883 2022-03-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5885         * gcov-io.cc (gcov_read_string): Reword documentation comment.
5887 2022-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>
5889         * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
5890         stanza.
5891         (NEG_V4SF): Likewise.
5892         (NEG_V4SI): Likewise.
5893         (NEG_V8HI): Likewise.
5894         (NEG_V2DF): Move to [vsx] stanza.
5895         (NEG_V2DI): Likewise.
5897 2022-03-30  Vladimir N. Makarov  <vmakarov@redhat.com>
5899         PR middle-end/105032
5900         * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
5902 2022-03-30  Tom de Vries  <tdevries@suse.de>
5903             Tobias Burnus  <tobias@codesourcery.com>
5905         * doc/invoke.texi (march): Document __PTX_SM__.
5906          (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
5907          __PTX_ISA_VERSION_MINOR__.
5909 2022-03-30  Jakub Jelinek  <jakub@redhat.com>
5911         PR sanitizer/105093
5912         * ubsan.cc (instrument_object_size): If t is equal to inner and
5913         is a decl other than global var, punt.  When emitting call to
5914         UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
5916 2022-03-30  Jakub Jelinek  <jakub@redhat.com>
5918         PR tree-optimization/105094
5919         * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
5920         bitsize <= 0 rather than just == 0.
5922 2022-03-30  Tom de Vries  <tdevries@suse.de>
5924         * doc/invoke.texi (misa, mptx): Update.
5925         (march, march-map): Add.
5927 2022-03-30  Thomas Schwinge  <thomas@codesourcery.com>
5929         * opt-functions.awk (n_args): New function.
5930         (lang_enabled_by): Merge function into...
5931         * optc-gen.awk <END>: ... sole user here.
5932         Improve diagnostics.
5934 2022-03-29  Marek Polacek  <polacek@redhat.com>
5935             Jakub Jelinek  <jakub@redhat.com>
5937         PR middle-end/103597
5938         * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
5939         into labels.  Maybe set prev to the statement preceding UNUSED_LABEL_P.
5940         (gimplify_cond_expr): Set UNUSED_LABEL_P.
5941         * tree.h (UNUSED_LABEL_P): New.
5943 2022-03-29   Michael Meissner  <meissner@linux.ibm.com>
5945         * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
5946         be any VSX register.
5948 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
5950         PR target/102024
5951         * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
5952         zero-sized bit-fields.  Detect cases where a warning may be needed.
5953         (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
5954         zero-sized bit-field has caused parameter passing to change.
5956 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
5958         PR target/102024
5959         * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
5960         bit-fields.  Detect cases where a warning may be needed.
5961         (aapcs_vfp_is_call_or_return_candidate): Emit a note if
5962         a zero-sized bit-field has caused parameter passing to change.
5964 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
5966         PR target/96882
5967         * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
5968         ARM_PCS_AAPCS_LOCAL.
5970 2022-03-29  Tom de Vries  <tdevries@suse.de>
5972         PR target/104857
5973         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
5974         __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
5975         * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
5976         * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
5978 2022-03-29  Tom de Vries  <tdevries@suse.de>
5980         * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
5981         is ignored.
5983 2022-03-29  Tom de Vries  <tdevries@suse.de>
5985         PR target/104714
5986         * config/nvptx/nvptx.opt (march-map=*): Add aliases.
5988 2022-03-29  Jan Hubicka  <hubicka@ucw.cz>
5990         * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
5991         TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
5992         * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
5993         (TARGET_USE_GATHER_4PARTS): New macro.
5994         * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
5995         (X86_TUNE_USE_GATHER_4PARTS): New tune
5997 2022-03-29  Tom de Vries  <tdevries@suse.de>
5999         * config/nvptx/nvptx.opt (march): Add alias of misa.
6001 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
6002             Lulu Cheng  <chenglulu@loongson.cn>
6004         * doc/install.texi: Add LoongArch options section.
6005         * doc/invoke.texi: Add LoongArch options section.
6006         * doc/md.texi: Add LoongArch options section.
6008 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
6009             Lulu Cheng  <chenglulu@loongson.cn>
6011         * config/loongarch/loongarch-c.cc
6013 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
6014             Lulu Cheng  <chenglulu@loongson.cn>
6016         * config/loongarch/larchintrin.h: New file.
6017         * config/loongarch/loongarch-builtins.cc: New file.
6019 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
6020             Lulu Cheng  <chenglulu@loongson.cn>
6022         * config/host-linux.cc: Add LoongArch support.
6023         * config/loongarch/loongarch-protos.h: New file.
6024         * config/loongarch/loongarch-tune.h: Likewise.
6025         * config/loongarch/loongarch.cc: Likewise.
6026         * config/loongarch/loongarch.h: Likewise.
6028 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
6029             Lulu Cheng  <chenglulu@loongson.cn>
6031         * config/loongarch/constraints.md: New file.
6032         * config/loongarch/generic.md: New file.
6033         * config/loongarch/la464.md: New file.
6034         * config/loongarch/loongarch-ftypes.def: New file.
6035         * config/loongarch/loongarch-modes.def: New file.
6036         * config/loongarch/loongarch.md: New file.
6037         * config/loongarch/predicates.md: New file.
6038         * config/loongarch/sync.md: New file.
6040 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
6041             Lulu Cheng  <chenglulu@loongson.cn>
6043         * configure: Regenerate file.
6045 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
6046             Lulu Cheng  <chenglulu@loongson.cn>
6048         * common/config/loongarch/loongarch-common.cc: New file.
6049         * config/loongarch/genopts/genstr.sh: New file.
6050         * config/loongarch/genopts/loongarch-strings: New file.
6051         * config/loongarch/genopts/loongarch.opt.in: New file.
6052         * config/loongarch/loongarch-str.h: New file.
6053         * config/loongarch/gnu-user.h: New file.
6054         * config/loongarch/linux.h: New file.
6055         * config/loongarch/loongarch-cpu.cc: New file.
6056         * config/loongarch/loongarch-cpu.h: New file.
6057         * config/loongarch/loongarch-def.c: New file.
6058         * config/loongarch/loongarch-def.h: New file.
6059         * config/loongarch/loongarch-driver.cc: New file.
6060         * config/loongarch/loongarch-driver.h: New file.
6061         * config/loongarch/loongarch-opts.cc: New file.
6062         * config/loongarch/loongarch-opts.h: New file.
6063         * config/loongarch/loongarch.opt: New file.
6064         * config/loongarch/t-linux: New file.
6065         * config/loongarch/t-loongarch: New file.
6066         * config.gcc: Add LoongArch support.
6067         * configure.ac: Add LoongArch support.
6069 2022-03-29  Thomas Schwinge  <thomas@codesourcery.com>
6071         * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
6072         typo.
6074 2022-03-29  Richard Biener  <rguenther@suse.de>
6076         PR tree-optimization/105080
6077         * tree-ssa-strlen.cc (printf_strlen_execute): Always init
6078         loops and SCEV.
6080 2022-03-28  Indu Bhagat  <indu.bhagat@oracle.com>
6082         * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
6083         (output_ctf_vars): Likewise.
6085 2022-03-28  Jason Merrill  <jason@redhat.com>
6087         PR c++/59426
6088         * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
6090 2022-03-28  H.J. Lu  <hjl.tools@gmail.com>
6092         PR target/105068
6093         * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
6094         "Yw" in clobber.
6096 2022-03-28  Tom de Vries  <tdevries@suse.de>
6098         PR target/104818
6099         * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
6100         * config/nvptx/nvptx-gen.opt: Regenerate.
6101         * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
6102         * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
6103         gen-opt.sh.
6105 2022-03-28  David Malcolm  <dmalcolm@redhat.com>
6107         PR analyzer/104308
6108         * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
6109         to loads then stores, set the location of the new load stmt.
6111 2022-03-28  Richard Biener  <rguenther@suse.de>
6113         PR tree-optimization/105070
6114         * tree-switch-conversion.h
6115         (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
6116         argument.
6117         * tree-switch-conversion.cc
6118         (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
6119         cond with location.
6120         (bit_test_cluster::emit): Annotate all generated expressions
6121         with location.
6123 2022-03-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
6125         * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
6127 2022-03-28  liuhongt  <hongtao.liu@intel.com>
6129         PR target/105066
6130         * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
6131         alternative 4 from sse4_noavx to noavx.
6133 2022-03-28  Jakub Jelinek  <jakub@redhat.com>
6135         PR tree-optimization/105056
6136         * tree-predcom.cc (component::component): Initialize also comp_step.
6138 2022-03-27  H.J. Lu  <hjl.tools@gmail.com>
6140         PR target/105068
6141         * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
6142         "Yw".
6144 2022-03-26  Roger Sayle  <roger@nextmovesoftware.com>
6146         PR middle-end/104885
6147         * calls.cc (mark_stack_region_used): Check that the region
6148         is within the allocated size of stack_usage_map.
6150 2022-03-26  Jakub Jelinek  <jakub@redhat.com>
6152         PR rtl-optimization/103775
6153         * recog.cc (check_invalid_inc_dec): New function.
6154         (insn_invalid_p): Return 1 if REG_INC operand overlaps
6155         any stored REGs.
6157 2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
6159         PR target/105058
6160         * config/i386/sse.md (loadiwkey): Replace "v" with "x".
6161         (aes<aesklvariant>u8): Likewise.
6163 2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
6165         PR target/105052
6166         * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
6167         Replace "Yv" with "x".
6168         (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
6169         (ssse3_psign<mode>3): Likewise.
6171 2022-03-26  Hans-Peter Nilsson  <hp@axis.com>
6173         * reload.cc (find_reloads): Align comment with code where
6174         considering the intersection of register classes then tweaking the
6175         regclass for the current alternative or rejecting it.
6177 2022-03-25  Christophe Lyon  <christohe.lyon@arm.com>
6179         PR target/104882
6180         Revert
6181         2021-06-11  Christophe Lyon  <christophe.lyon@linaro.org>
6183         * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
6184         (mve_vec_unpack<US>_hi_<mode>): Delete.
6185         (@mve_vec_pack_trunc_lo_<mode>): Delete.
6186         (mve_vmovntq_<supf><mode>): Remove '@' prefix.
6187         * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
6188         from vec-common.md.
6189         (vec_unpack<US>_lo_<mode>): Likewise.
6190         (vec_pack_trunc_<mode>): Rename from
6191         neon_quad_vec_pack_trunc_<mode>.
6192         * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
6193         (vec_unpack<US>_lo_<mode>): Delete.
6194         (vec_pack_trunc_<mode>): Delete.
6196 2022-03-25  Vladimir N. Makarov  <vmakarov@redhat.com>
6198         PR middle-end/104971
6199         * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
6200         regs to clear remove_p flag.
6202 2022-03-25  Richard Biener  <rguenther@suse.de>
6204         PR tree-optimization/105053
6205         * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
6206         the correct live-out stmt for a reduction chain.
6208 2022-03-25  Richard Biener  <rguenther@suse.de>
6210         PR middle-end/105049
6211         * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
6212         CONSTRUCTOR first elements.
6214 2022-03-25  Tobias Burnus  <tobias@codesourcery.com>
6216         PR analyzer/103533
6217         * doc/invoke.texi (Static Analyzer Options): Move
6218         @ignore block after @gccoptlist's '}' for 'make pdf'.
6220 2022-03-25  David Malcolm  <dmalcolm@redhat.com>
6222         PR analyzer/104954
6223         * doc/invoke.texi (Static Analyzer Options): Add
6224         -fdump-analyzer-untracked.
6226 2022-03-25  Avinash Sonawane  <rootkea@gmail.com>
6228         PR analyzer/103533
6229         * doc/invoke.texi: Document that enabling taint analyzer
6230         checker disables some warnings from `-fanalyzer`.
6232 2022-03-24  Alexandre Oliva  <oliva@adacore.com>
6234         PR debug/104564
6235         * gimple-harden-conditionals.cc (detach_value): Keep temps
6236         anonymous.
6238 2022-03-24  Alexandre Oliva  <oliva@adacore.com>
6240         PR middle-end/104975
6241         * gimple-harden-conditionals.cc
6242         (pass_harden_compares::execute): Force split in case of
6243         multiple edges.
6245 2022-03-24  Jakub Jelinek  <jakub@redhat.com>
6247         PR c++/105035
6248         * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
6249         field0 or field1 is not a FIELD_DECL, return false.
6251 2022-03-24  Richard Biener  <rguenther@suse.de>
6253         * tree-predcom.cc (chain::chain): Add CTOR.
6254         (component::component): Likewise.
6255         (pcom_worker::release_chain): Use delete.
6256         (release_components): Likewise.
6257         (pcom_worker::filter_suitable_components): Likewise.
6258         (pcom_worker::split_data_refs_to_components): Use new.
6259         (make_invariant_chain): Likewise.
6260         (make_rooted_chain): Likewise.
6261         (pcom_worker::combine_chains): Likewise.
6262         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
6263         Make sure to release previously constructed scalar_results.
6264         * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
6265         for vec_offsets.
6266         * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
6267         Release m_flag_set_edges.
6269 2022-03-24  Siddhesh Poyarekar  <siddhesh@gotplt.org>
6271         PR tree-optimization/104970
6272         * tree-object-size.cc (parm_object_size): Restrict size
6273         computation scenarios to explicit access attributes.
6275 2022-03-24  Kewen Lin  <linkw@linux.ibm.com>
6277         PR target/104967
6278         * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
6279         function types.
6281 2022-03-23  Richard Biener  <rguenther@suse.de>
6283         PR target/102125
6284         * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
6285         use of movmisalign when either the source or destination
6286         decl is properly aligned.
6288 2022-03-23  Richard Biener  <rguenther@suse.de>
6290         PR rtl-optimization/105028
6291         * ira-color.cc (form_threads_from_copies): Remove unnecessary
6292         copying of the sorted_copies tail.
6294 2022-03-23  Martin Liska  <mliska@suse.cz>
6296         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
6297         Use %qs in format.
6298         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
6299         Reword the error message.
6301 2022-03-23  liuhongt  <hongtao.liu@intel.com>
6303         PR target/104976
6304         * config/i386/sse.md (ssePSmodelower): New.
6305         (*avx_cmp<mode>3_ltint_not): Force_reg operand before
6306         lowpart_subreg to avoid NULL_RTX.
6307         (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
6308         <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
6309         fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
6310         <avx512>_<complexopname>_<mode>_mask<round_name>,
6311         avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
6312         avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
6313         avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
6314         avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
6315         float<floatunssuffix><mode>v4hf2,
6316         float<floatunssuffix>v2div2hf2,
6317         fix<fixunssuffix>_truncv4hf<mode>2,
6318         fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
6319         extendv2hfv2df2,
6320         trunc<mode>v4hf2,truncv2dfv2hf2,
6321         *avx512bw_permvar_truncv16siv16hi_1,
6322         *avx512bw_permvar_truncv16siv16hi_1_hf,
6323         *avx512f_permvar_truncv8siv8hi_1,
6324         *avx512f_permvar_truncv8siv8hi_1_hf,
6325         *avx512f_vpermvar_truncv8div8si_1,
6326         *avx512f_permvar_truncv32hiv32qi_1,
6327         *avx512f_permvar_truncv16hiv16qi_1,
6328         *avx512f_permvar_truncv4div4si_1,
6329         *avx512f_pshufb_truncv8hiv8qi_1,
6330         *avx512f_pshufb_truncv4siv4hi_1,
6331         *avx512f_pshufd_truncv2div2si_1,
6332         sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
6333         ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
6335 2022-03-22  Tom de Vries  <tdevries@suse.de>
6337         PR target/104925
6338         * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
6339         Use % as register prefix.
6341 2022-03-22  Tom de Vries  <tdevries@suse.de>
6343         * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
6344         (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
6345         mexperimental.
6347 2022-03-22  Tom de Vries  <tdevries@suse.de>
6349         * config/nvptx/nvptx.opt (mexperimental): New option.
6351 2022-03-22  Tom de Vries  <tdevries@suse.de>
6353         PR target/104957
6354         * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
6355         * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
6356         for alias.
6357         (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
6358         (nvptx_asm_output_def_from_decls): New function.
6359         * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
6360         gcc_unreachable ().
6361         (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
6362         nvptx_asm_output_def_from_decls.
6363         * config/nvptx/nvptx.opt (malias): New opt.
6365 2022-03-22  Tom de Vries  <tdevries@suse.de>
6367         PR target/104916
6368         PR target/104783
6369         * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
6370         sync (or uniform warp check for mptx < 6.0).
6372 2022-03-22  Richard Biener  <rguenther@suse.de>
6374         PR tree-optimization/105012
6375         * tree-if-conv.cc (ifcvt_local_dce): Only call
6376         dse_classify_store when we have a VDEF.
6378 2022-03-22  Martin Liska  <mliska@suse.cz>
6380         PR target/104902
6381         * config/nvptx/nvptx.cc (handle_ptx_version_option):
6382         Fix option wrapping in an error message.
6384 2022-03-22  Martin Liska  <mliska@suse.cz>
6386         PR target/104903
6387         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
6388         Wrap const keyword.
6390 2022-03-22  Martin Liska  <mliska@suse.cz>
6392         * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
6393         name.
6395 2022-03-22  Martin Liska  <mliska@suse.cz>
6397         PR target/104898
6398         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
6399         Use %qs instead of (%qs).
6401 2022-03-22  Martin Liska  <mliska@suse.cz>
6403         PR target/104898
6404         * config/i386/i386-options.cc (ix86_option_override_internal):
6405           Use '%qs' instead of '(%qs)'.
6407 2022-03-22  Martin Liska  <mliska@suse.cz>
6409         PR target/104898
6410         * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
6411         Use 'qs' and remove usage '(%qs)'.
6412         (aarch64_handle_attr_cpu): Likewise.
6413         (aarch64_handle_attr_tune): Likewise.
6414         (aarch64_handle_attr_isa_flags): Likewise.
6416 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
6417             Andre Vieira  <andre.simoesdiasvieira@arm.com>
6419         * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
6420         struct.
6421         (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
6422         cost.
6423         (neoverse512tvb_tunings): Likewise.
6425 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
6426             Andre Vieira  <andre.simoesdiasvieira@arm.com>
6428         * config/aarch64/aarch64.cc (demeter_addrcost_table,
6429         demeter_regmove_cost, demeter_advsimd_vector_cost,
6430         demeter_sve_vector_cost, demeter_scalar_issue_info,
6431         demeter_advsimd_issue_info, demeter_sve_issue_info,
6432         demeter_vec_issue_info, demeter_vector_cost,
6433         demeter_tunings): New tuning structs.
6434         (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
6435         tuning.
6436         * config/aarch64/aarch64-cores.def: Add entry for demeter.
6437         * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
6439 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
6440             Andre Vieira  <andre.simoesdiasvieira@arm.com>
6442         * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
6443         (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
6444         * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
6445         tunings to use cpu_memmov_cost struct.
6447 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
6448             Andre Vieira  <andre.simoesdiasvieira@arm.com>
6450         * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
6451         neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
6452         neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
6453         neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
6454         neoversen2_vec_issue_info, neoversen2_tunings): New structs.
6455         (neoversen2_tunings): Use new structs and update tuning flags.
6456         (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
6457         tuning.
6459 2022-03-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
6461         * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
6462         bit.
6464 2022-03-22  liuhongt  <hongtao.liu@intel.com>
6466         PR target/104982
6467         * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
6468         following splitter to reversed condition.
6470 2022-03-22  Jakub Jelinek  <jakub@redhat.com>
6472         PR rtl-optimization/104989
6473         * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
6474         sorry for passing too large argument, instead set sibcall_failure
6475         for pass == 0, or a new normal_failure flag otherwise.  If
6476         normal_failure is set, don't assert all stack has been deallocated
6477         at the end and throw away the whole insn sequence.
6479 2022-03-22  Qian Jianhua  <qianjh@cn.fujitsu.com>
6481         * print-tree.cc: Change array length
6483 2022-03-22  Hongyu Wang  <hongyu.wang@intel.com>
6485         PR target/104978
6486         * config/i386/sse.md
6487         (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
6488         Use avx512f_movsf_mask instead of vmovaps or vblend, and
6489         force_reg before lowpart_subreg.
6490         (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
6492 2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
6494         PR target/105000
6495         * common/config/i386/i386-common.cc
6496         (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
6497         OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
6499 2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
6501         PR target/104998
6502         * common/config/i386/cpuinfo.h (get_available_features): Pass
6503         0x19 to __cpuid for bit_AESKLE.  Enable FEATURE_AESKLE only if
6504         bit_AESKLE is set.
6506 2022-03-21  Richard Sandiford  <richard.sandiford@arm.com>
6508         PR middle-end/104869
6509         * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
6510         (clobber_group::next_clobber): Likewise.
6511         (def_lookup::prev_def): Rename to...
6512         (def_lookup::last_def_of_prev_group): ...this.
6513         (def_lookup::next_def): Rename to...
6514         (def_lookup::first_def_of_next_group): ...this.
6515         (def_lookup::matching_or_prev_def): Rename to...
6516         (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
6517         (def_lookup::matching_or_next_def): Rename to...
6518         (def_lookup::matching_set_or_first_def_of_next_group): ...this.
6519         (def_lookup::prev_def): New function, taking the lookup insn as
6520         argument.
6521         (def_lookup::next_def): Likewise.
6522         * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
6523         (def_lookup::last_def_of_prev_group): ...this.
6524         (def_lookup::next_def): Rename to...
6525         (def_lookup::first_def_of_next_group): ...this.
6526         (def_lookup::matching_or_prev_def): Rename to...
6527         (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
6528         (def_lookup::matching_or_next_def): Rename to...
6529         (def_lookup::matching_set_or_first_def_of_next_group): ...this.
6530         * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
6531         above renaming.
6532         * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
6533         (clobber_group::next_clobber): Likewise.
6534         (def_lookup::prev_def): Likewise.
6535         (def_lookup::next_def): Likewise.
6536         (function_info::make_use_available): Pass the lookup insn to
6537         def_lookup::prev_def and def_lookup::next_def.
6539 2022-03-21  Martin Liska  <mliska@suse.cz>
6541         * doc/invoke.texi: Document min-pagesize parameter.
6543 2022-03-21  Richard Biener  <rguenther@suse.de>
6545         * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
6546         we are estimating niter of loop.
6548 2022-03-21  Kito Cheng  <kito.cheng@sifive.com>
6550         * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
6551         Update flag name and mask name.
6552         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
6553         misc macro for vector extensions.
6554         * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
6555         (MASK_VECTOR_ELEN_32): ... this.
6556         (MASK_VECTOR_EEW_64): Rename to ...
6557         (MASK_VECTOR_ELEN_64): ... this.
6558         (MASK_VECTOR_EEW_FP_32): Rename to ...
6559         (MASK_VECTOR_ELEN_FP_32): ... this.
6560         (MASK_VECTOR_EEW_FP_64): Rename to ...
6561         (MASK_VECTOR_ELEN_FP_64): ... this.
6562         (TARGET_VECTOR_ELEN_32): New.
6563         (TARGET_VECTOR_ELEN_64): Ditto.
6564         (TARGET_VECTOR_ELEN_FP_32): Ditto.
6565         (TARGET_VECTOR_ELEN_FP_64): Ditto.
6566         (TARGET_MIN_VLEN): Ditto.
6567         * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
6568         (riscv_vector_elen_flags): ... this.
6570 2022-03-21  Hongyu Wang  <hongyu.wang@intel.com>
6572         PR target/104977
6573         * config/i386/sse.md
6574         (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
6575         Correct round operand for intel dialect.
6577 2022-03-19  Arthur Cohen  <arthur.cohen@embecosm.com>
6579         * diagnostic.cc (diagnostic_cc_tests): Rename to...
6580         (c_diagnostic_cc_tests): ...this.
6581         * opt-problem.cc (opt_problem_cc_tests): Rename to...
6582         (c_opt_problem_cc_tests): ...this.
6583         * selftest-run-tests.cc (selftest::run_tests): No longer run
6584         opt_problem_cc_tests or diagnostic_cc_tests.
6585         * selftest.h (diagnostic_cc_tests): Remove declaration.
6586         (opt_problem_cc_tests): Likewise.
6588 2022-03-19  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
6590         PR jit/63854
6591         * hash-traits.h (struct typed_const_free_remove): New.
6592         (struct free_string_hash): New.
6593         * pass_manager.h: Use free_string_hash.
6594         * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
6595         (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
6597 2022-03-19  Jakub Jelinek  <jakub@redhat.com>
6599         PR middle-end/104971
6600         * config/i386/i386-expand.cc
6601         (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
6602         don't push/pop anything and just return const0_rtx.
6604 2022-03-18  Vladimir N. Makarov  <vmakarov@redhat.com>
6606         PR rtl-optimization/104961
6607         * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
6609 2022-03-18  Jason Merrill  <jason@redhat.com>
6611         * tree.h (IDENTIFIER_LENGTH): Add comment.
6613 2022-03-18  Jakub Jelinek  <jakub@redhat.com>
6615         PR middle-end/99578
6616         PR middle-end/100680
6617         PR tree-optimization/100834
6618         * params.opt (--param=min-pagesize=): New parameter.
6619         * pointer-query.cc
6620         (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
6621         (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
6622         of zero for pointer constants equal or larger than min-pagesize.
6624 2022-03-18  Tom de Vries  <tdevries@suse.de>
6626         * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
6627         Set gfor location only when dealing with a OMP_TASKLOOP.
6629 2022-03-18  Tom de Vries  <tdevries@suse.de>
6631         * gimplify.cc (gimplify_omp_for): Set taskloop location.
6633 2022-03-18  Tom de Vries  <tdevries@suse.de>
6635         PR target/104952
6636         * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
6637         is executed unconditionally.
6639 2022-03-18  liuhongt  <hongtao.liu@intel.com>
6641         PR target/104974
6642         * config/i386/i386.md (*movhi_internal): Set attr type from HI
6643         to HF for alternative 12 under TARGET_AVX512FP16.
6645 2022-03-18  Cui,Lili  <lili.cui@intel.com>
6647         PR target/104963
6648         * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
6649         * doc/invoke.texi: Update documents for Intel sapphirerapids.
6651 2022-03-17  Roger Sayle  <roger@nextmovesoftware.com>
6653         PR target/86722
6654         PR tree-optimization/90356
6655         * config/i386/i386.md (*movtf_internal): Don't guard
6656         standard_sse_constant_p clause by optimize_function_for_size_p.
6657         (*movdf_internal): Likewise.
6658         (*movsf_internal): Likewise.
6660 2022-03-17  Andrew MacLeod  <amacleod@redhat.com>
6662         PR tree-optimization/102943
6663         * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
6664         dominators and apply intermediary outgoing edge ranges.
6666 2022-03-17  Richard Biener  <rguenther@suse.de>
6668         PR tree-optimization/104960
6669         * passes.def: Add pass parameter to pass_sink_code, mark
6670         last one to unsplit edges.
6671         * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
6672         (pass_sink_code::execute): Always execute TODO_cleanup_cfg
6673         when we need to unsplit edges.
6675 2022-03-17  Jakub Jelinek  <jakub@redhat.com>
6677         PR middle-end/103984
6678         * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
6679         TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
6680         and asan unpoisioning, then append the temporary sequence and
6681         finally the TARGET_EXPR_CLEANUP clobbers.
6683 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
6685         * config/i386/sse.md: Delete corrupt character/typo.
6687 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
6689         PR target/94680
6690         * config/i386/sse.md (sse2_movq128): New define_expand to
6691         preserve previous named instruction.
6692         (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
6693         generalized to VI8F_128 (both V2DI and V2DF).
6695 2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
6697         PR tree-optimization/104941
6698         * tree-object-size.cc (size_for_offset): Make useless conversion
6699         check lighter and assign result of fold_convert to OFFSET.
6701 2022-03-16  H.J. Lu  <hjl.tools@gmail.com>
6703         PR target/104890
6704         * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
6705         pushing target("general-regs-only").
6707 2022-03-16  Kito Cheng  <kito.cheng@sifive.com>
6709         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
6710         Add version info for zk, zks and zkn.
6712 2022-03-16  LiaoShihua  <shihua@iscas.ac.cn>
6714         * common/config/riscv/riscv-common.cc
6715         (riscv_combine_info): New.
6716         (riscv_subset_list::handle_combine_ext): Combine back into zk to
6717         maintain the canonical order in isa strings.
6718         (riscv_subset_list::parse): Ditto.
6719         * config/riscv/riscv-subset.h (handle_combine_ext): New.
6721 2022-03-16  Richard Biener  <rguenther@suse.de>
6723         PR tree-optimization/102008
6724         * passes.def: Move the added code sinking pass before the
6725         preceeding phiopt pass.
6727 2022-03-16  Patrick Palka  <ppalka@redhat.com>
6729         PR c++/96780
6730         * doc/invoke.texi (C++ Dialect Options): Document
6731         -ffold-simple-inlines.
6733 2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
6735         PR tree-optimization/104942
6736         * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
6738 2022-03-16  Jakub Jelinek  <jakub@redhat.com>
6740         PR target/104910
6741         * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
6742         imm rtx.
6744 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
6745             Richard Biener  <rguenther@suse.de>
6747         * gimple-match-head.cc (single_use): Implement inline using a
6748         single loop.
6750 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
6752         * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
6753         instead of HONOR_NANS.
6754         (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
6755         this can't trap/signal.
6757 2022-03-16  liuhongt  <hongtao.liu@intel.com>
6759         PR target/104946
6760         * config/i386/i386-builtin.def (BDESC): Add
6761         CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
6762         * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
6763         __builtin_ia32_blendvpd w/o sse4.2
6765 2022-03-15  Peter Bergner  <bergner@linux.ibm.com>
6767         PR target/104923
6768         * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
6769         acceptable MEM addresses.
6771 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
6773         PR target/91229
6774         * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
6775         riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
6776         to warning calls.
6778 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
6780         PR target/104890
6781         * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
6782         instead of general-regs-only.
6784 2022-03-15  Roger Sayle  <roger@nextmovesoftware.com>
6785             Marc Glisse  <marc.glisse@inria.fr>
6786             Richard Biener  <rguenther@suse.de>
6788         PR tree-optimization/101895
6789         * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
6790         (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
6792 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
6794         PR rtl-optimization/104814
6795         * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
6796         end with onlyjump_p.  Assume BB_END (test_bb) is always non-NULL.
6798 2022-03-15  Martin Sebor  <msebor@redhat.com>
6800         PR middle-end/104436
6801         * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
6802         Check for warning suppression.  Avoid by-value arguments transformed
6803         into by-transparent-reference.
6805 2022-03-14  Roger Sayle  <roger@nextmovesoftware.com>
6806             Uroš Bizjak  <ubizjak@gmail.com>
6808         * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
6809         transformation when *zero_extend<mode>si2 is not available.
6811 2022-03-14  Xi Ruoyao  <xry111@mengyan1223.wang>
6813         * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
6814         * config/mips/mips.cc (mips_option_override): Make
6815         -fsanitize=address imply -fasynchronous-unwind-tables.  This is
6816         needed by libasan for stack backtrace on MIPS.
6817         (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
6819 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
6821         PR debug/104778
6822         * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
6823         SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
6824         call simplified the first operand into VOIDmode constant.
6826 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
6828         PR tree-optimization/102586
6829         * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
6830         argument type should be pointer to trivially-copyable type unless it
6831         is address of a variable or parameter.
6833 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
6835         PR target/99754
6836         * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
6837         first   rather than last element of the vector, use __m32_u to do
6838         a really unaligned load, use just 0 instead of (int)0.
6839         (_mm_loadu_si16): Put loaded value into first rather than last
6840         element of the vector, use __m16_u to do a really unaligned load,
6841         use just 0 instead of (short)0.
6843 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
6845         PR other/104899
6846         * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
6847         in diagnostic message - cannott -> cannot.  Use %< and %> around
6848         names of attribute.  Avoid too long line.
6849         * range-op.cc (operator_logical_and::op1_range): Fix up a typo
6850         in comment - cannott -> cannot.  Use 2 spaces after . instead of one.
6852 2022-03-14  liuhongt  <hongtao.liu@intel.com>
6854         PR target/104666
6855         * config/i386/i386-expand.cc
6856         (ix86_check_builtin_isa_match): New func.
6857         (ix86_expand_builtin): Move code to
6858         ix86_check_builtin_isa_match and call it.
6859         * config/i386/i386-protos.h
6860         (ix86_check_builtin_isa_match): Declare.
6861         * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
6862         builtin into gimple when isa mismatches.
6864 2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
6866         * doc/invoke.texi: Fix typos.
6867         * doc/tm.texi.in: Remove duplicated word.
6868         * doc/tm.texi: Regenerate.
6870 2022-03-12  Segher Boessenkool  <segher@kernel.crashing.org>
6872         PR target/104829
6873         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
6874         "ppc" and "ppc64" based on rs6000_cpu.
6876 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
6878         PR middle-end/100280
6879         PR middle-end/104892
6880         * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
6881         Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
6883 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
6885         PR middle-end/100280
6886         PR middle-end/104086
6887         * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
6888         Mark variables used in 'present' clauses as addressable.
6889         * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
6890         handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
6892 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
6894         PR other/65095
6895         * tree-core.h (user_omp_claus_code_name): Declare function.
6896         * tree.cc (user_omp_clause_code_name): New function.
6898 2022-03-12  Roger Sayle  <roger@nextmovesoftware.com>
6900         PR middle-end/98420
6901         * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
6902         (the defaut) or -fno-signed-zeros.
6904 2022-03-12   Michael Meissner  <meissner@linux.ibm.com>
6906         PR target/104868
6907         * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
6908         moving from a GPR register to an Altivec register.
6910 2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
6912         PR tree-optimization/98335
6913         * config/i386/i386.md (peephole2): Eliminate redundant insv.
6914         Combine movl followed by movb.  Transform xorl followed by
6915         a suitable movb or movw into the equivalent movz[bw]l.
6917 2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
6918             Richard Biener  <rguenther@suse.de>
6920         PR tree-optimization/98335
6921         * builtins.cc (get_object_alignment_2): Export.
6922         * builtins.h (get_object_alignment_2): Likewise.
6923         * tree-ssa-alias.cc (ao_ref_alignment): New.
6924         * tree-ssa-alias.h (ao_ref_alignment): Declare.
6925         * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
6926         to align head/tail, writing more bytes but using fewer store insns.
6928 2022-03-11  Richard Biener  <rguenther@suse.de>
6930         PR tree-optimization/104880
6931         * tree-ssa.cc (execute_update_address_taken): Remember if we
6932         optimistically made something not addressable and
6933         prepare to undo it.
6935 2022-03-11  Richard Biener  <rguenther@suse.de>
6937         PR target/104762
6938         * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
6939         cost the first lane of SSE pieces as inserts for vec_construct.
6941 2022-03-10  Roger Sayle  <roger@nextmovesoftware.com>
6943         PR c++/84964
6944         * calls.cc (expand_call): Ignore stack adjustments after sorry.
6946 2022-03-10  Vladimir N. Makarov  <vmakarov@redhat.com>
6948         PR target/103074
6949         * lra-constraints.cc (split_reg): Set up
6950         check_and_force_assignment_correctness_p when splitting hard
6951         register live range.
6953 2022-03-10  Martin Jambor  <mjambor@suse.cz>
6955         PR ipa/104813
6956         * ipa-cp.cc (create_specialized_node): Move removal of
6957         self-recursive calls from callers vector before refrence
6958         adjustments.
6960 2022-03-10  Richard Biener  <rguenther@suse.de>
6962         PR tree-optimization/102943
6963         * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
6964         Make a bitmap_head.
6965         (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
6966         to tree view.
6967         (sbr_sparse_bitmap::set_bb_range): Adjust.
6968         (sbr_sparse_bitmap::get_bb_range): Likewise.
6970 2022-03-10  Richard Biener  <rguenther@suse.de>
6972         PR tree-optimization/102943
6973         * tree-ssa-dom.cc (back_propagate_equivalences): Only
6974         populate the dominance bitmap if fast queries are not
6975         available.  Use a tree view bitmap.
6976         (record_temporary_equivalences): Cache the dominance bitmap
6977         across all equivalences on the edge.
6979 2022-03-10  Tom de Vries  <tdevries@suse.de>
6981         PR target/104840
6982         * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
6983         of false,true.
6985 2022-03-10  Tom de Vries  <tdevries@suse.de>
6987         PR target/104783
6988         * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
6989         (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
6990         (nvptx_get_unisimt_outside_simt_predicate): New function.
6991         (predicate_insn): New function, factored out of ...
6992         (nvptx_reorg_uniform_simt): ... here.  Predicate all emitted insns.
6993         * config/nvptx/nvptx.h (struct machine_function): Add
6994         unisimt_outside_simt_predicate field.
6995         * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
6996         (define_insn "nvptx_uniform_warp_check"): Make predicable.
6998 2022-03-10  Tom de Vries  <tdevries@suse.de>
7000         * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
7001         result.
7003 2022-03-10  Tom de Vries  <tdevries@suse.de>
7005         PR target/104815
7006         * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
7007         modifier.
7008         * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
7010 2022-03-10  Tom de Vries  <tdevries@suse.de>
7012         * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
7013         Emit atom.and.b64 instead of atom.b64.and.
7015 2022-03-10  Tom de Vries  <tdevries@suse.de>
7017         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
7018         (MULTILIB_OPTIONS): ... here.
7020 2022-03-10  Tom de Vries  <tdevries@suse.de>
7022         PR target/104758
7023         * config/nvptx/nvptx.opt (misa): Set default to sm_30.
7024         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
7026 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
7028         PR middle-end/90115
7029         PR middle-end/102330
7030         PR middle-end/104774
7031         * omp-low.cc (oacc_privatization_candidate_p)
7032         (oacc_privatization_scan_clause_chain)
7033         (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
7034         Analyze 'lookup_decl'-translated DECL.
7036 2022-03-10  Jakub Jelinek  <jakub@redhat.com>
7038         PR target/99708
7039         * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
7040         RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
7041         (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
7042         * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
7043         "**NULL**" if type_node is NULL first.  Handle
7044         ieee128_float_type_node.
7045         (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
7046         and ptr_ibm128_float_type_node.  Set ibm128_float_type_node and
7047         ieee128_float_type_node to NULL rather than long_double_type_node if
7048         they aren't supported.  Do support __ibm128 even if
7049         !TARGET_FLOAT128_TYPE when long double is double double.
7050         (rs6000_expand_builtin): Error if bif_is_ibm128 and
7051         !ibm128_float_type_node.  Remap RS6000_BIF_{,UN}PACK_IF to
7052         RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
7053         for it.
7054         * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
7055         __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
7056         (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
7057         Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
7058         Formatting fix.
7059         * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
7060         (struct attrinfo): Add isibm128 member.
7061         (TYPE_MAP_SIZE): Remove.
7062         (type_map): Use [] instead of [TYPE_MAP_SIZE].  For "if" use
7063         ibm128_float_type_node only if it is non-NULL, otherwise fall back
7064         to long_double_type_node.  Remove "pif" entry.
7065         (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
7066         (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
7067         (write_type_node): Use sizeof type_map / sizeof type_map[0]
7068         instead of TYPE_MAP_SIZE.
7069         (write_bif_static_init): Handle isibm128.
7070         * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
7071         (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
7072         attribute.
7074 2022-03-09  Richard Biener  <rguenther@suse.de>
7076         * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
7077         with non-decl operand, avoiding a copy.
7079 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
7081         PR target/104781
7082         * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
7084 2022-03-09  Richard Biener  <rguenther@suse.de>
7086         PR middle-end/104786
7087         * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
7088         for VLAs without an upper size bound.
7090 2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
7092         PR tree-optimization/104851
7093         * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
7094         error.
7096 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
7098         PR c/104711
7099         * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
7100         is enabled by it only for C++11 to C++17 rather than for C++03 or
7101         later.
7102         (-Wshift-negative-value): Similarly (except here we stated
7103         that it is enabled for C++11 or later).
7105 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
7107         PR rtl-optimization/104839
7108         * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
7109         Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
7110         (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
7111         instead of incorrect 0 in SUBREG_PROMOTED_SET.
7113 2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
7115         PR target/104842
7116         * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
7117         value before adding an offset.
7119 2022-03-08  Christophe Lyon  <christophe.lyon@arm.com>
7121         * config/arm/arm-builtins.cc
7122         (arm_binop_none_none_unone_qualifiers): Delete.
7123         (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
7125 2022-03-08  Iain Sandoe  <iain@sandoe.co.uk>
7127         PR translation/104552
7128         * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
7129         the PCH out of memory error message punctuation and wording.
7131 2022-03-08  Marek Polacek  <polacek@redhat.com>
7133         PR rtl-optimization/104777
7134         * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
7135         ASM_OPERANDS_LABEL_VEC has at least one element.
7137 2022-03-08  H.J. Lu  <hjl.tools@gmail.com>
7139         PR target/104781
7140         * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
7141         stack realignment or regparm nested function with EH return.
7143 2022-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
7145         PR target/104790
7146         * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
7147         * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
7148         register for non widening loads or narrowing stores.
7150 2022-03-08  Eric Gallager  <egallager@gcc.gnu.org>
7152         PR translation/104552
7153         * params.opt: Fix typo.
7155 2022-03-08  Richard Biener  <rguenther@suse.de>
7157         PR tree-optimization/84201
7158         * params.opt (-param=vect-induction-float): Add.
7159         * doc/invoke.texi (vect-induction-float): Document.
7160         * tree-vect-loop.cc (vectorizable_induction): Honor
7161         param_vect_induction_float.
7163 2022-03-08  Martin Jambor  <mjambor@suse.cz>
7165         PR translation/104552
7166         * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
7167         "that" in the description.
7169 2022-03-08  Richard Biener  <rguenther@suse.de>
7171         PR tree-optimization/104825
7172         * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
7173         guard modref get_ao_ref on a pointer typed argument.
7175 2022-03-08  liuhongt  <hongtao.liu@intel.com>
7177         * config/i386/sse.md (*vec_dupv4si): Disable memory operand
7178         for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
7180 2022-03-07  Jonathan Wakely  <jwakely@redhat.com>
7182         * doc/invoke.texi (C++ Modules): Remove anachronism.
7184 2022-03-07  Martin Liska  <mliska@suse.cz>
7186         PR middle-end/104381
7187         * opts.cc (finish_options): If debug info is disabled
7188         (debug_info_level) and -fvar-tracking is unset, disable it.
7190 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
7192         * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
7193         * config/riscv/riscv.cc: Likewise.
7194         * config/darwin.h: Likewise.
7195         * config/i386/i386.cc: Likewise.
7196         * config/aarch64/thunderx3t110.md: Likewise.
7197         * config/aarch64/fractional-cost.h: Likewise.
7198         * config/vax/vax.cc: Likewise.
7199         * config/rs6000/pcrel-opt.md: Likewise.
7200         * config/rs6000/predicates.md: Likewise.
7201         * ctfc.h: Likewise.
7202         * tree-ssa-uninit.cc: Likewise.
7203         * value-relation.h: Likewise.
7204         * gimple-range-gori.cc: Likewise.
7205         * ipa-polymorphic-call.cc: Likewise.
7206         * pointer-query.cc: Likewise.
7207         * ipa-sra.cc: Likewise.
7208         * internal-fn.cc: Likewise.
7209         * varasm.cc: Likewise.
7210         * gimple-ssa-warn-access.cc: Likewise.
7212 2022-03-07  Martin Liska  <mliska@suse.cz>
7214         PR target/104794
7215         * config/arm/arm.cc (arm_option_override_internal): Add missing
7216         space.
7218 2022-03-07  Richard Biener  <rguenther@suse.de>
7220         PR tree-optimization/104782
7221         * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
7222         Re-instantiate r10-5979 fix, add comment.
7224 2022-03-07  Martin Liska  <mliska@suse.cz>
7226         PR target/104797
7227         * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
7228         parenthesis from built-in name.
7230 2022-03-07  Martin Liska  <mliska@suse.cz>
7232         PR target/104794
7233         * config/arm/arm.cc (arm_option_override_internal): Fix quoting
7234         of options in error messages.
7235         (arm_option_reconfigure_globals): Likewise.
7237 2022-03-07  Martin Liska  <mliska@suse.cz>
7239         PR target/104794
7240         * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
7241         message.  Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
7242         have only range [0,32].
7244 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
7246         PR target/104775
7247         * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
7248         S constraint instead of T in the last alternative.
7250 2022-03-07  Martin Liska  <mliska@suse.cz>
7252         * plugin.cc (default_plugin_dir_name): Remove <dir> from error
7253         message.
7255 2022-03-07  Martin Liska  <mliska@suse.cz>
7257         PR translation/90148
7258         * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
7259         quote to a proper place.
7260         * plugin.cc (default_plugin_dir_name): Likewise.
7262 2022-03-07  Martin Liska  <mliska@suse.cz>
7264         PR target/99297
7265         * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
7266         string.
7268 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
7270         PR target/104779
7271         * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
7272         define_expand pattern.  Rename define_insn to ...
7273         (*avx512dq_mul<mode>3<mask_name>): ... this.
7274         (<code><mode>3_mask): New any_logic define_expand pattern.
7275         (<mask_codefor><code><mode>3<mask_name>): Rename to ...
7276         (*<code><mode>3<mask_name>): ... this.
7278 2022-03-05  Jakub Jelinek  <jakub@redhat.com>
7280         * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
7281         visited bitmap and its use.  Also punt on EDGE_ABNORMAL edges.
7283 2022-03-05  Roger Sayle  <roger@nextmovesoftware.com>
7284             Uroš Bizjak  <ubizjak@gmail.com>
7286         PR testsuite/104732
7287         * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
7288         Include DI mode unconditionally.
7289         (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
7290         i.e. always split on !TARGET_64BIT.
7291         (*<any_or>di3_doubleword): Likewise.
7292         (*one_cmpldi2_doubleword): Likewise.
7293         (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
7294         (<any_or><mode>3 expander): Likewise.
7295         (one_cmpl<mode>2 expander): Likewise.
7297 2022-03-05   Michael Meissner  <meissner@linux.ibm.com>
7299         PR target/104698
7300         * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
7301         (mtvsrdd_diti_w1): Delete.
7302         (extendditi2): Convert from define_expand to
7303         define_insn_and_split.  Replace with code to deal with both GPR
7304         registers and with altivec registers.
7306 2022-03-04  Segher Boessenkool  <segher@kernel.crashing.org>
7308         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
7309         bit.  Handle most older CPUs.
7311 2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
7313         * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
7314         avoid a mismatch with DECL_MD_FUNCTION_CODE().
7316 2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
7318         PR target/104117
7319         * config/rs6000/darwin.md (@machopic_high_<mode>): New.
7320         (@machopic_low_<mode>): New.
7321         * config/rs6000/predicates.md (macho_pic_address): New.
7322         * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
7323         apply the TLS processing to Darwin.
7324         * lra-constraints.cc (process_address_1): Revert the changes
7325         in r12-7209.
7327 2022-03-04  Peter Bergner  <bergner@linux.ibm.com>
7329         PR target/87496
7330         PR target/104208
7331         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
7332         ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
7333         -mlong-double-128.
7334         Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
7335         from here...
7336         * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
7337         ... to here.
7339 2022-03-04  Jakub Jelinek  <jakub@redhat.com>
7341         PR middle-end/104529
7342         * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
7343         on automatic objects which will be runtime initialized.
7345 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
7347         PR middle-end/100280
7348         PR middle-end/104132
7349         PR middle-end/104133
7350         * omp-low.cc (task_shared_vars): Rename to
7351         'make_addressable_vars'.  Adjust all users.
7352         (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
7353         'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
7355 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
7357         PR middle-end/100280
7358         * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
7359         * tree-core.h: Document it.
7360         * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
7361         'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
7362         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
7363         Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
7364         'TREE_ADDRESSABLE'.
7366 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
7368         PR middle-end/100280
7369         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
7370         Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
7371         '[...]' declared in block made addressable".
7373 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
7375         PR middle-end/100400
7376         PR middle-end/103836
7377         PR middle-end/104061
7378         * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
7379         Catch 'GIMPLE_DEBUG'.
7381 2022-03-04  Jakub Jelinek  <jakub@redhat.com>
7383         PR c/104627
7384         * tree.cc (warn_deprecated_use): For types prefer to use node
7385         and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
7386         NULL.
7388 2022-03-04  H.J. Lu  <hjl.tools@gmail.com>
7390         PR target/104704
7391         * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
7392         a pseudo register.
7394 2022-03-03  Martin Sebor  <msebor@redhat.com>
7396         PR middle-end/104761
7397         * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
7398         mark_dfs_back_edges.
7400 2022-03-03  Martin Liska  <mliska@suse.cz>
7402         * configure.ac: Use linker plug-in by default.
7403         * configure: Regenerate.
7405 2022-03-03  Martin Liska  <mliska@suse.cz>
7407         * configure.ac: Now ld.mold support LTO plugin API, use it.
7408         * configure: Regenerate.
7410 2022-03-03  Tom de Vries  <tdevries@suse.de>
7412         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
7414 2022-03-03  Tom de Vries  <tdevries@suse.de>
7416         PR target/104758
7417         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
7419 2022-03-03  Tom de Vries  <tdevries@suse.de>
7421         * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
7423 2022-03-03  Jakub Jelinek  <jakub@redhat.com>
7425         PR middle-end/104757
7426         * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
7427         gimplify_omp_for.
7428         (gimplify_expr) <case OMP_SIMD>: Temporarily disable
7429         gimplify_ctxp->into_ssa around call to gimplify_omp_for.
7431 2022-03-03  Jakub Jelinek  <jakub@redhat.com>
7433         PR middle-end/104558
7434         * calls.cc (store_one_arg): When not calling emit_push_insn
7435         because size_rtx is const0_rtx, call at least anti_adjust_stack
7436         on arg->locate.alignment_pad if !argblock and the alignment might
7437         be non-zero.
7439 2022-03-02  Alexandre Oliva  <oliva@adacore.com>
7441         * lra-constraints.cc (undo_optional_reloads): Recognize and
7442         drop insns of multi-word move sequences, tolerate removal
7443         iteration on an already-removed clobber, and refuse to
7444         substitute original pseudos into clobbers.
7446 2022-03-02  Qing Zhao  <qing.zhao@oracle.com>
7448         PR middle-end/102276
7449         * common.opt (-Wtrivial-auto-var-init): New option.
7450         * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
7451         (-ftrivial-auto-var-init): Update option;
7452         * gimplify.cc (emit_warn_switch_unreachable): New function.
7453         (warn_switch_unreachable_r): Rename to ...
7454         (warn_switch_unreachable_and_auto_init_r): This.
7455         (maybe_warn_switch_unreachable): Rename to ...
7456         (maybe_warn_switch_unreachable_and_auto_init): This.
7457         (gimplify_switch_expr): Update calls to renamed function.
7459 2022-03-02  Richard Biener  <rguenther@suse.de>
7461         PR rtl-optimization/104686
7462         * ira-color.cc (object_conflicts_with_allocno_p): New function
7463         using a bitvector test instead of iterating when possible.
7464         (allocnos_conflict_p): Choose the best allocno to iterate over
7465         object conflicts.
7466         (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
7467         last.
7469 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
7471         * cfg.cc (dump_edge_info): Dump goto_locus if present.
7473 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
7475         PR rtl-optimization/104589
7476         * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
7477         INSN_LOCATION comparison with goto_locus.
7479 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
7481         * tree-ssa-strlen.cc (strlen_pass::handle_assign,
7482         strlen_pass::before_dom_children): Comment spelling fixes.
7484 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
7486         * ipa-modref-tree.cc (modref_access_node::contains,
7487         modref_access_node::closer_pair_p, modref_access_node::insert,
7488         modref_access_node::insert_kill): Comment spelling fixes.
7489         * ipa-modref.cc: Likewise.
7490         (modref_summary::finalize, ignore_nondeterminism_p,
7491         class modref_access_analysis,
7492         modref_access_analysis::set_side_effects,
7493         modref_access_analysis::set_nondeterministic,
7494         modref_access_analysis::record_global_memory_load,
7495         modref_access_analysis::propagate, modref_access_analysis::analyze,
7496         struct escape_point, class modref_lattice, modref_lattice::merge,
7497         modref_lattice::merge_deref, class modref_eaf_analysis,
7498         modref_eaf_analysis::merge_call_lhs_flags,
7499         modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
7500         modref_eaf_analysis::record_escape_points, remap_kills,
7501         update_escape_summary, remove_useless_summaries,
7502         ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
7503         Likewise.
7504         * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
7505         Likewise.
7506         * ipa-modref-tree.h (enum modref_special_parms,
7507         struct modref_access_node): Likewise.
7509 2022-03-01  Jakub Jelinek  <jakub@redhat.com>
7511         PR tree-optimization/104715
7512         * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
7513         unnecessarily test if ptr is a SSA_NAME, it has to be.  Only push lhs
7514         of a call if gimple_call_return_arg is equal to ptr, not just when it
7515         is non-NULL.
7517 2022-03-01  Jakub Jelinek  <jakub@redhat.com>
7519         * gimple-ssa-warn-access.cc (warn_string_no_nul,
7520         maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
7521         matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
7522         pass_waccess::check_alloca, pass_waccess::check_strcat,
7523         memmodel_to_uhwi, fntype_argno_type,
7524         pass_waccess::maybe_check_access_sizes,
7525         pass_waccess::check_call_access,
7526         pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
7527         Comment spelling fixes.
7529 2022-03-01  Richard Biener  <rguenther@suse.de>
7531         PR tree-optimization/104716
7532         * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
7533         Check if we can copy the loop.
7535 2022-03-01  H.J. Lu  <hjl.tools@gmail.com>
7537         PR middle-end/104721
7538         * cfgexpand.cc (expand_gimple_basic_block): Clear
7539         currently_expanding_gimple_stmt when returning inside the loop.
7541 2022-03-01  Martin Liska  <mliska@suse.cz>
7543         PR ipa/104533
7544         * multiple_target.cc (get_attr_len): Move to tree.c.
7545         (expand_target_clones): Remove single value checking.
7546         * tree.cc (get_target_clone_attr_len): New fn.
7547         * tree.h (get_target_clone_attr_len): Likewise.
7549 2022-03-01  Martin Liska  <mliska@suse.cz>
7551         PR gcov-profile/104677
7552         * doc/invoke.texi: Document more .gcda file name generation.
7554 2022-03-01  Tom de Vries  <tdevries@suse.de>
7556         PR target/102429
7557         * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
7558         * config/nvptx/nvptx.md
7559         (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
7560         New predicate.
7561         (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
7562         Use nvptx_register_or_complex_di_df_register_operand.
7564 2022-03-01  Tom de Vries  <tdevries@suse.de>
7566         * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
7567         * config/nvptx/gen-copyright.sh: New file.
7568         * config/nvptx/gen-h.sh: New file.
7569         * config/nvptx/gen-opt.sh: New file.
7570         * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
7571         (TARGET_SM75, TARGET_SM80): Move ...
7572         * config/nvptx/nvptx-gen.h: ... here.  New file, generate.
7573         * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
7574         * config/nvptx/nvptx-gen.opt: ... here.  New file, generate.
7575         * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
7576         ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
7578 2022-03-01  Tom de Vries  <tdevries@suse.de>
7580         * config/nvptx/gen-omp-device-properties.sh: New file.
7581         * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
7583 2022-03-01  Tom de Vries  <tdevries@suse.de>
7585         * config/nvptx/nvptx-sm.def: New file.
7586         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
7587         * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
7588         * config/nvptx/nvptx.cc (sm_version_to_string)
7589         (nvptx_omp_device_kind_arch_isa): Same.
7591 2022-03-01  Robin Dapp  <rdapp@linux.ibm.com>
7593         PR rtl-optimization/104154
7594         * config/arc/arc.cc (gen_compare_reg):  Return the CC-mode
7595         comparison ifcvt passed us.
7597 2022-03-01  Hongyu Wang  <hongyu.wang@intel.com>
7599         PR target/104664
7600         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
7601           Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
7603 2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
7605         PR tree-optimization/91384
7606         * config/i386/i386.md (peephole2): Eliminate final testl insn
7607         from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
7608         transforming using *negsi_2 for the negation.
7610 2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
7611             Eric Botcazou  <ebotcazou@adacore.com>
7613         PR middle-end/80270
7614         * expmed.cc (extract_integral_bit_field): If OP0 is a hard
7615         register, copy it to a pseudo before calling simplify_gen_subreg.
7617 2022-02-28  Vladimir N. Makarov  <vmakarov@redhat.com>
7619         PR rtl-optimization/104637
7620         * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
7621         as possible on one subpass.
7623 2022-02-28  Qing Zhao  <qing.zhao@oracle.com>
7625         PR middle-end/104550
7626         * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
7627         created uses.
7629 2022-02-28  Martin Liska  <mliska@suse.cz>
7631         PR ipa/104648
7632         * main.cc (main): Use flag_checking instead of CHECKING_P
7633         and run toplev::finalize only if there is not error seen.
7635 2022-02-28  Richard Biener  <rguenther@suse.de>
7637         * tree-ssa-pre.cc (compute_avail): Revert part of last change.
7639 2022-02-28  Richard Biener  <rguenther@suse.de>
7641         PR tree-optimization/104700
7642         * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
7643         into ...
7644         (find_or_generate_expression): ... here, simplifying code.
7646 2022-02-28  Tom de Vries  <tdevries@suse.de>
7648         * config/nvptx/nvptx-opts.h (enum ptx_version): Add
7649         PTX_VERSION_default.
7650         * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
7651         PTX_VERSION_default.
7652         * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
7654 2022-02-28  Richard Biener  <rguenther@suse.de>
7656         PR rtl-optimization/104686
7657         * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
7658         skipping bits that are zero.
7659         (ira_object_conflict_iter_cond): Likewise.
7661 2022-02-28  Hongyu Wang  <hongyu.wang@intel.com>
7663         * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
7664         (_mm512_ternarylogic_epi64): Truncate imm to unsigned
7665         char to avoid error when using ~enum as parameter.
7666         (_mm512_mask_ternarylogic_epi64): Likewise.
7667         (_mm512_maskz_ternarylogic_epi64): Likewise.
7668         (_mm512_ternarylogic_epi32): Likewise.
7669         (_mm512_mask_ternarylogic_epi32): Likewise.
7670         (_mm512_maskz_ternarylogic_epi32): Likewise.
7671         * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
7672         Adjust imm param type to unsigned char.
7673         (_mm256_mask_ternarylogic_epi64): Likewise.
7674         (_mm256_maskz_ternarylogic_epi64): Likewise.
7675         (_mm256_ternarylogic_epi32): Likewise.
7676         (_mm256_mask_ternarylogic_epi32): Likewise.
7677         (_mm256_maskz_ternarylogic_epi32): Likewise.
7678         (_mm_ternarylogic_epi64): Likewise.
7679         (_mm_mask_ternarylogic_epi64): Likewise.
7680         (_mm_maskz_ternarylogic_epi64): Likewise.
7681         (_mm_ternarylogic_epi32): Likewise.
7682         (_mm_mask_ternarylogic_epi32): Likewise.
7683         (_mm_maskz_ternarylogic_epi32): Likewise.
7685 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
7686             Marc Glisse  <marc.glisse@inria.fr>
7688         PR tree-optimization/104675
7689         * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
7690         Restrict simplifications to INTEGRAL_TYPE_P.
7692 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
7694         PR target/104681
7695         * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
7697 2022-02-25  Claudiu Zissulescu  <claziss@synopsys.com>
7699         * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
7700         comparison is not valid.
7701         * config/arc/arc.md (movsicc): Fail if comparison is not valid.
7702         (movdicc): Likewise.
7703         (movsfcc): Likewise.
7704         (movdfcc): Likewise.
7706 2022-02-25  Richard Biener  <rguenther@suse.de>
7708         PR tree-optimization/103037
7709         * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
7710         (vn_nary_length_from_stmt): Likewise.
7711         (init_vn_nary_op_from_stmt): Likewise.
7712         (vn_nary_op_compute_hash): Likewise.
7713         * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
7714         (vn_nary_length_from_stmt): Likewise.
7715         (init_vn_nary_op_from_stmt): Likewise.
7716         (vn_nary_op_compute_hash): Likewise.
7717         * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
7718         (get_or_alloc_expr_for_nary): Pass in the value-id to use,
7719         (re-)compute the hash value and if the expression is not
7720         found allocate it from pre_expr_obstack.
7721         (phi_translate_1): Do not insert the NARY found in the
7722         VN tables but build a PRE expression from the valueized
7723         NARY with the value-id we eventually found.
7724         (find_or_generate_expression): Assert we have an entry
7725         for constant values.
7726         (compute_avail): Insert not valueized expressions into
7727         EXP_GEN using the value-id from the VN tables.
7728         (init_pre): Allocate pre_expr_obstack.
7729         (fini_pre): Free pre_expr_obstack.
7731 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
7733         PR target/104674
7734         * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
7735         * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
7736         SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
7738 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
7740         * warning-control.cc (get_nowarn_spec): Comment spelling fix.
7742 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
7744         PR middle-end/104679
7745         * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
7747 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
7749         PR tree-optimization/104675
7750         * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
7751         COMPLEX_TYPE.
7753 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
7755         PR target/104121
7756         PR target/103302
7757         * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
7759 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
7761         PR middle-end/104540
7762         * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
7763         dw_cfi_cfa_loc.
7765 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
7767         PR tree-optimization/103856
7768         * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
7769         eh edge to be requested through an extra parameter.
7770         (pass_harden_compares::execute): Copy PHI args in the EH dest
7771         block for the new EH edge added for the inverted compare.
7773 2022-02-24  Palmer Dabbelt  <palmer@rivosinc.com>
7775         * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
7776         of position independence that -mcmodel=medany affords.
7778 2022-02-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
7780         PR target/104656
7781         * configure.ac: --disable-gcov if targetting bpf-*.
7782         * configure: Regenerate.
7784 2022-02-24  Richard Biener  <rguenther@suse.de>
7786         PR tree-optimization/104676
7787         * tree-loop-distribution.cc (loop_distribution::execute):
7788         Do a full scev_reset.
7790 2022-02-24  Jakub Jelinek  <jakub@redhat.com>
7792         PR tree-optimization/104601
7793         * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
7794         non-SSA_NAME lhs value number vdef to itself instead of e.g. the
7795         vuse value number.
7797 2022-02-24  Tom de Vries  <tdevries@suse.de>
7798             Tobias Burnus  <tobias@codesourcery.com>
7800         * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
7801         sm_70, sm_75 and sm_80.
7802         * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
7804 2022-02-24  Tom de Vries  <tdevries@suse.de>
7806         * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
7807         "rotrsi3"): New define_insn.
7809 2022-02-24  Tom de Vries  <tdevries@suse.de>
7811         * config/nvptx/nvptx.cc (gen_comment): Use
7812         DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
7814 2022-02-24  liuhongt  <hongtao.liu@intel.com>
7816         * config/i386/sse.md (<code>v1ti3): Add suffix and replace
7817         isa attr of alternative 2 from avx to avx512vl.
7819 2022-02-23  Richard Biener  <rguenther@suse.de>
7820             Jakub Jelinek  <jakub@redhat.com>
7822         PR tree-optimization/104644
7823         * doc/match-and-simplify.texi: Amend ! documentation.
7824         * genmatch.cc (expr::gen_transform): Code-generate ! support
7825         for GENERIC.
7826         (parser::parse_expr): Allow ! for GENERIC.
7827         * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
7828         bswap.
7830 2022-02-23  Richard Biener  <rguenther@suse.de>
7832         PR tree-optimization/101636
7833         * tree-vect-slp.cc (vect_print_slp_tree): Dump the
7834         vector type of the node.
7835         (vect_slp_analyze_operations): Make sure the CTOR
7836         is vectorized with an expected type.
7837         (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
7839 2022-02-23  Jakub Jelinek  <jakub@redhat.com>
7841         PR c/104633
7842         * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
7843         Don't warn about calls to corresponding builtin from extern inline
7844         gnu_inline wrappers.
7846 2022-02-23  Roger Sayle  <roger@nextmovesoftware.com>
7848         PR target/104489
7849         * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
7851 2022-02-23  Christophe Lyon  <christophe.lyon@arm.com>
7853         PR target/100757
7854         PR target/101325
7855         * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
7856         typo.
7858 2022-02-23  Cui,Lili  <lili.cui@intel.com>
7860         * doc/invoke.texi: Update documents for Intel architectures.
7862 2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
7864         * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
7865         bootstrap.
7867 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
7869         * omp-low.cc (omp_build_component_ref): Move function...
7870         * omp-general.cc (omp_build_component_ref): ... here.  Remove
7871         'static'.
7872         * omp-general.h (omp_build_component_ref): Declare function.
7873         * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
7874         function.
7875         (build_receiver_ref, build_sender_ref): Call
7876         'omp_build_component_ref' instead.
7878 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
7880         * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
7881         simplify.  Adjust all users.
7883 2022-02-22  Segher Boessenkool  <segher@kernel.crashing.org>
7885         PR target/88134
7886         * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
7887         atomic_update_decl): Add GTY markup.
7889 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7891         * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
7893 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7895         PR target/100757
7896         PR target/101325
7897         * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
7898         predicate.
7899         (CX_BINARY_UNONE_QUALIFIERS): Likewise.
7900         (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
7901         (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
7902         (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
7903         (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
7904         * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
7905         * config/arm/mve.md: Use VxBI instead of HI.
7907 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7909         PR target/100757
7910         PR target/101325
7911         * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
7912         qualifier.
7913         (STRSBU_P_QUALIFIERS): Likewise.
7914         (LDRGBS_Z_QUALIFIERS): Likewise.
7915         (LDRGBU_Z_QUALIFIERS): Likewise.
7916         (LDRGBWBXU_Z_QUALIFIERS): Likewise.
7917         (LDRGBWBS_Z_QUALIFIERS): Likewise.
7918         (LDRGBWBU_Z_QUALIFIERS): Likewise.
7919         (STRSBWBS_P_QUALIFIERS): Likewise.
7920         (STRSBWBU_P_QUALIFIERS): Likewise.
7921         * config/arm/mve.md: Use VxBI instead of HI.
7923 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7925         PR target/100757
7926         PR target/101325
7927         * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
7928         (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
7929         (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
7930         (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
7931         (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
7932         (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
7933         (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
7934         (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
7935         (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
7936         (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
7937         (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
7938         (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
7939         (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
7940         (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
7941         (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
7942         (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
7943         (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
7944         (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
7945         (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
7946         (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
7947         (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
7948         (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
7949         (STRS_P_QUALIFIERS): Use predicate qualifier.
7950         (STRU_P_QUALIFIERS): Likewise.
7951         (STRSU_P_QUALIFIERS): Likewise.
7952         (STRSS_P_QUALIFIERS): Likewise.
7953         (LDRGS_Z_QUALIFIERS): Likewise.
7954         (LDRGU_Z_QUALIFIERS): Likewise.
7955         (LDRS_Z_QUALIFIERS): Likewise.
7956         (LDRU_Z_QUALIFIERS): Likewise.
7957         (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
7958         (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
7959         (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
7960         (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
7961         * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
7962         * config/arm/mve.md: Use MVE_VPRED instead of HI.
7964 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7966         PR target/100757
7967         PR target/101325
7968         * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
7969         Delete.
7970         (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
7971         (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
7972         (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
7973         * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
7974         predicated qualifiers.
7975         * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
7976         (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
7978 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7980         PR target/100757
7981         * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
7982         (arm_expand_vector_compare): Update prototype.
7983         * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
7984         (arm_vector_mode_supported_p): Add support for VxBI modes.
7985         (arm_expand_vector_compare): Remove useless generation of vpsel.
7986         (arm_expand_vcond): Fix select operands.
7987         (arm_get_mask_mode): New.
7988         * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
7989         (vec_cmpu<mode><MVE_vpred>): New.
7990         (vcond_mask_<mode><MVE_vpred>): New.
7991         * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
7992         (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
7993         * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
7994         (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
7995         and disable for MVE.
7996         * doc/sourcebuild.texi (arm_mve): Document new effective-target.
7998 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
8000         PR target/100757
8001         PR target/101325
8002         * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
8003         (BINOP_PRED_NONE_NONE_QUALIFIERS)
8004         (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
8005         (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
8006         * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
8007         * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
8008         modes.
8009         (arm_mode_to_pred_mode): New.
8010         (arm_expand_vector_compare): Use the right VxBI mode instead of
8011         HI.
8012         (arm_expand_vcond): Likewise.
8013         (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
8014         (mve_bool_vec_to_const): New.
8015         (neon_make_constant): Call mve_bool_vec_to_const when needed.
8016         * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
8017         (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
8018         (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
8019         (vpselq_s, vpselq_f): Use new predicated qualifiers.
8020         * config/arm/constraints.md (DB): New.
8021         * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
8022         (MVE_VPRED, MVE_vpred): New attribute iterators.
8023         * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
8024         (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
8025         (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
8026         (@mve_vpselq_<supf>v2di): Define separately.
8027         (mov<mode>): New expander for VxBI modes.
8028         * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
8029         MVE_7_HI iterator and add support for DB constraint.
8031 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
8032             Richard Sandiford  <richard.sandiford@arm.com>
8034         PR target/100757
8035         PR target/101325
8036         * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
8037         VNx2BI): Update definition.
8038         * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
8039         simd types.
8040         (arm_init_builtin): Map predicate vectors arguments to HImode.
8041         (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
8042         rtx. Move return value to HImode rtx.
8043         * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
8044         * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
8045         * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
8046         Pred2x8_t,Pred4x4_t): New.
8047         * emit-rtl.cc (init_emit_once): Handle all boolean modes.
8048         * genmodes.cc (mode_data): Add boolean field.
8049         (blank_mode): Initialize it.
8050         (make_complex_modes): Fix handling of boolean modes.
8051         (make_vector_modes): Likewise.
8052         (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
8053         (make_vector_bool_mode): Likewise.
8054         (BOOL_MODE): New.
8055         (make_bool_mode): New.
8056         (emit_insn_modes_h): Fix generation of boolean modes.
8057         (emit_class_narrowest_mode): Likewise.
8058         * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
8059         parameter.  Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
8060         define BImode.
8061         * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
8062         Fix handling of constm1_rtx for VECTOR_BOOL.
8063         * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
8064         (native_decode_vector_rtx): Likewise.
8065         (test_vector_ops_duplicate): Skip vec_merge test
8066         with vectors of booleans.
8067         * varasm.cc (output_constant_pool_2): Likewise.
8069 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
8071         * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
8072         for operand 1.
8074 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
8076         * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
8078 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
8080         * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
8081         (REG_CLASS_NAMES): Likewise.
8082         (REG_CLASS_CONTENTS): Likewise.
8083         (CLASS_MAX_NREGS): Handle VPR.
8084         * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
8086 2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
8087             Tom de Vries  <tdevries@suse.de>
8089         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
8090         * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
8091         Likewise.
8092         * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
8094 2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
8095             Tom de Vries  <tdevries@suse.de>
8097         * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
8098         * doc/invoke.texi (-mptx): Update for new values and defaults.
8100 2022-02-22  Tom de Vries  <tdevries@suse.de>
8102         * config/nvptx/nvptx.cc (gen_comment): New function.
8103         (workaround_uninit_method_1, workaround_uninit_method_2)
8104         (workaround_uninit_method_3): : Use gen_comment.
8105         * config/nvptx/nvptx.opt (mptx-comment): New option.
8107 2022-02-22  Richard Biener  <rguenther@suse.de>
8109         * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
8110         for a splat.
8112 2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
8113             Richard Biener  <rguenther@suse.de>
8115         * fold-const.cc (ctor_single_nonzero_element): New function to
8116         return the single non-zero element of a (vector) constructor.
8117         * fold-const.h (ctor_single_nonzero_element): Prototype here.
8118         * match.pd (reduc (constructor@0)): Simplify reductions of a
8119         constructor containing a single non-zero element.
8120         (reduc (@0 op VECTOR_CST) ->  (reduc @0) op CONST): Simplify
8121         reductions of vector operations of the same operator with
8122         constant vector operands.
8124 2022-02-22  Jakub Jelinek  <jakub@redhat.com>
8126         PR tree-optimization/104604
8127         * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
8128         Only check if gimple_assign_rhs1 is COMPLEX_CST if
8129         gimple_assign_rhs_code is COMPLEX_CST.
8131 2022-02-22  Jakub Jelinek  <jakub@redhat.com>
8133         PR target/104612
8134         * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
8135         on input operands before calling lowpart_subreg on it.  For output
8136         operand, use a vmode pseudo as destination and then move its lowpart
8137         subreg into operands[0] if lowpart_subreg fails on dest.
8138         (ix86_expand_xorsign): Likewise.
8140 2022-02-22  Richard Biener  <rguenther@suse.de>
8142         PR tree-optimization/104582
8143         PR target/99881
8144         * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
8145         Cost GPR to vector register moves for integer vector construction.
8147 2022-02-22  Richard Biener  <rguenther@suse.de>
8149         PR tree-optimization/104582
8150         * tree-vectorizer.h (stmt_info_for_cost::node): New field.
8151         (vector_costs::add_stmt_cost): Add SLP node parameter.
8152         (dump_stmt_cost): Likewise.
8153         (add_stmt_cost): Likewise, new overload and adjust.
8154         (add_stmt_costs): Adjust.
8155         (record_stmt_cost): New overload.
8156         * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
8157         (vector_costs::add_stmt_cost): Adjust.
8158         * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
8159         Adjust.
8160         * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
8161         the SLP node for costing.
8162         (vectorizable_slp_permutation): Likewise.
8163         * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
8164         new overloads.
8165         * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
8166         Adjust.
8167         * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
8168         Adjust.
8169         * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
8170         Adjust.
8171         (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
8173 2022-02-22  Richard Biener  <rguenther@suse.de>
8175         PR tree-optimization/104582
8176         * tree-vectorizer.h (add_stmt_cost): New overload.
8177         (record_stmt_cost): Likewise.
8178         * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
8179         Use add_stmt_costs.
8180         (vect_get_known_peeling_cost): Use new overloads.
8181         (vect_estimate_min_profitable_iters): Likewise.  Consistently
8182         use scalar_stmt for costing versioning checks.
8183         * tree-vect-stmts.cc (record_stmt_cost): New overload.
8185 2022-02-22  Hongyu Wang  <hongyu.wang@intel.com>
8187         PR target/103069
8188         * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
8189         Split atomic fetch and loop part.
8190         (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
8191         * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
8192         prototype.
8193         * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
8194         expander under TARGET_RELAX_CMPXCHG_LOOP.
8195         (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
8197 2022-02-21  Dan Li  <ashimida@linux.alibaba.com>
8199         * config/aarch64/aarch64.cc (SLOT_REQUIRED):
8200         Change wb_candidate[12] to wb_push_candidate[12].
8201         (aarch64_layout_frame): Likewise, and
8202         change callee_adjust when scs is enabled.
8203         (aarch64_save_callee_saves):
8204         Change wb_candidate[12] to wb_push_candidate[12].
8205         (aarch64_restore_callee_saves):
8206         Change wb_candidate[12] to wb_pop_candidate[12].
8207         (aarch64_get_separate_components):
8208         Change wb_candidate[12] to wb_push_candidate[12].
8209         (aarch64_expand_prologue): Push x30 onto SCS before it's
8210         pushed onto stack.
8211         (aarch64_expand_epilogue): Pop x30 frome SCS, while
8212         preventing it from being popped from the regular stack again.
8213         (aarch64_override_options_internal): Add SCS compile option check.
8214         (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
8215         * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
8216         wb_pop_candidate[12], and rename wb_candidate[12] to
8217         wb_push_candidate[12].
8218         * config/aarch64/aarch64.md (scs_push): New template.
8219         (scs_pop): Likewise.
8220         * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
8221         * doc/tm.texi: Regenerate.
8222         * doc/tm.texi.in: Add hook have_shadow_call_stack.
8223         * flag-types.h (enum sanitize_code):
8224         Add SANITIZE_SHADOW_CALL_STACK.
8225         * opts.cc (parse_sanitizer_options): Add shadow-call-stack
8226         and exclude SANITIZE_SHADOW_CALL_STACK.
8227         * target.def: New hook.
8228         * toplev.cc (process_options): Add SCS compile option check.
8229         * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
8231 2022-02-21  Tom de Vries  <tdevries@suse.de>
8233         PR target/104440
8234         * config/nvptx/nvptx.cc (workaround_uninit_method_1)
8235         (workaround_uninit_method_2, workaround_uninit_method_3)
8236         (workaround_uninit): New function.
8237         (nvptx_reorg): Use workaround_uninit.
8238         * config/nvptx/nvptx.opt (minit-regs): New option.
8240 2022-02-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
8242         PR rtl-optimization/104498
8243         * alias.cc (compare_base_symbol_refs): Correct distance computation
8244         when swapping x and y.
8246 2022-02-21  Andrew Pinski  <apinski@marvell.com>
8248         PR c/104506
8249         * tree-ssa.cc (tree_ssa_useless_type_conversion):
8250         Check the inner type before calling useless_type_conversion_p.
8252 2022-02-19  Tom de Vries  <tdevries@suse.de>
8254         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
8255         * config/nvptx/nvptx.md
8256         (define_insn "nvptx_atomic_store<mode>"): Rename to ...
8257         (define_insn "nvptx_atomic_store_sm70<mode>"): This.
8258         (define_insn "nvptx_atomic_store<mode>"): New define_insn.
8259         (define_expand "atomic_store<mode>"): Handle rename.  Use
8260         nvptx_atomic_store instead of atomic_exchange.
8262 2022-02-19  Tom de Vries  <tdevries@suse.de>
8264         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
8265         insns with atomic attribute.  Assert that all handled insns are
8266         PARALLELs.
8267         * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
8268         Set atomic attribute to false.
8270 2022-02-19  Tom de Vries  <tdevries@suse.de>
8272         * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
8273         type to bool.
8274         (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
8275         nvptx_warpsync, if necessary.
8277 2022-02-19  Jakub Jelinek  <jakub@redhat.com>
8279         PR sanitizer/102656
8280         * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
8281         known to be within bounds, treat it like automatic variables.
8282         If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
8283         current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
8284         it addressable.
8286 2022-02-18  Pat Haugen  <pthaugen@linux.ibm.com>
8288         * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
8289         (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
8290         mpower10-fusion-logical-add, mpower10-fusion-add-logical,
8291         mpower10-fusion-2add, mpower10-fusion-2store): Remove.
8292         * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
8293         OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
8294         * config/rs6000/rs6000.cc (rs6000_option_override_internal,
8295         power10_sched_reorder): Likewise.
8296         * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
8297         gen_addadd): Likewise
8298         * config/rs6000/fusion.md: Regenerate.
8300 2022-02-18  Jakub Jelinek  <jakub@redhat.com>
8302         PR target/104257
8303         PR target/104598
8304         * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
8305         rather than __posix_memalign.
8307 2022-02-18  Richard Biener  <rguenther@suse.de>
8309         PR target/104581
8310         * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
8311         (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
8312         of calling ix86_avx_u128_mode_source which would eventually
8313         have returned AVX_U128_ANY in some very special case.
8315 2022-02-18  Richard Biener  <rguenther@suse.de>
8317         PR tree-optimization/96881
8318         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
8319         CLOBBER handling.
8320         (control_parents_preserved_p): New function.
8321         (eliminate_unnecessary_stmts): Check that we preserved control
8322         parents before retaining a CLOBBER.
8323         (perform_tree_ssa_dce): Pass down aggressive flag
8324         to eliminate_unnecessary_stmts.
8326 2022-02-17  Jason Merrill  <jason@redhat.com>
8328         * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
8329         on TYPE_MAIN_VARIANT.
8331 2022-02-17  Paul A. Clarke  <pc@us.ibm.com>
8333         PR target/104257
8334         * config/rs6000/bmi2intrin.h: Uglify local variables.
8335         * config/rs6000/emmintrin.h: Likewise.
8336         * config/rs6000/mm_malloc.h: Likewise.
8337         * config/rs6000/mmintrin.h: Likewise.
8338         * config/rs6000/pmmintrin.h: Likewise.
8339         * config/rs6000/smmintrin.h: Likewise.
8340         * config/rs6000/tmmintrin.h: Likewise.
8341         * config/rs6000/xmmintrin.h: Likewise.
8343 2022-02-17  Robin Dapp  <rdapp@linux.ibm.com>
8345         PR target/104335
8346         * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
8347         if the expected comparison's first operand is of mode MODE_CC.
8349 2022-02-17  Vladimir N. Makarov  <vmakarov@redhat.com>
8351         PR rtl-optimization/104447
8352         * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
8353         hard reg set by lra_no_alloc_regs.
8355 2022-02-17  liuhongt  <hongtao.liu@intel.com>
8357         PR tree-optimization/104551
8358         PR tree-optimization/103771
8359         * match.pd (cond_expr_convert_p): Add types_match check when
8360         convert is extension.
8361         * tree-vect-patterns.cc
8362         (gimple_cond_expr_convert_p): Adjust comments.
8363         (vect_recog_cond_expr_convert_pattern): Ditto.
8365 2022-02-17  Jakub Jelinek  <jakub@redhat.com>
8367         PR debug/104557
8368         * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
8369         if expr has VOIDmode.
8371 2022-02-17  liuhongt  <hongtao.liu@intel.com>
8373         * config/i386/cpuid.h (bit_MPX): Removed.
8374         (bit_BNDREGS): Ditto.
8375         (bit_BNDCSR): Ditto.
8377 2022-02-17  Michael Meissner  <meissner@the-meissners.org>
8379         PR target/99708
8380         * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
8381         __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
8382         Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
8383         is created.
8385 2022-02-16  Andrew MacLeod  <amacleod@redhat.com>
8387         * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
8388         range_compatible_p instead of direct type comparison.
8390 2022-02-16  Jakub Jelinek  <jakub@redhat.com>
8392         PR rtl-optimization/104544
8393         * combine.cc (try_combine): When looking for insn whose links
8394         should be updated from i3 to i2, don't stop on debug insns, instead
8395         skip over them.
8397 2022-02-16  Richard Sandiford  <richard.sandiford@arm.com>
8399         PR target/100056
8400         * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
8401         * config/aarch64/aarch64.md: Extend the PR100056 patterns
8402         to handle plus in the same way as ior, if the operands have
8403         no set bits in common.
8405 2022-02-15  Andrew MacLeod  <amacleod@redhat.com>
8407         PR tree-optimization/104526
8408         * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
8409         new routine.
8410         * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
8411         of dependency chain if there isn't one.
8412         (gori_compute::condexpr_adjust): New.
8413         * gimple-range-gori.h (class gori_compute): New prototype.
8415 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
8417         PR target/100874
8418         * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
8419         Declare.
8420         * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
8421         * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
8423 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
8425         * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
8426         (vect_scalar_ops_slice_hash): Likewise.
8427         (vect_scalar_ops_slice::op): New function.
8428         * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
8429         (vect_scalar_ops_slice_hash::hash): Likewise.
8430         (vect_scalar_ops_slice_hash::equal): Likewise.
8431         (vect_prologue_cost_for_slp): Check for duplicate vectors.
8432         * config/aarch64/aarch64.cc
8433         (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
8434         (aarch64_aligned_constant_offset_p): New function.
8435         (aarch64_stp_sequence_cost): Likewise.
8436         (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
8437         (aarch64_vector_costs::finish_cost): Likewise.
8439 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
8441         * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
8442         use after free.
8444 2022-02-15  Richard Biener  <rguenther@suse.de>
8446         PR tree-optimization/104543
8447         * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
8448         come after the inner loop.
8450 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
8452         PR target/104536
8453         * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
8454         cannot instead of can%'t in diagnostics.  Formatting fixes.
8456 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
8458         PR middle-end/104522
8459         * fold-const.h (native_interpret_real): Declare.
8460         * fold-const.cc (native_interpret_real): No longer static.  Don't
8461         perform MODE_COMPOSITE_P verification here.
8462         (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
8463         for all modes.
8464         * gimple-fold.cc (clear_padding_type): Call native_interpret_real
8465         instead of native_interpret_expr.
8466         * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
8467         and comparison verification for all FLOAT_MODE_P modes, not just
8468         MODE_COMPOSITE_P.
8470 2022-02-15  Richard Biener  <rguenther@suse.de>
8472         PR tree-optimization/104519
8473         * fold-const.cc (multiple_of_p): Remove never true condition.
8474         * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
8475         the appropriate types for determining whether the difference
8476         of final and base is a multiple of the step.
8478 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
8480         PR debug/104517
8481         * omp-low.cc (task_cpyfns): New variable.
8482         (delete_omp_context): Don't call finalize_task_copyfn from here.
8483         (create_task_copyfn): Push task_stmt into task_cpyfns.
8484         (execute_lower_omp): Call finalize_task_copyfn here on entries from
8485         task_cpyfns vector and release the vector.
8487 2022-02-14  Martin Sebor  <msebor@redhat.com>
8489         PR middle-end/104355
8490         * doc/invoke.texi (-Warray-bounds): Update documentation.
8492 2022-02-14  Michael Meissner  <meissner@the-meissners.org>
8494         PR target/104253
8495         * config/rs6000/rs6000.cc (init_float128_ibm): Update the
8496         conversion functions used to convert IFmode types.
8498 2022-02-14  Andrew Stubbs  <ams@codesourcery.com>
8500         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
8502 2022-02-14  Richard Biener  <rguenther@suse.de>
8504         PR tree-optimization/104528
8505         * tree-ssa.h (find_released_ssa_name): Declare.
8506         * tree-ssa.cc (find_released_ssa_name): Export.
8507         * cfgloop.cc (verify_loop_structure): Look for released
8508         SSA names in loops nb_iterations.
8509         * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
8510         estimates.
8512 2022-02-14  Richard Biener  <rguenther@suse.de>
8514         PR tree-optimization/104511
8515         * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
8516         touching DFP <-> FP conversions.
8518 2022-02-14  Richard Biener  <rguenther@suse.de>
8520         PR middle-end/104497
8521         * gimplify.cc (gimplify_compound_lval): Make sure the
8522         base is a non-register if needed and possible.
8524 2022-02-13  liuhongt  <hongtao.liu@intel.com>
8526         PR target/103771
8527         * match.pd (cond_expr_convert_p): New match.
8528         * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
8529         (vect_recog_cond_expr_convert_pattern): New.
8531 2022-02-12  Jakub Jelinek  <jakub@redhat.com>
8533         PR sanitizer/104449
8534         * asan.cc: Include tree-eh.h.
8535         (handle_builtin_alloca): Handle the case when __builtin_alloca or
8536         __builtin_alloca_with_align can throw.
8538 2022-02-12  Jakub Jelinek  <jakub@redhat.com>
8540         PR target/104502
8541         * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
8542         and AVX512VL isn't available, move operands[1] to operands[0] first.
8544 2022-02-12  Uroš Bizjak  <ubizjak@gmail.com>
8546         PR target/79754
8547         * config/i386/i386.cc (type_natural_mode):
8548         Skip decimal float vector modes.
8550 2022-02-11  Iain Sandoe  <iain@sandoe.co.uk>
8551             Vladimir Makarov  <vmakarov@redhat.com>
8553         PR target/104117
8554         * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
8555         Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
8556         emitting PIC code.
8557         (legitimate_lo_sum_address_p): Likewise.
8558         * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
8559         load from an invalid lo_sum address.
8561 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
8563         PR tree-optimization/104499
8564         * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
8565         of convert.
8567 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
8569         * tree.cc (build_common_builtin_nodes): Fix up formatting in
8570         __builtin_clear_padding decl creation.
8571         * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
8572         for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
8573         argument rather than in 3rd argument.
8574         (gimplify_call_expr): Likewise.  Fix up comment formatting.
8575         * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
8576         2 arguments instead of 3, take for_auto_init from the value
8577         of 2nd argument.
8579 2022-02-11  Vladimir N. Makarov  <vmakarov@redhat.com>
8581         PR rtl-optimization/104400
8582         * lra-constraints.cc (process_alt_operands): Don't make union of
8583         this_alternative_exclude_start_hard_regs when reg class in insn
8584         alternative covers other reg classes in the same alternative.
8586 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
8588         PR middle-end/104446
8589         * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
8590         operands.
8592 2022-02-11  Richard Biener  <rguenther@suse.de>
8594         PR middle-end/104496
8595         * internal-fn.cc (vectorized_internal_fn_supported_p):
8596         Bail out for integer mode vector types.
8598 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
8600         PR rtl-optimization/104459
8601         * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
8602         moving DEBUG_INSNs between bbs.
8604 2022-02-11  liuhongt  <hongtao.liu@intel.com>
8606         PR tree-optimization/104479
8607         * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
8608         for the dest of uncond_op.
8610 2022-02-11  Tom de Vries  <tdevries@suse.de>
8612         PR target/104456
8613         * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
8614         insn.
8616 2022-02-10  Qing Zhao  <qing.zhao@oracle.com>
8618         PR middle-end/100775
8619         * function.cc (gen_call_used_regs_seq): Call
8620         df_update_exit_block_uses when updating df.
8622 2022-02-10  Uroš Bizjak  <ubizjak@gmail.com>
8624         PR target/104469
8625         * config/i386/sse.md (vec_unpacks_float_lo_v4si):
8626         Change operand 1 constraint to register_operand.
8628 2022-02-10  Richard Biener  <rguenther@suse.de>
8630         PR tree-optimization/104373
8631         * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
8632         walk kind.
8633         * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
8634         walk kind as argument.
8635         (run_rpo_vn): Adjust.
8636         (pass_fre::execute): Likewise.
8637         * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
8638         blocks not reachable.
8639         (execute_late_warn_uninitialized): Mark all edges as
8640         executable.
8641         (execute_early_warn_uninitialized): Use VN to compute
8642         executable edges.
8643         (pass_data_early_warn_uninitialized): Enable a dump file,
8644         change dump name to warn_uninit.
8646 2022-02-10  Richard Biener  <rguenther@suse.de>
8648         PR middle-end/104467
8649         * match.pd (vector extract simplification): Multiply the
8650         number of CTOR elements with the number of element elements.
8652 2022-02-10  Richard Biener  <rguenther@suse.de>
8654         PR tree-optimization/104466
8655         * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
8656         for the MR_DEPENDENCE checks as intended.
8658 2022-02-10  Tom de Vries  <tdevries@suse.de>
8660         * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
8661         define_insn.
8662         (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
8663         TARGET_SM70.
8664         (define_c_enum "unspecv"): Add UNSPECV_ST.
8666 2022-02-10  Tom de Vries  <tdevries@suse.de>
8668         * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
8669         * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
8670         (nvptx_mem_maybe_shared_p): New function.
8671         * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
8672         define_expand.
8674 2022-02-10  Tom de Vries  <tdevries@suse.de>
8676         PR target/97005
8677         * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
8678         driver JIT bug by using sub.s16 instead of sub.u16.
8680 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
8682         * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
8683         floating point constants as operands 1 and/or 2.
8685 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
8687         PR target/104345
8688         * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
8689         (sel_false<mode>): Likewise.
8690         (define_code_iterator eqne): New code iterator for EQ and NE.
8691         (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
8692         the negation of a selp instruction.
8693         (*selp<mode>_not_<code>): New define_insn_and_split to optimize
8694         the bitwise not of a selp instruction.
8695         (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
8697 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
8699         * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
8700         in machine description.
8701         (logic): Move code attribute earlier in machine description.
8702         (ilogic): New code attribute, like logic but "ior" for IOR.
8703         (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
8704         (<ilogic><mode>3): New define_insn for HSDIM logic operations.
8705         (<ilogic>bi3): New define_insn for BI mode logic operations.
8706         (define_split): Lower logic operations from integer modes to
8707         BI mode predicate operations.
8709 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
8711         * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
8712         (one_cmplbi2): New define_insn for not.pred.
8713         (mulditi3): New define_expand for signed widening multiply.
8714         (umulditi3): New define_expand for unsigned widening multiply.
8715         (smul<mode>3_highpart): New define_insn for signed highpart mult.
8716         (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
8717         (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
8718         (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
8719         (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
8720         (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
8721         (*setcc<mode>_from_not_bi): New define_insn.
8722         (*setcc_isinf<mode>): New define_insn for testp.infinite.
8723         (isinf<mode>2): New define_expand.
8725 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
8727         * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
8728         (setcc<mode>_from_bi): Additionally support QImode.
8729         (extendbi<mode>2): Additionally support QImode.
8730         (zero_extendbi<mode>2): Additionally support QImode.
8731         (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
8732         iterators for signed and unsigned, binary and unary operations.
8733         (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
8734         expanders to perform QImode operations using SImode instructions.
8735         (cstoreqi4): New define_expand.
8736         (*ext_truncsi2_qi): New define_insn.
8737         (*zext_truncsi2_qi): New define_insn.
8739 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
8741         * config/nvptx/nvptx.md (*cmpf): New define_insn.
8742         (cstorehf4): New define_expand.
8743         (fmahf4): New define_insn.
8744         (neghf2): New define_insn.
8745         (abshf2): New define_insn.
8747 2022-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
8749         * doc/install.texi (Specific): Change the www.bitwizard.nl
8750         reference to use https.
8752 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
8754         * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
8755         OMP_CLAUSE_HAS_DEVICE_ADDR
8756         and handle array sections.
8757         (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
8758         * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
8759         (lower_omp_target): Same.
8760         * tree-core.h (enum omp_clause_code): Same.
8761         * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
8762         (convert_local_omp_clauses): Same.
8763         * tree-pretty-print.cc (dump_omp_clause): Same.
8764         * tree.cc: Same.
8766 2022-02-10  Eugene Rozenfeld  <erozen@microsoft.com>
8768         * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
8769         that will result in direct recursive calls.
8771 2022-02-10  Andrew Pinski  <apinski@marvell.com>
8773         PR target/104474
8774         * config/aarch64/aarch64.cc
8775         (aarch64_sve_expand_vector_init_handle_trailing_constants):
8776         Use CONST0_RTX instead of const0_rtx for the non-constant elements.
8778 2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
8780         PR target/104462
8781         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
8782         Also include OPTION_MASK_ISA2_AVX2_UNSET.
8784 2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
8786         PR target/104458
8787         * config/i386/i386-expand.cc (ix86_split_idivmod):
8788         Force operands[2] and operands[3] into a register..
8790 2022-02-09  Jeff Law  <jeffreyalaw@gmail.com>
8792         PR target/97040
8793         * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
8794         (*v850_fnmssf4): Renamed from fnmssf4
8796 2022-02-09  Ian Lance Taylor  <iant@golang.org>
8798         * godump.cc (go_force_record_alignment): Really name the alignment
8799         field "_" (complete 2021-12-29 change).
8801 2022-02-09  Bill Schmidt  <wschmidt@linux.ibm.com>
8803         * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
8804         function prototype.
8805         (VREPLACE_UN_UV4SI): Likewise.
8806         (VREPLACE_UN_V2DF): Likewise.
8807         (VREPLACE_UN_V2DI): Likewise.
8808         (VREPLACE_UN_V4SF): Likewise.
8809         (VREPLACE_UN_V4SI): Likewise.
8810         * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
8811         function prototypes.
8812         * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
8813         (vreplace_un_<mode>): New define_insn.
8815 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8817         * config/aarch64/iterators.md (VDCSIF): New mode iterator.
8818         (VDBL): Handle SF.
8819         (single_wx, single_type, single_dtype, dblq): New mode attributes.
8820         * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
8821         from VDC to VDCSIF.
8822         (store_pair_lanes<mode>): Likewise.
8823         (*aarch64_combine_internal<mode>): Likewise.
8824         (*aarch64_combine_internal_be<mode>): Likewise.
8825         (*aarch64_combinez<mode>): Likewise.
8826         (*aarch64_combinez_be<mode>): Likewise.
8827         * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
8828         8-byte modes for ADDR_QUERY_LDP_STP_N.
8829         (aarch64_print_operand): Likewise for %y.
8831 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8833         * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
8834         Use aarch64_combine instead of move_lo/hi_quad.  Tabify.
8835         (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
8836         (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
8837         (vec_pack_trunc_<mode>): Take general_operand elements and use
8838         aarch64_combine rather than move_lo/hi_quad to combine them.
8839         (vec_pack_trunc_df): Likewise.
8841 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8843         * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
8844         Delete.
8845         * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
8846         to...
8847         (*aarch64_combinez<mode>): ...this.
8848         (@aarch64_combinez_be<mode>): Rename to...
8849         (*aarch64_combinez_be<mode>): ...this.
8850         (@aarch64_vec_concat<mode>): New expander.
8851         (aarch64_combine<mode>): Use it.
8852         (@aarch64_simd_combine<mode>): Delete.
8853         * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
8854         (aarch64_expand_vector_init): Use aarch64_vec_concat.
8856 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8858         * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
8859         New predicate.
8860         * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
8861         (*aarch64_combine_internal_be<mode>): New patterns.
8863 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8865         * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
8866         (move_lo_quad_internal_be_<mode>): Delete.
8867         (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
8869 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8871         * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
8872         Declare.
8873         * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
8874         aarch64_mergeable_load_pair_p instead of inline check.
8875         * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
8876         (aarch64_check_consecutive_mems): Allow the reversed parameter
8877         to be null.
8878         (aarch64_mergeable_load_pair_p): New function.
8880 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8882         * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
8883         element to be an aarch64_simd_nonimmediate_operand.
8885 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8887         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
8888         aarch64_simd_nonimmediate_operand instead of
8889         aarch64_simd_general_operand.
8890         (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
8891         general_operand.
8892         (@aarch64_combinez_be<mode>): Likewise.
8894 2022-02-09  Richard Biener  <rguenther@suse.de>
8896         PR middle-end/104464
8897         * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
8898         throwing check to after unproblematic replacement.
8900 2022-02-09  Roger Sayle  <roger@nextmovesoftware.com>
8902         PR tree-optimization/104420
8903         * match.pd (mult @0 real_zerop): Tweak conditions for constant
8904         folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
8906 2022-02-09  Jakub Jelinek  <jakub@redhat.com>
8908         PR debug/104407
8909         * dwarf2out.cc (mangle_referenced_decls): New function.
8910         (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
8911         early_dwarf.  Instead walk the initializer and try to mangle vars or
8912         functions referenced from it.
8914 2022-02-09  Andrew MacLeod  <amacleod@redhat.com>
8916         PR tree-optimization/104288
8917         * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
8918         (non_null_ref::adjust_range): Move to header.
8919         (ranger_cache::range_of_def): Don't check non-null.
8920         (ranger_cache::entry_range): Don't check non-null.
8921         (ranger_cache::range_on_edge): Check for nonnull on normal edges.
8922         (ranger_cache::update_to_nonnull): New.
8923         (non_null_loadstore): New.
8924         (ranger_cache::block_apply_nonnull): New.
8925         * gimple-range-cache.h (class non_null_ref): Update prototypes.
8926         (non_null_ref::adjust_range): Move to here and inline.
8927         (class ranger_cache): Update prototypes.
8928         * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
8929         not search dominators.
8930         (path_range_query::adjust_for_non_null_uses): Ditto.
8931         * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
8932         def overrides.  Do not check nonnull.
8933         (gimple_ranger::range_on_entry): Check dominators for nonnull.
8934         (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
8935         (gimple_ranger::register_side_effects): New.
8936         * gimple-range.h (gimple_ranger::register_side_effects): New.
8937         * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
8939 2022-02-09  Richard Biener  <rguenther@suse.de>
8941         PR tree-optimization/104445
8942         PR tree-optimization/102832
8943         * optabs-query.h (can_vec_extract): New.
8944         * optabs-query.cc (can_vec_extract): Likewise.
8945         * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
8946         we can extract a hi/lo part from the larger vector, rework
8947         check iteration from larger to smaller sizes.
8949 2022-02-09  H.J. Lu  <hjl.tools@gmail.com>
8951         PR target/35513
8952         PR target/100593
8953         * config/i386/gnu-property.cc: Include "i386-protos.h".
8954         (file_end_indicate_exec_stack_and_gnu_property): Generate
8955         a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
8956         nodirect_extern_access attribute.
8957         * config/i386/i386-options.cc
8958         (handle_nodirect_extern_access_attribute): New function.
8959         (ix86_attribute_table): Add nodirect_extern_access attribute.
8960         * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
8961         bool argument.
8962         (ix86_has_no_direct_extern_access): New.
8963         * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
8964         (ix86_force_load_from_GOT_p): Add a bool argument to indicate
8965         call operand.  Force non-call load from GOT for
8966         -mno-direct-extern-access or nodirect_extern_access attribute.
8967         (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
8968         for -mno-direct-extern-access or nodirect_extern_access attribute.
8969         (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
8970         for call operand.
8971         (asm_preferred_eh_data_format): Use PC-relative format for
8972         -mno-direct-extern-access to avoid copy relocation.  Check
8973         ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
8974         (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
8975         true for -mno-direct-extern-access or nodirect_extern_access
8976         attribute.  Don't treat protected data as extern and avoid copy
8977         relocation on common symbol with -mno-direct-extern-access or
8978         nodirect_extern_access attribute.
8979         (ix86_reloc_rw_mask): New to avoid copy relocation for
8980         -mno-direct-extern-access.
8981         (TARGET_ASM_RELOC_RW_MASK): New.
8982         * config/i386/i386.opt: Add -mdirect-extern-access.
8983         * doc/extend.texi: Document nodirect_extern_access attribute.
8984         * doc/invoke.texi: Document -m[no-]direct-extern-access.
8986 2022-02-09  H.J. Lu  <hjl.tools@gmail.com>
8988         PR target/104441
8989         * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
8990         (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
8991         Call ix86_avx_u128_mode_source to check mode for each component
8992         of source operand.
8994 2022-02-09  liuhongt  <hongtao.liu@intel.com>
8996         PR target/104451
8997         * config/i386/sse.md (<insn><mode>3): lowpart_subreg
8998         operands[2] from SImode to QImode.
9000 2022-02-09  Richard Biener  <rguenther@suse.de>
9002         PR middle-end/104450
9003         * gimple-isel.cc: Pass cfun around.
9004         (+gimple_expand_vec_cond_expr): Do not combine a throwing
9005         comparison with the select.
9007 2022-02-09  Richard Biener  <rguenther@suse.de>
9009         PR target/104453
9010         * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
9011         folding for NULL LHS.
9013 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
9015         PR rtl-optimization/104198
9016         PR rtl-optimization/104153
9017         * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
9018         using it directly.  Rework comparison handling and always
9019         perform a second pass.
9021 2022-02-08  Jakub Jelinek  <jakub@redhat.com>
9023         PR target/102140
9024         * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
9025         split1 pass has finished already.
9027 2022-02-08  Bill Schmidt  <wschmidt@linux.ibm.com>
9029         * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
9030         * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
9031         * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
9032         (vmsumcud): New define_insn.
9034 2022-02-08  Tom de Vries  <tdevries@suse.de>
9036         * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
9037         * config/nvptx/nvptx.h (TARGET_SM70): Define.
9039 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
9041         * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
9042         on condition.
9043         * config/s390/s390.md: Use paradoxical subreg.
9045 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
9047         * combine.cc (reg_subword_p): Check for paradoxical subreg.
9049 2022-02-08  Tom de Vries  <tdevries@suse.de>
9051         PR target/104283
9052         * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
9053         and PTX_VERSION_4_2.
9054         * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
9055         (default_ptx_version_option, ptx_version_to_string)
9056         (sm_version_to_string, handle_ptx_version_option): New function.
9057         (nvptx_option_override): Call handle_ptx_version_option.
9058         (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
9059         * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
9060         (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
9061         * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
9063 2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
9065         * doc/install.texi (Configuration): Document `--with-isa-spec='
9066         RISC-V option.
9067         * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
9068         option.
9069         (RISC-V Options): Document it.
9071 2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
9073         * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
9075 2022-02-08  Tom de Vries  <tdevries@suse.de>
9077         * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
9079 2022-02-08  Tom de Vries  <tdevries@suse.de>
9081         PR target/104364
9082         * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
9083         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
9084         change is validated.
9085         (nvptx_mem_local_p): New function.
9086         * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
9087         (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
9088         (define_insn "atomic_compare_and_swap<mode>_1_local"): New
9089         non-atomic, non-predicable define_insn, factored out of ...
9090         (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
9091         Make predicable again.
9092         (define_expand "atomic_compare_and_swap<mode>"): Use
9093         atomic_compare_and_swap<mode>_1_local.
9095 2022-02-08  liuhongt  <hongtao.liu@intel.com>
9097         PR rtl-optimization/104059
9098         * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
9099         for a more expensive reg-reg move.
9101 2022-02-07  Tamar Christina  <tamar.christina@arm.com>
9103         * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
9104         vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
9105         * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
9106         (usdot_laneq, sudot_laneq): New.
9107         * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
9108         (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
9110 2022-02-07  Tamar Christina  <tamar.christina@arm.com>
9112         * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
9113         vdot_laneq_s32, vdotq_laneq_s32): New.
9114         * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
9115         * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
9116         (<sup>dot_prod<vsi2qi>): Re-order rtl.
9117         (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
9118         (neon_<sup>dot_laneq<vsi2qi>): New.
9120 2022-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>
9122         PR target/104327
9123         * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
9124         if always_inline is set. Don't inline when tune differs without
9125         always_inline.
9127 2022-02-07  Richard Biener  <rguenther@suse.de>
9129         PR middle-end/104402
9130         * gimple-expr.cc (is_gimple_condexpr): _Complex typed
9131         compares are not valid.
9132         * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
9133         check is_gimple_condexpr.
9135 2022-02-07  Kewen Lin  <linkw@linux.ibm.com>
9137         PR target/103627
9138         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
9139         hunk affecting VSX and ALTIVEC to appropriate place.
9141 2022-02-07  Kewen Lin  <linkw@linux.ibm.com>
9143         PR target/103627
9144         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
9145         MMA if !TARGET_VSX.
9147 2022-02-06  Jakub Jelinek  <jakub@redhat.com>
9149         PR c++/89074
9150         PR c++/104033
9151         * fold-const.h (folding_initializer): Adjust comment.
9152         (folding_cxx_constexpr): Declare.
9153         * fold-const.cc (folding_initializer): Adjust comment.
9154         (folding_cxx_constexpr): New variable.
9155         (address_compare): Restrict the decl vs. STRING_CST
9156         or vice versa or STRING_CST vs. STRING_CST or
9157         is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
9158         Punt for FUNCTION_DECLs with non-zero offsets.  If folding_initializer,
9159         assume non-aliased functions have non-zero size and have different
9160         addresses.  For folding_cxx_constexpr, punt on comparisons of start
9161         of some object and end of another one, regardless whether it is a decl
9162         or string literal.  Also punt for folding_cxx_constexpr on
9163         STRING_CST vs. STRING_CST comparisons if the two literals could be
9164         overlapping.
9166 2022-02-05  Jakub Jelinek  <jakub@redhat.com>
9168         PR tree-optimization/104389
9169         * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
9170         honored.
9172 2022-02-05  Kito Cheng  <kito.cheng@sifive.com>
9174         * configure.ac: Fix detection for zifencei support.
9175         * configure: Regenerate.
9177 2022-02-05  Kito Cheng  <kito.cheng@sifive.com>
9179         PR target/104219
9180         * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
9181         (all_defaults): Add isa_spec.
9182         * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
9184 2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
9186         * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
9187         parameters instead of arglist and nargs.  Simplify accordingly.  Remove
9188         unnecessary test for argument count mismatch.
9189         (resolve_vec_cmpne): Likewise.
9190         (resolve_vec_adde_sube): Likewise.
9191         (resolve_vec_addec_subec): Likewise.
9192         (altivec_resolve_overloaded_builtin): Move overload special handling
9193         after the gathering of arguments into args[] and types[] and the test
9194         for correct number of arguments.  Don't perform the test for correct
9195         number of arguments for certain special cases.  Call the other special
9196         cases with args and types instead of arglist and nargs.
9198 2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
9200         PR target/100808
9201         * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
9202         3.1): Provide consistent type names.  Remove unnecessary semicolons.
9203         Fix bad line breaks.
9205 2022-02-04  Jakub Jelinek  <jakub@redhat.com>
9207         PR target/104380
9208         * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
9209         adjust mangling of __builtin*printf_chk.
9211 2022-02-04  Jonathan Wakely  <jwakely@redhat.com>
9213         * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
9215 2022-02-04  Richard Biener  <rguenther@suse.de>
9216             Bin Cheng   <bin.cheng@linux.alibaba.com>
9218         PR tree-optimization/100499
9219         * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
9220         to true.
9221         * fold-const.cc (multiple_of_p): Likewise.  Honor it for
9222         MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
9223         switching to false for conversions.
9224         * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
9225         claim the outermost expression does not wrap when calling
9226         multiple_of_p.  Refactor the check done to check the
9227         original IV, avoiding a bias that might wrap.
9229 2022-02-04  Richard Biener  <rguenther@suse.de>
9231         * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
9232         handling.
9234 2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
9236         PR debug/104366
9237         * dwarf2out.cc (dwarf2out_finish): Empty base_types.
9238         (dwarf2out_early_finish): Likewise.
9240 2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
9242         PR tree-optimization/104356
9243         * match.pd (X / bool_range_Y is X): Add guard.
9244         (X / X is one): Likewise.
9245         (X / abs (X) is X < 0 ? -1 : 1): Likewise.
9246         (X / -X is -1): Likewise.
9247         (1 / X -> X == 1): Likewise.
9249 2022-02-04  Richard Biener  <rguenther@suse.de>
9251         PR tree-optimization/103641
9252         * tree-vect-patterns.cc (vect_synth_mult_by_constant):
9253         Pass the vector mode to choose_mult_variant.
9255 2022-02-04  Roger Sayle  <roger@nextmovesoftware.com>
9257         PR rtl-optimization/101885
9258         * combine.cc (try_combine): When splitting a parallel into two
9259         sequential sets, check not only that the first doesn't clobber
9260         the second but also that the second doesn't clobber the first.
9262 2022-02-04  Richard Biener  <rguenther@suse.de>
9264         PR middle-end/90348
9265         PR middle-end/104092
9266         * tree-core.h (clobber_kind): New enum.
9267         (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
9268         * tree.h (CLOBBER_KIND): Add.
9269         (build_clobber): Add clobber kind argument, defaulted to
9270         CLOBBER_UNDEF.
9271         * tree.cc (build_clobber): Likewise.
9272         * gimple.h (gimple_clobber_p): New overload with specified kind.
9273         * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
9274         CLOBBER_KIND.
9275         * tree-streamer-out.cc (streamer_write_tree_bitfields):
9276         Likewise.
9277         * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
9278         * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
9279         with CLOBBER_EOL.
9280         (gimplify_target_expr): Likewise.
9281         * tree-inline.cc (expand_call_inline): Likewise.
9282         * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
9283         * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
9284         CLOBBER_EOL clobbers as ending lifetime of storage.
9286 2022-02-04  Martin Sebor  <msebor@redhat.com>
9288         * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
9289         cleanup.
9291 2022-02-03  Martin Sebor  <msebor@redhat.com>
9293         PR middle-end/104260
9294         * passes.def (pass_warn_access): Adjust pass placement.
9296 2022-02-03  Uroš Bizjak  <ubizjak@gmail.com>
9298         PR target/104362
9299         * config/i386/i386.cc (find_drap_reg): For 32bit targets
9300         return DI_REG if function uses __builtin_eh_return.
9302 2022-02-03  Martin Sebor  <msebor@redhat.com>
9304         * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
9305         (pass_wrestrict::m_ptr_qry): New member.
9306         (wrestrict_walk): Rename...
9307         (pass_wrestrict::check_block): ...to this.
9308         (pass_wrestrict::execute): Set up and tear down pointer_query and
9309         ranger.
9310         (builtin_memref::builtin_memref): Change ctor argument.  Simplify.
9311         (builtin_access::builtin_access): Same.
9312         (builtin_access::m_ptr_qry): New member.
9313         (check_call): Rename...
9314         (pass_wrestrict::check_call): ...to this.
9315         (check_bounds_or_overlap): Change argument.
9316         * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
9318 2022-02-03  Martin Sebor  <msebor@redhat.com>
9320         * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
9321         Define ctor.
9322         (array_bounds_checker::get_value_range): Use new member.
9323         (array_bounds_checker::check_mem_ref): Same.
9324         * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
9325         Outline ctor.
9326         (array_bounds_checker::m_ptr_query): New member.
9328 2022-02-03  Martin Sebor  <msebor@redhat.com>
9330         * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
9331         pointer_query cache.
9332         * pointer-query.cc (pointer_query::pointer_query): Remove cache
9333         argument.  Zero-initialize new cache member.
9334         (pointer_query::get_ref): Replace cache pointer with direct access.
9335         (pointer_query::put_ref): Same.
9336         (pointer_query::flush_cache): Same.
9337         (pointer_query::dump): Same.
9338         * pointer-query.h (class pointer_query): Remove cache argument from
9339         ctor.  Change cache pointer to cache subobject member.
9340         * tree-ssa-strlen.cc: Remove pointer_query cache.
9342 2022-02-03  Martin Sebor  <msebor@redhat.com>
9344         PR tree-optimization/104119
9345         * gimple-ssa-sprintf.cc (struct directive): Change argument type.
9346         (format_none): Same.
9347         (format_percent): Same.
9348         (format_integer): Same.
9349         (format_floating): Same.
9350         (get_string_length): Same.
9351         (format_character): Same.
9352         (format_string): Same.
9353         (format_plain): Same.
9354         (format_directive): Same.
9355         (compute_format_length): Same.
9356         (handle_printf_call): Same.
9357         * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same.   Call
9358         get_maxbound.
9359         (get_range_strlen_phi): Same.
9360         (get_maxbound): New function.
9361         (strlen_pass::get_len_or_size): Adjust to parameter change.
9362         * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
9364 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
9366         PR target/103686
9367         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
9368         test for !rs6000_fold_gimple.
9369         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
9370         * config/rs6000/rs6000.opt (mfold-gimple): Remove.
9372 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
9374         PR target/95082
9375         * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
9376         endianness for vclzlsbb and vctzlsbb.
9377         * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
9378         default pattern and indicate a different pattern will be used for
9379         big endian.
9380         (VCLZLSBB_V4SI): Likewise.
9381         (VCLZLSBB_V8HI): Likewise.
9382         (VCTZLSBB_V16QI): Likewise.
9383         (VCTZLSBB_V4SI): Likewise.
9384         (VCTZLSBB_V8HI): Likewise.
9386 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
9388         * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
9389         * config/rs6000/rs6000-builtin.cc: New file, containing code moved
9390         from other files.
9391         * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
9392         rs6000-builtin.cc.
9393         (cpu_supports_info): Likewise.
9394         (rs6000_type_string): Likewise.
9395         (altivec_expand_predicate_builtin): Likewise.
9396         (rs6000_htm_spr_icode): Likewise.
9397         (altivec_expand_vec_init_builtin): Likewise.
9398         (get_element_number): Likewise.
9399         (altivec_expand_vec_set_builtin): Likewise.
9400         (altivec_expand_vec_ext_builtin): Likewise.
9401         (rs6000_invalid_builtin): Likewise.
9402         (rs6000_fold_builtin): Likewise.
9403         (fold_build_vec_cmp): Likewise.
9404         (fold_compare_helper): Likewise.
9405         (map_to_integral_tree_type): Likewise.
9406         (fold_mergehl_helper): Likewise.
9407         (fold_mergeeo_helper): Likewise.
9408         (rs6000_builtin_valid_without_lhs): Likewise.
9409         (rs6000_builtin_is_supported): Likewise.
9410         (rs6000_gimple_fold_mma_builtin): Likewise.
9411         (rs6000_gimple_fold_builtin): Likewise.
9412         (rs6000_expand_ldst_mask): Likewise.
9413         (cpu_expand_builtin): Likewise.
9414         (elemrev_icode): Likewise.
9415         (ldv_expand_builtin): Likewise.
9416         (lxvrse_expand_builtin): Likewise.
9417         (lxvrze_expand_builtin): Likewise.
9418         (stv_expand_builtin): Likewise.
9419         (mma_expand_builtin): Likewise.
9420         (htm_spr_num): Likewise.
9421         (htm_expand_builtin): Likewise.
9422         (rs6000_expand_builtin): Likewise.
9423         (rs6000_vector_type): Likewise.
9424         (rs6000_init_builtins): Likewise.  Remove initialization of
9425         builtin_mode_to_type entries.
9426         (rs6000_builtin_decl): Move to rs6000-builtin.cc.
9427         * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
9428         external declaration.
9429         (rs6000_builtin_md_vectorized_function): Likewise.
9430         (rs6000_builtin_reciprocal): Likewise.
9431         (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
9432         (rs6000_builtin_types): Likewise.
9433         (builtin_mode_to_type): Remove.
9434         (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc.  Remove
9435         static qualifier.
9436         (rs6000_builtin_md_vectorized_function): Likewise.
9437         (rs6000_builtin_reciprocal): Likewise.
9438         * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
9439         * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
9441 2022-02-03  Richard Biener  <rguenther@suse.de>
9443         PR debug/104337
9444         * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
9445         together via DECL_ABSTRACT_ORIGIN.
9447 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
9449         * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
9450         message for RES_BITS case.
9452 2022-02-03  Aldy Hernandez  <aldyh@redhat.com>
9454         * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
9456 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
9458         * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
9459         mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
9461 2022-02-03  Aldy Hernandez  <aldyh@redhat.com>
9463         * cfganal.cc (verify_marked_backedges): New.
9464         * cfganal.h (verify_marked_backedges): New.
9465         * gimple-range-path.cc (path_range_query::path_range_query):
9466         Verify freshness of back edges.
9467         * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
9468         mark_dfs_back_edges.
9469         * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
9470         path_range_query construction after backedges have been
9471         updated.
9473 2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
9475         * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
9476         VALL to VALL_F16.
9478 2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
9480         * config/aarch64/iterators.md (VALL_F16MOV): Delete.
9481         * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
9482         of VALL_F16MOV.
9484 2022-02-03  Martin Liska  <mliska@suse.cz>
9486         * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
9487         Change subject and object in the error message.
9488         * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
9489         Likewise.
9491 2022-02-03  Martin Liska  <mliska@suse.cz>
9493         * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
9494         Use the error message for i386 target.
9496 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
9498         PR tree-optimization/104334
9499         * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
9500         and rh_range type to widest_int and subtract in widest_int.  Remove
9501         ov_rh, ov_lh and sign vars, always perform comparisons as signed
9502         and use >, < and == operators for it.
9504 2022-02-03  Martin Sebor  <msebor@redhat.com>
9506         * common.opt (-Wuse-after-free): Correct typos.
9508 2022-02-02  David Malcolm  <dmalcolm@redhat.com>
9510         PR analyzer/104270
9511         * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
9512         -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
9513         -ftrivial-auto-var-init= doesn't suppress warnings.
9515 2022-02-02  Martin Liska  <mliska@suse.cz>
9517         * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
9519 2022-02-02  Bernd Kuhls  <bernd.kuhls@t-online.de>
9521         PR target/94372
9522         * config/or1k/linux.h (CPP_SPEC): Define.
9524 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
9526         PR tree-optimization/102819
9527         PR tree-optimization/103169
9528         * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
9529         canonical order.
9531 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
9533         PR tree-optimization/102819
9534         PR tree-optimization/103169
9535         * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
9536         canonical order.
9537         * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
9539 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
9541         PR tree-optimization/102819
9542         PR tree-optimization/103169
9543         * doc/md.texi: Update docs for cfms, cfma.
9544         * tree-data-ref.h (same_data_refs): Accept optional offset.
9545         * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
9546         patterns.
9547         (vect_normalize_conj_loc): Remove.
9548         (is_eq_or_top): Change to take two nodes.
9549         (enum _conj_status, compatible_complex_nodes_p,
9550         vect_validate_multiplication): New.
9551         (class complex_add_pattern, complex_add_pattern::matches,
9552         complex_add_pattern::recognize, class complex_mul_pattern,
9553         complex_mul_pattern::recognize, class complex_fms_pattern,
9554         complex_fms_pattern::recognize, class complex_operations_pattern,
9555         complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
9556         new cache.
9557         (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
9558         cache and use new validation code.
9559         * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
9560         vect_analyze_slp): Pass along cache.
9561         (compatible_calls_p): Expose.
9562         * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
9563         slp_compat_nodes_map_t): New.
9564         (class vect_pattern): Update signatures include new cache.
9566 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
9568         * config/cris/cris.cc (cris_preferred_reload_class): Reject
9569         "eliminated" registers and small-enough constants unless
9570         reloaded into a class that is a subset of GENERAL_REGS.
9571         * config/cris/cris.md (attribute "cpu_variant"): New.
9572         (attribute "enabled"): Conditionalize on a matching attribute
9573         cpu_variant, if specified.
9574         ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
9575         memory, add cpu-variant-enabled variants for "r" alternatives on
9576         the far side of the "x" alternatives, preferring the "x" ones
9577         only for variants where MOF is present (in addition to SRP).
9579 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
9581         * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
9582         extra cost for ALL_REGS.
9584 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
9586         * config/cris/constraints.md (define_register_constraint "b"): Now
9587         GENERAL_REGS.
9588         * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
9589         * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
9590         (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
9591         and SPEC_GENNONACR_REGS.
9592         * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
9593         ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
9595 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
9597         * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
9598         Conditionalize on (sub-)register operands or operand 1 being 0.
9600 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
9602         * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
9603         (MUL_BUG_ASM_DEFAULT): New macro.
9604         (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
9605         * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
9606         accordingly.
9608 2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
9610         * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
9611         to 10 for AutoFDO.
9613 2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
9615         * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
9617 2022-02-01  Andrew Pinski  <apinski@marvell.com>
9619         * doc/install.texi:
9621 2022-02-01  Ilya Leoshkevich  <iii@linux.ibm.com>
9623         * config/s390/s390.cc (s390_code_end): Do not switch back to
9624         code section.
9626 2022-02-01  Jakub Jelinek  <jakub@redhat.com>
9628         PR target/104323
9629         * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
9630         rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
9631         * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
9632         GTY((user)) for struct bifdata and struct ovlddata.  Instead add
9633         GTY((skip(""))) to members with pointer and enum types that don't need
9634         to be tracked.  Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
9635         declarations.  Don't emit gt_ggc_mx and gt_pch_nx declarations.
9636         (write_extern_fntype, write_fntype): Remove.
9637         (write_fntype_init): Emit the fntype vars as automatic vars instead
9638         of file scope ones.
9639         (write_header_file): Don't iterate with write_extern_fntype.
9640         (write_init_file): Don't iterate with write_fntype.  Don't emit
9641         gt_ggc_mx and gt_pch_nx definitions.
9643 2022-02-01  Jason Merrill  <jason@redhat.com>
9645         * tree.h (struct tree_vec_map_cache_hasher): Move from...
9646         * tree.cc (struct tree_vec_map_cache_hasher): ...here.
9648 2022-02-01  Tom de Vries  <tdevries@suse.de>
9650         * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
9651         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
9652         UNSPECV_UNIFORM_WARP_CHECK.
9653         (define_insn "nvptx_uniform_warp_check"): New define_insn.
9655 2022-02-01  Tom de Vries  <tdevries@suse.de>
9657         * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
9658         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
9659         UNSPECV_WARPSYNC.
9660         (define_insn "nvptx_warpsync"): New define_insn.
9662 2022-02-01  Tom de Vries  <tdevries@suse.de>
9664         * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
9666 2022-02-01  Tom de Vries  <tdevries@suse.de>
9668         * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
9669         * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
9670         * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
9671         insn for TARGET_PTX_6_0.
9673 2022-02-01  Tom de Vries  <tdevries@suse.de>
9675         PR target/100428
9676         * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
9677         insn.
9679 2022-02-01  Tom de Vries  <tdevries@suse.de>
9681         * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
9682         (define_insn "atomic_exchange<mode>")
9683         (define_insn "atomic_fetch_add<mode>")
9684         (define_insn "atomic_fetch_addsf")
9685         (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
9686         if memory operands is frame-relative.
9688 2022-02-01  Tom de Vries  <tdevries@suse.de>
9690         * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
9691         NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
9692         (VOID): New macro.
9693         (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
9694         (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
9695         NVPTX_BUILTIN_MEMBAR_CTA.
9696         (nvptx_lockfull_update): Add level parameter.  Emit barriers.
9697         (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
9698         nvptx_lockfull_update.
9699         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
9700         UNSPECV_MEMBAR_GL.
9701         (define_expand "nvptx_membar_gl"): New expand.
9702         (define_insn "*nvptx_membar_gl"): New insn.
9704 2022-02-01  Martin Liska  <mliska@suse.cz>
9706         * doc/install.texi: Remove option for GCC < 4.8.
9708 2022-02-01  Jakub Jelinek  <jakub@redhat.com>
9710         PR middle-end/104307
9711         * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
9712         stmts to uses vector, just set vec_cond_expr_only to false for
9713         non-VEC_COND_EXPRs instead of pushing them into uses.  Treat
9714         VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
9715         like non-VEC_COND_EXPRs.
9717 2022-02-01  Bill Schmidt  <wschmidt@linux.ibm.com>
9719         * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
9720         (VEC_BLENDV): Likewise.
9721         (VEC_BPERM): Likewise.
9722         (VEC_CFUGE): Likewise.
9723         (VEC_CIPHER_BE): Likewise.
9724         (VEC_CIPHERLAST_BE): Likewise.
9725         (VEC_CLRL): Likewise.
9726         (VEC_CLRR): Likewise.
9727         (VEC_CMPNEZ): Likewise.
9728         (VEC_CNTLZ): Likewise.
9729         (VEC_CNTLZM): Likewise.
9730         (VEC_CNTTZM): Likewise.
9731         (VEC_CNTLZ_LSBB): Likewise.
9732         (VEC_CNTM): Likewise.
9733         (VEC_CNTTZ): Likewise.
9734         (VEC_CNTTZ_LSBB): Likewise.
9735         (VEC_CONVERT_4F32_8F16): Likewise.
9736         (VEC_DIV): Likewise.
9737         (VEC_DIVE): Likewise.
9738         (VEC_EQV): Likewise.
9739         (VEC_EXPANDM): Likewise.
9740         (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
9741         (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
9742         (VEC_EXTRACTH): Likewise.
9743         (VEC_EXTRACTL): Likewise.
9744         (VEC_EXTRACTM): Likewise.
9745         (VEC_EXTRACT4B): Likewise.
9746         (VEC_EXTULX): Likewise.
9747         (VEC_EXTURX): Likewise.
9748         (VEC_FIRSTMATCHINDEX): Likewise.
9749         (VEC_FIRSTMACHOREOSINDEX): Likewise.
9750         (VEC_FIRSTMISMATCHINDEX): Likewise.
9751         (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
9752         (VEC_GB): Likewise.
9753         (VEC_GENBM): Likewise.
9754         (VEC_GENHM): Likewise.
9755         (VEC_GENWM): Likewise.
9756         (VEC_GENDM): Likewise.
9757         (VEC_GENQM): Likewise.
9758         (VEC_GENPCVM): Likewise.
9759         (VEC_GNB): Likewise.
9760         (VEC_INSERTH): Likewise.
9761         (VEC_INSERTL): Likewise.
9762         (VEC_INSERT4B): Likewise.
9763         (VEC_LXVL): Likewise.
9764         (VEC_MERGEE): Likewise.
9765         (VEC_MERGEO): Likewise.
9766         (VEC_MOD): Likewise.
9767         (VEC_MSUB): Likewise.
9768         (VEC_MULH): Likewise.
9769         (VEC_NAND): Likewise.
9770         (VEC_NCIPHER_BE): Likewise.
9771         (VEC_NCIPHERLAST_BE): Likewise.
9772         (VEC_NEARBYINT): Likewise.
9773         (VEC_NMADD): Likewise.
9774         (VEC_ORC): Likewise.
9775         (VEC_PDEP): Likewise.
9776         (VEC_PERMX): Likewise.
9777         (VEC_PEXT): Likewise.
9778         (VEC_POPCNT): Likewise.
9779         (VEC_PARITY_LSBB): Likewise.
9780         (VEC_REPLACE_ELT): Likewise.
9781         (VEC_REPLACE_UN): Likewise.
9782         (VEC_REVB): Likewise.
9783         (VEC_RINT): Likewise.
9784         (VEC_RLMI): Likewise.
9785         (VEC_RLNM): Likewise.
9786         (VEC_SBOX_BE): Likewise.
9787         (VEC_SIGNEXTI): Likewise.
9788         (VEC_SIGNEXTLL): Likewise.
9789         (VEC_SIGNEXTQ): Likewise.
9790         (VEC_SLDB): Likewise.
9791         (VEC_SLV): Likewise.
9792         (VEC_SPLATI): Likewise.
9793         (VEC_SPLATID): Likewise.
9794         (VEC_SPLATI_INS): Likewise.
9795         (VEC_SQRT): Likewise.
9796         (VEC_SRDB): Likewise.
9797         (VEC_SRV): Likewise.
9798         (VEC_STRIL): Likewise.
9799         (VEC_STRIL_P): Likewise.
9800         (VEC_STRIR): Likewise.
9801         (VEC_STRIR_P): Likewise.
9802         (VEC_STXVL): Likewise.
9803         (VEC_TERNARYLOGIC): Likewise.
9804         (VEC_TEST_LSBB_ALL_ONES): Likewise.
9805         (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
9806         (VEC_VEE): Likewise.
9807         (VEC_VES): Likewise.
9808         (VEC_VIE): Likewise.
9809         (VEC_VPRTYB): Likewise.
9810         (VEC_VSCEEQ): Likewise.
9811         (VEC_VSCEGT): Likewise.
9812         (VEC_VSCELT): Likewise.
9813         (VEC_VSCEUO): Likewise.
9814         (VEC_VSEE): Likewise.
9815         (VEC_VSES): Likewise.
9816         (VEC_VSIE): Likewise.
9817         (VEC_VSTDC): Likewise.
9818         (VEC_VSTDCN): Likewise.
9819         (VEC_VTDC): Likewise.
9820         (VEC_XL): Likewise.
9821         (VEC_XL_BE): Likewise.
9822         (VEC_XL_LEN_R): Likewise.
9823         (VEC_XL_SEXT): Likewise.
9824         (VEC_XL_ZEXT): Likewise.
9825         (VEC_XST): Likewise.
9826         (VEC_XST_BE): Likewise.
9827         (VEC_XST_LEN_R): Likewise.
9828         (VEC_XST_TRUNC): Likewise.
9829         (VEC_XXPERMDI): Likewise.
9830         (VEC_XXSLDWI): Likewise.
9831         (VEC_TSTSFI_EQ_DD): Likewise.
9832         (VEC_TSTSFI_EQ_TD): Likewise.
9833         (VEC_TSTSFI_GT_DD): Likewise.
9834         (VEC_TSTSFI_GT_TD): Likewise.
9835         (VEC_TSTSFI_LT_DD): Likewise.
9836         (VEC_TSTSFI_LT_TD): Likewise.
9837         (VEC_TSTSFI_OV_DD): Likewise.
9838         (VEC_TSTSFI_OV_TD): Likewise.
9839         (VEC_VADDCUQ): Likewise.
9840         (VEC_VADDECUQ): Likewise.
9841         (VEC_VADDEUQM): Likewise.
9842         (VEC_VADDUDM): Likewise.
9843         (VEC_VADDUQM): Likewise.
9844         (VEC_VBPERMQ): Likewise.
9845         (VEC_VCLZB): Likewise.
9846         (VEC_VCLZD): Likewise.
9847         (VEC_VCLZH): Likewise.
9848         (VEC_VCLZW): Likewise.
9849         (VEC_VCTZB): Likewise.
9850         (VEC_VCTZD): Likewise.
9851         (VEC_VCTZH): Likewise.
9852         (VEC_VCTZW): Likewise.
9853         (VEC_VEEDP): Likewise.
9854         (VEC_VEESP): Likewise.
9855         (VEC_VESDP): Likewise.
9856         (VEC_VESSP): Likewise.
9857         (VEC_VIEDP): Likewise.
9858         (VEC_VIESP): Likewise.
9859         (VEC_VPKSDSS): Likewise.
9860         (VEC_VPKSDUS): Likewise.
9861         (VEC_VPKUDUM): Likewise.
9862         (VEC_VPKUDUS): Likewise.
9863         (VEC_VPOPCNT): Likewise.
9864         (VEC_VPOPCNTB): Likewise.
9865         (VEC_VPOPCNTD): Likewise.
9866         (VEC_VPOPCNTH): Likewise.
9867         (VEC_VPOPCNTW): Likewise.
9868         (VEC_VPRTYBD): Likewise.
9869         (VEC_VPRTYBQ): Likewise.
9870         (VEC_VPRTYBW): Likewise.
9871         (VEC_VRLD): Likewise.
9872         (VEC_VSLD): Likewise.
9873         (VEC_VSRAD): Likewise.
9874         (VEC_VSRD): Likewise.
9875         (VEC_VSTDCDP): Likewise.
9876         (VEC_VSTDCNDP): Likewise.
9877         (VEC_VSTDCNQP): Likewise.
9878         (VEC_VSTDCNSP): Likewise.
9879         (VEC_VSTDCQP): Likewise.
9880         (VEC_VSTDCSP): Likewise.
9881         (VEC_VSUBECUQ): Likewise.
9882         (VEC_VSUBEUQM): Likewise.
9883         (VEC_VSUBUDM): Likewise.
9884         (VEC_VSUBUQM): Likewise.
9885         (VEC_VTDCDP): Likewise.
9886         (VEC_VTDCSP): Likewise.
9887         (VEC_VUPKHSW): Likewise.
9888         (VEC_VUPKLSW): Likewise.
9890 2022-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>
9892         PR rtl-optimization/101260
9893         * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
9894         copy_regno.
9896 2022-02-01  Xi Ruoyao  <xry111@mengyan1223.wang>
9898         PR middle-end/95115
9899         * fold-const.cc (const_binop): Do not fold NaN result from
9900           non-NaN operands.
9902 2022-02-01  Tom de Vries  <tdevries@suse.de>
9904         * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
9905         -ftree-loop-distribute-patterns.
9906         (loop_distribution::execute): Don't call transform_reduction_loop for
9907         -fno-tree-loop-distribute-patterns.
9909 2022-01-31  Andrew Pinski  <apinski@marvell.com>
9911         * fold-const.h (operand_compare::operand_equal_p):
9912         Fix comment about OEP_* flags.
9914 2022-01-31  Jakub Jelinek  <jakub@redhat.com>
9916         PR target/104298
9917         * config/rs6000/aix.h (OPTION_GLIBC): Remove.
9918         * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
9919         * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
9920         if not already defined.
9922 2022-01-31  Martin Sebor  <msebor@redhat.com>
9924         PR middle-end/104232
9925         * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
9926         Handle PHIs.  Add a synonymous overload.
9927         (pass_waccess::check_pointer_uses): Call pointers_related_p.
9929 2022-01-31  Richard Biener  <rguenther@suse.de>
9931         PR tree-optimization/100499
9932         * fold-const.cc (multiple_of_p): Pass the correct type of
9933         the expression to the recursive invocation of multiple_of_p
9934         for conversions and use CASE_CONVERT.
9936 2022-01-31  Eric Botcazou  <ebotcazou@adacore.com>
9938         PR target/104189
9939         * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
9941 2022-01-31  Richard Biener  <rguenther@suse.de>
9943         PR tree-optimization/100499
9944         * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
9945         on poly-ints instead of multiple_of_p.
9946         * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
9947         (non_rewritable_mem_ref_base): Likewise.
9948         (non_rewritable_lvalue_p): Likewise.
9949         (execute_update_addresses_taken): Likewise.
9951 2022-01-29  Jakub Jelinek  <jakub@redhat.com>
9952             Andrew Pinski  <apinski@marvell.com>
9954         PR tree-optimization/104279
9955         PR tree-optimization/104280
9956         PR tree-optimization/104281
9957         * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
9958         boolean_type_node and convert to type.  Formatting fixes.
9960 2022-01-28  Yoshinori Sato  <yo-satoh@sios.com>
9962         * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
9964 2022-01-28  Navid Rahimi  <navidrahimi@microsoft.com>
9966         PR tree-optimization/103514
9967         * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
9968         (a & b) == (a ^ b) -> !(a | b): New optimization.
9970 2022-01-28  Marek Polacek  <polacek@redhat.com>
9972         * doc/invoke.texi: Update -Wbidi-chars documentation.
9974 2022-01-28  Iain Sandoe  <iain@sandoe.co.uk>
9976         * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
9978 2022-01-28  Zhao Wei Liew  <zhaoweiliew@gmail.com>
9980         PR tree-optimization/95424
9981         * match.pd: Simplify 1 / X where X is an integer.
9983 2022-01-28  Jakub Jelinek  <jakub@redhat.com>
9985         PR tree-optimization/104263
9986         * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
9987         cfun->can_throw_non_call_exceptions && cfun->eh test whether
9988         last non-debug stmt in the bb is store_valid_for_store_merging_p
9989         rather than last stmt.
9991 2022-01-28  Martin Liska  <mliska@suse.cz>
9993         * diagnostic.cc (diagnostic_action_after_output): Remove extra
9994         newline.
9996 2022-01-28  Martin Liska  <mliska@suse.cz>
9998         * config/rs6000/host-darwin.cc (segv_crash_handler):
9999         Do not use leading capital letter.
10000         (segv_handler): Likewise.
10001         * ipa-sra.cc (verify_splitting_accesses): Likewise.
10002         * varasm.cc (get_section): Likewise.
10004 2022-01-28  Richard Biener  <rguenther@suse.de>
10006         PR tree-optimization/104267
10007         * tree-vect-stmts.cc (vectorizable_call): Properly use the
10008         per-argument determined vector type for externals and
10009         invariants.
10011 2022-01-28  Richard Biener  <rguenther@suse.de>
10013         PR tree-optimization/104263
10014         * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
10015         Purge edges also when !cfun->has_nonlocal_label
10016         and !cfun->calls_setjmp.
10018 2022-01-28  Maciej W. Rozycki  <macro@embecosm.com>
10020         * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
10021         attributes.
10023 2022-01-28  Jakub Jelinek  <jakub@redhat.com>
10025         PR lto/104237
10026         * cfgrtl.cc (loc_equal): New function.
10027         (unique_locus_on_edge_between_p): Use it.
10029 2022-01-28  Richard Biener  <rguenther@suse.de>
10031         * cfganal.h (mark_dfs_back_edges): Provide API with struct
10032         function argument.
10033         * cfganal.cc (mark_dfs_back_edges): Take a struct function
10034         to work on, add a wrapper passing cfun.
10035         * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
10036         uses with fun which is already passed.
10037         (draw_cfg_edges): Likewise.
10038         (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
10039         for fun != cfun.
10041 2022-01-27  Patrick Palka  <ppalka@redhat.com>
10043         PR c++/99895
10044         * tree.cc (build_call_vec): Add const to second parameter.
10045         * tree.h (build_call_vec): Likewise.
10047 2022-01-27  Martin Liska  <mliska@suse.cz>
10049         PR web/104254
10050         * diagnostic.cc (diagnostic_initialize):
10051         Initialize report_bug flag.
10052         (diagnostic_action_after_output):
10053         Explain that -freport-bug option can be used for pre-processed
10054         file creation.  Make the message shorter.
10055         (error_recursion): Rename Internal to internal.
10056         * diagnostic.h (struct diagnostic_context): New field.
10057         * opts.cc (common_handle_option): Init the field here.
10059 2022-01-27  Kewen Lin  <linkw@linux.ibm.com>
10061         PR target/103702
10062         * config/rs6000/rs6000.cc
10063         (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
10064         assertion with early return.
10066 2022-01-27  Chung-Lin Tang  <cltang@codesourcery.com>
10068         PR middle-end/103642
10069         * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
10070         for non-pointer or non-reference-to-pointer cases.
10072 2022-01-27  Jakub Jelinek  <jakub@redhat.com>
10074         PR tree-optimization/104196
10075         * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
10076         * gimple-fold.cc (rewrite_to_defined_overflow): Likewise.  If true,
10077         return NULL and emit needed stmts before and after stmt.
10078         * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
10079         pick as operand_entry that will hold the merged test the one feeding
10080         earliest condition, ensure that by swapping range->idx with some
10081         other range's idx if needed.  If seq is non-NULL, don't actually swap
10082         it but instead rewrite stmts with undefined overflow in between
10083         the two locations.
10084         (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
10085         corresponding condition even if they have non-NULL ops[]->op.
10086         Formatting fix.
10088 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
10090         PR target/104239
10091         * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
10092         asm.
10093         * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
10094         before for loop instead of for init clause.
10095         * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
10097 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
10099         PR target/104239
10100         * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
10101         _X86INTRIN_H_INCLUDED and adjust #error wording.
10102         * config/rs6000/bmi2intrin.h: Likewise.
10104 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
10106         PR debug/104194
10107         * dwarf2out.cc (long_double_as_float128): New function.
10108         (modified_type_die): For powerpc64le IEEE 754 quad long double
10109         and complex long double emit those as DW_TAG_typedef to
10110         _Float128 or complex _Float128 base type.
10112 2022-01-26  Marek Polacek  <polacek@redhat.com>
10114         PR target/104213
10115         * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
10116         warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
10118 2022-01-26  Martin Liska  <mliska@suse.cz>
10120         * ipa-modref-tree.cc (modref_access_node::update):
10121         Remove "--param param=foo" with "--param foo".
10122         (modref_access_node::insert): Likewise.
10123         (modref_access_node::insert_kill): Likewise.
10124         * ipa-modref-tree.h (struct modref_ref_node): Likewise.
10125         (struct modref_base_node): Likewise.
10126         (struct modref_tree): Likewise.
10128 2022-01-26  Raoni Fassina Firmino  <raoni@linux.ibm.com>
10130         PR target/94193
10131         * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
10132         predicate check.
10134 2022-01-25  Martin Sebor  <msebor@redhat.com>
10136         PR tree-optimization/104203
10137         * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
10138         TV_WARN_ACCESS.
10139         * pointer-query.cc (access_ref::merge_ref): Change return type.
10140         Convert failure to a conservative success.
10141         (access_ref::get_ref): Adjust to the change above.  Short-circuit
10142         PHI evaluation after first failure turned into conservative success.
10143         * pointer-query.h (access_ref::merge_ref): Change return type.
10144         * timevar.def (TV_WARN_ACCESS): New timer variable.
10146 2022-01-25  David Edelsohn  <dje.gcc@gmail.com>
10148         * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
10150 2022-01-25  Richard Biener  <rguenther@suse.de>
10152         PR tree-optimization/104214
10153         * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
10154         stronger guarantees for relational pointer compares when
10155         rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
10156         BASE0 + STEP0 - STEP1 cmp BASE1.
10158 2022-01-25  Jakub Jelinek  <jakub@redhat.com>
10160         PR target/104172
10161         * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
10162         declare.
10163         * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
10164         ieee128_mangling_gcc_8_1): Remove.
10165         (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
10166         (rs6000_mangle_type): Return "u9__ieee128" instead of
10167         ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
10168         (rs6000_globalize_decl_name): Remove.
10169         * config/rs6000/rs6000-call.cc (init_cumulative_args,
10170         rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
10172 2022-01-24  Martin Sebor  <msebor@redhat.com>
10174         * pointer-query.cc (pointer_query::dump): Remove duplicate
10175         block.
10177 2022-01-24  Marek Polacek  <polacek@redhat.com>
10179         PR preprocessor/104030
10180         * doc/invoke.texi: Update documentation for -Wbidi-chars.
10182 2022-01-24  Raoni Fassina Firmino  <raoni@linux.ibm.com>
10184         PR target/94193
10185         * builtins.cc (expand_builtin_fegetround): New function.
10186         (expand_builtin_feclear_feraise_except): New function.
10187         (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
10188         BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
10189         * config/rs6000/rs6000.md (fegetroundsi): New pattern.
10190         (feclearexceptsi): New Pattern.
10191         (feraiseexceptsi): New Pattern.
10192         * doc/extend.texi: Add a new introductory paragraph about the
10193         new builtins.
10194         * doc/md.texi: (fegetround@var{m}): Document new optab.
10195         (feclearexcept@var{m}): Document new optab.
10196         (feraiseexcept@var{m}): Document new optab.
10197         * optabs.def (fegetround_optab): New optab.
10198         (feclearexcept_optab): New optab.
10199         (feraiseexcept_optab): New optab.
10201 2022-01-24  Richard Biener  <rguenther@suse.de>
10202             Jiufu Guo  <guojiufu@linux.ibm.com>
10204         PR tree-optimization/100740
10205         PR tree-optimization/101508
10206         PR tree-optimization/101972
10207         PR tree-optimization/102131
10208         * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
10209         constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
10210         BASE0 + STEP0 - STEP1 cmp BASE1 transform.
10212 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
10214         PR sanitizer/104158
10215         * opt-functions.awk (var_set): Handle EnumBitSet property.
10216         * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
10217         specified.
10218         * opts.h (enum cl_enum_var_value): New type.
10219         * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
10220         Handle CLEV_BITSET.
10221         (cmdline_handle_error): Handle CLEV_BITSET.
10222         * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
10223         * doc/options.texi (EnumBitSet): Document.
10224         * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
10225         EnumSet.
10226         (trace-pc, trace-cmp): Drop Set properties.
10228 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
10230         PR sanitizer/104158
10231         * common.opt (flag_sanitize_coverage): Remove Variable entry.
10232         (fsanitize-coverage=): Remove RejectNegative property, add
10233         Var(flag_sanitize_coverage) and EnumSet properties.
10234         (trace-pc): Add Set(1) property.
10235         (trace-cmp): Add Set(2) property.
10236         * opts.cc (common_handle_option): Don't handle
10237         OPT_fsanitize_coverage_.
10239 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
10241         PR sanitizer/104158
10242         * opt-functions.awk (var_set): Handle EnumSet property.
10243         * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
10244         specified.
10245         * opt-read.awk: Handle Set property.
10246         * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
10247         (struct cl_decoded_option): Mention enum in value description.
10248         Add mask member.
10249         (set_option): Add mask argument defaulted to 0.
10250         * opts.cc (test_enum_sets): New function.
10251         (opts_cc_tests): Call it.
10252         * opts-common.cc (enum_arg_to_value): Change return argument
10253         from bool to int, on success return index into the cl_enum_arg
10254         array, on failure -1.  Add len argument, if non-0, use strncmp
10255         instead of strcmp.
10256         (opt_enum_arg_to_value): Adjust caller.
10257         (decode_cmdline_option): Handle EnumSet represented as
10258         CLVC_ENUM with non-zero var_value.  Initialize decoded->mask.
10259         (decode_cmdline_options_to_array): CLear opt_array[0].mask.
10260         (handle_option): Pass decoded->mask to set_options last argument.
10261         (generate_option): Clear decoded->mask.
10262         (generate_option_input_file): Likewise.
10263         (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
10264         (set_option): Add mask argument, use it for CLVC_ENUM.
10265         (control_warning_option): Adjust enum_arg_to_value caller.
10266         * doc/options.texi: Document Set and EnumSet properties.
10268 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
10270         PR bootstrap/104170
10271         * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
10272         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
10273         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
10274         using OPTION_*_P macros.
10275         * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
10276         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
10277         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
10278         using OPTION_*_P macros.
10279         * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
10280         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
10281         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
10282         using OPTION_*_P macros.
10283         * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
10284         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
10285         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
10286         using OPTION_*_P macros.
10287         * config/fuchsia.h (OPTION_MUSL_P): Redefine.
10288         * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
10289         * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
10290         ATTRIBUTE_UNUSED to opts parameter.  If OPTION_GLIBC_P is defined, use
10291         OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
10292         * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
10293         OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
10294         otherwise assume if (true).
10296 2022-01-24  Kito Cheng  <kito.cheng@sifive.com>
10298         * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
10299         Skip zicsr and zifencei if I-ext is 2.0.
10301 2022-01-24  Jia-Wei Chen  <jiawei@iscas.ac.cn>
10303         * config.gcc: Modify default isa_spec version.
10305 2022-01-24  Jiufu Guo  <guojiufu@linux.ibm.com>
10307         PR tree-optimization/102087
10308         * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
10309         Correct PLUS result type.
10311 2022-01-24  H.J. Lu  <hjl.tools@gmail.com>
10313         PR target/104188
10314         * config/i386/predicates.md (bcst_mem_operand): Also check mode
10315         of memory broadcast.
10317 2022-01-23  Andrew Pinski  <apinski@marvell.com>
10319         PR target/64821
10320         * config/aarch64/aarch64-builtins.cc
10321         (aarch64_general_gimple_fold_builtin): Handle
10322         __builtin_aarch64_sqrt* and simplify into SQRT internal
10323         function.
10325 2022-01-22  Jakub Jelinek  <jakub@redhat.com>
10327         PR other/104176
10328         * opts-global.cc (handle_common_deferred_options): Quote
10329         --enable-plugin in diagnostics to avoid -Werror=format-diag.
10331 2022-01-21  Michael Meissner  <meissner@the-meissners.org>
10333         PR target/104136
10334         * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
10335         * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
10336         * config/rs6000/rs6000.md (prefixed attribute): Delete section
10337         that sets the prefixed attribute for xxspltiw, xxspltidp, and
10338         xxsplti32dx instructions.
10339         (movsf_hardfloat): Explicitly set the prefixed attribute
10340         when xxspltiw and xxspltidp instructions are generated.
10341         (mov<mode>_hardfloat32): Likewise.
10342         (mov<mode>_hardfloat64): Likewise.
10343         * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
10344         prefixed attribute for xxspltiw and xxspltidp instructions.
10345         (vsx_mov<mode>_32bit): Likewise.
10347 2022-01-21  H.J. Lu  <hjl.tools@gmail.com>
10349         PR bootstrap/104170
10350         * common/config/i386/i386-common.cc (ix86_supports_split_stack):
10351         Return true only on glibc.
10352         * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
10353         Revert commit c163647ffbc.
10354         * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
10356 2022-01-21  Sören Tempel  <soeren@soeren-tempel.net>
10358         * common/config/s390/s390-common.cc (s390_supports_split_stack):
10359         Only support split-stack on glibc targets.
10360         * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
10361         * config/i386/gnu.h (defined): Ditto.
10363 2022-01-21  Bill Schmidt  <wschmidt@linux.ibm.com>
10365         * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
10366         vector float and vector double.
10368 2022-01-21  Bill Seurer  <seurer@gcc.gnu.org>
10370         * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
10371         Fix mention of ifunc in string.
10373 2022-01-21  Roger Sayle  <roger@nextmovesoftware.com>
10375         PR middle-end/104140
10376         * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
10377         operands of the widening multiplication are either both signed or
10378         both unsigned, and abort the conversion if mismatched.
10379         * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
10380         (MULT_HIGHPART_EXPR): Clarify that operands must have the same
10381         signedness.
10382         * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
10383         integer types with the same precision and signedness.
10384         (WIDEN_MULT_EXPR): Document that operands must have integer types
10385         with the same precision, but possibly differing signedness.
10386         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
10387         riscv_current_subset_list returning a NULL pointer (empty list).
10389 2022-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>
10391         PR target/103676
10392         * ira.h (struct target_ira): Add member
10393         x_ira_exclude_class_mode_regs.
10394         (ira_exclude_class_mode_regs): New macro.
10395         * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
10396         move from here ...
10397         * lra-int.h: ... to here.
10398         (lra_create_new_reg_with_unique_value): Add arg
10399         exclude_start_hard_regs.
10400         (class lra_reg): Add member exclude_start_hard_regs.
10401         * lra-assigns.cc (find_hard_regno_for_1): Setup
10402         impossible_start_hard_regs from exclude_start_hard_regs.
10403         * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
10404         it lra_create_new_reg[_with_unique_value].
10405         (match_reload): Ditto.
10406         (check_and_process_move): Pass NULL
10407         exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
10408         (goal_alt_exclude_start_hard_regs): New static variable.
10409         (process_addr_reg, simplify_operand_subreg): Pass NULL
10410         exclude_start_hard_regs to lra_create_new_reg_with_unique_value
10411         and get_reload_reg.
10412         (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
10413         Use this_alternative_exclude_start_hard_regs additionally to find
10414         winning operand alternative.
10415         (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
10416         exclude_start_hard_regs to lra_create_new_reg.
10417         (process_address_1, emit_inc): Ditto.
10418         (curr_insn_transform): Pass exclude_start_hard_regs value to
10419         lra_create_new_reg, get_reload_reg, match_reload.
10420         (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
10421         to lra_create_new_reg.
10422         (process_invariant_for_inheritance): Ditto.
10423         * lra-remat.cc (update_scratch_ops): Ditto.
10424         * lra.cc (lra_create_new_reg_with_unique_value): Add arg
10425         exclude_start_hard_regs.  Setup the corresponding member of
10426         lra reg info.
10427         (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
10428         to lra_create_new_reg_with_unique_value.
10429         (initialize_lra_reg_info_element): Initialize member
10430         exclude_start_hard_regs.
10431         (get_scratch_reg): Pass NULL to lra_create_new_reg.
10432         * ira.cc (setup_prohibited_class_mode_regs): Rename to
10433         setup_prohibited_and_exclude_class_mode_regs and calculate
10434         ira_exclude_class_mode_regs.
10436 2022-01-21  Martin Liska  <mliska@suse.cz>
10438         * configure.ac: Detect ld_is_mold and use it for
10439         comdat_group=yes and gcc_cv_ld_hidden=yes.
10440         * configure: Regenerate.
10442 2022-01-21  Richard Biener  <rguenther@suse.de>
10444         PR tree-optimization/100089
10445         * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
10446         of if-converted loops with unvectorized COND_EXPRs for
10447         all but the unlimited cost models.
10449 2022-01-21  Ard Biesheuvel  <ardb@kernel.org>
10451         * config/arm/arm-opts.h (enum stack_protector_guard): New.
10452         * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
10453         New.
10454         * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
10455         (arm_option_override_internal): Handle and put in error checks.
10456         for stack protector guard options.
10457         (arm_option_reconfigure_globals): Likewise.
10458         (arm_stack_protect_tls_canary_mem): New.
10459         (arm_stack_protect_guard): New.
10460         * config/arm/arm.md (stack_protect_set): New.
10461         (stack_protect_set_tls): Likewise.
10462         (stack_protect_test): Likewise.
10463         (stack_protect_test_tls): Likewise.
10464         (reload_tp_hard): Likewise.
10465         * config/arm/arm.opt (-mstack-protector-guard): New
10466         (-mstack-protector-guard-offset): New.
10467         * doc/invoke.texi: Document new options.
10469 2022-01-21  Richard Biener  <rguenther@suse.de>
10471         PR tree-optimization/104156
10472         * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
10473         Collect and reset debug stmts with out-of-loop uses when
10474         hoisting guards.
10475         (find_loop_guard): Adjust.
10476         (empty_bb_without_guard_p): Likewise.  Ignore debug stmts.
10477         (used_outside_loop_p): Push debug uses to a vector of
10478         debug stmts to reset.
10479         (hoist_guard): Adjust -fopt-info category.
10481 2022-01-21  Richard Biener  <rguenther@suse.de>
10483         PR tree-optimization/104152
10484         * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
10485         can_duplicate_and_interleave_p check.
10487 2022-01-21  Jakub Jelinek  <jakub@redhat.com>
10489         * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
10490         Avoid passing var to warning_at when the format string doesn't
10491         refer to it.
10493 2022-01-21  Aldy Hernandez  <aldyh@redhat.com>
10495         PR tree-optimization/103721
10496         * gimple-range-path.cc
10497         (path_range_query::relations_may_be_invalidated): New.
10498         (path_range_query::compute_ranges_in_block): Reset relations if
10499         they may be invalidated.
10500         (path_range_query::maybe_register_phi_relation): Exit if relations
10501         may be invalidated on incoming edge.
10502         (path_range_query::compute_phi_relations): Pass incoming PHI edge
10503         to maybe_register_phi_relation.
10504         * gimple-range-path.h (relations_may_be_invalidated): New.
10505         (maybe_register_phi_relation): Pass edge instead of tree.
10506         * tree-ssa-threadbackward.cc (back_threader::back_threader):
10507         Mark DFS edges.
10508         * value-relation.cc (path_oracle::path_oracle): Call
10509         mark_dfs_back_edges.
10510         (path_oracle::register_relation): Add SSA names to m_registered
10511         bitmap.
10512         (path_oracle::reset_path): Clear m_registered bitmap.
10513         * value-relation.h (path_oracle::set_root_oracle): New.
10515 2022-01-21  Jakub Jelinek  <jakub@redhat.com>
10517         PR rtl-optimization/102478
10518         * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
10519         force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
10520         would be needed.
10522 2022-01-20  Richard Biener  <rguenther@suse.de>
10524         PR middle-end/100786
10525         * gimple-fold.cc (get_symbol_constant_value): Only return
10526         values of compatible type to the symbol.
10528 2022-01-20  Andrew MacLeod  <amacleod@redhat.com>
10530         * value-relation.cc (relation_oracle::valid_equivs): Query and add
10531         if valid members of a set.
10532         (equiv_oracle::register_equiv): Call valid_equivs rather than
10533         bitmap direct operations.
10534         (path_oracle::register_equiv): Ditto.
10535         * value-relation.h (relation_oracle::valid_equivs): New prototype.
10537 2022-01-20  Richard Biener  <rguenther@suse.de>
10539         PR target/100784
10540         * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
10541         LHS before folding __builtin_ia32_shufpd and friends.
10543 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
10545         * config/arm/crypto.md (aes_op_protect): Allow moves from core
10546         registers and from memory.
10547         (aes_op_protect_misalign_load): New pattern.
10548         (aes_op_protect_neon_vld1v16qi): New pattern.
10550 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
10552         * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
10553         New pattern.
10554         (aarch32_crypto_aese_fused_protected): Likewise.
10555         (aarch32_crypto_aesd_fused_protected): Likewise.
10557 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
10559         * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
10560         to define_expand.  Add mitigation for the Cortex-A AES erratum
10561         when enabled.
10562         (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
10563         on original crypto_<CRYPTO_AES:crypto_pattern> insn.
10564         (aes_op_protect): New pattern.
10565         * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
10567 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
10569         * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
10570         (ALL_QUIRKS): Add it.
10571         (cortex-a57, cortex-a72): Enable it.
10572         (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
10573         * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
10574         option.
10575         (mfix-cortex-a72-aes-1655431): New option alias.
10576         * config/arm/arm.cc (arm_option_override): Handle default settings
10577         for AES erratum switch.
10578         * doc/invoke.texi (Arm Options): Document new options.
10580 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
10582         * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
10583         <crypto_mode> rather than hard-coding the mode.
10584         (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
10585         (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
10586         (*aarch32_crypto_aese_fused): Likewise.
10587         (*aarch32_crypto_aesd_fused): Likewise.
10588         (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
10589         (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
10590         (crypto_sha1h_lb): Likewise.
10591         (crypto_vmullp64): Likewise.
10592         (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
10593         (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
10595 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
10597         * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
10598         iterator to pattern name to disambiguate.
10599         (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
10600         (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
10601         (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
10602         (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
10603         (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
10605 2022-01-20  Martin Liska  <mliska@suse.cz>
10607         PR bootstrap/104135
10608         * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
10609         * rtl.cc: Partially disable -Wformat-diag for RTL checking
10610         error messages.
10612 2022-01-20  Jakub Jelinek  <jakub@redhat.com>
10614         PR debug/103874
10615         * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
10616         block_num > 0, index entry even if !have_multiple_function_sections.
10618 2022-01-20  liuhongt  <hongtao.liu@intel.com>
10620         PR target/103771
10621         * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
10622         integral mode mask pack by multi steps which takes
10623         vec_pack_sbool_trunc_optab as start when elements number is
10624         less than BITS_PER_UNITS.
10626 2022-01-20  Richard Biener  <rguenther@suse.de>
10628         PR tree-optimization/104114
10629         * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
10630         single element vector decomposition.
10632 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
10634         * ifcvt.cc (noce_convert_multiple_sets_1): New function.
10635         (noce_convert_multiple_sets): Call function a second time if we can
10636         improve the first try.
10638 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
10640         * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
10641         reversed comparison.
10642         (try_emit_cmove_seq): New function to facilitate creating a cmov
10643         sequence.
10644         (noce_convert_multiple_sets): Create two sequences and use the less
10645         expensive one.
10647 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
10649         * rtl.h (struct rtx_comparison): New struct that holds an rtx
10650         comparison.
10651         * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
10652         single parameters.
10653         (rs6000_emit_swsqrt): Likewise.
10654         * expmed.cc (expand_sdiv_pow2): Likewise.
10655         (emit_store_flag): Likewise.
10656         * expr.cc (expand_cond_expr_using_cmove): Likewise.
10657         (expand_expr_real_2): Likewise.
10658         * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
10659         parameters.
10660         * optabs.cc (emit_conditional_move_1): New function.
10661         (expand_doubleword_shift_condmove): Use struct.
10662         (emit_conditional_move): Use struct and allow to call directly
10663         without going through preparation steps.
10664         * optabs.h (emit_conditional_move): Use struct.
10666 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
10668         * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
10669         (noce_process_if_block): Use potential costs.
10671 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
10673         * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
10674         (bb_ok_for_noce_convert_multiple_sets): Likewise.
10676 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
10678         * ifcvt.cc (need_cmov_or_rewire): New function.
10679         (noce_convert_multiple_sets): Call it.
10681 2022-01-19  David Malcolm  <dmalcolm@redhat.com>
10683         * attribs.cc (attribute_c_tests): Rename to...
10684         (attribs_cc_tests): ...this.
10685         * bitmap.cc (bitmap_c_tests): Rename to...
10686         (bitmap_cc_tests): ...this.
10687         * cgraph.cc (cgraph_c_finalize): Rename to...
10688         (cgraph_cc_finalize): ...this.
10689         (cgraph_c_tests): Rename to...
10690         (cgraph_cc_tests): ...this.
10691         * cgraph.h (cgraph_c_finalize): Rename to...
10692         (cgraph_cc_finalize): ...this.
10693         (cgraphunit_c_finalize): Rename to...
10694         (cgraphunit_cc_finalize): ...this.
10695         * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
10696         (cgraphunit_cc_finalize): ...this.
10697         * convert.cc (convert_c_tests): Rename to...
10698         (convert_cc_tests): ...this.
10699         * dbgcnt.cc (dbgcnt_c_tests): Rename to...
10700         (dbgcnt_cc_tests): ...this.
10701         * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
10702         (diagnostic_show_locus_cc_tests): ...this.
10703         * diagnostic.cc (diagnostic_c_tests): Rename to...
10704         (diagnostic_cc_tests): ...this.
10705         * dumpfile.cc (dumpfile_c_tests): Rename to...
10706         (dumpfile_cc_tests): ...this.
10707         * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
10708         (dwarf2out_cc_finalize): ...this.
10709         * dwarf2out.h (dwarf2out_c_finalize): Rename to...
10710         (dwarf2out_cc_finalize): ...this.
10711         * edit-context.cc (edit_context_c_tests): Rename to...
10712         (edit_context_cc_tests): ...this.
10713         * et-forest.cc (et_forest_c_tests): Rename to...
10714         (et_forest_cc_tests): ...this.
10715         * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
10716         (fibonacci_heap_cc_tests): ...this.
10717         * fold-const.cc (fold_const_c_tests): Rename to...
10718         (fold_const_cc_tests): ...this.
10719         * function-tests.cc (function_tests_c_tests): Rename to...
10720         (function_tests_cc_tests): ...this.
10721         * gcse.cc (gcse_c_finalize): Rename to...
10722         (gcse_cc_finalize): ...this.
10723         * gcse.h (gcse_c_finalize): Rename to...
10724         (gcse_cc_finalize): ...this.
10725         * ggc-tests.cc (ggc_tests_c_tests): Rename to...
10726         (ggc_tests_cc_tests): ...this.
10727         * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
10728         (store_merging_cc_tests): ...this.
10729         * gimple.cc (gimple_c_tests): Rename to...
10730         (gimple_cc_tests): ...this.
10731         * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
10732         (hash_map_tests_cc_tests): ...this.
10733         * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
10734         (hash_set_tests_cc_tests): ...this.
10735         * input.cc (input_c_tests): Rename to...
10736         (input_cc_tests): ...this.
10737         * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
10738         (ipa_cp_cc_finalize): ...this.
10739         * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
10740         (ipa_fnsummary_cc_finalize): ...this.
10741         * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
10742         (ipa_fnsummary_cc_finalize): ...this.
10743         * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
10744         (ipa_modref_tree_cc_tests): ...this.
10745         * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
10746         * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
10747         (ipa_modref_cc_finalize): ...this.
10748         * ipa-modref.h (ipa_modref_c_finalize): Rename to...
10749         (ipa_modref_cc_finalize): ...this.
10750         * ipa-prop.h (ipa_cp_c_finalize): Rename to...
10751         (ipa_cp_cc_finalize): ...this.
10752         * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
10753         (ipa_reference_cc_finalize): ...this.
10754         * ipa-reference.h (ipa_reference_c_finalize): Rename to...
10755         (ipa_reference_cc_finalize): ...this.
10756         * ira-costs.cc (ira_costs_c_finalize): Rename to...
10757         (ira_costs_cc_finalize): ...this.
10758         * ira.h (ira_costs_c_finalize): Rename to...
10759         (ira_costs_cc_finalize): ...this.
10760         * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
10761         (opt_suggestions_cc_tests): ...this.
10762         * opts.cc (opts_c_tests): Rename to...
10763         (opts_cc_tests): ...this.
10764         * predict.cc (predict_c_tests): Rename to...
10765         (predict_cc_tests): ...this.
10766         * pretty-print.cc (pretty_print_c_tests): Rename to...
10767         (pretty_print_cc_tests): ...this.
10768         * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
10769         (read_rtl_function_cc_tests): ...this.
10770         * rtl-tests.cc (rtl_tests_c_tests): Rename to...
10771         (rtl_tests_cc_tests): ...this.
10772         * sbitmap.cc (sbitmap_c_tests): Rename to...
10773         (sbitmap_cc_tests): ...this.
10774         * selftest-run-tests.cc (selftest::run_tests): Update calls for
10775         _c_ to _cc_ function renamings; fix names of attribs and
10776         opt-suggestions tests.
10777         * selftest.cc (selftest_c_tests): Rename to...
10778         (selftest_cc_tests): ...this.
10779         * selftest.h (attribute_c_tests): Rename to...
10780         (attribs_cc_tests): ...this.
10781         (bitmap_c_tests): Rename to...
10782         (bitmap_cc_tests): ...this.
10783         (cgraph_c_tests): Rename to...
10784         (cgraph_cc_tests): ...this.
10785         (convert_c_tests): Rename to...
10786         (convert_cc_tests): ...this.
10787         (diagnostic_c_tests): Rename to...
10788         (diagnostic_cc_tests): ...this.
10789         (diagnostic_show_locus_c_tests): Rename to...
10790         (diagnostic_show_locus_cc_tests): ...this.
10791         (dumpfile_c_tests): Rename to...
10792         (dumpfile_cc_tests): ...this.
10793         (edit_context_c_tests): Rename to...
10794         (edit_context_cc_tests): ...this.
10795         (et_forest_c_tests): Rename to...
10796         (et_forest_cc_tests): ...this.
10797         (fibonacci_heap_c_tests): Rename to...
10798         (fibonacci_heap_cc_tests): ...this.
10799         (fold_const_c_tests): Rename to...
10800         (fold_const_cc_tests): ...this.
10801         (function_tests_c_tests): Rename to...
10802         (function_tests_cc_tests): ...this.
10803         (ggc_tests_c_tests): Rename to...
10804         (ggc_tests_cc_tests): ...this.
10805         (gimple_c_tests): Rename to...
10806         (gimple_cc_tests): ...this.
10807         (hash_map_tests_c_tests): Rename to...
10808         (hash_map_tests_cc_tests): ...this.
10809         (hash_set_tests_c_tests): Rename to...
10810         (hash_set_tests_cc_tests): ...this.
10811         (input_c_tests): Rename to...
10812         (input_cc_tests): ...this.
10813         (opts_c_tests): Rename to...
10814         (opts_cc_tests): ...this.
10815         (predict_c_tests): Rename to...
10816         (predict_cc_tests): ...this.
10817         (pretty_print_c_tests): Rename to...
10818         (pretty_print_cc_tests): ...this.
10819         (read_rtl_function_c_tests): Rename to...
10820         (read_rtl_function_cc_tests): ...this.
10821         (rtl_tests_c_tests): Rename to...
10822         (rtl_tests_cc_tests): ...this.
10823         (sbitmap_c_tests): Rename to...
10824         (sbitmap_cc_tests): ...this.
10825         (selftest_c_tests): Rename to...
10826         (selftest_cc_tests): ...this.
10827         (simplify_rtx_c_tests): Rename to...
10828         (simplify_rtx_cc_tests): ...this.
10829         (spellcheck_c_tests): Rename to...
10830         (spellcheck_cc_tests): ...this.
10831         (spellcheck_tree_c_tests): Rename to...
10832         (spellcheck_tree_cc_tests): ...this.
10833         (sreal_c_tests): Rename to...
10834         (sreal_cc_tests): ...this.
10835         (store_merging_c_tests): Rename to...
10836         (store_merging_cc_tests): ...this.
10837         (tree_c_tests): Rename to...
10838         (tree_cc_tests): ...this.
10839         (tree_cfg_c_tests): Rename to...
10840         (tree_cfg_cc_tests): ...this.
10841         (typed_splay_tree_c_tests): Rename to...
10842         (typed_splay_tree_cc_tests): ...this.
10843         (vec_c_tests): Rename to...
10844         (vec_cc_tests): ...this.
10845         (vec_perm_indices_c_tests): Rename to...
10846         (vec_perm_indices_cc_tests): ..this.
10847         (opt_proposer_c_tests): Rename to...
10848         (opt_suggestions_cc_tests): ...this.
10849         (dbgcnt_c_tests): Rename to...
10850         (dbgcnt_cc_tests): ...this.
10851         (ipa_modref_tree_c_tests): Rename to...
10852         (ipa_modref_tree_cc_tests): ...this.
10853         * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
10854         (simplify_rtx_cc_tests): ...this.
10855         * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
10856         (spellcheck_tree_cc_tests): ...this.
10857         * spellcheck.cc (spellcheck_c_tests): Rename to...
10858         (spellcheck_cc_tests): ...this.
10859         * sreal.cc (sreal_c_tests): Rename to...
10860         (sreal_cc_tests): ...this.
10861         * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
10862         function renamings.
10863         * tree-cfg.cc (tree_cfg_c_tests): Rename to...
10864         (tree_cfg_cc_tests): ...this.
10865         * tree.cc (tree_c_tests): Rename to...
10866         (tree_cc_tests): ...this.
10867         * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
10868         (typed_splay_tree_cc_tests): ...this.
10869         * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
10870         (vec_perm_indices_cc_tests): ...this.
10871         * vec.cc (vec_c_tests): Rename to...
10872         (vec_cc_tests): ...this.
10874 2022-01-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
10876         PR tree-optimization/103997
10877         * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
10878         vectorization.
10880 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
10882         PR middle-end/102860
10883         * match.pd (x %[fl] y -> x % y): New simplification for
10884         unsigned integral types.
10885         * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
10886         for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
10888 2022-01-19  Richard Biener  <rguenther@suse.de>
10890         PR tree-optimization/104112
10891         * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
10892         for required intermediate vector types.
10894 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
10896         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
10898 2022-01-19  Martin Liska  <mliska@suse.cz>
10900         * configure.ac: Remove -Wno-error=format-diag.
10901         * configure: Regenerate.
10903 2022-01-19  Martin Liska  <mliska@suse.cz>
10905         * config/riscv/riscv.cc (riscv_handle_type_attribute):
10906         Update one -Wformat-diag string in warning message.
10908 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
10910         PR middle-end/104103
10911         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
10912         .ASAN_MARK calls.
10914 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
10916         PR c++/89074
10917         * fold-const.cc (address_compare): Consider different STRING_CSTs
10918         with the same lengths that memcmp the same as equal, not different.
10920 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
10922         * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
10923         {%0}.
10925 2022-01-19  Martin Liska  <mliska@suse.cz>
10926             Thomas Schwinge  <thomas@codesourcery.com>
10928         * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
10929         warning messages.
10931 2022-01-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10933         PR target/104090
10934         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
10935         rs6000_cpu.
10937 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
10939         PR target/104104
10940         * config/i386/sse.md
10941         (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
10942         avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
10943         avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
10944         avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
10945         avx512dq_rangep<mode><mask_name><round_saeonly_name>,
10946         avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
10947         <avx512>_getmant<mode><mask_name><round_saeonly_name>,
10948         avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
10949         Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
10951 2022-01-19  Martin Sebor  <msebor@redhat.com>
10953         PR middle-end/104069
10954         * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
10955         an unknown result as documented.
10957 2022-01-18  Andrew Pinski  <apinski@marvell.com>
10959         * ipa-split.cc (visit_bb): Fix comment before the
10960         warning/error attribute checking code.
10962 2022-01-18  David Faust  <david.faust@oracle.com>
10964         * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
10965         for base strtab offset yet as it may change.
10966         (output_asm_btfext_core_reloc): Do so here instead.
10967         (output_btfext_core_sections): Likewise.
10969 2022-01-18  David Faust  <david.faust@oracle.com>
10971         * config/bpf/coreout.cc (output_btfext_header): Account for
10972         4-byte record size in core_relo_len.
10973         (output_btfext_core_sections): Only write record size once.
10974         * config/bpf/coreout.h (btf_ext_section_header): Delete unused
10975         member.
10977 2022-01-18  Maciej W. Rozycki  <macro@embecosm.com>
10979         * common/config/riscv/riscv-common.cc
10980         (riscv_subset_list::parse_multiletter_ext): Move pointer
10981         arithmetic ahead of `free'.
10983 2022-01-18  Jason Merrill  <jason@redhat.com>
10985         PR c++/104007
10986         * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
10987         context.
10989 2022-01-18  Sandra Loosemore  <sandra@codesourcery.com>
10991         PR middle-end/103163
10992         * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
10993         (init_emit_once): ...not here.
10995 2022-01-18  Martin Liska  <mliska@suse.cz>
10997         * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
10998         * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
10999         * config/arc/arc.md: Likewise.
11000         * config/avr/avr.cc (avr_section_type_flags): Likewise.
11001         * config/bfin/bfin.cc (bfin_option_override): Likewise.
11002         (bfin_handle_longcall_attribute): Likewise.
11003         * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
11004         * config/frv/frv.cc (frv_expand_builtin): Likewise.
11005         * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
11006         * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
11007         (iq2000_print_operand_address): Likewise.
11008         (iq2000_print_operand): Likewise.
11009         * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
11010         (m32c_pragma_address): Likewise.
11011         * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
11012         * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
11013         (mips_set_compression_mode): Likewise.
11014         * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
11015         (mmix_print_operand): Likewise.
11016         (mmix_output_shiftvalue_op_from_str): Likewise.
11017         (mmix_output_shifted_value): Likewise.
11018         * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
11019         * config/msp430/msp430.cc (msp430_option_override): Likewise.
11020         (msp430_attr): Likewise.
11021         (msp430_expand_delay_cycles): Likewise.
11022         (msp430_expand_builtin): Likewise.
11023         * config/rs6000/aix73.h: Likewise.
11024         * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
11025         * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
11026         (valid_psw_flag): Likewise.
11027         * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
11028         * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
11029         (xstormy16_expand_builtin_va_start): Likewise.
11030         (xstormy16_handle_below100_attribute): Likewise.
11032 2022-01-18  Martin Liska  <mliska@suse.cz>
11034         * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
11035         warning.
11036         (vms_pragma_standard): Likewise.
11037         (vms_pragma_extern_prefix): Likewise.
11039 2022-01-18  Martin Liska  <mliska@suse.cz>
11041         * config/xtensa/xtensa.cc (print_operand): Fix warnings.
11042         (print_operand_address): Likewise.
11043         (xtensa_multibss_section_type_flags): Likewise.
11045 2022-01-18  Martin Liska  <mliska@suse.cz>
11047         * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
11048         wording of an error message.
11050 2022-01-18  Martin Liska  <mliska@suse.cz>
11052         * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
11053         warning.
11054         (ghs_pragma_section): Likewise.
11055         (ghs_pragma_interrupt): Likewise.
11056         (ghs_pragma_starttda): Likewise.
11057         (ghs_pragma_startsda): Likewise.
11058         (ghs_pragma_startzda): Likewise.
11059         (ghs_pragma_endtda): Likewise.
11060         (ghs_pragma_endsda): Likewise.
11061         (ghs_pragma_endzda): Likewise.
11063 2022-01-18  Martin Liska  <mliska@suse.cz>
11065         * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
11066         Fix warnings.
11067         * config/nds32/nds32-intrinsic.md: Likewise.
11068         * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
11069         * config/nds32/nds32.cc (nds32_print_operand): Likewise.
11070         (nds32_insert_attributes): Likewise.
11072 2022-01-18  Martin Liska  <mliska@suse.cz>
11074         * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
11075         keyword.
11076         * config/nvptx/nvptx.md: Remove trailing dot.
11078 2022-01-18  Martin Liska  <mliska@suse.cz>
11080         * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
11081         Wrap keywords with quotes and remove trailing dots.
11082         (riscv_subset_list::parsing_subset_version): Likewise.
11083         (riscv_subset_list::parse_std_ext): Likewise.
11084         (riscv_subset_list::parse_multiletter_ext): Likewise.
11085         * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
11087 2022-01-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
11089         * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
11090         argument suggested_unroll_factor.
11091         (vect_analyze_loop_costing): Likewise.
11092         (_loop_vec_info::_loop_vec_info): Initialize new member
11093         suggested_unroll_factor.
11094         (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
11095         main loop use partial vectors.
11096         (vect_analyze_loop_2): Pass and use new argument
11097         suggested_unroll_factor.
11098         (vect_analyze_loop_1): Change to intialize local
11099         suggested_unroll_factor and use it.
11100         (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
11101         * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
11102         suggested_unroll_factor.
11103         (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
11104         (vector_costs::suggested_unroll_factor): New getter function.
11105         (finish_cost): Set return argument suggested_unroll_factor.
11107 2022-01-18  Andrew MacLeod  <amacleod@redhat.com>
11109         PR tree-optimization/104038
11110         * doc/invoke.texi (relation-block-limit): New.
11111         * params.opt (relation-block-limit): New.
11112         * value-relation.cc (dom_oracle::register_relation): Check for NULL
11113         record before invoking transitive registery.
11114         (dom_oracle::set_one_relation): Check limit before creating record.
11115         (dom_oracle::register_transitives): Stop when no record created.
11116         * value-relation.h (relation_chain_head::m_num_relations): New.
11118 2022-01-18  Richard Biener  <rguenther@suse.de>
11120         PR ipa/103989
11121         * ipa-inline.cc (inline_small_functions): Do not enqueue call
11122         edges originating in functions compiled with -Og.
11124 2022-01-18  Richard Biener  <rguenther@suse.de>
11126         PR ipa/103989
11127         * passes.def (pass_all_optimizations_g): Remove pass_modref
11128         and pass_local_pure_const.
11130 2022-01-18  Martin Liska  <mliska@suse.cz>
11132         * config/s390/s390.cc: Fix -Wformat-diag warnings.
11134 2022-01-18  Martin Liska  <mliska@suse.cz>
11136         * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
11137         keyword in quotes.
11138         (s390_resolve_overloaded_builtin): Remove trailing dot.
11139         * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
11140         (s390_expand_builtin): Remove trailing dot.
11141         (s390_emit_prologue): Likewise, use semicolon.
11142         (s390_option_override_internal): Update keyword.
11143         * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
11145 2022-01-18  Martin Liska  <mliska@suse.cz>
11147         * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
11148         keywords and use %qs instead of %<%s%>.
11150 2022-01-18  Richard Biener  <rguenther@suse.de>
11152         PR tree-optimization/103987
11153         * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
11154         query with a pointer check.
11156 2022-01-18  Richard Sandiford  <richard.sandiford@arm.com>
11158         PR target/104005
11159         * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
11160         When using MEM_EXPR, require the base to be a decl.
11162 2022-01-18  Richard Biener  <rguenther@suse.de>
11164         * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
11165         avoid padding.
11166         * function.h (struct function): Likewise.
11168 2022-01-18  Arnaud Charlet  <charlet@adacore.com>
11170         * doc/install.texi: Update prerequisites for GNAT
11172 2022-01-18  Andrew Pinski  <apinski@marvell.com>
11174         PR tree-optimization/101941
11175         * ipa-split.cc (visit_bb): Disallow function calls where
11176         the function has either error or warning attribute.
11178 2022-01-18  Richard Biener  <rguenther@suse.de>
11180         PR tree-optimization/104064
11181         * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
11182         DR_INIT fits in a signed HWI, represent the difference from the
11183         first DR in unsigned.
11185 2022-01-17  Martin Liska  <mliska@suse.cz>
11187         * Makefile.in: Rename .c names to .cc.
11188         * config.gcc: Likewise.
11189         * configure: Regenerate. Likewise.
11190         * configure.ac: Likewise.
11191         * gengtype.cc (set_gc_used): Likewise.
11192         (source_dot_c_frul): Likewise.
11193         (source_dot_cc_frul): Likewise.
11194         (struct file_rule_st): Likewise.
11195         (close_output_files): Likewise.
11196         * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
11198 2022-01-17  Martin Liska  <mliska@suse.cz>
11200         * Makefile.in: Rename .c names to .cc.
11201         * alias.h: Likewise.
11202         * asan.cc: Likewise.
11203         * auto-profile.h: Likewise.
11204         * basic-block.h (struct basic_block_d): Likewise.
11205         * btfout.cc: Likewise.
11206         * builtins.cc (expand_builtin_longjmp): Likewise.
11207         (validate_arg): Likewise.
11208         (access_ref::offset_bounded): Likewise.
11209         * caller-save.cc (reg_restore_code): Likewise.
11210         (setup_save_areas): Likewise.
11211         * calls.cc (initialize_argument_information): Likewise.
11212         (expand_call): Likewise.
11213         (emit_library_call_value_1): Likewise.
11214         * cfg-flags.def (RTL): Likewise.
11215         (SIBCALL): Likewise.
11216         (CAN_FALLTHRU): Likewise.
11217         * cfganal.cc (post_order_compute): Likewise.
11218         * cfgcleanup.cc (try_simplify_condjump): Likewise.
11219         (merge_blocks_move_predecessor_nojumps): Likewise.
11220         (merge_blocks_move_successor_nojumps): Likewise.
11221         (merge_blocks_move): Likewise.
11222         (old_insns_match_p): Likewise.
11223         (try_crossjump_bb): Likewise.
11224         * cfgexpand.cc (expand_gimple_stmt): Likewise.
11225         * cfghooks.cc (split_block_before_cond_jump): Likewise.
11226         (profile_record_check_consistency): Likewise.
11227         * cfghooks.h: Likewise.
11228         * cfgrtl.cc (pass_free_cfg::execute): Likewise.
11229         (rtl_can_merge_blocks): Likewise.
11230         (try_redirect_by_replacing_jump): Likewise.
11231         (make_pass_outof_cfg_layout_mode): Likewise.
11232         (cfg_layout_can_merge_blocks_p): Likewise.
11233         * cgraph.cc (release_function_body): Likewise.
11234         (cgraph_node::get_fun): Likewise.
11235         * cgraph.h (struct cgraph_node): Likewise.
11236         (asmname_hasher::equal): Likewise.
11237         (cgraph_inline_failed_type): Likewise.
11238         (thunk_adjust): Likewise.
11239         (dump_callgraph_transformation): Likewise.
11240         (record_references_in_initializer): Likewise.
11241         (ipa_discover_variable_flags): Likewise.
11242         * cgraphclones.cc (GTY): Likewise.
11243         * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
11244         * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
11245         * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
11246         * collect2.cc (maybe_run_lto_and_relink): Likewise.
11247         * combine-stack-adj.cc: Likewise.
11248         * combine.cc (setup_incoming_promotions): Likewise.
11249         (combine_simplify_rtx): Likewise.
11250         (count_rtxs): Likewise.
11251         * common.opt: Likewise.
11252         * common/config/aarch64/aarch64-common.cc: Likewise.
11253         * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
11254         * common/config/avr/avr-common.cc: Likewise.
11255         * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
11256         * conditions.h: Likewise.
11257         * config.gcc: Likewise.
11258         * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
11259         * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
11260         (aarch64_get_extension_string_for_isa_flags): Likewise.
11261         * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
11262         * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
11263         (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
11264         (aarch64_option_valid_attribute_p): Likewise.
11265         (aarch64_short_vector_p): Likewise.
11266         (aarch64_float_const_representable_p): Likewise.
11267         * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
11268         (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
11269         (GTY): Likewise.
11270         * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
11271         * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
11272         * config/aarch64/t-aarch64: Likewise.
11273         * config/aarch64/x-aarch64: Likewise.
11274         * config/aarch64/x-darwin: Likewise.
11275         * config/alpha/alpha-protos.h: Likewise.
11276         * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
11277         * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
11278         (enum reg_class): Likewise.
11279         * config/alpha/alpha.md: Likewise.
11280         * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
11281         * config/alpha/x-alpha: Likewise.
11282         * config/arc/arc-protos.h (arc_eh_uses): Likewise.
11283         * config/arc/arc.cc (ARC_OPT): Likewise.
11284         (arc_ccfsm_advance): Likewise.
11285         (arc_arg_partial_bytes): Likewise.
11286         (conditionalize_nonjump): Likewise.
11287         * config/arc/arc.md: Likewise.
11288         * config/arc/builtins.def: Likewise.
11289         * config/arc/t-arc: Likewise.
11290         * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
11291         (arm_pragma_target_parse): Likewise.
11292         * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
11293         (arm_cpu_cpp_builtins): Likewise.
11294         * config/arm/arm.cc (vfp3_const_double_index): Likewise.
11295         (shift_op): Likewise.
11296         (thumb2_final_prescan_insn): Likewise.
11297         (arm_final_prescan_insn): Likewise.
11298         (arm_asm_output_labelref): Likewise.
11299         (arm_small_register_classes_for_mode_p): Likewise.
11300         * config/arm/arm.h: Likewise.
11301         * config/arm/arm.md: Likewise.
11302         * config/arm/driver-arm.cc: Likewise.
11303         * config/arm/symbian.h: Likewise.
11304         * config/arm/t-arm: Likewise.
11305         * config/arm/thumb1.md: Likewise.
11306         * config/arm/x-arm: Likewise.
11307         * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
11308         * config/avr/avr-fixed.md: Likewise.
11309         * config/avr/avr-log.cc (avr_log_vadump): Likewise.
11310         * config/avr/avr-mcus.def: Likewise.
11311         * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
11312         * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
11313         * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
11314         * config/avr/avr.cc (avr_option_override): Likewise.
11315         (avr_build_builtin_va_list): Likewise.
11316         (avr_mode_dependent_address_p): Likewise.
11317         (avr_function_arg_advance): Likewise.
11318         (avr_asm_output_aligned_decl_common): Likewise.
11319         * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
11320         (SUPPORTS_INIT_PRIORITY): Likewise.
11321         * config/avr/avr.md: Likewise.
11322         * config/avr/builtins.def: Likewise.
11323         * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
11324         * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
11325         (main): Likewise.
11326         * config/avr/t-avr: Likewise.
11327         * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
11328         * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
11329         * config/bpf/bpf.h (enum reg_class): Likewise.
11330         * config/bpf/t-bpf: Likewise.
11331         * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
11332         * config/cr16/cr16-protos.h: Likewise.
11333         * config/cris/cris.cc (cris_address_cost): Likewise.
11334         (cris_side_effect_mode_ok): Likewise.
11335         (cris_init_machine_status): Likewise.
11336         (cris_emit_movem_store): Likewise.
11337         * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
11338         (enum reg_class): Likewise.
11339         (struct cum_args): Likewise.
11340         * config/cris/cris.opt: Likewise.
11341         * config/cris/sync.md: Likewise.
11342         * config/csky/csky.cc (csky_expand_prologue): Likewise.
11343         * config/darwin-c.cc: Likewise.
11344         * config/darwin-f.cc: Likewise.
11345         * config/darwin-sections.def (zobj_const_section): Likewise.
11346         * config/darwin.cc (output_objc_section_asm_op): Likewise.
11347         (fprintf): Likewise.
11348         * config/darwin.h (GTY): Likewise.
11349         * config/elfos.h: Likewise.
11350         * config/epiphany/epiphany-sched.md: Likewise.
11351         * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
11352         * config/epiphany/epiphany.h (GTY): Likewise.
11353         (NO_FUNCTION_CSE): Likewise.
11354         * config/epiphany/mode-switch-use.cc: Likewise.
11355         * config/epiphany/predicates.md: Likewise.
11356         * config/epiphany/t-epiphany: Likewise.
11357         * config/fr30/fr30-protos.h: Likewise.
11358         * config/frv/frv-protos.h: Likewise.
11359         * config/frv/frv.cc (TLS_BIAS): Likewise.
11360         * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
11361         * config/ft32/ft32-protos.h: Likewise.
11362         * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
11363         * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
11364         * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
11365         * config/gcn/t-gcn-hsa: Likewise.
11366         * config/gcn/t-omp-device: Likewise.
11367         * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
11368         (same_cmp_following_p): Likewise.
11369         * config/h8300/h8300.cc (F): Likewise.
11370         * config/h8300/h8300.h (struct cum_arg): Likewise.
11371         (BRANCH_COST): Likewise.
11372         * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
11373         * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
11374         * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
11375         * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
11376         * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
11377         * config/i386/i386-c.cc (ix86_target_macros): Likewise.
11378         * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
11379         * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
11380         * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
11381         (ix86_register_pragmas): Likewise.
11382         (ix86_d_has_stdcall_convention): Likewise.
11383         (i386_pe_seh_init_sections): Likewise.
11384         * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
11385         (ix86_function_value_regno_p): Likewise.
11386         (ix86_compute_frame_layout): Likewise.
11387         (legitimize_pe_coff_symbol): Likewise.
11388         (output_pic_addr_const): Likewise.
11389         * config/i386/i386.h (defined): Likewise.
11390         (host_detect_local_cpu): Likewise.
11391         (CONSTANT_ADDRESS_P): Likewise.
11392         (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
11393         (struct machine_frame_state): Likewise.
11394         * config/i386/i386.md: Likewise.
11395         * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
11396         * config/i386/mmx.md: Likewise.
11397         * config/i386/sse.md: Likewise.
11398         * config/i386/t-cygming: Likewise.
11399         * config/i386/t-djgpp: Likewise.
11400         * config/i386/t-gnu-property: Likewise.
11401         * config/i386/t-i386: Likewise.
11402         * config/i386/t-intelmic: Likewise.
11403         * config/i386/t-omp-device: Likewise.
11404         * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
11405         (i386_pe_adjust_class_at_definition): Likewise.
11406         * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
11407         (i386_pe_mangle_decl_assembler_name): Likewise.
11408         (i386_pe_encode_section_info): Likewise.
11409         * config/i386/x-cygwin: Likewise.
11410         * config/i386/x-darwin: Likewise.
11411         * config/i386/x-i386: Likewise.
11412         * config/i386/x-mingw32: Likewise.
11413         * config/i386/x86-tune-sched-core.cc: Likewise.
11414         * config/i386/x86-tune.def: Likewise.
11415         * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
11416         * config/ia64/freebsd.h: Likewise.
11417         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
11418         * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
11419         * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
11420         (ia64_secondary_reload_class): Likewise.
11421         (bundling): Likewise.
11422         * config/ia64/ia64.h: Likewise.
11423         * config/ia64/ia64.md: Likewise.
11424         * config/ia64/predicates.md: Likewise.
11425         * config/ia64/sysv4.h: Likewise.
11426         * config/ia64/t-ia64: Likewise.
11427         * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
11428         * config/iq2000/iq2000.md: Likewise.
11429         * config/linux.h (TARGET_HAS_BIONIC): Likewise.
11430         (if): Likewise.
11431         * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
11432         * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
11433         * config/m32c/t-m32c: Likewise.
11434         * config/m32r/m32r-protos.h: Likewise.
11435         * config/m32r/m32r.cc (m32r_print_operand): Likewise.
11436         * config/m32r/m32r.h: Likewise.
11437         * config/m32r/m32r.md: Likewise.
11438         * config/m68k/m68k-isas.def: Likewise.
11439         * config/m68k/m68k-microarchs.def: Likewise.
11440         * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
11441         (m68k_epilogue_uses): Likewise.
11442         * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
11443         (m68k_sched_adjust_cost): Likewise.
11444         (m68k_sched_md_init): Likewise.
11445         * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
11446         (enum m68k_function_kind): Likewise.
11447         * config/m68k/m68k.md: Likewise.
11448         * config/m68k/m68kemb.h: Likewise.
11449         * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
11450         * config/mcore/mcore-protos.h: Likewise.
11451         * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
11452         (mcore_expand_prolog): Likewise.
11453         * config/mcore/mcore.h (TARGET_MCORE): Likewise.
11454         * config/mcore/mcore.md: Likewise.
11455         * config/microblaze/microblaze-protos.h: Likewise.
11456         * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
11457         (microblaze_function_prologue): Likewise.
11458         (microblaze_function_epilogue): Likewise.
11459         (microblaze_select_section): Likewise.
11460         (microblaze_asm_output_mi_thunk): Likewise.
11461         (microblaze_eh_return): Likewise.
11462         * config/microblaze/microblaze.h: Likewise.
11463         * config/microblaze/microblaze.md: Likewise.
11464         * config/microblaze/t-microblaze: Likewise.
11465         * config/mips/driver-native.cc: Likewise.
11466         * config/mips/loongson2ef.md: Likewise.
11467         * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
11468         * config/mips/mips.cc (mips_rtx_costs): Likewise.
11469         (mips_output_filename): Likewise.
11470         (mips_output_function_prologue): Likewise.
11471         (mips_output_function_epilogue): Likewise.
11472         (mips_output_mi_thunk): Likewise.
11473         * config/mips/mips.h: Likewise.
11474         * config/mips/mips.md: Likewise.
11475         * config/mips/t-mips: Likewise.
11476         * config/mips/x-native: Likewise.
11477         * config/mmix/mmix-protos.h: Likewise.
11478         * config/mmix/mmix.cc (mmix_option_override): Likewise.
11479         (mmix_dbx_register_number): Likewise.
11480         (mmix_expand_prologue): Likewise.
11481         * config/mmix/mmix.h: Likewise.
11482         * config/mmix/mmix.md: Likewise.
11483         * config/mmix/predicates.md: Likewise.
11484         * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
11485         (mn10300_legitimate_pic_operand_p): Likewise.
11486         * config/mn10300/mn10300.h (enum reg_class): Likewise.
11487         (NO_FUNCTION_CSE): Likewise.
11488         * config/moxie/moxie-protos.h: Likewise.
11489         * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
11490         * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
11491         * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
11492         (msp430_incoming_return_addr_rtx): Likewise.
11493         * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
11494         * config/msp430/t-msp430: Likewise.
11495         * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
11496         (nds32_rtx_costs_size_prefer): Likewise.
11497         (nds32_init_rtx_costs): Likewise.
11498         * config/nds32/nds32-doubleword.md: Likewise.
11499         * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
11500         (nds32_builtin_decl): Likewise.
11501         * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
11502         (enum nds32_isr_nested_type): Likewise.
11503         (enum reg_class): Likewise.
11504         * config/nds32/predicates.md: Likewise.
11505         * config/nds32/t-nds32: Likewise.
11506         * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
11507         * config/nvptx/nvptx-protos.h: Likewise.
11508         * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
11509         * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
11510         * config/nvptx/t-nvptx: Likewise.
11511         * config/nvptx/t-omp-device: Likewise.
11512         * config/pa/elf.h: Likewise.
11513         * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
11514         * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
11515         * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
11516         * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
11517         (pa_legitimize_reload_address): Likewise.
11518         (pa_can_use_return_insn): Likewise.
11519         * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
11520         (som_output_text_section_asm_op): Likewise.
11521         * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
11522         * config/pa/pa.md: Likewise.
11523         * config/pa/som.h: Likewise.
11524         * config/pa/t-pa: Likewise.
11525         * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
11526         * config/pdp11/pdp11.h: Likewise.
11527         * config/pdp11/pdp11.md: Likewise.
11528         * config/pdp11/t-pdp11: Likewise.
11529         * config/pru/pru.md: Likewise.
11530         * config/pru/t-pru: Likewise.
11531         * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
11532         (riscv_gpr_save_operation_p): Likewise.
11533         (riscv_d_register_target_info): Likewise.
11534         (riscv_init_builtins): Likewise.
11535         * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
11536         * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
11537         * config/riscv/t-riscv: Likewise.
11538         * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
11539         * config/rl78/t-rl78: Likewise.
11540         * config/rs6000/aix.h: Likewise.
11541         * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
11542         * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
11543         * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
11544         * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
11545         * config/rs6000/driver-rs6000.cc: Likewise.
11546         * config/rs6000/freebsd.h: Likewise.
11547         * config/rs6000/freebsd64.h: Likewise.
11548         * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
11549         * config/rs6000/rbtree.cc: Likewise.
11550         * config/rs6000/rbtree.h: Likewise.
11551         * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
11552         * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
11553         (rs6000_expand_builtin): Likewise.
11554         (rs6000_init_builtins): Likewise.
11555         * config/rs6000/rs6000-cpus.def: Likewise.
11556         * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
11557         * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
11558         (quad_address_offset_p): Likewise.
11559         * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
11560         (rs6000_emit_epilogue): Likewise.
11561         * config/rs6000/rs6000-overload.def: Likewise.
11562         * config/rs6000/rs6000-p8swap.cc: Likewise.
11563         * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
11564         (rs6000_const_f32_to_i32): Likewise.
11565         * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
11566         (rs6000_debug_legitimize_address): Likewise.
11567         (rs6000_mode_dependent_address): Likewise.
11568         (rs6000_adjust_priority): Likewise.
11569         (rs6000_c_mode_for_suffix): Likewise.
11570         * config/rs6000/rs6000.h (defined): Likewise.
11571         (LONG_DOUBLE_TYPE_SIZE): Likewise.
11572         * config/rs6000/rs6000.md: Likewise.
11573         * config/rs6000/sysv4.h: Likewise.
11574         * config/rs6000/t-linux: Likewise.
11575         * config/rs6000/t-linux64: Likewise.
11576         * config/rs6000/t-rs6000: Likewise.
11577         * config/rs6000/x-darwin: Likewise.
11578         * config/rs6000/x-darwin64: Likewise.
11579         * config/rs6000/x-rs6000: Likewise.
11580         * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
11581         * config/rx/rx.cc (rx_expand_builtin): Likewise.
11582         * config/s390/constraints.md: Likewise.
11583         * config/s390/driver-native.cc: Likewise.
11584         * config/s390/htmxlintrin.h: Likewise.
11585         * config/s390/s390-builtins.def (B_DEF): Likewise.
11586         (OB_DEF_VAR): Likewise.
11587         * config/s390/s390-builtins.h: Likewise.
11588         * config/s390/s390-c.cc: Likewise.
11589         * config/s390/s390-opts.h: Likewise.
11590         * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
11591         (s390_register_target_pragmas): Likewise.
11592         * config/s390/s390.cc (s390_init_builtins): Likewise.
11593         (s390_expand_plus_operand): Likewise.
11594         (s390_expand_atomic): Likewise.
11595         (s390_valid_target_attribute_inner_p): Likewise.
11596         * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
11597         * config/s390/s390.md: Likewise.
11598         * config/s390/t-s390: Likewise.
11599         * config/s390/vx-builtins.md: Likewise.
11600         * config/s390/x-native: Likewise.
11601         * config/sh/divtab-sh4-300.cc (main): Likewise.
11602         * config/sh/divtab-sh4.cc (main): Likewise.
11603         * config/sh/divtab.cc (main): Likewise.
11604         * config/sh/elf.h: Likewise.
11605         * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
11606         * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
11607         (sh_struct_value_rtx): Likewise.
11608         (sh_remove_reg_dead_or_unused_notes): Likewise.
11609         * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
11610         * config/sh/t-sh: Likewise.
11611         * config/sol2-protos.h (solaris_override_options): Likewise.
11612         * config/sol2.h: Likewise.
11613         * config/sparc/driver-sparc.cc: Likewise.
11614         * config/sparc/freebsd.h: Likewise.
11615         * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
11616         * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
11617         (sparc_asan_shadow_offset): Likewise.
11618         * config/sparc/sparc.h: Likewise.
11619         * config/sparc/sparc.md: Likewise.
11620         * config/sparc/t-sparc: Likewise.
11621         * config/sparc/x-sparc: Likewise.
11622         * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
11623         * config/t-darwin: Likewise.
11624         * config/t-dragonfly: Likewise.
11625         * config/t-freebsd: Likewise.
11626         * config/t-glibc: Likewise.
11627         * config/t-linux: Likewise.
11628         * config/t-netbsd: Likewise.
11629         * config/t-openbsd: Likewise.
11630         * config/t-pnt16-warn: Likewise.
11631         * config/t-sol2: Likewise.
11632         * config/t-vxworks: Likewise.
11633         * config/t-winnt: Likewise.
11634         * config/tilegx/t-tilegx: Likewise.
11635         * config/tilegx/tilegx-c.cc: Likewise.
11636         * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
11637         * config/tilegx/tilegx.md: Likewise.
11638         * config/tilepro/t-tilepro: Likewise.
11639         * config/tilepro/tilepro-c.cc: Likewise.
11640         * config/v850/t-v850: Likewise.
11641         * config/v850/v850-protos.h: Likewise.
11642         * config/v850/v850.cc (F): Likewise.
11643         * config/v850/v850.h (enum reg_class): Likewise.
11644         (SLOW_BYTE_ACCESS): Likewise.
11645         * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
11646         * config/vax/vax.h (enum reg_class): Likewise.
11647         * config/vax/vax.md: Likewise.
11648         * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
11649         * config/visium/visium.h: Likewise.
11650         * config/vms/t-vms: Likewise.
11651         * config/vms/vms-crtlmap.map: Likewise.
11652         * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
11653         * config/vx-common.h: Likewise.
11654         * config/x-darwin: Likewise.
11655         * config/x-hpux: Likewise.
11656         * config/x-linux: Likewise.
11657         * config/x-netbsd: Likewise.
11658         * config/x-openbsd: Likewise.
11659         * config/x-solaris: Likewise.
11660         * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
11661         * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
11662         * config/xtensa/xtensa.h: Likewise.
11663         * configure.ac: Likewise.
11664         * context.cc: Likewise.
11665         * convert.h: Likewise.
11666         * coretypes.h: Likewise.
11667         * coverage.cc: Likewise.
11668         * coverage.h: Likewise.
11669         * cppdefault.h (struct default_include): Likewise.
11670         * cprop.cc (local_cprop_pass): Likewise.
11671         (one_cprop_pass): Likewise.
11672         * cse.cc (hash_rtx_cb): Likewise.
11673         (fold_rtx): Likewise.
11674         * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
11675         * data-streamer.h (bp_unpack_var_len_int): Likewise.
11676         (streamer_write_widest_int): Likewise.
11677         * dbgcnt.def: Likewise.
11678         * dbxout.cc (dbxout_early_global_decl): Likewise.
11679         (dbxout_common_check): Likewise.
11680         * dbxout.h: Likewise.
11681         * debug.h (struct gcc_debug_hooks): Likewise.
11682         (dump_go_spec_init): Likewise.
11683         * df-core.cc: Likewise.
11684         * df-scan.cc (df_insn_info_delete): Likewise.
11685         (df_insn_delete): Likewise.
11686         * df.h (debug_df_chain): Likewise.
11687         (can_move_insns_across): Likewise.
11688         * dfp.cc (decimal_from_binary): Likewise.
11689         * diagnostic-color.cc: Likewise.
11690         * diagnostic-event-id.h: Likewise.
11691         * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
11692         * diagnostic.cc (bt_callback): Likewise.
11693         (num_digits): Likewise.
11694         * doc/avr-mmcu.texi: Likewise.
11695         * doc/cfg.texi: Likewise.
11696         * doc/contrib.texi: Likewise.
11697         * doc/cppinternals.texi: Likewise.
11698         * doc/extend.texi: Likewise.
11699         * doc/generic.texi: Likewise.
11700         * doc/gimple.texi: Likewise.
11701         * doc/gty.texi: Likewise.
11702         * doc/invoke.texi: Likewise.
11703         * doc/loop.texi: Likewise.
11704         * doc/lto.texi: Likewise.
11705         * doc/match-and-simplify.texi: Likewise.
11706         * doc/md.texi: Likewise.
11707         * doc/optinfo.texi: Likewise.
11708         * doc/options.texi: Likewise.
11709         * doc/passes.texi: Likewise.
11710         * doc/plugins.texi: Likewise.
11711         * doc/rtl.texi: Likewise.
11712         * doc/sourcebuild.texi: Likewise.
11713         * doc/tm.texi: Likewise.
11714         * doc/tm.texi.in: Likewise.
11715         * doc/tree-ssa.texi: Likewise.
11716         * dojump.cc (do_jump): Likewise.
11717         * dojump.h: Likewise.
11718         * dumpfile.cc (test_impl_location): Likewise.
11719         (test_capture_of_dump_calls): Likewise.
11720         * dumpfile.h (enum dump_kind): Likewise.
11721         (class dump_location_t): Likewise.
11722         (dump_enabled_p): Likewise.
11723         (enable_rtl_dump_file): Likewise.
11724         (dump_combine_total_stats): Likewise.
11725         * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
11726         * dwarf2ctf.h (ctf_debug_finish): Likewise.
11727         * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
11728         (struct loc_descr_context): Likewise.
11729         (rtl_for_decl_location): Likewise.
11730         (gen_subprogram_die): Likewise.
11731         (gen_label_die): Likewise.
11732         (is_trivial_indirect_ref): Likewise.
11733         (dwarf2out_late_global_decl): Likewise.
11734         (dwarf_file_hasher::hash): Likewise.
11735         (dwarf2out_end_source_file): Likewise.
11736         (dwarf2out_define): Likewise.
11737         (dwarf2out_early_finish): Likewise.
11738         * dwarf2out.h (struct dw_fde_node): Likewise.
11739         (struct dw_discr_list_node): Likewise.
11740         (output_loc_sequence_raw): Likewise.
11741         * emit-rtl.cc (gen_raw_REG): Likewise.
11742         (maybe_set_max_label_num): Likewise.
11743         * emit-rtl.h (struct rtl_data): Likewise.
11744         * errors.cc (internal_error): Likewise.
11745         (trim_filename): Likewise.
11746         * et-forest.cc: Likewise.
11747         * except.cc (init_eh_for_function): Likewise.
11748         * explow.cc (promote_ssa_mode): Likewise.
11749         (get_dynamic_stack_size): Likewise.
11750         * explow.h: Likewise.
11751         * expmed.h: Likewise.
11752         * expr.cc (safe_from_p): Likewise.
11753         (expand_expr_real_2): Likewise.
11754         (expand_expr_real_1): Likewise.
11755         * file-prefix-map.cc (remap_filename): Likewise.
11756         * final.cc (app_enable): Likewise.
11757         (make_pass_compute_alignments): Likewise.
11758         (final_scan_insn_1): Likewise.
11759         (final_scan_insn): Likewise.
11760         * fixed-value.h (fixed_from_string): Likewise.
11761         * flag-types.h (NO_DEBUG): Likewise.
11762         (DWARF2_DEBUG): Likewise.
11763         (VMS_DEBUG): Likewise.
11764         (BTF_DEBUG): Likewise.
11765         (enum ctf_debug_info_levels): Likewise.
11766         * fold-const.cc (const_binop): Likewise.
11767         (fold_binary_loc): Likewise.
11768         (fold_checksum_tree): Likewise.
11769         * fp-test.cc: Likewise.
11770         * function.cc (expand_function_end): Likewise.
11771         * function.h (struct function): Likewise.
11772         * fwprop.cc (should_replace_address): Likewise.
11773         * gcc-main.cc: Likewise.
11774         * gcc-rich-location.h (class gcc_rich_location): Likewise.
11775         * gcc-symtab.h: Likewise.
11776         * gcc.cc (MIN_FATAL_STATUS): Likewise.
11777         (driver_handle_option): Likewise.
11778         (quote_spec_arg): Likewise.
11779         (driver::finalize): Likewise.
11780         * gcc.h (set_input): Likewise.
11781         * gcov-dump.cc: Likewise.
11782         * gcov.cc (solve_flow_graph): Likewise.
11783         * gcse-common.cc: Likewise.
11784         * gcse.cc (make_pass_rtl_hoist): Likewise.
11785         * genattr-common.cc: Likewise.
11786         * genattrtab.cc (min_fn): Likewise.
11787         (write_const_num_delay_slots): Likewise.
11788         * genautomata.cc: Likewise.
11789         * genconditions.cc (write_one_condition): Likewise.
11790         * genconstants.cc: Likewise.
11791         * genemit.cc (gen_exp): Likewise.
11792         * generic-match-head.cc: Likewise.
11793         * genextract.cc: Likewise.
11794         * gengenrtl.cc (always_void_p): Likewise.
11795         * gengtype-parse.cc (gtymarker_opt): Likewise.
11796         * gengtype-state.cc (state_writer::state_writer): Likewise.
11797         (write_state_trailer): Likewise.
11798         (equals_type_number): Likewise.
11799         (read_state): Likewise.
11800         * gengtype.cc (open_base_files): Likewise.
11801         (struct file_rule_st): Likewise.
11802         (header_dot_h_frul): Likewise.
11803         * gengtype.h: Likewise.
11804         * genmatch.cc (main): Likewise.
11805         * genmddeps.cc: Likewise.
11806         * genmodes.cc (emit_mode_inner): Likewise.
11807         (emit_mode_unit_size): Likewise.
11808         * genpeep.cc (gen_peephole): Likewise.
11809         * genpreds.cc (write_tm_preds_h): Likewise.
11810         * genrecog.cc (validate_pattern): Likewise.
11811         (write_header): Likewise.
11812         (main): Likewise.
11813         * gensupport.cc (change_subst_attribute): Likewise.
11814         (traverse_c_tests): Likewise.
11815         (add_predicate): Likewise.
11816         (init_predicate_table): Likewise.
11817         * gensupport.h (struct optab_pattern): Likewise.
11818         (get_num_insn_codes): Likewise.
11819         (maybe_eval_c_test): Likewise.
11820         (struct pred_data): Likewise.
11821         * ggc-internal.h: Likewise.
11822         * gimple-fold.cc (maybe_fold_reference): Likewise.
11823         (get_range_strlen_tree): Likewise.
11824         * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
11825         * gimple-low.cc: Likewise.
11826         * gimple-match-head.cc (directly_supported_p): Likewise.
11827         * gimple-pretty-print.h: Likewise.
11828         * gimple-ssa-sprintf.cc (format_percent): Likewise.
11829         (adjust_range_for_overflow): Likewise.
11830         * gimple-streamer.h: Likewise.
11831         * gimple.h (struct GTY): Likewise.
11832         (is_gimple_resx): Likewise.
11833         * gimplify.cc (gimplify_expr): Likewise.
11834         (gimplify_init_constructor): Likewise.
11835         (omp_construct_selector_matches): Likewise.
11836         (gimplify_omp_target_update): Likewise.
11837         (gimplify_omp_ordered): Likewise.
11838         (gimplify_va_arg_expr): Likewise.
11839         * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
11840         * haifa-sched.cc (increase_insn_priority): Likewise.
11841         (try_ready): Likewise.
11842         (sched_create_recovery_edges): Likewise.
11843         * ifcvt.cc (find_if_case_1): Likewise.
11844         (find_if_case_2): Likewise.
11845         * inchash.h: Likewise.
11846         * incpath.cc (add_env_var_paths): Likewise.
11847         * input.cc (dump_location_info): Likewise.
11848         (assert_loceq): Likewise.
11849         (test_lexer_string_locations_concatenation_1): Likewise.
11850         (test_lexer_string_locations_concatenation_2): Likewise.
11851         (test_lexer_string_locations_concatenation_3): Likewise.
11852         * input.h (BUILTINS_LOCATION): Likewise.
11853         (class string_concat_db): Likewise.
11854         * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
11855         (expand_LOOP_VECTORIZED): Likewise.
11856         * ipa-cp.cc (make_pass_ipa_cp): Likewise.
11857         * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
11858         (ipa_fn_summary_t::duplicate): Likewise.
11859         (make_pass_ipa_fn_summary): Likewise.
11860         * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
11861         * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
11862         (free_lang_data_in_decl): Likewise.
11863         * ipa-inline.cc (compute_inlined_call_time): Likewise.
11864         (inline_always_inline_functions): Likewise.
11865         * ipa-inline.h (free_growth_caches): Likewise.
11866         (inline_account_function_p): Likewise.
11867         * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
11868         (modref_eaf_analysis::analyze_ssa_name): Likewise.
11869         * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
11870         (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
11871         * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
11872         * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
11873         (unadjusted_ptr_and_unit_offset): Likewise.
11874         * ipa-reference.cc (make_pass_ipa_reference): Likewise.
11875         * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
11876         * ipa-split.cc (consider_split): Likewise.
11877         * ipa-sra.cc (isra_read_node_info): Likewise.
11878         * ipa-utils.h (struct ipa_dfs_info): Likewise.
11879         (recursive_call_p): Likewise.
11880         (ipa_make_function_pure): Likewise.
11881         * ira-build.cc (ira_create_allocno): Likewise.
11882         (ira_flattening): Likewise.
11883         * ira-color.cc (do_coloring): Likewise.
11884         (update_curr_costs): Likewise.
11885         * ira-conflicts.cc (process_regs_for_copy): Likewise.
11886         * ira-int.h (struct ira_emit_data): Likewise.
11887         (ira_prohibited_mode_move_regs): Likewise.
11888         (ira_get_dup_out_num): Likewise.
11889         (ira_destroy): Likewise.
11890         (ira_tune_allocno_costs): Likewise.
11891         (ira_implicitly_set_insn_hard_regs): Likewise.
11892         (ira_build_conflicts): Likewise.
11893         (ira_color): Likewise.
11894         * ira-lives.cc (process_bb_node_lives): Likewise.
11895         * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
11896         (setup_uniform_class_p): Likewise.
11897         (def_dominates_uses): Likewise.
11898         * ira.h (ira_nullify_asm_goto): Likewise.
11899         * langhooks.cc (lhd_post_options): Likewise.
11900         * langhooks.h (class substring_loc): Likewise.
11901         (struct lang_hooks_for_tree_inlining): Likewise.
11902         (struct lang_hooks_for_types): Likewise.
11903         (struct lang_hooks): Likewise.
11904         * libfuncs.h (synchronize_libfunc): Likewise.
11905         * loop-doloop.cc (doloop_condition_get): Likewise.
11906         * loop-init.cc (fix_loop_structure): Likewise.
11907         * loop-invariant.cc: Likewise.
11908         * lower-subreg.h: Likewise.
11909         * lra-constraints.cc (curr_insn_transform): Likewise.
11910         * lra-int.h (struct lra_insn_reg): Likewise.
11911         (lra_undo_inheritance): Likewise.
11912         (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
11913         (lra_split_hard_reg_for): Likewise.
11914         (lra_coalesce): Likewise.
11915         (lra_final_code_change): Likewise.
11916         * lra-spills.cc (lra_final_code_change): Likewise.
11917         * lra.cc (lra_process_new_insns): Likewise.
11918         * lto-compress.h (struct lto_compression_stream): Likewise.
11919         * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
11920         (write_symbol): Likewise.
11921         * lto-streamer.h (enum LTO_tags): Likewise.
11922         (lto_value_range_error): Likewise.
11923         (lto_append_block): Likewise.
11924         (lto_streamer_hooks_init): Likewise.
11925         (stream_read_tree_ref): Likewise.
11926         (lto_prepare_function_for_streaming): Likewise.
11927         (select_what_to_stream): Likewise.
11928         (omp_lto_input_declare_variant_alt): Likewise.
11929         (cl_optimization_stream_in): Likewise.
11930         * lto-wrapper.cc (append_compiler_options): Likewise.
11931         * machmode.def: Likewise.
11932         * machmode.h (struct int_n_data_t): Likewise.
11933         * main.cc (main): Likewise.
11934         * match.pd: Likewise.
11935         * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
11936         (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
11937         * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
11938         (make_pass_expand_omp_ssa): Likewise.
11939         * omp-low.cc (struct omp_context): Likewise.
11940         (struct omp_taskcopy_context): Likewise.
11941         (lower_omp): Likewise.
11942         * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
11943         (mask_name): Likewise.
11944         (omp_sese_dump_pars): Likewise.
11945         (worker_single_simple): Likewise.
11946         * omp-offload.cc (omp_finish_file): Likewise.
11947         (execute_oacc_loop_designation): Likewise.
11948         * optabs-query.cc (lshift_cheap_p): Likewise.
11949         * optc-gen.awk: Likewise.
11950         * optc-save-gen.awk: Likewise.
11951         * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
11952         * opts-common.cc: Likewise.
11953         * output.h (app_enable): Likewise.
11954         (output_operand_lossage): Likewise.
11955         (insn_current_reference_address): Likewise.
11956         (get_insn_template): Likewise.
11957         (output_quoted_string): Likewise.
11958         * pass_manager.h (struct register_pass_info): Likewise.
11959         * plugin.cc: Likewise.
11960         * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
11961         * plugin.h (invoke_plugin_callbacks): Likewise.
11962         * pointer-query.cc (handle_mem_ref): Likewise.
11963         * postreload-gcse.cc (alloc_mem): Likewise.
11964         * predict.h (enum prediction): Likewise.
11965         (add_reg_br_prob_note): Likewise.
11966         * prefix.h: Likewise.
11967         * profile.h (get_working_sets): Likewise.
11968         * read-md.cc: Likewise.
11969         * read-md.h (struct mapping): Likewise.
11970         (class md_reader): Likewise.
11971         (class noop_reader): Likewise.
11972         * read-rtl-function.cc (function_reader::create_function): Likewise.
11973         (function_reader::extra_parsing_for_operand_code_0): Likewise.
11974         * read-rtl.cc (initialize_iterators): Likewise.
11975         * real.cc: Likewise.
11976         * real.h (struct real_value): Likewise.
11977         (format_helper::format_helper): Likewise.
11978         (real_hash): Likewise.
11979         (real_can_shorten_arithmetic): Likewise.
11980         * recog.cc (struct target_recog): Likewise.
11981         (offsettable_nonstrict_memref_p): Likewise.
11982         (constrain_operands): Likewise.
11983         * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
11984         (which_op_alt): Likewise.
11985         (struct insn_gen_fn): Likewise.
11986         * reg-notes.def (REG_NOTE): Likewise.
11987         * reg-stack.cc: Likewise.
11988         * regs.h (reg_is_parm_p): Likewise.
11989         * regset.h: Likewise.
11990         * reload.cc (push_reload): Likewise.
11991         (find_reloads): Likewise.
11992         (find_reloads_address_1): Likewise.
11993         (find_replacement): Likewise.
11994         (refers_to_regno_for_reload_p): Likewise.
11995         (refers_to_mem_for_reload_p): Likewise.
11996         * reload.h (push_reload): Likewise.
11997         (deallocate_reload_reg): Likewise.
11998         * reload1.cc (emit_input_reload_insns): Likewise.
11999         * reorg.cc (relax_delay_slots): Likewise.
12000         * rtl.def (UNKNOWN): Likewise.
12001         (SEQUENCE): Likewise.
12002         (BARRIER): Likewise.
12003         (ASM_OPERANDS): Likewise.
12004         (EQ_ATTR_ALT): Likewise.
12005         * rtl.h (struct GTY): Likewise.
12006         (LABEL_NAME): Likewise.
12007         (LABEL_ALT_ENTRY_P): Likewise.
12008         (SUBREG_BYTE): Likewise.
12009         (get_stack_check_protect): Likewise.
12010         (dump_rtx_statistics): Likewise.
12011         (unwrap_const_vec_duplicate): Likewise.
12012         (subreg_promoted_mode): Likewise.
12013         (gen_lowpart_common): Likewise.
12014         (operand_subword): Likewise.
12015         (immed_wide_int_const): Likewise.
12016         (decide_function_section): Likewise.
12017         (active_insn_p): Likewise.
12018         (delete_related_insns): Likewise.
12019         (try_split): Likewise.
12020         (val_signbit_known_clear_p): Likewise.
12021         (simplifiable_subregs): Likewise.
12022         (set_insn_deleted): Likewise.
12023         (subreg_get_info): Likewise.
12024         (remove_free_EXPR_LIST_node): Likewise.
12025         (finish_subregs_of_mode): Likewise.
12026         (get_mem_attrs): Likewise.
12027         (lookup_constant_def): Likewise.
12028         (rtx_to_tree_code): Likewise.
12029         (hash_rtx): Likewise.
12030         (condjump_in_parallel_p): Likewise.
12031         (validate_subreg): Likewise.
12032         (make_compound_operation): Likewise.
12033         (schedule_ebbs): Likewise.
12034         (print_inline_rtx): Likewise.
12035         (fixup_args_size_notes): Likewise.
12036         (expand_dec): Likewise.
12037         (prepare_copy_insn): Likewise.
12038         (mark_elimination): Likewise.
12039         (valid_mode_changes_for_regno): Likewise.
12040         (make_debug_expr_from_rtl): Likewise.
12041         (delete_vta_debug_insns): Likewise.
12042         (simplify_using_condition): Likewise.
12043         (set_insn_locations): Likewise.
12044         (fatal_insn_not_found): Likewise.
12045         (word_register_operation_p): Likewise.
12046         * rtlanal.cc (get_call_fndecl): Likewise.
12047         (side_effects_p): Likewise.
12048         (subreg_nregs): Likewise.
12049         (rtx_cost): Likewise.
12050         (canonicalize_condition): Likewise.
12051         * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
12052         * run-rtl-passes.cc (run_rtl_passes): Likewise.
12053         * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
12054         * sched-deps.cc (add_dependence_1): Likewise.
12055         * sched-ebb.cc (begin_move_insn): Likewise.
12056         (add_deps_for_risky_insns): Likewise.
12057         (advance_target_bb): Likewise.
12058         * sched-int.h (reemit_notes): Likewise.
12059         (struct _haifa_insn_data): Likewise.
12060         (HID): Likewise.
12061         (DEP_CANCELLED): Likewise.
12062         (debug_ds): Likewise.
12063         (number_in_ready): Likewise.
12064         (schedule_ebbs_finish): Likewise.
12065         (find_modifiable_mems): Likewise.
12066         * sched-rgn.cc (debug_rgn_dependencies): Likewise.
12067         * sel-sched-dump.cc (dump_lv_set): Likewise.
12068         * sel-sched-dump.h: Likewise.
12069         * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
12070         (setup_id_reg_sets): Likewise.
12071         (has_dependence_p): Likewise.
12072         (sel_num_cfg_preds_gt_1): Likewise.
12073         (bb_ends_ebb_p): Likewise.
12074         * sel-sched-ir.h (struct _list_node): Likewise.
12075         (struct idata_def): Likewise.
12076         (bb_next_bb): Likewise.
12077         * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
12078         (choose_best_pseudo_reg): Likewise.
12079         (verify_target_availability): Likewise.
12080         (can_speculate_dep_p): Likewise.
12081         (sel_rank_for_schedule): Likewise.
12082         * selftest-run-tests.cc (selftest::run_tests): Likewise.
12083         * selftest.h (class auto_fix_quotes): Likewise.
12084         * shrink-wrap.cc (handle_simple_exit): Likewise.
12085         * shrink-wrap.h: Likewise.
12086         * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
12087         (simplify_context::simplify_gen_vec_select): Likewise.
12088         * spellcheck-tree.h: Likewise.
12089         * spellcheck.h: Likewise.
12090         * statistics.h (struct function): Likewise.
12091         * stmt.cc (conditional_probability): Likewise.
12092         * stmt.h: Likewise.
12093         * stor-layout.h: Likewise.
12094         * streamer-hooks.h: Likewise.
12095         * stringpool.h: Likewise.
12096         * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
12097         * target.def (HOOK_VECTOR_END): Likewise.
12098         (type.): Likewise.
12099         * target.h (union cumulative_args_t): Likewise.
12100         (by_pieces_ninsns): Likewise.
12101         (class predefined_function_abi): Likewise.
12102         * targhooks.cc (default_translate_mode_attribute): Likewise.
12103         * timevar.def: Likewise.
12104         * timevar.h (class timer): Likewise.
12105         * toplev.h (enable_rtl_dump_file): Likewise.
12106         * trans-mem.cc (collect_bb2reg): Likewise.
12107         * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
12108         * tree-cfg.cc (remove_bb): Likewise.
12109         (verify_gimple_debug): Likewise.
12110         (remove_edge_and_dominated_blocks): Likewise.
12111         (push_fndecl): Likewise.
12112         * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
12113         * tree-complex.cc (expand_complex_multiplication): Likewise.
12114         (expand_complex_div_straight): Likewise.
12115         * tree-core.h (enum tree_index): Likewise.
12116         (enum operand_equal_flag): Likewise.
12117         * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
12118         * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
12119         * tree-inline.cc (initialize_inlined_parameters): Likewise.
12120         * tree-inline.h (force_value_to_type): Likewise.
12121         * tree-nested.cc (get_chain_decl): Likewise.
12122         (walk_all_functions): Likewise.
12123         * tree-object-size.h: Likewise.
12124         * tree-outof-ssa.cc: Likewise.
12125         * tree-parloops.cc (create_parallel_loop): Likewise.
12126         * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
12127         (dump_generic_node): Likewise.
12128         * tree-profile.cc (tree_profiling): Likewise.
12129         * tree-sra.cc (maybe_add_sra_candidate): Likewise.
12130         * tree-ssa-address.cc: Likewise.
12131         * tree-ssa-alias.cc: Likewise.
12132         * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
12133         (dump_alias_stats): Likewise.
12134         * tree-ssa-ccp.cc: Likewise.
12135         * tree-ssa-coalesce.h: Likewise.
12136         * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
12137         * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
12138         * tree-ssa-loop-unswitch.cc: Likewise.
12139         * tree-ssa-math-opts.cc: Likewise.
12140         * tree-ssa-operands.cc (class operands_scanner): Likewise.
12141         * tree-ssa-pre.cc: Likewise.
12142         * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
12143         (debug_range_entry): Likewise.
12144         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
12145         * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
12146         * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
12147         (equal_mem_array_ref_p): Likewise.
12148         * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
12149         * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
12150         * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
12151         * tree-ssa-ter.h: Likewise.
12152         * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
12153         * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
12154         * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
12155         (write_ts_block_tree_pointers): Likewise.
12156         * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
12157         (streamer_read_tree_bitfields): Likewise.
12158         (streamer_write_integer_cst): Likewise.
12159         * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
12160         (vect_synth_mult_by_constant): Likewise.
12161         * tree-vect-stmts.cc (vectorizable_operation): Likewise.
12162         * tree-vectorizer.cc: Likewise.
12163         * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
12164         (vect_update_inits_of_drs): Likewise.
12165         (vect_get_mask_type_for_stmt): Likewise.
12166         (vect_rgroup_iv_might_wrap_p): Likewise.
12167         (cse_and_gimplify_to_preheader): Likewise.
12168         (vect_free_slp_tree): Likewise.
12169         (vect_pattern_recog): Likewise.
12170         (vect_stmt_dominates_stmt_p): Likewise.
12171         * tree.cc (initialize_tree_contains_struct): Likewise.
12172         (need_assembler_name_p): Likewise.
12173         (type_with_interoperable_signedness): Likewise.
12174         * tree.def (SWITCH_EXPR): Likewise.
12175         * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
12176         (poly_int_tree_p): Likewise.
12177         (inlined_function_outer_scope_p): Likewise.
12178         (tree_code_for_canonical_type_merging): Likewise.
12179         * value-prof.cc: Likewise.
12180         * value-prof.h (get_nth_most_common_value): Likewise.
12181         (find_func_by_profile_id): Likewise.
12182         * value-range.cc (vrp_operand_equal_p): Likewise.
12183         * value-range.h: Likewise.
12184         * var-tracking.cc: Likewise.
12185         * varasm.cc (default_function_section): Likewise.
12186         (function_section_1): Likewise.
12187         (assemble_variable): Likewise.
12188         (handle_vtv_comdat_section): Likewise.
12189         * vec.h (struct vec_prefix): Likewise.
12190         * vmsdbgout.cc (full_name): Likewise.
12191         * vtable-verify.cc: Likewise.
12192         * vtable-verify.h (struct vtv_graph_node): Likewise.
12193         * xcoffout.cc: Likewise.
12194         * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
12196 2022-01-17  Martin Liska  <mliska@suse.cz>
12198         * adjust-alignment.c: Moved to...
12199         * adjust-alignment.cc: ...here.
12200         * alias.c: Moved to...
12201         * alias.cc: ...here.
12202         * alloc-pool.c: Moved to...
12203         * alloc-pool.cc: ...here.
12204         * asan.c: Moved to...
12205         * asan.cc: ...here.
12206         * attribs.c: Moved to...
12207         * attribs.cc: ...here.
12208         * auto-inc-dec.c: Moved to...
12209         * auto-inc-dec.cc: ...here.
12210         * auto-profile.c: Moved to...
12211         * auto-profile.cc: ...here.
12212         * bb-reorder.c: Moved to...
12213         * bb-reorder.cc: ...here.
12214         * bitmap.c: Moved to...
12215         * bitmap.cc: ...here.
12216         * btfout.c: Moved to...
12217         * btfout.cc: ...here.
12218         * builtins.c: Moved to...
12219         * builtins.cc: ...here.
12220         * caller-save.c: Moved to...
12221         * caller-save.cc: ...here.
12222         * calls.c: Moved to...
12223         * calls.cc: ...here.
12224         * ccmp.c: Moved to...
12225         * ccmp.cc: ...here.
12226         * cfg.c: Moved to...
12227         * cfg.cc: ...here.
12228         * cfganal.c: Moved to...
12229         * cfganal.cc: ...here.
12230         * cfgbuild.c: Moved to...
12231         * cfgbuild.cc: ...here.
12232         * cfgcleanup.c: Moved to...
12233         * cfgcleanup.cc: ...here.
12234         * cfgexpand.c: Moved to...
12235         * cfgexpand.cc: ...here.
12236         * cfghooks.c: Moved to...
12237         * cfghooks.cc: ...here.
12238         * cfgloop.c: Moved to...
12239         * cfgloop.cc: ...here.
12240         * cfgloopanal.c: Moved to...
12241         * cfgloopanal.cc: ...here.
12242         * cfgloopmanip.c: Moved to...
12243         * cfgloopmanip.cc: ...here.
12244         * cfgrtl.c: Moved to...
12245         * cfgrtl.cc: ...here.
12246         * cgraph.c: Moved to...
12247         * cgraph.cc: ...here.
12248         * cgraphbuild.c: Moved to...
12249         * cgraphbuild.cc: ...here.
12250         * cgraphclones.c: Moved to...
12251         * cgraphclones.cc: ...here.
12252         * cgraphunit.c: Moved to...
12253         * cgraphunit.cc: ...here.
12254         * collect-utils.c: Moved to...
12255         * collect-utils.cc: ...here.
12256         * collect2-aix.c: Moved to...
12257         * collect2-aix.cc: ...here.
12258         * collect2.c: Moved to...
12259         * collect2.cc: ...here.
12260         * combine-stack-adj.c: Moved to...
12261         * combine-stack-adj.cc: ...here.
12262         * combine.c: Moved to...
12263         * combine.cc: ...here.
12264         * common/common-targhooks.c: Moved to...
12265         * common/common-targhooks.cc: ...here.
12266         * common/config/aarch64/aarch64-common.c: Moved to...
12267         * common/config/aarch64/aarch64-common.cc: ...here.
12268         * common/config/alpha/alpha-common.c: Moved to...
12269         * common/config/alpha/alpha-common.cc: ...here.
12270         * common/config/arc/arc-common.c: Moved to...
12271         * common/config/arc/arc-common.cc: ...here.
12272         * common/config/arm/arm-common.c: Moved to...
12273         * common/config/arm/arm-common.cc: ...here.
12274         * common/config/avr/avr-common.c: Moved to...
12275         * common/config/avr/avr-common.cc: ...here.
12276         * common/config/bfin/bfin-common.c: Moved to...
12277         * common/config/bfin/bfin-common.cc: ...here.
12278         * common/config/bpf/bpf-common.c: Moved to...
12279         * common/config/bpf/bpf-common.cc: ...here.
12280         * common/config/c6x/c6x-common.c: Moved to...
12281         * common/config/c6x/c6x-common.cc: ...here.
12282         * common/config/cr16/cr16-common.c: Moved to...
12283         * common/config/cr16/cr16-common.cc: ...here.
12284         * common/config/cris/cris-common.c: Moved to...
12285         * common/config/cris/cris-common.cc: ...here.
12286         * common/config/csky/csky-common.c: Moved to...
12287         * common/config/csky/csky-common.cc: ...here.
12288         * common/config/default-common.c: Moved to...
12289         * common/config/default-common.cc: ...here.
12290         * common/config/epiphany/epiphany-common.c: Moved to...
12291         * common/config/epiphany/epiphany-common.cc: ...here.
12292         * common/config/fr30/fr30-common.c: Moved to...
12293         * common/config/fr30/fr30-common.cc: ...here.
12294         * common/config/frv/frv-common.c: Moved to...
12295         * common/config/frv/frv-common.cc: ...here.
12296         * common/config/gcn/gcn-common.c: Moved to...
12297         * common/config/gcn/gcn-common.cc: ...here.
12298         * common/config/h8300/h8300-common.c: Moved to...
12299         * common/config/h8300/h8300-common.cc: ...here.
12300         * common/config/i386/i386-common.c: Moved to...
12301         * common/config/i386/i386-common.cc: ...here.
12302         * common/config/ia64/ia64-common.c: Moved to...
12303         * common/config/ia64/ia64-common.cc: ...here.
12304         * common/config/iq2000/iq2000-common.c: Moved to...
12305         * common/config/iq2000/iq2000-common.cc: ...here.
12306         * common/config/lm32/lm32-common.c: Moved to...
12307         * common/config/lm32/lm32-common.cc: ...here.
12308         * common/config/m32r/m32r-common.c: Moved to...
12309         * common/config/m32r/m32r-common.cc: ...here.
12310         * common/config/m68k/m68k-common.c: Moved to...
12311         * common/config/m68k/m68k-common.cc: ...here.
12312         * common/config/mcore/mcore-common.c: Moved to...
12313         * common/config/mcore/mcore-common.cc: ...here.
12314         * common/config/microblaze/microblaze-common.c: Moved to...
12315         * common/config/microblaze/microblaze-common.cc: ...here.
12316         * common/config/mips/mips-common.c: Moved to...
12317         * common/config/mips/mips-common.cc: ...here.
12318         * common/config/mmix/mmix-common.c: Moved to...
12319         * common/config/mmix/mmix-common.cc: ...here.
12320         * common/config/mn10300/mn10300-common.c: Moved to...
12321         * common/config/mn10300/mn10300-common.cc: ...here.
12322         * common/config/msp430/msp430-common.c: Moved to...
12323         * common/config/msp430/msp430-common.cc: ...here.
12324         * common/config/nds32/nds32-common.c: Moved to...
12325         * common/config/nds32/nds32-common.cc: ...here.
12326         * common/config/nios2/nios2-common.c: Moved to...
12327         * common/config/nios2/nios2-common.cc: ...here.
12328         * common/config/nvptx/nvptx-common.c: Moved to...
12329         * common/config/nvptx/nvptx-common.cc: ...here.
12330         * common/config/or1k/or1k-common.c: Moved to...
12331         * common/config/or1k/or1k-common.cc: ...here.
12332         * common/config/pa/pa-common.c: Moved to...
12333         * common/config/pa/pa-common.cc: ...here.
12334         * common/config/pdp11/pdp11-common.c: Moved to...
12335         * common/config/pdp11/pdp11-common.cc: ...here.
12336         * common/config/pru/pru-common.c: Moved to...
12337         * common/config/pru/pru-common.cc: ...here.
12338         * common/config/riscv/riscv-common.c: Moved to...
12339         * common/config/riscv/riscv-common.cc: ...here.
12340         * common/config/rs6000/rs6000-common.c: Moved to...
12341         * common/config/rs6000/rs6000-common.cc: ...here.
12342         * common/config/rx/rx-common.c: Moved to...
12343         * common/config/rx/rx-common.cc: ...here.
12344         * common/config/s390/s390-common.c: Moved to...
12345         * common/config/s390/s390-common.cc: ...here.
12346         * common/config/sh/sh-common.c: Moved to...
12347         * common/config/sh/sh-common.cc: ...here.
12348         * common/config/sparc/sparc-common.c: Moved to...
12349         * common/config/sparc/sparc-common.cc: ...here.
12350         * common/config/tilegx/tilegx-common.c: Moved to...
12351         * common/config/tilegx/tilegx-common.cc: ...here.
12352         * common/config/tilepro/tilepro-common.c: Moved to...
12353         * common/config/tilepro/tilepro-common.cc: ...here.
12354         * common/config/v850/v850-common.c: Moved to...
12355         * common/config/v850/v850-common.cc: ...here.
12356         * common/config/vax/vax-common.c: Moved to...
12357         * common/config/vax/vax-common.cc: ...here.
12358         * common/config/visium/visium-common.c: Moved to...
12359         * common/config/visium/visium-common.cc: ...here.
12360         * common/config/xstormy16/xstormy16-common.c: Moved to...
12361         * common/config/xstormy16/xstormy16-common.cc: ...here.
12362         * common/config/xtensa/xtensa-common.c: Moved to...
12363         * common/config/xtensa/xtensa-common.cc: ...here.
12364         * compare-elim.c: Moved to...
12365         * compare-elim.cc: ...here.
12366         * config/aarch64/aarch64-bti-insert.c: Moved to...
12367         * config/aarch64/aarch64-bti-insert.cc: ...here.
12368         * config/aarch64/aarch64-builtins.c: Moved to...
12369         * config/aarch64/aarch64-builtins.cc: ...here.
12370         * config/aarch64/aarch64-c.c: Moved to...
12371         * config/aarch64/aarch64-c.cc: ...here.
12372         * config/aarch64/aarch64-d.c: Moved to...
12373         * config/aarch64/aarch64-d.cc: ...here.
12374         * config/aarch64/aarch64.c: Moved to...
12375         * config/aarch64/aarch64.cc: ...here.
12376         * config/aarch64/cortex-a57-fma-steering.c: Moved to...
12377         * config/aarch64/cortex-a57-fma-steering.cc: ...here.
12378         * config/aarch64/driver-aarch64.c: Moved to...
12379         * config/aarch64/driver-aarch64.cc: ...here.
12380         * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
12381         * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
12382         * config/aarch64/host-aarch64-darwin.c: Moved to...
12383         * config/aarch64/host-aarch64-darwin.cc: ...here.
12384         * config/alpha/alpha.c: Moved to...
12385         * config/alpha/alpha.cc: ...here.
12386         * config/alpha/driver-alpha.c: Moved to...
12387         * config/alpha/driver-alpha.cc: ...here.
12388         * config/arc/arc-c.c: Moved to...
12389         * config/arc/arc-c.cc: ...here.
12390         * config/arc/arc.c: Moved to...
12391         * config/arc/arc.cc: ...here.
12392         * config/arc/driver-arc.c: Moved to...
12393         * config/arc/driver-arc.cc: ...here.
12394         * config/arm/aarch-common.c: Moved to...
12395         * config/arm/aarch-common.cc: ...here.
12396         * config/arm/arm-builtins.c: Moved to...
12397         * config/arm/arm-builtins.cc: ...here.
12398         * config/arm/arm-c.c: Moved to...
12399         * config/arm/arm-c.cc: ...here.
12400         * config/arm/arm-d.c: Moved to...
12401         * config/arm/arm-d.cc: ...here.
12402         * config/arm/arm.c: Moved to...
12403         * config/arm/arm.cc: ...here.
12404         * config/arm/driver-arm.c: Moved to...
12405         * config/arm/driver-arm.cc: ...here.
12406         * config/avr/avr-c.c: Moved to...
12407         * config/avr/avr-c.cc: ...here.
12408         * config/avr/avr-devices.c: Moved to...
12409         * config/avr/avr-devices.cc: ...here.
12410         * config/avr/avr-log.c: Moved to...
12411         * config/avr/avr-log.cc: ...here.
12412         * config/avr/avr.c: Moved to...
12413         * config/avr/avr.cc: ...here.
12414         * config/avr/driver-avr.c: Moved to...
12415         * config/avr/driver-avr.cc: ...here.
12416         * config/avr/gen-avr-mmcu-specs.c: Moved to...
12417         * config/avr/gen-avr-mmcu-specs.cc: ...here.
12418         * config/avr/gen-avr-mmcu-texi.c: Moved to...
12419         * config/avr/gen-avr-mmcu-texi.cc: ...here.
12420         * config/bfin/bfin.c: Moved to...
12421         * config/bfin/bfin.cc: ...here.
12422         * config/bpf/bpf.c: Moved to...
12423         * config/bpf/bpf.cc: ...here.
12424         * config/bpf/coreout.c: Moved to...
12425         * config/bpf/coreout.cc: ...here.
12426         * config/c6x/c6x.c: Moved to...
12427         * config/c6x/c6x.cc: ...here.
12428         * config/cr16/cr16.c: Moved to...
12429         * config/cr16/cr16.cc: ...here.
12430         * config/cris/cris.c: Moved to...
12431         * config/cris/cris.cc: ...here.
12432         * config/csky/csky.c: Moved to...
12433         * config/csky/csky.cc: ...here.
12434         * config/darwin-c.c: Moved to...
12435         * config/darwin-c.cc: ...here.
12436         * config/darwin-d.c: Moved to...
12437         * config/darwin-d.cc: ...here.
12438         * config/darwin-driver.c: Moved to...
12439         * config/darwin-driver.cc: ...here.
12440         * config/darwin-f.c: Moved to...
12441         * config/darwin-f.cc: ...here.
12442         * config/darwin.c: Moved to...
12443         * config/darwin.cc: ...here.
12444         * config/default-c.c: Moved to...
12445         * config/default-c.cc: ...here.
12446         * config/default-d.c: Moved to...
12447         * config/default-d.cc: ...here.
12448         * config/dragonfly-d.c: Moved to...
12449         * config/dragonfly-d.cc: ...here.
12450         * config/epiphany/epiphany.c: Moved to...
12451         * config/epiphany/epiphany.cc: ...here.
12452         * config/epiphany/mode-switch-use.c: Moved to...
12453         * config/epiphany/mode-switch-use.cc: ...here.
12454         * config/epiphany/resolve-sw-modes.c: Moved to...
12455         * config/epiphany/resolve-sw-modes.cc: ...here.
12456         * config/fr30/fr30.c: Moved to...
12457         * config/fr30/fr30.cc: ...here.
12458         * config/freebsd-d.c: Moved to...
12459         * config/freebsd-d.cc: ...here.
12460         * config/frv/frv.c: Moved to...
12461         * config/frv/frv.cc: ...here.
12462         * config/ft32/ft32.c: Moved to...
12463         * config/ft32/ft32.cc: ...here.
12464         * config/gcn/driver-gcn.c: Moved to...
12465         * config/gcn/driver-gcn.cc: ...here.
12466         * config/gcn/gcn-run.c: Moved to...
12467         * config/gcn/gcn-run.cc: ...here.
12468         * config/gcn/gcn-tree.c: Moved to...
12469         * config/gcn/gcn-tree.cc: ...here.
12470         * config/gcn/gcn.c: Moved to...
12471         * config/gcn/gcn.cc: ...here.
12472         * config/gcn/mkoffload.c: Moved to...
12473         * config/gcn/mkoffload.cc: ...here.
12474         * config/glibc-c.c: Moved to...
12475         * config/glibc-c.cc: ...here.
12476         * config/glibc-d.c: Moved to...
12477         * config/glibc-d.cc: ...here.
12478         * config/h8300/h8300.c: Moved to...
12479         * config/h8300/h8300.cc: ...here.
12480         * config/host-darwin.c: Moved to...
12481         * config/host-darwin.cc: ...here.
12482         * config/host-hpux.c: Moved to...
12483         * config/host-hpux.cc: ...here.
12484         * config/host-linux.c: Moved to...
12485         * config/host-linux.cc: ...here.
12486         * config/host-netbsd.c: Moved to...
12487         * config/host-netbsd.cc: ...here.
12488         * config/host-openbsd.c: Moved to...
12489         * config/host-openbsd.cc: ...here.
12490         * config/host-solaris.c: Moved to...
12491         * config/host-solaris.cc: ...here.
12492         * config/i386/djgpp.c: Moved to...
12493         * config/i386/djgpp.cc: ...here.
12494         * config/i386/driver-i386.c: Moved to...
12495         * config/i386/driver-i386.cc: ...here.
12496         * config/i386/driver-mingw32.c: Moved to...
12497         * config/i386/driver-mingw32.cc: ...here.
12498         * config/i386/gnu-property.c: Moved to...
12499         * config/i386/gnu-property.cc: ...here.
12500         * config/i386/host-cygwin.c: Moved to...
12501         * config/i386/host-cygwin.cc: ...here.
12502         * config/i386/host-i386-darwin.c: Moved to...
12503         * config/i386/host-i386-darwin.cc: ...here.
12504         * config/i386/host-mingw32.c: Moved to...
12505         * config/i386/host-mingw32.cc: ...here.
12506         * config/i386/i386-builtins.c: Moved to...
12507         * config/i386/i386-builtins.cc: ...here.
12508         * config/i386/i386-c.c: Moved to...
12509         * config/i386/i386-c.cc: ...here.
12510         * config/i386/i386-d.c: Moved to...
12511         * config/i386/i386-d.cc: ...here.
12512         * config/i386/i386-expand.c: Moved to...
12513         * config/i386/i386-expand.cc: ...here.
12514         * config/i386/i386-features.c: Moved to...
12515         * config/i386/i386-features.cc: ...here.
12516         * config/i386/i386-options.c: Moved to...
12517         * config/i386/i386-options.cc: ...here.
12518         * config/i386/i386.c: Moved to...
12519         * config/i386/i386.cc: ...here.
12520         * config/i386/intelmic-mkoffload.c: Moved to...
12521         * config/i386/intelmic-mkoffload.cc: ...here.
12522         * config/i386/msformat-c.c: Moved to...
12523         * config/i386/msformat-c.cc: ...here.
12524         * config/i386/winnt-cxx.c: Moved to...
12525         * config/i386/winnt-cxx.cc: ...here.
12526         * config/i386/winnt-d.c: Moved to...
12527         * config/i386/winnt-d.cc: ...here.
12528         * config/i386/winnt-stubs.c: Moved to...
12529         * config/i386/winnt-stubs.cc: ...here.
12530         * config/i386/winnt.c: Moved to...
12531         * config/i386/winnt.cc: ...here.
12532         * config/i386/x86-tune-sched-atom.c: Moved to...
12533         * config/i386/x86-tune-sched-atom.cc: ...here.
12534         * config/i386/x86-tune-sched-bd.c: Moved to...
12535         * config/i386/x86-tune-sched-bd.cc: ...here.
12536         * config/i386/x86-tune-sched-core.c: Moved to...
12537         * config/i386/x86-tune-sched-core.cc: ...here.
12538         * config/i386/x86-tune-sched.c: Moved to...
12539         * config/i386/x86-tune-sched.cc: ...here.
12540         * config/ia64/ia64-c.c: Moved to...
12541         * config/ia64/ia64-c.cc: ...here.
12542         * config/ia64/ia64.c: Moved to...
12543         * config/ia64/ia64.cc: ...here.
12544         * config/iq2000/iq2000.c: Moved to...
12545         * config/iq2000/iq2000.cc: ...here.
12546         * config/linux.c: Moved to...
12547         * config/linux.cc: ...here.
12548         * config/lm32/lm32.c: Moved to...
12549         * config/lm32/lm32.cc: ...here.
12550         * config/m32c/m32c-pragma.c: Moved to...
12551         * config/m32c/m32c-pragma.cc: ...here.
12552         * config/m32c/m32c.c: Moved to...
12553         * config/m32c/m32c.cc: ...here.
12554         * config/m32r/m32r.c: Moved to...
12555         * config/m32r/m32r.cc: ...here.
12556         * config/m68k/m68k.c: Moved to...
12557         * config/m68k/m68k.cc: ...here.
12558         * config/mcore/mcore.c: Moved to...
12559         * config/mcore/mcore.cc: ...here.
12560         * config/microblaze/microblaze-c.c: Moved to...
12561         * config/microblaze/microblaze-c.cc: ...here.
12562         * config/microblaze/microblaze.c: Moved to...
12563         * config/microblaze/microblaze.cc: ...here.
12564         * config/mips/driver-native.c: Moved to...
12565         * config/mips/driver-native.cc: ...here.
12566         * config/mips/frame-header-opt.c: Moved to...
12567         * config/mips/frame-header-opt.cc: ...here.
12568         * config/mips/mips-d.c: Moved to...
12569         * config/mips/mips-d.cc: ...here.
12570         * config/mips/mips.c: Moved to...
12571         * config/mips/mips.cc: ...here.
12572         * config/mmix/mmix.c: Moved to...
12573         * config/mmix/mmix.cc: ...here.
12574         * config/mn10300/mn10300.c: Moved to...
12575         * config/mn10300/mn10300.cc: ...here.
12576         * config/moxie/moxie.c: Moved to...
12577         * config/moxie/moxie.cc: ...here.
12578         * config/msp430/driver-msp430.c: Moved to...
12579         * config/msp430/driver-msp430.cc: ...here.
12580         * config/msp430/msp430-c.c: Moved to...
12581         * config/msp430/msp430-c.cc: ...here.
12582         * config/msp430/msp430-devices.c: Moved to...
12583         * config/msp430/msp430-devices.cc: ...here.
12584         * config/msp430/msp430.c: Moved to...
12585         * config/msp430/msp430.cc: ...here.
12586         * config/nds32/nds32-cost.c: Moved to...
12587         * config/nds32/nds32-cost.cc: ...here.
12588         * config/nds32/nds32-fp-as-gp.c: Moved to...
12589         * config/nds32/nds32-fp-as-gp.cc: ...here.
12590         * config/nds32/nds32-intrinsic.c: Moved to...
12591         * config/nds32/nds32-intrinsic.cc: ...here.
12592         * config/nds32/nds32-isr.c: Moved to...
12593         * config/nds32/nds32-isr.cc: ...here.
12594         * config/nds32/nds32-md-auxiliary.c: Moved to...
12595         * config/nds32/nds32-md-auxiliary.cc: ...here.
12596         * config/nds32/nds32-memory-manipulation.c: Moved to...
12597         * config/nds32/nds32-memory-manipulation.cc: ...here.
12598         * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
12599         * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
12600         * config/nds32/nds32-predicates.c: Moved to...
12601         * config/nds32/nds32-predicates.cc: ...here.
12602         * config/nds32/nds32-relax-opt.c: Moved to...
12603         * config/nds32/nds32-relax-opt.cc: ...here.
12604         * config/nds32/nds32-utils.c: Moved to...
12605         * config/nds32/nds32-utils.cc: ...here.
12606         * config/nds32/nds32.c: Moved to...
12607         * config/nds32/nds32.cc: ...here.
12608         * config/netbsd-d.c: Moved to...
12609         * config/netbsd-d.cc: ...here.
12610         * config/netbsd.c: Moved to...
12611         * config/netbsd.cc: ...here.
12612         * config/nios2/nios2.c: Moved to...
12613         * config/nios2/nios2.cc: ...here.
12614         * config/nvptx/mkoffload.c: Moved to...
12615         * config/nvptx/mkoffload.cc: ...here.
12616         * config/nvptx/nvptx-c.c: Moved to...
12617         * config/nvptx/nvptx-c.cc: ...here.
12618         * config/nvptx/nvptx.c: Moved to...
12619         * config/nvptx/nvptx.cc: ...here.
12620         * config/openbsd-d.c: Moved to...
12621         * config/openbsd-d.cc: ...here.
12622         * config/or1k/or1k.c: Moved to...
12623         * config/or1k/or1k.cc: ...here.
12624         * config/pa/pa-d.c: Moved to...
12625         * config/pa/pa-d.cc: ...here.
12626         * config/pa/pa.c: Moved to...
12627         * config/pa/pa.cc: ...here.
12628         * config/pdp11/pdp11.c: Moved to...
12629         * config/pdp11/pdp11.cc: ...here.
12630         * config/pru/pru-passes.c: Moved to...
12631         * config/pru/pru-passes.cc: ...here.
12632         * config/pru/pru-pragma.c: Moved to...
12633         * config/pru/pru-pragma.cc: ...here.
12634         * config/pru/pru.c: Moved to...
12635         * config/pru/pru.cc: ...here.
12636         * config/riscv/riscv-builtins.c: Moved to...
12637         * config/riscv/riscv-builtins.cc: ...here.
12638         * config/riscv/riscv-c.c: Moved to...
12639         * config/riscv/riscv-c.cc: ...here.
12640         * config/riscv/riscv-d.c: Moved to...
12641         * config/riscv/riscv-d.cc: ...here.
12642         * config/riscv/riscv-shorten-memrefs.c: Moved to...
12643         * config/riscv/riscv-shorten-memrefs.cc: ...here.
12644         * config/riscv/riscv-sr.c: Moved to...
12645         * config/riscv/riscv-sr.cc: ...here.
12646         * config/riscv/riscv.c: Moved to...
12647         * config/riscv/riscv.cc: ...here.
12648         * config/rl78/rl78-c.c: Moved to...
12649         * config/rl78/rl78-c.cc: ...here.
12650         * config/rl78/rl78.c: Moved to...
12651         * config/rl78/rl78.cc: ...here.
12652         * config/rs6000/driver-rs6000.c: Moved to...
12653         * config/rs6000/driver-rs6000.cc: ...here.
12654         * config/rs6000/host-darwin.c: Moved to...
12655         * config/rs6000/host-darwin.cc: ...here.
12656         * config/rs6000/host-ppc64-darwin.c: Moved to...
12657         * config/rs6000/host-ppc64-darwin.cc: ...here.
12658         * config/rs6000/rbtree.c: Moved to...
12659         * config/rs6000/rbtree.cc: ...here.
12660         * config/rs6000/rs6000-c.c: Moved to...
12661         * config/rs6000/rs6000-c.cc: ...here.
12662         * config/rs6000/rs6000-call.c: Moved to...
12663         * config/rs6000/rs6000-call.cc: ...here.
12664         * config/rs6000/rs6000-d.c: Moved to...
12665         * config/rs6000/rs6000-d.cc: ...here.
12666         * config/rs6000/rs6000-gen-builtins.c: Moved to...
12667         * config/rs6000/rs6000-gen-builtins.cc: ...here.
12668         * config/rs6000/rs6000-linux.c: Moved to...
12669         * config/rs6000/rs6000-linux.cc: ...here.
12670         * config/rs6000/rs6000-logue.c: Moved to...
12671         * config/rs6000/rs6000-logue.cc: ...here.
12672         * config/rs6000/rs6000-p8swap.c: Moved to...
12673         * config/rs6000/rs6000-p8swap.cc: ...here.
12674         * config/rs6000/rs6000-pcrel-opt.c: Moved to...
12675         * config/rs6000/rs6000-pcrel-opt.cc: ...here.
12676         * config/rs6000/rs6000-string.c: Moved to...
12677         * config/rs6000/rs6000-string.cc: ...here.
12678         * config/rs6000/rs6000.c: Moved to...
12679         * config/rs6000/rs6000.cc: ...here.
12680         * config/rx/rx.c: Moved to...
12681         * config/rx/rx.cc: ...here.
12682         * config/s390/driver-native.c: Moved to...
12683         * config/s390/driver-native.cc: ...here.
12684         * config/s390/s390-c.c: Moved to...
12685         * config/s390/s390-c.cc: ...here.
12686         * config/s390/s390-d.c: Moved to...
12687         * config/s390/s390-d.cc: ...here.
12688         * config/s390/s390.c: Moved to...
12689         * config/s390/s390.cc: ...here.
12690         * config/sh/divtab-sh4-300.c: Moved to...
12691         * config/sh/divtab-sh4-300.cc: ...here.
12692         * config/sh/divtab-sh4.c: Moved to...
12693         * config/sh/divtab-sh4.cc: ...here.
12694         * config/sh/divtab.c: Moved to...
12695         * config/sh/divtab.cc: ...here.
12696         * config/sh/sh-c.c: Moved to...
12697         * config/sh/sh-c.cc: ...here.
12698         * config/sh/sh.c: Moved to...
12699         * config/sh/sh.cc: ...here.
12700         * config/sol2-c.c: Moved to...
12701         * config/sol2-c.cc: ...here.
12702         * config/sol2-cxx.c: Moved to...
12703         * config/sol2-cxx.cc: ...here.
12704         * config/sol2-d.c: Moved to...
12705         * config/sol2-d.cc: ...here.
12706         * config/sol2-stubs.c: Moved to...
12707         * config/sol2-stubs.cc: ...here.
12708         * config/sol2.c: Moved to...
12709         * config/sol2.cc: ...here.
12710         * config/sparc/driver-sparc.c: Moved to...
12711         * config/sparc/driver-sparc.cc: ...here.
12712         * config/sparc/sparc-c.c: Moved to...
12713         * config/sparc/sparc-c.cc: ...here.
12714         * config/sparc/sparc-d.c: Moved to...
12715         * config/sparc/sparc-d.cc: ...here.
12716         * config/sparc/sparc.c: Moved to...
12717         * config/sparc/sparc.cc: ...here.
12718         * config/stormy16/stormy16.c: Moved to...
12719         * config/stormy16/stormy16.cc: ...here.
12720         * config/tilegx/mul-tables.c: Moved to...
12721         * config/tilegx/mul-tables.cc: ...here.
12722         * config/tilegx/tilegx-c.c: Moved to...
12723         * config/tilegx/tilegx-c.cc: ...here.
12724         * config/tilegx/tilegx.c: Moved to...
12725         * config/tilegx/tilegx.cc: ...here.
12726         * config/tilepro/mul-tables.c: Moved to...
12727         * config/tilepro/mul-tables.cc: ...here.
12728         * config/tilepro/tilepro-c.c: Moved to...
12729         * config/tilepro/tilepro-c.cc: ...here.
12730         * config/tilepro/tilepro.c: Moved to...
12731         * config/tilepro/tilepro.cc: ...here.
12732         * config/v850/v850-c.c: Moved to...
12733         * config/v850/v850-c.cc: ...here.
12734         * config/v850/v850.c: Moved to...
12735         * config/v850/v850.cc: ...here.
12736         * config/vax/vax.c: Moved to...
12737         * config/vax/vax.cc: ...here.
12738         * config/visium/visium.c: Moved to...
12739         * config/visium/visium.cc: ...here.
12740         * config/vms/vms-c.c: Moved to...
12741         * config/vms/vms-c.cc: ...here.
12742         * config/vms/vms-f.c: Moved to...
12743         * config/vms/vms-f.cc: ...here.
12744         * config/vms/vms.c: Moved to...
12745         * config/vms/vms.cc: ...here.
12746         * config/vxworks-c.c: Moved to...
12747         * config/vxworks-c.cc: ...here.
12748         * config/vxworks.c: Moved to...
12749         * config/vxworks.cc: ...here.
12750         * config/winnt-c.c: Moved to...
12751         * config/winnt-c.cc: ...here.
12752         * config/xtensa/xtensa.c: Moved to...
12753         * config/xtensa/xtensa.cc: ...here.
12754         * context.c: Moved to...
12755         * context.cc: ...here.
12756         * convert.c: Moved to...
12757         * convert.cc: ...here.
12758         * coverage.c: Moved to...
12759         * coverage.cc: ...here.
12760         * cppbuiltin.c: Moved to...
12761         * cppbuiltin.cc: ...here.
12762         * cppdefault.c: Moved to...
12763         * cppdefault.cc: ...here.
12764         * cprop.c: Moved to...
12765         * cprop.cc: ...here.
12766         * cse.c: Moved to...
12767         * cse.cc: ...here.
12768         * cselib.c: Moved to...
12769         * cselib.cc: ...here.
12770         * ctfc.c: Moved to...
12771         * ctfc.cc: ...here.
12772         * ctfout.c: Moved to...
12773         * ctfout.cc: ...here.
12774         * data-streamer-in.c: Moved to...
12775         * data-streamer-in.cc: ...here.
12776         * data-streamer-out.c: Moved to...
12777         * data-streamer-out.cc: ...here.
12778         * data-streamer.c: Moved to...
12779         * data-streamer.cc: ...here.
12780         * dbgcnt.c: Moved to...
12781         * dbgcnt.cc: ...here.
12782         * dbxout.c: Moved to...
12783         * dbxout.cc: ...here.
12784         * dce.c: Moved to...
12785         * dce.cc: ...here.
12786         * ddg.c: Moved to...
12787         * ddg.cc: ...here.
12788         * debug.c: Moved to...
12789         * debug.cc: ...here.
12790         * df-core.c: Moved to...
12791         * df-core.cc: ...here.
12792         * df-problems.c: Moved to...
12793         * df-problems.cc: ...here.
12794         * df-scan.c: Moved to...
12795         * df-scan.cc: ...here.
12796         * dfp.c: Moved to...
12797         * dfp.cc: ...here.
12798         * diagnostic-color.c: Moved to...
12799         * diagnostic-color.cc: ...here.
12800         * diagnostic-show-locus.c: Moved to...
12801         * diagnostic-show-locus.cc: ...here.
12802         * diagnostic-spec.c: Moved to...
12803         * diagnostic-spec.cc: ...here.
12804         * diagnostic.c: Moved to...
12805         * diagnostic.cc: ...here.
12806         * dojump.c: Moved to...
12807         * dojump.cc: ...here.
12808         * dominance.c: Moved to...
12809         * dominance.cc: ...here.
12810         * domwalk.c: Moved to...
12811         * domwalk.cc: ...here.
12812         * double-int.c: Moved to...
12813         * double-int.cc: ...here.
12814         * dse.c: Moved to...
12815         * dse.cc: ...here.
12816         * dumpfile.c: Moved to...
12817         * dumpfile.cc: ...here.
12818         * dwarf2asm.c: Moved to...
12819         * dwarf2asm.cc: ...here.
12820         * dwarf2cfi.c: Moved to...
12821         * dwarf2cfi.cc: ...here.
12822         * dwarf2ctf.c: Moved to...
12823         * dwarf2ctf.cc: ...here.
12824         * dwarf2out.c: Moved to...
12825         * dwarf2out.cc: ...here.
12826         * early-remat.c: Moved to...
12827         * early-remat.cc: ...here.
12828         * edit-context.c: Moved to...
12829         * edit-context.cc: ...here.
12830         * emit-rtl.c: Moved to...
12831         * emit-rtl.cc: ...here.
12832         * errors.c: Moved to...
12833         * errors.cc: ...here.
12834         * et-forest.c: Moved to...
12835         * et-forest.cc: ...here.
12836         * except.c: Moved to...
12837         * except.cc: ...here.
12838         * explow.c: Moved to...
12839         * explow.cc: ...here.
12840         * expmed.c: Moved to...
12841         * expmed.cc: ...here.
12842         * expr.c: Moved to...
12843         * expr.cc: ...here.
12844         * fibonacci_heap.c: Moved to...
12845         * fibonacci_heap.cc: ...here.
12846         * file-find.c: Moved to...
12847         * file-find.cc: ...here.
12848         * file-prefix-map.c: Moved to...
12849         * file-prefix-map.cc: ...here.
12850         * final.c: Moved to...
12851         * final.cc: ...here.
12852         * fixed-value.c: Moved to...
12853         * fixed-value.cc: ...here.
12854         * fold-const-call.c: Moved to...
12855         * fold-const-call.cc: ...here.
12856         * fold-const.c: Moved to...
12857         * fold-const.cc: ...here.
12858         * fp-test.c: Moved to...
12859         * fp-test.cc: ...here.
12860         * function-tests.c: Moved to...
12861         * function-tests.cc: ...here.
12862         * function.c: Moved to...
12863         * function.cc: ...here.
12864         * fwprop.c: Moved to...
12865         * fwprop.cc: ...here.
12866         * gcc-ar.c: Moved to...
12867         * gcc-ar.cc: ...here.
12868         * gcc-main.c: Moved to...
12869         * gcc-main.cc: ...here.
12870         * gcc-rich-location.c: Moved to...
12871         * gcc-rich-location.cc: ...here.
12872         * gcc.c: Moved to...
12873         * gcc.cc: ...here.
12874         * gcov-dump.c: Moved to...
12875         * gcov-dump.cc: ...here.
12876         * gcov-io.c: Moved to...
12877         * gcov-io.cc: ...here.
12878         * gcov-tool.c: Moved to...
12879         * gcov-tool.cc: ...here.
12880         * gcov.c: Moved to...
12881         * gcov.cc: ...here.
12882         * gcse-common.c: Moved to...
12883         * gcse-common.cc: ...here.
12884         * gcse.c: Moved to...
12885         * gcse.cc: ...here.
12886         * genattr-common.c: Moved to...
12887         * genattr-common.cc: ...here.
12888         * genattr.c: Moved to...
12889         * genattr.cc: ...here.
12890         * genattrtab.c: Moved to...
12891         * genattrtab.cc: ...here.
12892         * genautomata.c: Moved to...
12893         * genautomata.cc: ...here.
12894         * gencfn-macros.c: Moved to...
12895         * gencfn-macros.cc: ...here.
12896         * gencheck.c: Moved to...
12897         * gencheck.cc: ...here.
12898         * genchecksum.c: Moved to...
12899         * genchecksum.cc: ...here.
12900         * gencodes.c: Moved to...
12901         * gencodes.cc: ...here.
12902         * genconditions.c: Moved to...
12903         * genconditions.cc: ...here.
12904         * genconfig.c: Moved to...
12905         * genconfig.cc: ...here.
12906         * genconstants.c: Moved to...
12907         * genconstants.cc: ...here.
12908         * genemit.c: Moved to...
12909         * genemit.cc: ...here.
12910         * genenums.c: Moved to...
12911         * genenums.cc: ...here.
12912         * generic-match-head.c: Moved to...
12913         * generic-match-head.cc: ...here.
12914         * genextract.c: Moved to...
12915         * genextract.cc: ...here.
12916         * genflags.c: Moved to...
12917         * genflags.cc: ...here.
12918         * gengenrtl.c: Moved to...
12919         * gengenrtl.cc: ...here.
12920         * gengtype-parse.c: Moved to...
12921         * gengtype-parse.cc: ...here.
12922         * gengtype-state.c: Moved to...
12923         * gengtype-state.cc: ...here.
12924         * gengtype.c: Moved to...
12925         * gengtype.cc: ...here.
12926         * genhooks.c: Moved to...
12927         * genhooks.cc: ...here.
12928         * genmatch.c: Moved to...
12929         * genmatch.cc: ...here.
12930         * genmddeps.c: Moved to...
12931         * genmddeps.cc: ...here.
12932         * genmddump.c: Moved to...
12933         * genmddump.cc: ...here.
12934         * genmodes.c: Moved to...
12935         * genmodes.cc: ...here.
12936         * genopinit.c: Moved to...
12937         * genopinit.cc: ...here.
12938         * genoutput.c: Moved to...
12939         * genoutput.cc: ...here.
12940         * genpeep.c: Moved to...
12941         * genpeep.cc: ...here.
12942         * genpreds.c: Moved to...
12943         * genpreds.cc: ...here.
12944         * genrecog.c: Moved to...
12945         * genrecog.cc: ...here.
12946         * gensupport.c: Moved to...
12947         * gensupport.cc: ...here.
12948         * gentarget-def.c: Moved to...
12949         * gentarget-def.cc: ...here.
12950         * genversion.c: Moved to...
12951         * genversion.cc: ...here.
12952         * ggc-common.c: Moved to...
12953         * ggc-common.cc: ...here.
12954         * ggc-none.c: Moved to...
12955         * ggc-none.cc: ...here.
12956         * ggc-page.c: Moved to...
12957         * ggc-page.cc: ...here.
12958         * ggc-tests.c: Moved to...
12959         * ggc-tests.cc: ...here.
12960         * gimple-builder.c: Moved to...
12961         * gimple-builder.cc: ...here.
12962         * gimple-expr.c: Moved to...
12963         * gimple-expr.cc: ...here.
12964         * gimple-fold.c: Moved to...
12965         * gimple-fold.cc: ...here.
12966         * gimple-iterator.c: Moved to...
12967         * gimple-iterator.cc: ...here.
12968         * gimple-laddress.c: Moved to...
12969         * gimple-laddress.cc: ...here.
12970         * gimple-loop-jam.c: Moved to...
12971         * gimple-loop-jam.cc: ...here.
12972         * gimple-low.c: Moved to...
12973         * gimple-low.cc: ...here.
12974         * gimple-match-head.c: Moved to...
12975         * gimple-match-head.cc: ...here.
12976         * gimple-pretty-print.c: Moved to...
12977         * gimple-pretty-print.cc: ...here.
12978         * gimple-ssa-backprop.c: Moved to...
12979         * gimple-ssa-backprop.cc: ...here.
12980         * gimple-ssa-evrp-analyze.c: Moved to...
12981         * gimple-ssa-evrp-analyze.cc: ...here.
12982         * gimple-ssa-evrp.c: Moved to...
12983         * gimple-ssa-evrp.cc: ...here.
12984         * gimple-ssa-isolate-paths.c: Moved to...
12985         * gimple-ssa-isolate-paths.cc: ...here.
12986         * gimple-ssa-nonnull-compare.c: Moved to...
12987         * gimple-ssa-nonnull-compare.cc: ...here.
12988         * gimple-ssa-split-paths.c: Moved to...
12989         * gimple-ssa-split-paths.cc: ...here.
12990         * gimple-ssa-sprintf.c: Moved to...
12991         * gimple-ssa-sprintf.cc: ...here.
12992         * gimple-ssa-store-merging.c: Moved to...
12993         * gimple-ssa-store-merging.cc: ...here.
12994         * gimple-ssa-strength-reduction.c: Moved to...
12995         * gimple-ssa-strength-reduction.cc: ...here.
12996         * gimple-ssa-warn-alloca.c: Moved to...
12997         * gimple-ssa-warn-alloca.cc: ...here.
12998         * gimple-ssa-warn-restrict.c: Moved to...
12999         * gimple-ssa-warn-restrict.cc: ...here.
13000         * gimple-streamer-in.c: Moved to...
13001         * gimple-streamer-in.cc: ...here.
13002         * gimple-streamer-out.c: Moved to...
13003         * gimple-streamer-out.cc: ...here.
13004         * gimple-walk.c: Moved to...
13005         * gimple-walk.cc: ...here.
13006         * gimple-warn-recursion.c: Moved to...
13007         * gimple-warn-recursion.cc: ...here.
13008         * gimple.c: Moved to...
13009         * gimple.cc: ...here.
13010         * gimplify-me.c: Moved to...
13011         * gimplify-me.cc: ...here.
13012         * gimplify.c: Moved to...
13013         * gimplify.cc: ...here.
13014         * godump.c: Moved to...
13015         * godump.cc: ...here.
13016         * graph.c: Moved to...
13017         * graph.cc: ...here.
13018         * graphds.c: Moved to...
13019         * graphds.cc: ...here.
13020         * graphite-dependences.c: Moved to...
13021         * graphite-dependences.cc: ...here.
13022         * graphite-isl-ast-to-gimple.c: Moved to...
13023         * graphite-isl-ast-to-gimple.cc: ...here.
13024         * graphite-optimize-isl.c: Moved to...
13025         * graphite-optimize-isl.cc: ...here.
13026         * graphite-poly.c: Moved to...
13027         * graphite-poly.cc: ...here.
13028         * graphite-scop-detection.c: Moved to...
13029         * graphite-scop-detection.cc: ...here.
13030         * graphite-sese-to-poly.c: Moved to...
13031         * graphite-sese-to-poly.cc: ...here.
13032         * graphite.c: Moved to...
13033         * graphite.cc: ...here.
13034         * haifa-sched.c: Moved to...
13035         * haifa-sched.cc: ...here.
13036         * hash-map-tests.c: Moved to...
13037         * hash-map-tests.cc: ...here.
13038         * hash-set-tests.c: Moved to...
13039         * hash-set-tests.cc: ...here.
13040         * hash-table.c: Moved to...
13041         * hash-table.cc: ...here.
13042         * hooks.c: Moved to...
13043         * hooks.cc: ...here.
13044         * host-default.c: Moved to...
13045         * host-default.cc: ...here.
13046         * hw-doloop.c: Moved to...
13047         * hw-doloop.cc: ...here.
13048         * hwint.c: Moved to...
13049         * hwint.cc: ...here.
13050         * ifcvt.c: Moved to...
13051         * ifcvt.cc: ...here.
13052         * inchash.c: Moved to...
13053         * inchash.cc: ...here.
13054         * incpath.c: Moved to...
13055         * incpath.cc: ...here.
13056         * init-regs.c: Moved to...
13057         * init-regs.cc: ...here.
13058         * input.c: Moved to...
13059         * input.cc: ...here.
13060         * internal-fn.c: Moved to...
13061         * internal-fn.cc: ...here.
13062         * intl.c: Moved to...
13063         * intl.cc: ...here.
13064         * ipa-comdats.c: Moved to...
13065         * ipa-comdats.cc: ...here.
13066         * ipa-cp.c: Moved to...
13067         * ipa-cp.cc: ...here.
13068         * ipa-devirt.c: Moved to...
13069         * ipa-devirt.cc: ...here.
13070         * ipa-fnsummary.c: Moved to...
13071         * ipa-fnsummary.cc: ...here.
13072         * ipa-icf-gimple.c: Moved to...
13073         * ipa-icf-gimple.cc: ...here.
13074         * ipa-icf.c: Moved to...
13075         * ipa-icf.cc: ...here.
13076         * ipa-inline-analysis.c: Moved to...
13077         * ipa-inline-analysis.cc: ...here.
13078         * ipa-inline-transform.c: Moved to...
13079         * ipa-inline-transform.cc: ...here.
13080         * ipa-inline.c: Moved to...
13081         * ipa-inline.cc: ...here.
13082         * ipa-modref-tree.c: Moved to...
13083         * ipa-modref-tree.cc: ...here.
13084         * ipa-modref.c: Moved to...
13085         * ipa-modref.cc: ...here.
13086         * ipa-param-manipulation.c: Moved to...
13087         * ipa-param-manipulation.cc: ...here.
13088         * ipa-polymorphic-call.c: Moved to...
13089         * ipa-polymorphic-call.cc: ...here.
13090         * ipa-predicate.c: Moved to...
13091         * ipa-predicate.cc: ...here.
13092         * ipa-profile.c: Moved to...
13093         * ipa-profile.cc: ...here.
13094         * ipa-prop.c: Moved to...
13095         * ipa-prop.cc: ...here.
13096         * ipa-pure-const.c: Moved to...
13097         * ipa-pure-const.cc: ...here.
13098         * ipa-ref.c: Moved to...
13099         * ipa-ref.cc: ...here.
13100         * ipa-reference.c: Moved to...
13101         * ipa-reference.cc: ...here.
13102         * ipa-split.c: Moved to...
13103         * ipa-split.cc: ...here.
13104         * ipa-sra.c: Moved to...
13105         * ipa-sra.cc: ...here.
13106         * ipa-utils.c: Moved to...
13107         * ipa-utils.cc: ...here.
13108         * ipa-visibility.c: Moved to...
13109         * ipa-visibility.cc: ...here.
13110         * ipa.c: Moved to...
13111         * ipa.cc: ...here.
13112         * ira-build.c: Moved to...
13113         * ira-build.cc: ...here.
13114         * ira-color.c: Moved to...
13115         * ira-color.cc: ...here.
13116         * ira-conflicts.c: Moved to...
13117         * ira-conflicts.cc: ...here.
13118         * ira-costs.c: Moved to...
13119         * ira-costs.cc: ...here.
13120         * ira-emit.c: Moved to...
13121         * ira-emit.cc: ...here.
13122         * ira-lives.c: Moved to...
13123         * ira-lives.cc: ...here.
13124         * ira.c: Moved to...
13125         * ira.cc: ...here.
13126         * jump.c: Moved to...
13127         * jump.cc: ...here.
13128         * langhooks.c: Moved to...
13129         * langhooks.cc: ...here.
13130         * lcm.c: Moved to...
13131         * lcm.cc: ...here.
13132         * lists.c: Moved to...
13133         * lists.cc: ...here.
13134         * loop-doloop.c: Moved to...
13135         * loop-doloop.cc: ...here.
13136         * loop-init.c: Moved to...
13137         * loop-init.cc: ...here.
13138         * loop-invariant.c: Moved to...
13139         * loop-invariant.cc: ...here.
13140         * loop-iv.c: Moved to...
13141         * loop-iv.cc: ...here.
13142         * loop-unroll.c: Moved to...
13143         * loop-unroll.cc: ...here.
13144         * lower-subreg.c: Moved to...
13145         * lower-subreg.cc: ...here.
13146         * lra-assigns.c: Moved to...
13147         * lra-assigns.cc: ...here.
13148         * lra-coalesce.c: Moved to...
13149         * lra-coalesce.cc: ...here.
13150         * lra-constraints.c: Moved to...
13151         * lra-constraints.cc: ...here.
13152         * lra-eliminations.c: Moved to...
13153         * lra-eliminations.cc: ...here.
13154         * lra-lives.c: Moved to...
13155         * lra-lives.cc: ...here.
13156         * lra-remat.c: Moved to...
13157         * lra-remat.cc: ...here.
13158         * lra-spills.c: Moved to...
13159         * lra-spills.cc: ...here.
13160         * lra.c: Moved to...
13161         * lra.cc: ...here.
13162         * lto-cgraph.c: Moved to...
13163         * lto-cgraph.cc: ...here.
13164         * lto-compress.c: Moved to...
13165         * lto-compress.cc: ...here.
13166         * lto-opts.c: Moved to...
13167         * lto-opts.cc: ...here.
13168         * lto-section-in.c: Moved to...
13169         * lto-section-in.cc: ...here.
13170         * lto-section-out.c: Moved to...
13171         * lto-section-out.cc: ...here.
13172         * lto-streamer-in.c: Moved to...
13173         * lto-streamer-in.cc: ...here.
13174         * lto-streamer-out.c: Moved to...
13175         * lto-streamer-out.cc: ...here.
13176         * lto-streamer.c: Moved to...
13177         * lto-streamer.cc: ...here.
13178         * lto-wrapper.c: Moved to...
13179         * lto-wrapper.cc: ...here.
13180         * main.c: Moved to...
13181         * main.cc: ...here.
13182         * mcf.c: Moved to...
13183         * mcf.cc: ...here.
13184         * mode-switching.c: Moved to...
13185         * mode-switching.cc: ...here.
13186         * modulo-sched.c: Moved to...
13187         * modulo-sched.cc: ...here.
13188         * multiple_target.c: Moved to...
13189         * multiple_target.cc: ...here.
13190         * omp-expand.c: Moved to...
13191         * omp-expand.cc: ...here.
13192         * omp-general.c: Moved to...
13193         * omp-general.cc: ...here.
13194         * omp-low.c: Moved to...
13195         * omp-low.cc: ...here.
13196         * omp-offload.c: Moved to...
13197         * omp-offload.cc: ...here.
13198         * omp-simd-clone.c: Moved to...
13199         * omp-simd-clone.cc: ...here.
13200         * opt-suggestions.c: Moved to...
13201         * opt-suggestions.cc: ...here.
13202         * optabs-libfuncs.c: Moved to...
13203         * optabs-libfuncs.cc: ...here.
13204         * optabs-query.c: Moved to...
13205         * optabs-query.cc: ...here.
13206         * optabs-tree.c: Moved to...
13207         * optabs-tree.cc: ...here.
13208         * optabs.c: Moved to...
13209         * optabs.cc: ...here.
13210         * opts-common.c: Moved to...
13211         * opts-common.cc: ...here.
13212         * opts-global.c: Moved to...
13213         * opts-global.cc: ...here.
13214         * opts.c: Moved to...
13215         * opts.cc: ...here.
13216         * passes.c: Moved to...
13217         * passes.cc: ...here.
13218         * plugin.c: Moved to...
13219         * plugin.cc: ...here.
13220         * postreload-gcse.c: Moved to...
13221         * postreload-gcse.cc: ...here.
13222         * postreload.c: Moved to...
13223         * postreload.cc: ...here.
13224         * predict.c: Moved to...
13225         * predict.cc: ...here.
13226         * prefix.c: Moved to...
13227         * prefix.cc: ...here.
13228         * pretty-print.c: Moved to...
13229         * pretty-print.cc: ...here.
13230         * print-rtl-function.c: Moved to...
13231         * print-rtl-function.cc: ...here.
13232         * print-rtl.c: Moved to...
13233         * print-rtl.cc: ...here.
13234         * print-tree.c: Moved to...
13235         * print-tree.cc: ...here.
13236         * profile-count.c: Moved to...
13237         * profile-count.cc: ...here.
13238         * profile.c: Moved to...
13239         * profile.cc: ...here.
13240         * read-md.c: Moved to...
13241         * read-md.cc: ...here.
13242         * read-rtl-function.c: Moved to...
13243         * read-rtl-function.cc: ...here.
13244         * read-rtl.c: Moved to...
13245         * read-rtl.cc: ...here.
13246         * real.c: Moved to...
13247         * real.cc: ...here.
13248         * realmpfr.c: Moved to...
13249         * realmpfr.cc: ...here.
13250         * recog.c: Moved to...
13251         * recog.cc: ...here.
13252         * ree.c: Moved to...
13253         * ree.cc: ...here.
13254         * reg-stack.c: Moved to...
13255         * reg-stack.cc: ...here.
13256         * regcprop.c: Moved to...
13257         * regcprop.cc: ...here.
13258         * reginfo.c: Moved to...
13259         * reginfo.cc: ...here.
13260         * regrename.c: Moved to...
13261         * regrename.cc: ...here.
13262         * regstat.c: Moved to...
13263         * regstat.cc: ...here.
13264         * reload.c: Moved to...
13265         * reload.cc: ...here.
13266         * reload1.c: Moved to...
13267         * reload1.cc: ...here.
13268         * reorg.c: Moved to...
13269         * reorg.cc: ...here.
13270         * resource.c: Moved to...
13271         * resource.cc: ...here.
13272         * rtl-error.c: Moved to...
13273         * rtl-error.cc: ...here.
13274         * rtl-tests.c: Moved to...
13275         * rtl-tests.cc: ...here.
13276         * rtl.c: Moved to...
13277         * rtl.cc: ...here.
13278         * rtlanal.c: Moved to...
13279         * rtlanal.cc: ...here.
13280         * rtlhash.c: Moved to...
13281         * rtlhash.cc: ...here.
13282         * rtlhooks.c: Moved to...
13283         * rtlhooks.cc: ...here.
13284         * rtx-vector-builder.c: Moved to...
13285         * rtx-vector-builder.cc: ...here.
13286         * run-rtl-passes.c: Moved to...
13287         * run-rtl-passes.cc: ...here.
13288         * sancov.c: Moved to...
13289         * sancov.cc: ...here.
13290         * sanopt.c: Moved to...
13291         * sanopt.cc: ...here.
13292         * sbitmap.c: Moved to...
13293         * sbitmap.cc: ...here.
13294         * sched-deps.c: Moved to...
13295         * sched-deps.cc: ...here.
13296         * sched-ebb.c: Moved to...
13297         * sched-ebb.cc: ...here.
13298         * sched-rgn.c: Moved to...
13299         * sched-rgn.cc: ...here.
13300         * sel-sched-dump.c: Moved to...
13301         * sel-sched-dump.cc: ...here.
13302         * sel-sched-ir.c: Moved to...
13303         * sel-sched-ir.cc: ...here.
13304         * sel-sched.c: Moved to...
13305         * sel-sched.cc: ...here.
13306         * selftest-diagnostic.c: Moved to...
13307         * selftest-diagnostic.cc: ...here.
13308         * selftest-rtl.c: Moved to...
13309         * selftest-rtl.cc: ...here.
13310         * selftest-run-tests.c: Moved to...
13311         * selftest-run-tests.cc: ...here.
13312         * selftest.c: Moved to...
13313         * selftest.cc: ...here.
13314         * sese.c: Moved to...
13315         * sese.cc: ...here.
13316         * shrink-wrap.c: Moved to...
13317         * shrink-wrap.cc: ...here.
13318         * simplify-rtx.c: Moved to...
13319         * simplify-rtx.cc: ...here.
13320         * sparseset.c: Moved to...
13321         * sparseset.cc: ...here.
13322         * spellcheck-tree.c: Moved to...
13323         * spellcheck-tree.cc: ...here.
13324         * spellcheck.c: Moved to...
13325         * spellcheck.cc: ...here.
13326         * sreal.c: Moved to...
13327         * sreal.cc: ...here.
13328         * stack-ptr-mod.c: Moved to...
13329         * stack-ptr-mod.cc: ...here.
13330         * statistics.c: Moved to...
13331         * statistics.cc: ...here.
13332         * stmt.c: Moved to...
13333         * stmt.cc: ...here.
13334         * stor-layout.c: Moved to...
13335         * stor-layout.cc: ...here.
13336         * store-motion.c: Moved to...
13337         * store-motion.cc: ...here.
13338         * streamer-hooks.c: Moved to...
13339         * streamer-hooks.cc: ...here.
13340         * stringpool.c: Moved to...
13341         * stringpool.cc: ...here.
13342         * substring-locations.c: Moved to...
13343         * substring-locations.cc: ...here.
13344         * symtab.c: Moved to...
13345         * symtab.cc: ...here.
13346         * target-globals.c: Moved to...
13347         * target-globals.cc: ...here.
13348         * targhooks.c: Moved to...
13349         * targhooks.cc: ...here.
13350         * timevar.c: Moved to...
13351         * timevar.cc: ...here.
13352         * toplev.c: Moved to...
13353         * toplev.cc: ...here.
13354         * tracer.c: Moved to...
13355         * tracer.cc: ...here.
13356         * trans-mem.c: Moved to...
13357         * trans-mem.cc: ...here.
13358         * tree-affine.c: Moved to...
13359         * tree-affine.cc: ...here.
13360         * tree-call-cdce.c: Moved to...
13361         * tree-call-cdce.cc: ...here.
13362         * tree-cfg.c: Moved to...
13363         * tree-cfg.cc: ...here.
13364         * tree-cfgcleanup.c: Moved to...
13365         * tree-cfgcleanup.cc: ...here.
13366         * tree-chrec.c: Moved to...
13367         * tree-chrec.cc: ...here.
13368         * tree-complex.c: Moved to...
13369         * tree-complex.cc: ...here.
13370         * tree-data-ref.c: Moved to...
13371         * tree-data-ref.cc: ...here.
13372         * tree-dfa.c: Moved to...
13373         * tree-dfa.cc: ...here.
13374         * tree-diagnostic.c: Moved to...
13375         * tree-diagnostic.cc: ...here.
13376         * tree-dump.c: Moved to...
13377         * tree-dump.cc: ...here.
13378         * tree-eh.c: Moved to...
13379         * tree-eh.cc: ...here.
13380         * tree-emutls.c: Moved to...
13381         * tree-emutls.cc: ...here.
13382         * tree-if-conv.c: Moved to...
13383         * tree-if-conv.cc: ...here.
13384         * tree-inline.c: Moved to...
13385         * tree-inline.cc: ...here.
13386         * tree-into-ssa.c: Moved to...
13387         * tree-into-ssa.cc: ...here.
13388         * tree-iterator.c: Moved to...
13389         * tree-iterator.cc: ...here.
13390         * tree-loop-distribution.c: Moved to...
13391         * tree-loop-distribution.cc: ...here.
13392         * tree-nested.c: Moved to...
13393         * tree-nested.cc: ...here.
13394         * tree-nrv.c: Moved to...
13395         * tree-nrv.cc: ...here.
13396         * tree-object-size.c: Moved to...
13397         * tree-object-size.cc: ...here.
13398         * tree-outof-ssa.c: Moved to...
13399         * tree-outof-ssa.cc: ...here.
13400         * tree-parloops.c: Moved to...
13401         * tree-parloops.cc: ...here.
13402         * tree-phinodes.c: Moved to...
13403         * tree-phinodes.cc: ...here.
13404         * tree-predcom.c: Moved to...
13405         * tree-predcom.cc: ...here.
13406         * tree-pretty-print.c: Moved to...
13407         * tree-pretty-print.cc: ...here.
13408         * tree-profile.c: Moved to...
13409         * tree-profile.cc: ...here.
13410         * tree-scalar-evolution.c: Moved to...
13411         * tree-scalar-evolution.cc: ...here.
13412         * tree-sra.c: Moved to...
13413         * tree-sra.cc: ...here.
13414         * tree-ssa-address.c: Moved to...
13415         * tree-ssa-address.cc: ...here.
13416         * tree-ssa-alias.c: Moved to...
13417         * tree-ssa-alias.cc: ...here.
13418         * tree-ssa-ccp.c: Moved to...
13419         * tree-ssa-ccp.cc: ...here.
13420         * tree-ssa-coalesce.c: Moved to...
13421         * tree-ssa-coalesce.cc: ...here.
13422         * tree-ssa-copy.c: Moved to...
13423         * tree-ssa-copy.cc: ...here.
13424         * tree-ssa-dce.c: Moved to...
13425         * tree-ssa-dce.cc: ...here.
13426         * tree-ssa-dom.c: Moved to...
13427         * tree-ssa-dom.cc: ...here.
13428         * tree-ssa-dse.c: Moved to...
13429         * tree-ssa-dse.cc: ...here.
13430         * tree-ssa-forwprop.c: Moved to...
13431         * tree-ssa-forwprop.cc: ...here.
13432         * tree-ssa-ifcombine.c: Moved to...
13433         * tree-ssa-ifcombine.cc: ...here.
13434         * tree-ssa-live.c: Moved to...
13435         * tree-ssa-live.cc: ...here.
13436         * tree-ssa-loop-ch.c: Moved to...
13437         * tree-ssa-loop-ch.cc: ...here.
13438         * tree-ssa-loop-im.c: Moved to...
13439         * tree-ssa-loop-im.cc: ...here.
13440         * tree-ssa-loop-ivcanon.c: Moved to...
13441         * tree-ssa-loop-ivcanon.cc: ...here.
13442         * tree-ssa-loop-ivopts.c: Moved to...
13443         * tree-ssa-loop-ivopts.cc: ...here.
13444         * tree-ssa-loop-manip.c: Moved to...
13445         * tree-ssa-loop-manip.cc: ...here.
13446         * tree-ssa-loop-niter.c: Moved to...
13447         * tree-ssa-loop-niter.cc: ...here.
13448         * tree-ssa-loop-prefetch.c: Moved to...
13449         * tree-ssa-loop-prefetch.cc: ...here.
13450         * tree-ssa-loop-split.c: Moved to...
13451         * tree-ssa-loop-split.cc: ...here.
13452         * tree-ssa-loop-unswitch.c: Moved to...
13453         * tree-ssa-loop-unswitch.cc: ...here.
13454         * tree-ssa-loop.c: Moved to...
13455         * tree-ssa-loop.cc: ...here.
13456         * tree-ssa-math-opts.c: Moved to...
13457         * tree-ssa-math-opts.cc: ...here.
13458         * tree-ssa-operands.c: Moved to...
13459         * tree-ssa-operands.cc: ...here.
13460         * tree-ssa-phiopt.c: Moved to...
13461         * tree-ssa-phiopt.cc: ...here.
13462         * tree-ssa-phiprop.c: Moved to...
13463         * tree-ssa-phiprop.cc: ...here.
13464         * tree-ssa-pre.c: Moved to...
13465         * tree-ssa-pre.cc: ...here.
13466         * tree-ssa-propagate.c: Moved to...
13467         * tree-ssa-propagate.cc: ...here.
13468         * tree-ssa-reassoc.c: Moved to...
13469         * tree-ssa-reassoc.cc: ...here.
13470         * tree-ssa-sccvn.c: Moved to...
13471         * tree-ssa-sccvn.cc: ...here.
13472         * tree-ssa-scopedtables.c: Moved to...
13473         * tree-ssa-scopedtables.cc: ...here.
13474         * tree-ssa-sink.c: Moved to...
13475         * tree-ssa-sink.cc: ...here.
13476         * tree-ssa-strlen.c: Moved to...
13477         * tree-ssa-strlen.cc: ...here.
13478         * tree-ssa-structalias.c: Moved to...
13479         * tree-ssa-structalias.cc: ...here.
13480         * tree-ssa-tail-merge.c: Moved to...
13481         * tree-ssa-tail-merge.cc: ...here.
13482         * tree-ssa-ter.c: Moved to...
13483         * tree-ssa-ter.cc: ...here.
13484         * tree-ssa-threadbackward.c: Moved to...
13485         * tree-ssa-threadbackward.cc: ...here.
13486         * tree-ssa-threadedge.c: Moved to...
13487         * tree-ssa-threadedge.cc: ...here.
13488         * tree-ssa-threadupdate.c: Moved to...
13489         * tree-ssa-threadupdate.cc: ...here.
13490         * tree-ssa-uncprop.c: Moved to...
13491         * tree-ssa-uncprop.cc: ...here.
13492         * tree-ssa-uninit.c: Moved to...
13493         * tree-ssa-uninit.cc: ...here.
13494         * tree-ssa.c: Moved to...
13495         * tree-ssa.cc: ...here.
13496         * tree-ssanames.c: Moved to...
13497         * tree-ssanames.cc: ...here.
13498         * tree-stdarg.c: Moved to...
13499         * tree-stdarg.cc: ...here.
13500         * tree-streamer-in.c: Moved to...
13501         * tree-streamer-in.cc: ...here.
13502         * tree-streamer-out.c: Moved to...
13503         * tree-streamer-out.cc: ...here.
13504         * tree-streamer.c: Moved to...
13505         * tree-streamer.cc: ...here.
13506         * tree-switch-conversion.c: Moved to...
13507         * tree-switch-conversion.cc: ...here.
13508         * tree-tailcall.c: Moved to...
13509         * tree-tailcall.cc: ...here.
13510         * tree-vect-data-refs.c: Moved to...
13511         * tree-vect-data-refs.cc: ...here.
13512         * tree-vect-generic.c: Moved to...
13513         * tree-vect-generic.cc: ...here.
13514         * tree-vect-loop-manip.c: Moved to...
13515         * tree-vect-loop-manip.cc: ...here.
13516         * tree-vect-loop.c: Moved to...
13517         * tree-vect-loop.cc: ...here.
13518         * tree-vect-patterns.c: Moved to...
13519         * tree-vect-patterns.cc: ...here.
13520         * tree-vect-slp-patterns.c: Moved to...
13521         * tree-vect-slp-patterns.cc: ...here.
13522         * tree-vect-slp.c: Moved to...
13523         * tree-vect-slp.cc: ...here.
13524         * tree-vect-stmts.c: Moved to...
13525         * tree-vect-stmts.cc: ...here.
13526         * tree-vector-builder.c: Moved to...
13527         * tree-vector-builder.cc: ...here.
13528         * tree-vectorizer.c: Moved to...
13529         * tree-vectorizer.cc: ...here.
13530         * tree-vrp.c: Moved to...
13531         * tree-vrp.cc: ...here.
13532         * tree.c: Moved to...
13533         * tree.cc: ...here.
13534         * tsan.c: Moved to...
13535         * tsan.cc: ...here.
13536         * typed-splay-tree.c: Moved to...
13537         * typed-splay-tree.cc: ...here.
13538         * ubsan.c: Moved to...
13539         * ubsan.cc: ...here.
13540         * valtrack.c: Moved to...
13541         * valtrack.cc: ...here.
13542         * value-prof.c: Moved to...
13543         * value-prof.cc: ...here.
13544         * var-tracking.c: Moved to...
13545         * var-tracking.cc: ...here.
13546         * varasm.c: Moved to...
13547         * varasm.cc: ...here.
13548         * varpool.c: Moved to...
13549         * varpool.cc: ...here.
13550         * vec-perm-indices.c: Moved to...
13551         * vec-perm-indices.cc: ...here.
13552         * vec.c: Moved to...
13553         * vec.cc: ...here.
13554         * vmsdbgout.c: Moved to...
13555         * vmsdbgout.cc: ...here.
13556         * vr-values.c: Moved to...
13557         * vr-values.cc: ...here.
13558         * vtable-verify.c: Moved to...
13559         * vtable-verify.cc: ...here.
13560         * web.c: Moved to...
13561         * web.cc: ...here.
13562         * xcoffout.c: Moved to...
13563         * xcoffout.cc: ...here.
13565 2022-01-17  qing zhao  <qing.zhao@oracle.com>
13567         * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
13568         .DEFERRED_INIT call with an anonymous SSA_NAME specially.
13569         (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
13570         specially.
13571         (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
13572         (warn_uninitialized_vars): Likewise.
13573         (warn_uninitialized_phi): Likewise.
13575 2022-01-17  Jason Merrill  <jason@redhat.com>
13577         * diagnostic.h (struct diagnostic_context): Add includes_seen.
13578         * diagnostic.c (diagnostic_initialize): Initialize it.
13579         (diagnostic_finish): Clean it up.
13580         (includes_seen): New function.
13581         (diagnostic_report_current_module): Use it.
13583 2022-01-17  Richard Biener  <rguenther@suse.de>
13585         PR middle-end/101292
13586         * diagnostic-spec.c (copy_warning): Make sure to not
13587         reference old hashtable content on possible resize.
13588         * warning-control.cc (copy_warning): Likewise.
13590 2022-01-17  Jakub Jelinek  <jakub@redhat.com>
13592         PR target/103973
13593         * tree-cfg.h (cond_only_block_p): Declare.
13594         * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
13595         * tree-cfg.c (cond_only_block_p): ... here.  No longer static.
13596         * optabs.def (spaceship_optab): New optab.
13597         * internal-fn.def (SPACESHIP): New internal function.
13598         * internal-fn.h (expand_SPACESHIP): Declare.
13599         * internal-fn.c (expand_PHI): Formatting fix.
13600         (expand_SPACESHIP): New function.
13601         * tree-ssa-math-opts.c (optimize_spaceship): New function.
13602         (math_opts_dom_walker::after_dom_children): Use it.
13603         * config/i386/i386.md (spaceship<mode>3): New define_expand.
13604         * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
13605         * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
13606         * doc/md.texi (spaceship@var{m}3): Document.
13608 2022-01-17  Kewen Lin  <linkw@linux.ibm.com>
13610         * config/rs6000/altivec.md (altivec_vreveti2): Remove.
13611         * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
13612         *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
13613         known constant values to simplify code.
13615 2022-01-17  Haochen Gui  <guihaoc@gcc.gnu.org>
13617         PR target/103124
13618         * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
13620 2022-01-16  wwwhhhyyy  <hongyu.wang@intel.com>
13622         * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
13623         * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
13624         Insert zero-idiom in output template when attr enabled, set new attribute to
13625         true for non-mask/maskz insn.
13626         (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
13627         Likewise.
13628         (avx512dq_mul<mode>3<mask_name>): Likewise.
13629         (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
13630         (avx2_perm<mode>_1<mask_name>): Likewise.
13631         (avx512f_perm<mode>_1<mask_name>): Likewise.
13632         (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
13633         (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
13634         Likewise.
13635         (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
13636         (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
13637         Likewise.
13638         * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
13639         subst_attr.
13640         (mask4_dest_false_dep_for_glc_cond): Likewise.
13641         (mask6_dest_false_dep_for_glc_cond): Likewise.
13642         (mask10_dest_false_dep_for_glc_cond): Likewise.
13643         (maskc_dest_false_dep_for_glc_cond): Likewise.
13644         (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
13645         (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
13646         * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
13647         DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
13649 2022-01-15  Martin Sebor  <msebor@redhat.com>
13651         PR c/63272
13652         * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
13653         -Wdangling-pointer.
13654         * doc/invoke.texi (-Wdangling-pointer): Document new option.
13655         * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
13656         (pass_waccess::check_pointer_uses): New function.
13657         (pass_waccess::gimple_call_return_arg): New function.
13658         (pass_waccess::gimple_call_return_arg_ref): New function.
13659         (pass_waccess::check_call_dangling): New function.
13660         (pass_waccess::check_dangling_uses): New function overloads.
13661         (pass_waccess::check_dangling_stores): New function.
13662         (pass_waccess::check_dangling_stores): New function.
13663         (pass_waccess::m_clobbers): New data member.
13664         (pass_waccess::m_func): New data member.
13665         (pass_waccess::m_run_number): New data member.
13666         (pass_waccess::m_check_dangling_p): New data member.
13667         (pass_waccess::check_alloca): Check m_early_checks_p.
13668         (pass_waccess::check_alloc_size_call): Same.
13669         (pass_waccess::check_strcat): Same.
13670         (pass_waccess::check_strncat): Same.
13671         (pass_waccess::check_stxcpy): Same.
13672         (pass_waccess::check_stxncpy): Same.
13673         (pass_waccess::check_strncmp): Same.
13674         (pass_waccess::check_memop_access): Same.
13675         (pass_waccess::check_read_access): Same.
13676         (pass_waccess::check_builtin): Call check_pointer_uses.
13677         (pass_waccess::warn_invalid_pointer): Add arguments.
13678         (is_auto_decl): New function.
13679         (pass_waccess::check_stmt): New function.
13680         (pass_waccess::check_block): Call check_stmt.
13681         (pass_waccess::execute): Call check_dangling_uses,
13682         check_dangling_stores.  Empty m_clobbers.
13683         * passes.def (pass_warn_access): Invoke pass two more times.
13685 2022-01-15  Martin Sebor  <msebor@redhat.com>
13687         PR tree-optimization/80532
13688         * common.opt (-Wuse-after-free): New options.
13689         * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
13690         OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
13691         * diagnostic-spec.h (NW_DANGLING): New enumerator.
13692         * doc/invoke.texi (-Wuse-after-free): Document new option.
13693         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
13694         (pass_waccess::check_call_access): ...to this.
13695         (pass_waccess::check): Rename...
13696         (pass_waccess::check_block): ...to this.
13697         (pass_waccess::check_pointer_uses): New function.
13698         (pass_waccess::gimple_call_return_arg): New function.
13699         (pass_waccess::warn_invalid_pointer): New function.
13700         (pass_waccess::check_builtin): Handle free and realloc.
13701         (gimple_use_after_inval_p): New function.
13702         (get_realloc_lhs): New function.
13703         (maybe_warn_mismatched_realloc): New function.
13704         (pointers_related_p): New function.
13705         (pass_waccess::check_call): Call check_pointer_uses.
13706         (pass_waccess::execute): Compute and free dominance info.
13708 2022-01-15  Uroš Bizjak  <ubizjak@gmail.com>
13710         * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
13711         expand_simple_unop and expand_simple_binop instead of manually
13712         constructing NOT, AND and IOR RTXes.  Use vector_all_ones_operand
13713         consistently.  Eliminate common subexpressions and simplify code.
13714         * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
13715         (<any_logic:code><MODEF:mode>3): Make public.
13717 2022-01-14  Eric Botcazou  <ebotcazou@adacore.com>
13719         * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
13720         reverse flag as "reverse" for the sake of consistency.
13721         * ipa-sra.c: Fix copyright year.
13722         (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
13723         (dump_isra_access): Tweak dump line.
13724         (isra_write_node_summary): Write the reverse flag.
13725         (isra_read_node_info): Read it.
13726         (pull_accesses_from_callee): Test its consistency and copy it.
13728 2022-01-14  Richard Sandiford  <richard.sandiford@arm.com>
13730         PR middle-end/104026
13731         * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
13732         partial_load_store_bias.
13734 2022-01-14  Martin Sebor  <msebor@redhat.com>
13736         PR middle-end/101475
13737         * pointer-query.cc (handle_component_ref): Use the size of
13738         the enclosing object if it's smaller than the member.
13740 2022-01-14  Martin Liska  <mliska@suse.cz>
13742         * configure: Regenerate.
13744 2022-01-14  Uroš Bizjak  <ubizjak@gmail.com>
13746         * config/i386/i386.md (*add<mode>_1_slp"):
13747         Mark alternative 1 output operand earlyclobbered.
13748         (*sub<mode>_1_slp): Ditto.
13749         (*and<mode>_1_slp): Ditto.
13750         (*<code><mode>_1_slp): Ditto.
13751         (*neg<mode>_1_slp): Ditto.
13752         (*one_cmpl<mode>_1_slp): Ditto.
13753         (*ashl<mode>3_1_slp): Ditto.
13754         (*<insn><mode>3_1_slp): Ditto.
13755         (*<insn><mode>3_1_slp): Ditto.
13757 2022-01-14  Kewen Lin  <linkw@linux.ibm.com>
13759         PR tree-optimization/104015
13760         * tree-vect-loop.c (vect_analyze_loop): Check
13761         param_vect_partial_vector_usage for supports_partial_vectors.
13763 2022-01-14  Jakub Jelinek  <jakub@redhat.com>
13765         PR c++/89074
13766         * fold-const.c (address_compare): Punt on comparison of address of
13767         one object with address of end of another object if
13768         folding_initializer.
13770 2022-01-14  Jakub Jelinek  <jakub@redhat.com>
13772         PR target/98737
13773         * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
13774         __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
13775         and __atomic_op_fetch (p, x, y) iop x into
13776         __atomic_fetch_op (p, x, y).
13778 2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
13780         * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
13781         (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
13782         (INCOMING_RETURN_ADDR_RTX): Likewise.
13783         (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
13785 2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
13787         * config/arc/arc.c (arc_compute_frame_size): Remove condition when
13788         computin checking accumulator regs.
13789         (arc_expand_prologue): Update comments.
13790         (arc_expand_epilogue): Likewise.
13792 2022-01-14  Roger Sayle  <roger@nextmovesoftware.com>
13793             Uroš Bizjak  <ubizjak@gmail.com>
13795         * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
13796         (ix86_expand_ti_to_v1ti): Use force_reg.
13797         (ix86_expand_v1ti_shift): Use force_reg.
13798         (ix86_expand_v1ti_rotate): Use force_reg.
13799         (ix86_expand_v1ti_ashiftrt): Provide new three operation
13800         implementations for shifts by 111..126 bits.  Use force_reg.
13802 2022-01-14  Martin Liska  <mliska@suse.cz>
13804         * common/config/arm/arm-common.c (arm_target_mode): Fix
13805         warning: unterminated quoting directive [-Wformat=].
13807 2022-01-14  Siddhesh Poyarekar  <siddhesh@gotplt.org>
13809         PR tree-optimization/104009
13810         * tree-object-size.c (compute_builtin_object_size): Bail out on
13811         negative offset.
13812         (plus_stmt_object_size): Return maximum of wholesize and minimum
13813         of 0 for negative offset.
13815 2022-01-14  liuhongt  <hongtao.liu@intel.com>
13817         PR target/104001
13818         PR target/94790
13819         PR target/104014
13820         * config/i386/i386.md (*xor2andn): Refine predicate of
13821         operands[0] from nonimmediate_operand to
13822         register_operand, remove TARGET_AVX512BW from condition.
13824 2022-01-14  David Malcolm  <dmalcolm@redhat.com>
13826         * doc/extend.texi (Function Attributes): Note that "tainted_args" can
13827         be used on field decls.
13828         (Common Function Attributes): Add entry on "tainted_args" attribute.
13830 2022-01-13  Anthony Sharp  <anthonysharp15@gmail.com>
13831             Jason Merrill  <jason@redhat.com>
13833         PR c++/70417
13834         * doc/invoke.texi: Documentation for Wmissing-template-keyword.
13836 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
13838         PR target/103861
13839         * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
13840         (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
13841         * config/i386/mmx.md (<any_shift:insn>v2qi):
13842         New insn_and_split pattern.
13844 2022-01-13  Robin Dapp  <rdapp@linux.ibm.com>
13846         * internal-fn.c (expand_partial_load_optab_fn): Add bias.
13847         (expand_partial_store_optab_fn): Likewise.
13848         (internal_len_load_store_bias): New function.
13849         * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
13850         (internal_len_load_store_bias): New function.
13851         * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
13852         (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
13853         * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
13854         (vect_estimate_min_profitable_iters): Account for bias.
13855         (vect_get_loop_len): Add bias-adjusted length.
13856         * tree-vect-stmts.c (vectorizable_store): Use.
13857         (vectorizable_load): Use.
13858         * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
13859         (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
13860         * config/rs6000/vsx.md: Use const0 bias predicate.
13861         * doc/md.texi: Document bias value.
13863 2022-01-13  Andrew MacLeod  <amacleod@redhat.com>
13865         PR tree-optimization/83072
13866         PR tree-optimization/83073
13867         PR tree-optimization/97909
13868         * fold-const.c (expr_not_equal_to): Use a multi-range class.
13870 2022-01-13  Andrew MacLeod  <amacleod@redhat.com>
13872         PR tree-optimization/96707
13873         * range-op.cc (operator_rshift::lhs_op1_relation): New.
13875 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
13877         * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
13878         Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
13879         (negv2qi splitters): Use lowpart_subreg instead of
13880         gen_lowpart to create subreg.
13881         (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
13882         Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
13883         (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
13884         gen_lowpart to create subreg.
13885         * config/i386/i386.md (*subqi_ext<mode>_2): Move.
13887 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
13889         PR target/104003
13890         * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
13892 2022-01-13  Martin Liska  <mliska@suse.cz>
13894         * common/config/arm/arm-common.c (arm_target_mode): Wrap
13895         keywords with %<, %> and remove trailing punctuation char.
13896         (arm_canon_arch_option_1): Likewise.
13897         (arm_asm_auto_mfpu): Likewise.
13898         * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
13899         * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
13900         (use_vfp_abi): Likewise.
13901         (aapcs_vfp_is_call_or_return_candidate): Likewise.
13902         (arm_handle_cmse_nonsecure_entry): Likewise.
13903         (arm_handle_cmse_nonsecure_call): Likewise.
13904         (thumb1_md_asm_adjust): Likewise.
13906 2022-01-13  Paul A. Clarke  <pc@us.ibm.com>
13908         * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
13909         _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
13910         _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
13911         _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
13912         _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
13913         _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
13914         (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
13915         _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
13916         macro.
13918 2022-01-13  Jakub Jelinek  <jakub@redhat.com>
13920         PR tree-optimization/103989
13921         * tree-inline.c (setup_one_parameter): Don't copy parms with
13922         empty type.
13924 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
13926         * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
13927         'TYPE_ADDR_SPACE' for offloading.
13928         * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
13929         'TYPE_ADDR_SPACE' for offloading.
13931 2022-01-13  Julian Brown  <julian@codesourcery.com>
13932             Thomas Schwinge  <thomas@codesourcery.com>
13934         * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
13935         of...
13936         (add_async_clauses_and_wait): ...here. Call new outlined function.
13937         (decompose_kernels_region_body): Add wait at the end of
13938         explicitly-asynchronous kernels regions.
13940 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
13942         PR middle-end/100280
13943         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
13944         Mark variables used in synthesized data clauses as addressable.
13946 2022-01-13  Martin Liska  <mliska@suse.cz>
13948         * config/epiphany/epiphany.c (epiphany_mode_priority):
13949         Use gcc_unreachable for not handled cases.
13951 2022-01-13  Martin Liska  <mliska@suse.cz>
13953         * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
13954         Use %qs format specifier.
13955         (epiphany_override_options): Wrap keyword in %<, %>.
13957 2022-01-13  Haochen Jiang  <haochen.jiang@intel.com>
13959         PR target/94790
13960         * config/i386/i386.md (*xor2andn): New define_insn_and_split.
13962 2022-01-13  Xionghu Luo  <luoxhu@linux.ibm.com>
13964         * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
13966 2022-01-12  Uroš Bizjak  <ubizjak@gmail.com>
13968         PR target/100637
13969         PR target/103861
13970         * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
13971         (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
13972         when constructing vector logic RTXes.
13973         (expand_vec_perm_pshufb2): Ditto.
13974         * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
13975         (<plusminus:insn>v2qi3): Ditto.
13976         (vcond<mode><mode>): Re-enable for TARGET_SSE2.
13977         (vcondu<mode><mode>): Ditto.
13978         (vcond_mask_<mode><mode>): Ditto.
13979         (one_cmpl<VI_32:mode>2): Remove expander.
13980         (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
13981         Use VI_16_32 mode iterator.
13982         (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
13983         Use lowpart_subreg instead of gen_lowpart to create subreg.
13984         (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
13985         "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
13986         Disparage GPR alternative a bit.  Add CC clobber.
13987         (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
13988         Use lowpart_subreg instead of gen_lowpart to create subreg.
13989         (*<any_logic:code><VI_16_32:mode>3): Merge from
13990         "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
13991         using VI_16_32 mode iterator.  Disparage GPR alternative a bit.
13992         Add CC clobber.
13993         (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
13994         iterator.  Use lowpart_subreg instead of gen_lowpart to create subreg.
13996 2022-01-12  Clément Chigot  <clement.chigot@atos.net>
13998         * configure.ac: Check sizeof ino_t and dev_t.
13999         (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
14000         syscall being able to handle 64bit inodes.
14001         * config.in: Regenerate.
14002         * configure: Regenerate.
14003         * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
14004         (remove_duplicates): Use it.
14006 2022-01-12  Andrew MacLeod  <amacleod@redhat.com>
14008         PR tree-optimization/103551
14009         * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
14011 2022-01-12  Richard Biener  <rguenther@suse.de>
14013         PR tree-optimization/103990
14014         * tree-pass.h (tail_merge_optimize): Drop unused argument.
14015         * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
14016         * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
14017         and adjust call to tail_merge_optimize.
14019 2022-01-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>
14021         * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
14022         does not add autovectorize_vector_modes.
14024 2022-01-12  Martin Liska  <mliska@suse.cz>
14026         * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
14027         %qs where possible.
14028         (aarch64_parse_sve_width_string): Likewise.
14029         (aarch64_override_options_internal): Likewise.
14030         (aarch64_print_hint_for_extensions): Likewise.
14031         (aarch64_validate_sls_mitigation): Likewise.
14032         (aarch64_handle_attr_arch): Likewise.
14033         (aarch64_handle_attr_cpu): Likewise.
14034         (aarch64_handle_attr_tune): Likewise.
14035         (aarch64_handle_attr_isa_flags): Likewise.
14037 2022-01-12  Martin Liska  <mliska@suse.cz>
14039         * config.gcc: Include elfos.h before ${tm_file}.
14041 2022-01-12  Hans-Peter Nilsson  <hp@axis.com>
14043         * config/cris/cris.c: Quote identifiers in parameters to error
14044         and internal_error, and remove extraneous spaces with punctuation.
14045         * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
14046         expression to internal_error, pass it as a parameter instead of
14047         appending it to the format part.
14049 2022-01-12  Hans-Peter Nilsson  <hp@axis.com>
14051         * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
14052         parameter to as_a.
14054 2022-01-11  qing zhao  <qing.zhao@oracle.com>
14056         * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
14057         Change the 3rd argument of function .DEFERRED_INIT to the name of the
14058         decl.
14059         (gimplify_decl_expr): Delete the 3rd argument when call
14060         gimple_add_init_for_auto_var.
14061         * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
14062         the 3rd argument change of function .DEFERRED_INIT.
14063         * tree-cfg.c (verify_gimple_call): Update comments and verification
14064         to reflect the 3rd argument change of function .DEFERRED_INIT.
14065         * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
14066         (sra_modify_deferred_init): Change the 3rd argument of function
14067         .DEFERRED_INIT to the name of the decl.
14069 2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
14071         * flag-types.h (enum gfc_convert): Add flags for
14072         conversion.
14074 2022-01-11  Michael Meissner  <meissner@the-meissners.org>
14076         * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
14077         checks for only C/C++ front ends before allowing the long double
14078         format to change without a warning.
14080 2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
14082         PR rtl-optimization/103974
14083         * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
14084         extra argument, default true, that says whether old-reload
14085         targets should be excluded.
14086         * ira-color.c (color_pass): Pass false.
14088 2022-01-11  Uroš Bizjak  <ubizjak@gmail.com>
14090         PR target/103861
14091         * config/i386/mmx.md (vcond<mode><mode>):
14092         Use VI_16_32 mode iterator.  Enable for TARGET_SSE4_1.
14093         (vcondu<mode><mode>): Ditto.
14094         (vcond_mask_<mode><mode>): Ditto.
14095         (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
14096         (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
14097         Use VI_16_32 mode iterator.
14098         * config/i386/i386-expand.c (ix86_expand_sse_movcc):
14099         Update for rename.  Handle V2QImode.
14100         (expand_vec_perm_blend): Update for rename.
14102 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
14104         PR c++/101597
14105         * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
14107 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
14109         PR middle-end/70090
14110         * tree-object-size.c (size_valid_p): New function.
14111         (size_for_offset): Remove OFFSET constness assertion.
14112         (addr_object_size): Build dynamic expressions for object
14113         sizes and use size_valid_p to decide if it is valid for the
14114         given OBJECT_SIZE_TYPE.
14115         (compute_builtin_object_size): Allow dynamic offsets when
14116         computing size at O0.
14117         (call_object_size): Call size_valid_p.
14118         (plus_stmt_object_size): Allow non-constant offset and use
14119         size_valid_p to decide if it is valid for the given
14120         OBJECT_SIZE_TYPE.
14122 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
14124         PR middle-end/70090
14125         * tree-object-size.c (alloc_object_size): Make and return
14126         non-constant size expression.
14127         (call_object_size): Return expression or unknown based on
14128         whether dynamic object size is requested.
14130 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
14132         PR middle-end/70090
14133         * tree-object-size.c: Include tree-dfa.h.
14134         (parm_object_size): New function.
14135         (collect_object_sizes_for): Call it.
14137 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
14139         PR middle-end/70090
14140         * builtins.c (fold_builtin_object_size): Adjust for dynamic size
14141         expressions.
14142         * tree-object-size.c: Include gimplify-me.h.
14143         (struct object_size_info): New member UNKNOWNS.
14144         (size_initval_p, size_usable_p, object_sizes_get_raw): New
14145         functions.
14146         (object_sizes_get): Return suitable gimple variable for
14147         object size.
14148         (bundle_sizes): New function.
14149         (object_sizes_set): Use it and handle dynamic object size
14150         expressions.
14151         (object_sizes_set_temp): New function.
14152         (size_for_offset): Adjust for dynamic size expressions.
14153         (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
14154         New functions.
14155         (compute_builtin_object_size): Call gimplify_size_expressions
14156         for OST_DYNAMIC.
14157         (dynamic_object_size): New function.
14158         (cond_expr_object_size): Use it.
14159         (phi_dynamic_object_size): New function.
14160         (collect_object_sizes_for): Call it for OST_DYNAMIC.  Adjust to
14161         accommodate dynamic object sizes.
14163 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
14164             Jakub Jelinek  <jakub@redhat.com>
14166         PR tree-optimization/103961
14167         * tree-object-size.c (plus_stmt_object_size): Always avoid
14168         computing offset for -1 size.
14170 2022-01-11  Andrew MacLeod  <amacleod@redhat.com>
14172         PR tree-optimization/103821
14173         * range-op.cc (range_operator::fold_range): Only do precise ranges
14174         when there are not too many subranges.
14176 2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
14178         * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
14179         definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
14181 2022-01-11  Roger Sayle  <roger@nextmovesoftware.com>
14182             Richard Biener  <rguenther@suse.de>
14184         * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
14185         highpart_mults_inserted field.
14186         (convert_mult_to_highpart): New function to convert right shift
14187         of a widening multiply into a MULT_HIGHPART_EXPR.
14188         (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
14189         Call new convert_mult_to_highpart function.
14190         (pass_optimize_widening_mul::execute): Add a statistics counter
14191         for tracking "highpart multiplications inserted" events.
14193 2022-01-11  Xionghu Luo  <luoxhu@linux.ibm.com>
14195         PR target/102239
14196         * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
14197         declare.
14198         * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
14199         function.
14200         * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
14202 2022-01-11  Olivier Hainque  <hainque@adacore.com>
14204         * gcc.c (driver_handle_option): State --sysroot as
14205         validated.
14207 2022-01-11  Kewen Lin  <linkw@linux.ibm.com>
14209         * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
14210         useless related to option -mno-power10.
14212 2022-01-11  Haochen Jiang  <haochen.jiang@intel.com>
14214         PR target/53652
14215         * config/i386/sse.md (*andnot<mode>3): Extend predicate of
14216         operands[1] from register_operand to vector_operand.
14218 2022-01-10  Uroš Bizjak  <ubizjak@gmail.com>
14220         PR target/103861
14221         * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
14222         Handle V2QImode.
14223         * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
14224         Use VI1_16_32 mode iterator.
14225         (*eq<mode>3): Ditto.
14226         (*gt<mode>3): Ditto.
14227         (*xop_maskcmp<mode>3): Ditto.
14228         (*xop_maskcmp_uns<mode>3): Ditto.
14229         (vec_cmp<mode><mode>): Ditto.
14230         (vec_cmpu<mode><mode>): Ditto.
14232 2022-01-10  Richard Biener  <rguenther@suse.de>
14234         PR tree-optimization/103948
14235         * tree-vect-generic.c (expand_vector_condition): Return true if
14236         all ones vector is returned for true, all zeros vector for false
14237         and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
14239 2022-01-10  Paul A. Clarke  <pc@us.ibm.com>
14241         * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
14242         when _ARCH_PWR10. Use signed types.
14243         (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
14244         (_mm_blendv_pd): Likewise.
14246 2022-01-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
14248         * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
14249         epilogue costing.
14250         * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
14251         epilogues, unless we are guaranteed that we can't have partial vectors.
14252         * genopinit.c: (partial_vectors_supported): Generate new function.
14254 2022-01-10  Jakub Jelinek  <jakub@redhat.com>
14256         PR target/102024
14257         * config/i386/i386.c (classify_argument): Add zero_width_bitfields
14258         argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
14259         always ignore them, when seeing other zero sized bitfields, either
14260         set zero_width_bitfields to 1 and ignore it or if equal to 2 process
14261         it.  Pass it to recursive calls.  Add wrapper
14262         with old arguments and diagnose ABI differences for C structures
14263         with zero width bitfields.  Formatting fixes.
14265 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
14267         PR rtl-optimization/98782
14268         * ira-int.h (ira_soft_conflict): Declare.
14269         * ira-color.c (max_soft_conflict_loop_depth): New constant.
14270         (ira_soft_conflict): New function.
14271         (spill_soft_conflicts): Likewise.
14272         (assign_hard_reg): Use them to handle the case described by
14273         the comment above ira_soft_conflict.
14274         (improve_allocation): Likewise.
14275         * ira.c (check_allocation): Allow allocnos with "soft" conflicts
14276         to share the same register.
14278 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
14280         PR rtl-optimization/98782
14281         * ira-int.h (ira_caller_save_cost): New function.
14282         (ira_caller_save_loop_spill_p): Likewise.
14283         * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
14284         cheaper to spill a call-clobbered register throughout a loop rather
14285         than spill it around each individual call.  If so, treat all
14286         call-clobbered registers as conflicts and...
14287         (propagate_allocno_info): ...do not propagate call information
14288         from the child to the parent.
14289         * ira-color.c (move_spill_restore): Update accordingly.
14290         * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
14292 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
14294         PR rtl-optimization/98782
14295         * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
14296         (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
14297         (ira_single_region_allocno_p): New function.
14298         (ira_total_conflict_hard_regs): Likewise.
14299         * ira-build.c (ira_create_allocno): Initialize
14300         ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
14301         (ira_propagate_hard_reg_costs): New function.
14302         (propagate_allocno_info): Use it.  Try to avoid propagating
14303         hard register conflicts to parent allocnos if we can handle
14304         the conflicts by spilling instead.  Limit the propagated
14305         register costs to the cost of spilling throughout the child loop.
14306         * ira-color.c (color_pass): Use ira_single_region_allocno_p to
14307         test whether a child and parent allocno can share the same
14308         register.
14309         (move_spill_restore): Adjust for the new behavior of
14310         propagate_allocno_info.
14312 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
14314         PR rtl-optimization/98782
14315         * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
14316         extracted from...
14317         * ira-color.c (color_pass): ...here.
14319 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
14321         PR rtl-optimization/98782
14322         * ira-color.c (color_pass): Add comments to describe the spill costs.
14323         (move_spill_restore): Likewise.  Fix reversed calculation.
14325 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
14327         PR rtl-optimization/98782
14328         * ira-int.h (ira_loop_border_costs): New class.
14329         * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
14330         New constructor.
14331         (calculate_allocno_spill_cost): Use ira_loop_border_costs.
14332         (color_pass): Likewise.
14333         (move_spill_restore): Likewise.
14335 2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
14337         PR target/103465
14338         * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
14340 2022-01-10  Richard Biener  <rguenther@suse.de>
14342         PR tree-optimization/100359
14343         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
14344         Allow non-growing peeling with !allow_peel and UL_ALL.
14346 2022-01-08  Roger Sayle  <roger@nextmovesoftware.com>
14348         * config/i386/i386-expand.c (ix86_expand_vector_move): Add
14349         special case for TImode to V1TImode moves, going via V2DImode.
14351 2022-01-08  Jakub Jelinek  <jakub@redhat.com>
14353         PR c++/89074
14354         * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
14355         simplification.
14357 2022-01-08  David Malcolm  <dmalcolm@redhat.com>
14359         * doc/analyzer.texi
14360         (Special Functions for Debugging the Analyzer): Document
14361         __analyzer_dump_escaped.
14363 2022-01-08  David Malcolm  <dmalcolm@redhat.com>
14365         * doc/analyzer.texi (Other Debugging Techniques): Document
14366         region::is_named_decl_p.
14368 2022-01-07  Andrew Pinski  <apinski@marvell.com>
14370         PR target/102941
14371         * config/arm/aarch-common.c (arm_md_asm_adjust):
14372         Use a temp if !REG_P.
14374 2022-01-07  Uroš Bizjak  <ubizjak@gmail.com>
14376         * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
14377         (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
14379 2022-01-07  liuhongt  <hongtao.liu@intel.com>
14381         PR rtl-optimization/103750
14382         * fwprop.c (forward_propagate_into): Allow propagations from
14383         inner loop to outer loop.
14385 2022-01-07  Roger Sayle  <roger@nextmovesoftware.com>
14387         * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
14389 2022-01-07  Haochen Gui  <guihaoc@gcc.gnu.org>
14391         * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
14392         (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
14393         Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
14395 2022-01-07  liuhongt  <hongtao.liu@intel.com>
14397         * config/i386/sse.md
14398         (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
14399         UNSPEC_PCMP_UNSIGNED.
14401 2022-01-07  liuhongt  <hongtao.liu@intel.com>
14403         PR target/103753
14404         * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
14405         gen_avx2_pblendph_1 when elt == 0.
14406         * config/i386/sse.md (avx2_pblendph): Rename to ..
14407         (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
14408         (*avx2_pblendw): Rename to ..
14409         (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
14410         (avx2_pblendw): Rename to ..
14411         (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
14412         (blendsuf): Removed.
14413         (sse4_1_pblend<blendsuf>): Renamed to ..
14414         (sse4_1_pblend<ssemodesuffix>): .. this.
14416 2022-01-06  H.J. Lu  <hjl.tools@gmail.com>
14418         PR target/103925
14419         * config/i386/i386.c (ix86_output_indirect_function_return):
14420         Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
14422 2022-01-06  H.J. Lu  <hjl.tools@gmail.com>
14424         PR target/102952
14425         * config/i386/i386-opts.h (harden_sls): Replace
14426         harden_sls_indirect_branch with harden_sls_indirect_jmp.
14427         * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
14428         Likewise.
14429         (ix86_output_indirect_jmp): Likewise.
14430         (ix86_output_call_insn): Likewise.
14431         * config/i386/i386.opt: Replace indirect-branch with
14432         indirect-jmp.  Replace harden_sls_indirect_branch with
14433         harden_sls_indirect_jmp.
14434         * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
14435         indirect-jmp.
14437 2022-01-06  Uroš Bizjak  <ubizjak@gmail.com>
14439         * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
14440         Add %q modifier for operands in general registers.
14441         <MODE_SI>: Add %q modifier for operands in general registers.
14442         * config/i386/i386.md (*movhi_internal): Change type attribute of
14443         xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
14444         to SImode for non-avx512fp16 targets.
14445         (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
14446         * config/i386/mmx.md (*movv2qi_internal):
14447         Ditto for xmm-gpr interunit alternatives 8,9.
14449 2022-01-06  Kito Cheng  <kito.cheng@sifive.com>
14451         * common/config/riscv/riscv-common.c (riscv_implied_info): Add
14452         vector extensions.
14453         (riscv_ext_version_table): Add version info for vector extensions.
14454         (riscv_ext_flag_table): Add option mask for vector extensions.
14455         * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
14456         (MASK_VECTOR_EEW_64): New.
14457         (MASK_VECTOR_EEW_FP_32): New.
14458         (MASK_VECTOR_EEW_FP_64): New.
14459         (MASK_ZVL32B): New.
14460         (MASK_ZVL64B): New.
14461         (MASK_ZVL128B): New.
14462         (MASK_ZVL256B): New.
14463         (MASK_ZVL512B): New.
14464         (MASK_ZVL1024B): New.
14465         (MASK_ZVL2048B): New.
14466         (MASK_ZVL4096B): New.
14467         (MASK_ZVL8192B): New.
14468         (MASK_ZVL16384B): New.
14469         (MASK_ZVL32768B): New.
14470         (MASK_ZVL65536B): New.
14471         (TARGET_ZVL32B): New.
14472         (TARGET_ZVL64B): New.
14473         (TARGET_ZVL128B): New.
14474         (TARGET_ZVL256B): New.
14475         (TARGET_ZVL512B): New.
14476         (TARGET_ZVL1024B): New.
14477         (TARGET_ZVL2048B): New.
14478         (TARGET_ZVL4096B): New.
14479         (TARGET_ZVL8192B): New.
14480         (TARGET_ZVL16384B): New.
14481         (TARGET_ZVL32768B): New.
14482         (TARGET_ZVL65536B): New.
14483         * config/riscv/riscv.opt (Mask(VECTOR)): New.
14484         (riscv_vector_eew_flags): New.
14485         (riscv_zvl_flags): New.
14487 2022-01-06  Kito Cheng  <kito.cheng@sifive.com>
14489         * common/config/riscv/riscv-common.c
14490         (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
14491         digit.
14493 2022-01-06  Jakub Jelinek  <jakub@redhat.com>
14495         PR tree-optimization/103899
14496         * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
14497         warning by moving context variable to the only spot where it is used
14498         and moving gcc_assert into if body.
14500 2022-01-06  Jakub Jelinek  <jakub@redhat.com>
14502         PR rtl-optimization/103908
14503         * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
14504         asm goto.
14506 2022-01-05  Bill Schmidt  <wschmidt@linux.ibm.com>
14508         PR target/103622
14509         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
14510         Skip over instances with undefined function types.
14512 2022-01-05  Andrew Pinski  <apinski@marvell.com>
14514         PR target/103910
14515         * config/i386/i386.h (x86_mfence): Mark with GTY.
14517 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
14519         PR target/103861
14520         * config/i386/mmx.md (VI_16_32): New mode iterator.
14521         (VI1_16_32): Ditto.
14522         (mmxvecsize): Handle V2QI mode.
14523         (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
14524         Use VI1_16_32 mode iterator.
14525         (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
14526         Use VI1_16_32 mode iterator.
14527         (abs<mode>2): Use VI_16_32 mode iterator.
14528         (uavgv2qi3_ceil): New insn pattern.
14530 2022-01-05  Martin Sebor  <msebor@redhat.com>
14532         * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
14533         %qs to avoid -Wformat-diag.
14535 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
14537         PR target/103915
14538         * config/i386/mmx.md (one_cmplv2qi2): Change
14539         alternatives 1,2 type from sselog to sselog1.
14541 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
14543         PR target/103905
14544         * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
14545         narrow mode remapped elements for !one_operand_p case.
14547 2022-01-05  Richard Biener  <rguenther@suse.de>
14549         PR tree-optimization/103816
14550         * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
14551         check DR_GROUP_GAP compute for overflow and representability.
14553 2022-01-05  Jakub Jelinek  <jakub@redhat.com>
14555         PR fortran/103691
14556         * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
14557         for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
14558         it can do unwanted rhs folding like &a[0] into &2.0 etc.
14560 2022-01-05  Kewen Lin  <linkw@linux.ibm.com>
14562         PR ipa/102059
14563         * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
14564         (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
14565         (rs6000_need_ipa_fn_target_info): New function.
14566         (rs6000_update_ipa_fn_target_info): Likewise.
14567         (rs6000_can_inline_p): Adjust for ipa function summary target info.
14568         * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
14569         * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
14570         summary target info.
14571         (analyze_function_body): Adjust for ipa function summary target info
14572         and call hook rs6000_need_ipa_fn_target_info and
14573         rs6000_update_ipa_fn_target_info.
14574         (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
14575         target info.
14576         (inline_read_section): Likewise.
14577         (ipa_fn_summary_write): Likewise.
14578         * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
14579         * doc/tm.texi: Regenerate.
14580         * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
14581         (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
14582         * target.def (update_ipa_fn_target_info): New hook.
14583         (need_ipa_fn_target_info): Likewise.
14584         * targhooks.c (default_need_ipa_fn_target_info): New function.
14585         (default_update_ipa_fn_target_info): Likewise.
14586         * targhooks.h (default_update_ipa_fn_target_info): New declare.
14587         (default_need_ipa_fn_target_info): Likewise.
14589 2022-01-04  Martin Sebor  <msebor@redhat.com>
14591         PR middle-end/99612
14592         * builtins.c (get_memmodel): Move warning code to
14593         gimple-ssa-warn-access.cc.
14594         (expand_builtin_atomic_compare_exchange): Same.
14595         (expand_ifn_atomic_compare_exchange): Same.
14596         (expand_builtin_atomic_load): Same.
14597         (expand_builtin_atomic_store): Same.
14598         (expand_builtin_atomic_clear): Same.
14599         * doc/extend.texi (__atomic_exchange_n): Update valid memory
14600         models.
14601         * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
14602         (struct memmodel_pair): New struct.
14603         (memmodel_name): New function.
14604         (pass_waccess::maybe_warn_memmodel): New function.
14605         (pass_waccess::check_atomic_memmodel): New function.
14606         (pass_waccess::check_atomic_builtin): Handle memory model.
14607         * input.c (expansion_point_location_if_in_system_header): Return
14608         original location if expansion location is in a system header.
14610 2022-01-04  Uroš Bizjak  <ubizjak@gmail.com>
14612         PR target/103861
14613         * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
14614         (one_cmplv2qi3 splitters): New post-reload splitters.
14615         (*andnotv2qi3): New insn pattern.
14616         (andnotv2qi3 splitters): New post-reload splitters.
14617         (<any_logic:code>v2qi3): New insn pattern.
14618         (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
14620 2022-01-04  Richard Biener  <rguenther@suse.de>
14622         PR tree-optimization/103800
14623         * tree-vect-loop.c (vectorizable_phi): Remove assert and
14624         expand comment.
14626 2022-01-04  Richard Biener  <rguenther@suse.de>
14628         PR tree-optimization/103690
14629         * tree-pass.h (tail_merge_optimize): Adjust.
14630         * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
14631         to re-split critical edges, move CFG cleanup ...
14632         * tree-ssa-pre.c (pass_pre::execute): ... here, before
14633         simple_dce_from_worklist and delay freeing inserted_exprs from
14634         ...
14635         (fini_pre): .. here.
14637 2022-01-04  Roger Sayle  <roger@nextmovesoftware.com>
14639         * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
14640         * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
14641         (setcc_from_bi): Remove SImode specific pattern.
14642         (setcc<mode>_from_bi): Provide more general HSDIM pattern.
14643         (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
14644         for sign- and zero-extending BImode predicates to integers.
14645         (setcc_int<mode>): Remove previous (-1-based) instructions.
14646         (cstorebi4): Remove BImode to SImode specific expander.
14647         (cstore<mode>4): Fix indentation.  Expand using setccsi_from_bi.
14648         (cstore<mode>4): For both integer and floating point modes.
14650 2022-01-04  Olivier Hainque  <hainque@adacore.com>
14652         * gcc.c (driver_handle_option): do_save --sysroot.
14654 2022-01-04  Richard Biener  <rguenther@suse.de>
14656         PR tree-optimization/103864
14657         PR tree-optimization/103544
14658         * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
14659         reductions wrapped in conversions from SLP handling.
14660         (vect_analyze_slp): Revert PR103544 change.
14662 2022-01-04  Jakub Jelinek  <jakub@redhat.com>
14664         PR rtl-optimization/103860
14665         * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
14666         uselessly for blocks for which it has been called already.
14668 2022-01-04  Cui,Lili  <lili.cui@intel.com>
14670         * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
14671         to Alderlake and Rocketlake.
14673 2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
14675         PR middle-end/103643
14676         * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
14677         OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
14679 2022-01-04  liuhongt  <hongtao.liu@intel.com>
14681         PR target/103895
14682         * config/i386/sse.md (*bit_and_float_vector_all_ones):
14683         Force_reg operand 1 to avoid ICE.
14685 2022-01-04  Jason Merrill  <jason@redhat.com>
14687         * tree-pretty-print.c (do_niy): Add spc parameter.
14688         (NIY): Pass it.
14689         (print_call_name): Add spc local variable.
14691 2022-01-03  Uroš Bizjak  <ubizjak@gmail.com>
14693         PR target/103894
14694         * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
14695         (mov<V_32:mode>_internal): Ditto.
14696         (*push<V_32:mode>_rex64): Ditto.
14697         (movmisalign<V_32:mode>): Ditto.
14698         (*push<V_32:mode>_rex64 splitter): Enable for
14699         TARGET_64BIT && TARGET_SSE.
14700         (*push<V_32:mode>2): Remove insn pattern.
14702 2022-01-03  Andrew Pinski  <apinski@marvell.com>
14704         PR c/33193
14705         * doc/extend.texi: Extend the documentation about Complex
14706         types for casting and also rewrite the __real__/__imag__
14707         expression portion to use tables.
14708         Move __builtin_complex to the Complex type section.
14710 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
14712         PR target/98737
14713         * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
14714         ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
14715         New internal fns.
14716         * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
14717         ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
14718         ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
14719         * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
14720         expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
14721         expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
14722         functions.
14723         * optabs.def (atomic_add_fetch_cmp_0_optab,
14724         atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
14725         atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
14726         direct optabs.
14727         * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
14728         * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
14729         * tree-ssa-ccp.c: Include internal-fn.h.
14730         (optimize_atomic_bit_test_and): Add . before internal fn call
14731         in function comment.  Change return type from void to bool and
14732         return true only if successfully replaced.
14733         (optimize_atomic_op_fetch_cmp_0): New function.
14734         (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
14735         for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
14736         BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
14737         for *XOR* ones only if optimize_atomic_bit_test_and failed.
14738         * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
14739         atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
14740         (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
14741         atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
14742         * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
14743         atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
14744         atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
14745         new named patterns.
14747 2022-01-03  Richard Biener  <rguenther@suse.de>
14749         PR middle-end/103851
14750         * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
14752 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
14754         PR c++/94716
14755         * symtab.c: Include fold-const.h.
14756         (symtab_node::equal_address_to): If folding_initializer is true,
14757         handle it like memory_accessed.  Simplify.
14759 2022-01-03  Martin Liska  <mliska@suse.cz>
14761         * doc/extend.texi: Use ; for function declarations.
14763 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
14765         PR c++/103600
14766         * symtab.c (symtab_node::equal_address_to): Return 0 if one of
14767         VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
14769 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
14771         * gcc.c (process_command): Update copyright notice dates.
14772         * gcov-dump.c (print_version): Ditto.
14773         * gcov.c (print_version): Ditto.
14774         * gcov-tool.c (print_version): Ditto.
14775         * gengtype.c (create_file): Ditto.
14776         * doc/cpp.texi: Bump @copying's copyright year.
14777         * doc/cppinternals.texi: Ditto.
14778         * doc/gcc.texi: Ditto.
14779         * doc/gccint.texi: Ditto.
14780         * doc/gcov.texi: Ditto.
14781         * doc/install.texi: Ditto.
14782         * doc/invoke.texi: Ditto.
14784 2022-01-02  Uroš Bizjak  <ubizjak@gmail.com>
14786         PR target/103861
14787         * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
14788         (VALID_INT_MODE_P): Ditto.
14789         * config/i386/i386.c (ix86_secondary_reload): Handle
14790         V2QImode reloads from SSE register to memory.
14791         (vector_mode_supported_p): Always return true for V2QImode.
14792         * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
14793         (*negqi_ext<mode>_2): Ditto.
14794         * config/i386/mmx.md (movv2qi): New expander.
14795         (movmisalignv2qi): Ditto.
14796         (*movv2qi_internal): New insn pattern.
14797         (*pushv2qi2): Ditto.
14798         (negv2qi2 and splitters): Ditto.
14799         (<plusminus:insn>v2qi3 and splitters): Ditto.
14801 2022-01-02  John David Anglin  <danglin@gcc.gnu.org>
14803         * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
14804         sync_lock_test_and_set libfunc. Call convert_memory_address to
14805         convert memory address to Pmode.
14806         (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
14809 Copyright (C) 2022 Free Software Foundation, Inc.
14811 Copying and distribution of this file, with or without modification,
14812 are permitted in any medium without royalty provided the copyright
14813 notice and this notice are preserved.