compiler: don't use sink as parameter in method expression thunk
[official-gcc.git] / gcc / ChangeLog
blobe5c3b668dc55a2dc21cfa67a61dfbfde56c1bbee
1 2022-06-25  Aldy Hernandez  <aldyh@redhat.com>
3         * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
4         instead of evrp.
5         (dom_jt_state::push): Remove m_evrp.
6         (dom_jt_state::pop): Same.
7         (dom_jt_state::record_ranges_from_stmt): Remove.
8         (dom_jt_state::register_equiv): Remove updating of evrp ranges.
9         (class dom_jt_simplifier): Pass ranger to constructor.
10         Inherit from hybrid_jt_simplifier.
11         (dom_jt_simplifier::simplify): Convert to ranger.
12         (pass_dominator::execute): Same.
13         (all_uses_feed_or_dominated_by_stmt): New.
14         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
15         (dom_opt_dom_walker::before_dom_children): Call
16         set_global_ranges_from_unreachable_edges.
17         Do not call record_ranges_from_stmt.
18         (dom_opt_dom_walker::after_dom_children): Remove evrp use.
19         (cprop_operand): Use int_range<> instead of value_range.
20         (dom_opt_dom_walker::fold_cond): New.
21         (dom_opt_dom_walker::optimize_stmt): Pass ranger to
22         cprop_into_stmt.
23         Use fold_cond() instead of vrp_visit_cond_stmt().
24         * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
25         pass state to simplifier.
26         * vr-values.h (class vr_values): Make fold_cond public.
28 2022-06-25  Jeff Law  <jeffreyalaw@gmail.com>
30         * common/config/tilegx/tilegx-common.cc: Removed.
31         * common/config/tilepro/tilepro-common.cc: Removed.
32         * config.gcc: Remove tilegx and tilepro entries.
33         * config/tilegx/constraints.md: Removed.
34         * config/tilegx/feedback.h: Removed.
35         * config/tilegx/linux.h: Removed.
36         * config/tilegx/mul-tables.cc: Removed.
37         * config/tilegx/predicates.md: Removed.
38         * config/tilegx/sync.md: Removed.
39         * config/tilegx/t-tilegx: Removed.
40         * config/tilegx/tilegx-builtins.h: Removed.
41         * config/tilegx/tilegx-c.cc: Removed.
42         * config/tilegx/tilegx-generic.md: Removed.
43         * config/tilegx/tilegx-modes.def: Removed.
44         * config/tilegx/tilegx-multiply.h: Removed.
45         * config/tilegx/tilegx-opts.h: Removed.
46         * config/tilegx/tilegx-protos.h: Removed.
47         * config/tilegx/tilegx.cc: Removed.
48         * config/tilegx/tilegx.h: Removed.
49         * config/tilegx/tilegx.md: Removed.
50         * config/tilegx/tilegx.opt: Removed.
51         * config/tilepro/constraints.md: Removed.
52         * config/tilepro/feedback.h: Removed.
53         * config/tilepro/gen-mul-tables.cc: Removed.
54         * config/tilepro/linux.h: Removed.
55         * config/tilepro/mul-tables.cc: Removed.
56         * config/tilepro/predicates.md: Removed.
57         * config/tilepro/t-tilepro: Removed.
58         * config/tilepro/tilepro-builtins.h: Removed.
59         * config/tilepro/tilepro-c.cc: Removed.
60         * config/tilepro/tilepro-generic.md: Removed.
61         * config/tilepro/tilepro-modes.def: Removed.
62         * config/tilepro/tilepro-multiply.h: Removed.
63         * config/tilepro/tilepro-protos.h: Removed.
64         * config/tilepro/tilepro.cc: Removed.
65         * config/tilepro/tilepro.h: Removed.
66         * config/tilepro/tilepro.md: Removed.
67         * config/tilepro/tilepro.opt: Removed.
68         * configure.ac: Remove tilegx and tilepro entries.
69         * configure: Rebuilt.
70         * doc/extend.texi: Remove tilegx and tilepro entries.
71         * doc/install.texi: Remove tilegx and tilepro entries.
72         * doc/invoke.texi: Remove tilegx and tilepro entries.
73         * doc/md.texi: Remove tilegx and tilepro entries.
75 2022-06-25  Roger Sayle  <roger@nextmovesoftware.com>
76             Richard Biener  <rguenther@suse.de>
78         * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
79         iteration over each basic block that was updated by the second
80         iteration.
82 2022-06-24  Jason Merrill  <jason@redhat.com>
84         PR c++/87729
85         PR c++/20423
86         * doc/invoke.texi: Document changes.
88 2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>
90         * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
91         condition to avoid overflow.
93 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
95         * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
96         OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
97         * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
98         OPTION_MASK_PPC_GFXOPT.
99         * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
100         * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
101         OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
102         * config/rs6000/rs6000-c.cc: Update comment.
103         * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
104         * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
105         MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
106         (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
107         with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
108         * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
109         MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
110         MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
111         MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
113 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
115         * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
116         OPTION_MASK_MFCRF.
117         * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
118         OPTION_MASK_MULTIPLE.
119         * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
120         * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
121         OPTION_MASK_MFCRF.
122         * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
123         OPTION_MASK_EABI.
124         * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
125         * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
126         MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
127         * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
128         MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
129         MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
130         MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
131         MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
132         Replace with
133         OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
134         OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
135         OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
136         OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
137         OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
138         OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
139         OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
140         * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
141         MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
142         * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
143         with OPTION_MASK_MULTIPLE.
144         (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
145         MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
146         MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
147         MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
148         MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
149         * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
150         with OPTION_MASK_EABI.
152 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
154         * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
155         RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
156         RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
157         RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
158         OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
159         OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
160         OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
161         * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
162         RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
163         RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
164         RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
166 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
168         * config/rs6000/rs6000-c.cc: Update comments.
169         * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
170         RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
171         RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
172         RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
173         RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
174         with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
175         OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
176         OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
177         OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
178         OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
179         OPTION_MASK_MMA, OPTION_MASK_POWER10.
180         * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
181         RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
182         RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
183         RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
184         RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
186 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
188         * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
189         MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
190         OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
192 2022-06-24  Richard Biener  <rguenther@suse.de>
194         PR middle-end/106070
195         * match.pd (a != b ? a : b): Fix translation of
196         operand_equal_for_comparison_p.
198 2022-06-24  Jan Hubicka  <jh@suse.cz>
200         PR ipa/106057
201         * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
203 2022-06-24  Martin Liska  <mliska@suse.cz>
205         PR middle-end/106059
206         * profile-count.h: *= and /= operators need to modify this
207         object.
209 2022-06-24  Roger Sayle  <roger@nextmovesoftware.com>
210             Uroš Bizjak  <ubizjak@gmail.com>
212         PR target/105930
213         * config/i386/i386.md (*<any_or>di3_doubleword): Split after
214         reload.  Use rtx_equal_p to avoid creating memory-to-memory moves,
215         and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
217 2022-06-24  Alexandre Oliva  <oliva@adacore.com>
219         * common.opt (nostdlib++): New.
220         * doc/invoke.texi (-nostdlib++): Document it.
222 2022-06-24  Alexandre Oliva  <oliva@adacore.com>
224         * doc/sourcebuild.texi (Environment attributes): Document
225         two_plus_gigs.
227 2022-06-23  David Malcolm  <dmalcolm@redhat.com>
229         * common.opt (fdiagnostics-show-rules): New option.
230         * diagnostic-format-json.cc (diagnostic_output_format_init_json):
231         Fix up context->show_rules.
232         * diagnostic-format-sarif.cc
233         (diagnostic_output_format_init_sarif): Likewise.
234         * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
235         (diagnostic_metadata::precanned_rule): New class.
236         (diagnostic_metadata::add_rule): New.
237         (diagnostic_metadata::get_num_rules): New.
238         (diagnostic_metadata::get_rule): New.
239         (diagnostic_metadata::m_rules): New field.
240         * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
241         (print_any_rules): New.
242         (diagnostic_report_diagnostic): Call it.
243         * diagnostic.h (diagnostic_context::show_rules): New field.
244         * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
245         * opts.cc (common_handle_option): Handle
246         OPT_fdiagnostics_show_rules.
247         * toplev.cc (general_init): Set up global_dc->show_rules.
249 2022-06-23  Martin Liska  <mliska@suse.cz>
251         PR c++/106062
252         * ubsan.cc (sanitize_unreachable_fn): Change order of calls
253         in order to initialize UBSAN built-ins.
255 2022-06-23  Martin Liska  <mliska@suse.cz>
257         PR ipa/105600
258         * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
259         Skip variables with body_removed.
261 2022-06-23  liuhongt  <hongtao.liu@intel.com>
263         * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
264         reg_or_subregno.
265         (sse4_2_pcmpistr): Ditto.
267 2022-06-23  Xionghu Luo  <xionghuluo@tencent.com>
269         * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
270         typo.
271         * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
272         * tree-switch-conversion.h: Likewise.
274 2022-06-22  Jason Merrill  <jason@redhat.com>
276         PR c++/104642
277         * common.opt: Add -funreachable-traps.
278         * doc/invoke.texi (-funreachable-traps): Document it.
279         * opts.cc (finish_options): Enable at -O0 or -Og.
280         * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
281         (builtin_decl_unreachable, build_builtin_unreachable): New.
282         * tree.h: Declare them.
283         * ubsan.cc (sanitize_unreachable_fn): Factor out.
284         (ubsan_instrument_unreachable): Use
285         gimple_build_builtin_unreachable.
286         * ubsan.h (sanitize_unreachable_fn): Declare.
287         * gimple.cc (gimple_build_builtin_unreachable): New.
288         * gimple.h: Declare it.
289         * builtins.cc (expand_builtin_unreachable): Add assert.
290         (fold_builtin_0): Call build_builtin_unreachable.
291         * sanopt.cc: Don't run for just SANITIZE_RETURN
292         or SANITIZE_UNREACHABLE when trapping.
293         * cgraphunit.cc (walk_polymorphic_call_targets): Use new
294         unreachable functions.
295         * gimple-fold.cc (gimple_fold_call)
296         (gimple_get_virt_method_for_vtable)
297         * ipa-fnsummary.cc (redirect_to_unreachable)
298         * ipa-prop.cc (ipa_make_edge_direct_to_target)
299         (ipa_impossible_devirt_target)
300         * ipa.cc (walk_polymorphic_call_targets)
301         * tree-cfg.cc (pass_warn_function_return::execute)
302         (execute_fixup_cfg)
303         * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
304         (unloop_loops)
305         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
306         Likewise.
308 2022-06-22  Richard Sandiford  <richard.sandiford@arm.com>
310         PR tree-optimization/106019
311         * tree-data-ref.cc (dr_may_alias_p): Try using the
312         innermost_loop_behavior to disambiguate non-loop queries.
314 2022-06-22  Palmer Dabbelt  <palmer@rivosinc.com>
316         * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
318 2022-06-22  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
320         * config/xtensa/xtensa.md (bswapsi2_internal):
321         Enlarge the buffer that is obviously smaller than the template
322         string given to sprintf().
324 2022-06-21  Roger Sayle  <roger@nextmovesoftware.com>
325             Marek Polacek  <polacek@redhat.com>
326             Segher Boessenkool  <segher@kernel.crashing.org>
327             Kewen Lin  <linkw@linux.ibm.com>
329         PR target/105991
330         * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
331         exact_log2 doesn't return -1 (or zero).
332         (plus_xor): New code iterator.
333         (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
335 2022-06-21  Nathan Sidwell  <nathan@acm.org>
337         * doc/invoke.texi (C++ Modules): Remove language-linkage
338         as missing feature.
340 2022-06-21  Arjun Shankar  <arjun@redhat.com>
342         PR tree-optimization/94899
343         * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
344         0x80000000): New simplification.
346 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
348         PR rtl-optimization/106032
349         * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
350         t may_trap_or_fault_p, even if it is cheap.
352 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
354         PR middle-end/106030
355         * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
356         temp to expand_operands if mode has been promoted.
358 2022-06-21  Xionghu Luo  <xionghuluo@tencent.com>
360         PR target/105740
361         * gimple-if-to-switch.cc (find_conditions): Don't skip the first
362         condition bb.
364 2022-06-21  Siddhesh Poyarekar  <siddhesh@gotplt.org>
366         PR tree-optimization/105736
367         * tree-object-size.cc (addr_object_size): Return size_unknown
368         when object offset computation returns an error.
370 2022-06-20  H.J. Lu  <hjl.tools@gmail.com>
372         PR target/105960
373         * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
374         false if PIC register is used when calling ifunc functions.
376 2022-06-20  Richard Biener  <rguenther@suse.de>
378         PR middle-end/106027
379         * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
380         type of the prevailing comparison for the new comparison type.
381         (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
382         to A < X && A >= Y folding.
384 2022-06-20  Kewen Lin  <linkw@linux.ibm.com>
386         PR tree-optimization/105940
387         * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
388         slp_done_for_suggested_uf and adjust with it accordingly.
389         (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
390         pass it down to vect_analyze_loop_2 for the initial analysis and
391         applying suggested unroll factor.
392         (vect_is_simple_reduction): Add parameter slp and adjust with it.
393         (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
394         (vect_analyze_scalar_cycles): Likewise.
396 2022-06-20  Martin Liska  <mliska@suse.cz>
398         * bb-reorder.cc (find_traces_1_round): Add operators / and * and
399         use them.
400         (better_edge_p): Likewise.
401         * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
402         * cfgloopmanip.cc (scale_loop_profile): Likewise.
403         * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
404         * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
405         * config/sh/sh.cc (expand_cbranchdi4): Likewise.
406         * dojump.cc (do_compare_rtx_and_jump): Likewise.
407         * final.cc (compute_alignments): Likewise.
408         * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
409         (decide_about_value): Likewise.
410         * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
411         * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
412         * modulo-sched.cc (sms_schedule): Likewise.
413         * omp-expand.cc (extract_omp_for_update_vars): Likewise.
414         (expand_omp_ordered_sink): Likewise.
415         (expand_omp_for_ordered_loops): Likewise.
416         (expand_omp_for_static_nochunk): Likewise.
417         * predict.cc (maybe_hot_count_p): Likewise.
418         (probably_never_executed): Likewise.
419         (set_even_probabilities): Likewise.
420         (handle_missing_profiles): Likewise.
421         (expensive_function_p): Likewise.
422         * profile-count.h: Likewise.
423         * profile.cc (compute_branch_probabilities): Likewise.
424         * stmt.cc (emit_case_dispatch_table): Likewise.
425         * symtab-thunks.cc (expand_thunk): Likewise.
426         * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
427         * tree-ssa-sink.cc (select_best_block): Likewise.
428         * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
429         (switch_decision_tree::balance_case_nodes): Likewise.
430         (switch_decision_tree::emit_case_nodes): Likewise.
431         * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
433 2022-06-20  yulong  <shiyulong@iscas.ac.cn>
435         * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
436         * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
437         of RISCV_BUILTIN.
438         * config/riscv/riscv-ftypes.def (0): Remove unused.
439         (1): New.
441 2022-06-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
443         * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
444         Consider relaxed MOVI instructions as L32R.
446 2022-06-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
448         * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
449         Use can_create_pseudo_p(), instead of using individual
450         reload_in_progress and reload_completed.
451         (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
452         the existing predicate function.
453         (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
454         Use the standard RTX code predicate macros such as MEM_P,
455         SYMBOL_REF_P and/or CONST_INT_P.
456         * config/xtensa/xtensa.md: Avoid using numeric literals to determine
457         if callee-saved register, at the split patterns for indirect sibcall
458         fixups.
460 2022-06-18  Jakub Jelinek  <jakub@redhat.com>
462         * common.opt (flag_sanitize_trap): New variable.
463         (fsanitize-trap=, fsanitize-trap): New options.
464         (fsanitize-undefined-trap-on-error): Change into deprecated alias
465         for -fsanitize-trap=all.
466         * opts.h (struct sanitizer_opts_s): Add can_trap member.
467         * opts.cc (finish_options): Complain about unsupported
468         -fsanitize-trap= options.
469         (sanitizer_opts): Add can_trap values to all entries.
470         (get_closest_sanitizer_option): Ignore -fsanitize-trap=
471         options which have can_trap false.
472         (parse_sanitizer_options): Add support for -fsanitize-trap=.
473         For -fsanitize-trap=all, enable
474         SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT.  Disallow
475         -fsanitize-trap=vptr here.
476         (common_handle_option): Handle OPT_fsanitize_trap_ and
477         OPT_fsanitize_trap.
478         * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
479         flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
480         flag_sanitize_undefined_trap_on_error.
481         * gcc.cc (sanitize_spec_function): Use
482         flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
483         and drop use of flag_sanitize_undefined_trap_on_error in
484         "undefined" handling.
485         * ubsan.cc (ubsan_instrument_unreachable): Use
486         flag_sanitize_trap & SANITIZE_??? instead of
487         flag_sanitize_undefined_trap_on_error.
488         (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
489         ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
490         ubsan_build_overflow_builtin, instrument_bool_enum_load,
491         ubsan_instrument_float_cast, instrument_nonnull_arg,
492         instrument_nonnull_return, instrument_builtin): Likewise.
493         * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
494         (-fsanitize-undefined-trap-on-error): Document as deprecated
495         alias of -fsanitize-trap.
497 2022-06-18  Jakub Jelinek  <jakub@redhat.com>
499         PR middle-end/105998
500         * varasm.cc (narrowing_initializer_constant_valid_p): Check
501         SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
502         ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
504 2022-06-18  Roger Sayle  <roger@nextmovesoftware.com>
506         PR tree-optimization/105835
507         * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
508         Narrow integer multiplication by a zero_one_valued_p operand.
509         (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
510         conversions inside COND_EXPR where both data operands are
511         integer constants.
513 2022-06-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
515         * config/xtensa/constraints.md (Y):
516         Change to include integer constants until reload begins.
517         * config/xtensa/predicates.md (move_operand): Ditto.
518         * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
519         Change to allow storing integer constants into litpool only after
520         reload begins.
522 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
524         PR target/105209
525         * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
526         * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
527         (alpha_store_data_bypass_p_1): Ditto.
528         * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
529         of generic store_data_bypass_p.
530         (ev4_ist_c): Remove insn reservation.
532 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
534         PR target/105970
535         * config/i386/i386.cc (ix86_function_arg): Assert that
536         the mode of pointer argumet is equal to ptr_mode, not Pmode.
538 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
540         PR target/105993
541         * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
542         instead of REGNO comparisons in combine splitter.
544 2022-06-17  Segher Boessenkool  <segher@kernel.crashing.org>
546         * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
547         types.
549 2022-06-17  Kito Cheng  <kito.cheng@sifive.com>
551         * config/riscv/bitmanip.md: Supress warning.
553 2022-06-17  Richard Earnshaw  <rearnsha@arm.com>
555         PR target/106004
556         * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
557         Clear bits in the mask above bit 31.
559 2022-06-17  Richard Earnshaw  <rearnsha@arm.com>
561         * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
562         to avoid spilling trivial literals to the constant pool.
564 2022-06-16  David Malcolm  <dmalcolm@redhat.com>
566         * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
567         auto_diagnostic_group to group any warning with its note.
568         (maybe_warn_for_bound): Likewise.
569         (check_access): Likewise.
570         (warn_dealloc_offset): Likewise.
571         (pass_waccess::maybe_warn_memmodel): Likewise.
572         (pass_waccess::maybe_check_dealloc_call): Likewise.
573         (pass_waccess::warn_invalid_pointer): Likewise.
574         (pass_waccess::check_dangling_stores): Likewise.
576 2022-06-16  Jason Merrill  <jason@redhat.com>
578         * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
579         opts_set->x_flag_sanitize.
581 2022-06-16  Jason Merrill  <jason@redhat.com>
583         * flags.h (issue_strict_overflow_warning): Comment #endif.
585 2022-06-16  Andrew MacLeod  <amacleod@redhat.com>
587         * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
588         was invaraint before, clear the invariant bit.
589         * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
590         * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
592 2022-06-16  Andrew MacLeod  <amacleod@redhat.com>
594         * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
596 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
598         PR tree-optimization/105983
599         * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
600         y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
601         on non-equality comparisons.
603 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
605         PR tree-optimization/105984
606         * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
607         x > stype_max / cst || x < stype_min / cst): fold_convert @1
608         to TREE_TYPE (@0) just once and test for negative divisor
609         also on that folded constant instead of on @1.
611 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
613         PR middle-end/105951
614         * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
615         optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
616         as last argument to the internal functions.
617         * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
618         extra call argument to ifns.  If expand_atomic_fetch_op fails for the
619         lhs == NULL_TREE case, fall through into the optab code with
620         gen_reg_rtx (mode) as target.  If second expand_atomic_fetch_op
621         fails, construct a CALL_EXPR and expand that.
622         (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
623         to ifns.  If expand_atomic_fetch_op fails, construct a CALL_EXPR and
624         expand that.
626 2022-06-16  Haochen Gui  <guihaoc@gcc.gnu.org>
628         PR target/103316
629         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
630         gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
631         RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
632         RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
633         * config/rs6000/vector.md (VEC_IC): New mode iterator.  Add support
634         for new Power10 V1TI instructions.
635         (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
636         (vec_cmpu<mode><mode>): Likewise.
637         (vector_nlt<mode>): Set mode iterator to VEC_IC.
638         (vector_nltv1ti): Remove.
639         (vector_gtu<mode>): Set mode iterator to VEC_IC.
640         (vector_gtuv1ti): Remove.
641         (vector_nltu<mode>): Set mode iterator to VEC_IC.
642         (vector_nltuv1ti): Remove.
643         (vector_geu<mode>): Set mode iterator to VEC_IC.
644         (vector_ngt<mode>): Likewise.
645         (vector_ngtv1ti): Remove.
646         (vector_ngtu<mode>): Set mode iterator to VEC_IC.
647         (vector_ngtuv1ti): Remove.
648         (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
649         (vector_gtu_v1ti_p): Remove.
650         (vrotl<mode>3): Set mode iterator to VEC_IC.  Emit insns for V1TI.
651         (vrotlv1ti3): Remove.
652         (vashr<mode>3): Set mode iterator to VEC_IC.  Emit insns for V1TI.
653         (vashrv1ti3): Remove.
655 2022-06-16  Martin Liska  <mliska@suse.cz>
657         * gengtype-state.cc (read_a_state_token): Do not skip extra
658         character after escaped sequence.
660 2022-06-16  Martin Liska  <mliska@suse.cz>
662         PR driver/105564
663         * spellcheck.cc (test_find_closest_string): Add new test.
664         * spellcheck.h (class best_match): Prefer a difference in
665         trailing sign symbol.
667 2022-06-16  liuhongt  <hongtao.liu@intel.com>
669         PR tree-optimization/53533
670         * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
671         (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
672         and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
674 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
676         * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
678 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
680         * config/xtensa/predicates.md (reload_operand):
681         New predicate.
682         * config/xtensa/xtensa.md: New peephole2 pattern.
684 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
686         * config/xtensa/xtensa.md (*round_up_to_even):
687         New insn-and-split pattern.
688         (*signed_ge_zero): Ditto.
690 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
692         * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
693         xtensa_emit_sibcall): New prototypes.
694         (xtensa_expand_epilogue): Add new argument that specifies whether
695         or not sibling call.
696         * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
697         New macro definition.
698         (xtensa_prepare_expand_call): New function in order to share
699         the common code.
700         (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
701         New functions.
702         (xtensa_expand_epilogue): Add new argument sibcall_p and use it
703         for sibling call handling.
704         * config/xtensa/xtensa.md (call, call_value):
705         Use xtensa_prepare_expand_call.
706         (call_internal, call_value_internal):
707         Add the condition in order to be disabled if sibling call.
708         (sibcall, sibcall_value, sibcall_epilogue): New expansions.
709         (sibcall_internal, sibcall_value_internal): New insn patterns,
710         and split ones in order to take care of the indirect sibcalls.
712 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
714         * doc/invoke.texi: Document -mextra-l32r-costs= option.
716 2022-06-15  David Malcolm  <dmalcolm@redhat.com>
718         PR analyzer/105962
719         * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
720         * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
721         Extend -fdiagnostics-path-format=separate-events so that with
722         -fdiagnostics-show-path-depths it prints fndecls as well as stack
723         depths.
725 2022-06-15  David Malcolm  <dmalcolm@redhat.com>
727         * value-relation.h: Add "final" and "override" to relation_oracle
728         vfunc implementations as appropriate.
730 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
732         PR middle-end/105975
733         Revert everything apart from the expand_fn_using_insn and
734         expand_direct_optab_fn changes from:
735         * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
736         (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
737         (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
738         (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
739         * internal-fn.h (direct_internal_fn_info::directly_mapped): New
740         member variable.
741         (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
742         (direct_internal_fn_p): Also return true for internal functions
743         that map directly to instructions defined target-insns.def.
744         (direct_internal_fn): Adjust comment accordingly.
745         * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
746         (vectorizable_optab2): New local macros.
747         (not_direct): Initialize directly_mapped.
748         (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
749         (gather_load_direct, len_load_direct, mask_store_direct)
750         (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
751         (vec_cond_direct, scatter_store_direct, len_store_direct)
752         (vec_set_direct, unary_direct, binary_direct, ternary_direct)
753         (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
754         (while_direct, fold_extract_direct, fold_left_direct)
755         (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
756         (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
757         (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
758         (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
759         (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
760         (direct_internal_fn_types): Handle functions that map to instructions
761         defined in target-insns.def.
762         (direct_internal_fn_types): Likewise.
763         (direct_internal_fn_supported_p): Likewise.
764         (internal_fn_expanders): Likewise.
765         (expand_fn_using_insn): New function,
766         split out and adapted from...
767         (expand_direct_optab_fn): ...here.
768         (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
769         (expand_GOMP_SIMT_EXIT): Likewise.
770         (expand_GOMP_SIMT_LANE): Likewise.
771         (expand_GOMP_SIMT_LAST_LANE): Likewise.
772         (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
773         (expand_GOMP_SIMT_VOTE_ANY): Likewise.
774         (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
775         (expand_GOMP_SIMT_XCHG_IDX): Likewise.
777 2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
779         PR target/105981
780         * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
781         to first_reg and second_reg respectively.  Initialize them correctly
782         when generating big-endian code.
784 2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
786         PR target/105974
787         * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
789 2022-06-15  Richard Biener  <rguenther@suse.de>
791         PR tree-optimization/105971
792         * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
793         FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
794         to leak less surprising alias results.
796 2022-06-15  Richard Biener  <rguenther@suse.de>
798         PR tree-optimization/105969
799         * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
800         by zero in overflow check.
802 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
804         PR tree-optimization/105254
805         PR tree-optimization/105940
806         Revert:
807         * config/aarch64/aarch64.cc
808         (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
809         loop_vec_info as argument.  Restrict the unroll factor to values
810         that divide the VF.
811         (aarch64_vector_costs::finish_cost): Update call accordingly.
813 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
815         * read-rtl.cc (find_int): Substitute symbolic constants
816         before converting the string to an integer.
818 2022-06-15  Roger Sayle  <roger@nextmovesoftware.com>
819             Richard Biener  <rguenther@suse.de>
821         * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
822         left shifts by a constant when the result is truncated, and the
823         shift constant is well-defined.
824         * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
825         support for rotations of signed integer types, by lowering
826         using unsigned vector shifts.
828 2022-06-15  liuhongt  <hongtao.liu@intel.com>
830         PR target/105953
831         * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
832         operands[3].
834 2022-06-14  Surya Kumari Jangala  <jskumari@linux.ibm.com>
836         PR rtl-optimization/105041
837         * regrename.cc (check_new_reg_p): Use nregs value from du chain.
839 2022-06-14  Segher Boessenkool  <segher@kernel.crashing.org>
841         * config/rs6000/vsx.md (VS_scalar): Delete.
842         (rest of file): Adjust.
844 2022-06-14  Jan Hubicka  <hubicka@ucw.cz>
846         PR ipa/105739
847         * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
849 2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
851         * config/riscv/bitmanip.md: Add split to handle opportunities
852         for slli + sh[123]add.uw
854 2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
856         * config/riscv/predicates.md (consecutive_bits_operand):
857         Implement new predicate.
859 2022-06-14  Richard Biener  <rguenther@suse.de>
861         PR tree-optimization/105946
862         * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
863         Do not look at arguments not specified in the function call.
865 2022-06-14  Richard Biener  <rguenther@suse.de>
867         PR middle-end/105965
868         * match.pd (view_convert CONSTRUCTOR): Handle single-element
869         CTOR case.
871 2022-06-14  Eric Botcazou  <ebotcazou@adacore.com>
873         * warning-control.cc (copy_warning) [generic version]: Do not erase
874         the warning data of the destination location when the no-warning
875         bit is not set on the source.
876         (copy_warning) [tree version]: Return early if TO is equal to FROM.
877         (copy_warning) [gimple version]: Likewise.
879 2022-06-14  Kewen Lin  <linkw@linux.ibm.com>
881         PR tree-optimization/105940
882         * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
883         applying suggested_unroll_factor after start_over.
885 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
887         * config/xtensa/predicates.md (shifted_mask_operand):
888         New predicate.
889         * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
890         New insn-and-split pattern.
891         (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
892         *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
893         *masktrue_const_shifted_mask): Ditto.
895 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
897         * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
899 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
901         * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
902         Remove the first argument.
903         (xtensa_emit_bit_branch): Remove it because now called only from the
904         output statement of *bittrue insn pattern.
905         * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
906         argument 'p_invert', and make so that the condition is reversed by
907         itself as needed.
908         (xtensa_expand_conditional_branch): Share the common path, and remove
909         condition inversion code.
910         (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
911         "false side" pattern.
912         (xtensa_emit_bit_branch): Remove it because of the abovementioned
913         reason, and move the function body to *bittrue insn pattern.
914         * config/xtensa/xtensa.md (*bittrue): Transplant the output
915         statement from removed xtensa_emit_bit_branch().
916         (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
917         insn patterns.
919 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
921         * config/xtensa/predicates.md (logical_shift_operator,
922         xtensa_shift_per_byte_operator): New predicates.
923         * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
924         New prototype.
925         * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
926         New helper function for funnel shift patterns.
927         * config/xtensa/xtensa.md (ior_op): New code iterator.
928         (*ashlsi3_1): Replace with new split pattern.
929         (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
930         (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
931         New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
932         in order to omit unnecessary bitwise AND operation.
933         (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
934         *shlrd_per_byte_<code>_omit_AND):
935         New insn patterns for funnel shifts.
937 2022-06-13  Jason Merrill  <jason@redhat.com>
939         * tree-cfg.cc (pass_warn_function_return::execute): Also check
940         BUILT_IN_TRAP.
942 2022-06-13  Maciej W. Rozycki  <macro@embecosm.com>
944         * config/riscv/riscv.md (length): Remove the explicit setting
945         for "fcmp".
947 2022-06-13  H.J. Lu  <hjl.tools@gmail.com>
949         * common/config/i386/cpuinfo.h (get_available_features): Require
950         AVX for F16C and VAES.
952 2022-06-13  Uroš Bizjak  <ubizjak@gmail.com>
954         PR target/105927
955         * config/i386/predicates.md (register_no_elim_operand):
956         Return true for subreg of a memory operand.
958 2022-06-13  Richard Sandiford  <richard.sandiford@arm.com>
960         * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
961         (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
962         (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
963         (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
964         * internal-fn.h (direct_internal_fn_info::directly_mapped): New
965         member variable.
966         (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
967         (direct_internal_fn_p): Also return true for internal functions
968         that map directly to instructions defined target-insns.def.
969         (direct_internal_fn): Adjust comment accordingly.
970         * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
971         (vectorizable_optab2): New local macros.
972         (not_direct): Initialize directly_mapped.
973         (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
974         (gather_load_direct, len_load_direct, mask_store_direct)
975         (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
976         (vec_cond_direct, scatter_store_direct, len_store_direct)
977         (vec_set_direct, unary_direct, binary_direct, ternary_direct)
978         (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
979         (while_direct, fold_extract_direct, fold_left_direct)
980         (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
981         (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
982         (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
983         (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
984         (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
985         (direct_internal_fn_types): Handle functions that map to instructions
986         defined in target-insns.def.
987         (direct_internal_fn_types): Likewise.
988         (direct_internal_fn_supported_p): Likewise.
989         (internal_fn_expanders): Likewise.
991 2022-06-13  Richard Sandiford  <richard.sandiford@arm.com>
993         * internal-fn.cc (expand_fn_using_insn): New function,
994         split out and adapted from...
995         (expand_direct_optab_fn): ...here.
996         (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
997         (expand_GOMP_SIMT_EXIT): Likewise.
998         (expand_GOMP_SIMT_LANE): Likewise.
999         (expand_GOMP_SIMT_LAST_LANE): Likewise.
1000         (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
1001         (expand_GOMP_SIMT_VOTE_ANY): Likewise.
1002         (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
1003         (expand_GOMP_SIMT_XCHG_IDX): Likewise.
1005 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
1007         * omp-expand.cc (expand_omp_target): Remap user provided
1008         device clause arguments, -1 to -2 and -2 to -3, either
1009         at compile time if constant, or at runtime.
1011 2022-06-13  Eric Botcazou  <ebotcazou@adacore.com>
1013         * common.opt (finstrument-functions): Set explicit value.
1014         (-finstrument-functions-once): New option.
1015         * doc/invoke.texi (Program Instrumentation Options): Document it.
1016         * gimplify.cc (build_instrumentation_call): New static function.
1017         (gimplify_function_tree): Call it to emit the instrumentation calls
1018         if -finstrument-functions[-once] is specified.
1020 2022-06-13  Eric Botcazou  <ebotcazou@adacore.com>
1022         * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
1023         * gimple.h (gimple_set_location): Do not copy warning data from
1024         the previous location when it is UNKNOWN_LOCATION.
1025         * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
1027 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
1029         PR target/105911
1030         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
1031         *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
1032         (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
1033         operands[3] unmodified.
1035 2022-06-12  Simon Wright  <simon@pushface.org>
1037         PR target/104871
1038         * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
1039         version is darwin20 (macOS 11) or greater, truncate the version to the
1040         major number.
1042 2022-06-12  Mark Mentovai  <mark@mentovai.com>
1044         * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
1046 2022-06-12  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
1048         PR target/96463
1049         * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
1050         (svld1rq_impl::fold): Define.
1051         * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
1052         op_mode and op_vec_flags.
1053         (aarch64_evpc_reencode): Initialize newd.op_mode and
1054         newd.op_vec_flags.
1055         (aarch64_evpc_sve_dup): New function.
1056         (aarch64_expand_vec_perm_const_1): Gate existing calls to
1057         aarch64_evpc_* functions under d->vmode == d->op_mode,
1058         and call aarch64_evpc_sve_dup.
1059         (aarch64_vectorize_vec_perm_const): Remove assert
1060         d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
1061         * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
1062         vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
1063         constant.
1065 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1067         * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
1068         New prototype.
1069         * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
1070         xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
1071         xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
1072         New backend functions that process the abovementioned logic.
1073         (xtensa_emit_move_sequence): Revert the previous changes.
1074         * config/xtensa/xtensa.md: New split patterns for integer
1075         and floating-point, as the frontend part.
1077 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1079         * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
1080         for ABS and NEG, add missing case for BSWAP and CLRSB, and
1081         double the costs for integer divisions using libfuncs if
1082         optimizing for speed, in order to take advantage of fast constant
1083         division by multiplication.
1084         (TARGET_INSN_COST): New macro definition.
1085         (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
1086         calculating relative costs of a RTL insns, for both of speed and
1087         size.
1088         * config/xtensa/xtensa.md (return, nop, trap): Correct values of
1089         the attribute "length" that depends on TARGET_DENSITY.
1090         (define_asm_attributes, blockage, frame_blockage): Add missing
1091         attributes.
1092         * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
1093         dependent option, however, preparatory work for now.
1095 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1097         * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
1098         Pass through the block length / loop count conditions if
1099         zero-overhead looping is configured and active,
1101 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1103         * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
1104         Split into individual signedness, in order to use libcall
1105         "__umulsidi3" but not the other.
1106         (<u>mulhisi3): Merge into one by using code iterator.
1107         (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
1109 2022-06-11   Michael Meissner  <meissner@linux.ibm.com>
1111         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
1112         not generate block copies with vector pair instructions if we are
1113         tuning for power10.
1115 2022-06-10  Roger Sayle  <roger@nextmovesoftware.com>
1117         PR rtl-optimization/7061
1118         * expr.cc (emit_group_store): For groups that consist of a single
1119         scalar integer register that hold a complex mode value, use
1120         gen_lowpart to generate a SUBREG to "view_convert" to the complex
1121         mode.  For modes of different sizes, first convert to an integer
1122         mode of the appropriate size.
1124 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1126         * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
1128 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1130         * config/xtensa/xtensa.md (*andsi3_bitcmpl):
1131         New insn_and_split pattern.
1133 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1135         * config/xtensa/xtensa.md (one_cmplsi2):
1136         Rearrange as an insn_and_split pattern.
1138 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
1140         * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
1142 2022-06-09  Segher Boessenkool  <segher@kernel.crashing.org>
1144         * config/rs6000/rs6000.md (FP_ISA3): Delete.
1145         (float<QHI:mode><FP_ISA3:mode>2): Rename to...
1146         (float<QHI:mode><SFDF:mode>2): ... this.  Adjust.
1147         (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
1148         (*float<QHI:mode><SFDF:mode>2_internal): ... this.  Adjust.
1149         (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
1150         (floatuns<QHI:mode><SFDF:mode>2): ... this.  Adjust.
1151         (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
1152         (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this.  Adjust.
1154 2022-06-09  Maciej W. Rozycki  <macro@embecosm.com>
1156         * config/riscv/riscv.md
1157         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
1158         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
1159         rather than space with FSFLAGS.
1161 2022-06-09  Tobias Burnus  <tobias@codesourcery.com>
1163         * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
1164         omp_discover_declare_target_fn_r): Don't walk reverse-offload
1165         target regions.
1167 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
1169         * doc/invoke.texi (-Waddress): Fix a typo in small example.
1170         Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
1172 2022-06-09  Cui,Lili  <lili.cui@intel.com>
1174         PR target/105493
1175         * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
1176         from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
1177         unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
1178         (icelake_cost): Ditto.
1179         (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
1180         stores and unaligned stores cost from {6, 6, 6, 10, 15} to
1181         {8, 8, 8, 10, 15}.
1183 2022-06-09  Haochen Gui  <guihaoc@gcc.gnu.org>
1185         * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
1186         and ior insns to one rotate and mask insn.
1187         (define_split for bswapdi register): Likewise.
1189 2022-06-08  Roger Sayle  <roger@nextmovesoftware.com>
1191         PR middle-end/105874
1192         * expr.cc (expand_expr_real_1) <normal_inner_ref>:  New local
1193         variable tem_modifier for calculating the expand_modifier enum to
1194         use for expanding tem.  If tem is a VAR_DECL, use EXPAND_MEMORY.
1196 2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>
1198         PR target/105879
1199         * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
1200         to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
1201         'gen_highpart' bitwise semantics and fix order of highpart and
1202         lowpart depending on target endianness.
1204 2022-06-08  Chung-Ju Wu  <jasonwucj@gmail.com>
1206         * config/arm/arm-cpus.in (star-mc1): New cpu.
1207         * config/arm/arm-tables.opt: Regenerate.
1208         * config/arm/arm-tune.md: Regenerate.
1209         * doc/invoke.texi: Update docs.
1211 2022-06-08  liuhongt  <hongtao.liu@intel.com>
1213         PR target/105513
1214         PR target/105504
1215         * config/i386/i386.md (*movsi_internal): Change alternative
1216         from *v to ?v.
1217         (*movdi_internal): Ditto.
1218         * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
1219         to ?r.
1220         (*vec_extractv4sf_mem): Ditto.
1221         (*vec_extracthf): Ditto.
1223 2022-06-07  Richard Earnshaw  <rearnsha@arm.com>
1225         PR target/105090
1226         * config/arm/arm.cc (arm_bfi_1_p): New function.
1227         (arm_bfi_p): New function.
1228         (arm_rtx_costs_internal): Add costs for BFI idioms.
1229         (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
1230         * config/arm/constraints.md (Dj): New constraint.
1231         * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
1232         (insv_zero): Convert to an insn with a split.
1233         (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
1235 2022-06-07  liuhongt  <hongtao.liu@intel.com>
1237         PR target/105854
1238         * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
1239         from Yv to Yw.
1241 2022-06-07  Roger Sayle  <roger@nextmovesoftware.com>
1243         PR middle-end/105853
1244         PR target/105856
1245         * calls.cc (load_register_parameters): Call store_constructor
1246         and int_expr_size directly instead of expanding via expand_expr.
1247         * expr.cc (static void store_constructor): Don't prototype here.
1248         (static HOST_WIDE_INT int_expr_size): Likewise.
1249         (store_constructor): No longer static.
1250         (int_expr_size): Likewise, no longer static.
1251         * expr.h (store_constructor): Prototype here.
1252         (int_expr_size): Prototype here.
1254 2022-06-07  Jan Beulich  <jbeulich@suse.com>
1256         Revert:
1257         2022-06-03  Jan Beulich  <jbeulich@suse.com>
1259         * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
1260         * configure.ac: Check for objcopy, producing
1261         ORIGINAL_OBJCOPY_FOR_TARGET.
1262         * configure: Update accordingly.
1263         * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
1264         Handle objcopy.
1266 2022-06-07  Jakub Jelinek  <jakub@redhat.com>
1268         * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
1269         * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
1270         Adjust clause printing style depending on
1271         OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
1273 2022-06-07  Jan Beulich  <jbeulich@suse.com>
1275         * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
1276         Change type.
1277         * config/i386/i386-builtin-types.def: New function type
1278         (V4DI, V32QI, V32QI).
1279         * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
1280         V4DI_FTYPE_V32QI_V32QI.
1282 2022-06-07  Jan Beulich  <jbeulich@suse.com>
1284         * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
1285         into account for reg-only insns.
1287 2022-06-07  Roger Sayle  <roger@nextmovesoftware.com>
1289         * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
1290         IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
1291         TARGET_CMOVE's (scalar integer) conditional moves.
1292         * config/i386/sse.md (define_split): Recognize XOP's vpcmov
1293         from its equivalent (canonical) pxor;pand;pxor sequence.
1295 2022-06-07  Kewen Lin  <linkw@linux.ibm.com>
1297         * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
1298         parameter ORDER.
1300 2022-06-06  Andrew Stubbs  <ams@codesourcery.com>
1302         * config.in: Regenerate.
1303         * configure: Regenerate.
1304         * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
1306 2022-06-04  Roger Sayle  <roger@nextmovesoftware.com>
1308         PR middle-end/95126
1309         * calls.cc (load_register_parameters): When loading a suitable
1310         immediate_const_ctor_p VAR_DECL into a single word_mode register,
1311         construct it directly in a pseudo rather than read it (by parts)
1312         from memory.
1313         * expr.cc (int_expr_size): Make tree argument a const_tree.
1314         (immediate_const_ctor_p): Helper predicate.  Return true for
1315         simple constructors that may be materialized in a register.
1316         (expand_expr_real_1) [VAR_DECL]: When expanding a constant
1317         VAR_DECL with a suitable immediate_const_ctor_p constructor
1318         use store_constructor to materialize it directly in a pseudo.
1319         * expr.h (immediate_const_ctor_p): Prototype here.
1320         * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
1321         VALUE argument from tree to const_tree.
1322         * varasm.h (initializer_constant_valid_for_bitfield_p): Update
1323         prototype.
1325 2022-06-04  Jakub Jelinek  <jakub@redhat.com>
1327         PR target/105825
1328         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
1329         *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
1330         bits of mask aren't all set, use operands[2] mode for the AND
1331         operation instead of always SImode.
1333 2022-06-03  Jakub Jelinek  <jakub@redhat.com>
1335         PR middle-end/30314
1336         PR middle-end/105777
1337         * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
1338         x > stype_max / cst || x < stype_min / cst): New simplification.
1340 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
1342         * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
1343         Value_Range.
1344         * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
1345         * value-range.h (Value_Range::Value_Range): Implement copy
1346         constructor for Value_Range.
1348 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
1350         * value-range.h (struct vrange_traits): Remove.
1351         (is_a): Rewrite without vrange_traits.
1352         (as_a): Same.
1354 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
1356         * value-range.cc (vrange::contains_p): Implement.
1357         (vrange::type): Return void.
1358         (vrange::supports_type_p): Implement.
1359         (irange::fits_p): Same.
1360         (vrange::set_undefined): Same.
1361         (irange::set_nonnegative): Same.
1362         (vrange::set_varying): Same.
1363         (vrange::union_): Same.
1364         (unsupported_range::set): Move to vrange.
1365         (unsupported_range::type): Move to vrange.
1366         (vrange::intersect): Implement for varying and undefined.
1367         (vrange::zero_p): Implement.
1368         (unsupported_range::supports_type_p): Move to vrange.
1369         (vrange::nonzero_p): Implement.
1370         (unsupported_range::set_undefined): Move to vrange.
1371         (unsupported_range::set_varying): Same.
1372         (unsupported_range::dump): Same.
1373         (unsupported_range::union_): Same.  Implement for varying and
1374         undefined.
1375         (unsupported_range::intersect): Move to vrange.
1376         (unsupported_range::zero_p): Same.
1377         (unsupported_range::nonzero_p): Same.
1378         (unsupported_range::set_nonzero): Same.
1379         (unsupported_range::set_zero): Same.
1380         (unsupported_range::set_nonnegative): Same.
1381         (unsupported_range::fits_p): Same.
1382         * value-range.h (class vrange): Remove abstract markers for most
1383         methods.
1384         (class unsupported_range): Remove most methods as they will now be
1385         inherited from vrange.
1387 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
1389         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
1390         an object level supports_type_p for irange and a static
1391         Value_Range::supports_type_p.
1392         * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
1393         (fold_using_range::range_of_address): Same.
1394         (fold_using_range::range_of_builtin_call): Same.
1395         * gimple-range-fold.h (gimple_range_type): Same.
1396         (gimple_range_ssa_p): Same.
1397         * gimple-range-path.cc (path_range_query::internal_range_of_expr):
1398         Same.
1399         (path_range_query::range_of_stmt): Same.
1400         (path_range_query::add_to_imports): Same.
1401         * gimple-range.cc (gimple_ranger::range_on_edge): Same.
1402         (gimple_ranger::export_global_ranges): Same.
1403         * gimple-ssa-evrp-analyze.cc
1404         (evrp_range_analyzer::record_ranges_from_phis):  Same.
1405         * range-op.cc (range_operator::wi_fold): Same.
1406         (range_operator::fold_range): Same.
1407         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
1408         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
1409         (evaluate_control_stmt_using_entry_checks): Same.
1410         * tree-ssa-threadedge.cc
1411         (hybrid_jt_simplifier::compute_ranges_from_state): Same.
1412         * tree-vrp.cc (supported_types_p): Same.
1413         * value-query.cc (range_query::value_of_expr): Same.
1414         (range_query::value_on_edge): Same.
1415         (range_query::value_of_stmt): Same.
1416         (range_query::get_tree_range): Same.
1417         (get_range_global): Same.
1418         (global_range_query::range_of_expr): Same.
1419         * value-range-equiv.h (class value_range_equiv): Same.
1420         * value-range.cc (irange::supports_type_p): Same.
1421         (unsupported_range::supports_type_p): Same.
1422         * value-range.h (enum value_range_discriminator): Same.
1423         (Value_Range::init): Same.
1424         (Value_Range::supports_type_p): Same.
1425         (irange::supports_type_p): Same.
1426         (irange::supports_p): Same.
1427         (vrange::supports_type_p): Same.
1428         (vrange_allocator::alloc_vrange): Same.
1430 2022-06-03  Jan Beulich  <jbeulich@suse.com>
1432         * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
1433         * configure.ac: Check for objcopy, producing
1434         ORIGINAL_OBJCOPY_FOR_TARGET.
1435         * configure: Update accordingly.
1436         * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
1437         Handle objcopy.
1439 2022-06-03  Jan Beulich  <jbeulich@suse.com>
1441         * config/i386/mmx.md (mmx_psadbw): Convert to expander.
1442         (*mmx_psadbw): New. Mark as commutative.
1443         * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
1444         (*<sse2_avx2>_psadbw): New. Mark as commutative.
1446 2022-06-03  Alexandre Oliva  <oliva@adacore.com>
1448         PR tree-optimization/105665
1449         PR tree-optimization/100810
1450         * tree-ssa-loop-ivopts.cc
1451         (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
1452         (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
1453         (find_ssa_undef): Check precomputed flag and intervening uses.
1454         (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
1456 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
1458         * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
1459         tree-logical-location.o.
1460         (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
1461         (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
1462         * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
1463         (sarif-stderr, sarif-file): New enum values.
1464         * diagnostic-client-data-hooks.h: New file.
1465         * diagnostic-format-sarif.cc: New file.
1466         * diagnostic-path.h (enum diagnostic_event::verb): New enum.
1467         (enum diagnostic_event::noun): New enum.
1468         (enum diagnostic_event::property): New enum.
1469         (struct diagnostic_event::meaning): New struct.
1470         (diagnostic_event::get_logical_location): New vfunc.
1471         (diagnostic_event::get_meaning): New vfunc.
1472         (simple_diagnostic_event::get_logical_location): New vfunc impl.
1473         (simple_diagnostic_event::get_meaning): New vfunc impl.
1474         * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
1475         (diagnostic_initialize): Initialize m_client_data_hooks.
1476         (diagnostic_finish): Clean up m_client_data_hooks.
1477         (diagnostic_event::meaning::dump_to_pp): New.
1478         (diagnostic_event::meaning::maybe_get_verb_str): New.
1479         (diagnostic_event::meaning::maybe_get_noun_str): New.
1480         (diagnostic_event::meaning::maybe_get_property_str): New.
1481         (get_cwe_url): Make non-static.
1482         (diagnostic_output_format_init): Handle
1483         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
1484         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
1485         * diagnostic.h (enum diagnostics_output_format): Add
1486         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
1487         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
1488         (class diagnostic_client_data_hooks): New forward decl.
1489         (class logical_location): New forward decl.
1490         (diagnostic_context::m_client_data_hooks): New field.
1491         (diagnostic_output_format_init_sarif_stderr): New decl.
1492         (diagnostic_output_format_init_sarif_file): New decl.
1493         (get_cwe_url): New decl.
1494         * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
1495         sarif-file.
1496         * doc/sourcebuild.texi (Scan a particular file): Add
1497         scan-sarif-file and scan-sarif-file-not.
1498         * langhooks-def.h (lhd_get_sarif_source_language): New decl.
1499         (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
1500         (LANG_HOOKS_INITIALIZER): Add
1501         LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
1502         * langhooks.cc (lhd_get_sarif_source_language): New.
1503         * langhooks.h (lang_hooks::get_sarif_source_language): New field.
1504         * logical-location.h: New file.
1505         * plugin.cc (struct for_each_plugin_closure): New.
1506         (for_each_plugin_cb): New.
1507         (for_each_plugin): New.
1508         * plugin.h (for_each_plugin): New decl.
1509         * tree-diagnostic-client-data-hooks.cc: New file.
1510         * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
1511         (tree_diagnostics_defaults): Populate m_client_data_hooks.
1512         * tree-logical-location.cc: New file.
1513         * tree-logical-location.h: New file.
1515 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
1517         * common.opt (fdiagnostics-format=): Add json-stderr and json-file
1518         to description.
1519         (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
1520         (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
1521         (diagnostics_output_format): Add json-stderr and json-file.
1522         * diagnostic-format-json.cc (json_flush_to_file): New.
1523         (json_final_cb): Convert to...
1524         (json_flush_to_file): ...this, ...
1525         (json_stderr_final_cb): ...this, and...
1526         (json_file_final_cb): ...this.
1527         (diagnostic_output_format_init): Move to diagnostic.cc.
1528         (json_output_base_file_name): New.
1529         (diagnostic_output_format_init_json): New.
1530         (diagnostic_output_format_init_json_stderr): New.
1531         (diagnostic_output_format_init_json_file): New.
1532         * diagnostic.cc (diagnostic_output_format_init): Move here from
1533         diagnostic-format-json.cc; update for changes to enum.
1534         * diagnostic.h (enum diagnostics_output_format): Rename
1535         DIAGNOSTICS_OUTPUT_FORMAT_JSON to
1536         DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
1537         DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
1538         (diagnostic_output_format_init): Add base_file_name param.
1539         (diagnostic_output_format_init_json_stderr): New decl.
1540         (diagnostic_output_format_init_json_file): New dec.
1541         * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
1542         "json-file".  Rewrite so that the existing "json" is a synonym of
1543         "json-stderr".
1544         * gcc.cc (driver_handle_option): Pass dump_base_name to
1545         diagnostic_output_format_init.
1546         * opts.cc (common_handle_option): Likewise.
1548 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
1550         * json.cc (string::print): Fix escaping of '\'.
1552 2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>
1554         * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
1555         (-1 << 31) for the single-bit case, when operating on (1 << 31)
1556         in SImode.
1557         * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
1558         any single-bit value, moving the special case for (1 << 31) to
1559         riscv_build_integer_1 (in riscv.c).
1561 2022-06-02  Roger Sayle  <roger@nextmovesoftware.com>
1563         PR target/105791
1564         * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
1565         (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
1567 2022-06-02  Jakub Jelinek  <jakub@redhat.com>
1569         PR target/105778
1570         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
1571         from AND and its operands and just verify operands[2] has HImode,
1572         SImode or for TARGET_64BIT DImode.  Allow operands[3] to be a mask
1573         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
1574         just throw away the masking.  Use force_reg before calling
1575         gen_lowpart.
1576         (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
1577         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
1578         just throw away the masking.
1579         (*ashl<mode>3_doubleword): Rename to ...
1580         (ashl<mode>3_doubleword): ... this.
1581         (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
1582         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
1583         Use force_reg before calling gen_lowpart.
1584         (*<insn><mode>3_mask): Likewise.
1585         (*<insn><dwi>3_doubleword_mask): Likewise.  Allow operands[3] to be
1586         a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
1587         case just throw away the masking.  Use force_reg before calling
1588         gen_lowpart.
1589         (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
1590         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
1591         throw away the masking.
1592         (*<insn><mode>3_doubleword): Rename to ...
1593         (<insn><mode>3_doubleword): ... this.
1594         (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
1595         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
1596         Use force_reg before calling gen_lowpart.
1597         (splitter after it): Remove :SI from AND and its operands and just
1598         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
1599         (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
1600         operands and just verify operands[1] has HImode, SImode or for
1601         TARGET_64BIT DImode.  Use force_reg before calling gen_lowpart.
1602         (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
1603         * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
1604         ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
1606 2022-06-02  Richard Biener  <rguenther@suse.de>
1608         PR tree-optimization/101668
1609         * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
1610         for vector types with compatible lane types.
1611         (vect_build_slp_tree_2): Deal with this.
1612         (vect_add_slp_permutation): Adjust.  Emit lowpart/concat
1613         special cases without VEC_PERM.
1614         (vectorizable_slp_permutation): Select the operand vector
1615         type and relax requirements.  Handle identity permutes
1616         with mismatching operand types.
1617         * optabs-query.cc (can_vec_perm_const_p): Only allow variable
1618         permutes for op_mode == mode.
1620 2022-06-02  Richard Biener  <rguenther@suse.de>
1622         PR tree-optimization/105802
1623         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
1624         Make sure to also compute the range in the type of the switch index.
1626 2022-06-01  David Seifert  <soap@gentoo.org>
1628         PR plugins/95648
1629         * configure: Regenerate.
1631 2022-06-01  H.J. Lu  <hjl.tools@gmail.com>
1633         PR rtl-optimization/105638
1634         * df-core.cc (df_find_single_def_src): Moved and renamed from
1635         find_single_def_src in loop-iv.cc.  Change the argument to rtx
1636         and use rtx_equal_p.  Return null for partial or conditional
1637         defs.
1638         * df.h (df_find_single_def_src): New prototype.
1639         * dse.cc (record_store): Use the constant source if the source
1640         register is set only once.
1641         * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
1642         (replace_single_def_regs): Replace find_single_def_src with
1643         df_find_single_def_src.
1645 2022-06-01  Wilco Dijkstra  <wilco.dijkstra@arm.com>
1647         * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
1648         selected_tune.
1649         (explicit_arch): Rename to selected_arch.
1650         (x_aarch64_override_tune_string): Remove.
1651         (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
1652         (aarch64_override_tune_string): Add Save so it gets saved/restored.
1653         * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
1654         * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
1655         (processor): Remove archtecture_version field.
1656         (selected_arch): Remove global.
1657         (selected_cpu): Remove global.
1658         (selected_tune): Remove global.
1659         (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
1660         (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
1661         (aarch64_override_options): Further simplify code to only set
1662         selected_arch and selected_tune globals.
1663         (aarch64_option_save): Remove now that target options are saved.
1664         (aarch64_option_restore): Remove redundant target option restores.
1665         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
1666         AARCH64_ISA_V9.
1667         * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
1668         * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
1669         (aarch64_ra_sign_key): Remove.
1671 2022-06-01  Jakub Jelinek  <jakub@redhat.com>
1673         PR middle-end/30314
1674         * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
1675         x > ~(utype)0 / cst): New simplification.
1677 2022-06-01  Richard Biener  <rguenther@suse.de>
1679         PR tree-optimization/105786
1680         * tree-loop-distribution.cc
1681         (loop_distribution::transform_reduction_loop): Only do strlen
1682         replacement for integer type reductions.
1684 2022-06-01  Jakub Jelinek  <jakub@redhat.com>
1686         PR tree-optimization/105770
1687         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
1688         CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
1690 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
1692         * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
1693         (sbr_vector::sbr_vector): Same.
1694         (sbr_vector::grow): Same.
1695         (sbr_vector::set_bb_range): Same.
1696         (sbr_vector::get_bb_range): Same.
1697         (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
1698         (sbr_sparse_bitmap::set_bb_range): Same.
1699         (sbr_sparse_bitmap::get_bb_range): Same.
1700         (block_range_cache::set_bb_range): Same.
1701         (block_range_cache::get_bb_range): Same.
1702         (block_range_cache::dump): Same.
1703         (ssa_global_cache::get_global_range): Same.
1704         (ssa_global_cache::set_global_range): Same.
1705         (ssa_global_cache::clear): Same.
1706         (ssa_global_cache::dump): Same.
1707         (ranger_cache::get_global_range): Same.
1708         (ranger_cache::set_global_range): Same.
1709         (ranger_cache::range_of_def): Same.
1710         (ranger_cache::entry_range): Same.
1711         (ranger_cache::exit_range): Same.
1712         (ranger_cache::edge_range): Same.
1713         (ranger_cache::range_of_expr): Same.
1714         (ranger_cache::range_on_edge): Same.
1715         (ranger_cache::block_range): Same.
1716         (ranger_cache::propagate_cache): Same.
1717         (ranger_cache::fill_block_cache): Same.
1718         (ranger_cache::range_from_dom): Same.
1719         * gimple-range-cache.h: Same.
1720         * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
1721         Same.
1722         (gimple_outgoing_range::switch_edge_range): Same.
1723         (gimple_outgoing_range::edge_range_p): Same.
1724         * gimple-range-edge.h: Same.
1725         * gimple-range-fold.cc (fur_source::get_operand): Same.
1726         (fur_source::get_phi_operand): Same.
1727         (fur_edge::get_operand): Same.
1728         (fur_edge::get_phi_operand): Same.
1729         (fur_stmt::get_operand): Same.
1730         (fur_stmt::get_phi_operand): Same.
1731         (fur_list::fur_list): Same.
1732         (fur_list::get_operand): Same.
1733         (fur_list::get_phi_operand): Same.
1734         (fold_range): Same.
1735         (adjust_imagpart_expr): Same.
1736         (adjust_realpart_expr): Same.
1737         (gimple_range_adjustment): Same.
1738         (fold_using_range::fold_stmt): Same.
1739         (fold_using_range::range_of_range_op): Same.
1740         (fold_using_range::range_of_address): Same.
1741         (fold_using_range::range_of_phi): Same.
1742         (fold_using_range::range_of_call): Same.
1743         (fold_using_range::range_of_builtin_call): Same.
1744         (fold_using_range::range_of_builtin_int_call): Same.
1745         (fold_using_range::range_of_cond_expr): Same.
1746         (fur_source::register_outgoing_edges): Same.
1747         * gimple-range-fold.h (fold_range): Same.
1748         (gimple_range_type): Same.
1749         (gimple_range_ssa_p): Same.
1750         * gimple-range-gori.cc (gimple_range_calc_op1): Same.
1751         (gimple_range_calc_op2): Same.
1752         (gori_compute::compute_operand_range_switch): Same.
1753         (gori_compute::compute_operand_range): Same.
1754         (gori_compute::logical_combine): Same.
1755         (gori_compute::compute_logical_operands): Same.
1756         (gori_compute::compute_operand1_range): Same.
1757         (gori_compute::compute_operand2_range): Same.
1758         (gori_compute::compute_operand1_and_operand2_range): Same.
1759         (gori_compute::outgoing_edge_range_p): Same.
1760         (gori_compute::condexpr_adjust): Same.
1761         * gimple-range-gori.h (gimple_range_calc_op1): Same.
1762         (gimple_range_calc_op2): Same.
1763         * gimple-range-path.cc (path_range_query::get_cache): Same.
1764         (path_range_query::set_cache): Same.
1765         (path_range_query::range_on_path_entry): Same.
1766         (path_range_query::internal_range_of_expr): Same.
1767         (path_range_query::range_of_expr): Same.
1768         (path_range_query::ssa_range_in_phi): Same.
1769         (path_range_query::range_defined_in_block): Same.
1770         (path_range_query::compute_ranges_in_phis): Same.
1771         (path_range_query::compute_ranges_in_block): Same.
1772         (path_range_query::add_to_imports): Same.
1773         (path_range_query::range_of_stmt): Same.
1774         * gimple-range-path.h: Same.
1775         * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
1776         (gimple_infer_range::~side_effect_manager): Same.
1777         (gimple_infer_range::get_nonzero): Same.
1778         (gimple_infer_range::maybe_adjust_range): Same.
1779         (gimple_infer_range::add_range): Same.
1780         * gimple-range-infer.h: Same.
1781         * gimple-range-tests.cc: Same.
1782         * gimple-range-trace.cc (range_tracer::trailer): Same.
1783         (debug_seed_ranger): Same.
1784         * gimple-range-trace.h: Same.
1785         * gimple-range.cc (gimple_ranger::range_of_expr): Same.
1786         (gimple_ranger::range_on_entry): Same.
1787         (gimple_ranger::range_on_exit): Same.
1788         (gimple_ranger::range_on_edge): Same.
1789         (gimple_ranger::fold_range_internal): Same.
1790         (gimple_ranger::range_of_stmt): Same.
1791         (gimple_ranger::prefill_name): Same.
1792         (gimple_ranger::prefill_stmt_dependencies): Same.
1793         (gimple_ranger::export_global_ranges): Same.
1794         (gimple_ranger::dump_bb): Same.
1795         * gimple-range.h: Same.
1796         * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
1797         (memmodel_to_uhwi): Same.
1798         * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
1799         (determine_value_range): Same.
1800         (record_nonwrapping_iv): Same.
1801         (infer_loop_bounds_from_signedness): Same.
1802         (scev_var_range_cant_overflow): Same.
1803         * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
1804         * value-query.cc (range_query::range_on_edge): Same.
1805         (range_query::range_of_stmt): Same.
1806         (range_query::value_of_expr): Same.
1807         (range_query::value_on_edge): Same.
1808         (range_query::value_of_stmt): Same.
1809         (range_query::get_tree_range): Same.
1810         (update_global_range): Same.
1811         (get_range_global): Same.
1812         (gimple_range_global): Same.
1813         (global_range_query::range_of_expr): Same.
1814         (range_query::query_relation): Same.
1815         * value-query.h (gimple_range_global): Same.
1816         (update_global_range): Same.
1817         * vr-values.cc (vr_values::range_of_expr): Same.
1818         (bounds_of_var_in_loop): Same.
1819         (simplify_using_ranges::vrp_visit_cond_stmt): Same.
1820         * vr-values.h (class vr_values): Same.
1821         * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
1823 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
1825         * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
1826         vrange allocator.
1827         (sbr_vector::grow): Same.
1828         (sbr_vector::set_bb_range): Same.
1829         (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
1830         (sbr_sparse_bitmap::set_bb_range): Same.
1831         (block_range_cache::~block_range_cache): Same.
1832         (block_range_cache::set_bb_range): Same.
1833         (ssa_global_cache::ssa_global_cache): Same.
1834         (ssa_global_cache::~ssa_global_cache): Same.
1835         (ssa_global_cache::set_global_range): Same.
1836         * gimple-range-cache.h (block_range_cache): Same.
1837         (ssa_global_cache): Same.
1838         * gimple-range-edge.cc
1839         (gimple_outgoing_range::calc_switch_ranges): Same.
1840         * gimple-range-edge.h (gimple_outgoing_range): Same.
1841         * gimple-range-infer.cc (infer_range_manager::get_nonzero):
1842         Same.
1843         (infer_range_manager::add_range): Same.
1844         * gimple-range-infer.h (class infer_range_manager): Same.
1845         * value-range.h (class irange_allocator): Rename to...
1846         (class vrange_allocator): ...this.
1847         (irange_allocator::irange_allocator): New.
1848         (vrange_allocator::vrange_allocator): New.
1849         (irange_allocator::~irange_allocator): New.
1850         (vrange_allocator::~vrange_allocator): New.
1851         (irange_allocator::get_memory): Rename to...
1852         (vrange_allocator::alloc): ...this.
1853         (vrange_allocator::alloc_vrange): Rename from...
1854         (irange_allocator::allocate): ...this.
1855         (vrange_allocator::alloc_irange): New.
1857 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
1859         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
1860         vrange and convert range_op_handler function calls to use the
1861         identically named object.
1862         * gimple-range-fold.cc (gimple_range_operand1): Same.
1863         (gimple_range_operand2): Same.
1864         (fold_using_range::fold_stmt): Same.
1865         (fold_using_range::range_of_range_op): Same.
1866         (fold_using_range::range_of_builtin_ubsan_call): Same.
1867         (fold_using_range::relation_fold_and_or): Same.
1868         (fur_source::register_outgoing_edges): Same.
1869         * gimple-range-fold.h (gimple_range_handler): Remove.
1870         * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
1871         (gimple_range_calc_op2): Same.
1872         (range_def_chain::get_def_chain): Same.
1873         (gori_compute::compute_operand_range): Same.
1874         (gori_compute::condexpr_adjust): Same.
1875         * gimple-range.cc (gimple_ranger::prefill_name): Same.
1876         (gimple_ranger::prefill_stmt_dependencies): Same.
1877         * range-op.cc (get_bool_state): Same.
1878         (class operator_equal): Add using clause.
1879         (class operator_not_equal): Same.
1880         (class operator_lt): Same.
1881         (class operator_le): Same.
1882         (class operator_gt): Same.
1883         (class operator_ge): Same.
1884         (class operator_plus): Same.
1885         (class operator_minus): Same.
1886         (class operator_mult): Same.
1887         (class operator_exact_divide): Same.
1888         (class operator_lshift): Same.
1889         (class operator_rshift): Same.
1890         (class operator_cast): Same.
1891         (class operator_logical_and): Same.
1892         (class operator_bitwise_and): Same.
1893         (class operator_logical_or): Same.
1894         (class operator_bitwise_or): Same.
1895         (class operator_bitwise_xor): Same.
1896         (class operator_trunc_mod): Same.
1897         (class operator_logical_not): Same.
1898         (class operator_bitwise_not): Same.
1899         (class operator_cst): Same.
1900         (class operator_identity): Same.
1901         (class operator_unknown): Same.
1902         (class operator_abs): Same.
1903         (class operator_negate): Same.
1904         (class operator_addr_expr): Same.
1905         (class pointer_or_operator): Same.
1906         (operator_plus::op1_range): Adjust for vrange.
1907         (operator_minus::op1_range): Same.
1908         (operator_mult::op1_range): Same.
1909         (operator_cast::op1_range): Same.
1910         (operator_bitwise_not::fold_range): Same.
1911         (operator_negate::fold_range): Same.
1912         (range_op_handler): Rename to...
1913         (get_handler): ...this.
1914         (range_op_handler::range_op_handler): New.
1915         (range_op_handler::fold_range): New.
1916         (range_op_handler::op1_range): New.
1917         (range_op_handler::op2_range): New.
1918         (range_op_handler::lhs_op1_relation): New.
1919         (range_op_handler::lhs_op2_relation): New.
1920         (range_op_handler::op1_op2_relation): New.
1921         (range_cast): Adjust for vrange.
1922         * range-op.h (range_op_handler): Remove function.
1923         (range_cast): Adjust for vrange.
1924         (class range_op_handler): New.
1925         (get_bool_state): Adjust for vrange.
1926         (empty_range_varying): Same.
1927         (relop_early_resolve): Same.
1928         * tree-data-ref.cc (compute_distributive_range): Same.
1929         * tree-vrp.cc (get_range_op_handler): Remove.
1930         (range_fold_binary_symbolics_p): Use range_op_handler class
1931         instead of get_range_op_handler.
1932         (range_fold_unary_symbolics_p): Same.
1933         (range_fold_binary_expr): Same.
1934         (range_fold_unary_expr): Same.
1935         * value-query.cc (range_query::get_tree_range): Adjust for vrange.
1937 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
1939         * gimple-range-fold.h (gimple_range_type): Check type before
1940         calling supports_type_p.
1941         * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
1942         * value-query.cc (range_query::get_tree_range): Same.
1943         * value-range.cc (Value_Range::lower_bound): New.
1944         (Value_Range::upper_bound): New.
1945         (Value_Range::dump): New.
1946         * value-range.h (class Value_Range): New.
1947         (irange::supports_type_p): Do not check if type is non-zero.
1949 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
1951         * value-range-equiv.cc (value_range_equiv::set): New.
1952         * value-range-equiv.h (class value_range_equiv): Make set method
1953         virtual.
1954         Remove default bitmap argument from set method.
1955         * value-range.cc (vrange::contains_p): New.
1956         (vrange::singleton_p): New.
1957         (vrange::operator=): New.
1958         (vrange::operator==): New.
1959         (irange::fits_p): Move to .cc file.
1960         (irange::set_nonnegative): New.
1961         (unsupported_range::unsupported_range): New.
1962         (unsupported_range::set): New.
1963         (unsupported_range::type): New.
1964         (unsupported_range::set_undefined): New.
1965         (unsupported_range::set_varying): New.
1966         (unsupported_range::dump): New.
1967         (unsupported_range::union_): New.
1968         (unsupported_range::intersect): New.
1969         (unsupported_range::zero_p): New.
1970         (unsupported_range::nonzero_p): New.
1971         (unsupported_range::set_nonzero): New.
1972         (unsupported_range::set_zero): New.
1973         (unsupported_range::set_nonnegative): New.
1974         (unsupported_range::fits_p): New.
1975         (irange::set): Call irange::set_undefined.
1976         (irange::verify_range): Check discriminator field.
1977         (irange::dump): Dump [irange] marker.
1978         (irange::debug): Move to...
1979         (vrange::debug): ...here.
1980         (dump_value_range): Accept vrange.
1981         (debug): Same.
1982         * value-range.h (enum value_range_discriminator): New.
1983         (class vrange): New.
1984         (class unsupported_range): New.
1985         (struct vrange_traits): New.
1986         (is_a): New.
1987         (as_a): New.
1988         (class irange): Inherit from vrange.
1989         (dump_value_range): Adjust for vrange.
1990         (irange::kind): Rename to...
1991         (vrange::kind): ...this.
1992         (irange::varying_p): Rename to...
1993         (vrange::varying_p): ...this.
1994         (irange::undefined_p): Rename to...
1995         (vrange::undefined_p): ...this.
1996         (irange::irange): Set discriminator.
1997         (irange::union_): Convert to irange before passing to irange
1998         method.
1999         (irange::intersect): Same.
2000         (vrange::supports_type_p): New.
2001         * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
2002         NULL bitmap argument to value_range_equiv::set.
2003         (vr_values::extract_range_basic): Same.
2005 2022-06-01  Richard Biener  <rguenther@suse.de>
2007         PR tree-optimization/105763
2008         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
2009         Check gimple_range_ssa_p.
2011 2022-05-31  Jason Merrill  <jason@redhat.com>
2013         * Makefile.in (TAGS): Look at libcpp/*.cc.
2015 2022-05-31  Christophe Lyon  <christophe.lyon@arm.com>
2017         * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
2018         Prefix mode names with E_.
2020 2022-05-31  Alan Modra  <amodra@gmail.com>
2022         * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
2023         spelling of DW_AT_namelist_item.
2025 2022-05-31  Jakub Jelinek  <jakub@redhat.com>
2027         * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
2028         allow var to be private in the outer context.
2029         (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
2030         to build_outer_var_ref.
2032 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
2034         * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
2035         tieable with DImode on TARGET_64BIT, and SCmode tieable with
2036         V2SFmode, and DCmode with V2DFmode.
2038 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
2040         PR rtl-optimization/101617
2041         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
2042         special case (indicated by negate_cc_compare_p) to generate a
2043         -1/0 mask using neg;sbb.
2044         * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
2045         to generate an *x86_neg<mode>_ccc instruction.
2046         (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
2047         generate a *x86_mov<mode>cc_0_m1_neg instruction.
2049 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
2051         * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
2052         SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
2053         <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
2055 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
2057         PR target/70321
2058         * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
2059         DI mode equality/inequality using XOR here.  Instead generate a
2060         COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
2061         * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
2062         gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
2063         (general_scalar_chain::convert_compare): New function to convert
2064         scalar equality/inequality comparison into vector operations.
2065         (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
2066         new convert_compare helper method.
2067         (convertible_comparion_p): Update to match doubleword COMPARE
2068         of two register, memory or integer constant operands.
2069         * config/i386/i386-features.h (general_scalar_chain::convert_compare):
2070         Prototype/declare member function here.
2071         * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
2072         only allow new doubleword modes for EQ and NE operators.
2073         (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
2074         doubleword comparison into a pair of XORs followed by an IOR to
2075         set the (zero) flags register, optimizing the XORs if possible.
2076         * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
2077         iterator; V_AVX is (currently) only used by ptest.
2078         (sse4_1 mode attribute): Update to support V1TI and V2TI.
2080 2022-05-30  Uroš Bizjak  <ubizjak@gmail.com>
2082         * config/i386/i386.md: Remove constraints when used with
2083         const_int_operand, const0_operand, const_1_operand, constm1_operand,
2084         const8_operand, const128_operand, const248_operand, const123_operand,
2085         const2367_operand, const1248_operand, const359_operand,
2086         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
2087         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
2088         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
2089         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
2090         const_0_to_255_mul_8_operand, const_1_to_31_operand,
2091         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
2092         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
2093         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
2094         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
2095         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
2096         const_24_to_27_operand and const_28_to_31_operand.
2097         * config/i386/mmx.md: Ditto.
2098         * config/i386/sse.md: Ditto.
2099         * config/i386/subst.md: Ditto.
2100         * config/i386/sync.md: Ditto.
2102 2022-05-30  Jan Beulich  <jbeulich@suse.com>
2104         * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
2105         arguments.
2107 2022-05-30  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
2109         * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
2111 2022-05-29  Iain Sandoe  <iain@sandoe.co.uk>
2113         PR target/105599
2114         * config/darwin.h: Move versions-specific handling of multiply_defined
2115         from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
2117 2022-05-29  Eric Gallager  <egallager@gcc.gnu.org>
2119         PR other/82383
2120         * doc/sourcebuild.texi: Add entries for the c++tools,
2121         gotools, libbacktrace, libcc1, libcody, liboffloadmic,
2122         and libsanitizer directories. Remove entry for boehm-gc.
2123         Fix alphabetization for libquadmath.
2125 2022-05-28  Joel Holdsworth  <jholdsworth@nvidia.com>
2127         * config/avr/avr-mcus.def: Add device definitions.
2128         * doc/avr-mmcu.texi: Corresponding changes.
2129         * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
2130         device prefix.
2131         * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
2132         from leaking into cc1.
2134 2022-05-28  Vladimir Makarov  <vmakarov@gcc.gnu.org>
2136         PR target/103722
2137         * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
2138         is special) for various scenarios.
2140 2022-05-28  Iain Sandoe  <iain@sandoe.co.uk>
2142         * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
2143         describing this macro.
2145 2022-05-27  Richard Biener  <rguenther@suse.de>
2147         * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
2149 2022-05-27  Martin Jambor  <mjambor@suse.cz>
2151         PR ipa/105639
2152         * ipa-prop.cc (propagate_controlled_uses): Check type of the
2153         constant before adding a LOAD reference.
2155 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
2157         * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
2158         to OMP_CLAUSE_ENTER.
2159         * tree.h (OMP_CLAUSE_ENTER_TO): Define.
2160         * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
2161         OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
2162         * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
2163         instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
2164         "to" instead of "enter".
2165         * tree-nested.cc (convert_nonlocal_omp_clauses,
2166         convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
2167         OMP_CLAUSE_TO_DECLARE.
2169 2022-05-27  Richard Biener  <rguenther@suse.de>
2171         PR tree-optimization/105726
2172         * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
2173         Constrain array-of-flexarray case more.
2175 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
2177         PR sanitizer/105729
2178         * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
2179         to (X &) z + w if -fsanitize=null during GENERIC folding.
2181 2022-05-27  Roger Sayle  <roger@nextmovesoftware.com>
2183         * match.pd (match_zero_one_valued_p): New predicate.
2184         (mult @0 @1): Use zero_one_valued_p for optimization to the
2185         expression "bit_and @0 @1".
2186         (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
2187         (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
2188         (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
2189         (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
2190         Remove three redundant transforms obsoleted by the three above.
2192 2022-05-27  Roger Sayle  <roger@nextmovesoftware.com>
2194         * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
2195         to split a combined "and;cmp" sequence into "not;test".
2197 2022-05-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
2199         * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
2200         (bswapsi2_internal): Revise the template and condition, and add
2201         detection code for preceding the same insn in order to omit a
2202         "SSAI 8" instruction of the latter.
2203         (bswapdi2): Suppress built-in insn expansion with the corresponding
2204         library call when optimizing for size.
2206 2022-05-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
2208         * config/xtensa/xtensa-protos.h
2209         (xtensa_expand_block_set_unrolled_loop,
2210         xtensa_expand_block_set_small_loop): New prototypes.
2211         * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
2212         xtensa_expand_block_set_unrolled_loop,
2213         xtensa_expand_block_set_small_loop): New functions.
2214         * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
2215         * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
2217 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
2219         * config/xtensa/xtensa.cc (xtensa_expand_block_move):
2220         Make instruction counting more accurate, and simplify emitting insns.
2222 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
2224         * config/xtensa/constraints.md (M, O): Use the macro.
2225         * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
2226         sext_fldsz_operand): Ditto.
2227         * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
2228         xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
2229         xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
2230         xtensa_expand_prologue): Ditto.
2231         * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
2233 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
2235         * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
2236         * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
2237         Ditto.
2239 2022-05-25  Andrew MacLeod  <amacleod@redhat.com>
2241         * gimple-range-cache.cc: Adjust comments.
2242         * gimple-range-infer.cc: Adjust comments.
2243         * gimple-range-infer.h: Adjust comments.
2244         * gimple-range.cc: Adjust comments.
2246 2022-05-25  Andrew MacLeod  <amacleod@redhat.com>
2248         * Makefile.in (OBJS): Use gimple-range-infer.o.
2249         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
2250         (ranger_cache::range_from_dom): Rename var side_effect to infer.
2251         (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
2252         * gimple-range-cache.h: Include gimple-range-infer.h.
2253         (class ranger_cache): Adjust prototypes, use infer_range_manager.
2254         * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
2255         (gimple_infer_range::*): Rename from stmt_side_effects.
2256         (infer_range_manager::*): Rename from side_effect_manager.
2257         * gimple-range-side-effect.cc: Rename.
2258         * gimple-range-side-effect.h: Rename.
2259         * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
2260         (class gimple_infer_range): Rename from stmt_side_effects.
2261         (class infer_range_manager): Rename from side_effect_manager.
2262         * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
2263         from register_side_effects.
2264         * gimple-range.h (register_inferred_ranges): Adjust prototype.
2265         * range-op.h: Adjust comment.
2266         * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
2267         (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
2269 2022-05-25  Simon Cook  <simon.cook@embecosm.com>
2271         * config/riscv/arch-canonicalize: Only add mafd extension if
2272         base was rv32/rv64g.
2274 2022-05-25  Tobias Burnus  <tobias@codesourcery.com>
2276         * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
2278 2022-05-25  Jakub Jelinek  <jakub@redhat.com>
2280         PR sanitizer/105714
2281         * asan.cc (has_stmt_been_instrumented_p): For assignments which
2282         are both stores and loads, return true only if both destination
2283         and source have been instrumented.
2285 2022-05-25  Martin Liska  <mliska@suse.cz>
2286             Richard Biener   <rguenther@suse.de>
2288         * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
2289         * params.opt (max-unswitch-level): Remove.
2290         * doc/invoke.texi (max-unswitch-level): Likewise.
2291         * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
2292         gimplified expressions.
2293         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
2294         (tree_may_unswitch_on): Rename to ...
2295         (find_unswitching_predicates_for_bb): ... this and handle
2296         switch statements.
2297         (get_predicates_for_bb): Likewise.
2298         (set_predicates_for_bb): Likewise.
2299         (init_loop_unswitch_info): Likewise.
2300         (tree_ssa_unswitch_loops): Prepare stuff before calling
2301         tree_unswitch_single_loop.
2302         (tree_unswitch_single_loop): Rework the function using
2303         pre-computed predicates and with a per original loop cost model.
2304         (merge_last): New.
2305         (add_predicate_to_path): Likewise.
2306         (find_range_for_lhs): Likewise.
2307         (simplify_using_entry_checks): Rename to ...
2308         (evaluate_control_stmt_using_entry_checks): ... this, handle
2309         switch statements and improve simplifications using ranger.
2310         (simplify_loop_version): Rework using
2311         evaluate_control_stmt_using_entry_checks.
2312         (evaluate_bbs): New.
2313         (evaluate_loop_insns_for_predicate): Likewise.
2314         (tree_unswitch_loop): Adjust to allow switch statements and
2315         pass in the edge to unswitch.
2316         (clean_up_after_unswitching): New.
2317         (pass_tree_unswitch::execute): Pass down fun.
2319 2022-05-24  Eugene Rozenfeld  <erozen@microsoft.com>
2321         * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
2322         counts for the epilog loop.
2324 2022-05-24  Martin Sebor  <msebor@redhat.com>
2325             Richard Biener  <rguenther@suse.de>
2327         PR middle-end/105604
2328         * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
2329         (get_origin_and_offset_r): Remove null handling.  Handle variable array
2330         sizes.
2331         (get_origin_and_offset): Handle null argument here.  Simplify.
2332         (alias_offset): Update comment.
2333         * pointer-query.cc (field_at_offset): Update comment.  Handle members
2334         of variable-length types.
2336 2022-05-24  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
2338         * target.def (vec_perm_const): Define new parameter op_mode and
2339         update doc.
2340         * doc/tm.texi: Regenerate.
2341         * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
2342         vec_perm_const hook to add new parameter op_mode and return false
2343         if result and operand modes do not match.
2344         * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
2345         * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
2346         * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
2347         * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
2348         * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
2349         * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
2350         * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
2351         * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
2352         * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
2353         prototype.
2354         * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
2355         (ashrv2di3): Likewise.
2356         * optabs.cc (expand_vec_perm_const): Likewise.
2357         * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
2358         * optabs-query.cc (can_vec_perm_const_p): Define new parameter
2359         op_mode and pass it to vec_perm_const hook.
2360         (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
2361         * match.pd (vec_perm X Y CST): Likewise.
2362         * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
2363         * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
2364         (vect_grouped_load_supported): Likewise.
2365         (vect_shift_permute_load_chain): Likewise.
2366         * tree-vect-generic.cc (lower_vec_perm): Likewise.
2367         * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
2368         * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
2369         * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
2370         * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
2371         (vect_transform_slp_perm_load): Likewise.
2372         (vectorizable_slp_permutation): Likewise.
2373         * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
2374         (vectorizable_bswap): Likewise.
2375         (scan_store_can_perm_p): Likewise.
2376         (vect_gen_perm_mask_checked): Likewise.
2378 2022-05-24  H.J. Lu  <hjl.tools@gmail.com>
2380         PR target/104816
2381         * config/i386/i386.opt: Remove Undocumented.
2382         * doc/invoke.texi: Document -mcet-switch.
2384 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
2386         * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
2387         * config/gcn/gcn-opts.h (enum gcn_isa): New.
2388         (TARGET_GCN3): Use enum gcn_isa.
2389         (TARGET_GCN3_PLUS): Likewise.
2390         (TARGET_GCN5): Likewise.
2391         (TARGET_GCN5_PLUS): Likewise.
2392         (TARGET_CDNA1): New.
2393         (TARGET_CDNA1_PLUS): New.
2394         (TARGET_CDNA2): New.
2395         (TARGET_CDNA2_PLUS): New.
2396         (TARGET_M0_LDS_LIMIT): New.
2397         (TARGET_PACKED_WORK_ITEMS): New.
2398         * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
2399         (gcn_option_override): Recognise CDNA ISA variants.
2400         (gcn_omp_device_kind_arch_isa): Support gfx90a.
2401         (gcn_expand_prologue): Make m0 init optional.
2402         Add support for packed work items.
2403         (output_file_start): Support gfx90a.
2404         (gcn_hsa_declare_function_name): Support gfx90a metadata.
2405         * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
2406         __CDNA2__.
2407         * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
2408         (<su>mulsi3_highpart_imm): Likewise.
2409         (<su>mulsidi3): Likewise.
2410         (<su>mulsidi3_imm): Likewise.
2411         * config/gcn/gcn.opt (gpu_type): Add gfx90a.
2412         * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
2413         (main): Support gfx90a.
2414         * config/gcn/t-gcn-hsa: Add gfx90a multilib.
2415         * config/gcn/t-omp-device: Add gfx90a isa.
2417 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
2419         * config.in: Regenerate.
2420         * config/gcn/gcn-hsa.h (X_FIJI): Delete.
2421         (X_900): Delete.
2422         (X_906): Delete.
2423         (X_908): Delete.
2424         (S_FIJI): Delete.
2425         (S_900): Delete.
2426         (S_906): Delete.
2427         (S_908): Delete.
2428         (NO_XNACK): New macro.
2429         (NO_SRAM_ECC): New macro.
2430         (SRAMOPT): Keep only v4 variant.
2431         (HSACO3_SELECT_OPT): Delete.
2432         (DRIVER_SELF_SPECS): Delete.
2433         (ASM_SPEC): Remove LLVM 9 support.
2434         * config/gcn/gcn-valu.md
2435         (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
2436         (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
2437         * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
2438         (print_operand_address): Remove assembler bug workaround.
2439         * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
2440         (EF_AMDGPU_SRAM_ECC_V3): Delete.
2441         (SET_XNACK_ON): Delete v3 variants.
2442         (SET_XNACK_OFF): Delete v3 variants.
2443         (TEST_XNACK): Delete v3 variants.
2444         (SET_SRAM_ECC_ON): Delete v3 variants.
2445         (SET_SRAM_ECC_ANY): Delete v3 variants.
2446         (SET_SRAM_ECC_OFF): Delete v3 variants.
2447         (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
2448         (TEST_SRAM_ECC_ANY): Delete v3 variants.
2449         (TEST_SRAM_ECC_ON): Delete v3 variants.
2450         (copy_early_debug_info): Remove v3 support.
2451         (main): Remove v3 support.
2452         * configure: Regenerate.
2453         * configure.ac: Replace all GCN feature checks with a version check.
2455 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
2457         * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
2458         i.e. a double word negation of a zero extended operand, to
2459         neg;sbb.
2461 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
2463         PR tree-optimization/105668
2464         * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
2465         V1TImode, just like V2DImode.
2466         * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
2467         Use VI_128 mode iterator instead of VI124_128 to include V2DI.
2468         (vcond_mask_v2div2di): Delete.
2469         (vcond_mask_v1tiv1ti): New define_expand.
2471 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
2473         * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
2474         to strncmp for strings of length one.
2476 2022-05-24  ShiYulong  <shiyulong@iscas.ac.cn>
2478         * config/riscv/predicates.md (imm5_operand): Add a new operand type for
2479         prefetch instructions.
2480         * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
2481         Extensions.
2482         (RISCV_ATYPE_SI): New.
2483         (RISCV_ATYPE_DI): New.
2484         * config/riscv/riscv-ftypes.def (0): New.
2485         (1): New.
2486         * config/riscv/riscv.md (riscv_clean_<mode>): New.
2487         (riscv_flush_<mode>): New.
2488         (riscv_inval_<mode>): New.
2489         (riscv_zero_<mode>): New.
2490         (prefetch): New.
2491         (riscv_prefetchi_<mode>): New.
2492         * config/riscv/riscv-cmo.def: New file.
2494 2022-05-24  ShiYulong  <shiyulong@iscas.ac.cn>
2496         * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
2497         * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
2498         (MASK_ZICBOM): New.
2499         (MASK_ZICBOP): New.
2500         (TARGET_ZICBOZ): New.
2501         (TARGET_ZICBOM): New.
2502         (TARGET_ZICBOP): New.
2503         * config/riscv/riscv.opt (riscv_zicmo_subext): New.
2505 2022-05-24  David Malcolm  <dmalcolm@redhat.com>
2507         * tree-vect-slp-patterns.cc: Add "final" and "override" to
2508         vect_pattern::build impls as appropriate.
2510 2022-05-24  David Malcolm  <dmalcolm@redhat.com>
2512         * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
2513         implementations, removing redundant "virtual" as appropriate.
2514         * ipa-fnsummary.h: Likewise.
2515         * ipa-modref.cc: Likewise.
2516         * ipa-param-manipulation.cc: Likewise.
2517         * ipa-profile.cc: Likewise.
2518         * ipa-prop.h: Likewise.
2519         * ipa-pure-const.cc: Likewise.
2520         * ipa-reference.cc: Likewise.
2521         * ipa-sra.cc: Likewise.
2522         * symbol-summary.h: Likewise.
2523         * symtab-thunks.cc: Likewise.
2525 2022-05-24  Martin Liska  <mliska@suse.cz>
2527         Revert:
2528         2022-05-24  Martin Liska  <mliska@suse.cz>
2530         * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
2531         warning.
2533 2022-05-24  Martin Liska  <mliska@suse.cz>
2535         * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
2536         warning.
2538 2022-05-24  Bruno Haible  <bruno@clisp.org>
2540         PR other/105527
2541         * doc/install.texi (Configuration): Add more details about --with-zstd.
2542         Document --with-zstd-include and --with-zstd-lib
2544 2022-05-24  Richard Biener  <rguenther@suse.de>
2546         PR middle-end/105711
2547         * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
2548         and use it.
2549         (extract_bit_field_1): Pass down the mode of op0 to
2550         extract_bit_field_as_subreg.
2552 2022-05-24  Vineet Gupta  <vineetg@rivosinc.com>
2554         * config/riscv/riscv.cc: (struct riscv_tune_param): Add
2555           fmv_cost.
2556         (rocket_tune_info): Add default fmv_cost 8.
2557         (sifive_7_tune_info): Ditto.
2558         (thead_c906_tune_info): Ditto.
2559         (optimize_size_tune_info): Ditto.
2560         (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
2562 2022-05-24  Jakub Jelinek  <jakub@redhat.com>
2564         PR c/105378
2565         * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
2566         builtin.
2567         * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
2568         clause but no depend clauses.
2569         * omp-expand.cc (expand_taskwait_call): Use
2570         BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
2571         BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
2573 2022-05-24  Richard Biener  <rguenther@suse.de>
2575         PR tree-optimization/100221
2576         * tree-ssa-dse.cc (contains_phi_arg): New function.
2577         (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
2579 2022-05-24  Richard Biener  <rguenther@suse.de>
2581         PR tree-optimization/105629
2582         * tree-ssa-phiopt.cc (spaceship_replacement): Allow
2583         a sign-extending conversion.
2585 2022-05-24  Kewen Lin  <linkw@linux.ibm.com>
2587         PR target/105627
2588         * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
2589         be a debug insn.
2590         (union_uses): Skip debug use_insn.
2592 2022-05-23  Vineet Gupta  <vineetg@rivosinc.com>
2594         * config/riscv/predicates.md (const_0_operand): Remove
2595         const_double.
2596         * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
2597         CONST_DOUBLE.
2598         * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
2600 2022-05-23  Mayshao  <mayshao-oc@zhaoxin.com>
2602         * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
2603         the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
2604         (cpu_indicator_init): Handle Zhaoxin processors.
2605         * common/config/i386/i386-common.cc: Add lujiazui.
2606         * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
2607         VENDOR_ZHAOXIN.
2608         (enum processor_types): Add ZHAOXIN_FAM7H.
2609         (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
2610         * config.gcc: Add lujiazui.
2611         * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
2612         Signatures for zhaoxin
2613         (signature_SHANGHAI_ecx): Ditto.
2614         (signature_SHANGHAI_edx): Ditto.
2615         * config/i386/driver-i386.cc (host_detect_local_cpu): Let
2616         -march=native recognize lujiazui processors.
2617         * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
2618         * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
2619         * config/i386/i386.h (enum processor_type): Ditto.
2620         * config/i386/i386.md: Add lujiazui.
2621         * config/i386/x86-tune-costs.h (struct processor_costs): Add
2622         lujiazui costs.
2623         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
2624         (ix86_adjust_cost): Ditto.
2625         * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
2626         (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
2627         (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
2628         (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
2629         (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
2630         (X86_TUNE_MOVX): Ditto.
2631         (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
2632         (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
2633         (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
2634         (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
2635         (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
2636         (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
2637         (X86_TUNE_USE_LEAVE): Ditto.
2638         (X86_TUNE_PUSH_MEMORY): Ditto.
2639         (X86_TUNE_LCP_STALL): Ditto.
2640         (X86_TUNE_USE_INCDEC): Ditto.
2641         (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
2642         (X86_TUNE_OPT_AGU): Ditto.
2643         (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
2644         (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
2645         (X86_TUNE_USE_SAHF): Ditto.
2646         (X86_TUNE_USE_BT): Ditto.
2647         (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
2648         (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
2649         (X86_TUNE_AVOID_MFENCE): Ditto.
2650         (X86_TUNE_EXPAND_ABS): Ditto.
2651         (X86_TUNE_USE_SIMODE_FIOP): Ditto.
2652         (X86_TUNE_USE_FFREEP): Ditto.
2653         (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
2654         (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
2655         (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
2656         (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
2657         (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
2658         * doc/extend.texi: Add details about lujiazui.
2659         * doc/invoke.texi: Add details about lujiazui.
2660         * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
2662 2022-05-23  Martin Liska  <mliska@suse.cz>
2664         * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
2666 2022-05-23  Richard Biener  <rguenther@suse.de>
2668         * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
2669         (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
2671 2022-05-23  Richard Biener  <rguenther@suse.de>
2673         * gimple-expr.cc (is_gimple_condexpr): Remove.
2674         * gimple-expr.h (is_gimple_condexpr): Likewise.
2675         * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
2676         * tree-if-conv.cc (set_bb_predicate): Likewie.
2677         (add_to_predicate_list): Likewise.
2678         (gen_phi_arg_condition): Likewise.
2679         (predicate_scalar_phi): Likewise.
2680         (predicate_statements): Likewise.
2682 2022-05-23  Richard Biener  <rguenther@suse.de>
2684         * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
2685         * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
2686         as is_gimple_val.
2687         * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
2688         * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
2689         * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
2690         Build the condition of the COND_EXPR separately.
2691         * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
2692         * tree-vect-generic.cc (expand_vector_condition): Likewise.
2693         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
2694         Likewise.
2695         * vr-values.cc (simplify_using_ranges::simplify): Likewise.
2696         * tree-vect-patterns.cc: Add comment indicating we are
2697         building invalid COND_EXPRs and why.
2698         * omp-expand.cc (expand_omp_simd): Gimplify the condition
2699         to the COND_EXPR separately.
2700         (expand_omp_atomic_cas): Note part that should be unreachable
2701         now.
2702         * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
2703         condition for valid replacements.
2704         * tree-if-conv.cc (predicate_bbs): Simulate previous
2705         re-folding of the condition in folded COND_EXPRs which
2706         is necessary because of unfolded GIMPLE_CONDs in the IL
2707         as in for example gcc.dg/fold-bopcond-1.c.
2708         * gimple-range-gori.cc (gori_compute::condexpr_adjust):
2709         Handle that the comparison is now in the def stmt of
2710         the select operand.  Required by gcc.dg/pr104526.c.
2712 2022-05-23  Tobias Burnus  <tobias@codesourcery.com>
2714         PR fortran/104949
2715         * langhooks-def.h (lhd_omp_array_size): New.
2716         (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
2717         (LANG_HOOKS_DECLS): Add it.
2718         * langhooks.cc (lhd_omp_array_size): New.
2719         * langhooks.h (struct lang_hooks_for_decls): Add hook.
2720         * omp-low.cc (scan_sharing_clauses, lower_omp_target):
2721         Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
2723 2022-05-23  Roger Sayle  <roger@nextmovesoftware.com>
2725         * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
2726         XOR/IOR case.  Account for two instructions for double-word
2727         operations.  In case of vector pandn, account for single
2728         instruction.  Likewise for integer andn with TARGET_BMI.
2729         <case NOT>: Vector NOT requires more than 1 instruction (pxor).
2730         <case NEG>: Double-word negation requires 3 instructions.
2732 2022-05-23  Tsukasa OI  <research_trasio@irq.a4lg.com>
2734         * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
2735         Fix "K" extension prefix to be placed before "J".
2736         * config/riscv/arch-canonicalize: Likewise.
2738 2022-05-23  liuhongt  <hongtao.liu@intel.com>
2740         * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
2741         <-> mask cost from 5 to 6.
2742         (icelake_cost): Ditto.
2744 2022-05-20  Wilco Dijkstra  <wilco.dijkstra@arm.com>
2746         * config/aarch64/aarch64.md
2747         (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
2748         (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
2749         (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
2750         (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
2751         (one_cmpl_<optab><mode>2): Likewise.
2752         (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
2753         (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
2754         (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
2755         (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
2756         (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
2757         (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
2758         (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
2759         (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
2760         (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
2761         (rolsi3_insn_uxtw): New pattern.
2762         * config/aarch64/iterators.md (SHIFT): Add rotate left.
2763         (SHIFT_no_rotate): Add new iterator.
2764         (SHIFT:shift): Print rotate left as ror.
2765         (is_rotl): Add test for left rotate.
2767 2022-05-20  Wilco Dijkstra  <wilco.dijkstra@arm.com>
2769         * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
2770         processing.  Add support for architectural extensions.
2771         * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
2772         AARCH64_CPU_DEFAULT_FLAGS.
2773         (TARGET_CPU_NBITS): Remove.
2774         (TARGET_CPU_MASK): Remove.
2775         * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
2776         (get_tune_cpu): Assert CPU is always valid.
2777         (get_arch): Assert architecture is always valid.
2778         (aarch64_override_options): Cleanup CPU selection code and simplify logic.
2779         (aarch64_option_restore): Remove unnecessary checks on tune.
2781 2022-05-20  David Malcolm  <dmalcolm@redhat.com>
2783         * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
2784         "FINAL" and "OVERRIDE" with "final" and "override".
2785         * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
2786         * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
2787         * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
2788         * diagnostic-path.h: Likewise.
2789         * digraph.cc: Likewise.
2790         * gcc-rich-location.h: Likewise.
2791         * gimple-array-bounds.cc: Likewise.
2792         * gimple-loop-versioning.cc: Likewise.
2793         * gimple-range-cache.cc: Likewise.
2794         * gimple-range-cache.h: Likewise.
2795         * gimple-range-fold.cc: Likewise.
2796         * gimple-range-fold.h: Likewise.
2797         * gimple-range-tests.cc: Likewise.
2798         * gimple-range.h: Likewise.
2799         * gimple-ssa-evrp.cc: Likewise.
2800         * input.cc: Likewise.
2801         * json.h: Likewise.
2802         * read-rtl-function.cc: Likewise.
2803         * tree-complex.cc: Likewise.
2804         * tree-diagnostic-path.cc: Likewise.
2805         * tree-ssa-ccp.cc: Likewise.
2806         * tree-ssa-copy.cc: Likewise.
2807         * tree-vrp.cc: Likewise.
2808         * value-query.h: Likewise.
2809         * vr-values.h: Likewise.
2811 2022-05-20  Marcel Vollweiler  <marcel@codesourcery.com>
2813         * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
2814         target_memcpy_rect_async to omp_runtime_apis array.
2816 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
2818         * doc/sourcebuild.texi (Decimal floating point attributes): Document
2819         dfp_bid effective-target.
2821 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
2823         * config/aarch64/aarch64.cc
2824         (aarch64_split_128bit_move): Handle DFP modes.
2825         (aarch64_mode_valid_for_sched_fusion_p): Likewise.
2826         (aarch64_classify_address): Likewise.
2827         (aarch64_legitimize_address_displacement): Likewise.
2828         (aarch64_reinterpret_float_as_int): Likewise.
2829         (aarch64_float_const_zero_rtx_p): Likewise.
2830         (aarch64_can_const_movi_rtx_p): Likewise.
2831         (aarch64_anchor_offset): Likewise.
2832         (aarch64_secondary_reload): Likewise.
2833         (aarch64_rtx_costs): Likewise.
2834         (aarch64_legitimate_constant_p): Likewise.
2835         (aarch64_gimplify_va_arg_expr): Likewise.
2836         (aapcs_vfp_sub_candidate): Likewise.
2837         (aarch64_vfp_is_call_or_return_candidate): Likewise.
2838         (aarch64_output_scalar_simd_mov_immediate): Likewise.
2839         (aarch64_gen_adjusted_ldpstp): Likewise.
2840         (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
2841         * config/aarch64/aarch64.md
2842         (movsf_aarch64): Use SFD iterator and rename into
2843         mov<mode>_aarch64.
2844         (movdf_aarch64): Use DFD iterator and rename into
2845         mov<mode>_aarch64.
2846         (movtf_aarch64): Use TFD iterator and rename into
2847         mov<mode>_aarch64.
2848         (split pattern for move TF mode): Use TFD iterator.
2849         * config/aarch64/iterators.md
2850         (GPF_TF_F16_MOV): Add DFP modes.
2851         (SFD, DFD, TFD): New iterators.
2852         (GPF_TF): Add DFP modes.
2853         (TX, DX, DX2): Likewise.
2855 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
2857         * configure: Regenerate.
2859 2022-05-19  Roger Sayle  <roger@nextmovesoftware.com>
2861         PR middle-end/98865
2862         * expr.cc (expand_expr_real_2) [MULT_EXPR]:  Expand X*Y as X&Y
2863         when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
2864         likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
2866 2022-05-19  Will Schmidt  <will_schmidt@vnet.ibm.com>
2868         * config/rs6000/rs6000-builtins.def: Rephrase
2869         to remove RS6000_BTC_SPECIAL from comment.
2870         * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
2871         RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
2872         RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
2873         RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
2874         RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
2875         RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
2876         RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
2877         RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
2878         RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
2879         RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
2880         RS6000_BTM_ALWAYS): Delete.
2882 2022-05-19  Richard Biener  <rguenther@suse.de>
2884         * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
2885         computation of the new value.
2887 2022-05-19  Richard Biener  <rguenther@suse.de>
2889         * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
2890         (add_to_value): Use get_expression_id.
2891         (bitmap_insert_into_set): Likewise.
2892         (bitmap_value_insert_into_set): Likewise.
2894 2022-05-19  David Malcolm  <dmalcolm@redhat.com>
2896         * doc/invoke.texi (-fanalyzer-checker=): Add
2897         -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
2898         the list of analyzer warnings disabled by
2899         -fanalyzer-checker=taint.
2901 2022-05-19  Jakub Jelinek  <jakub@redhat.com>
2903         PR debug/105630
2904         * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
2905         global vars without symtab node even when they have DECL_RTL
2906         set.
2908 2022-05-19  Jakub Jelinek  <jakub@redhat.com>
2910         PR c/105635
2911         * pointer-query.cc (gimple_parm_array_size): Return NULL if var
2912         doesn't have pointer or reference type.
2914 2022-05-18  Marek Polacek  <polacek@redhat.com>
2916         PR c/105131
2917         * doc/invoke.texi: Document -Wenum-int-mismatch.
2919 2022-05-18  Uros Bizjak  <ubizjak@gmail.com>
2921         * config/i386/gnu-user-common.h (defined): Only define
2922         TARGET_CAN_SPLIT_STACK for glibc targets.
2923         * config/i386/gnu.h (defined): Ditto.
2925 2022-05-18  Roger Sayle  <roger@nextmovesoftware.com>
2927         * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
2928         is wider than word_mode, a multiplication costs three word_mode
2929         multiplications and two word_mode additions.
2931 2022-05-18  Roger Sayle  <roger@nextmovesoftware.com>
2933         * config/i386/i386.md (define_split):  Split *andsi_1
2934         and *andn_si_ccno after reload with -Oz.
2936 2022-05-18  Frederik Harwath  <frederik@codesourcery.com>
2938         * graphite-scop-detection.cc (scop_detection::can_represent_loop):
2939         Output reason for failure to dump file.
2940         (scop_detection::harmful_loop_in_region): Likewise.
2941         (scop_detection::graphite_can_represent_expr): Likewise.
2942         (scop_detection::stmt_has_simple_data_refs_p): Likewise.
2943         (scop_detection::stmt_simple_for_scop_p): Likewise.
2944         (print_sese_loop_numbers): New function.
2945         (scop_detection::add_scop): Use from here.
2947 2022-05-18  liuhongt  <hongtao.liu@intel.com>
2949         PR middle-end/103462
2950         * match.pd (bitwise_induction_p): New match.
2951         * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
2952         Declare.
2953         (analyze_and_compute_bitwise_induction_effect): New function.
2954         (enum bit_op_kind): New enum.
2955         (final_value_replacement_loop): Enhanced to handle bitwise
2956         induction.
2958 2022-05-18  Haochen Gui  <guihaoc@gcc.gnu.org>
2960         PR target/95737
2961         * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
2963 2022-05-18  liuhongt  <hongtao.liu@intel.com>
2965         PR target/104375
2966         * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
2967         define_insn.
2969 2022-05-18  liuhongt  <hongtao.liu@intel.com>
2971         PR target/104610
2972         * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
2973         for QImode when code is EQ or NE.
2974         * config/i386/i386.md (cbranchoi4): New expander.
2976 2022-05-18  Peter Bergner  <bergner@linux.ibm.com>
2977             Segher Boessenkool  <segher@kernel.crashing.org>
2979         PR target/105556
2980         * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
2981         mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
2982         mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
2983         mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
2984         Update other operands accordingly.
2986 2022-05-17  Marek Polacek  <polacek@redhat.com>
2988         * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
2990 2022-05-17  Pat Haugen  <pthaugen@linux.ibm.com>
2992         PR target/99685
2993         * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
2994         register count when not splitting IEEE 128-bit Complex.
2996 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
2998         * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
2999         target inside target if inner is reverse offload.
3001 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
3003         * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
3004         * config/nvptx/mkoffload.cc (process): Likewise.
3006 2022-05-17  Andrew MacLeod  <amacleod@redhat.com>
3008         * Makefile.in (OBJS): Add gimple-range-side-effect.o.
3009         * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
3010         (non_null_ref::~non_null_ref): Delete.
3011         (non_null_ref::set_nonnull): Delete.
3012         (non_null_ref::non_null_deref_p): Delete.
3013         (non_null_ref::process_name): Delete.
3014         (ranger_cache::ranger_cache): Initialize m_exit object.
3015         (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
3016         (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
3017         (ranger_cache::update_to_nonnull): Delete.
3018         (non_null_loadstore): Delete.
3019         (ranger_cache::block_apply_nonnull): Delete.
3020         (ranger_cache::apply_side_effects): New.
3021         * gimple-range-cache.h (class non_null_ref): Delete.
3022         (non_null_ref::adjust_range): Delete.
3023         (class ranger_cache): Adjust prototypes, add side effect manager.
3024         * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
3025         side effect manager for queries.
3026         (path_range_query::adjust_for_non_null_uses): Ditto.
3027         * gimple-range-path.h (class path_range_query): Delete non_null_ref.
3028         * gimple-range-side-effect.cc: New.
3029         * gimple-range-side-effect.h: New.
3030         * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
3031         (gimple_ranger::range_of_expr): Check def block for override value.
3032         (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
3033         (gimple_ranger::range_on_edge): Check for outgoing side-effects.
3034         (gimple_ranger::register_side_effects): Call apply_side_effects.
3035         (enable_ranger): Update contructor.
3036         * gimple-range.h (class gimple_ranger): Update prototype.
3037         (enable_ranger): Update prototype.
3038         * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
3040 2022-05-17  Giuliano Belinassi  <gbelinassi@suse.de>
3042         PR c++/105169
3043         * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
3044         * varasm.cc (switch_to_comdat_section): New
3045         (handle_vtv_comdat_section): Call switch_to_comdat_section.
3046         * varasm.h: Declare switch_to_comdat_section.
3048 2022-05-17  Richard Biener  <rguenther@suse.de>
3050         * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
3051         not clear bb->aux of the copied blocks.
3053 2022-05-17  Andrew MacLeod  <amacleod@redhat.com>
3055         PR tree-optimization/105458
3056         * value-relation.cc (path_oracle::register_relation): Merge, then check
3057         for equivalence.
3059 2022-05-17  Uroš Bizjak  <ubizjak@gmail.com>
3061         PR target/105624
3062         Revert:
3063         * config/i386/i386.md: Remove constraints when used with
3064         const_int_operand, const0_operand, const_1_operand, constm1_operand,
3065         const8_operand, const128_operand, const248_operand, const123_operand,
3066         const2367_operand, const1248_operand, const359_operand,
3067         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
3068         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
3069         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
3070         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
3071         const_0_to_255_mul_8_operand, const_1_to_31_operand,
3072         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
3073         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
3074         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
3075         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
3076         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
3077         const_24_to_27_operand and const_28_to_31_operand.
3078         * config/i386/mmx.md: Ditto.
3079         * config/i386/sse.md: Ditto.
3080         * config/i386/subst.md: Ditto.
3081         * config/i386/sync.md: Ditto.
3083 2022-05-17  Thomas Schwinge  <thomas@codesourcery.com>
3085         * diagnostic.cc: Don't advise to call 'abort' instead of
3086         'internal_error'.
3087         * system.h: Advise to call 'internal_error' instead of 'abort' or
3088         'fancy_abort'.
3090 2022-05-17  Frederik Harwath  <frederik@codesourcery.com>
3092         * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
3093         a reference to a variable which does not exist.
3094         * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
3095         in comment.
3097 2022-05-17  Frederik Harwath  <frederik@codesourcery.com>
3099         * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
3100         (isl_id_for_parameter): ... this new function name.
3101         (build_scop_context): Adjust function use.
3103 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
3105         PR target/105602
3106         * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
3107         * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
3109 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
3111         * tree-core.h (enum omp_clause_depend_kind): Add
3112         OMP_CLAUSE_DEPEND_INOUTSET.
3113         * tree-pretty-print.cc (dump_omp_clause): Handle
3114         OMP_CLAUSE_DEPEND_INOUTSET.
3115         * gimplify.cc (gimplify_omp_depend): Likewise.
3116         * omp-low.cc (lower_depend_clauses): Likewise.
3118 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
3120         PR target/105613
3121         * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
3122         andv4si3 only for EQ, for NE use iorv4si3 instead.
3124 2022-05-17  Richard Biener  <rguenther@suse.de>
3126         PR tree-optimization/105618
3127         * tree-ssa-sink.cc (statement_sink_location): For virtual
3128         PHI uses ignore those defining the used virtual operand.
3130 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
3132         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
3133         hanlde -> handle.  Fix up comment formatting.
3135 2022-05-17  liuhongt  <hongtao.liu@intel.com>
3137         PR target/105033
3138         * config/i386/sse.md (*vec_concatv4si): Extend to ..
3139         (*vec_concat<mode>): .. V16QI and V8HImode.
3140         (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
3141         (*vec_concatv8hi_permt2): Ditto.
3143 2022-05-17  liuhongt  <hongtao.liu@intel.com>
3145         PR tree-optimization/105591
3146         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
3147         vec_perm_expr index.
3149 2022-05-16  Jason Merrill  <jason@redhat.com>
3151         PR c/105492
3152         * attribs.cc (decl_attributes): Fix broken typedefs here.
3154 2022-05-16  David Malcolm  <dmalcolm@redhat.com>
3156         PR analyzer/105103
3157         * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
3158         * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
3159         -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
3160         -Wanalyzer-va-list-use-after-va-end.
3162 2022-05-16  Richard Biener  <rguenther@suse.de>
3164         * gimple-match.h (gimple_build): Move code_helper overloads ...
3165         * gimple-fold.h (gimple_build): ... here.
3166         (gimple_build): Transition to new worker API.  Provide
3167         overloads from sequence-based API.
3168         (gimple_convert): Likewise.
3169         (gimple_convert_to_ptrofftype): Likewise.
3170         (gimple_build_vector_from_val): Likewise.
3171         (gimple_build_vector): Likewise.
3172         (gimple_build_round_up): Likewise.
3173         * gimple-fold.cc (gimple_build_insert_seq): New helper.
3174         (gimple_build): Use it.  Transition combined_fn and code_helper
3175         API parts.
3176         (gimple_convert): Transition to new worker API.
3177         (gimple_convert_to_ptrofftype): Likewise.
3178         (gimple_build_vector_from_val): Likewise.
3179         (gimple_build_vector): Likewise.
3180         (gimple_build_round_up): Likewise.
3182 2022-05-16  Richard Biener  <rguenther@suse.de>
3184         * gimple-match.h (code_helper): Move class ...
3185         * tree.h (code_helper): ... here.
3187 2022-05-16  Martin Liska  <mliska@suse.cz>
3189         * opts-global.cc (write_langs): Add comment.
3191 2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
3193         * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
3194         instead of a bitwise negation.
3195         <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
3197 2022-05-16  Martin Liska  <mliska@suse.cz>
3199         * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
3200         (decls_mismatched_attributes): Likewise.
3201         * builtins.cc (c_strlen): Likewise.
3202         * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
3203         * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
3204         * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
3205         (aarch64_init_simd_builtin_types): Likewise.
3206         (aarch64_init_builtin_rsqrt): Likewise.
3207         * config/aarch64/aarch64.cc (is_madd_op): Likewise.
3208         * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
3209         (arm_init_simd_builtin_types): Likewise.
3210         * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
3211         (c_prefix): Likewise.
3212         (main): Likewise.
3213         * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
3214         * config/darwin-c.cc (darwin_register_frameworks): Likewise.
3215         * config/gcn/mkoffload.cc (process_obj): Likewise.
3216         * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
3217         (fold_builtin_cpu): Likewise.
3218         * config/m32c/m32c.cc (PUSHM_N): Likewise.
3219         * config/nvptx/mkoffload.cc (process): Likewise.
3220         * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
3221         * config/s390/s390.cc (NR_C_MODES): Likewise.
3222         * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
3223         (create_insn_code_compression_table): Likewise.
3224         * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
3225         * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
3226         * dwarf2out.cc (ARRAY_SIZE): Likewise.
3227         * genhooks.cc (emit_documentation): Likewise.
3228         (emit_init_macros): Likewise.
3229         * gimple-ssa-sprintf.cc (format_floating): Likewise.
3230         * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
3231         * godump.cc (keyword_hash_init): Likewise.
3232         * hash-table.cc (hash_table_higher_prime_index): Likewise.
3233         * input.cc (for_each_line_table_case): Likewise.
3234         * ipa-free-lang-data.cc (free_lang_data): Likewise.
3235         * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
3236         * optc-save-gen.awk: Likewise.
3237         * spellcheck.cc (test_metric_conditions): Likewise.
3238         * tree-vect-slp-patterns.cc (sizeof): Likewise.
3239         (ARRAY_SIZE): Likewise.
3240         * tree.cc (build_common_tree_nodes): Likewise.
3242 2022-05-16  Martin Liska  <mliska@suse.cz>
3244         * opts-global.cc (write_langs): Allocate at least one byte.
3246 2022-05-16  Richard Biener  <rguenther@suse.de>
3248         * match.pd (A cmp B ? A : B -> min/max): New patterns
3249         carried over from fold_cond_expr_with_comparison.
3251 2022-05-16  liuhongt  <hongtao.liu@intel.com>
3253         PR target/105587
3254         * config/i386/i386-expand.cc
3255         (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
3256         d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
3258 2022-05-15  Uroš Bizjak  <ubizjak@gmail.com>
3260         * config/i386/i386.md: Remove constraints when used with
3261         const_int_operand, const0_operand, const_1_operand, constm1_operand,
3262         const8_operand, const128_operand, const248_operand, const123_operand,
3263         const2367_operand, const1248_operand, const359_operand,
3264         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
3265         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
3266         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
3267         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
3268         const_0_to_255_mul_8_operand, const_1_to_31_operand,
3269         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
3270         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
3271         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
3272         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
3273         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
3274         const_24_to_27_operand and const_28_to_31_operand.
3275         * config/i386/mmx.md: Ditto.
3276         * config/i386/sse.md: Ditto.
3277         * config/i386/subst.md: Ditto.
3278         * config/i386/sync.md: Ditto.
3280 2022-05-13  Roger Sayle  <roger@nextmovesoftware.com>
3281             Uroš Bizjak  <ubizjak@gmail.com>
3283         * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
3284         For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
3285         by a pshufd and pand.
3286         (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
3287         vector equality as a V2DImode vector comparison (see above),
3288         followed by a pshufd and pand.
3290 2022-05-13  Roger Sayle  <roger@nextmovesoftware.com>
3292         PR tree-optimization/83907
3293         * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
3294         for memset with an constant char value.
3295         (handle_store): Improved handling of stores with a first byte
3296         of zero, but not storing_all_zeros_p.
3298 2022-05-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3299             Manolis Tsamis  <manolis.tsamis@vrull.eu>
3301         * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
3302         (CTZ_DEFINED_VALUE_AT_ZERO): Same.
3303         * doc/sourcebuild.texi: add documentation for RISC-V specific
3304         test target keywords
3306 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3308         PR tree-optimization/105597
3309         * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
3310         of the lhs and make sure it is not undefined.
3312 2022-05-13  Sebastian Pop  <spop@amazon.com>
3314         PR target/105162
3315         * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
3316         of str array.
3317         * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
3318         memmodel_from_int and handle MEMMODEL_SYNC_*.
3319         (DEF0): Add __aarch64_*_sync functions.
3321 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3323         * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
3324         enumerated values.
3325         * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
3326         * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
3327         new VREL enumerated values.
3328         (*::lhs_op2_relation): Ditto.
3329         (*::op1_op2_relation): Ditto.
3330         (*::fold_range): Use new VREL enumerated values.
3331         (minus_op1_op2_relation_effect): Ditto.
3332         (range_relational_tests): Ditto.
3333         * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
3334         (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
3335         relation_kind.
3336         (*_op1_op2_relation): Return relation_kind.
3337         (relop_early_resolve): Use VREL_UNDEFINED.
3338         * value-query.cc (range_query::query_relation): Use VREL_VARYING.
3339         * value-relation.cc (VREL_LAST): Change enumerated value.
3340         (vrel_range_assert): Delete.
3341         (print_relation): Remove range assert.
3342         (rr_negate_table): Adjust table to use new enumerated values..
3343         (relation_negate): Remove range assert.
3344         (rr_swap_table): Adjust.
3345         (relation_swap): Remove range assert.
3346         (rr_intersect_table): Adjust.
3347         (relation_intersect): Remove range assert.
3348         (rr_union_table): Adjust.
3349         (relation_union): Remove range assert.
3350         (rr_transitive_table): Adjust.
3351         (relation_transitive): Remove range assert.
3352         (equiv_oracle::query_relation): Use new VREL enumerated values.
3353         (equiv_oracle::register_relation): Ditto.
3354         (relation_oracle::register_stmt): Ditto.
3355         (dom_oracle::set_one_relation): Ditto.
3356         (dom_oracle::register_transitives): Ditto.
3357         (dom_oracle::query_relation): Ditto.
3358         (path_oracle::register_relation): Ditto.
3359         (path_oracle::query_relation): Ditto.
3360         * value-relation.h (enum relation_kind_t): New relation_kind.
3361         (*_op1_op2_relation): Adjust prototypes.
3363 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3365         * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
3366         * value-range.cc (irange::legacy_verbose_union_): Add return value.
3367         (irange::irange_single_pair_union): New.
3368         (irange::irange_union): Add return value.
3369         * value-range.h (class irange): Adjust prototypes.
3371 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3373         * value-range.cc (irange::legacy_verbose_intersect): Add return value.
3374         (irange::irange_contains_p): New.
3375         (irange::irange_intersect): Add return value.
3376         * value-range.h (class irange): Adjust prototypes.
3378 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3380         * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
3381         had_global value instead.
3383 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3385         PR tree-optimization/104547
3386         * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
3387         the op1/op2 relation to the relation call.
3388         * range-op.cc (*::lhs_op1_relation): Add param.
3389         (*::lhs_op2_relation): Ditto.
3390         (operator_minus::lhs_op1_relation): New.
3391         (range_relational_tests): Add relation param.
3392         * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
3394 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3396         * gimple-range.cc (gimple_ranger::register_side_effects): First check
3397         if the DEF should be exported as a global.
3398         * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
3399         which will export globals.
3400         (execute_ranger_vrp): Remove call to export_global_ranges.
3402 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3404         * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
3406 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
3408         * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
3409         worlist truncated.
3410         (ranger_cache::entry_range): Add rfd_mode parameter.
3411         (ranger_cache::exit_range): Ditto.
3412         (ranger_cache::edge_range): New.  Incorporate from range_on_edge.
3413         (ranger_cache::range_of_expr): Adjust call to entry_range.
3414         (ranger_cache::range_on_edge): Split to edge_range and call.
3415         (ranger_cache::fill_block_cache): Always invoke range_from_dom.
3416         (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
3417         mutiple predecessors.
3418         (ranger_cache::update_to_nonnull): Adjust call to exit_range.
3419         * gimple-range-cache.h (ranger_cache): Add enum rfd_mode.  Adjust
3420         prototypes.
3422 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
3424         * gimple-harden-conditionals.cc: Include sbitmap.h.
3425         (pass_harden_conditional_branches::execute): Skip new blocks.
3426         (pass_harden_compares::execute): Likewise.
3428 2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
3430         PR target/105463
3431         * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
3432         mve_memory_operand.
3433         (*movmisalign<mode>_mve_load): Likewise.
3434         * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
3435         form...
3436         (@movmisalign<mode>): ... thus.  Use generic predicates and then
3437         rework operands if they are not valid.  For MVE rework to a
3438         narrower element size if the alignment is not high enough.
3440 2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
3442         * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
3443         when there is no write-back.  Fix use when strict is true.
3445 2022-05-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
3447         * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
3448         definition.
3450 2022-05-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
3452         * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
3453         extzvsi_internal): Rename from extv, extv_internal, extzv and
3454         extzv_internal, respectively.
3456 2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>
3458         * tree-sra.cc (sra_modify_assign): Check that scalar storage order
3459         is the same on the LHS and RHS before rewriting one with the model
3460         of the other.
3462 2022-05-13  Richard Biener  <rguenther@suse.de>
3464         * gimple-fold.cc (gimple_build): Adjust for new
3465         main API.
3466         * gimple-fold.h (gimple_build): New main APIs with
3467         iterator, insert direction and iterator update.
3468         (gimple_build): New forwarder template.
3469         (clear_padding_type_may_have_padding_p): Remove.
3470         (clear_type_padding_in_mask): Likewise.
3471         (arith_overflowed_p): Likewise.
3472         * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
3473         (clear_type_padding_in_mask): Likewise.
3474         (arith_overflowed_p): Likewise.
3475         * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
3476         (gimplify_build2): Likewise.
3477         (gimplify_build1): Likewise.
3478         * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
3479         compare stmt.
3480         * gengtype.cc (open_base_files): Re-order includes.
3481         * builtins.cc: Re-order gimple-fold.h include.
3482         * calls.cc: Likewise.
3483         * cgraphbuild.cc: Likewise.
3484         * cgraphunit.cc: Likewise.
3485         * config/rs6000/rs6000-builtin.cc: Likewise.
3486         * config/rs6000/rs6000-call.cc: Likewise.
3487         * config/rs6000/rs6000.cc: Likewise.
3488         * config/s390/s390.cc: Likewise.
3489         * expr.cc: Likewise.
3490         * fold-const.cc: Likewise.
3491         * function-tests.cc: Likewise.
3492         * gimple-match-head.cc: Likewise.
3493         * gimple-range-fold.cc: Likewise.
3494         * gimple-ssa-evrp-analyze.cc: Likewise.
3495         * gimple-ssa-evrp.cc: Likewise.
3496         * gimple-ssa-sprintf.cc: Likewise.
3497         * gimple-ssa-warn-access.cc: Likewise.
3498         * gimplify.cc: Likewise.
3499         * graphite-isl-ast-to-gimple.cc: Likewise.
3500         * ipa-cp.cc: Likewise.
3501         * ipa-devirt.cc: Likewise.
3502         * ipa-prop.cc: Likewise.
3503         * omp-low.cc: Likewise.
3504         * pointer-query.cc: Likewise.
3505         * range-op.cc: Likewise.
3506         * tree-cfg.cc: Likewise.
3507         * tree-if-conv.cc: Likewise.
3508         * tree-inline.cc: Likewise.
3509         * tree-object-size.cc: Likewise.
3510         * tree-ssa-ccp.cc: Likewise.
3511         * tree-ssa-dom.cc: Likewise.
3512         * tree-ssa-forwprop.cc: Likewise.
3513         * tree-ssa-ifcombine.cc: Likewise.
3514         * tree-ssa-loop-ivcanon.cc: Likewise.
3515         * tree-ssa-math-opts.cc: Likewise.
3516         * tree-ssa-pre.cc: Likewise.
3517         * tree-ssa-propagate.cc: Likewise.
3518         * tree-ssa-reassoc.cc: Likewise.
3519         * tree-ssa-sccvn.cc: Likewise.
3520         * tree-ssa-strlen.cc: Likewise.
3521         * tree-ssa.cc: Likewise.
3522         * value-pointer-equiv.cc: Likewise.
3523         * vr-values.cc: Likewise.
3525 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
3527         PR rtl-optimization/105455
3528         * gimple-harden-conditionals.cc (insert_check_and_trap): Set
3529         probabilities for newly-conditional edges.
3531 2022-05-13  liuhongt  <hongtao.liu@intel.com>
3533         PR tree-optimization/102583
3534         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
3535         contiguous stride in the VEC_PERM_EXPR.
3537 2022-05-12  Richard Biener  <rguenther@suse.de>
3539         PR rtl-optimization/105577
3540         * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
3541         edges before running fast DCE via df_analyze.
3543 2022-05-12  Richard Biener  <rguenther@suse.de>
3545         PR tree-optimization/105562
3546         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
3547         against all CLOBBER defs if there's not an obvious must-alias
3548         and we are not doing redundant store elimination.
3549         (vn_walk_cb_data::redundant_store_removal_p): New field.
3550         (vn_reference_lookup_pieces): Initialize it.
3551         (vn_reference_lookup): Add argument to specify if we are
3552         doing redundant store removal.
3553         (eliminate_dom_walker::eliminate_stmt): Specify we do.
3554         * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
3556 2022-05-12  Haochen Jiang  <haochen.jiang@intel.com>
3558         PR target/104371
3559         * config/i386/sse.md (vi1avx2const): New define_mode_attr.
3560         (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
3561         New define_split pattern.
3563 2022-05-12  Jakub Jelinek  <jakub@redhat.com>
3565         * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
3566         if null_pointer_node.
3567         (gimplify_scan_omp_clauses): Likewise.
3568         * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
3569         as omp_all_memory.
3571 2022-05-11  Patrick Palka  <ppalka@redhat.com>
3573         * tree.h (TREE_VEC_BEGIN): Define.
3574         (TREE_VEC_END): Correct 'length' member access.
3575         (class tree_vec_range): Define.
3577 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
3579         * config/rs6000/rs6000.md: Use wa instead of <Fv>.
3581 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
3583         * config/rs6000/rs6000.md: Use d instead of <Ff>.
3585 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
3587         * config/rs6000/constraints.md (register_constraint "f"): Use
3588         RS6000_CONSTRAINT_d.
3589         * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
3590         RS6000_CONSTRAINT_f.
3591         (rs6000_init_hard_regno_mode_ok): Ditto.  Reorder and simplify a bit.
3592         * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
3593         RS6000_CONSTRAINT_d.
3595 2022-05-11  Richard Biener  <rguenther@suse.de>
3597         * gimple-fold.h (gimple_build): Use variadic template
3598         functions for the gimple_build API forwarders without
3599         location_t argument.
3601 2022-05-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3603         PR middle-end/70090
3604         * asan.cc (initialize_sanitizer_builtins): Register
3605         __builtin_dynamic_object_size if necessary.
3607 2022-05-11  Richard Biener  <rguenther@suse.de>
3609         PR rtl-optimization/105559
3610         * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
3611         for non-debug insns.
3613 2022-05-11  Richard Biener  <rguenther@suse.de>
3615         * generic-match-head.cc: Include tree-eh.h.
3616         * match.pd ((cond ...) cmp X): New simplification inspired
3617         by fold_binary_op_with_conditional_arg.
3618         (eq/ne (cmp ...) true/false): Likewise.
3620 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
3622         * doc/install.texi: Don't document '--with-hsa-runtime',
3623         '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
3625 2022-05-11  Martin Liska  <mliska@suse.cz>
3627         PR other/105527
3628         * doc/install.texi: Document the configure option --with-zstd.
3630 2022-05-11  Martin Liska  <mliska@suse.cz>
3632         * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
3633         compute index in cpu_features2.
3634         (set_cpu_feature): Likewise.
3635         * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
3636         loop for cpu_features2 and use NOP_EXPRs.
3638 2022-05-11  Richard Biener  <rguenther@suse.de>
3640         PR bootstrap/105551
3641         * opts.cc (finish_options): Also disable var-tracking if
3642         !DWARF2_DEBUGGING_INFO.
3644 2022-05-11  liuhongt  <hongtao.liu@intel.com>
3646         PR target/104915
3647         * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
3648         pre_reload define_insn_and_split.
3649         (*vec_setv2di_0_zero_extendhi_1): Ditto.
3650         (*vec_set<mode>_0_zero_extendsi): Ditto.
3651         (*vec_setv2di_0_zero_extendsi_1): Ditto.
3652         (ssewvecmode): New mode attr.
3653         (ssewvecmodelower): Ditto.
3654         (ssepackmodelower): Ditto.
3656 2022-05-11  Kewen Lin  <linkw@linux.ibm.com>
3658         * config/rs6000/constraints.md (register constraint v): Use
3659         rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
3661 2022-05-11  Martin Liska  <mliska@suse.cz>
3663         PR target/105355
3664         * config/riscv/riscv.opt: Remove Separate from
3665         -msmall-data-limit=.
3666         * optc-gen.awk: Report error for the described situation.
3667         * gcc.cc: Use Separate syntax.
3668         * opts.cc (gen_command_line_string): Change option name.
3670 2022-05-11  Haochen Gui  <guihaoc@gcc.gnu.org>
3672         PR target/105414
3673         * match.pd (minmax): Skip constant folding for fmin/fmax when both
3674         arguments are sNaN or one is sNaN and another is NaN.
3676 2022-05-10  Jakub Jelinek  <jakub@redhat.com>
3678         PR tree-optimization/105528
3679         * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
3680         set *gsi to gsi_for_stmt (ass_stmt).  Fix up function comment.
3682 2022-05-10  Segher Boessenkool  <segher@kernel.crashing.org>
3684         * doc/md.texi (Defining Mode Iterators): Correct example replacement
3685         text.
3687 2022-05-10  Maciej W. Rozycki  <macro@embecosm.com>
3689         * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
3690         constants.
3691         (fmin<mode>3, fmax<mode>3): New insns.
3693 2022-05-10  Richard Biener  <rguenther@suse.de>
3695         * tree-if-conv.cc (fold_build_cond_expr): Use
3696         match-and-simplify to simplify the condition.
3697         (ifcvt_follow_ssa_use_edges): Remove.
3698         (predicate_scalar_phi): Use follow_all_ssa_edges.
3700 2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
3702         PR middle-end/100400
3703         * omp-oacc-kernels-decompose.cc
3704         (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
3705         call 'internal_error'.
3707 2022-05-10  Richard Biener  <rguenther@suse.de>
3709         PR middle-end/105537
3710         * toplev.cc (process_options): Move flag_var_tracking
3711         handling ...
3712         * opts.cc (finish_options): ... here.
3714 2022-05-10  Martin Liska  <mliska@suse.cz>
3716         * basic-block.h (struct basic_block_d): Use void *
3717         instead PTR.
3718         * cfgloop.h: Likewise.
3719         * cgraph.h: Likewise.
3720         * gengtype-state.cc (state_ident_by_name): Likewise.
3721         (record_type): Likewise.
3722         (read_state_already_seen_type): Likewise.
3723         * gengtype.cc (dump_type): Likewise.
3724         (input_file_by_name): Likewise.
3725         (main): Likewise.
3726         * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
3727         * ipa-utils.h (struct ipa_dfs_info): Likewise.
3728         * plugin.cc (htab_hash_plugin): Likewise.
3730 2022-05-10  Richard Biener  <rguenther@suse.de>
3732         * flags.h (dwarf_debuginfo_p): Add opts argument, guard
3733         API with !GENERATOR_FILE.
3734         * opts.cc (global_options): Poison.
3735         (global_options_set): Likewise.
3736         (finish_options): Refer to options via opts.
3738 2022-05-10  Uroš Bizjak  <ubizjak@gmail.com>
3739             Roger Sayle  <roger@nextmovesoftware.com>
3741         * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
3742         alternative when optimizing for size and the immediate operand is
3743         const_0_to_127_operand.
3744         (*andqi_2_maybe_si): Likewise.
3745         * config/i386/predicates.md (const_0_to_127_operand): New predicate.
3747 2022-05-10  Roger Sayle  <roger@nextmovesoftware.com>
3749         * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
3750         "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
3751         can't be negative.
3753 2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
3755         PR target/105292
3756         * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
3757         true only for 8-byte vector modes.
3759 2022-05-10  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3761         PR middle-end/70090
3762         * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
3763         (instrument_object_size): Get dynamic object size expression.
3765 2022-05-10  Jiufu Guo  <guojiufu@linux.ibm.com>
3767         PR preprocessor/101168
3768         * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
3769         Avoid empty identifier.
3771 2022-05-09  Qing Zhao  <qing.zhao@oracle.com>
3773         PR target/101891
3774         * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
3775         as a generic MMX mode instead of V4HImode.
3776         (zero_all_mm_registers): Use SET to zero instead of MOV for
3777         zeroing scratch registers.
3778         (ix86_zero_call_used_regs): Likewise.
3780 2022-05-09  liuhongt  <hongtao.liu@intel.com>
3782         PR target/105354
3783         * config/i386/i386-expand.cc
3784         (expand_vec_perm_pslldq_psrldq_por): New function.
3785         (ix86_expand_vec_perm_const_1): Try
3786         expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
3787         4/5-instruction sequence.
3789 2022-05-09  Martin Liška  <mliska@suse.cz>
3791         * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
3792         * system.h (STATIC_ASSERT): Define as static_assert for C++
3793         and fallback to array index in C.
3795 2022-05-09  Richard Biener  <rguenther@suse.de>
3797         PR tree-optimization/105517
3798         * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
3799         offset can be represented in the POINTER_PLUS_EXPR IL.
3800         (vn_reference_insert): Likewise.
3801         * poly-int.h (sext_hwi): Add poly version of sext_hwi.
3803 2022-05-09  Richard Biener  <rguenther@suse.de>
3805         * match.pd: Remove #if GIMPLE guards around ! using patterns.
3807 2022-05-09  liuhongt  <hongtao.liu@intel.com>
3809         PR target/105072
3810         * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
3811         New define_insn.
3812         (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
3813         define_insn_and_split.
3815 2022-05-09  Alex Coplan  <alex.coplan@arm.com>
3817         * cgraph.cc (cgraph_node::get_create): Don't dump if the current
3818         symtab state is PARSING.
3820 2022-05-09  Martin Liska  <mliska@suse.cz>
3822         * system.h (LIKELY): Define.
3823         (UNLIKELY): Likewise.
3824         * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
3825         macros.
3826         * dse.cc (set_position_unneeded): Likewise.
3827         (set_all_positions_unneeded): Likewise.
3828         (any_positions_needed_p): Likewise.
3829         (all_positions_needed_p): Likewise.
3830         * expmed.cc (flip_storage_order): Likewise.
3831         * genmatch.cc (dt_simplify::gen_1): Likewise.
3832         * ggc-common.cc (gt_pch_save): Likewise.
3833         * print-rtl.cc: Likewise.
3834         * rtl-iter.h (T>::array_type::~array_type): Likewise.
3835         (T>::next): Likewise.
3836         * rtl-ssa/internals.inl: Likewise.
3837         * rtl-ssa/member-fns.inl: Likewise.
3838         * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
3839         (rtx_properties::try_to_add_dest): Likewise.
3840         * rtlanal.h (growing_rtx_properties::repeat): Likewise.
3841         (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
3842         * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
3843         * sort.cc (likely): Likewise.
3844         (mergesort): Likewise.
3845         * wide-int.h (wi::eq_p): Likewise.
3846         (wi::ltu_p): Likewise.
3847         (wi::cmpu): Likewise.
3848         (wi::bit_and): Likewise.
3849         (wi::bit_and_not): Likewise.
3850         (wi::bit_or): Likewise.
3851         (wi::bit_or_not): Likewise.
3852         (wi::bit_xor): Likewise.
3853         (wi::add): Likewise.
3854         (wi::sub): Likewise.
3856 2022-05-09  Kito Cheng  <kito.cheng@sifive.com>
3858         * config/riscv/arch-canonicalize: Handle g correctly.
3860 2022-05-07  Marek Polacek  <polacek@redhat.com>
3862         PR c++/101833
3863         PR c++/47634
3864         * tree-core.h (struct attribute_spec): Update comment for HANDLER.
3866 2022-05-06  Jason Merrill  <jason@redhat.com>
3868         * diagnostic-color.cc: Add fnname and targs color entries.
3869         * doc/invoke.texi: Document them.
3871 2022-05-06  Jason Merrill  <jason@redhat.com>
3873         * vec.h (vec::iterate): Fix comment.
3875 2022-05-06   Michael Meissner  <meissner@linux.ibm.com>
3877         PR target/102059
3878         * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
3879         and -mpower10-fusion options for inlining purposes.
3881 2022-05-06  Christophe Lyon  <christophe.lyon@arm.com>
3883         * config/aarch64/iterators.md (GPF_TF_F16): Delete.
3885 2022-05-06  Marcel Vollweiler  <marcel@codesourcery.com>
3887         * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
3888         omp_runtime_apis array.
3890 2022-05-06  Hafiz Abid Qadeer  <abidh@codesourcery.com>
3892         * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
3893         (scan_sharing_clauses):  Check a restriction on allocate clause.
3895 2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
3897         * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
3898         and ORDERED clause conflict errors.  Add check for GRAINSIZE and
3899         NUM_TASKS on TASKLOOP.
3901 2022-05-05  Martin Liska  <mliska@suse.cz>
3903         * genautomata.cc (create_composed_state): Remove dead code.
3904         * graphite-poly.cc (print_pdrs): Likewise.
3905         * lto-wrapper.cc (run_gcc): Likewise.
3906         * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
3907         Likewise.
3909 2022-05-05  Martin Liska  <mliska@suse.cz>
3911         * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
3912         PROF_*.
3913         (gimple_gen_time_profiler): Likewise.
3915 2022-05-05  Martin Liska  <mliska@suse.cz>
3917         * value-prof.cc (stream_out_histogram_value): Remove sanity
3918         checking.
3920 2022-05-05  Richard Biener  <rguenther@suse.de>
3922         PR tree-optimization/104162
3923         * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
3924         &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
3925         becomes invariant.
3926         (vn_reference_insert): Likewise.
3928 2022-05-05  Richard Biener  <rguenther@suse.de>
3930         * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
3931         to real_value field.
3932         (tree_real_cst::value): Add real_value field.
3933         * tree.h (TREE_REAL_CST_PTR): Adjust.
3934         * tree.cc (build_real): Remove separate allocation.
3935         * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
3936         Likewise.
3938 2022-05-05  Richard Biener  <rguenther@suse.de>
3940         * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
3941         divisions with undefined overflow unconditionally.
3942         (pass_tree_ifcombine::execute): Rewrite stmts with undefined
3943         overflow to defined.
3945 2022-05-05  Richard Biener  <rguenther@suse.de>
3947         PR tree-optimization/105484
3948         * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
3949         whether the CFG changed.
3950         (gimple_expand_vec_exprs): When the CFG changed, clean it up.
3952 2022-05-05  Richard Biener  <rguenther@suse.de>
3954         PR tree-optimization/104595
3955         * tree-vect-patterns.cc (vect_recog_bool_pattern): For
3956         COND_EXPR do not fail if check_bool_pattern returns false.
3958 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
3960         * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
3961         item that is in an outer data-sharing clause.
3963 2022-05-04  Richard Biener  <rguenther@suse.de>
3965         PR tree-optimization/104658
3966         * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
3967         create VECTOR_BOOLEAN_TYPE_P extern defs.  Reset the vector
3968         type on nodes we promote.
3969         (vectorizable_bb_reduc_epilogue): Deal with externalized
3970         root.
3971         * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
3972         not allow VECTOR_BOOLEAN_TYPE_P extern defs.
3974 2022-05-04  Richard Biener  <rguenther@suse.de>
3976         PR tree-optimization/103116
3977         * tree-vect-stmts.cc (get_group_load_store_type): Handle the
3978         case we need peeling for gaps even though GROUP_GAP is zero.
3980 2022-05-04  Martin Liska  <mliska@suse.cz>
3982         * gengtype-state.cc (read_a_state_token): Remove dead code.
3983         * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
3985 2022-05-04  Richard Biener  <rguenther@suse.de>
3987         * gimplify.cc (gimplify_init_constructor): First gimplify,
3988         then simplify the result to a VECTOR_CST.
3990 2022-05-04  Jakub Jelinek  <jakub@redhat.com>
3992         * genconditions.cc (write_conditions): Append a { nullptr, -1 }
3993         element at the end of insn_conditions.
3994         (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
3995         ARRAY_SIZE (insn_conditions).
3997 2022-05-04  Christophe Lyon  <christophe.lyon@arm.com>
3999         PR target/104662
4000         * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
4001         vector of booleans and MVE is not enabled.
4003 2022-05-04  Richard Biener  <rguenther@suse.de>
4005         PR debug/105158
4006         * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
4007         Move debug stmts to the predecessor if moving to the
4008         destination is not possible.
4009         (remove_forwarder_block): Adjust.
4010         (remove_forwarder_block_with_phi): Likewise.
4012 2022-05-03  Roger Sayle  <roger@nextmovesoftware.com>
4014         PR tree-optimization/102950
4015         * range-op.cc (wi_optimize_signed_bitwise_op): New function to
4016         determine bounds of bitwise operations on signed types.
4017         (operator_bitwise_and::wi_fold): Call the above function.
4018         (operator_bitwise_or::wi_fold): Likewise.
4019         (operator_bitwise_xor::wi_fold): Likewise.  Additionally, the
4020         result can't be zero if the operands can't be equal.
4022 2022-05-03  Iain Sandoe  <iain@sandoe.co.uk>
4024         * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
4025         protocol class methods linker-visible.
4027 2022-05-03  Uroš Bizjak  <ubizjak@gmail.com>
4029         PR target/105079
4030         * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
4031         define_insn_and_split pattern.
4033 2022-05-03  Richard Biener  <rguenther@suse.de>
4035         PR middle-end/105083
4036         * tree-scalar-evolution.cc (scev_initialize): Verify we
4037         have appropriate loop state.
4038         * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
4039         loop init and finalization.
4041 2022-05-03  Richard Biener  <rguenther@suse.de>
4043         PR middle-end/105461
4044         * opts.cc (finish_options): Match the condition to
4045         disable flag_var_tracking to that of process_options.
4047 2022-05-03  Richard Biener  <rguenther@suse.de>
4049         * opts.cc: #undef OPTIONS_SET_P.
4050         (finish_options): Use opts_set instead of OPTIONS_SET_P.
4052 2022-05-03  Richard Biener  <rguenther@suse.de>
4054         PR tree-optimization/105394
4055         * tree-vect-generic.cc (expand_vector_condition): Adjust
4056         comp_width for non-integer mode masks as well.
4058 2022-05-03  Marcel Vollweiler  <marcel@codesourcery.com>
4060         * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
4061         omp_runtime_apis array.
4063 2022-05-02  Richard Biener  <rguenther@suse.de>
4065         * tree-scalar-evolution.cc (expression_expensive_p):
4066         Never consider mismatched calls as cheap.
4068 2022-05-02  Richard Biener  <rguenther@suse.de>
4070         PR tree-optimization/104240
4071         * tree-vect-slp.cc (op1_op0_map): New.
4072         (vect_get_operand_map): Handle compares.
4073         (vect_build_slp_tree_1): Support swapped operands for
4074         tcc_comparison.
4076 2022-05-02  Jakub Jelinek  <jakub@redhat.com>
4078         PR debug/105415
4079         * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
4080         if there is no symtab node for the VAR_DECL.
4082 2022-05-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4084         * gcov-io.cc (gcov_rewrite):  Clear the file error status.
4086 2022-05-02  Richard Biener  <rguenther@suse.de>
4088         PR tree-optimization/105437
4089         * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
4090         case where last_stmt alters control flow.
4092 2022-05-02  Richard Biener  <rguenther@suse.de>
4094         * dojump.cc (do_jump): Use CASE_CONVERT.
4095         * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
4097 2022-05-02  Jakub Jelinek  <jakub@redhat.com>
4099         * system.h: Include initializer_list.
4101 2022-05-01  Segher Boessenkool  <segher@kernel.crashing.org>
4103         * config/rs6000/constraints.md (Y constraint): Fix comment.
4105 2022-05-01  Aldy Hernandez  <aldyh@redhat.com>
4107         * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
4108         VR_RANGE before passing a piecewise range to set_range_info_raw.
4110 2022-04-30  Patrick Palka  <ppalka@redhat.com>
4112         * gengtype.cc (adjust_field_tree_exp): Remove.
4113         (adjust_field_type): Don't handle the "tree_exp" special attribute.
4114         * tree-core.h (struct tree_exp): Remove "special" and "desc"
4115         attributes.  Add "length" attribute.
4117 2022-04-29  Martin Jambor  <mjambor@suse.cz>
4119         PR ipa/100413
4120         * cgraph.cc (cgraph_node::remove): Release body of the node this
4121         is clone_of if appropriate.
4123 2022-04-29  Uroš Bizjak  <ubizjak@gmail.com>
4125         PR target/51954
4126         * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
4128 2022-04-29  Richard Biener  <rguenther@suse.de>
4130         * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
4131         (canonicalize_cond_expr_cond): Move here from gimple.cc,
4132         allow both COND_EXPR and GIMPLE_COND forms.
4133         * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
4134         * gimple.cc (canonicalize_cond_expr_cond): Remove here.
4135         * gimple.h (canonicalize_cond_expr_cond): Likewise.
4136         * gimple-loop-versioning.cc (loop_versioning::version_loop):
4137         Use is_gimple_condexpr_for_cond.
4138         * tree-parloops.cc (gen_parallel_loop): Likewise.
4139         * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
4140         a proper cond expr after canonicalize_cond_expr_cond.
4141         Use is_gimple_condexpr_for_cond where appropriate.
4142         * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
4143         * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
4145 2022-04-29  Richard Biener  <rguenther@suse.de>
4147         * gimple-iterator.h (gsi_after_labels): Add overload for
4148         gimple_seq.
4149         (gsi_start_1): Rename to gsi_start and take a reference.
4150         (gsi_last_1): Likewise.
4151         * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
4152         * omp-low.cc (lower_rec_input_clauses): Likewise.
4153         (lower_omp_scan): Likewise.
4155 2022-04-29  Richard Biener  <rguenther@suse.de>
4157         PR tree-optimization/105431
4158         * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
4159         (powi_as_mults): Use absu_hwi.
4160         (gimple_expand_builtin_powi): Remove now pointless n != -n
4161         check.
4163 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
4165         * range-op.cc (empty_range_varying): Move to range-op.h.
4166         (range_true): Move to range.h.
4167         (range_false): Same.
4168         (range_true_and_false): Same.
4169         (enum bool_range_state): Move to range-op.h.
4170         (relop_early_resolve): Same.
4171         (operator_equal::op1_op2_relation): Abstract code to...
4172         (equal_op1_op2_relation): ...here.
4173         (operator_not_equal::op1_op2_relation): Abstract code to...
4174         (not_equal_op1_op2_relation): ...here.
4175         (operator_lt::op1_op2_relation): Abstract code to...
4176         (lt_op1_op2_relation): ...here.
4177         (operator_le::op1_op2_relation): Abstract code to...
4178         (le_op1_op2_relation): ...here.
4179         (operator_gt::op1_op2_relation): Abstract code to...
4180         (gt_op1_op2_relation): ...here.
4181         (operator_ge::op1_op2_relation): Abstract code to...
4182         (ge_op1_op2_relation): ...here.
4183         (class range_op_table): Move to range-op.h.
4184         * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
4185         (not_equal_op1_op2_relation): Same.
4186         (lt_op1_op2_relation): Same.
4187         (le_op1_op2_relation): Same.
4188         (gt_op1_op2_relation): Same.
4189         (ge_op1_op2_relation): Same.
4190         (enum bool_range_state): Same.
4191         (get_bool_state): Same.
4192         (empty_range_varying): Same.
4193         (relop_early_resolve): Same.
4194         (class range_op_table): Same.
4195         * range.h (range_true): Same.
4196         (range_false): Same.
4197         (range_true_and_false): Same.
4199 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
4201         * gimple-fold.cc (size_must_be_zero_p): Use reference
4202         instead of pointer
4203         * gimple-ssa-evrp-analyze.cc
4204         (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
4205         intersect to legacy_verbose_intersect.
4206         * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
4207         of pointer.
4208         * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
4209         instead of value_range_equiv.
4210         * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
4211         instead of pointer.
4212         (find_case_label_range): Same.
4213         * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
4214         (value_range_equiv::legacy_verbose_intersect): ...this.
4215         (value_range_equiv::union_): Rename to...
4216         (value_range_equiv::legacy_verbose_union_): ...this.
4217         * value-range-equiv.h (class value_range_equiv): Rename union and
4218         intersect to legacy_verbose_{intersect,union}.
4219         * value-range.cc (irange::union_): Rename to...
4220         (irange::legacy_verbose_union_): ...this.
4221         (irange::intersect): Rename to...
4222         (irange::legacy_verbose_intersect): ...this.
4223         * value-range.h (irange::union_): Rename union_ to
4224         legacy_verbose_union.
4225         (irange::intersect): Rename intersect to legacy_verbose_intersect.
4226         * vr-values.cc (vr_values::update_value_range): Same.
4227         (vr_values::extract_range_for_var_from_comparison_expr): Same.
4228         (vr_values::extract_range_from_cond_expr): Rename union_ to
4229         legacy_verbose_union.
4230         (vr_values::extract_range_from_phi_node): Same.
4232 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
4234         * gimple-ssa-evrp-analyze.cc
4235         (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
4236         that take a range.
4237         * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
4238         * ipa-prop.cc (ipcp_update_vr): Same.
4239         * tree-inline.cc (remap_ssa_name): Same.
4240         * tree-ssa-copy.cc (fini_copy_prop): Same.
4241         * tree-ssa-math-opts.cc (optimize_spaceship): Same.
4242         * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
4243         * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
4244         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
4245         * tree-ssa-strlen.cc (set_strlen_range): Same.
4246         (strlen_pass::handle_builtin_string_cmp): Same.
4247         * tree-ssanames.cc (set_range_info): Make static.
4248         (duplicate_ssa_name_range_info): Make static and add a new variant
4249         calling the static.
4250         * tree-ssanames.h (set_range_info): Remove version taking wide ints.
4251         (duplicate_ssa_name_range_info): Remove version taking a
4252         range_info_def and replace with a version taking SSA names.
4253         * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
4254         that take a range.
4255         (vect_do_peeling): Same.
4256         * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
4257         * vr-values.cc (simplify_truth_ops_using_ranges): Same.
4259 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
4261         * value-range.h (irange::irange): Use set_undefined.
4263 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
4265         * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
4266         irange::intersect (wide_int, wide_int).
4267         * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
4268         (adjust_imagpart_expr): Same.
4269         * value-range.h (irange::intersect (wide_int, wide_int)): Make
4270         private.
4272 2022-04-29  Richard Biener  <rguenther@suse.de>
4274         PR tree-optimization/104322
4275         * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
4277 2022-04-29  Richard Biener  <rguenther@suse.de>
4279         PR middle-end/105376
4280         * tree.cc (build_real): Special case dconst* arguments
4281         for decimal floating point types.
4283 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4285         * doc/gcov.texi (Profiling and Test Coverage in Freestanding
4286         Environments): New section.
4288 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4290         * doc/gcov-tool.texi: Document merge-stream subcommand.
4291         * doc/invoke.texi (fprofile-info-section): Mention merge-stream
4292         subcommand of gcov-tool.
4293         * gcov-tool.cc (gcov_profile_merge_stream): Declare.
4294         (print_merge_stream_usage_message): New.
4295         (merge_stream_usage): Likewise.
4296         (do_merge_stream): Likewise.
4297         (print_usage): Call print_merge_stream_usage_message().
4298         (main): Call do_merge_stream() to execute merge-stream subcommand.
4300 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4302         * gcov-io.cc (gcov_file_error): New enum.
4303         (gcov_var): Use gcov_file_error enum for the error member.
4304         (gcov_open): Use GCOV_FILE_NO_ERROR.
4305         (gcov_close): Use GCOV_FILE_WRITE_ERROR.
4306         (gcov_write): Likewise.
4307         (gcov_write_unsigned): Likewise.
4308         (gcov_write_string): Likewise.
4309         (gcov_read_bytes): Set error code if EOF is reached.
4310         (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
4312 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4314         * gcov-io.cc (GCOV_MODE_STDIN): Define.
4315         (gcov_position): For gcov-tool, return calculated position if file is
4316         stdin.
4317         (gcov_open):  For gcov-tool, use stdin if filename is NULL.
4318         (gcov_close): For gcov-tool, do not close stdin.
4319         (gcov_read_bytes): For gcov-tool, update position if file is stdin.
4320         (gcov_sync): For gcov-tool, discard input if file is stdin.
4322 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4324         * doc/invoke.texi (fprofile-info-section): Mention
4325         __gcov_filename_to_gcfn().  Use "freestanding" to match with C11
4326         standard language.  Fix minor example code issues.
4327         * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
4329 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4331         * gcov-io.cc (gcov_seek): Make it static.
4332         * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
4334 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4336         * gcov-tool.cc (gcov_do_dump): Add mode parameter.
4337         (gcov_output_files): Open files for reading and writing.
4339 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4341         * gcov-io.cc (gcov_open): Always use the mode parameter.
4342         * gcov-io.h (gcov_open): Declare it unconditionally.
4344 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4346         * gcov-tool.cc (gcov_profile_merge): Adjust return type.
4347         (profile_merge): Allow merging of directories which contain no profile
4348         files.
4350 2022-04-28  David Malcolm  <dmalcolm@redhat.com>
4352         * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
4353         fpath.txt output.
4355 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
4357         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
4358         temporary only if out overlaps compare_op, not when it overlaps
4359         op0 or op1.
4361 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
4363         PR lto/105399
4364         * cgraph.cc (cgraph_node::verify_node): Don't verify
4365         semantic_interposition flag against
4366         opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
4368 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
4370         PR target/105331
4371         * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
4372         temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
4373         of it.
4375 2022-04-28  Jonathan Wakely  <jwakely@redhat.com>
4377         * doc/install.texi (Configuration): Remove misleading text
4378         around LE PowerPC Linux multilibs.
4380 2022-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4382         PR d/103528
4383         * doc/install.texi (Tools/packages necessary for building GCC)
4384         (GDC): Document libphobos requirement.
4385         (Host/target specific installation notes for GCC, *-*-solaris2*):
4386         Document libphobos and GDC specifics.
4388 2022-04-28  Richard Biener  <rguenther@suse.de>
4390         PR tree-optimization/105219
4391         * tree-vect-loop.cc (vect_transform_loop): Disable
4392         special code narrowing the vectorized epilogue max
4393         iterations when peeling for alignment or gaps was in effect.
4395 2022-04-28  Xi Ruoyao  <xry111@mengyan1223.wang>
4397         * config/loongarch/loongarch.cc
4398         (loongarch_flatten_aggregate_field): Ignore empty fields for
4399         RECORD_TYPE.
4401 2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
4403         * config/loongarch/loongarch.md: Add fdiv define_expand template,
4404         then generate floating-point division and floating-point reciprocal
4405         instructions.
4407 2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
4409         * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
4410         to PLV instruction templates.
4412 2022-04-27  Richard Biener  <rguenther@suse.de>
4414         PR middle-end/104492
4415         * gimple-ssa-warn-access.cc
4416         (pass_waccess::warn_invalid_pointer): Exclude equality compare
4417         diagnostics for all kind of invalidations.
4418         (pass_waccess::check_dangling_uses): Fix post-dominator query.
4419         (pass_waccess::check_pointer_uses): Likewise.
4421 2022-04-27  Andreas Krebbel  <krebbel@linux.ibm.com>
4423         PR target/102024
4424         * config/s390/s390-protos.h (s390_function_arg_vector): Remove
4425         prototype.
4426         * config/s390/s390.cc (s390_single_field_struct_p): New function.
4427         (s390_function_arg_vector): Invoke s390_single_field_struct_p.
4428         (s390_function_arg_float): Likewise.
4430 2022-04-27  Jakub Jelinek  <jakub@redhat.com>
4432         PR sanitizer/105396
4433         * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
4434         where offset is bigger than off but smaller than m_prev_offset + 32
4435         bits by pushing one or more 0 bytes.  Sink the
4436         m_shadow_bytes.safe_push (value); flush_if_full (); statements from
4437         all cases to the end of the function.
4439 2022-04-27  Kewen Lin  <linkw@linux.ibm.com>
4441         PR target/105271
4442         * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
4443         stanza.
4445 2022-04-26  Thomas Schwinge  <thomas@codesourcery.com>
4447         * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
4448         data-share memory exhausted" error more verbose.
4450 2022-04-26  Martin Liska  <mliska@suse.cz>
4452         PR lto/105364
4453         * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
4454         (run_gcc): Parse OPT_fdiagnostics_urls_.
4455         (main): Initialize global_dc.
4457 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
4459         PR rtl-optimization/105314
4460         * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
4461         operand is equal to if_info->x, instead use the non-zero operand
4462         as one of the operands of AND with if_info->x as target.
4464 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
4466         PR tree-optimization/105374
4467         * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
4468         !fold_convertible_p rather than assuming fold_convert must succeed.
4470 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
4472         PR target/105367
4473         * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
4474         el_mode == DFmode ? double_type_node : float_type_node instead of
4475         TREE_TYPE (type_in) as first arguments to mathfn_built_in.
4477 2022-04-25  David Malcolm  <dmalcolm@redhat.com>
4479         PR analyzer/104308
4480         * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
4481         the location of new_stmt in all places that don't already set it,
4482         whether explicitly, or via a call to gsi_replace.
4484 2022-04-25  Paul A. Clarke  <pc@us.ibm.com>
4486         * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
4488 2022-04-25  Andrew MacLeod  <amacleod@redhat.com>
4490         PR tree-optimization/105276
4491         * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
4492         existing global range with calculated value.
4494 2022-04-25  Richard Biener  <rguenther@suse.de>
4496         PR tree-optimization/105368
4497         * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
4499 2022-04-25  Richard Biener  <rguenther@suse.de>
4501         PR tree-optimization/100810
4502         * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
4503         (find_ssa_undef): New function.
4504         (add_candidate_1): Avoid adding derived candidates with
4505         undefined SSA names and mark the original ones.
4506         (determine_group_iv_cost_generic): Reject rewriting
4507         uses with a different IV when that involves undefined SSA names.
4509 2022-04-25  Steven G. Kargl  <kargl@gcc.gnu.org>
4511         PR target/89125
4512         * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
4513         bsd_libc_has_function.
4514         * targhooks.cc (bsd_libc_has_function): New function.
4515         Expand the supported math functions to inclue C99 libm.
4516         * targhooks.h (bsd_libc_has_function): New Prototype.
4518 2022-04-25  Richard Biener  <rguenther@suse.de>
4520         PR rtl-optimization/105231
4521         * combine.cc (distribute_notes): Assert that a REG_EH_REGION
4522         with landing pad > 0 is from i3.  Put any REG_EH_REGION note
4523         on i3 or drop it if the insn can not trap.
4524         (try_combine): Ensure that we can merge REG_EH_REGION notes
4525         with non-call exceptions.  Ensure we are not splitting a
4526         trapping part of an insn with non-call exceptions when there
4527         is any REG_EH_REGION note to preserve.
4529 2022-04-25  Hongyu Wang  <hongyu.wang@intel.com>
4531         PR target/105339
4532         * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
4533         Add parentheses for parameters and djust format.
4534         (_mm512_mask_scalef_round_pd): Ditto.
4535         (_mm512_maskz_scalef_round_pd): Ditto.
4536         (_mm512_scalef_round_ps): Ditto.
4537         (_mm512_mask_scalef_round_ps): Ditto.
4538         (_mm512_maskz_scalef_round_ps): Ditto.
4539         (_mm_scalef_round_sd): Use _mm_undefined_pd.
4540         (_mm_scalef_round_ss): Use _mm_undefined_ps.
4541         (_mm_mask_scalef_round_sd): New macro.
4542         (_mm_mask_scalef_round_ss): Ditto.
4543         (_mm_maskz_scalef_round_sd): Ditto.
4544         (_mm_maskz_scalef_round_ss): Ditto.
4546 2022-04-23  Jakub Jelinek  <jakub@redhat.com>
4548         PR target/105338
4549         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
4550         op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
4551         cases.
4553 2022-04-22  Segher Boessenkool  <segher@kernel.crashing.org>
4555         PR target/105334
4556         * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
4557         (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
4558         (pack<mode>_hard for FMOVE128): ... this...
4559         (pack<mode>_soft for FMOVE128): ... and this.
4561 2022-04-22  Paul A. Clarke  <pc@us.ibm.com>
4563         * doc/extend.texi: Correct "This" to "These".
4565 2022-04-22  Jakub Jelinek  <jakub@redhat.com>
4567         PR rtl-optimization/105333
4568         * rtlanal.cc (replace_rtx): Use simplify_subreg or
4569         simplify_unary_operation if CONST_SCALAR_INT_P rather than just
4570         CONST_INT_P.
4572 2022-04-21  Segher Boessenkool  <segher@kernel.crashing.org>
4574         PR target/103197
4575         PR target/102146
4576         * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
4577         the "Z" alternatives in {l,st}{f,xs}iwzx.
4578         (zero_extendhi<mode>2 for EXTHI): Ditto.
4579         (zero_extendsi<mode>2 for EXTSI): Ditto.
4580         (*movsi_internal1): Ditto.
4581         (*mov<mode>_internal1 for QHI): Ditto.
4582         (movsd_hardfloat): Ditto.
4584 2022-04-21  Martin Liska  <mliska@suse.cz>
4586         * configure.ac: Enable compressed debug sections for mold
4587         linker.
4588         * configure: Regenerate.
4590 2022-04-21  Jakub Jelinek  <jakub@redhat.com>
4592         PR debug/105203
4593         * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
4594         on DEBUG_INSNs.
4596 2022-04-20  Richard Biener  <rguenther@suse.de>
4598         PR tree-optimization/104912
4599         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
4600         the cost model check to a separate BB to make sure it is
4601         checked first and not combined with other version checks.
4603 2022-04-20  Richard Biener  <rguenther@suse.de>
4605         PR tree-optimization/105312
4606         * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
4607         VCOND and VCONDU for EQ and NE.
4609 2022-04-20  Jan Hubicka  <hubicka@ucw.cz>
4611         PR ipa/103818
4612         * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
4613         poly_offset_int to avoid overflow.
4614         (modref_access_node::update2): likewise.
4616 2022-04-20  Jakub Jelinek  <jakub@redhat.com>
4618         PR ipa/105306
4619         * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
4620         to opt_for_fn (decl, flag_semantic_interposition).
4621         * cgraphclones.cc (cgraph_node::create_clone): Copy over
4622         semantic_interposition flag.
4624 2022-04-19  Sergei Trofimovich  <siarheit@google.com>
4626         PR gcov-profile/105282
4627         * value-prof.cc (stream_out_histogram_value): Allow negative counts
4628         on HIST_TYPE_INDIR_CALL.
4630 2022-04-19  Jakub Jelinek  <jakub@redhat.com>
4632         PR target/105257
4633         * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
4634         use gen_raw_REG instead of gen_rtx_REG and copy over also
4635         ORIGINAL_REGNO.  Use return 0; instead of /* fallthrough */.
4637 2022-04-19  Richard Biener  <rguenther@suse.de>
4639         PR tree-optimization/104010
4640         PR tree-optimization/103941
4641         * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
4642         we run into stmts in patterns continue walking those
4643         for uses outside of the vectorized region instead of
4644         marking the lane live.
4646 2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
4648         * doc/install.texi <CRIS>: Remove references to removed websites and
4649         adjust for cris-*-elf being the only remaining toolchain.
4651 2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
4653         * doc/invoke.texi <CRIS>: Remove references to options for removed
4654         subtarget cris-axis-linux-gnu and tweak wording accordingly.
4656 2022-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
4658         * doc/install.texi (Specific): Adjust mingw-w64 download link.
4660 2022-04-15  Hongyu Wang  <hongyu.wang@intel.com>
4662         * config/i386/smmintrin.h: Correct target pragma from sse4.1
4663         and sse4.2 to crc32 for crc32 intrinsics.
4665 2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
4667         PR debug/105089
4668         * ctfc.cc (ctf_dvd_ignore_insert): New function.
4669         (ctf_dvd_ignore_lookup): Likewise.
4670         (ctf_add_variable): Keep track of non-defining decl DIEs.
4671         (new_ctf_container): Initialize the new hash-table.
4672         (ctfc_delete_container): Empty hash-table.
4673         * ctfc.h (struct ctf_container): Add new hash-table.
4674         (ctf_dvd_ignore_lookup): New declaration.
4675         (ctf_add_variable): Add additional argument.
4676         * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
4677         record for non-defining decl for which a defining decl exists
4678         in the same TU.
4679         (ctf_preprocess): Defer updating the number of global objts
4680         until here.
4681         (output_ctf_header): Use ctfc_vars_list_count as some CTF
4682         variables may not make it to the final output.
4683         (output_ctf_vars): Likewise.
4684         * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
4685         if this is known to be a non-defining decl DIE.
4687 2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
4689         * ctfc.h (struct ctf_container): Introduce a new member.
4690         * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
4691         variable.
4693 2022-04-14  Jakub Jelinek  <jakub@redhat.com>
4695         PR target/105247
4696         * simplify-rtx.cc (simplify_const_binary_operation): For shifts
4697         or rotates by VOIDmode constant integer shift count use word_mode
4698         for the operand if int_mode is narrower than word.
4700 2022-04-14  Robin Dapp  <rdapp@linux.ibm.com>
4702         * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
4703         (s390_get_unit_mask): Likewise.
4704         (s390_is_fpd): Likewise.
4705         (s390_is_fxd): Likewise.
4706         * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
4707         * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
4708         Add z16.
4709         (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
4710         Likewise.
4711         * config/s390/3931.md: New file.
4713 2022-04-13  Richard Sandiford  <richard.sandiford@arm.com>
4715         PR tree-optimization/105254
4716         * config/aarch64/aarch64.cc
4717         (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
4718         loop_vec_info as argument.  Restrict the unroll factor to values
4719         that divide the VF.
4720         (aarch64_vector_costs::finish_cost): Update call accordingly.
4722 2022-04-13  Richard Biener  <rguenther@suse.de>
4724         PR tree-optimization/105263
4725         * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
4726         negates in multiplication chains with DFP.
4728 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
4730         PR middle-end/105253
4731         * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
4732         use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
4733         comparisons or tree_nop_conversion_p checks.
4735 2022-04-13  Hongyu Wang  <hongyu.wang@intel.com>
4737         PR target/103069
4738         * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
4739           Add missing set to target_val at pause label.
4741 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
4743         PR target/105234
4744         * attribs.cc (decl_attributes): Don't set
4745         DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
4746         NULL.
4748 2022-04-13  Richard Biener  <rguenther@suse.de>
4750         PR tree-optimization/105250
4751         * fold-const.cc (fold_convertible_p): Revert
4752         r12-7979-geaaf77dd85c333, instead check for size equality
4753         of the vector types involved.
4755 2022-04-13  Richard Biener  <rguenther@suse.de>
4757         Revert:
4758         2022-04-13  Richard Biener  <rguenther@suse.de>
4760         PR tree-optimization/104912
4761         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
4762         the cost model check to a separate BB to make sure it is
4763         checked first and not combined with other version checks.
4765 2022-04-13  Richard Biener  <rguenther@suse.de>
4767         PR tree-optimization/104912
4768         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
4769         the cost model check to a separate BB to make sure it is
4770         checked first and not combined with other version checks.
4772 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
4774         * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
4776 2022-04-12  Antoni Boucher  <bouanto@zoho.com>
4778         PR jit/104072
4779         * reginfo.cc: New functions (clear_global_regs_cache,
4780         reginfo_cc_finalize) to avoid an issue where compiling the same
4781         code multiple times gives an error about assigning the same
4782         register to 2 global variables.
4783         * rtl.h: New function (reginfo_cc_finalize).
4784         * toplev.cc: Call it.
4786 2022-04-12  Antoni Boucher  <bouanto@zoho.com>
4788         PR jit/104071
4789         * toplev.cc: Call the new function tree_cc_finalize in
4790         toplev::finalize.
4791         * tree.cc: New functions (clear_nonstandard_integer_type_cache
4792         and tree_cc_finalize) to clear the cache of non-standard integer
4793         types to avoid having issues with some optimizations of
4794         bitcast where the SSA_NAME will have a size of a cached
4795         integer type that should have been invalidated, causing a
4796         comparison of integer constant to fail.
4797         * tree.h: New function (tree_cc_finalize).
4799 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
4801         PR target/97348
4802         * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
4803         * config/nvptx/nvptx.opt (misa): Adjust comment.
4805 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
4807         Revert:
4808         2022-03-03  Tom de Vries  <tdevries@suse.de>
4810         * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
4812 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
4814         Revert:
4815         2022-03-31  Tom de Vries  <tdevries@suse.de>
4817         * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
4819 2022-04-12  Richard Biener  <rguenther@suse.de>
4821         PR ipa/104303
4822         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
4823         include local escaped memory as obviously necessary stores.
4825 2022-04-12  Richard Biener  <rguenther@suse.de>
4827         PR tree-optimization/105235
4828         * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
4829         return whether the CFG changed.
4830         (execute_cse_sincos_1): Adjust.
4832 2022-04-12  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>
4834         PR target/104144
4835         * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
4836         (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
4837         (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
4838         (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
4839         (MULTILIB_REUSE): Remove remap rules for Armv9-a.
4840         * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
4841         (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
4843 2022-04-12  Richard Biener  <rguenther@suse.de>
4845         PR tree-optimization/105232
4846         * tree.cc (component_ref_size): Bail out for too large
4847         or non-constant sizes.
4849 2022-04-12  Richard Biener  <rguenther@suse.de>
4851         PR tree-optimization/105226
4852         * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
4853         we can split the exit of an outer loop we choose to version.
4855 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
4857         * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
4858         ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
4859         ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
4860         ix86_emit_swdivsf, ix86_emit_swsqrtsf,
4861         ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
4862         Formatting fix.
4863         * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
4865 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
4867         PR target/105214
4868         * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
4869         do_pending_stack_adjust.
4871 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
4873         PR rtl-optimization/105211
4874         * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
4875         fails for TREE_TYPE (arg), retry it with
4876         TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
4877         fails, emit call normally.
4879 2022-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>
4881         * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
4882         * config.gcc: Add z16 as march/mtune switch.
4883         * config/s390/driver-native.cc (s390_host_detect_local_cpu):
4884         Recognize z16 with -march=native.
4885         * config/s390/s390-opts.h (enum processor_type): Rename
4886         PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
4887         * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
4888         (PROCESSOR_3931_Z16): ... throughout the file.
4889         (s390_processor processor_table): Add z16 as cpu string.
4890         * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
4891         PF_Z16.
4892         (TARGET_CPU_ARCH14): Rename to ...
4893         (TARGET_CPU_Z16): ... this.
4894         (TARGET_CPU_ARCH14_P): Rename to ...
4895         (TARGET_CPU_Z16_P): ... this.
4896         (TARGET_ARCH14): Rename to ...
4897         (TARGET_Z16): ... this.
4898         (TARGET_ARCH14_P): Rename to ...
4899         (TARGET_Z16_P): ... this.
4900         * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
4901         check TARGET_Z16 instead of TARGET_ARCH14.
4902         * config/s390/s390.opt: Add z16 to processor_type.
4903         * doc/invoke.texi: Document z16 and arch14.
4905 2022-04-12  chenglulu  <chenglulu@loongson.cn>
4907         * config/loongarch/loongarch.cc: Fix bug for
4908         tmpdir-g++.dg-struct-layout-1/t033.
4910 2022-04-11  Peter Bergner  <bergner@linux.ibm.com>
4912         PR target/104894
4913         * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
4914         to longcall functions.
4916 2022-04-11  Jason Merrill  <jason@redhat.com>
4918         * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
4920 2022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>
4922         PR target/105213
4923         PR target/103623
4924         * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
4926 2022-04-11  Jakub Jelinek  <jakub@redhat.com>
4928         PR tree-optimization/105218
4929         * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
4930         more than one predecessor or phi's bb more than 2 predecessors,
4931         reset phi result uses instead of adding a debug temp.
4933 2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
4935         PR target/104853
4936         * config.gcc: Pass -misa-spec to arch-canonicalize and
4937         multilib-generator.
4938         * config/riscv/arch-canonicalize: Adding -misa-spec option.
4939         (SUPPORTED_ISA_SPEC): New.
4940         (arch_canonicalize): New argument `isa_spec`.
4941         Handle multiple ISA spec versions.
4942         * config/riscv/multilib-generator: Adding -misa-spec option.
4944 2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
4946         * config/riscv/arch-canonicalize: Add TODO item.
4947         (IMPLIED_EXT): Sync.
4948         (arch_canonicalize): Checking until no change.
4950 2022-04-11  Tamar Christina  <tamar.christina@arm.com>
4952         PR target/105197
4953         * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
4954         not masked.
4956 2022-04-11  Jason Merrill  <jason@redhat.com>
4958         PR c++/100370
4959         * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
4960         deref == -1.
4962 2022-04-11  Jakub Jelinek  <jakub@redhat.com>
4964         PR tree-optimization/104639
4965         * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
4966         (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
4967         into x != cst3.
4969 2022-04-11  Jeff Law  <jeffreyalaw@gmail.com>
4971         * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
4972         sign bit of the source ends up in CC.
4974 2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
4976         PR ipa/103376
4977         * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
4978         flag.
4980 2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
4982         * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
4983         nondeterministic and side_effects flags.
4985 2022-04-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
4987         PR target/105157
4988         * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
4989         * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
4990         (TARGET_CPU_MASK): Likewise.
4991         (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
4992         * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
4993         (aarch64_get_arch): Likewise.
4994         (aarch64_override_options): Use TARGET_CPU_NBITS.
4996 2022-04-08  Richard Biener  <rguenther@suse.de>
4998         PR tree-optimization/105198
4999         * tree-predcom.cc (find_looparound_phi): Check whether
5000         the found memory location of the entry value is clobbered
5001         inbetween the value we want to use and loop entry.
5003 2022-04-08  Jakub Jelinek  <jakub@redhat.com>
5005         PR tree-optimization/105189
5006         * fold-const.cc (make_range_step): Fix up handling of
5007         (unsigned) x +[low, -] ranges for signed x if low fits into
5008         typeof (x).
5010 2022-04-08  Richard Biener  <rguenther@suse.de>
5012         PR tree-optimization/105175
5013         * tree-vect-stmts.cc (vectorizable_operation): Suppress
5014         -Wvector-operation-performance if using emulated vectors.
5015         * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
5016         -Wvector-operation-performance when suppressed.
5017         (expand_vector_parallel): Likewise.
5018         (expand_vector_comparison): Likewise.
5019         (expand_vector_condition): Likewise.
5020         (lower_vec_perm): Likewise.
5021         (expand_vector_conversion): Likewise.
5023 2022-04-07  Tamar Christina  <tamar.christina@arm.com>
5025         PR target/104409
5026         * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
5027         (aarch64_general_init_builtins): Move LS64 code.
5028         * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
5029         arm_acle.h
5030         * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
5031         * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
5033 2022-04-07  Richard Biener  <rguenther@suse.de>
5034             Jan Hubicka  <hubicka@ucw.cz>
5036         PR ipa/104303
5037         * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
5038         ref_may_alias_global_p, ref_may_alias_global_p,
5039         stmt_may_clobber_global_p, pt_solution_includes_global): Add
5040         bool parameters indicating whether escaped locals should be
5041         considered global.
5042         * tree-ssa-structalias.cc (pt_solution_includes_global):
5043         When the new escaped_nonlocal_p flag is true also consider
5044         pt->vars_contains_escaped.
5045         * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
5046         Pass down new escaped_nonlocal_p flag.
5047         (ref_may_alias_global_p): Likewise.
5048         (stmt_may_clobber_global_p): Likewise.
5049         (ref_may_alias_global_p_1): Likewise.  For decls also
5050         query the escaped solution if true.
5051         (ref_may_access_global_memory_p): Remove.
5052         (modref_may_conflict): Use ref_may_alias_global_p with
5053         escaped locals considered global.
5054         (ref_maybe_used_by_stmt_p): Adjust.
5055         * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
5056         Likewise.
5057         * tree-ssa-dse.cc (dse_classify_store): Likewise.
5058         * trans-mem.cc (thread_private_new_memory): Likewise, but
5059         consider escaped locals global.
5060         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
5062 2022-04-07  Richard Biener  <rguenther@suse.de>
5064         PR tree-optimization/105185
5065         * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
5066         modref query again.
5068 2022-04-07  Tamar Christina  <tamar.christina@arm.com>
5070         PR target/104049
5071         * config/aarch64/aarch64-simd.md
5072         (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
5073         (reduc_plus_scal_<mode>): ... This.
5074         (reduc_plus_scal_v4sf): Moved.
5075         (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
5076         (reduc_plus_scal_v2si): ... This.
5078 2022-04-07  Jakub Jelinek  <jakub@redhat.com>
5080         PR tree-optimization/102586
5081         * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
5082         langhook.
5083         * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
5084         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
5085         * gimple-fold.cc (clear_padding_type): Use ftype instead of
5086         TREE_TYPE (field) some more.  For artificial FIELD_DECLs without
5087         name try the lang_hooks.types.classtype_as_base langhook and
5088         if it returns non-NULL, use that instead of ftype for recursive call.
5090 2022-04-07  Jakub Jelinek  <jakub@redhat.com>
5092         PR tree-optimization/105150
5093         * tree.cc (tree_builtin_call_types_compatible_p): New function.
5094         (get_call_combined_fn): Use it.
5096 2022-04-07  Richard Biener  <rguenther@suse.de>
5098         PR middle-end/105165
5099         * tree-complex.cc (expand_complex_asm): Sorry for asm goto
5100         _Complex outputs.
5102 2022-04-07  liuhongt  <hongtao.liu@intel.com>
5104         * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
5105         Removed.
5106         (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
5107         for mask_applied.
5108         (<code><mode>3<mask_name>): Ditto.
5109         (*<code><mode>3<mask_name>): Ditto.
5110         (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
5111         real instruction.
5112         (VFB_512): Ditto.
5113         (VFB): Ditto.
5115 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
5117         PR rtl-optimization/104985
5118         * combine.cc (struct undo): Add where.regno member.
5119         (do_SUBST_MODE): Rename to ...
5120         (subst_mode): ... this.  Change first argument from rtx * into int,
5121         operate on regno_reg_rtx[regno] and save regno into where.regno.
5122         (SUBST_MODE): Remove.
5123         (try_combine): Use subst_mode instead of SUBST_MODE, change first
5124         argument from regno_reg_rtx[whatever] to whatever.  For UNDO_MODE, use
5125         regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
5126         (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
5127         instead of *undo->where.r.
5128         (simplify_set): Use subst_mode instead of SUBST_MODE, change first
5129         argument from regno_reg_rtx[whatever] to whatever.
5131 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
5133         PR target/105069
5134         * config/sh/sh.opt (mdiv=): Add Save.
5136 2022-04-06  Martin Liska  <mliska@suse.cz>
5138         PR driver/105096
5139         * common.opt: Document properly based on what it does.
5140         * gcc.cc (display_help): Unify with what we have in common.opt.
5141         * opts.cc (common_handle_option): Do not print undocumented
5142         options.
5144 2022-04-06  Xi Ruoyao  <xry111@mengyan1223.wang>
5146         * config/mips/mips.cc (mips_fpr_return_fields): Ignore
5147         cxx17_empty_base_field_p fields and set an indicator.
5148         (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
5149         (mips_function_value_1): Inform psABI change about C++17 empty
5150         bases.
5152 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
5154         PR tree-optimization/105150
5155         * gimple.cc (gimple_builtin_call_types_compatible_p): Use
5156         builtin_decl_explicit here...
5157         (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
5158         here.
5160 2022-04-06  Richard Biener  <rguenther@suse.de>
5162         PR tree-optimization/105173
5163         * tree-ssa-reassoc.cc (find_insert_point): Get extra
5164         insert_before output argument and compute it.
5165         (insert_stmt_before_use): Adjust.
5166         (rewrite_expr_tree): Likewise.
5168 2022-04-06  Richard Biener  <rguenther@suse.de>
5170         PR ipa/105166
5171         * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
5172         out for non-pointer arguments.
5174 2022-04-06  Richard Biener  <rguenther@suse.de>
5176         PR tree-optimization/105163
5177         * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
5178         negated abnormals.
5180 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
5182         PR tree-optimization/105150
5183         * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
5184         For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
5185         preferrably on builtin_decl_explicit decl rather than fndecl.
5186         * tree-ssa-strlen.cc (valid_builtin_call): Don't call
5187         gimple_builtin_call_types_compatible_p here.
5189 2022-04-06  Richard Sandiford  <richard.sandiford@arm.com>
5191         PR tree-optimization/103761
5192         * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
5193         the ncopies parameter with an slp_node parameter.  Calculate the
5194         number of vectors based on it and vectype.  Rename lambda to
5195         group_memory_nvectors.
5196         (vectorizable_store, vectorizable_load): Update calls accordingly.
5198 2022-04-06  Martin Liska  <mliska@suse.cz>
5200         * doc/invoke.texi: Document it.
5202 2022-04-06  Richard Biener  <rguenther@suse.de>
5204         PR tree-optimization/105148
5205         * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
5206         2 and 3 of ARRAY_REFs.
5208 2022-04-06  Roger Sayle  <roger@nextmovesoftware.com>
5210         * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
5211         (*andnottf3): Replace with...
5212         (*andnot<mode>3): New define_insn using ANDNOT_MODE.
5214 2022-04-06  Richard Biener  <rguenther@suse.de>
5216         PR tree-optimization/105142
5217         * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
5218         basic-block parameter.
5219         (maybe_fold_or_comparisons): Likewise.
5220         * gimple-fold.cc (follow_outer_ssa_edges): New.
5221         (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
5222         when an outer condition basic-block is specified.
5223         (and_comparisons_1, and_var_with_comparison,
5224         and_var_with_comparison_1, or_comparisons_1,
5225         or_var_with_comparison, or_var_with_comparison_1): Receive and pass
5226         down the outer condition basic-block.
5227         * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
5228         basic-block of the outer condition.
5230 2022-04-06  Kewen Lin  <linkw@linux.ibm.com>
5232         PR target/105002
5233         * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
5234         comparison codes UNLT/UNLE/UNGT/UNGE.
5236 2022-04-05  David Malcolm  <dmalcolm@redhat.com>
5238         * doc/extend.texi (Common Function Attributes): Document that
5239         'access' does not imply 'nonnull'.
5241 2022-04-05  Uroš Bizjak  <ubizjak@gmail.com>
5243         PR target/105139
5244         * config/i386/mmx.md (*movv2qi_internal):
5245         Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
5247 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
5249         * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
5250         define_expand and turn operands 0 and 1 from REGs to MEMs.
5251         (*aarch64_cpymemdi): New pattern.
5252         (aarch64_setmemdi): Turn into a define_expand and turn operand 0
5253         from a REG to a MEM.
5254         (*aarch64_setmemdi): New pattern.
5255         * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
5256         copy_to_mode_reg on all three registers.  Replace the original
5257         MEM addresses rather than creating wild reads and writes.
5258         (aarch64_expand_setmem_mops): Likewise for the size and for the
5259         destination memory and address.
5261 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
5263         PR target/103147
5264         * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
5265         * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
5266         from aarch64_simd_switcher.
5267         * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
5268         New variable.
5269         (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
5270         (register_tuple_type): Add more asserts.  Expect the alignment
5271         of the structure to be subject to flag_pack_struct and
5272         maximum_field_alignment.  Set aarch64_simd_tuple_modes.
5273         (aarch64_simd_switcher::aarch64_simd_switcher): New function.
5274         (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
5275         (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
5276         (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
5277         while calling aarch64_init_simd_builtins.
5278         * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
5279         (sve_switcher::~sve_switcher): Remove code now performed by
5280         aarch64_simd_switcher.
5282 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
5284         PR target/104897
5285         * config/aarch64/aarch64-sve-builtins.cc
5286         (function_resolver::infer_vector_or_tuple_type): Use error_n
5287         for "%d vectors" messages.
5289 2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
5291         * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
5292         argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
5293         current clause.
5295 2022-04-05  Richard Biener  <rguenther@suse.de>
5297         PR c/105151
5298         * passes.def (pass_walloca): Move early instance into
5299         pass_build_ssa_passes to make SSA form available.
5301 2022-04-05  liuhongt  <hongtao.liu@intel.com>
5303         PR target/101908
5304         * config/i386/i386.cc (ix86_split_stlf_stall_load): New
5305         function
5306         (ix86_reorg): Call ix86_split_stlf_stall_load.
5307         * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
5308         param.
5310 2022-04-05  Alexandre Oliva  <oliva@adacore.com>
5312         * targhooks.cc (default_zero_call_used_regs): Attempt to group
5313         regs that the target refuses to use in their natural modes.
5314         (zcur_select_mode_rtx): New.
5315         * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
5316         (hard_regno_max_nregs): Define.
5317         * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
5319 2022-04-04  Alex Coplan  <alex.coplan@arm.com>
5321         * doc/match-and-simplify.texi: Fix typos.
5323 2022-04-04  Jakub Jelinek  <jakub@redhat.com>
5325         PR target/105144
5326         * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
5327         only if configured with --enable-maintainer-mode, otherwise compare
5328         tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
5329         if they differ, emit a message and fail.
5331 2022-04-04  Jakub Jelinek  <jakub@redhat.com>
5333         PR target/105144
5334         * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
5335         * config/aarch64/aarch64-tune.md: Regenerated.
5337 2022-04-04  Richard Biener  <rguenther@suse.de>
5339         PR tree-optimization/105132
5340         * tree-vect-stmts.cc (vectorizable_operation): Check that
5341         the input vectors have the same number of elements.
5343 2022-04-04  Richard Biener  <rguenther@suse.de>
5345         PR middle-end/105140
5346         * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
5348 2022-04-03  Jeff Law  <jeffreyalaw@gmail.com>
5350         PR target/104987
5351         * config/iq2000/iq2000.md (bbi): New attribute,  default to no.
5352         (delay slot descripts): Use different delay slot description when
5353         the insn as the "bbi" attribute.
5354         (bbi, bbin patterns): Set the bbi attribute to yes.
5356 2022-04-03  Jakub Jelinek  <jakub@redhat.com>
5358         PR target/105123
5359         * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
5360         using word as target for expand_simple_binop when doing ASHIFT and
5361         IOR.
5363 2022-04-02  Xi Ruoyao  <xry111@mengyan1223.wang>
5365         * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
5366         NULL before dereferencing it.
5368 2022-04-01  Qing Zhao  <qing.zhao@oracle.com>
5370         * config/i386/i386.cc (zero_all_st_registers): Return the value of
5371         num_of_st.
5372         (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
5373         the return value of zero_all_st_registers.
5374         * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
5375         * function.cc (gen_call_used_regs_seq): Add an assertion.
5376         * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
5378 2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
5380         PR target/102024
5381         * config/mips/mips.cc (mips_function_arg): Ignore zero-width
5382         fields, and inform if it causes a psABI change.
5384 2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
5386         PR target/102024
5387         * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
5388         zero-width bit-fields and set up an indicator.
5389         (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
5390         (mips_function_value_1): Diagnose when the presense of a C++
5391         zero-width bit-field changes function returning in GCC 12.
5393 2022-04-01  Jakub Jelinek  <jakub@redhat.com>
5395         PR tree-optimization/104645
5396         * tree-ssa-phiopt.cc (value_replacement): If assign has
5397         CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
5398         statement with constant evaluation.
5400 2022-04-01  YunQiang Su  <yunqiang.su@cipunited.com>
5402         * config/mips/mips.cc (mips_expand_prologue):
5403           IPL is 8bit for MCU ASE.
5405 2022-03-31  Bill Schmidt  <wschmidt@linux.ibm.com>
5407         PR target/104004
5408         * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
5409         (MTFSB0): Likewise.
5410         (MTFSB1): Likewise.
5411         (SET_FPSCR_RN): Likewise.
5412         (SET_FPSCR_DRN): Mark nosoft and no32bit.
5414 2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
5416         * doc/options.texi (Option file format): Clarifications around
5417         option definition records' help texts.
5419 2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
5421         * optc-gen.awk <END>: Fix "Multiple different help strings" error
5422         diagnostic.
5424 2022-03-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
5426         * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
5427         determine_suggested_unroll_factor and m_has_avg.
5428         (determine_suggested_unroll_factor): New function.
5429         (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
5430         to set m_nosve_pattern.
5431         (aarch64_vector_costs::finish_costs): Use
5432         determine_suggested_unroll_factor.
5433         * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
5434         * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
5436 2022-03-31  Martin Jambor  <mjambor@suse.cz>
5438         PR ipa/103083
5439         * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
5440         (ipa_get_jf_ancestor_keep_null): New function.
5441         * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
5442         ancestor function.
5443         (compute_complex_assign_jump_func): Pass false to keep_null
5444         parameter of ipa_set_ancestor_jf.
5445         (compute_complex_ancestor_jump_func): Pass true to keep_null
5446         parameter of ipa_set_ancestor_jf.
5447         (update_jump_functions_after_inlining): Carry over keep_null from the
5448         original ancestor jump-function or merge them.
5449         (ipa_write_jump_function): Stream keep_null flag.
5450         (ipa_read_jump_function): Likewise.
5451         (ipa_print_node_jump_functions_for_edge): Print the new flag.
5452         * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const.  New
5453         member function known_nonzero_p.
5454         (ipcp_bits_lattice::known_nonzero_p): New.
5455         (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
5456         observe it.
5457         (ipcp_bits_lattice::meet_with): Likewise.
5458         (propagate_bits_across_jump_function): Simplify.  Pass true in
5459         drop_all_ones when it is necessary.
5460         (propagate_aggs_across_jump_function): Take care of keep_null
5461         flag.
5462         (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
5463         jump functions.
5465 2022-03-31  Martin Jambor  <mjambor@suse.cz>
5467         PR ipa/102513
5468         * ipa-cp.cc (decide_whether_version_node): Skip scalar values
5469         which do not fit the known value_range.
5471 2022-03-31  Martin Jambor  <mjambor@suse.cz>
5473         PR ipa/103171
5474         * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
5475         always when an ADDR_EXPR constant is known to reach a load because
5476         of inlining, not just when removing an ADDR reference.
5478 2022-03-31  Richard Biener  <rguenther@suse.de>
5480         PR tree-optimization/105109
5481         * tree-ssa.cc (execute_update_addresses_taken): Suppress
5482         diagnostics on the load of the other complex component.
5484 2022-03-31  Tom de Vries  <tdevries@suse.de>
5486         * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
5488 2022-03-31  Richard Biener  <rguenther@suse.de>
5490         PR rtl-optimization/105091
5491         * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
5492         bases.
5494 2022-03-31  Richard Biener  <rguenther@suse.de>
5496         Revert:
5497         2021-09-13  Richard Earnshaw  <rearnsha@arm.com>
5499         PR target/102125
5500         * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
5501         memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
5503 2022-03-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5505         * gcov-io.cc (gcov_read_string): Reword documentation comment.
5507 2022-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>
5509         * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
5510         stanza.
5511         (NEG_V4SF): Likewise.
5512         (NEG_V4SI): Likewise.
5513         (NEG_V8HI): Likewise.
5514         (NEG_V2DF): Move to [vsx] stanza.
5515         (NEG_V2DI): Likewise.
5517 2022-03-30  Vladimir N. Makarov  <vmakarov@redhat.com>
5519         PR middle-end/105032
5520         * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
5522 2022-03-30  Tom de Vries  <tdevries@suse.de>
5523             Tobias Burnus  <tobias@codesourcery.com>
5525         * doc/invoke.texi (march): Document __PTX_SM__.
5526          (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
5527          __PTX_ISA_VERSION_MINOR__.
5529 2022-03-30  Jakub Jelinek  <jakub@redhat.com>
5531         PR sanitizer/105093
5532         * ubsan.cc (instrument_object_size): If t is equal to inner and
5533         is a decl other than global var, punt.  When emitting call to
5534         UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
5536 2022-03-30  Jakub Jelinek  <jakub@redhat.com>
5538         PR tree-optimization/105094
5539         * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
5540         bitsize <= 0 rather than just == 0.
5542 2022-03-30  Tom de Vries  <tdevries@suse.de>
5544         * doc/invoke.texi (misa, mptx): Update.
5545         (march, march-map): Add.
5547 2022-03-30  Thomas Schwinge  <thomas@codesourcery.com>
5549         * opt-functions.awk (n_args): New function.
5550         (lang_enabled_by): Merge function into...
5551         * optc-gen.awk <END>: ... sole user here.
5552         Improve diagnostics.
5554 2022-03-29  Marek Polacek  <polacek@redhat.com>
5555             Jakub Jelinek  <jakub@redhat.com>
5557         PR middle-end/103597
5558         * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
5559         into labels.  Maybe set prev to the statement preceding UNUSED_LABEL_P.
5560         (gimplify_cond_expr): Set UNUSED_LABEL_P.
5561         * tree.h (UNUSED_LABEL_P): New.
5563 2022-03-29   Michael Meissner  <meissner@linux.ibm.com>
5565         * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
5566         be any VSX register.
5568 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
5570         PR target/102024
5571         * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
5572         zero-sized bit-fields.  Detect cases where a warning may be needed.
5573         (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
5574         zero-sized bit-field has caused parameter passing to change.
5576 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
5578         PR target/102024
5579         * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
5580         bit-fields.  Detect cases where a warning may be needed.
5581         (aapcs_vfp_is_call_or_return_candidate): Emit a note if
5582         a zero-sized bit-field has caused parameter passing to change.
5584 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
5586         PR target/96882
5587         * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
5588         ARM_PCS_AAPCS_LOCAL.
5590 2022-03-29  Tom de Vries  <tdevries@suse.de>
5592         PR target/104857
5593         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
5594         __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
5595         * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
5596         * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
5598 2022-03-29  Tom de Vries  <tdevries@suse.de>
5600         * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
5601         is ignored.
5603 2022-03-29  Tom de Vries  <tdevries@suse.de>
5605         PR target/104714
5606         * config/nvptx/nvptx.opt (march-map=*): Add aliases.
5608 2022-03-29  Jan Hubicka  <hubicka@ucw.cz>
5610         * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
5611         TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
5612         * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
5613         (TARGET_USE_GATHER_4PARTS): New macro.
5614         * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
5615         (X86_TUNE_USE_GATHER_4PARTS): New tune
5617 2022-03-29  Tom de Vries  <tdevries@suse.de>
5619         * config/nvptx/nvptx.opt (march): Add alias of misa.
5621 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
5622             Lulu Cheng  <chenglulu@loongson.cn>
5624         * doc/install.texi: Add LoongArch options section.
5625         * doc/invoke.texi: Add LoongArch options section.
5626         * doc/md.texi: Add LoongArch options section.
5628 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
5629             Lulu Cheng  <chenglulu@loongson.cn>
5631         * config/loongarch/loongarch-c.cc
5633 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
5634             Lulu Cheng  <chenglulu@loongson.cn>
5636         * config/loongarch/larchintrin.h: New file.
5637         * config/loongarch/loongarch-builtins.cc: New file.
5639 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
5640             Lulu Cheng  <chenglulu@loongson.cn>
5642         * config/host-linux.cc: Add LoongArch support.
5643         * config/loongarch/loongarch-protos.h: New file.
5644         * config/loongarch/loongarch-tune.h: Likewise.
5645         * config/loongarch/loongarch.cc: Likewise.
5646         * config/loongarch/loongarch.h: Likewise.
5648 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
5649             Lulu Cheng  <chenglulu@loongson.cn>
5651         * config/loongarch/constraints.md: New file.
5652         * config/loongarch/generic.md: New file.
5653         * config/loongarch/la464.md: New file.
5654         * config/loongarch/loongarch-ftypes.def: New file.
5655         * config/loongarch/loongarch-modes.def: New file.
5656         * config/loongarch/loongarch.md: New file.
5657         * config/loongarch/predicates.md: New file.
5658         * config/loongarch/sync.md: New file.
5660 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
5661             Lulu Cheng  <chenglulu@loongson.cn>
5663         * configure: Regenerate file.
5665 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
5666             Lulu Cheng  <chenglulu@loongson.cn>
5668         * common/config/loongarch/loongarch-common.cc: New file.
5669         * config/loongarch/genopts/genstr.sh: New file.
5670         * config/loongarch/genopts/loongarch-strings: New file.
5671         * config/loongarch/genopts/loongarch.opt.in: New file.
5672         * config/loongarch/loongarch-str.h: New file.
5673         * config/loongarch/gnu-user.h: New file.
5674         * config/loongarch/linux.h: New file.
5675         * config/loongarch/loongarch-cpu.cc: New file.
5676         * config/loongarch/loongarch-cpu.h: New file.
5677         * config/loongarch/loongarch-def.c: New file.
5678         * config/loongarch/loongarch-def.h: New file.
5679         * config/loongarch/loongarch-driver.cc: New file.
5680         * config/loongarch/loongarch-driver.h: New file.
5681         * config/loongarch/loongarch-opts.cc: New file.
5682         * config/loongarch/loongarch-opts.h: New file.
5683         * config/loongarch/loongarch.opt: New file.
5684         * config/loongarch/t-linux: New file.
5685         * config/loongarch/t-loongarch: New file.
5686         * config.gcc: Add LoongArch support.
5687         * configure.ac: Add LoongArch support.
5689 2022-03-29  Thomas Schwinge  <thomas@codesourcery.com>
5691         * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
5692         typo.
5694 2022-03-29  Richard Biener  <rguenther@suse.de>
5696         PR tree-optimization/105080
5697         * tree-ssa-strlen.cc (printf_strlen_execute): Always init
5698         loops and SCEV.
5700 2022-03-28  Indu Bhagat  <indu.bhagat@oracle.com>
5702         * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
5703         (output_ctf_vars): Likewise.
5705 2022-03-28  Jason Merrill  <jason@redhat.com>
5707         PR c++/59426
5708         * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
5710 2022-03-28  H.J. Lu  <hjl.tools@gmail.com>
5712         PR target/105068
5713         * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
5714         "Yw" in clobber.
5716 2022-03-28  Tom de Vries  <tdevries@suse.de>
5718         PR target/104818
5719         * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
5720         * config/nvptx/nvptx-gen.opt: Regenerate.
5721         * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
5722         * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
5723         gen-opt.sh.
5725 2022-03-28  David Malcolm  <dmalcolm@redhat.com>
5727         PR analyzer/104308
5728         * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
5729         to loads then stores, set the location of the new load stmt.
5731 2022-03-28  Richard Biener  <rguenther@suse.de>
5733         PR tree-optimization/105070
5734         * tree-switch-conversion.h
5735         (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
5736         argument.
5737         * tree-switch-conversion.cc
5738         (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
5739         cond with location.
5740         (bit_test_cluster::emit): Annotate all generated expressions
5741         with location.
5743 2022-03-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
5745         * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
5747 2022-03-28  liuhongt  <hongtao.liu@intel.com>
5749         PR target/105066
5750         * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
5751         alternative 4 from sse4_noavx to noavx.
5753 2022-03-28  Jakub Jelinek  <jakub@redhat.com>
5755         PR tree-optimization/105056
5756         * tree-predcom.cc (component::component): Initialize also comp_step.
5758 2022-03-27  H.J. Lu  <hjl.tools@gmail.com>
5760         PR target/105068
5761         * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
5762         "Yw".
5764 2022-03-26  Roger Sayle  <roger@nextmovesoftware.com>
5766         PR middle-end/104885
5767         * calls.cc (mark_stack_region_used): Check that the region
5768         is within the allocated size of stack_usage_map.
5770 2022-03-26  Jakub Jelinek  <jakub@redhat.com>
5772         PR rtl-optimization/103775
5773         * recog.cc (check_invalid_inc_dec): New function.
5774         (insn_invalid_p): Return 1 if REG_INC operand overlaps
5775         any stored REGs.
5777 2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
5779         PR target/105058
5780         * config/i386/sse.md (loadiwkey): Replace "v" with "x".
5781         (aes<aesklvariant>u8): Likewise.
5783 2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
5785         PR target/105052
5786         * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
5787         Replace "Yv" with "x".
5788         (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
5789         (ssse3_psign<mode>3): Likewise.
5791 2022-03-26  Hans-Peter Nilsson  <hp@axis.com>
5793         * reload.cc (find_reloads): Align comment with code where
5794         considering the intersection of register classes then tweaking the
5795         regclass for the current alternative or rejecting it.
5797 2022-03-25  Christophe Lyon  <christohe.lyon@arm.com>
5799         PR target/104882
5800         Revert
5801         2021-06-11  Christophe Lyon  <christophe.lyon@linaro.org>
5803         * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
5804         (mve_vec_unpack<US>_hi_<mode>): Delete.
5805         (@mve_vec_pack_trunc_lo_<mode>): Delete.
5806         (mve_vmovntq_<supf><mode>): Remove '@' prefix.
5807         * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
5808         from vec-common.md.
5809         (vec_unpack<US>_lo_<mode>): Likewise.
5810         (vec_pack_trunc_<mode>): Rename from
5811         neon_quad_vec_pack_trunc_<mode>.
5812         * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
5813         (vec_unpack<US>_lo_<mode>): Delete.
5814         (vec_pack_trunc_<mode>): Delete.
5816 2022-03-25  Vladimir N. Makarov  <vmakarov@redhat.com>
5818         PR middle-end/104971
5819         * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
5820         regs to clear remove_p flag.
5822 2022-03-25  Richard Biener  <rguenther@suse.de>
5824         PR tree-optimization/105053
5825         * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
5826         the correct live-out stmt for a reduction chain.
5828 2022-03-25  Richard Biener  <rguenther@suse.de>
5830         PR middle-end/105049
5831         * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
5832         CONSTRUCTOR first elements.
5834 2022-03-25  Tobias Burnus  <tobias@codesourcery.com>
5836         PR analyzer/103533
5837         * doc/invoke.texi (Static Analyzer Options): Move
5838         @ignore block after @gccoptlist's '}' for 'make pdf'.
5840 2022-03-25  David Malcolm  <dmalcolm@redhat.com>
5842         PR analyzer/104954
5843         * doc/invoke.texi (Static Analyzer Options): Add
5844         -fdump-analyzer-untracked.
5846 2022-03-25  Avinash Sonawane  <rootkea@gmail.com>
5848         PR analyzer/103533
5849         * doc/invoke.texi: Document that enabling taint analyzer
5850         checker disables some warnings from `-fanalyzer`.
5852 2022-03-24  Alexandre Oliva  <oliva@adacore.com>
5854         PR debug/104564
5855         * gimple-harden-conditionals.cc (detach_value): Keep temps
5856         anonymous.
5858 2022-03-24  Alexandre Oliva  <oliva@adacore.com>
5860         PR middle-end/104975
5861         * gimple-harden-conditionals.cc
5862         (pass_harden_compares::execute): Force split in case of
5863         multiple edges.
5865 2022-03-24  Jakub Jelinek  <jakub@redhat.com>
5867         PR c++/105035
5868         * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
5869         field0 or field1 is not a FIELD_DECL, return false.
5871 2022-03-24  Richard Biener  <rguenther@suse.de>
5873         * tree-predcom.cc (chain::chain): Add CTOR.
5874         (component::component): Likewise.
5875         (pcom_worker::release_chain): Use delete.
5876         (release_components): Likewise.
5877         (pcom_worker::filter_suitable_components): Likewise.
5878         (pcom_worker::split_data_refs_to_components): Use new.
5879         (make_invariant_chain): Likewise.
5880         (make_rooted_chain): Likewise.
5881         (pcom_worker::combine_chains): Likewise.
5882         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
5883         Make sure to release previously constructed scalar_results.
5884         * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
5885         for vec_offsets.
5886         * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
5887         Release m_flag_set_edges.
5889 2022-03-24  Siddhesh Poyarekar  <siddhesh@gotplt.org>
5891         PR tree-optimization/104970
5892         * tree-object-size.cc (parm_object_size): Restrict size
5893         computation scenarios to explicit access attributes.
5895 2022-03-24  Kewen Lin  <linkw@linux.ibm.com>
5897         PR target/104967
5898         * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
5899         function types.
5901 2022-03-23  Richard Biener  <rguenther@suse.de>
5903         PR target/102125
5904         * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
5905         use of movmisalign when either the source or destination
5906         decl is properly aligned.
5908 2022-03-23  Richard Biener  <rguenther@suse.de>
5910         PR rtl-optimization/105028
5911         * ira-color.cc (form_threads_from_copies): Remove unnecessary
5912         copying of the sorted_copies tail.
5914 2022-03-23  Martin Liska  <mliska@suse.cz>
5916         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
5917         Use %qs in format.
5918         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
5919         Reword the error message.
5921 2022-03-23  liuhongt  <hongtao.liu@intel.com>
5923         PR target/104976
5924         * config/i386/sse.md (ssePSmodelower): New.
5925         (*avx_cmp<mode>3_ltint_not): Force_reg operand before
5926         lowpart_subreg to avoid NULL_RTX.
5927         (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
5928         <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
5929         fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
5930         <avx512>_<complexopname>_<mode>_mask<round_name>,
5931         avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
5932         avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
5933         avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
5934         avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
5935         float<floatunssuffix><mode>v4hf2,
5936         float<floatunssuffix>v2div2hf2,
5937         fix<fixunssuffix>_truncv4hf<mode>2,
5938         fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
5939         extendv2hfv2df2,
5940         trunc<mode>v4hf2,truncv2dfv2hf2,
5941         *avx512bw_permvar_truncv16siv16hi_1,
5942         *avx512bw_permvar_truncv16siv16hi_1_hf,
5943         *avx512f_permvar_truncv8siv8hi_1,
5944         *avx512f_permvar_truncv8siv8hi_1_hf,
5945         *avx512f_vpermvar_truncv8div8si_1,
5946         *avx512f_permvar_truncv32hiv32qi_1,
5947         *avx512f_permvar_truncv16hiv16qi_1,
5948         *avx512f_permvar_truncv4div4si_1,
5949         *avx512f_pshufb_truncv8hiv8qi_1,
5950         *avx512f_pshufb_truncv4siv4hi_1,
5951         *avx512f_pshufd_truncv2div2si_1,
5952         sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
5953         ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
5955 2022-03-22  Tom de Vries  <tdevries@suse.de>
5957         PR target/104925
5958         * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
5959         Use % as register prefix.
5961 2022-03-22  Tom de Vries  <tdevries@suse.de>
5963         * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
5964         (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
5965         mexperimental.
5967 2022-03-22  Tom de Vries  <tdevries@suse.de>
5969         * config/nvptx/nvptx.opt (mexperimental): New option.
5971 2022-03-22  Tom de Vries  <tdevries@suse.de>
5973         PR target/104957
5974         * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
5975         * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
5976         for alias.
5977         (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
5978         (nvptx_asm_output_def_from_decls): New function.
5979         * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
5980         gcc_unreachable ().
5981         (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
5982         nvptx_asm_output_def_from_decls.
5983         * config/nvptx/nvptx.opt (malias): New opt.
5985 2022-03-22  Tom de Vries  <tdevries@suse.de>
5987         PR target/104916
5988         PR target/104783
5989         * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
5990         sync (or uniform warp check for mptx < 6.0).
5992 2022-03-22  Richard Biener  <rguenther@suse.de>
5994         PR tree-optimization/105012
5995         * tree-if-conv.cc (ifcvt_local_dce): Only call
5996         dse_classify_store when we have a VDEF.
5998 2022-03-22  Martin Liska  <mliska@suse.cz>
6000         PR target/104902
6001         * config/nvptx/nvptx.cc (handle_ptx_version_option):
6002         Fix option wrapping in an error message.
6004 2022-03-22  Martin Liska  <mliska@suse.cz>
6006         PR target/104903
6007         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
6008         Wrap const keyword.
6010 2022-03-22  Martin Liska  <mliska@suse.cz>
6012         * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
6013         name.
6015 2022-03-22  Martin Liska  <mliska@suse.cz>
6017         PR target/104898
6018         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
6019         Use %qs instead of (%qs).
6021 2022-03-22  Martin Liska  <mliska@suse.cz>
6023         PR target/104898
6024         * config/i386/i386-options.cc (ix86_option_override_internal):
6025           Use '%qs' instead of '(%qs)'.
6027 2022-03-22  Martin Liska  <mliska@suse.cz>
6029         PR target/104898
6030         * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
6031         Use 'qs' and remove usage '(%qs)'.
6032         (aarch64_handle_attr_cpu): Likewise.
6033         (aarch64_handle_attr_tune): Likewise.
6034         (aarch64_handle_attr_isa_flags): Likewise.
6036 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
6037             Andre Vieira  <andre.simoesdiasvieira@arm.com>
6039         * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
6040         struct.
6041         (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
6042         cost.
6043         (neoverse512tvb_tunings): Likewise.
6045 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
6046             Andre Vieira  <andre.simoesdiasvieira@arm.com>
6048         * config/aarch64/aarch64.cc (demeter_addrcost_table,
6049         demeter_regmove_cost, demeter_advsimd_vector_cost,
6050         demeter_sve_vector_cost, demeter_scalar_issue_info,
6051         demeter_advsimd_issue_info, demeter_sve_issue_info,
6052         demeter_vec_issue_info, demeter_vector_cost,
6053         demeter_tunings): New tuning structs.
6054         (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
6055         tuning.
6056         * config/aarch64/aarch64-cores.def: Add entry for demeter.
6057         * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
6059 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
6060             Andre Vieira  <andre.simoesdiasvieira@arm.com>
6062         * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
6063         (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
6064         * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
6065         tunings to use cpu_memmov_cost struct.
6067 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
6068             Andre Vieira  <andre.simoesdiasvieira@arm.com>
6070         * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
6071         neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
6072         neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
6073         neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
6074         neoversen2_vec_issue_info, neoversen2_tunings): New structs.
6075         (neoversen2_tunings): Use new structs and update tuning flags.
6076         (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
6077         tuning.
6079 2022-03-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
6081         * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
6082         bit.
6084 2022-03-22  liuhongt  <hongtao.liu@intel.com>
6086         PR target/104982
6087         * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
6088         following splitter to reversed condition.
6090 2022-03-22  Jakub Jelinek  <jakub@redhat.com>
6092         PR rtl-optimization/104989
6093         * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
6094         sorry for passing too large argument, instead set sibcall_failure
6095         for pass == 0, or a new normal_failure flag otherwise.  If
6096         normal_failure is set, don't assert all stack has been deallocated
6097         at the end and throw away the whole insn sequence.
6099 2022-03-22  Qian Jianhua  <qianjh@cn.fujitsu.com>
6101         * print-tree.cc: Change array length
6103 2022-03-22  Hongyu Wang  <hongyu.wang@intel.com>
6105         PR target/104978
6106         * config/i386/sse.md
6107         (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
6108         Use avx512f_movsf_mask instead of vmovaps or vblend, and
6109         force_reg before lowpart_subreg.
6110         (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
6112 2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
6114         PR target/105000
6115         * common/config/i386/i386-common.cc
6116         (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
6117         OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
6119 2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
6121         PR target/104998
6122         * common/config/i386/cpuinfo.h (get_available_features): Pass
6123         0x19 to __cpuid for bit_AESKLE.  Enable FEATURE_AESKLE only if
6124         bit_AESKLE is set.
6126 2022-03-21  Richard Sandiford  <richard.sandiford@arm.com>
6128         PR middle-end/104869
6129         * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
6130         (clobber_group::next_clobber): Likewise.
6131         (def_lookup::prev_def): Rename to...
6132         (def_lookup::last_def_of_prev_group): ...this.
6133         (def_lookup::next_def): Rename to...
6134         (def_lookup::first_def_of_next_group): ...this.
6135         (def_lookup::matching_or_prev_def): Rename to...
6136         (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
6137         (def_lookup::matching_or_next_def): Rename to...
6138         (def_lookup::matching_set_or_first_def_of_next_group): ...this.
6139         (def_lookup::prev_def): New function, taking the lookup insn as
6140         argument.
6141         (def_lookup::next_def): Likewise.
6142         * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
6143         (def_lookup::last_def_of_prev_group): ...this.
6144         (def_lookup::next_def): Rename to...
6145         (def_lookup::first_def_of_next_group): ...this.
6146         (def_lookup::matching_or_prev_def): Rename to...
6147         (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
6148         (def_lookup::matching_or_next_def): Rename to...
6149         (def_lookup::matching_set_or_first_def_of_next_group): ...this.
6150         * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
6151         above renaming.
6152         * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
6153         (clobber_group::next_clobber): Likewise.
6154         (def_lookup::prev_def): Likewise.
6155         (def_lookup::next_def): Likewise.
6156         (function_info::make_use_available): Pass the lookup insn to
6157         def_lookup::prev_def and def_lookup::next_def.
6159 2022-03-21  Martin Liska  <mliska@suse.cz>
6161         * doc/invoke.texi: Document min-pagesize parameter.
6163 2022-03-21  Richard Biener  <rguenther@suse.de>
6165         * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
6166         we are estimating niter of loop.
6168 2022-03-21  Kito Cheng  <kito.cheng@sifive.com>
6170         * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
6171         Update flag name and mask name.
6172         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
6173         misc macro for vector extensions.
6174         * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
6175         (MASK_VECTOR_ELEN_32): ... this.
6176         (MASK_VECTOR_EEW_64): Rename to ...
6177         (MASK_VECTOR_ELEN_64): ... this.
6178         (MASK_VECTOR_EEW_FP_32): Rename to ...
6179         (MASK_VECTOR_ELEN_FP_32): ... this.
6180         (MASK_VECTOR_EEW_FP_64): Rename to ...
6181         (MASK_VECTOR_ELEN_FP_64): ... this.
6182         (TARGET_VECTOR_ELEN_32): New.
6183         (TARGET_VECTOR_ELEN_64): Ditto.
6184         (TARGET_VECTOR_ELEN_FP_32): Ditto.
6185         (TARGET_VECTOR_ELEN_FP_64): Ditto.
6186         (TARGET_MIN_VLEN): Ditto.
6187         * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
6188         (riscv_vector_elen_flags): ... this.
6190 2022-03-21  Hongyu Wang  <hongyu.wang@intel.com>
6192         PR target/104977
6193         * config/i386/sse.md
6194         (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
6195         Correct round operand for intel dialect.
6197 2022-03-19  Arthur Cohen  <arthur.cohen@embecosm.com>
6199         * diagnostic.cc (diagnostic_cc_tests): Rename to...
6200         (c_diagnostic_cc_tests): ...this.
6201         * opt-problem.cc (opt_problem_cc_tests): Rename to...
6202         (c_opt_problem_cc_tests): ...this.
6203         * selftest-run-tests.cc (selftest::run_tests): No longer run
6204         opt_problem_cc_tests or diagnostic_cc_tests.
6205         * selftest.h (diagnostic_cc_tests): Remove declaration.
6206         (opt_problem_cc_tests): Likewise.
6208 2022-03-19  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
6210         PR jit/63854
6211         * hash-traits.h (struct typed_const_free_remove): New.
6212         (struct free_string_hash): New.
6213         * pass_manager.h: Use free_string_hash.
6214         * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
6215         (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
6217 2022-03-19  Jakub Jelinek  <jakub@redhat.com>
6219         PR middle-end/104971
6220         * config/i386/i386-expand.cc
6221         (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
6222         don't push/pop anything and just return const0_rtx.
6224 2022-03-18  Vladimir N. Makarov  <vmakarov@redhat.com>
6226         PR rtl-optimization/104961
6227         * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
6229 2022-03-18  Jason Merrill  <jason@redhat.com>
6231         * tree.h (IDENTIFIER_LENGTH): Add comment.
6233 2022-03-18  Jakub Jelinek  <jakub@redhat.com>
6235         PR middle-end/99578
6236         PR middle-end/100680
6237         PR tree-optimization/100834
6238         * params.opt (--param=min-pagesize=): New parameter.
6239         * pointer-query.cc
6240         (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
6241         (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
6242         of zero for pointer constants equal or larger than min-pagesize.
6244 2022-03-18  Tom de Vries  <tdevries@suse.de>
6246         * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
6247         Set gfor location only when dealing with a OMP_TASKLOOP.
6249 2022-03-18  Tom de Vries  <tdevries@suse.de>
6251         * gimplify.cc (gimplify_omp_for): Set taskloop location.
6253 2022-03-18  Tom de Vries  <tdevries@suse.de>
6255         PR target/104952
6256         * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
6257         is executed unconditionally.
6259 2022-03-18  liuhongt  <hongtao.liu@intel.com>
6261         PR target/104974
6262         * config/i386/i386.md (*movhi_internal): Set attr type from HI
6263         to HF for alternative 12 under TARGET_AVX512FP16.
6265 2022-03-18  Cui,Lili  <lili.cui@intel.com>
6267         PR target/104963
6268         * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
6269         * doc/invoke.texi: Update documents for Intel sapphirerapids.
6271 2022-03-17  Roger Sayle  <roger@nextmovesoftware.com>
6273         PR target/86722
6274         PR tree-optimization/90356
6275         * config/i386/i386.md (*movtf_internal): Don't guard
6276         standard_sse_constant_p clause by optimize_function_for_size_p.
6277         (*movdf_internal): Likewise.
6278         (*movsf_internal): Likewise.
6280 2022-03-17  Andrew MacLeod  <amacleod@redhat.com>
6282         PR tree-optimization/102943
6283         * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
6284         dominators and apply intermediary outgoing edge ranges.
6286 2022-03-17  Richard Biener  <rguenther@suse.de>
6288         PR tree-optimization/104960
6289         * passes.def: Add pass parameter to pass_sink_code, mark
6290         last one to unsplit edges.
6291         * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
6292         (pass_sink_code::execute): Always execute TODO_cleanup_cfg
6293         when we need to unsplit edges.
6295 2022-03-17  Jakub Jelinek  <jakub@redhat.com>
6297         PR middle-end/103984
6298         * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
6299         TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
6300         and asan unpoisioning, then append the temporary sequence and
6301         finally the TARGET_EXPR_CLEANUP clobbers.
6303 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
6305         * config/i386/sse.md: Delete corrupt character/typo.
6307 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
6309         PR target/94680
6310         * config/i386/sse.md (sse2_movq128): New define_expand to
6311         preserve previous named instruction.
6312         (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
6313         generalized to VI8F_128 (both V2DI and V2DF).
6315 2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
6317         PR tree-optimization/104941
6318         * tree-object-size.cc (size_for_offset): Make useless conversion
6319         check lighter and assign result of fold_convert to OFFSET.
6321 2022-03-16  H.J. Lu  <hjl.tools@gmail.com>
6323         PR target/104890
6324         * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
6325         pushing target("general-regs-only").
6327 2022-03-16  Kito Cheng  <kito.cheng@sifive.com>
6329         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
6330         Add version info for zk, zks and zkn.
6332 2022-03-16  LiaoShihua  <shihua@iscas.ac.cn>
6334         * common/config/riscv/riscv-common.cc
6335         (riscv_combine_info): New.
6336         (riscv_subset_list::handle_combine_ext): Combine back into zk to
6337         maintain the canonical order in isa strings.
6338         (riscv_subset_list::parse): Ditto.
6339         * config/riscv/riscv-subset.h (handle_combine_ext): New.
6341 2022-03-16  Richard Biener  <rguenther@suse.de>
6343         PR tree-optimization/102008
6344         * passes.def: Move the added code sinking pass before the
6345         preceeding phiopt pass.
6347 2022-03-16  Patrick Palka  <ppalka@redhat.com>
6349         PR c++/96780
6350         * doc/invoke.texi (C++ Dialect Options): Document
6351         -ffold-simple-inlines.
6353 2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
6355         PR tree-optimization/104942
6356         * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
6358 2022-03-16  Jakub Jelinek  <jakub@redhat.com>
6360         PR target/104910
6361         * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
6362         imm rtx.
6364 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
6365             Richard Biener  <rguenther@suse.de>
6367         * gimple-match-head.cc (single_use): Implement inline using a
6368         single loop.
6370 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
6372         * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
6373         instead of HONOR_NANS.
6374         (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
6375         this can't trap/signal.
6377 2022-03-16  liuhongt  <hongtao.liu@intel.com>
6379         PR target/104946
6380         * config/i386/i386-builtin.def (BDESC): Add
6381         CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
6382         * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
6383         __builtin_ia32_blendvpd w/o sse4.2
6385 2022-03-15  Peter Bergner  <bergner@linux.ibm.com>
6387         PR target/104923
6388         * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
6389         acceptable MEM addresses.
6391 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
6393         PR target/91229
6394         * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
6395         riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
6396         to warning calls.
6398 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
6400         PR target/104890
6401         * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
6402         instead of general-regs-only.
6404 2022-03-15  Roger Sayle  <roger@nextmovesoftware.com>
6405             Marc Glisse  <marc.glisse@inria.fr>
6406             Richard Biener  <rguenther@suse.de>
6408         PR tree-optimization/101895
6409         * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
6410         (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
6412 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
6414         PR rtl-optimization/104814
6415         * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
6416         end with onlyjump_p.  Assume BB_END (test_bb) is always non-NULL.
6418 2022-03-15  Martin Sebor  <msebor@redhat.com>
6420         PR middle-end/104436
6421         * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
6422         Check for warning suppression.  Avoid by-value arguments transformed
6423         into by-transparent-reference.
6425 2022-03-14  Roger Sayle  <roger@nextmovesoftware.com>
6426             Uroš Bizjak  <ubizjak@gmail.com>
6428         * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
6429         transformation when *zero_extend<mode>si2 is not available.
6431 2022-03-14  Xi Ruoyao  <xry111@mengyan1223.wang>
6433         * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
6434         * config/mips/mips.cc (mips_option_override): Make
6435         -fsanitize=address imply -fasynchronous-unwind-tables.  This is
6436         needed by libasan for stack backtrace on MIPS.
6437         (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
6439 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
6441         PR debug/104778
6442         * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
6443         SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
6444         call simplified the first operand into VOIDmode constant.
6446 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
6448         PR tree-optimization/102586
6449         * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
6450         argument type should be pointer to trivially-copyable type unless it
6451         is address of a variable or parameter.
6453 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
6455         PR target/99754
6456         * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
6457         first   rather than last element of the vector, use __m32_u to do
6458         a really unaligned load, use just 0 instead of (int)0.
6459         (_mm_loadu_si16): Put loaded value into first rather than last
6460         element of the vector, use __m16_u to do a really unaligned load,
6461         use just 0 instead of (short)0.
6463 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
6465         PR other/104899
6466         * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
6467         in diagnostic message - cannott -> cannot.  Use %< and %> around
6468         names of attribute.  Avoid too long line.
6469         * range-op.cc (operator_logical_and::op1_range): Fix up a typo
6470         in comment - cannott -> cannot.  Use 2 spaces after . instead of one.
6472 2022-03-14  liuhongt  <hongtao.liu@intel.com>
6474         PR target/104666
6475         * config/i386/i386-expand.cc
6476         (ix86_check_builtin_isa_match): New func.
6477         (ix86_expand_builtin): Move code to
6478         ix86_check_builtin_isa_match and call it.
6479         * config/i386/i386-protos.h
6480         (ix86_check_builtin_isa_match): Declare.
6481         * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
6482         builtin into gimple when isa mismatches.
6484 2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
6486         * doc/invoke.texi: Fix typos.
6487         * doc/tm.texi.in: Remove duplicated word.
6488         * doc/tm.texi: Regenerate.
6490 2022-03-12  Segher Boessenkool  <segher@kernel.crashing.org>
6492         PR target/104829
6493         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
6494         "ppc" and "ppc64" based on rs6000_cpu.
6496 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
6498         PR middle-end/100280
6499         PR middle-end/104892
6500         * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
6501         Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
6503 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
6505         PR middle-end/100280
6506         PR middle-end/104086
6507         * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
6508         Mark variables used in 'present' clauses as addressable.
6509         * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
6510         handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
6512 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
6514         PR other/65095
6515         * tree-core.h (user_omp_claus_code_name): Declare function.
6516         * tree.cc (user_omp_clause_code_name): New function.
6518 2022-03-12  Roger Sayle  <roger@nextmovesoftware.com>
6520         PR middle-end/98420
6521         * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
6522         (the defaut) or -fno-signed-zeros.
6524 2022-03-12   Michael Meissner  <meissner@linux.ibm.com>
6526         PR target/104868
6527         * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
6528         moving from a GPR register to an Altivec register.
6530 2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
6532         PR tree-optimization/98335
6533         * config/i386/i386.md (peephole2): Eliminate redundant insv.
6534         Combine movl followed by movb.  Transform xorl followed by
6535         a suitable movb or movw into the equivalent movz[bw]l.
6537 2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
6538             Richard Biener  <rguenther@suse.de>
6540         PR tree-optimization/98335
6541         * builtins.cc (get_object_alignment_2): Export.
6542         * builtins.h (get_object_alignment_2): Likewise.
6543         * tree-ssa-alias.cc (ao_ref_alignment): New.
6544         * tree-ssa-alias.h (ao_ref_alignment): Declare.
6545         * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
6546         to align head/tail, writing more bytes but using fewer store insns.
6548 2022-03-11  Richard Biener  <rguenther@suse.de>
6550         PR tree-optimization/104880
6551         * tree-ssa.cc (execute_update_address_taken): Remember if we
6552         optimistically made something not addressable and
6553         prepare to undo it.
6555 2022-03-11  Richard Biener  <rguenther@suse.de>
6557         PR target/104762
6558         * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
6559         cost the first lane of SSE pieces as inserts for vec_construct.
6561 2022-03-10  Roger Sayle  <roger@nextmovesoftware.com>
6563         PR c++/84964
6564         * calls.cc (expand_call): Ignore stack adjustments after sorry.
6566 2022-03-10  Vladimir N. Makarov  <vmakarov@redhat.com>
6568         PR target/103074
6569         * lra-constraints.cc (split_reg): Set up
6570         check_and_force_assignment_correctness_p when splitting hard
6571         register live range.
6573 2022-03-10  Martin Jambor  <mjambor@suse.cz>
6575         PR ipa/104813
6576         * ipa-cp.cc (create_specialized_node): Move removal of
6577         self-recursive calls from callers vector before refrence
6578         adjustments.
6580 2022-03-10  Richard Biener  <rguenther@suse.de>
6582         PR tree-optimization/102943
6583         * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
6584         Make a bitmap_head.
6585         (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
6586         to tree view.
6587         (sbr_sparse_bitmap::set_bb_range): Adjust.
6588         (sbr_sparse_bitmap::get_bb_range): Likewise.
6590 2022-03-10  Richard Biener  <rguenther@suse.de>
6592         PR tree-optimization/102943
6593         * tree-ssa-dom.cc (back_propagate_equivalences): Only
6594         populate the dominance bitmap if fast queries are not
6595         available.  Use a tree view bitmap.
6596         (record_temporary_equivalences): Cache the dominance bitmap
6597         across all equivalences on the edge.
6599 2022-03-10  Tom de Vries  <tdevries@suse.de>
6601         PR target/104840
6602         * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
6603         of false,true.
6605 2022-03-10  Tom de Vries  <tdevries@suse.de>
6607         PR target/104783
6608         * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
6609         (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
6610         (nvptx_get_unisimt_outside_simt_predicate): New function.
6611         (predicate_insn): New function, factored out of ...
6612         (nvptx_reorg_uniform_simt): ... here.  Predicate all emitted insns.
6613         * config/nvptx/nvptx.h (struct machine_function): Add
6614         unisimt_outside_simt_predicate field.
6615         * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
6616         (define_insn "nvptx_uniform_warp_check"): Make predicable.
6618 2022-03-10  Tom de Vries  <tdevries@suse.de>
6620         * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
6621         result.
6623 2022-03-10  Tom de Vries  <tdevries@suse.de>
6625         PR target/104815
6626         * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
6627         modifier.
6628         * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
6630 2022-03-10  Tom de Vries  <tdevries@suse.de>
6632         * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
6633         Emit atom.and.b64 instead of atom.b64.and.
6635 2022-03-10  Tom de Vries  <tdevries@suse.de>
6637         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
6638         (MULTILIB_OPTIONS): ... here.
6640 2022-03-10  Tom de Vries  <tdevries@suse.de>
6642         PR target/104758
6643         * config/nvptx/nvptx.opt (misa): Set default to sm_30.
6644         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
6646 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
6648         PR middle-end/90115
6649         PR middle-end/102330
6650         PR middle-end/104774
6651         * omp-low.cc (oacc_privatization_candidate_p)
6652         (oacc_privatization_scan_clause_chain)
6653         (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
6654         Analyze 'lookup_decl'-translated DECL.
6656 2022-03-10  Jakub Jelinek  <jakub@redhat.com>
6658         PR target/99708
6659         * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
6660         RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
6661         (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
6662         * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
6663         "**NULL**" if type_node is NULL first.  Handle
6664         ieee128_float_type_node.
6665         (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
6666         and ptr_ibm128_float_type_node.  Set ibm128_float_type_node and
6667         ieee128_float_type_node to NULL rather than long_double_type_node if
6668         they aren't supported.  Do support __ibm128 even if
6669         !TARGET_FLOAT128_TYPE when long double is double double.
6670         (rs6000_expand_builtin): Error if bif_is_ibm128 and
6671         !ibm128_float_type_node.  Remap RS6000_BIF_{,UN}PACK_IF to
6672         RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
6673         for it.
6674         * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
6675         __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
6676         (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
6677         Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
6678         Formatting fix.
6679         * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
6680         (struct attrinfo): Add isibm128 member.
6681         (TYPE_MAP_SIZE): Remove.
6682         (type_map): Use [] instead of [TYPE_MAP_SIZE].  For "if" use
6683         ibm128_float_type_node only if it is non-NULL, otherwise fall back
6684         to long_double_type_node.  Remove "pif" entry.
6685         (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
6686         (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
6687         (write_type_node): Use sizeof type_map / sizeof type_map[0]
6688         instead of TYPE_MAP_SIZE.
6689         (write_bif_static_init): Handle isibm128.
6690         * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
6691         (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
6692         attribute.
6694 2022-03-09  Richard Biener  <rguenther@suse.de>
6696         * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
6697         with non-decl operand, avoiding a copy.
6699 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
6701         PR target/104781
6702         * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
6704 2022-03-09  Richard Biener  <rguenther@suse.de>
6706         PR middle-end/104786
6707         * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
6708         for VLAs without an upper size bound.
6710 2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
6712         PR tree-optimization/104851
6713         * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
6714         error.
6716 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
6718         PR c/104711
6719         * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
6720         is enabled by it only for C++11 to C++17 rather than for C++03 or
6721         later.
6722         (-Wshift-negative-value): Similarly (except here we stated
6723         that it is enabled for C++11 or later).
6725 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
6727         PR rtl-optimization/104839
6728         * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
6729         Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
6730         (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
6731         instead of incorrect 0 in SUBREG_PROMOTED_SET.
6733 2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
6735         PR target/104842
6736         * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
6737         value before adding an offset.
6739 2022-03-08  Christophe Lyon  <christophe.lyon@arm.com>
6741         * config/arm/arm-builtins.cc
6742         (arm_binop_none_none_unone_qualifiers): Delete.
6743         (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
6745 2022-03-08  Iain Sandoe  <iain@sandoe.co.uk>
6747         PR translation/104552
6748         * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
6749         the PCH out of memory error message punctuation and wording.
6751 2022-03-08  Marek Polacek  <polacek@redhat.com>
6753         PR rtl-optimization/104777
6754         * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
6755         ASM_OPERANDS_LABEL_VEC has at least one element.
6757 2022-03-08  H.J. Lu  <hjl.tools@gmail.com>
6759         PR target/104781
6760         * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
6761         stack realignment or regparm nested function with EH return.
6763 2022-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
6765         PR target/104790
6766         * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
6767         * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
6768         register for non widening loads or narrowing stores.
6770 2022-03-08  Eric Gallager  <egallager@gcc.gnu.org>
6772         PR translation/104552
6773         * params.opt: Fix typo.
6775 2022-03-08  Richard Biener  <rguenther@suse.de>
6777         PR tree-optimization/84201
6778         * params.opt (-param=vect-induction-float): Add.
6779         * doc/invoke.texi (vect-induction-float): Document.
6780         * tree-vect-loop.cc (vectorizable_induction): Honor
6781         param_vect_induction_float.
6783 2022-03-08  Martin Jambor  <mjambor@suse.cz>
6785         PR translation/104552
6786         * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
6787         "that" in the description.
6789 2022-03-08  Richard Biener  <rguenther@suse.de>
6791         PR tree-optimization/104825
6792         * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
6793         guard modref get_ao_ref on a pointer typed argument.
6795 2022-03-08  liuhongt  <hongtao.liu@intel.com>
6797         * config/i386/sse.md (*vec_dupv4si): Disable memory operand
6798         for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
6800 2022-03-07  Jonathan Wakely  <jwakely@redhat.com>
6802         * doc/invoke.texi (C++ Modules): Remove anachronism.
6804 2022-03-07  Martin Liska  <mliska@suse.cz>
6806         PR middle-end/104381
6807         * opts.cc (finish_options): If debug info is disabled
6808         (debug_info_level) and -fvar-tracking is unset, disable it.
6810 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
6812         * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
6813         * config/riscv/riscv.cc: Likewise.
6814         * config/darwin.h: Likewise.
6815         * config/i386/i386.cc: Likewise.
6816         * config/aarch64/thunderx3t110.md: Likewise.
6817         * config/aarch64/fractional-cost.h: Likewise.
6818         * config/vax/vax.cc: Likewise.
6819         * config/rs6000/pcrel-opt.md: Likewise.
6820         * config/rs6000/predicates.md: Likewise.
6821         * ctfc.h: Likewise.
6822         * tree-ssa-uninit.cc: Likewise.
6823         * value-relation.h: Likewise.
6824         * gimple-range-gori.cc: Likewise.
6825         * ipa-polymorphic-call.cc: Likewise.
6826         * pointer-query.cc: Likewise.
6827         * ipa-sra.cc: Likewise.
6828         * internal-fn.cc: Likewise.
6829         * varasm.cc: Likewise.
6830         * gimple-ssa-warn-access.cc: Likewise.
6832 2022-03-07  Martin Liska  <mliska@suse.cz>
6834         PR target/104794
6835         * config/arm/arm.cc (arm_option_override_internal): Add missing
6836         space.
6838 2022-03-07  Richard Biener  <rguenther@suse.de>
6840         PR tree-optimization/104782
6841         * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
6842         Re-instantiate r10-5979 fix, add comment.
6844 2022-03-07  Martin Liska  <mliska@suse.cz>
6846         PR target/104797
6847         * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
6848         parenthesis from built-in name.
6850 2022-03-07  Martin Liska  <mliska@suse.cz>
6852         PR target/104794
6853         * config/arm/arm.cc (arm_option_override_internal): Fix quoting
6854         of options in error messages.
6855         (arm_option_reconfigure_globals): Likewise.
6857 2022-03-07  Martin Liska  <mliska@suse.cz>
6859         PR target/104794
6860         * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
6861         message.  Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
6862         have only range [0,32].
6864 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
6866         PR target/104775
6867         * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
6868         S constraint instead of T in the last alternative.
6870 2022-03-07  Martin Liska  <mliska@suse.cz>
6872         * plugin.cc (default_plugin_dir_name): Remove <dir> from error
6873         message.
6875 2022-03-07  Martin Liska  <mliska@suse.cz>
6877         PR translation/90148
6878         * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
6879         quote to a proper place.
6880         * plugin.cc (default_plugin_dir_name): Likewise.
6882 2022-03-07  Martin Liska  <mliska@suse.cz>
6884         PR target/99297
6885         * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
6886         string.
6888 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
6890         PR target/104779
6891         * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
6892         define_expand pattern.  Rename define_insn to ...
6893         (*avx512dq_mul<mode>3<mask_name>): ... this.
6894         (<code><mode>3_mask): New any_logic define_expand pattern.
6895         (<mask_codefor><code><mode>3<mask_name>): Rename to ...
6896         (*<code><mode>3<mask_name>): ... this.
6898 2022-03-05  Jakub Jelinek  <jakub@redhat.com>
6900         * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
6901         visited bitmap and its use.  Also punt on EDGE_ABNORMAL edges.
6903 2022-03-05  Roger Sayle  <roger@nextmovesoftware.com>
6904             Uroš Bizjak  <ubizjak@gmail.com>
6906         PR testsuite/104732
6907         * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
6908         Include DI mode unconditionally.
6909         (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
6910         i.e. always split on !TARGET_64BIT.
6911         (*<any_or>di3_doubleword): Likewise.
6912         (*one_cmpldi2_doubleword): Likewise.
6913         (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
6914         (<any_or><mode>3 expander): Likewise.
6915         (one_cmpl<mode>2 expander): Likewise.
6917 2022-03-05   Michael Meissner  <meissner@linux.ibm.com>
6919         PR target/104698
6920         * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
6921         (mtvsrdd_diti_w1): Delete.
6922         (extendditi2): Convert from define_expand to
6923         define_insn_and_split.  Replace with code to deal with both GPR
6924         registers and with altivec registers.
6926 2022-03-04  Segher Boessenkool  <segher@kernel.crashing.org>
6928         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
6929         bit.  Handle most older CPUs.
6931 2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
6933         * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
6934         avoid a mismatch with DECL_MD_FUNCTION_CODE().
6936 2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
6938         PR target/104117
6939         * config/rs6000/darwin.md (@machopic_high_<mode>): New.
6940         (@machopic_low_<mode>): New.
6941         * config/rs6000/predicates.md (macho_pic_address): New.
6942         * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
6943         apply the TLS processing to Darwin.
6944         * lra-constraints.cc (process_address_1): Revert the changes
6945         in r12-7209.
6947 2022-03-04  Peter Bergner  <bergner@linux.ibm.com>
6949         PR target/87496
6950         PR target/104208
6951         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
6952         ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
6953         -mlong-double-128.
6954         Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
6955         from here...
6956         * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
6957         ... to here.
6959 2022-03-04  Jakub Jelinek  <jakub@redhat.com>
6961         PR middle-end/104529
6962         * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
6963         on automatic objects which will be runtime initialized.
6965 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
6967         PR middle-end/100280
6968         PR middle-end/104132
6969         PR middle-end/104133
6970         * omp-low.cc (task_shared_vars): Rename to
6971         'make_addressable_vars'.  Adjust all users.
6972         (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
6973         'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
6975 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
6977         PR middle-end/100280
6978         * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
6979         * tree-core.h: Document it.
6980         * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
6981         'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
6982         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
6983         Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
6984         'TREE_ADDRESSABLE'.
6986 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
6988         PR middle-end/100280
6989         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
6990         Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
6991         '[...]' declared in block made addressable".
6993 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
6995         PR middle-end/100400
6996         PR middle-end/103836
6997         PR middle-end/104061
6998         * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
6999         Catch 'GIMPLE_DEBUG'.
7001 2022-03-04  Jakub Jelinek  <jakub@redhat.com>
7003         PR c/104627
7004         * tree.cc (warn_deprecated_use): For types prefer to use node
7005         and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
7006         NULL.
7008 2022-03-04  H.J. Lu  <hjl.tools@gmail.com>
7010         PR target/104704
7011         * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
7012         a pseudo register.
7014 2022-03-03  Martin Sebor  <msebor@redhat.com>
7016         PR middle-end/104761
7017         * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
7018         mark_dfs_back_edges.
7020 2022-03-03  Martin Liska  <mliska@suse.cz>
7022         * configure.ac: Use linker plug-in by default.
7023         * configure: Regenerate.
7025 2022-03-03  Martin Liska  <mliska@suse.cz>
7027         * configure.ac: Now ld.mold support LTO plugin API, use it.
7028         * configure: Regenerate.
7030 2022-03-03  Tom de Vries  <tdevries@suse.de>
7032         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
7034 2022-03-03  Tom de Vries  <tdevries@suse.de>
7036         PR target/104758
7037         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
7039 2022-03-03  Tom de Vries  <tdevries@suse.de>
7041         * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
7043 2022-03-03  Jakub Jelinek  <jakub@redhat.com>
7045         PR middle-end/104757
7046         * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
7047         gimplify_omp_for.
7048         (gimplify_expr) <case OMP_SIMD>: Temporarily disable
7049         gimplify_ctxp->into_ssa around call to gimplify_omp_for.
7051 2022-03-03  Jakub Jelinek  <jakub@redhat.com>
7053         PR middle-end/104558
7054         * calls.cc (store_one_arg): When not calling emit_push_insn
7055         because size_rtx is const0_rtx, call at least anti_adjust_stack
7056         on arg->locate.alignment_pad if !argblock and the alignment might
7057         be non-zero.
7059 2022-03-02  Alexandre Oliva  <oliva@adacore.com>
7061         * lra-constraints.cc (undo_optional_reloads): Recognize and
7062         drop insns of multi-word move sequences, tolerate removal
7063         iteration on an already-removed clobber, and refuse to
7064         substitute original pseudos into clobbers.
7066 2022-03-02  Qing Zhao  <qing.zhao@oracle.com>
7068         PR middle-end/102276
7069         * common.opt (-Wtrivial-auto-var-init): New option.
7070         * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
7071         (-ftrivial-auto-var-init): Update option;
7072         * gimplify.cc (emit_warn_switch_unreachable): New function.
7073         (warn_switch_unreachable_r): Rename to ...
7074         (warn_switch_unreachable_and_auto_init_r): This.
7075         (maybe_warn_switch_unreachable): Rename to ...
7076         (maybe_warn_switch_unreachable_and_auto_init): This.
7077         (gimplify_switch_expr): Update calls to renamed function.
7079 2022-03-02  Richard Biener  <rguenther@suse.de>
7081         PR rtl-optimization/104686
7082         * ira-color.cc (object_conflicts_with_allocno_p): New function
7083         using a bitvector test instead of iterating when possible.
7084         (allocnos_conflict_p): Choose the best allocno to iterate over
7085         object conflicts.
7086         (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
7087         last.
7089 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
7091         * cfg.cc (dump_edge_info): Dump goto_locus if present.
7093 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
7095         PR rtl-optimization/104589
7096         * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
7097         INSN_LOCATION comparison with goto_locus.
7099 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
7101         * tree-ssa-strlen.cc (strlen_pass::handle_assign,
7102         strlen_pass::before_dom_children): Comment spelling fixes.
7104 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
7106         * ipa-modref-tree.cc (modref_access_node::contains,
7107         modref_access_node::closer_pair_p, modref_access_node::insert,
7108         modref_access_node::insert_kill): Comment spelling fixes.
7109         * ipa-modref.cc: Likewise.
7110         (modref_summary::finalize, ignore_nondeterminism_p,
7111         class modref_access_analysis,
7112         modref_access_analysis::set_side_effects,
7113         modref_access_analysis::set_nondeterministic,
7114         modref_access_analysis::record_global_memory_load,
7115         modref_access_analysis::propagate, modref_access_analysis::analyze,
7116         struct escape_point, class modref_lattice, modref_lattice::merge,
7117         modref_lattice::merge_deref, class modref_eaf_analysis,
7118         modref_eaf_analysis::merge_call_lhs_flags,
7119         modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
7120         modref_eaf_analysis::record_escape_points, remap_kills,
7121         update_escape_summary, remove_useless_summaries,
7122         ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
7123         Likewise.
7124         * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
7125         Likewise.
7126         * ipa-modref-tree.h (enum modref_special_parms,
7127         struct modref_access_node): Likewise.
7129 2022-03-01  Jakub Jelinek  <jakub@redhat.com>
7131         PR tree-optimization/104715
7132         * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
7133         unnecessarily test if ptr is a SSA_NAME, it has to be.  Only push lhs
7134         of a call if gimple_call_return_arg is equal to ptr, not just when it
7135         is non-NULL.
7137 2022-03-01  Jakub Jelinek  <jakub@redhat.com>
7139         * gimple-ssa-warn-access.cc (warn_string_no_nul,
7140         maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
7141         matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
7142         pass_waccess::check_alloca, pass_waccess::check_strcat,
7143         memmodel_to_uhwi, fntype_argno_type,
7144         pass_waccess::maybe_check_access_sizes,
7145         pass_waccess::check_call_access,
7146         pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
7147         Comment spelling fixes.
7149 2022-03-01  Richard Biener  <rguenther@suse.de>
7151         PR tree-optimization/104716
7152         * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
7153         Check if we can copy the loop.
7155 2022-03-01  H.J. Lu  <hjl.tools@gmail.com>
7157         PR middle-end/104721
7158         * cfgexpand.cc (expand_gimple_basic_block): Clear
7159         currently_expanding_gimple_stmt when returning inside the loop.
7161 2022-03-01  Martin Liska  <mliska@suse.cz>
7163         PR ipa/104533
7164         * multiple_target.cc (get_attr_len): Move to tree.c.
7165         (expand_target_clones): Remove single value checking.
7166         * tree.cc (get_target_clone_attr_len): New fn.
7167         * tree.h (get_target_clone_attr_len): Likewise.
7169 2022-03-01  Martin Liska  <mliska@suse.cz>
7171         PR gcov-profile/104677
7172         * doc/invoke.texi: Document more .gcda file name generation.
7174 2022-03-01  Tom de Vries  <tdevries@suse.de>
7176         PR target/102429
7177         * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
7178         * config/nvptx/nvptx.md
7179         (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
7180         New predicate.
7181         (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
7182         Use nvptx_register_or_complex_di_df_register_operand.
7184 2022-03-01  Tom de Vries  <tdevries@suse.de>
7186         * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
7187         * config/nvptx/gen-copyright.sh: New file.
7188         * config/nvptx/gen-h.sh: New file.
7189         * config/nvptx/gen-opt.sh: New file.
7190         * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
7191         (TARGET_SM75, TARGET_SM80): Move ...
7192         * config/nvptx/nvptx-gen.h: ... here.  New file, generate.
7193         * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
7194         * config/nvptx/nvptx-gen.opt: ... here.  New file, generate.
7195         * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
7196         ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
7198 2022-03-01  Tom de Vries  <tdevries@suse.de>
7200         * config/nvptx/gen-omp-device-properties.sh: New file.
7201         * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
7203 2022-03-01  Tom de Vries  <tdevries@suse.de>
7205         * config/nvptx/nvptx-sm.def: New file.
7206         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
7207         * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
7208         * config/nvptx/nvptx.cc (sm_version_to_string)
7209         (nvptx_omp_device_kind_arch_isa): Same.
7211 2022-03-01  Robin Dapp  <rdapp@linux.ibm.com>
7213         PR rtl-optimization/104154
7214         * config/arc/arc.cc (gen_compare_reg):  Return the CC-mode
7215         comparison ifcvt passed us.
7217 2022-03-01  Hongyu Wang  <hongyu.wang@intel.com>
7219         PR target/104664
7220         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
7221           Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
7223 2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
7225         PR tree-optimization/91384
7226         * config/i386/i386.md (peephole2): Eliminate final testl insn
7227         from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
7228         transforming using *negsi_2 for the negation.
7230 2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
7231             Eric Botcazou  <ebotcazou@adacore.com>
7233         PR middle-end/80270
7234         * expmed.cc (extract_integral_bit_field): If OP0 is a hard
7235         register, copy it to a pseudo before calling simplify_gen_subreg.
7237 2022-02-28  Vladimir N. Makarov  <vmakarov@redhat.com>
7239         PR rtl-optimization/104637
7240         * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
7241         as possible on one subpass.
7243 2022-02-28  Qing Zhao  <qing.zhao@oracle.com>
7245         PR middle-end/104550
7246         * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
7247         created uses.
7249 2022-02-28  Martin Liska  <mliska@suse.cz>
7251         PR ipa/104648
7252         * main.cc (main): Use flag_checking instead of CHECKING_P
7253         and run toplev::finalize only if there is not error seen.
7255 2022-02-28  Richard Biener  <rguenther@suse.de>
7257         * tree-ssa-pre.cc (compute_avail): Revert part of last change.
7259 2022-02-28  Richard Biener  <rguenther@suse.de>
7261         PR tree-optimization/104700
7262         * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
7263         into ...
7264         (find_or_generate_expression): ... here, simplifying code.
7266 2022-02-28  Tom de Vries  <tdevries@suse.de>
7268         * config/nvptx/nvptx-opts.h (enum ptx_version): Add
7269         PTX_VERSION_default.
7270         * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
7271         PTX_VERSION_default.
7272         * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
7274 2022-02-28  Richard Biener  <rguenther@suse.de>
7276         PR rtl-optimization/104686
7277         * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
7278         skipping bits that are zero.
7279         (ira_object_conflict_iter_cond): Likewise.
7281 2022-02-28  Hongyu Wang  <hongyu.wang@intel.com>
7283         * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
7284         (_mm512_ternarylogic_epi64): Truncate imm to unsigned
7285         char to avoid error when using ~enum as parameter.
7286         (_mm512_mask_ternarylogic_epi64): Likewise.
7287         (_mm512_maskz_ternarylogic_epi64): Likewise.
7288         (_mm512_ternarylogic_epi32): Likewise.
7289         (_mm512_mask_ternarylogic_epi32): Likewise.
7290         (_mm512_maskz_ternarylogic_epi32): Likewise.
7291         * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
7292         Adjust imm param type to unsigned char.
7293         (_mm256_mask_ternarylogic_epi64): Likewise.
7294         (_mm256_maskz_ternarylogic_epi64): Likewise.
7295         (_mm256_ternarylogic_epi32): Likewise.
7296         (_mm256_mask_ternarylogic_epi32): Likewise.
7297         (_mm256_maskz_ternarylogic_epi32): Likewise.
7298         (_mm_ternarylogic_epi64): Likewise.
7299         (_mm_mask_ternarylogic_epi64): Likewise.
7300         (_mm_maskz_ternarylogic_epi64): Likewise.
7301         (_mm_ternarylogic_epi32): Likewise.
7302         (_mm_mask_ternarylogic_epi32): Likewise.
7303         (_mm_maskz_ternarylogic_epi32): Likewise.
7305 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
7306             Marc Glisse  <marc.glisse@inria.fr>
7308         PR tree-optimization/104675
7309         * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
7310         Restrict simplifications to INTEGRAL_TYPE_P.
7312 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
7314         PR target/104681
7315         * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
7317 2022-02-25  Claudiu Zissulescu  <claziss@synopsys.com>
7319         * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
7320         comparison is not valid.
7321         * config/arc/arc.md (movsicc): Fail if comparison is not valid.
7322         (movdicc): Likewise.
7323         (movsfcc): Likewise.
7324         (movdfcc): Likewise.
7326 2022-02-25  Richard Biener  <rguenther@suse.de>
7328         PR tree-optimization/103037
7329         * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
7330         (vn_nary_length_from_stmt): Likewise.
7331         (init_vn_nary_op_from_stmt): Likewise.
7332         (vn_nary_op_compute_hash): Likewise.
7333         * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
7334         (vn_nary_length_from_stmt): Likewise.
7335         (init_vn_nary_op_from_stmt): Likewise.
7336         (vn_nary_op_compute_hash): Likewise.
7337         * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
7338         (get_or_alloc_expr_for_nary): Pass in the value-id to use,
7339         (re-)compute the hash value and if the expression is not
7340         found allocate it from pre_expr_obstack.
7341         (phi_translate_1): Do not insert the NARY found in the
7342         VN tables but build a PRE expression from the valueized
7343         NARY with the value-id we eventually found.
7344         (find_or_generate_expression): Assert we have an entry
7345         for constant values.
7346         (compute_avail): Insert not valueized expressions into
7347         EXP_GEN using the value-id from the VN tables.
7348         (init_pre): Allocate pre_expr_obstack.
7349         (fini_pre): Free pre_expr_obstack.
7351 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
7353         PR target/104674
7354         * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
7355         * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
7356         SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
7358 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
7360         * warning-control.cc (get_nowarn_spec): Comment spelling fix.
7362 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
7364         PR middle-end/104679
7365         * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
7367 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
7369         PR tree-optimization/104675
7370         * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
7371         COMPLEX_TYPE.
7373 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
7375         PR target/104121
7376         PR target/103302
7377         * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
7379 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
7381         PR middle-end/104540
7382         * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
7383         dw_cfi_cfa_loc.
7385 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
7387         PR tree-optimization/103856
7388         * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
7389         eh edge to be requested through an extra parameter.
7390         (pass_harden_compares::execute): Copy PHI args in the EH dest
7391         block for the new EH edge added for the inverted compare.
7393 2022-02-24  Palmer Dabbelt  <palmer@rivosinc.com>
7395         * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
7396         of position independence that -mcmodel=medany affords.
7398 2022-02-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
7400         PR target/104656
7401         * configure.ac: --disable-gcov if targetting bpf-*.
7402         * configure: Regenerate.
7404 2022-02-24  Richard Biener  <rguenther@suse.de>
7406         PR tree-optimization/104676
7407         * tree-loop-distribution.cc (loop_distribution::execute):
7408         Do a full scev_reset.
7410 2022-02-24  Jakub Jelinek  <jakub@redhat.com>
7412         PR tree-optimization/104601
7413         * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
7414         non-SSA_NAME lhs value number vdef to itself instead of e.g. the
7415         vuse value number.
7417 2022-02-24  Tom de Vries  <tdevries@suse.de>
7418             Tobias Burnus  <tobias@codesourcery.com>
7420         * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
7421         sm_70, sm_75 and sm_80.
7422         * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
7424 2022-02-24  Tom de Vries  <tdevries@suse.de>
7426         * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
7427         "rotrsi3"): New define_insn.
7429 2022-02-24  Tom de Vries  <tdevries@suse.de>
7431         * config/nvptx/nvptx.cc (gen_comment): Use
7432         DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
7434 2022-02-24  liuhongt  <hongtao.liu@intel.com>
7436         * config/i386/sse.md (<code>v1ti3): Add suffix and replace
7437         isa attr of alternative 2 from avx to avx512vl.
7439 2022-02-23  Richard Biener  <rguenther@suse.de>
7440             Jakub Jelinek  <jakub@redhat.com>
7442         PR tree-optimization/104644
7443         * doc/match-and-simplify.texi: Amend ! documentation.
7444         * genmatch.cc (expr::gen_transform): Code-generate ! support
7445         for GENERIC.
7446         (parser::parse_expr): Allow ! for GENERIC.
7447         * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
7448         bswap.
7450 2022-02-23  Richard Biener  <rguenther@suse.de>
7452         PR tree-optimization/101636
7453         * tree-vect-slp.cc (vect_print_slp_tree): Dump the
7454         vector type of the node.
7455         (vect_slp_analyze_operations): Make sure the CTOR
7456         is vectorized with an expected type.
7457         (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
7459 2022-02-23  Jakub Jelinek  <jakub@redhat.com>
7461         PR c/104633
7462         * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
7463         Don't warn about calls to corresponding builtin from extern inline
7464         gnu_inline wrappers.
7466 2022-02-23  Roger Sayle  <roger@nextmovesoftware.com>
7468         PR target/104489
7469         * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
7471 2022-02-23  Christophe Lyon  <christophe.lyon@arm.com>
7473         PR target/100757
7474         PR target/101325
7475         * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
7476         typo.
7478 2022-02-23  Cui,Lili  <lili.cui@intel.com>
7480         * doc/invoke.texi: Update documents for Intel architectures.
7482 2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
7484         * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
7485         bootstrap.
7487 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
7489         * omp-low.cc (omp_build_component_ref): Move function...
7490         * omp-general.cc (omp_build_component_ref): ... here.  Remove
7491         'static'.
7492         * omp-general.h (omp_build_component_ref): Declare function.
7493         * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
7494         function.
7495         (build_receiver_ref, build_sender_ref): Call
7496         'omp_build_component_ref' instead.
7498 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
7500         * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
7501         simplify.  Adjust all users.
7503 2022-02-22  Segher Boessenkool  <segher@kernel.crashing.org>
7505         PR target/88134
7506         * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
7507         atomic_update_decl): Add GTY markup.
7509 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7511         * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
7513 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7515         PR target/100757
7516         PR target/101325
7517         * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
7518         predicate.
7519         (CX_BINARY_UNONE_QUALIFIERS): Likewise.
7520         (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
7521         (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
7522         (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
7523         (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
7524         * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
7525         * config/arm/mve.md: Use VxBI instead of HI.
7527 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7529         PR target/100757
7530         PR target/101325
7531         * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
7532         qualifier.
7533         (STRSBU_P_QUALIFIERS): Likewise.
7534         (LDRGBS_Z_QUALIFIERS): Likewise.
7535         (LDRGBU_Z_QUALIFIERS): Likewise.
7536         (LDRGBWBXU_Z_QUALIFIERS): Likewise.
7537         (LDRGBWBS_Z_QUALIFIERS): Likewise.
7538         (LDRGBWBU_Z_QUALIFIERS): Likewise.
7539         (STRSBWBS_P_QUALIFIERS): Likewise.
7540         (STRSBWBU_P_QUALIFIERS): Likewise.
7541         * config/arm/mve.md: Use VxBI instead of HI.
7543 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7545         PR target/100757
7546         PR target/101325
7547         * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
7548         (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
7549         (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
7550         (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
7551         (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
7552         (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
7553         (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
7554         (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
7555         (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
7556         (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
7557         (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
7558         (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
7559         (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
7560         (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
7561         (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
7562         (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
7563         (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
7564         (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
7565         (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
7566         (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
7567         (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
7568         (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
7569         (STRS_P_QUALIFIERS): Use predicate qualifier.
7570         (STRU_P_QUALIFIERS): Likewise.
7571         (STRSU_P_QUALIFIERS): Likewise.
7572         (STRSS_P_QUALIFIERS): Likewise.
7573         (LDRGS_Z_QUALIFIERS): Likewise.
7574         (LDRGU_Z_QUALIFIERS): Likewise.
7575         (LDRS_Z_QUALIFIERS): Likewise.
7576         (LDRU_Z_QUALIFIERS): Likewise.
7577         (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
7578         (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
7579         (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
7580         (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
7581         * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
7582         * config/arm/mve.md: Use MVE_VPRED instead of HI.
7584 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7586         PR target/100757
7587         PR target/101325
7588         * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
7589         Delete.
7590         (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
7591         (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
7592         (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
7593         * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
7594         predicated qualifiers.
7595         * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
7596         (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
7598 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7600         PR target/100757
7601         * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
7602         (arm_expand_vector_compare): Update prototype.
7603         * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
7604         (arm_vector_mode_supported_p): Add support for VxBI modes.
7605         (arm_expand_vector_compare): Remove useless generation of vpsel.
7606         (arm_expand_vcond): Fix select operands.
7607         (arm_get_mask_mode): New.
7608         * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
7609         (vec_cmpu<mode><MVE_vpred>): New.
7610         (vcond_mask_<mode><MVE_vpred>): New.
7611         * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
7612         (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
7613         * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
7614         (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
7615         and disable for MVE.
7616         * doc/sourcebuild.texi (arm_mve): Document new effective-target.
7618 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7620         PR target/100757
7621         PR target/101325
7622         * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
7623         (BINOP_PRED_NONE_NONE_QUALIFIERS)
7624         (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
7625         (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
7626         * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
7627         * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
7628         modes.
7629         (arm_mode_to_pred_mode): New.
7630         (arm_expand_vector_compare): Use the right VxBI mode instead of
7631         HI.
7632         (arm_expand_vcond): Likewise.
7633         (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
7634         (mve_bool_vec_to_const): New.
7635         (neon_make_constant): Call mve_bool_vec_to_const when needed.
7636         * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
7637         (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
7638         (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
7639         (vpselq_s, vpselq_f): Use new predicated qualifiers.
7640         * config/arm/constraints.md (DB): New.
7641         * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
7642         (MVE_VPRED, MVE_vpred): New attribute iterators.
7643         * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
7644         (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
7645         (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
7646         (@mve_vpselq_<supf>v2di): Define separately.
7647         (mov<mode>): New expander for VxBI modes.
7648         * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
7649         MVE_7_HI iterator and add support for DB constraint.
7651 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7652             Richard Sandiford  <richard.sandiford@arm.com>
7654         PR target/100757
7655         PR target/101325
7656         * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
7657         VNx2BI): Update definition.
7658         * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
7659         simd types.
7660         (arm_init_builtin): Map predicate vectors arguments to HImode.
7661         (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
7662         rtx. Move return value to HImode rtx.
7663         * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
7664         * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
7665         * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
7666         Pred2x8_t,Pred4x4_t): New.
7667         * emit-rtl.cc (init_emit_once): Handle all boolean modes.
7668         * genmodes.cc (mode_data): Add boolean field.
7669         (blank_mode): Initialize it.
7670         (make_complex_modes): Fix handling of boolean modes.
7671         (make_vector_modes): Likewise.
7672         (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
7673         (make_vector_bool_mode): Likewise.
7674         (BOOL_MODE): New.
7675         (make_bool_mode): New.
7676         (emit_insn_modes_h): Fix generation of boolean modes.
7677         (emit_class_narrowest_mode): Likewise.
7678         * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
7679         parameter.  Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
7680         define BImode.
7681         * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
7682         Fix handling of constm1_rtx for VECTOR_BOOL.
7683         * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
7684         (native_decode_vector_rtx): Likewise.
7685         (test_vector_ops_duplicate): Skip vec_merge test
7686         with vectors of booleans.
7687         * varasm.cc (output_constant_pool_2): Likewise.
7689 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7691         * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
7692         for operand 1.
7694 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7696         * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
7698 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
7700         * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
7701         (REG_CLASS_NAMES): Likewise.
7702         (REG_CLASS_CONTENTS): Likewise.
7703         (CLASS_MAX_NREGS): Handle VPR.
7704         * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
7706 2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
7707             Tom de Vries  <tdevries@suse.de>
7709         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
7710         * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
7711         Likewise.
7712         * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
7714 2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
7715             Tom de Vries  <tdevries@suse.de>
7717         * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
7718         * doc/invoke.texi (-mptx): Update for new values and defaults.
7720 2022-02-22  Tom de Vries  <tdevries@suse.de>
7722         * config/nvptx/nvptx.cc (gen_comment): New function.
7723         (workaround_uninit_method_1, workaround_uninit_method_2)
7724         (workaround_uninit_method_3): : Use gen_comment.
7725         * config/nvptx/nvptx.opt (mptx-comment): New option.
7727 2022-02-22  Richard Biener  <rguenther@suse.de>
7729         * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
7730         for a splat.
7732 2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
7733             Richard Biener  <rguenther@suse.de>
7735         * fold-const.cc (ctor_single_nonzero_element): New function to
7736         return the single non-zero element of a (vector) constructor.
7737         * fold-const.h (ctor_single_nonzero_element): Prototype here.
7738         * match.pd (reduc (constructor@0)): Simplify reductions of a
7739         constructor containing a single non-zero element.
7740         (reduc (@0 op VECTOR_CST) ->  (reduc @0) op CONST): Simplify
7741         reductions of vector operations of the same operator with
7742         constant vector operands.
7744 2022-02-22  Jakub Jelinek  <jakub@redhat.com>
7746         PR tree-optimization/104604
7747         * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
7748         Only check if gimple_assign_rhs1 is COMPLEX_CST if
7749         gimple_assign_rhs_code is COMPLEX_CST.
7751 2022-02-22  Jakub Jelinek  <jakub@redhat.com>
7753         PR target/104612
7754         * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
7755         on input operands before calling lowpart_subreg on it.  For output
7756         operand, use a vmode pseudo as destination and then move its lowpart
7757         subreg into operands[0] if lowpart_subreg fails on dest.
7758         (ix86_expand_xorsign): Likewise.
7760 2022-02-22  Richard Biener  <rguenther@suse.de>
7762         PR tree-optimization/104582
7763         PR target/99881
7764         * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
7765         Cost GPR to vector register moves for integer vector construction.
7767 2022-02-22  Richard Biener  <rguenther@suse.de>
7769         PR tree-optimization/104582
7770         * tree-vectorizer.h (stmt_info_for_cost::node): New field.
7771         (vector_costs::add_stmt_cost): Add SLP node parameter.
7772         (dump_stmt_cost): Likewise.
7773         (add_stmt_cost): Likewise, new overload and adjust.
7774         (add_stmt_costs): Adjust.
7775         (record_stmt_cost): New overload.
7776         * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
7777         (vector_costs::add_stmt_cost): Adjust.
7778         * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
7779         Adjust.
7780         * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
7781         the SLP node for costing.
7782         (vectorizable_slp_permutation): Likewise.
7783         * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
7784         new overloads.
7785         * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
7786         Adjust.
7787         * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
7788         Adjust.
7789         * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
7790         Adjust.
7791         (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
7793 2022-02-22  Richard Biener  <rguenther@suse.de>
7795         PR tree-optimization/104582
7796         * tree-vectorizer.h (add_stmt_cost): New overload.
7797         (record_stmt_cost): Likewise.
7798         * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
7799         Use add_stmt_costs.
7800         (vect_get_known_peeling_cost): Use new overloads.
7801         (vect_estimate_min_profitable_iters): Likewise.  Consistently
7802         use scalar_stmt for costing versioning checks.
7803         * tree-vect-stmts.cc (record_stmt_cost): New overload.
7805 2022-02-22  Hongyu Wang  <hongyu.wang@intel.com>
7807         PR target/103069
7808         * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
7809         Split atomic fetch and loop part.
7810         (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
7811         * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
7812         prototype.
7813         * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
7814         expander under TARGET_RELAX_CMPXCHG_LOOP.
7815         (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
7817 2022-02-21  Dan Li  <ashimida@linux.alibaba.com>
7819         * config/aarch64/aarch64.cc (SLOT_REQUIRED):
7820         Change wb_candidate[12] to wb_push_candidate[12].
7821         (aarch64_layout_frame): Likewise, and
7822         change callee_adjust when scs is enabled.
7823         (aarch64_save_callee_saves):
7824         Change wb_candidate[12] to wb_push_candidate[12].
7825         (aarch64_restore_callee_saves):
7826         Change wb_candidate[12] to wb_pop_candidate[12].
7827         (aarch64_get_separate_components):
7828         Change wb_candidate[12] to wb_push_candidate[12].
7829         (aarch64_expand_prologue): Push x30 onto SCS before it's
7830         pushed onto stack.
7831         (aarch64_expand_epilogue): Pop x30 frome SCS, while
7832         preventing it from being popped from the regular stack again.
7833         (aarch64_override_options_internal): Add SCS compile option check.
7834         (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
7835         * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
7836         wb_pop_candidate[12], and rename wb_candidate[12] to
7837         wb_push_candidate[12].
7838         * config/aarch64/aarch64.md (scs_push): New template.
7839         (scs_pop): Likewise.
7840         * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
7841         * doc/tm.texi: Regenerate.
7842         * doc/tm.texi.in: Add hook have_shadow_call_stack.
7843         * flag-types.h (enum sanitize_code):
7844         Add SANITIZE_SHADOW_CALL_STACK.
7845         * opts.cc (parse_sanitizer_options): Add shadow-call-stack
7846         and exclude SANITIZE_SHADOW_CALL_STACK.
7847         * target.def: New hook.
7848         * toplev.cc (process_options): Add SCS compile option check.
7849         * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
7851 2022-02-21  Tom de Vries  <tdevries@suse.de>
7853         PR target/104440
7854         * config/nvptx/nvptx.cc (workaround_uninit_method_1)
7855         (workaround_uninit_method_2, workaround_uninit_method_3)
7856         (workaround_uninit): New function.
7857         (nvptx_reorg): Use workaround_uninit.
7858         * config/nvptx/nvptx.opt (minit-regs): New option.
7860 2022-02-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
7862         PR rtl-optimization/104498
7863         * alias.cc (compare_base_symbol_refs): Correct distance computation
7864         when swapping x and y.
7866 2022-02-21  Andrew Pinski  <apinski@marvell.com>
7868         PR c/104506
7869         * tree-ssa.cc (tree_ssa_useless_type_conversion):
7870         Check the inner type before calling useless_type_conversion_p.
7872 2022-02-19  Tom de Vries  <tdevries@suse.de>
7874         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
7875         * config/nvptx/nvptx.md
7876         (define_insn "nvptx_atomic_store<mode>"): Rename to ...
7877         (define_insn "nvptx_atomic_store_sm70<mode>"): This.
7878         (define_insn "nvptx_atomic_store<mode>"): New define_insn.
7879         (define_expand "atomic_store<mode>"): Handle rename.  Use
7880         nvptx_atomic_store instead of atomic_exchange.
7882 2022-02-19  Tom de Vries  <tdevries@suse.de>
7884         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
7885         insns with atomic attribute.  Assert that all handled insns are
7886         PARALLELs.
7887         * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
7888         Set atomic attribute to false.
7890 2022-02-19  Tom de Vries  <tdevries@suse.de>
7892         * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
7893         type to bool.
7894         (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
7895         nvptx_warpsync, if necessary.
7897 2022-02-19  Jakub Jelinek  <jakub@redhat.com>
7899         PR sanitizer/102656
7900         * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
7901         known to be within bounds, treat it like automatic variables.
7902         If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
7903         current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
7904         it addressable.
7906 2022-02-18  Pat Haugen  <pthaugen@linux.ibm.com>
7908         * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
7909         (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
7910         mpower10-fusion-logical-add, mpower10-fusion-add-logical,
7911         mpower10-fusion-2add, mpower10-fusion-2store): Remove.
7912         * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
7913         OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
7914         * config/rs6000/rs6000.cc (rs6000_option_override_internal,
7915         power10_sched_reorder): Likewise.
7916         * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
7917         gen_addadd): Likewise
7918         * config/rs6000/fusion.md: Regenerate.
7920 2022-02-18  Jakub Jelinek  <jakub@redhat.com>
7922         PR target/104257
7923         PR target/104598
7924         * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
7925         rather than __posix_memalign.
7927 2022-02-18  Richard Biener  <rguenther@suse.de>
7929         PR target/104581
7930         * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
7931         (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
7932         of calling ix86_avx_u128_mode_source which would eventually
7933         have returned AVX_U128_ANY in some very special case.
7935 2022-02-18  Richard Biener  <rguenther@suse.de>
7937         PR tree-optimization/96881
7938         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
7939         CLOBBER handling.
7940         (control_parents_preserved_p): New function.
7941         (eliminate_unnecessary_stmts): Check that we preserved control
7942         parents before retaining a CLOBBER.
7943         (perform_tree_ssa_dce): Pass down aggressive flag
7944         to eliminate_unnecessary_stmts.
7946 2022-02-17  Jason Merrill  <jason@redhat.com>
7948         * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
7949         on TYPE_MAIN_VARIANT.
7951 2022-02-17  Paul A. Clarke  <pc@us.ibm.com>
7953         PR target/104257
7954         * config/rs6000/bmi2intrin.h: Uglify local variables.
7955         * config/rs6000/emmintrin.h: Likewise.
7956         * config/rs6000/mm_malloc.h: Likewise.
7957         * config/rs6000/mmintrin.h: Likewise.
7958         * config/rs6000/pmmintrin.h: Likewise.
7959         * config/rs6000/smmintrin.h: Likewise.
7960         * config/rs6000/tmmintrin.h: Likewise.
7961         * config/rs6000/xmmintrin.h: Likewise.
7963 2022-02-17  Robin Dapp  <rdapp@linux.ibm.com>
7965         PR target/104335
7966         * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
7967         if the expected comparison's first operand is of mode MODE_CC.
7969 2022-02-17  Vladimir N. Makarov  <vmakarov@redhat.com>
7971         PR rtl-optimization/104447
7972         * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
7973         hard reg set by lra_no_alloc_regs.
7975 2022-02-17  liuhongt  <hongtao.liu@intel.com>
7977         PR tree-optimization/104551
7978         PR tree-optimization/103771
7979         * match.pd (cond_expr_convert_p): Add types_match check when
7980         convert is extension.
7981         * tree-vect-patterns.cc
7982         (gimple_cond_expr_convert_p): Adjust comments.
7983         (vect_recog_cond_expr_convert_pattern): Ditto.
7985 2022-02-17  Jakub Jelinek  <jakub@redhat.com>
7987         PR debug/104557
7988         * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
7989         if expr has VOIDmode.
7991 2022-02-17  liuhongt  <hongtao.liu@intel.com>
7993         * config/i386/cpuid.h (bit_MPX): Removed.
7994         (bit_BNDREGS): Ditto.
7995         (bit_BNDCSR): Ditto.
7997 2022-02-17  Michael Meissner  <meissner@the-meissners.org>
7999         PR target/99708
8000         * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
8001         __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
8002         Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
8003         is created.
8005 2022-02-16  Andrew MacLeod  <amacleod@redhat.com>
8007         * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
8008         range_compatible_p instead of direct type comparison.
8010 2022-02-16  Jakub Jelinek  <jakub@redhat.com>
8012         PR rtl-optimization/104544
8013         * combine.cc (try_combine): When looking for insn whose links
8014         should be updated from i3 to i2, don't stop on debug insns, instead
8015         skip over them.
8017 2022-02-16  Richard Sandiford  <richard.sandiford@arm.com>
8019         PR target/100056
8020         * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
8021         * config/aarch64/aarch64.md: Extend the PR100056 patterns
8022         to handle plus in the same way as ior, if the operands have
8023         no set bits in common.
8025 2022-02-15  Andrew MacLeod  <amacleod@redhat.com>
8027         PR tree-optimization/104526
8028         * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
8029         new routine.
8030         * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
8031         of dependency chain if there isn't one.
8032         (gori_compute::condexpr_adjust): New.
8033         * gimple-range-gori.h (class gori_compute): New prototype.
8035 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
8037         PR target/100874
8038         * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
8039         Declare.
8040         * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
8041         * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
8043 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
8045         * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
8046         (vect_scalar_ops_slice_hash): Likewise.
8047         (vect_scalar_ops_slice::op): New function.
8048         * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
8049         (vect_scalar_ops_slice_hash::hash): Likewise.
8050         (vect_scalar_ops_slice_hash::equal): Likewise.
8051         (vect_prologue_cost_for_slp): Check for duplicate vectors.
8052         * config/aarch64/aarch64.cc
8053         (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
8054         (aarch64_aligned_constant_offset_p): New function.
8055         (aarch64_stp_sequence_cost): Likewise.
8056         (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
8057         (aarch64_vector_costs::finish_cost): Likewise.
8059 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
8061         * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
8062         use after free.
8064 2022-02-15  Richard Biener  <rguenther@suse.de>
8066         PR tree-optimization/104543
8067         * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
8068         come after the inner loop.
8070 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
8072         PR target/104536
8073         * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
8074         cannot instead of can%'t in diagnostics.  Formatting fixes.
8076 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
8078         PR middle-end/104522
8079         * fold-const.h (native_interpret_real): Declare.
8080         * fold-const.cc (native_interpret_real): No longer static.  Don't
8081         perform MODE_COMPOSITE_P verification here.
8082         (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
8083         for all modes.
8084         * gimple-fold.cc (clear_padding_type): Call native_interpret_real
8085         instead of native_interpret_expr.
8086         * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
8087         and comparison verification for all FLOAT_MODE_P modes, not just
8088         MODE_COMPOSITE_P.
8090 2022-02-15  Richard Biener  <rguenther@suse.de>
8092         PR tree-optimization/104519
8093         * fold-const.cc (multiple_of_p): Remove never true condition.
8094         * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
8095         the appropriate types for determining whether the difference
8096         of final and base is a multiple of the step.
8098 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
8100         PR debug/104517
8101         * omp-low.cc (task_cpyfns): New variable.
8102         (delete_omp_context): Don't call finalize_task_copyfn from here.
8103         (create_task_copyfn): Push task_stmt into task_cpyfns.
8104         (execute_lower_omp): Call finalize_task_copyfn here on entries from
8105         task_cpyfns vector and release the vector.
8107 2022-02-14  Martin Sebor  <msebor@redhat.com>
8109         PR middle-end/104355
8110         * doc/invoke.texi (-Warray-bounds): Update documentation.
8112 2022-02-14  Michael Meissner  <meissner@the-meissners.org>
8114         PR target/104253
8115         * config/rs6000/rs6000.cc (init_float128_ibm): Update the
8116         conversion functions used to convert IFmode types.
8118 2022-02-14  Andrew Stubbs  <ams@codesourcery.com>
8120         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
8122 2022-02-14  Richard Biener  <rguenther@suse.de>
8124         PR tree-optimization/104528
8125         * tree-ssa.h (find_released_ssa_name): Declare.
8126         * tree-ssa.cc (find_released_ssa_name): Export.
8127         * cfgloop.cc (verify_loop_structure): Look for released
8128         SSA names in loops nb_iterations.
8129         * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
8130         estimates.
8132 2022-02-14  Richard Biener  <rguenther@suse.de>
8134         PR tree-optimization/104511
8135         * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
8136         touching DFP <-> FP conversions.
8138 2022-02-14  Richard Biener  <rguenther@suse.de>
8140         PR middle-end/104497
8141         * gimplify.cc (gimplify_compound_lval): Make sure the
8142         base is a non-register if needed and possible.
8144 2022-02-13  liuhongt  <hongtao.liu@intel.com>
8146         PR target/103771
8147         * match.pd (cond_expr_convert_p): New match.
8148         * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
8149         (vect_recog_cond_expr_convert_pattern): New.
8151 2022-02-12  Jakub Jelinek  <jakub@redhat.com>
8153         PR sanitizer/104449
8154         * asan.cc: Include tree-eh.h.
8155         (handle_builtin_alloca): Handle the case when __builtin_alloca or
8156         __builtin_alloca_with_align can throw.
8158 2022-02-12  Jakub Jelinek  <jakub@redhat.com>
8160         PR target/104502
8161         * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
8162         and AVX512VL isn't available, move operands[1] to operands[0] first.
8164 2022-02-12  Uroš Bizjak  <ubizjak@gmail.com>
8166         PR target/79754
8167         * config/i386/i386.cc (type_natural_mode):
8168         Skip decimal float vector modes.
8170 2022-02-11  Iain Sandoe  <iain@sandoe.co.uk>
8171             Vladimir Makarov  <vmakarov@redhat.com>
8173         PR target/104117
8174         * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
8175         Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
8176         emitting PIC code.
8177         (legitimate_lo_sum_address_p): Likewise.
8178         * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
8179         load from an invalid lo_sum address.
8181 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
8183         PR tree-optimization/104499
8184         * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
8185         of convert.
8187 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
8189         * tree.cc (build_common_builtin_nodes): Fix up formatting in
8190         __builtin_clear_padding decl creation.
8191         * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
8192         for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
8193         argument rather than in 3rd argument.
8194         (gimplify_call_expr): Likewise.  Fix up comment formatting.
8195         * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
8196         2 arguments instead of 3, take for_auto_init from the value
8197         of 2nd argument.
8199 2022-02-11  Vladimir N. Makarov  <vmakarov@redhat.com>
8201         PR rtl-optimization/104400
8202         * lra-constraints.cc (process_alt_operands): Don't make union of
8203         this_alternative_exclude_start_hard_regs when reg class in insn
8204         alternative covers other reg classes in the same alternative.
8206 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
8208         PR middle-end/104446
8209         * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
8210         operands.
8212 2022-02-11  Richard Biener  <rguenther@suse.de>
8214         PR middle-end/104496
8215         * internal-fn.cc (vectorized_internal_fn_supported_p):
8216         Bail out for integer mode vector types.
8218 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
8220         PR rtl-optimization/104459
8221         * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
8222         moving DEBUG_INSNs between bbs.
8224 2022-02-11  liuhongt  <hongtao.liu@intel.com>
8226         PR tree-optimization/104479
8227         * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
8228         for the dest of uncond_op.
8230 2022-02-11  Tom de Vries  <tdevries@suse.de>
8232         PR target/104456
8233         * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
8234         insn.
8236 2022-02-10  Qing Zhao  <qing.zhao@oracle.com>
8238         PR middle-end/100775
8239         * function.cc (gen_call_used_regs_seq): Call
8240         df_update_exit_block_uses when updating df.
8242 2022-02-10  Uroš Bizjak  <ubizjak@gmail.com>
8244         PR target/104469
8245         * config/i386/sse.md (vec_unpacks_float_lo_v4si):
8246         Change operand 1 constraint to register_operand.
8248 2022-02-10  Richard Biener  <rguenther@suse.de>
8250         PR tree-optimization/104373
8251         * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
8252         walk kind.
8253         * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
8254         walk kind as argument.
8255         (run_rpo_vn): Adjust.
8256         (pass_fre::execute): Likewise.
8257         * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
8258         blocks not reachable.
8259         (execute_late_warn_uninitialized): Mark all edges as
8260         executable.
8261         (execute_early_warn_uninitialized): Use VN to compute
8262         executable edges.
8263         (pass_data_early_warn_uninitialized): Enable a dump file,
8264         change dump name to warn_uninit.
8266 2022-02-10  Richard Biener  <rguenther@suse.de>
8268         PR middle-end/104467
8269         * match.pd (vector extract simplification): Multiply the
8270         number of CTOR elements with the number of element elements.
8272 2022-02-10  Richard Biener  <rguenther@suse.de>
8274         PR tree-optimization/104466
8275         * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
8276         for the MR_DEPENDENCE checks as intended.
8278 2022-02-10  Tom de Vries  <tdevries@suse.de>
8280         * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
8281         define_insn.
8282         (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
8283         TARGET_SM70.
8284         (define_c_enum "unspecv"): Add UNSPECV_ST.
8286 2022-02-10  Tom de Vries  <tdevries@suse.de>
8288         * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
8289         * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
8290         (nvptx_mem_maybe_shared_p): New function.
8291         * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
8292         define_expand.
8294 2022-02-10  Tom de Vries  <tdevries@suse.de>
8296         PR target/97005
8297         * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
8298         driver JIT bug by using sub.s16 instead of sub.u16.
8300 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
8302         * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
8303         floating point constants as operands 1 and/or 2.
8305 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
8307         PR target/104345
8308         * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
8309         (sel_false<mode>): Likewise.
8310         (define_code_iterator eqne): New code iterator for EQ and NE.
8311         (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
8312         the negation of a selp instruction.
8313         (*selp<mode>_not_<code>): New define_insn_and_split to optimize
8314         the bitwise not of a selp instruction.
8315         (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
8317 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
8319         * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
8320         in machine description.
8321         (logic): Move code attribute earlier in machine description.
8322         (ilogic): New code attribute, like logic but "ior" for IOR.
8323         (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
8324         (<ilogic><mode>3): New define_insn for HSDIM logic operations.
8325         (<ilogic>bi3): New define_insn for BI mode logic operations.
8326         (define_split): Lower logic operations from integer modes to
8327         BI mode predicate operations.
8329 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
8331         * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
8332         (one_cmplbi2): New define_insn for not.pred.
8333         (mulditi3): New define_expand for signed widening multiply.
8334         (umulditi3): New define_expand for unsigned widening multiply.
8335         (smul<mode>3_highpart): New define_insn for signed highpart mult.
8336         (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
8337         (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
8338         (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
8339         (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
8340         (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
8341         (*setcc<mode>_from_not_bi): New define_insn.
8342         (*setcc_isinf<mode>): New define_insn for testp.infinite.
8343         (isinf<mode>2): New define_expand.
8345 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
8347         * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
8348         (setcc<mode>_from_bi): Additionally support QImode.
8349         (extendbi<mode>2): Additionally support QImode.
8350         (zero_extendbi<mode>2): Additionally support QImode.
8351         (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
8352         iterators for signed and unsigned, binary and unary operations.
8353         (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
8354         expanders to perform QImode operations using SImode instructions.
8355         (cstoreqi4): New define_expand.
8356         (*ext_truncsi2_qi): New define_insn.
8357         (*zext_truncsi2_qi): New define_insn.
8359 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
8361         * config/nvptx/nvptx.md (*cmpf): New define_insn.
8362         (cstorehf4): New define_expand.
8363         (fmahf4): New define_insn.
8364         (neghf2): New define_insn.
8365         (abshf2): New define_insn.
8367 2022-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
8369         * doc/install.texi (Specific): Change the www.bitwizard.nl
8370         reference to use https.
8372 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
8374         * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
8375         OMP_CLAUSE_HAS_DEVICE_ADDR
8376         and handle array sections.
8377         (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
8378         * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
8379         (lower_omp_target): Same.
8380         * tree-core.h (enum omp_clause_code): Same.
8381         * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
8382         (convert_local_omp_clauses): Same.
8383         * tree-pretty-print.cc (dump_omp_clause): Same.
8384         * tree.cc: Same.
8386 2022-02-10  Eugene Rozenfeld  <erozen@microsoft.com>
8388         * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
8389         that will result in direct recursive calls.
8391 2022-02-10  Andrew Pinski  <apinski@marvell.com>
8393         PR target/104474
8394         * config/aarch64/aarch64.cc
8395         (aarch64_sve_expand_vector_init_handle_trailing_constants):
8396         Use CONST0_RTX instead of const0_rtx for the non-constant elements.
8398 2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
8400         PR target/104462
8401         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
8402         Also include OPTION_MASK_ISA2_AVX2_UNSET.
8404 2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
8406         PR target/104458
8407         * config/i386/i386-expand.cc (ix86_split_idivmod):
8408         Force operands[2] and operands[3] into a register..
8410 2022-02-09  Jeff Law  <jeffreyalaw@gmail.com>
8412         PR target/97040
8413         * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
8414         (*v850_fnmssf4): Renamed from fnmssf4
8416 2022-02-09  Ian Lance Taylor  <iant@golang.org>
8418         * godump.cc (go_force_record_alignment): Really name the alignment
8419         field "_" (complete 2021-12-29 change).
8421 2022-02-09  Bill Schmidt  <wschmidt@linux.ibm.com>
8423         * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
8424         function prototype.
8425         (VREPLACE_UN_UV4SI): Likewise.
8426         (VREPLACE_UN_V2DF): Likewise.
8427         (VREPLACE_UN_V2DI): Likewise.
8428         (VREPLACE_UN_V4SF): Likewise.
8429         (VREPLACE_UN_V4SI): Likewise.
8430         * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
8431         function prototypes.
8432         * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
8433         (vreplace_un_<mode>): New define_insn.
8435 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8437         * config/aarch64/iterators.md (VDCSIF): New mode iterator.
8438         (VDBL): Handle SF.
8439         (single_wx, single_type, single_dtype, dblq): New mode attributes.
8440         * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
8441         from VDC to VDCSIF.
8442         (store_pair_lanes<mode>): Likewise.
8443         (*aarch64_combine_internal<mode>): Likewise.
8444         (*aarch64_combine_internal_be<mode>): Likewise.
8445         (*aarch64_combinez<mode>): Likewise.
8446         (*aarch64_combinez_be<mode>): Likewise.
8447         * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
8448         8-byte modes for ADDR_QUERY_LDP_STP_N.
8449         (aarch64_print_operand): Likewise for %y.
8451 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8453         * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
8454         Use aarch64_combine instead of move_lo/hi_quad.  Tabify.
8455         (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
8456         (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
8457         (vec_pack_trunc_<mode>): Take general_operand elements and use
8458         aarch64_combine rather than move_lo/hi_quad to combine them.
8459         (vec_pack_trunc_df): Likewise.
8461 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8463         * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
8464         Delete.
8465         * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
8466         to...
8467         (*aarch64_combinez<mode>): ...this.
8468         (@aarch64_combinez_be<mode>): Rename to...
8469         (*aarch64_combinez_be<mode>): ...this.
8470         (@aarch64_vec_concat<mode>): New expander.
8471         (aarch64_combine<mode>): Use it.
8472         (@aarch64_simd_combine<mode>): Delete.
8473         * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
8474         (aarch64_expand_vector_init): Use aarch64_vec_concat.
8476 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8478         * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
8479         New predicate.
8480         * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
8481         (*aarch64_combine_internal_be<mode>): New patterns.
8483 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8485         * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
8486         (move_lo_quad_internal_be_<mode>): Delete.
8487         (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
8489 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8491         * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
8492         Declare.
8493         * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
8494         aarch64_mergeable_load_pair_p instead of inline check.
8495         * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
8496         (aarch64_check_consecutive_mems): Allow the reversed parameter
8497         to be null.
8498         (aarch64_mergeable_load_pair_p): New function.
8500 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8502         * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
8503         element to be an aarch64_simd_nonimmediate_operand.
8505 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
8507         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
8508         aarch64_simd_nonimmediate_operand instead of
8509         aarch64_simd_general_operand.
8510         (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
8511         general_operand.
8512         (@aarch64_combinez_be<mode>): Likewise.
8514 2022-02-09  Richard Biener  <rguenther@suse.de>
8516         PR middle-end/104464
8517         * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
8518         throwing check to after unproblematic replacement.
8520 2022-02-09  Roger Sayle  <roger@nextmovesoftware.com>
8522         PR tree-optimization/104420
8523         * match.pd (mult @0 real_zerop): Tweak conditions for constant
8524         folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
8526 2022-02-09  Jakub Jelinek  <jakub@redhat.com>
8528         PR debug/104407
8529         * dwarf2out.cc (mangle_referenced_decls): New function.
8530         (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
8531         early_dwarf.  Instead walk the initializer and try to mangle vars or
8532         functions referenced from it.
8534 2022-02-09  Andrew MacLeod  <amacleod@redhat.com>
8536         PR tree-optimization/104288
8537         * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
8538         (non_null_ref::adjust_range): Move to header.
8539         (ranger_cache::range_of_def): Don't check non-null.
8540         (ranger_cache::entry_range): Don't check non-null.
8541         (ranger_cache::range_on_edge): Check for nonnull on normal edges.
8542         (ranger_cache::update_to_nonnull): New.
8543         (non_null_loadstore): New.
8544         (ranger_cache::block_apply_nonnull): New.
8545         * gimple-range-cache.h (class non_null_ref): Update prototypes.
8546         (non_null_ref::adjust_range): Move to here and inline.
8547         (class ranger_cache): Update prototypes.
8548         * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
8549         not search dominators.
8550         (path_range_query::adjust_for_non_null_uses): Ditto.
8551         * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
8552         def overrides.  Do not check nonnull.
8553         (gimple_ranger::range_on_entry): Check dominators for nonnull.
8554         (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
8555         (gimple_ranger::register_side_effects): New.
8556         * gimple-range.h (gimple_ranger::register_side_effects): New.
8557         * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
8559 2022-02-09  Richard Biener  <rguenther@suse.de>
8561         PR tree-optimization/104445
8562         PR tree-optimization/102832
8563         * optabs-query.h (can_vec_extract): New.
8564         * optabs-query.cc (can_vec_extract): Likewise.
8565         * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
8566         we can extract a hi/lo part from the larger vector, rework
8567         check iteration from larger to smaller sizes.
8569 2022-02-09  H.J. Lu  <hjl.tools@gmail.com>
8571         PR target/35513
8572         PR target/100593
8573         * config/i386/gnu-property.cc: Include "i386-protos.h".
8574         (file_end_indicate_exec_stack_and_gnu_property): Generate
8575         a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
8576         nodirect_extern_access attribute.
8577         * config/i386/i386-options.cc
8578         (handle_nodirect_extern_access_attribute): New function.
8579         (ix86_attribute_table): Add nodirect_extern_access attribute.
8580         * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
8581         bool argument.
8582         (ix86_has_no_direct_extern_access): New.
8583         * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
8584         (ix86_force_load_from_GOT_p): Add a bool argument to indicate
8585         call operand.  Force non-call load from GOT for
8586         -mno-direct-extern-access or nodirect_extern_access attribute.
8587         (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
8588         for -mno-direct-extern-access or nodirect_extern_access attribute.
8589         (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
8590         for call operand.
8591         (asm_preferred_eh_data_format): Use PC-relative format for
8592         -mno-direct-extern-access to avoid copy relocation.  Check
8593         ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
8594         (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
8595         true for -mno-direct-extern-access or nodirect_extern_access
8596         attribute.  Don't treat protected data as extern and avoid copy
8597         relocation on common symbol with -mno-direct-extern-access or
8598         nodirect_extern_access attribute.
8599         (ix86_reloc_rw_mask): New to avoid copy relocation for
8600         -mno-direct-extern-access.
8601         (TARGET_ASM_RELOC_RW_MASK): New.
8602         * config/i386/i386.opt: Add -mdirect-extern-access.
8603         * doc/extend.texi: Document nodirect_extern_access attribute.
8604         * doc/invoke.texi: Document -m[no-]direct-extern-access.
8606 2022-02-09  H.J. Lu  <hjl.tools@gmail.com>
8608         PR target/104441
8609         * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
8610         (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
8611         Call ix86_avx_u128_mode_source to check mode for each component
8612         of source operand.
8614 2022-02-09  liuhongt  <hongtao.liu@intel.com>
8616         PR target/104451
8617         * config/i386/sse.md (<insn><mode>3): lowpart_subreg
8618         operands[2] from SImode to QImode.
8620 2022-02-09  Richard Biener  <rguenther@suse.de>
8622         PR middle-end/104450
8623         * gimple-isel.cc: Pass cfun around.
8624         (+gimple_expand_vec_cond_expr): Do not combine a throwing
8625         comparison with the select.
8627 2022-02-09  Richard Biener  <rguenther@suse.de>
8629         PR target/104453
8630         * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
8631         folding for NULL LHS.
8633 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
8635         PR rtl-optimization/104198
8636         PR rtl-optimization/104153
8637         * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
8638         using it directly.  Rework comparison handling and always
8639         perform a second pass.
8641 2022-02-08  Jakub Jelinek  <jakub@redhat.com>
8643         PR target/102140
8644         * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
8645         split1 pass has finished already.
8647 2022-02-08  Bill Schmidt  <wschmidt@linux.ibm.com>
8649         * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
8650         * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
8651         * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
8652         (vmsumcud): New define_insn.
8654 2022-02-08  Tom de Vries  <tdevries@suse.de>
8656         * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
8657         * config/nvptx/nvptx.h (TARGET_SM70): Define.
8659 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
8661         * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
8662         on condition.
8663         * config/s390/s390.md: Use paradoxical subreg.
8665 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
8667         * combine.cc (reg_subword_p): Check for paradoxical subreg.
8669 2022-02-08  Tom de Vries  <tdevries@suse.de>
8671         PR target/104283
8672         * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
8673         and PTX_VERSION_4_2.
8674         * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
8675         (default_ptx_version_option, ptx_version_to_string)
8676         (sm_version_to_string, handle_ptx_version_option): New function.
8677         (nvptx_option_override): Call handle_ptx_version_option.
8678         (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
8679         * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
8680         (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
8681         * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
8683 2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
8685         * doc/install.texi (Configuration): Document `--with-isa-spec='
8686         RISC-V option.
8687         * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
8688         option.
8689         (RISC-V Options): Document it.
8691 2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
8693         * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
8695 2022-02-08  Tom de Vries  <tdevries@suse.de>
8697         * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
8699 2022-02-08  Tom de Vries  <tdevries@suse.de>
8701         PR target/104364
8702         * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
8703         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
8704         change is validated.
8705         (nvptx_mem_local_p): New function.
8706         * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
8707         (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
8708         (define_insn "atomic_compare_and_swap<mode>_1_local"): New
8709         non-atomic, non-predicable define_insn, factored out of ...
8710         (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
8711         Make predicable again.
8712         (define_expand "atomic_compare_and_swap<mode>"): Use
8713         atomic_compare_and_swap<mode>_1_local.
8715 2022-02-08  liuhongt  <hongtao.liu@intel.com>
8717         PR rtl-optimization/104059
8718         * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
8719         for a more expensive reg-reg move.
8721 2022-02-07  Tamar Christina  <tamar.christina@arm.com>
8723         * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
8724         vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
8725         * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
8726         (usdot_laneq, sudot_laneq): New.
8727         * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
8728         (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
8730 2022-02-07  Tamar Christina  <tamar.christina@arm.com>
8732         * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
8733         vdot_laneq_s32, vdotq_laneq_s32): New.
8734         * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
8735         * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
8736         (<sup>dot_prod<vsi2qi>): Re-order rtl.
8737         (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
8738         (neon_<sup>dot_laneq<vsi2qi>): New.
8740 2022-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>
8742         PR target/104327
8743         * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
8744         if always_inline is set. Don't inline when tune differs without
8745         always_inline.
8747 2022-02-07  Richard Biener  <rguenther@suse.de>
8749         PR middle-end/104402
8750         * gimple-expr.cc (is_gimple_condexpr): _Complex typed
8751         compares are not valid.
8752         * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
8753         check is_gimple_condexpr.
8755 2022-02-07  Kewen Lin  <linkw@linux.ibm.com>
8757         PR target/103627
8758         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
8759         hunk affecting VSX and ALTIVEC to appropriate place.
8761 2022-02-07  Kewen Lin  <linkw@linux.ibm.com>
8763         PR target/103627
8764         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
8765         MMA if !TARGET_VSX.
8767 2022-02-06  Jakub Jelinek  <jakub@redhat.com>
8769         PR c++/89074
8770         PR c++/104033
8771         * fold-const.h (folding_initializer): Adjust comment.
8772         (folding_cxx_constexpr): Declare.
8773         * fold-const.cc (folding_initializer): Adjust comment.
8774         (folding_cxx_constexpr): New variable.
8775         (address_compare): Restrict the decl vs. STRING_CST
8776         or vice versa or STRING_CST vs. STRING_CST or
8777         is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
8778         Punt for FUNCTION_DECLs with non-zero offsets.  If folding_initializer,
8779         assume non-aliased functions have non-zero size and have different
8780         addresses.  For folding_cxx_constexpr, punt on comparisons of start
8781         of some object and end of another one, regardless whether it is a decl
8782         or string literal.  Also punt for folding_cxx_constexpr on
8783         STRING_CST vs. STRING_CST comparisons if the two literals could be
8784         overlapping.
8786 2022-02-05  Jakub Jelinek  <jakub@redhat.com>
8788         PR tree-optimization/104389
8789         * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
8790         honored.
8792 2022-02-05  Kito Cheng  <kito.cheng@sifive.com>
8794         * configure.ac: Fix detection for zifencei support.
8795         * configure: Regenerate.
8797 2022-02-05  Kito Cheng  <kito.cheng@sifive.com>
8799         PR target/104219
8800         * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
8801         (all_defaults): Add isa_spec.
8802         * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
8804 2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
8806         * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
8807         parameters instead of arglist and nargs.  Simplify accordingly.  Remove
8808         unnecessary test for argument count mismatch.
8809         (resolve_vec_cmpne): Likewise.
8810         (resolve_vec_adde_sube): Likewise.
8811         (resolve_vec_addec_subec): Likewise.
8812         (altivec_resolve_overloaded_builtin): Move overload special handling
8813         after the gathering of arguments into args[] and types[] and the test
8814         for correct number of arguments.  Don't perform the test for correct
8815         number of arguments for certain special cases.  Call the other special
8816         cases with args and types instead of arglist and nargs.
8818 2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
8820         PR target/100808
8821         * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
8822         3.1): Provide consistent type names.  Remove unnecessary semicolons.
8823         Fix bad line breaks.
8825 2022-02-04  Jakub Jelinek  <jakub@redhat.com>
8827         PR target/104380
8828         * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
8829         adjust mangling of __builtin*printf_chk.
8831 2022-02-04  Jonathan Wakely  <jwakely@redhat.com>
8833         * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
8835 2022-02-04  Richard Biener  <rguenther@suse.de>
8836             Bin Cheng   <bin.cheng@linux.alibaba.com>
8838         PR tree-optimization/100499
8839         * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
8840         to true.
8841         * fold-const.cc (multiple_of_p): Likewise.  Honor it for
8842         MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
8843         switching to false for conversions.
8844         * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
8845         claim the outermost expression does not wrap when calling
8846         multiple_of_p.  Refactor the check done to check the
8847         original IV, avoiding a bias that might wrap.
8849 2022-02-04  Richard Biener  <rguenther@suse.de>
8851         * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
8852         handling.
8854 2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
8856         PR debug/104366
8857         * dwarf2out.cc (dwarf2out_finish): Empty base_types.
8858         (dwarf2out_early_finish): Likewise.
8860 2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
8862         PR tree-optimization/104356
8863         * match.pd (X / bool_range_Y is X): Add guard.
8864         (X / X is one): Likewise.
8865         (X / abs (X) is X < 0 ? -1 : 1): Likewise.
8866         (X / -X is -1): Likewise.
8867         (1 / X -> X == 1): Likewise.
8869 2022-02-04  Richard Biener  <rguenther@suse.de>
8871         PR tree-optimization/103641
8872         * tree-vect-patterns.cc (vect_synth_mult_by_constant):
8873         Pass the vector mode to choose_mult_variant.
8875 2022-02-04  Roger Sayle  <roger@nextmovesoftware.com>
8877         PR rtl-optimization/101885
8878         * combine.cc (try_combine): When splitting a parallel into two
8879         sequential sets, check not only that the first doesn't clobber
8880         the second but also that the second doesn't clobber the first.
8882 2022-02-04  Richard Biener  <rguenther@suse.de>
8884         PR middle-end/90348
8885         PR middle-end/104092
8886         * tree-core.h (clobber_kind): New enum.
8887         (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
8888         * tree.h (CLOBBER_KIND): Add.
8889         (build_clobber): Add clobber kind argument, defaulted to
8890         CLOBBER_UNDEF.
8891         * tree.cc (build_clobber): Likewise.
8892         * gimple.h (gimple_clobber_p): New overload with specified kind.
8893         * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
8894         CLOBBER_KIND.
8895         * tree-streamer-out.cc (streamer_write_tree_bitfields):
8896         Likewise.
8897         * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
8898         * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
8899         with CLOBBER_EOL.
8900         (gimplify_target_expr): Likewise.
8901         * tree-inline.cc (expand_call_inline): Likewise.
8902         * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
8903         * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
8904         CLOBBER_EOL clobbers as ending lifetime of storage.
8906 2022-02-04  Martin Sebor  <msebor@redhat.com>
8908         * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
8909         cleanup.
8911 2022-02-03  Martin Sebor  <msebor@redhat.com>
8913         PR middle-end/104260
8914         * passes.def (pass_warn_access): Adjust pass placement.
8916 2022-02-03  Uroš Bizjak  <ubizjak@gmail.com>
8918         PR target/104362
8919         * config/i386/i386.cc (find_drap_reg): For 32bit targets
8920         return DI_REG if function uses __builtin_eh_return.
8922 2022-02-03  Martin Sebor  <msebor@redhat.com>
8924         * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
8925         (pass_wrestrict::m_ptr_qry): New member.
8926         (wrestrict_walk): Rename...
8927         (pass_wrestrict::check_block): ...to this.
8928         (pass_wrestrict::execute): Set up and tear down pointer_query and
8929         ranger.
8930         (builtin_memref::builtin_memref): Change ctor argument.  Simplify.
8931         (builtin_access::builtin_access): Same.
8932         (builtin_access::m_ptr_qry): New member.
8933         (check_call): Rename...
8934         (pass_wrestrict::check_call): ...to this.
8935         (check_bounds_or_overlap): Change argument.
8936         * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
8938 2022-02-03  Martin Sebor  <msebor@redhat.com>
8940         * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
8941         Define ctor.
8942         (array_bounds_checker::get_value_range): Use new member.
8943         (array_bounds_checker::check_mem_ref): Same.
8944         * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
8945         Outline ctor.
8946         (array_bounds_checker::m_ptr_query): New member.
8948 2022-02-03  Martin Sebor  <msebor@redhat.com>
8950         * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
8951         pointer_query cache.
8952         * pointer-query.cc (pointer_query::pointer_query): Remove cache
8953         argument.  Zero-initialize new cache member.
8954         (pointer_query::get_ref): Replace cache pointer with direct access.
8955         (pointer_query::put_ref): Same.
8956         (pointer_query::flush_cache): Same.
8957         (pointer_query::dump): Same.
8958         * pointer-query.h (class pointer_query): Remove cache argument from
8959         ctor.  Change cache pointer to cache subobject member.
8960         * tree-ssa-strlen.cc: Remove pointer_query cache.
8962 2022-02-03  Martin Sebor  <msebor@redhat.com>
8964         PR tree-optimization/104119
8965         * gimple-ssa-sprintf.cc (struct directive): Change argument type.
8966         (format_none): Same.
8967         (format_percent): Same.
8968         (format_integer): Same.
8969         (format_floating): Same.
8970         (get_string_length): Same.
8971         (format_character): Same.
8972         (format_string): Same.
8973         (format_plain): Same.
8974         (format_directive): Same.
8975         (compute_format_length): Same.
8976         (handle_printf_call): Same.
8977         * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same.   Call
8978         get_maxbound.
8979         (get_range_strlen_phi): Same.
8980         (get_maxbound): New function.
8981         (strlen_pass::get_len_or_size): Adjust to parameter change.
8982         * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
8984 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
8986         PR target/103686
8987         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
8988         test for !rs6000_fold_gimple.
8989         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
8990         * config/rs6000/rs6000.opt (mfold-gimple): Remove.
8992 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
8994         PR target/95082
8995         * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
8996         endianness for vclzlsbb and vctzlsbb.
8997         * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
8998         default pattern and indicate a different pattern will be used for
8999         big endian.
9000         (VCLZLSBB_V4SI): Likewise.
9001         (VCLZLSBB_V8HI): Likewise.
9002         (VCTZLSBB_V16QI): Likewise.
9003         (VCTZLSBB_V4SI): Likewise.
9004         (VCTZLSBB_V8HI): Likewise.
9006 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
9008         * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
9009         * config/rs6000/rs6000-builtin.cc: New file, containing code moved
9010         from other files.
9011         * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
9012         rs6000-builtin.cc.
9013         (cpu_supports_info): Likewise.
9014         (rs6000_type_string): Likewise.
9015         (altivec_expand_predicate_builtin): Likewise.
9016         (rs6000_htm_spr_icode): Likewise.
9017         (altivec_expand_vec_init_builtin): Likewise.
9018         (get_element_number): Likewise.
9019         (altivec_expand_vec_set_builtin): Likewise.
9020         (altivec_expand_vec_ext_builtin): Likewise.
9021         (rs6000_invalid_builtin): Likewise.
9022         (rs6000_fold_builtin): Likewise.
9023         (fold_build_vec_cmp): Likewise.
9024         (fold_compare_helper): Likewise.
9025         (map_to_integral_tree_type): Likewise.
9026         (fold_mergehl_helper): Likewise.
9027         (fold_mergeeo_helper): Likewise.
9028         (rs6000_builtin_valid_without_lhs): Likewise.
9029         (rs6000_builtin_is_supported): Likewise.
9030         (rs6000_gimple_fold_mma_builtin): Likewise.
9031         (rs6000_gimple_fold_builtin): Likewise.
9032         (rs6000_expand_ldst_mask): Likewise.
9033         (cpu_expand_builtin): Likewise.
9034         (elemrev_icode): Likewise.
9035         (ldv_expand_builtin): Likewise.
9036         (lxvrse_expand_builtin): Likewise.
9037         (lxvrze_expand_builtin): Likewise.
9038         (stv_expand_builtin): Likewise.
9039         (mma_expand_builtin): Likewise.
9040         (htm_spr_num): Likewise.
9041         (htm_expand_builtin): Likewise.
9042         (rs6000_expand_builtin): Likewise.
9043         (rs6000_vector_type): Likewise.
9044         (rs6000_init_builtins): Likewise.  Remove initialization of
9045         builtin_mode_to_type entries.
9046         (rs6000_builtin_decl): Move to rs6000-builtin.cc.
9047         * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
9048         external declaration.
9049         (rs6000_builtin_md_vectorized_function): Likewise.
9050         (rs6000_builtin_reciprocal): Likewise.
9051         (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
9052         (rs6000_builtin_types): Likewise.
9053         (builtin_mode_to_type): Remove.
9054         (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc.  Remove
9055         static qualifier.
9056         (rs6000_builtin_md_vectorized_function): Likewise.
9057         (rs6000_builtin_reciprocal): Likewise.
9058         * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
9059         * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
9061 2022-02-03  Richard Biener  <rguenther@suse.de>
9063         PR debug/104337
9064         * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
9065         together via DECL_ABSTRACT_ORIGIN.
9067 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
9069         * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
9070         message for RES_BITS case.
9072 2022-02-03  Aldy Hernandez  <aldyh@redhat.com>
9074         * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
9076 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
9078         * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
9079         mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
9081 2022-02-03  Aldy Hernandez  <aldyh@redhat.com>
9083         * cfganal.cc (verify_marked_backedges): New.
9084         * cfganal.h (verify_marked_backedges): New.
9085         * gimple-range-path.cc (path_range_query::path_range_query):
9086         Verify freshness of back edges.
9087         * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
9088         mark_dfs_back_edges.
9089         * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
9090         path_range_query construction after backedges have been
9091         updated.
9093 2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
9095         * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
9096         VALL to VALL_F16.
9098 2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
9100         * config/aarch64/iterators.md (VALL_F16MOV): Delete.
9101         * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
9102         of VALL_F16MOV.
9104 2022-02-03  Martin Liska  <mliska@suse.cz>
9106         * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
9107         Change subject and object in the error message.
9108         * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
9109         Likewise.
9111 2022-02-03  Martin Liska  <mliska@suse.cz>
9113         * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
9114         Use the error message for i386 target.
9116 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
9118         PR tree-optimization/104334
9119         * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
9120         and rh_range type to widest_int and subtract in widest_int.  Remove
9121         ov_rh, ov_lh and sign vars, always perform comparisons as signed
9122         and use >, < and == operators for it.
9124 2022-02-03  Martin Sebor  <msebor@redhat.com>
9126         * common.opt (-Wuse-after-free): Correct typos.
9128 2022-02-02  David Malcolm  <dmalcolm@redhat.com>
9130         PR analyzer/104270
9131         * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
9132         -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
9133         -ftrivial-auto-var-init= doesn't suppress warnings.
9135 2022-02-02  Martin Liska  <mliska@suse.cz>
9137         * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
9139 2022-02-02  Bernd Kuhls  <bernd.kuhls@t-online.de>
9141         PR target/94372
9142         * config/or1k/linux.h (CPP_SPEC): Define.
9144 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
9146         PR tree-optimization/102819
9147         PR tree-optimization/103169
9148         * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
9149         canonical order.
9151 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
9153         PR tree-optimization/102819
9154         PR tree-optimization/103169
9155         * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
9156         canonical order.
9157         * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
9159 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
9161         PR tree-optimization/102819
9162         PR tree-optimization/103169
9163         * doc/md.texi: Update docs for cfms, cfma.
9164         * tree-data-ref.h (same_data_refs): Accept optional offset.
9165         * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
9166         patterns.
9167         (vect_normalize_conj_loc): Remove.
9168         (is_eq_or_top): Change to take two nodes.
9169         (enum _conj_status, compatible_complex_nodes_p,
9170         vect_validate_multiplication): New.
9171         (class complex_add_pattern, complex_add_pattern::matches,
9172         complex_add_pattern::recognize, class complex_mul_pattern,
9173         complex_mul_pattern::recognize, class complex_fms_pattern,
9174         complex_fms_pattern::recognize, class complex_operations_pattern,
9175         complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
9176         new cache.
9177         (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
9178         cache and use new validation code.
9179         * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
9180         vect_analyze_slp): Pass along cache.
9181         (compatible_calls_p): Expose.
9182         * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
9183         slp_compat_nodes_map_t): New.
9184         (class vect_pattern): Update signatures include new cache.
9186 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
9188         * config/cris/cris.cc (cris_preferred_reload_class): Reject
9189         "eliminated" registers and small-enough constants unless
9190         reloaded into a class that is a subset of GENERAL_REGS.
9191         * config/cris/cris.md (attribute "cpu_variant"): New.
9192         (attribute "enabled"): Conditionalize on a matching attribute
9193         cpu_variant, if specified.
9194         ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
9195         memory, add cpu-variant-enabled variants for "r" alternatives on
9196         the far side of the "x" alternatives, preferring the "x" ones
9197         only for variants where MOF is present (in addition to SRP).
9199 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
9201         * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
9202         extra cost for ALL_REGS.
9204 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
9206         * config/cris/constraints.md (define_register_constraint "b"): Now
9207         GENERAL_REGS.
9208         * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
9209         * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
9210         (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
9211         and SPEC_GENNONACR_REGS.
9212         * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
9213         ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
9215 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
9217         * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
9218         Conditionalize on (sub-)register operands or operand 1 being 0.
9220 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
9222         * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
9223         (MUL_BUG_ASM_DEFAULT): New macro.
9224         (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
9225         * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
9226         accordingly.
9228 2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
9230         * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
9231         to 10 for AutoFDO.
9233 2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
9235         * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
9237 2022-02-01  Andrew Pinski  <apinski@marvell.com>
9239         * doc/install.texi:
9241 2022-02-01  Ilya Leoshkevich  <iii@linux.ibm.com>
9243         * config/s390/s390.cc (s390_code_end): Do not switch back to
9244         code section.
9246 2022-02-01  Jakub Jelinek  <jakub@redhat.com>
9248         PR target/104323
9249         * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
9250         rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
9251         * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
9252         GTY((user)) for struct bifdata and struct ovlddata.  Instead add
9253         GTY((skip(""))) to members with pointer and enum types that don't need
9254         to be tracked.  Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
9255         declarations.  Don't emit gt_ggc_mx and gt_pch_nx declarations.
9256         (write_extern_fntype, write_fntype): Remove.
9257         (write_fntype_init): Emit the fntype vars as automatic vars instead
9258         of file scope ones.
9259         (write_header_file): Don't iterate with write_extern_fntype.
9260         (write_init_file): Don't iterate with write_fntype.  Don't emit
9261         gt_ggc_mx and gt_pch_nx definitions.
9263 2022-02-01  Jason Merrill  <jason@redhat.com>
9265         * tree.h (struct tree_vec_map_cache_hasher): Move from...
9266         * tree.cc (struct tree_vec_map_cache_hasher): ...here.
9268 2022-02-01  Tom de Vries  <tdevries@suse.de>
9270         * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
9271         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
9272         UNSPECV_UNIFORM_WARP_CHECK.
9273         (define_insn "nvptx_uniform_warp_check"): New define_insn.
9275 2022-02-01  Tom de Vries  <tdevries@suse.de>
9277         * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
9278         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
9279         UNSPECV_WARPSYNC.
9280         (define_insn "nvptx_warpsync"): New define_insn.
9282 2022-02-01  Tom de Vries  <tdevries@suse.de>
9284         * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
9286 2022-02-01  Tom de Vries  <tdevries@suse.de>
9288         * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
9289         * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
9290         * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
9291         insn for TARGET_PTX_6_0.
9293 2022-02-01  Tom de Vries  <tdevries@suse.de>
9295         PR target/100428
9296         * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
9297         insn.
9299 2022-02-01  Tom de Vries  <tdevries@suse.de>
9301         * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
9302         (define_insn "atomic_exchange<mode>")
9303         (define_insn "atomic_fetch_add<mode>")
9304         (define_insn "atomic_fetch_addsf")
9305         (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
9306         if memory operands is frame-relative.
9308 2022-02-01  Tom de Vries  <tdevries@suse.de>
9310         * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
9311         NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
9312         (VOID): New macro.
9313         (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
9314         (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
9315         NVPTX_BUILTIN_MEMBAR_CTA.
9316         (nvptx_lockfull_update): Add level parameter.  Emit barriers.
9317         (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
9318         nvptx_lockfull_update.
9319         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
9320         UNSPECV_MEMBAR_GL.
9321         (define_expand "nvptx_membar_gl"): New expand.
9322         (define_insn "*nvptx_membar_gl"): New insn.
9324 2022-02-01  Martin Liska  <mliska@suse.cz>
9326         * doc/install.texi: Remove option for GCC < 4.8.
9328 2022-02-01  Jakub Jelinek  <jakub@redhat.com>
9330         PR middle-end/104307
9331         * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
9332         stmts to uses vector, just set vec_cond_expr_only to false for
9333         non-VEC_COND_EXPRs instead of pushing them into uses.  Treat
9334         VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
9335         like non-VEC_COND_EXPRs.
9337 2022-02-01  Bill Schmidt  <wschmidt@linux.ibm.com>
9339         * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
9340         (VEC_BLENDV): Likewise.
9341         (VEC_BPERM): Likewise.
9342         (VEC_CFUGE): Likewise.
9343         (VEC_CIPHER_BE): Likewise.
9344         (VEC_CIPHERLAST_BE): Likewise.
9345         (VEC_CLRL): Likewise.
9346         (VEC_CLRR): Likewise.
9347         (VEC_CMPNEZ): Likewise.
9348         (VEC_CNTLZ): Likewise.
9349         (VEC_CNTLZM): Likewise.
9350         (VEC_CNTTZM): Likewise.
9351         (VEC_CNTLZ_LSBB): Likewise.
9352         (VEC_CNTM): Likewise.
9353         (VEC_CNTTZ): Likewise.
9354         (VEC_CNTTZ_LSBB): Likewise.
9355         (VEC_CONVERT_4F32_8F16): Likewise.
9356         (VEC_DIV): Likewise.
9357         (VEC_DIVE): Likewise.
9358         (VEC_EQV): Likewise.
9359         (VEC_EXPANDM): Likewise.
9360         (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
9361         (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
9362         (VEC_EXTRACTH): Likewise.
9363         (VEC_EXTRACTL): Likewise.
9364         (VEC_EXTRACTM): Likewise.
9365         (VEC_EXTRACT4B): Likewise.
9366         (VEC_EXTULX): Likewise.
9367         (VEC_EXTURX): Likewise.
9368         (VEC_FIRSTMATCHINDEX): Likewise.
9369         (VEC_FIRSTMACHOREOSINDEX): Likewise.
9370         (VEC_FIRSTMISMATCHINDEX): Likewise.
9371         (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
9372         (VEC_GB): Likewise.
9373         (VEC_GENBM): Likewise.
9374         (VEC_GENHM): Likewise.
9375         (VEC_GENWM): Likewise.
9376         (VEC_GENDM): Likewise.
9377         (VEC_GENQM): Likewise.
9378         (VEC_GENPCVM): Likewise.
9379         (VEC_GNB): Likewise.
9380         (VEC_INSERTH): Likewise.
9381         (VEC_INSERTL): Likewise.
9382         (VEC_INSERT4B): Likewise.
9383         (VEC_LXVL): Likewise.
9384         (VEC_MERGEE): Likewise.
9385         (VEC_MERGEO): Likewise.
9386         (VEC_MOD): Likewise.
9387         (VEC_MSUB): Likewise.
9388         (VEC_MULH): Likewise.
9389         (VEC_NAND): Likewise.
9390         (VEC_NCIPHER_BE): Likewise.
9391         (VEC_NCIPHERLAST_BE): Likewise.
9392         (VEC_NEARBYINT): Likewise.
9393         (VEC_NMADD): Likewise.
9394         (VEC_ORC): Likewise.
9395         (VEC_PDEP): Likewise.
9396         (VEC_PERMX): Likewise.
9397         (VEC_PEXT): Likewise.
9398         (VEC_POPCNT): Likewise.
9399         (VEC_PARITY_LSBB): Likewise.
9400         (VEC_REPLACE_ELT): Likewise.
9401         (VEC_REPLACE_UN): Likewise.
9402         (VEC_REVB): Likewise.
9403         (VEC_RINT): Likewise.
9404         (VEC_RLMI): Likewise.
9405         (VEC_RLNM): Likewise.
9406         (VEC_SBOX_BE): Likewise.
9407         (VEC_SIGNEXTI): Likewise.
9408         (VEC_SIGNEXTLL): Likewise.
9409         (VEC_SIGNEXTQ): Likewise.
9410         (VEC_SLDB): Likewise.
9411         (VEC_SLV): Likewise.
9412         (VEC_SPLATI): Likewise.
9413         (VEC_SPLATID): Likewise.
9414         (VEC_SPLATI_INS): Likewise.
9415         (VEC_SQRT): Likewise.
9416         (VEC_SRDB): Likewise.
9417         (VEC_SRV): Likewise.
9418         (VEC_STRIL): Likewise.
9419         (VEC_STRIL_P): Likewise.
9420         (VEC_STRIR): Likewise.
9421         (VEC_STRIR_P): Likewise.
9422         (VEC_STXVL): Likewise.
9423         (VEC_TERNARYLOGIC): Likewise.
9424         (VEC_TEST_LSBB_ALL_ONES): Likewise.
9425         (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
9426         (VEC_VEE): Likewise.
9427         (VEC_VES): Likewise.
9428         (VEC_VIE): Likewise.
9429         (VEC_VPRTYB): Likewise.
9430         (VEC_VSCEEQ): Likewise.
9431         (VEC_VSCEGT): Likewise.
9432         (VEC_VSCELT): Likewise.
9433         (VEC_VSCEUO): Likewise.
9434         (VEC_VSEE): Likewise.
9435         (VEC_VSES): Likewise.
9436         (VEC_VSIE): Likewise.
9437         (VEC_VSTDC): Likewise.
9438         (VEC_VSTDCN): Likewise.
9439         (VEC_VTDC): Likewise.
9440         (VEC_XL): Likewise.
9441         (VEC_XL_BE): Likewise.
9442         (VEC_XL_LEN_R): Likewise.
9443         (VEC_XL_SEXT): Likewise.
9444         (VEC_XL_ZEXT): Likewise.
9445         (VEC_XST): Likewise.
9446         (VEC_XST_BE): Likewise.
9447         (VEC_XST_LEN_R): Likewise.
9448         (VEC_XST_TRUNC): Likewise.
9449         (VEC_XXPERMDI): Likewise.
9450         (VEC_XXSLDWI): Likewise.
9451         (VEC_TSTSFI_EQ_DD): Likewise.
9452         (VEC_TSTSFI_EQ_TD): Likewise.
9453         (VEC_TSTSFI_GT_DD): Likewise.
9454         (VEC_TSTSFI_GT_TD): Likewise.
9455         (VEC_TSTSFI_LT_DD): Likewise.
9456         (VEC_TSTSFI_LT_TD): Likewise.
9457         (VEC_TSTSFI_OV_DD): Likewise.
9458         (VEC_TSTSFI_OV_TD): Likewise.
9459         (VEC_VADDCUQ): Likewise.
9460         (VEC_VADDECUQ): Likewise.
9461         (VEC_VADDEUQM): Likewise.
9462         (VEC_VADDUDM): Likewise.
9463         (VEC_VADDUQM): Likewise.
9464         (VEC_VBPERMQ): Likewise.
9465         (VEC_VCLZB): Likewise.
9466         (VEC_VCLZD): Likewise.
9467         (VEC_VCLZH): Likewise.
9468         (VEC_VCLZW): Likewise.
9469         (VEC_VCTZB): Likewise.
9470         (VEC_VCTZD): Likewise.
9471         (VEC_VCTZH): Likewise.
9472         (VEC_VCTZW): Likewise.
9473         (VEC_VEEDP): Likewise.
9474         (VEC_VEESP): Likewise.
9475         (VEC_VESDP): Likewise.
9476         (VEC_VESSP): Likewise.
9477         (VEC_VIEDP): Likewise.
9478         (VEC_VIESP): Likewise.
9479         (VEC_VPKSDSS): Likewise.
9480         (VEC_VPKSDUS): Likewise.
9481         (VEC_VPKUDUM): Likewise.
9482         (VEC_VPKUDUS): Likewise.
9483         (VEC_VPOPCNT): Likewise.
9484         (VEC_VPOPCNTB): Likewise.
9485         (VEC_VPOPCNTD): Likewise.
9486         (VEC_VPOPCNTH): Likewise.
9487         (VEC_VPOPCNTW): Likewise.
9488         (VEC_VPRTYBD): Likewise.
9489         (VEC_VPRTYBQ): Likewise.
9490         (VEC_VPRTYBW): Likewise.
9491         (VEC_VRLD): Likewise.
9492         (VEC_VSLD): Likewise.
9493         (VEC_VSRAD): Likewise.
9494         (VEC_VSRD): Likewise.
9495         (VEC_VSTDCDP): Likewise.
9496         (VEC_VSTDCNDP): Likewise.
9497         (VEC_VSTDCNQP): Likewise.
9498         (VEC_VSTDCNSP): Likewise.
9499         (VEC_VSTDCQP): Likewise.
9500         (VEC_VSTDCSP): Likewise.
9501         (VEC_VSUBECUQ): Likewise.
9502         (VEC_VSUBEUQM): Likewise.
9503         (VEC_VSUBUDM): Likewise.
9504         (VEC_VSUBUQM): Likewise.
9505         (VEC_VTDCDP): Likewise.
9506         (VEC_VTDCSP): Likewise.
9507         (VEC_VUPKHSW): Likewise.
9508         (VEC_VUPKLSW): Likewise.
9510 2022-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>
9512         PR rtl-optimization/101260
9513         * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
9514         copy_regno.
9516 2022-02-01  Xi Ruoyao  <xry111@mengyan1223.wang>
9518         PR middle-end/95115
9519         * fold-const.cc (const_binop): Do not fold NaN result from
9520           non-NaN operands.
9522 2022-02-01  Tom de Vries  <tdevries@suse.de>
9524         * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
9525         -ftree-loop-distribute-patterns.
9526         (loop_distribution::execute): Don't call transform_reduction_loop for
9527         -fno-tree-loop-distribute-patterns.
9529 2022-01-31  Andrew Pinski  <apinski@marvell.com>
9531         * fold-const.h (operand_compare::operand_equal_p):
9532         Fix comment about OEP_* flags.
9534 2022-01-31  Jakub Jelinek  <jakub@redhat.com>
9536         PR target/104298
9537         * config/rs6000/aix.h (OPTION_GLIBC): Remove.
9538         * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
9539         * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
9540         if not already defined.
9542 2022-01-31  Martin Sebor  <msebor@redhat.com>
9544         PR middle-end/104232
9545         * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
9546         Handle PHIs.  Add a synonymous overload.
9547         (pass_waccess::check_pointer_uses): Call pointers_related_p.
9549 2022-01-31  Richard Biener  <rguenther@suse.de>
9551         PR tree-optimization/100499
9552         * fold-const.cc (multiple_of_p): Pass the correct type of
9553         the expression to the recursive invocation of multiple_of_p
9554         for conversions and use CASE_CONVERT.
9556 2022-01-31  Eric Botcazou  <ebotcazou@adacore.com>
9558         PR target/104189
9559         * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
9561 2022-01-31  Richard Biener  <rguenther@suse.de>
9563         PR tree-optimization/100499
9564         * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
9565         on poly-ints instead of multiple_of_p.
9566         * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
9567         (non_rewritable_mem_ref_base): Likewise.
9568         (non_rewritable_lvalue_p): Likewise.
9569         (execute_update_addresses_taken): Likewise.
9571 2022-01-29  Jakub Jelinek  <jakub@redhat.com>
9572             Andrew Pinski  <apinski@marvell.com>
9574         PR tree-optimization/104279
9575         PR tree-optimization/104280
9576         PR tree-optimization/104281
9577         * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
9578         boolean_type_node and convert to type.  Formatting fixes.
9580 2022-01-28  Yoshinori Sato  <yo-satoh@sios.com>
9582         * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
9584 2022-01-28  Navid Rahimi  <navidrahimi@microsoft.com>
9586         PR tree-optimization/103514
9587         * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
9588         (a & b) == (a ^ b) -> !(a | b): New optimization.
9590 2022-01-28  Marek Polacek  <polacek@redhat.com>
9592         * doc/invoke.texi: Update -Wbidi-chars documentation.
9594 2022-01-28  Iain Sandoe  <iain@sandoe.co.uk>
9596         * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
9598 2022-01-28  Zhao Wei Liew  <zhaoweiliew@gmail.com>
9600         PR tree-optimization/95424
9601         * match.pd: Simplify 1 / X where X is an integer.
9603 2022-01-28  Jakub Jelinek  <jakub@redhat.com>
9605         PR tree-optimization/104263
9606         * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
9607         cfun->can_throw_non_call_exceptions && cfun->eh test whether
9608         last non-debug stmt in the bb is store_valid_for_store_merging_p
9609         rather than last stmt.
9611 2022-01-28  Martin Liska  <mliska@suse.cz>
9613         * diagnostic.cc (diagnostic_action_after_output): Remove extra
9614         newline.
9616 2022-01-28  Martin Liska  <mliska@suse.cz>
9618         * config/rs6000/host-darwin.cc (segv_crash_handler):
9619         Do not use leading capital letter.
9620         (segv_handler): Likewise.
9621         * ipa-sra.cc (verify_splitting_accesses): Likewise.
9622         * varasm.cc (get_section): Likewise.
9624 2022-01-28  Richard Biener  <rguenther@suse.de>
9626         PR tree-optimization/104267
9627         * tree-vect-stmts.cc (vectorizable_call): Properly use the
9628         per-argument determined vector type for externals and
9629         invariants.
9631 2022-01-28  Richard Biener  <rguenther@suse.de>
9633         PR tree-optimization/104263
9634         * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
9635         Purge edges also when !cfun->has_nonlocal_label
9636         and !cfun->calls_setjmp.
9638 2022-01-28  Maciej W. Rozycki  <macro@embecosm.com>
9640         * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
9641         attributes.
9643 2022-01-28  Jakub Jelinek  <jakub@redhat.com>
9645         PR lto/104237
9646         * cfgrtl.cc (loc_equal): New function.
9647         (unique_locus_on_edge_between_p): Use it.
9649 2022-01-28  Richard Biener  <rguenther@suse.de>
9651         * cfganal.h (mark_dfs_back_edges): Provide API with struct
9652         function argument.
9653         * cfganal.cc (mark_dfs_back_edges): Take a struct function
9654         to work on, add a wrapper passing cfun.
9655         * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
9656         uses with fun which is already passed.
9657         (draw_cfg_edges): Likewise.
9658         (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
9659         for fun != cfun.
9661 2022-01-27  Patrick Palka  <ppalka@redhat.com>
9663         PR c++/99895
9664         * tree.cc (build_call_vec): Add const to second parameter.
9665         * tree.h (build_call_vec): Likewise.
9667 2022-01-27  Martin Liska  <mliska@suse.cz>
9669         PR web/104254
9670         * diagnostic.cc (diagnostic_initialize):
9671         Initialize report_bug flag.
9672         (diagnostic_action_after_output):
9673         Explain that -freport-bug option can be used for pre-processed
9674         file creation.  Make the message shorter.
9675         (error_recursion): Rename Internal to internal.
9676         * diagnostic.h (struct diagnostic_context): New field.
9677         * opts.cc (common_handle_option): Init the field here.
9679 2022-01-27  Kewen Lin  <linkw@linux.ibm.com>
9681         PR target/103702
9682         * config/rs6000/rs6000.cc
9683         (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
9684         assertion with early return.
9686 2022-01-27  Chung-Lin Tang  <cltang@codesourcery.com>
9688         PR middle-end/103642
9689         * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
9690         for non-pointer or non-reference-to-pointer cases.
9692 2022-01-27  Jakub Jelinek  <jakub@redhat.com>
9694         PR tree-optimization/104196
9695         * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
9696         * gimple-fold.cc (rewrite_to_defined_overflow): Likewise.  If true,
9697         return NULL and emit needed stmts before and after stmt.
9698         * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
9699         pick as operand_entry that will hold the merged test the one feeding
9700         earliest condition, ensure that by swapping range->idx with some
9701         other range's idx if needed.  If seq is non-NULL, don't actually swap
9702         it but instead rewrite stmts with undefined overflow in between
9703         the two locations.
9704         (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
9705         corresponding condition even if they have non-NULL ops[]->op.
9706         Formatting fix.
9708 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
9710         PR target/104239
9711         * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
9712         asm.
9713         * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
9714         before for loop instead of for init clause.
9715         * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
9717 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
9719         PR target/104239
9720         * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
9721         _X86INTRIN_H_INCLUDED and adjust #error wording.
9722         * config/rs6000/bmi2intrin.h: Likewise.
9724 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
9726         PR debug/104194
9727         * dwarf2out.cc (long_double_as_float128): New function.
9728         (modified_type_die): For powerpc64le IEEE 754 quad long double
9729         and complex long double emit those as DW_TAG_typedef to
9730         _Float128 or complex _Float128 base type.
9732 2022-01-26  Marek Polacek  <polacek@redhat.com>
9734         PR target/104213
9735         * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
9736         warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
9738 2022-01-26  Martin Liska  <mliska@suse.cz>
9740         * ipa-modref-tree.cc (modref_access_node::update):
9741         Remove "--param param=foo" with "--param foo".
9742         (modref_access_node::insert): Likewise.
9743         (modref_access_node::insert_kill): Likewise.
9744         * ipa-modref-tree.h (struct modref_ref_node): Likewise.
9745         (struct modref_base_node): Likewise.
9746         (struct modref_tree): Likewise.
9748 2022-01-26  Raoni Fassina Firmino  <raoni@linux.ibm.com>
9750         PR target/94193
9751         * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
9752         predicate check.
9754 2022-01-25  Martin Sebor  <msebor@redhat.com>
9756         PR tree-optimization/104203
9757         * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
9758         TV_WARN_ACCESS.
9759         * pointer-query.cc (access_ref::merge_ref): Change return type.
9760         Convert failure to a conservative success.
9761         (access_ref::get_ref): Adjust to the change above.  Short-circuit
9762         PHI evaluation after first failure turned into conservative success.
9763         * pointer-query.h (access_ref::merge_ref): Change return type.
9764         * timevar.def (TV_WARN_ACCESS): New timer variable.
9766 2022-01-25  David Edelsohn  <dje.gcc@gmail.com>
9768         * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
9770 2022-01-25  Richard Biener  <rguenther@suse.de>
9772         PR tree-optimization/104214
9773         * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
9774         stronger guarantees for relational pointer compares when
9775         rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
9776         BASE0 + STEP0 - STEP1 cmp BASE1.
9778 2022-01-25  Jakub Jelinek  <jakub@redhat.com>
9780         PR target/104172
9781         * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
9782         declare.
9783         * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
9784         ieee128_mangling_gcc_8_1): Remove.
9785         (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
9786         (rs6000_mangle_type): Return "u9__ieee128" instead of
9787         ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
9788         (rs6000_globalize_decl_name): Remove.
9789         * config/rs6000/rs6000-call.cc (init_cumulative_args,
9790         rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
9792 2022-01-24  Martin Sebor  <msebor@redhat.com>
9794         * pointer-query.cc (pointer_query::dump): Remove duplicate
9795         block.
9797 2022-01-24  Marek Polacek  <polacek@redhat.com>
9799         PR preprocessor/104030
9800         * doc/invoke.texi: Update documentation for -Wbidi-chars.
9802 2022-01-24  Raoni Fassina Firmino  <raoni@linux.ibm.com>
9804         PR target/94193
9805         * builtins.cc (expand_builtin_fegetround): New function.
9806         (expand_builtin_feclear_feraise_except): New function.
9807         (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
9808         BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
9809         * config/rs6000/rs6000.md (fegetroundsi): New pattern.
9810         (feclearexceptsi): New Pattern.
9811         (feraiseexceptsi): New Pattern.
9812         * doc/extend.texi: Add a new introductory paragraph about the
9813         new builtins.
9814         * doc/md.texi: (fegetround@var{m}): Document new optab.
9815         (feclearexcept@var{m}): Document new optab.
9816         (feraiseexcept@var{m}): Document new optab.
9817         * optabs.def (fegetround_optab): New optab.
9818         (feclearexcept_optab): New optab.
9819         (feraiseexcept_optab): New optab.
9821 2022-01-24  Richard Biener  <rguenther@suse.de>
9822             Jiufu Guo  <guojiufu@linux.ibm.com>
9824         PR tree-optimization/100740
9825         PR tree-optimization/101508
9826         PR tree-optimization/101972
9827         PR tree-optimization/102131
9828         * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
9829         constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
9830         BASE0 + STEP0 - STEP1 cmp BASE1 transform.
9832 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
9834         PR sanitizer/104158
9835         * opt-functions.awk (var_set): Handle EnumBitSet property.
9836         * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
9837         specified.
9838         * opts.h (enum cl_enum_var_value): New type.
9839         * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
9840         Handle CLEV_BITSET.
9841         (cmdline_handle_error): Handle CLEV_BITSET.
9842         * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
9843         * doc/options.texi (EnumBitSet): Document.
9844         * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
9845         EnumSet.
9846         (trace-pc, trace-cmp): Drop Set properties.
9848 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
9850         PR sanitizer/104158
9851         * common.opt (flag_sanitize_coverage): Remove Variable entry.
9852         (fsanitize-coverage=): Remove RejectNegative property, add
9853         Var(flag_sanitize_coverage) and EnumSet properties.
9854         (trace-pc): Add Set(1) property.
9855         (trace-cmp): Add Set(2) property.
9856         * opts.cc (common_handle_option): Don't handle
9857         OPT_fsanitize_coverage_.
9859 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
9861         PR sanitizer/104158
9862         * opt-functions.awk (var_set): Handle EnumSet property.
9863         * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
9864         specified.
9865         * opt-read.awk: Handle Set property.
9866         * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
9867         (struct cl_decoded_option): Mention enum in value description.
9868         Add mask member.
9869         (set_option): Add mask argument defaulted to 0.
9870         * opts.cc (test_enum_sets): New function.
9871         (opts_cc_tests): Call it.
9872         * opts-common.cc (enum_arg_to_value): Change return argument
9873         from bool to int, on success return index into the cl_enum_arg
9874         array, on failure -1.  Add len argument, if non-0, use strncmp
9875         instead of strcmp.
9876         (opt_enum_arg_to_value): Adjust caller.
9877         (decode_cmdline_option): Handle EnumSet represented as
9878         CLVC_ENUM with non-zero var_value.  Initialize decoded->mask.
9879         (decode_cmdline_options_to_array): CLear opt_array[0].mask.
9880         (handle_option): Pass decoded->mask to set_options last argument.
9881         (generate_option): Clear decoded->mask.
9882         (generate_option_input_file): Likewise.
9883         (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
9884         (set_option): Add mask argument, use it for CLVC_ENUM.
9885         (control_warning_option): Adjust enum_arg_to_value caller.
9886         * doc/options.texi: Document Set and EnumSet properties.
9888 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
9890         PR bootstrap/104170
9891         * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9892         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9893         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9894         using OPTION_*_P macros.
9895         * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9896         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9897         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9898         using OPTION_*_P macros.
9899         * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9900         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9901         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9902         using OPTION_*_P macros.
9903         * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9904         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9905         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9906         using OPTION_*_P macros.
9907         * config/fuchsia.h (OPTION_MUSL_P): Redefine.
9908         * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
9909         * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
9910         ATTRIBUTE_UNUSED to opts parameter.  If OPTION_GLIBC_P is defined, use
9911         OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
9912         * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
9913         OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
9914         otherwise assume if (true).
9916 2022-01-24  Kito Cheng  <kito.cheng@sifive.com>
9918         * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
9919         Skip zicsr and zifencei if I-ext is 2.0.
9921 2022-01-24  Jia-Wei Chen  <jiawei@iscas.ac.cn>
9923         * config.gcc: Modify default isa_spec version.
9925 2022-01-24  Jiufu Guo  <guojiufu@linux.ibm.com>
9927         PR tree-optimization/102087
9928         * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
9929         Correct PLUS result type.
9931 2022-01-24  H.J. Lu  <hjl.tools@gmail.com>
9933         PR target/104188
9934         * config/i386/predicates.md (bcst_mem_operand): Also check mode
9935         of memory broadcast.
9937 2022-01-23  Andrew Pinski  <apinski@marvell.com>
9939         PR target/64821
9940         * config/aarch64/aarch64-builtins.cc
9941         (aarch64_general_gimple_fold_builtin): Handle
9942         __builtin_aarch64_sqrt* and simplify into SQRT internal
9943         function.
9945 2022-01-22  Jakub Jelinek  <jakub@redhat.com>
9947         PR other/104176
9948         * opts-global.cc (handle_common_deferred_options): Quote
9949         --enable-plugin in diagnostics to avoid -Werror=format-diag.
9951 2022-01-21  Michael Meissner  <meissner@the-meissners.org>
9953         PR target/104136
9954         * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
9955         * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
9956         * config/rs6000/rs6000.md (prefixed attribute): Delete section
9957         that sets the prefixed attribute for xxspltiw, xxspltidp, and
9958         xxsplti32dx instructions.
9959         (movsf_hardfloat): Explicitly set the prefixed attribute
9960         when xxspltiw and xxspltidp instructions are generated.
9961         (mov<mode>_hardfloat32): Likewise.
9962         (mov<mode>_hardfloat64): Likewise.
9963         * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
9964         prefixed attribute for xxspltiw and xxspltidp instructions.
9965         (vsx_mov<mode>_32bit): Likewise.
9967 2022-01-21  H.J. Lu  <hjl.tools@gmail.com>
9969         PR bootstrap/104170
9970         * common/config/i386/i386-common.cc (ix86_supports_split_stack):
9971         Return true only on glibc.
9972         * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
9973         Revert commit c163647ffbc.
9974         * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
9976 2022-01-21  Sören Tempel  <soeren@soeren-tempel.net>
9978         * common/config/s390/s390-common.cc (s390_supports_split_stack):
9979         Only support split-stack on glibc targets.
9980         * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
9981         * config/i386/gnu.h (defined): Ditto.
9983 2022-01-21  Bill Schmidt  <wschmidt@linux.ibm.com>
9985         * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
9986         vector float and vector double.
9988 2022-01-21  Bill Seurer  <seurer@gcc.gnu.org>
9990         * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
9991         Fix mention of ifunc in string.
9993 2022-01-21  Roger Sayle  <roger@nextmovesoftware.com>
9995         PR middle-end/104140
9996         * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
9997         operands of the widening multiplication are either both signed or
9998         both unsigned, and abort the conversion if mismatched.
9999         * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
10000         (MULT_HIGHPART_EXPR): Clarify that operands must have the same
10001         signedness.
10002         * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
10003         integer types with the same precision and signedness.
10004         (WIDEN_MULT_EXPR): Document that operands must have integer types
10005         with the same precision, but possibly differing signedness.
10006         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
10007         riscv_current_subset_list returning a NULL pointer (empty list).
10009 2022-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>
10011         PR target/103676
10012         * ira.h (struct target_ira): Add member
10013         x_ira_exclude_class_mode_regs.
10014         (ira_exclude_class_mode_regs): New macro.
10015         * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
10016         move from here ...
10017         * lra-int.h: ... to here.
10018         (lra_create_new_reg_with_unique_value): Add arg
10019         exclude_start_hard_regs.
10020         (class lra_reg): Add member exclude_start_hard_regs.
10021         * lra-assigns.cc (find_hard_regno_for_1): Setup
10022         impossible_start_hard_regs from exclude_start_hard_regs.
10023         * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
10024         it lra_create_new_reg[_with_unique_value].
10025         (match_reload): Ditto.
10026         (check_and_process_move): Pass NULL
10027         exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
10028         (goal_alt_exclude_start_hard_regs): New static variable.
10029         (process_addr_reg, simplify_operand_subreg): Pass NULL
10030         exclude_start_hard_regs to lra_create_new_reg_with_unique_value
10031         and get_reload_reg.
10032         (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
10033         Use this_alternative_exclude_start_hard_regs additionally to find
10034         winning operand alternative.
10035         (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
10036         exclude_start_hard_regs to lra_create_new_reg.
10037         (process_address_1, emit_inc): Ditto.
10038         (curr_insn_transform): Pass exclude_start_hard_regs value to
10039         lra_create_new_reg, get_reload_reg, match_reload.
10040         (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
10041         to lra_create_new_reg.
10042         (process_invariant_for_inheritance): Ditto.
10043         * lra-remat.cc (update_scratch_ops): Ditto.
10044         * lra.cc (lra_create_new_reg_with_unique_value): Add arg
10045         exclude_start_hard_regs.  Setup the corresponding member of
10046         lra reg info.
10047         (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
10048         to lra_create_new_reg_with_unique_value.
10049         (initialize_lra_reg_info_element): Initialize member
10050         exclude_start_hard_regs.
10051         (get_scratch_reg): Pass NULL to lra_create_new_reg.
10052         * ira.cc (setup_prohibited_class_mode_regs): Rename to
10053         setup_prohibited_and_exclude_class_mode_regs and calculate
10054         ira_exclude_class_mode_regs.
10056 2022-01-21  Martin Liska  <mliska@suse.cz>
10058         * configure.ac: Detect ld_is_mold and use it for
10059         comdat_group=yes and gcc_cv_ld_hidden=yes.
10060         * configure: Regenerate.
10062 2022-01-21  Richard Biener  <rguenther@suse.de>
10064         PR tree-optimization/100089
10065         * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
10066         of if-converted loops with unvectorized COND_EXPRs for
10067         all but the unlimited cost models.
10069 2022-01-21  Ard Biesheuvel  <ardb@kernel.org>
10071         * config/arm/arm-opts.h (enum stack_protector_guard): New.
10072         * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
10073         New.
10074         * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
10075         (arm_option_override_internal): Handle and put in error checks.
10076         for stack protector guard options.
10077         (arm_option_reconfigure_globals): Likewise.
10078         (arm_stack_protect_tls_canary_mem): New.
10079         (arm_stack_protect_guard): New.
10080         * config/arm/arm.md (stack_protect_set): New.
10081         (stack_protect_set_tls): Likewise.
10082         (stack_protect_test): Likewise.
10083         (stack_protect_test_tls): Likewise.
10084         (reload_tp_hard): Likewise.
10085         * config/arm/arm.opt (-mstack-protector-guard): New
10086         (-mstack-protector-guard-offset): New.
10087         * doc/invoke.texi: Document new options.
10089 2022-01-21  Richard Biener  <rguenther@suse.de>
10091         PR tree-optimization/104156
10092         * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
10093         Collect and reset debug stmts with out-of-loop uses when
10094         hoisting guards.
10095         (find_loop_guard): Adjust.
10096         (empty_bb_without_guard_p): Likewise.  Ignore debug stmts.
10097         (used_outside_loop_p): Push debug uses to a vector of
10098         debug stmts to reset.
10099         (hoist_guard): Adjust -fopt-info category.
10101 2022-01-21  Richard Biener  <rguenther@suse.de>
10103         PR tree-optimization/104152
10104         * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
10105         can_duplicate_and_interleave_p check.
10107 2022-01-21  Jakub Jelinek  <jakub@redhat.com>
10109         * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
10110         Avoid passing var to warning_at when the format string doesn't
10111         refer to it.
10113 2022-01-21  Aldy Hernandez  <aldyh@redhat.com>
10115         PR tree-optimization/103721
10116         * gimple-range-path.cc
10117         (path_range_query::relations_may_be_invalidated): New.
10118         (path_range_query::compute_ranges_in_block): Reset relations if
10119         they may be invalidated.
10120         (path_range_query::maybe_register_phi_relation): Exit if relations
10121         may be invalidated on incoming edge.
10122         (path_range_query::compute_phi_relations): Pass incoming PHI edge
10123         to maybe_register_phi_relation.
10124         * gimple-range-path.h (relations_may_be_invalidated): New.
10125         (maybe_register_phi_relation): Pass edge instead of tree.
10126         * tree-ssa-threadbackward.cc (back_threader::back_threader):
10127         Mark DFS edges.
10128         * value-relation.cc (path_oracle::path_oracle): Call
10129         mark_dfs_back_edges.
10130         (path_oracle::register_relation): Add SSA names to m_registered
10131         bitmap.
10132         (path_oracle::reset_path): Clear m_registered bitmap.
10133         * value-relation.h (path_oracle::set_root_oracle): New.
10135 2022-01-21  Jakub Jelinek  <jakub@redhat.com>
10137         PR rtl-optimization/102478
10138         * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
10139         force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
10140         would be needed.
10142 2022-01-20  Richard Biener  <rguenther@suse.de>
10144         PR middle-end/100786
10145         * gimple-fold.cc (get_symbol_constant_value): Only return
10146         values of compatible type to the symbol.
10148 2022-01-20  Andrew MacLeod  <amacleod@redhat.com>
10150         * value-relation.cc (relation_oracle::valid_equivs): Query and add
10151         if valid members of a set.
10152         (equiv_oracle::register_equiv): Call valid_equivs rather than
10153         bitmap direct operations.
10154         (path_oracle::register_equiv): Ditto.
10155         * value-relation.h (relation_oracle::valid_equivs): New prototype.
10157 2022-01-20  Richard Biener  <rguenther@suse.de>
10159         PR target/100784
10160         * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
10161         LHS before folding __builtin_ia32_shufpd and friends.
10163 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
10165         * config/arm/crypto.md (aes_op_protect): Allow moves from core
10166         registers and from memory.
10167         (aes_op_protect_misalign_load): New pattern.
10168         (aes_op_protect_neon_vld1v16qi): New pattern.
10170 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
10172         * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
10173         New pattern.
10174         (aarch32_crypto_aese_fused_protected): Likewise.
10175         (aarch32_crypto_aesd_fused_protected): Likewise.
10177 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
10179         * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
10180         to define_expand.  Add mitigation for the Cortex-A AES erratum
10181         when enabled.
10182         (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
10183         on original crypto_<CRYPTO_AES:crypto_pattern> insn.
10184         (aes_op_protect): New pattern.
10185         * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
10187 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
10189         * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
10190         (ALL_QUIRKS): Add it.
10191         (cortex-a57, cortex-a72): Enable it.
10192         (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
10193         * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
10194         option.
10195         (mfix-cortex-a72-aes-1655431): New option alias.
10196         * config/arm/arm.cc (arm_option_override): Handle default settings
10197         for AES erratum switch.
10198         * doc/invoke.texi (Arm Options): Document new options.
10200 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
10202         * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
10203         <crypto_mode> rather than hard-coding the mode.
10204         (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
10205         (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
10206         (*aarch32_crypto_aese_fused): Likewise.
10207         (*aarch32_crypto_aesd_fused): Likewise.
10208         (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
10209         (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
10210         (crypto_sha1h_lb): Likewise.
10211         (crypto_vmullp64): Likewise.
10212         (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
10213         (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
10215 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
10217         * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
10218         iterator to pattern name to disambiguate.
10219         (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
10220         (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
10221         (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
10222         (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
10223         (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
10225 2022-01-20  Martin Liska  <mliska@suse.cz>
10227         PR bootstrap/104135
10228         * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
10229         * rtl.cc: Partially disable -Wformat-diag for RTL checking
10230         error messages.
10232 2022-01-20  Jakub Jelinek  <jakub@redhat.com>
10234         PR debug/103874
10235         * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
10236         block_num > 0, index entry even if !have_multiple_function_sections.
10238 2022-01-20  liuhongt  <hongtao.liu@intel.com>
10240         PR target/103771
10241         * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
10242         integral mode mask pack by multi steps which takes
10243         vec_pack_sbool_trunc_optab as start when elements number is
10244         less than BITS_PER_UNITS.
10246 2022-01-20  Richard Biener  <rguenther@suse.de>
10248         PR tree-optimization/104114
10249         * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
10250         single element vector decomposition.
10252 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
10254         * ifcvt.cc (noce_convert_multiple_sets_1): New function.
10255         (noce_convert_multiple_sets): Call function a second time if we can
10256         improve the first try.
10258 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
10260         * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
10261         reversed comparison.
10262         (try_emit_cmove_seq): New function to facilitate creating a cmov
10263         sequence.
10264         (noce_convert_multiple_sets): Create two sequences and use the less
10265         expensive one.
10267 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
10269         * rtl.h (struct rtx_comparison): New struct that holds an rtx
10270         comparison.
10271         * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
10272         single parameters.
10273         (rs6000_emit_swsqrt): Likewise.
10274         * expmed.cc (expand_sdiv_pow2): Likewise.
10275         (emit_store_flag): Likewise.
10276         * expr.cc (expand_cond_expr_using_cmove): Likewise.
10277         (expand_expr_real_2): Likewise.
10278         * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
10279         parameters.
10280         * optabs.cc (emit_conditional_move_1): New function.
10281         (expand_doubleword_shift_condmove): Use struct.
10282         (emit_conditional_move): Use struct and allow to call directly
10283         without going through preparation steps.
10284         * optabs.h (emit_conditional_move): Use struct.
10286 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
10288         * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
10289         (noce_process_if_block): Use potential costs.
10291 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
10293         * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
10294         (bb_ok_for_noce_convert_multiple_sets): Likewise.
10296 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
10298         * ifcvt.cc (need_cmov_or_rewire): New function.
10299         (noce_convert_multiple_sets): Call it.
10301 2022-01-19  David Malcolm  <dmalcolm@redhat.com>
10303         * attribs.cc (attribute_c_tests): Rename to...
10304         (attribs_cc_tests): ...this.
10305         * bitmap.cc (bitmap_c_tests): Rename to...
10306         (bitmap_cc_tests): ...this.
10307         * cgraph.cc (cgraph_c_finalize): Rename to...
10308         (cgraph_cc_finalize): ...this.
10309         (cgraph_c_tests): Rename to...
10310         (cgraph_cc_tests): ...this.
10311         * cgraph.h (cgraph_c_finalize): Rename to...
10312         (cgraph_cc_finalize): ...this.
10313         (cgraphunit_c_finalize): Rename to...
10314         (cgraphunit_cc_finalize): ...this.
10315         * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
10316         (cgraphunit_cc_finalize): ...this.
10317         * convert.cc (convert_c_tests): Rename to...
10318         (convert_cc_tests): ...this.
10319         * dbgcnt.cc (dbgcnt_c_tests): Rename to...
10320         (dbgcnt_cc_tests): ...this.
10321         * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
10322         (diagnostic_show_locus_cc_tests): ...this.
10323         * diagnostic.cc (diagnostic_c_tests): Rename to...
10324         (diagnostic_cc_tests): ...this.
10325         * dumpfile.cc (dumpfile_c_tests): Rename to...
10326         (dumpfile_cc_tests): ...this.
10327         * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
10328         (dwarf2out_cc_finalize): ...this.
10329         * dwarf2out.h (dwarf2out_c_finalize): Rename to...
10330         (dwarf2out_cc_finalize): ...this.
10331         * edit-context.cc (edit_context_c_tests): Rename to...
10332         (edit_context_cc_tests): ...this.
10333         * et-forest.cc (et_forest_c_tests): Rename to...
10334         (et_forest_cc_tests): ...this.
10335         * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
10336         (fibonacci_heap_cc_tests): ...this.
10337         * fold-const.cc (fold_const_c_tests): Rename to...
10338         (fold_const_cc_tests): ...this.
10339         * function-tests.cc (function_tests_c_tests): Rename to...
10340         (function_tests_cc_tests): ...this.
10341         * gcse.cc (gcse_c_finalize): Rename to...
10342         (gcse_cc_finalize): ...this.
10343         * gcse.h (gcse_c_finalize): Rename to...
10344         (gcse_cc_finalize): ...this.
10345         * ggc-tests.cc (ggc_tests_c_tests): Rename to...
10346         (ggc_tests_cc_tests): ...this.
10347         * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
10348         (store_merging_cc_tests): ...this.
10349         * gimple.cc (gimple_c_tests): Rename to...
10350         (gimple_cc_tests): ...this.
10351         * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
10352         (hash_map_tests_cc_tests): ...this.
10353         * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
10354         (hash_set_tests_cc_tests): ...this.
10355         * input.cc (input_c_tests): Rename to...
10356         (input_cc_tests): ...this.
10357         * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
10358         (ipa_cp_cc_finalize): ...this.
10359         * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
10360         (ipa_fnsummary_cc_finalize): ...this.
10361         * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
10362         (ipa_fnsummary_cc_finalize): ...this.
10363         * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
10364         (ipa_modref_tree_cc_tests): ...this.
10365         * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
10366         * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
10367         (ipa_modref_cc_finalize): ...this.
10368         * ipa-modref.h (ipa_modref_c_finalize): Rename to...
10369         (ipa_modref_cc_finalize): ...this.
10370         * ipa-prop.h (ipa_cp_c_finalize): Rename to...
10371         (ipa_cp_cc_finalize): ...this.
10372         * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
10373         (ipa_reference_cc_finalize): ...this.
10374         * ipa-reference.h (ipa_reference_c_finalize): Rename to...
10375         (ipa_reference_cc_finalize): ...this.
10376         * ira-costs.cc (ira_costs_c_finalize): Rename to...
10377         (ira_costs_cc_finalize): ...this.
10378         * ira.h (ira_costs_c_finalize): Rename to...
10379         (ira_costs_cc_finalize): ...this.
10380         * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
10381         (opt_suggestions_cc_tests): ...this.
10382         * opts.cc (opts_c_tests): Rename to...
10383         (opts_cc_tests): ...this.
10384         * predict.cc (predict_c_tests): Rename to...
10385         (predict_cc_tests): ...this.
10386         * pretty-print.cc (pretty_print_c_tests): Rename to...
10387         (pretty_print_cc_tests): ...this.
10388         * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
10389         (read_rtl_function_cc_tests): ...this.
10390         * rtl-tests.cc (rtl_tests_c_tests): Rename to...
10391         (rtl_tests_cc_tests): ...this.
10392         * sbitmap.cc (sbitmap_c_tests): Rename to...
10393         (sbitmap_cc_tests): ...this.
10394         * selftest-run-tests.cc (selftest::run_tests): Update calls for
10395         _c_ to _cc_ function renamings; fix names of attribs and
10396         opt-suggestions tests.
10397         * selftest.cc (selftest_c_tests): Rename to...
10398         (selftest_cc_tests): ...this.
10399         * selftest.h (attribute_c_tests): Rename to...
10400         (attribs_cc_tests): ...this.
10401         (bitmap_c_tests): Rename to...
10402         (bitmap_cc_tests): ...this.
10403         (cgraph_c_tests): Rename to...
10404         (cgraph_cc_tests): ...this.
10405         (convert_c_tests): Rename to...
10406         (convert_cc_tests): ...this.
10407         (diagnostic_c_tests): Rename to...
10408         (diagnostic_cc_tests): ...this.
10409         (diagnostic_show_locus_c_tests): Rename to...
10410         (diagnostic_show_locus_cc_tests): ...this.
10411         (dumpfile_c_tests): Rename to...
10412         (dumpfile_cc_tests): ...this.
10413         (edit_context_c_tests): Rename to...
10414         (edit_context_cc_tests): ...this.
10415         (et_forest_c_tests): Rename to...
10416         (et_forest_cc_tests): ...this.
10417         (fibonacci_heap_c_tests): Rename to...
10418         (fibonacci_heap_cc_tests): ...this.
10419         (fold_const_c_tests): Rename to...
10420         (fold_const_cc_tests): ...this.
10421         (function_tests_c_tests): Rename to...
10422         (function_tests_cc_tests): ...this.
10423         (ggc_tests_c_tests): Rename to...
10424         (ggc_tests_cc_tests): ...this.
10425         (gimple_c_tests): Rename to...
10426         (gimple_cc_tests): ...this.
10427         (hash_map_tests_c_tests): Rename to...
10428         (hash_map_tests_cc_tests): ...this.
10429         (hash_set_tests_c_tests): Rename to...
10430         (hash_set_tests_cc_tests): ...this.
10431         (input_c_tests): Rename to...
10432         (input_cc_tests): ...this.
10433         (opts_c_tests): Rename to...
10434         (opts_cc_tests): ...this.
10435         (predict_c_tests): Rename to...
10436         (predict_cc_tests): ...this.
10437         (pretty_print_c_tests): Rename to...
10438         (pretty_print_cc_tests): ...this.
10439         (read_rtl_function_c_tests): Rename to...
10440         (read_rtl_function_cc_tests): ...this.
10441         (rtl_tests_c_tests): Rename to...
10442         (rtl_tests_cc_tests): ...this.
10443         (sbitmap_c_tests): Rename to...
10444         (sbitmap_cc_tests): ...this.
10445         (selftest_c_tests): Rename to...
10446         (selftest_cc_tests): ...this.
10447         (simplify_rtx_c_tests): Rename to...
10448         (simplify_rtx_cc_tests): ...this.
10449         (spellcheck_c_tests): Rename to...
10450         (spellcheck_cc_tests): ...this.
10451         (spellcheck_tree_c_tests): Rename to...
10452         (spellcheck_tree_cc_tests): ...this.
10453         (sreal_c_tests): Rename to...
10454         (sreal_cc_tests): ...this.
10455         (store_merging_c_tests): Rename to...
10456         (store_merging_cc_tests): ...this.
10457         (tree_c_tests): Rename to...
10458         (tree_cc_tests): ...this.
10459         (tree_cfg_c_tests): Rename to...
10460         (tree_cfg_cc_tests): ...this.
10461         (typed_splay_tree_c_tests): Rename to...
10462         (typed_splay_tree_cc_tests): ...this.
10463         (vec_c_tests): Rename to...
10464         (vec_cc_tests): ...this.
10465         (vec_perm_indices_c_tests): Rename to...
10466         (vec_perm_indices_cc_tests): ..this.
10467         (opt_proposer_c_tests): Rename to...
10468         (opt_suggestions_cc_tests): ...this.
10469         (dbgcnt_c_tests): Rename to...
10470         (dbgcnt_cc_tests): ...this.
10471         (ipa_modref_tree_c_tests): Rename to...
10472         (ipa_modref_tree_cc_tests): ...this.
10473         * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
10474         (simplify_rtx_cc_tests): ...this.
10475         * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
10476         (spellcheck_tree_cc_tests): ...this.
10477         * spellcheck.cc (spellcheck_c_tests): Rename to...
10478         (spellcheck_cc_tests): ...this.
10479         * sreal.cc (sreal_c_tests): Rename to...
10480         (sreal_cc_tests): ...this.
10481         * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
10482         function renamings.
10483         * tree-cfg.cc (tree_cfg_c_tests): Rename to...
10484         (tree_cfg_cc_tests): ...this.
10485         * tree.cc (tree_c_tests): Rename to...
10486         (tree_cc_tests): ...this.
10487         * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
10488         (typed_splay_tree_cc_tests): ...this.
10489         * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
10490         (vec_perm_indices_cc_tests): ...this.
10491         * vec.cc (vec_c_tests): Rename to...
10492         (vec_cc_tests): ...this.
10494 2022-01-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
10496         PR tree-optimization/103997
10497         * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
10498         vectorization.
10500 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
10502         PR middle-end/102860
10503         * match.pd (x %[fl] y -> x % y): New simplification for
10504         unsigned integral types.
10505         * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
10506         for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
10508 2022-01-19  Richard Biener  <rguenther@suse.de>
10510         PR tree-optimization/104112
10511         * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
10512         for required intermediate vector types.
10514 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
10516         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
10518 2022-01-19  Martin Liska  <mliska@suse.cz>
10520         * configure.ac: Remove -Wno-error=format-diag.
10521         * configure: Regenerate.
10523 2022-01-19  Martin Liska  <mliska@suse.cz>
10525         * config/riscv/riscv.cc (riscv_handle_type_attribute):
10526         Update one -Wformat-diag string in warning message.
10528 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
10530         PR middle-end/104103
10531         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
10532         .ASAN_MARK calls.
10534 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
10536         PR c++/89074
10537         * fold-const.cc (address_compare): Consider different STRING_CSTs
10538         with the same lengths that memcmp the same as equal, not different.
10540 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
10542         * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
10543         {%0}.
10545 2022-01-19  Martin Liska  <mliska@suse.cz>
10546             Thomas Schwinge  <thomas@codesourcery.com>
10548         * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
10549         warning messages.
10551 2022-01-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10553         PR target/104090
10554         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
10555         rs6000_cpu.
10557 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
10559         PR target/104104
10560         * config/i386/sse.md
10561         (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
10562         avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
10563         avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
10564         avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
10565         avx512dq_rangep<mode><mask_name><round_saeonly_name>,
10566         avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
10567         <avx512>_getmant<mode><mask_name><round_saeonly_name>,
10568         avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
10569         Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
10571 2022-01-19  Martin Sebor  <msebor@redhat.com>
10573         PR middle-end/104069
10574         * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
10575         an unknown result as documented.
10577 2022-01-18  Andrew Pinski  <apinski@marvell.com>
10579         * ipa-split.cc (visit_bb): Fix comment before the
10580         warning/error attribute checking code.
10582 2022-01-18  David Faust  <david.faust@oracle.com>
10584         * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
10585         for base strtab offset yet as it may change.
10586         (output_asm_btfext_core_reloc): Do so here instead.
10587         (output_btfext_core_sections): Likewise.
10589 2022-01-18  David Faust  <david.faust@oracle.com>
10591         * config/bpf/coreout.cc (output_btfext_header): Account for
10592         4-byte record size in core_relo_len.
10593         (output_btfext_core_sections): Only write record size once.
10594         * config/bpf/coreout.h (btf_ext_section_header): Delete unused
10595         member.
10597 2022-01-18  Maciej W. Rozycki  <macro@embecosm.com>
10599         * common/config/riscv/riscv-common.cc
10600         (riscv_subset_list::parse_multiletter_ext): Move pointer
10601         arithmetic ahead of `free'.
10603 2022-01-18  Jason Merrill  <jason@redhat.com>
10605         PR c++/104007
10606         * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
10607         context.
10609 2022-01-18  Sandra Loosemore  <sandra@codesourcery.com>
10611         PR middle-end/103163
10612         * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
10613         (init_emit_once): ...not here.
10615 2022-01-18  Martin Liska  <mliska@suse.cz>
10617         * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
10618         * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
10619         * config/arc/arc.md: Likewise.
10620         * config/avr/avr.cc (avr_section_type_flags): Likewise.
10621         * config/bfin/bfin.cc (bfin_option_override): Likewise.
10622         (bfin_handle_longcall_attribute): Likewise.
10623         * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
10624         * config/frv/frv.cc (frv_expand_builtin): Likewise.
10625         * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
10626         * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
10627         (iq2000_print_operand_address): Likewise.
10628         (iq2000_print_operand): Likewise.
10629         * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
10630         (m32c_pragma_address): Likewise.
10631         * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
10632         * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
10633         (mips_set_compression_mode): Likewise.
10634         * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
10635         (mmix_print_operand): Likewise.
10636         (mmix_output_shiftvalue_op_from_str): Likewise.
10637         (mmix_output_shifted_value): Likewise.
10638         * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
10639         * config/msp430/msp430.cc (msp430_option_override): Likewise.
10640         (msp430_attr): Likewise.
10641         (msp430_expand_delay_cycles): Likewise.
10642         (msp430_expand_builtin): Likewise.
10643         * config/rs6000/aix73.h: Likewise.
10644         * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
10645         * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
10646         (valid_psw_flag): Likewise.
10647         * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
10648         * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
10649         (xstormy16_expand_builtin_va_start): Likewise.
10650         (xstormy16_handle_below100_attribute): Likewise.
10652 2022-01-18  Martin Liska  <mliska@suse.cz>
10654         * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
10655         warning.
10656         (vms_pragma_standard): Likewise.
10657         (vms_pragma_extern_prefix): Likewise.
10659 2022-01-18  Martin Liska  <mliska@suse.cz>
10661         * config/xtensa/xtensa.cc (print_operand): Fix warnings.
10662         (print_operand_address): Likewise.
10663         (xtensa_multibss_section_type_flags): Likewise.
10665 2022-01-18  Martin Liska  <mliska@suse.cz>
10667         * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
10668         wording of an error message.
10670 2022-01-18  Martin Liska  <mliska@suse.cz>
10672         * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
10673         warning.
10674         (ghs_pragma_section): Likewise.
10675         (ghs_pragma_interrupt): Likewise.
10676         (ghs_pragma_starttda): Likewise.
10677         (ghs_pragma_startsda): Likewise.
10678         (ghs_pragma_startzda): Likewise.
10679         (ghs_pragma_endtda): Likewise.
10680         (ghs_pragma_endsda): Likewise.
10681         (ghs_pragma_endzda): Likewise.
10683 2022-01-18  Martin Liska  <mliska@suse.cz>
10685         * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
10686         Fix warnings.
10687         * config/nds32/nds32-intrinsic.md: Likewise.
10688         * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
10689         * config/nds32/nds32.cc (nds32_print_operand): Likewise.
10690         (nds32_insert_attributes): Likewise.
10692 2022-01-18  Martin Liska  <mliska@suse.cz>
10694         * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
10695         keyword.
10696         * config/nvptx/nvptx.md: Remove trailing dot.
10698 2022-01-18  Martin Liska  <mliska@suse.cz>
10700         * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
10701         Wrap keywords with quotes and remove trailing dots.
10702         (riscv_subset_list::parsing_subset_version): Likewise.
10703         (riscv_subset_list::parse_std_ext): Likewise.
10704         (riscv_subset_list::parse_multiletter_ext): Likewise.
10705         * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
10707 2022-01-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
10709         * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
10710         argument suggested_unroll_factor.
10711         (vect_analyze_loop_costing): Likewise.
10712         (_loop_vec_info::_loop_vec_info): Initialize new member
10713         suggested_unroll_factor.
10714         (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
10715         main loop use partial vectors.
10716         (vect_analyze_loop_2): Pass and use new argument
10717         suggested_unroll_factor.
10718         (vect_analyze_loop_1): Change to intialize local
10719         suggested_unroll_factor and use it.
10720         (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
10721         * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
10722         suggested_unroll_factor.
10723         (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
10724         (vector_costs::suggested_unroll_factor): New getter function.
10725         (finish_cost): Set return argument suggested_unroll_factor.
10727 2022-01-18  Andrew MacLeod  <amacleod@redhat.com>
10729         PR tree-optimization/104038
10730         * doc/invoke.texi (relation-block-limit): New.
10731         * params.opt (relation-block-limit): New.
10732         * value-relation.cc (dom_oracle::register_relation): Check for NULL
10733         record before invoking transitive registery.
10734         (dom_oracle::set_one_relation): Check limit before creating record.
10735         (dom_oracle::register_transitives): Stop when no record created.
10736         * value-relation.h (relation_chain_head::m_num_relations): New.
10738 2022-01-18  Richard Biener  <rguenther@suse.de>
10740         PR ipa/103989
10741         * ipa-inline.cc (inline_small_functions): Do not enqueue call
10742         edges originating in functions compiled with -Og.
10744 2022-01-18  Richard Biener  <rguenther@suse.de>
10746         PR ipa/103989
10747         * passes.def (pass_all_optimizations_g): Remove pass_modref
10748         and pass_local_pure_const.
10750 2022-01-18  Martin Liska  <mliska@suse.cz>
10752         * config/s390/s390.cc: Fix -Wformat-diag warnings.
10754 2022-01-18  Martin Liska  <mliska@suse.cz>
10756         * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
10757         keyword in quotes.
10758         (s390_resolve_overloaded_builtin): Remove trailing dot.
10759         * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
10760         (s390_expand_builtin): Remove trailing dot.
10761         (s390_emit_prologue): Likewise, use semicolon.
10762         (s390_option_override_internal): Update keyword.
10763         * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
10765 2022-01-18  Martin Liska  <mliska@suse.cz>
10767         * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
10768         keywords and use %qs instead of %<%s%>.
10770 2022-01-18  Richard Biener  <rguenther@suse.de>
10772         PR tree-optimization/103987
10773         * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
10774         query with a pointer check.
10776 2022-01-18  Richard Sandiford  <richard.sandiford@arm.com>
10778         PR target/104005
10779         * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
10780         When using MEM_EXPR, require the base to be a decl.
10782 2022-01-18  Richard Biener  <rguenther@suse.de>
10784         * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
10785         avoid padding.
10786         * function.h (struct function): Likewise.
10788 2022-01-18  Arnaud Charlet  <charlet@adacore.com>
10790         * doc/install.texi: Update prerequisites for GNAT
10792 2022-01-18  Andrew Pinski  <apinski@marvell.com>
10794         PR tree-optimization/101941
10795         * ipa-split.cc (visit_bb): Disallow function calls where
10796         the function has either error or warning attribute.
10798 2022-01-18  Richard Biener  <rguenther@suse.de>
10800         PR tree-optimization/104064
10801         * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
10802         DR_INIT fits in a signed HWI, represent the difference from the
10803         first DR in unsigned.
10805 2022-01-17  Martin Liska  <mliska@suse.cz>
10807         * Makefile.in: Rename .c names to .cc.
10808         * config.gcc: Likewise.
10809         * configure: Regenerate. Likewise.
10810         * configure.ac: Likewise.
10811         * gengtype.cc (set_gc_used): Likewise.
10812         (source_dot_c_frul): Likewise.
10813         (source_dot_cc_frul): Likewise.
10814         (struct file_rule_st): Likewise.
10815         (close_output_files): Likewise.
10816         * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
10818 2022-01-17  Martin Liska  <mliska@suse.cz>
10820         * Makefile.in: Rename .c names to .cc.
10821         * alias.h: Likewise.
10822         * asan.cc: Likewise.
10823         * auto-profile.h: Likewise.
10824         * basic-block.h (struct basic_block_d): Likewise.
10825         * btfout.cc: Likewise.
10826         * builtins.cc (expand_builtin_longjmp): Likewise.
10827         (validate_arg): Likewise.
10828         (access_ref::offset_bounded): Likewise.
10829         * caller-save.cc (reg_restore_code): Likewise.
10830         (setup_save_areas): Likewise.
10831         * calls.cc (initialize_argument_information): Likewise.
10832         (expand_call): Likewise.
10833         (emit_library_call_value_1): Likewise.
10834         * cfg-flags.def (RTL): Likewise.
10835         (SIBCALL): Likewise.
10836         (CAN_FALLTHRU): Likewise.
10837         * cfganal.cc (post_order_compute): Likewise.
10838         * cfgcleanup.cc (try_simplify_condjump): Likewise.
10839         (merge_blocks_move_predecessor_nojumps): Likewise.
10840         (merge_blocks_move_successor_nojumps): Likewise.
10841         (merge_blocks_move): Likewise.
10842         (old_insns_match_p): Likewise.
10843         (try_crossjump_bb): Likewise.
10844         * cfgexpand.cc (expand_gimple_stmt): Likewise.
10845         * cfghooks.cc (split_block_before_cond_jump): Likewise.
10846         (profile_record_check_consistency): Likewise.
10847         * cfghooks.h: Likewise.
10848         * cfgrtl.cc (pass_free_cfg::execute): Likewise.
10849         (rtl_can_merge_blocks): Likewise.
10850         (try_redirect_by_replacing_jump): Likewise.
10851         (make_pass_outof_cfg_layout_mode): Likewise.
10852         (cfg_layout_can_merge_blocks_p): Likewise.
10853         * cgraph.cc (release_function_body): Likewise.
10854         (cgraph_node::get_fun): Likewise.
10855         * cgraph.h (struct cgraph_node): Likewise.
10856         (asmname_hasher::equal): Likewise.
10857         (cgraph_inline_failed_type): Likewise.
10858         (thunk_adjust): Likewise.
10859         (dump_callgraph_transformation): Likewise.
10860         (record_references_in_initializer): Likewise.
10861         (ipa_discover_variable_flags): Likewise.
10862         * cgraphclones.cc (GTY): Likewise.
10863         * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
10864         * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
10865         * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
10866         * collect2.cc (maybe_run_lto_and_relink): Likewise.
10867         * combine-stack-adj.cc: Likewise.
10868         * combine.cc (setup_incoming_promotions): Likewise.
10869         (combine_simplify_rtx): Likewise.
10870         (count_rtxs): Likewise.
10871         * common.opt: Likewise.
10872         * common/config/aarch64/aarch64-common.cc: Likewise.
10873         * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
10874         * common/config/avr/avr-common.cc: Likewise.
10875         * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
10876         * conditions.h: Likewise.
10877         * config.gcc: Likewise.
10878         * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
10879         * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
10880         (aarch64_get_extension_string_for_isa_flags): Likewise.
10881         * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
10882         * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
10883         (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
10884         (aarch64_option_valid_attribute_p): Likewise.
10885         (aarch64_short_vector_p): Likewise.
10886         (aarch64_float_const_representable_p): Likewise.
10887         * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
10888         (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
10889         (GTY): Likewise.
10890         * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
10891         * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
10892         * config/aarch64/t-aarch64: Likewise.
10893         * config/aarch64/x-aarch64: Likewise.
10894         * config/aarch64/x-darwin: Likewise.
10895         * config/alpha/alpha-protos.h: Likewise.
10896         * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
10897         * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
10898         (enum reg_class): Likewise.
10899         * config/alpha/alpha.md: Likewise.
10900         * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
10901         * config/alpha/x-alpha: Likewise.
10902         * config/arc/arc-protos.h (arc_eh_uses): Likewise.
10903         * config/arc/arc.cc (ARC_OPT): Likewise.
10904         (arc_ccfsm_advance): Likewise.
10905         (arc_arg_partial_bytes): Likewise.
10906         (conditionalize_nonjump): Likewise.
10907         * config/arc/arc.md: Likewise.
10908         * config/arc/builtins.def: Likewise.
10909         * config/arc/t-arc: Likewise.
10910         * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
10911         (arm_pragma_target_parse): Likewise.
10912         * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
10913         (arm_cpu_cpp_builtins): Likewise.
10914         * config/arm/arm.cc (vfp3_const_double_index): Likewise.
10915         (shift_op): Likewise.
10916         (thumb2_final_prescan_insn): Likewise.
10917         (arm_final_prescan_insn): Likewise.
10918         (arm_asm_output_labelref): Likewise.
10919         (arm_small_register_classes_for_mode_p): Likewise.
10920         * config/arm/arm.h: Likewise.
10921         * config/arm/arm.md: Likewise.
10922         * config/arm/driver-arm.cc: Likewise.
10923         * config/arm/symbian.h: Likewise.
10924         * config/arm/t-arm: Likewise.
10925         * config/arm/thumb1.md: Likewise.
10926         * config/arm/x-arm: Likewise.
10927         * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
10928         * config/avr/avr-fixed.md: Likewise.
10929         * config/avr/avr-log.cc (avr_log_vadump): Likewise.
10930         * config/avr/avr-mcus.def: Likewise.
10931         * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
10932         * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
10933         * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
10934         * config/avr/avr.cc (avr_option_override): Likewise.
10935         (avr_build_builtin_va_list): Likewise.
10936         (avr_mode_dependent_address_p): Likewise.
10937         (avr_function_arg_advance): Likewise.
10938         (avr_asm_output_aligned_decl_common): Likewise.
10939         * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
10940         (SUPPORTS_INIT_PRIORITY): Likewise.
10941         * config/avr/avr.md: Likewise.
10942         * config/avr/builtins.def: Likewise.
10943         * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
10944         * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
10945         (main): Likewise.
10946         * config/avr/t-avr: Likewise.
10947         * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
10948         * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
10949         * config/bpf/bpf.h (enum reg_class): Likewise.
10950         * config/bpf/t-bpf: Likewise.
10951         * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
10952         * config/cr16/cr16-protos.h: Likewise.
10953         * config/cris/cris.cc (cris_address_cost): Likewise.
10954         (cris_side_effect_mode_ok): Likewise.
10955         (cris_init_machine_status): Likewise.
10956         (cris_emit_movem_store): Likewise.
10957         * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
10958         (enum reg_class): Likewise.
10959         (struct cum_args): Likewise.
10960         * config/cris/cris.opt: Likewise.
10961         * config/cris/sync.md: Likewise.
10962         * config/csky/csky.cc (csky_expand_prologue): Likewise.
10963         * config/darwin-c.cc: Likewise.
10964         * config/darwin-f.cc: Likewise.
10965         * config/darwin-sections.def (zobj_const_section): Likewise.
10966         * config/darwin.cc (output_objc_section_asm_op): Likewise.
10967         (fprintf): Likewise.
10968         * config/darwin.h (GTY): Likewise.
10969         * config/elfos.h: Likewise.
10970         * config/epiphany/epiphany-sched.md: Likewise.
10971         * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
10972         * config/epiphany/epiphany.h (GTY): Likewise.
10973         (NO_FUNCTION_CSE): Likewise.
10974         * config/epiphany/mode-switch-use.cc: Likewise.
10975         * config/epiphany/predicates.md: Likewise.
10976         * config/epiphany/t-epiphany: Likewise.
10977         * config/fr30/fr30-protos.h: Likewise.
10978         * config/frv/frv-protos.h: Likewise.
10979         * config/frv/frv.cc (TLS_BIAS): Likewise.
10980         * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
10981         * config/ft32/ft32-protos.h: Likewise.
10982         * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
10983         * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
10984         * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
10985         * config/gcn/t-gcn-hsa: Likewise.
10986         * config/gcn/t-omp-device: Likewise.
10987         * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
10988         (same_cmp_following_p): Likewise.
10989         * config/h8300/h8300.cc (F): Likewise.
10990         * config/h8300/h8300.h (struct cum_arg): Likewise.
10991         (BRANCH_COST): Likewise.
10992         * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
10993         * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
10994         * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
10995         * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
10996         * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
10997         * config/i386/i386-c.cc (ix86_target_macros): Likewise.
10998         * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
10999         * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
11000         * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
11001         (ix86_register_pragmas): Likewise.
11002         (ix86_d_has_stdcall_convention): Likewise.
11003         (i386_pe_seh_init_sections): Likewise.
11004         * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
11005         (ix86_function_value_regno_p): Likewise.
11006         (ix86_compute_frame_layout): Likewise.
11007         (legitimize_pe_coff_symbol): Likewise.
11008         (output_pic_addr_const): Likewise.
11009         * config/i386/i386.h (defined): Likewise.
11010         (host_detect_local_cpu): Likewise.
11011         (CONSTANT_ADDRESS_P): Likewise.
11012         (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
11013         (struct machine_frame_state): Likewise.
11014         * config/i386/i386.md: Likewise.
11015         * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
11016         * config/i386/mmx.md: Likewise.
11017         * config/i386/sse.md: Likewise.
11018         * config/i386/t-cygming: Likewise.
11019         * config/i386/t-djgpp: Likewise.
11020         * config/i386/t-gnu-property: Likewise.
11021         * config/i386/t-i386: Likewise.
11022         * config/i386/t-intelmic: Likewise.
11023         * config/i386/t-omp-device: Likewise.
11024         * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
11025         (i386_pe_adjust_class_at_definition): Likewise.
11026         * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
11027         (i386_pe_mangle_decl_assembler_name): Likewise.
11028         (i386_pe_encode_section_info): Likewise.
11029         * config/i386/x-cygwin: Likewise.
11030         * config/i386/x-darwin: Likewise.
11031         * config/i386/x-i386: Likewise.
11032         * config/i386/x-mingw32: Likewise.
11033         * config/i386/x86-tune-sched-core.cc: Likewise.
11034         * config/i386/x86-tune.def: Likewise.
11035         * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
11036         * config/ia64/freebsd.h: Likewise.
11037         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
11038         * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
11039         * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
11040         (ia64_secondary_reload_class): Likewise.
11041         (bundling): Likewise.
11042         * config/ia64/ia64.h: Likewise.
11043         * config/ia64/ia64.md: Likewise.
11044         * config/ia64/predicates.md: Likewise.
11045         * config/ia64/sysv4.h: Likewise.
11046         * config/ia64/t-ia64: Likewise.
11047         * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
11048         * config/iq2000/iq2000.md: Likewise.
11049         * config/linux.h (TARGET_HAS_BIONIC): Likewise.
11050         (if): Likewise.
11051         * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
11052         * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
11053         * config/m32c/t-m32c: Likewise.
11054         * config/m32r/m32r-protos.h: Likewise.
11055         * config/m32r/m32r.cc (m32r_print_operand): Likewise.
11056         * config/m32r/m32r.h: Likewise.
11057         * config/m32r/m32r.md: Likewise.
11058         * config/m68k/m68k-isas.def: Likewise.
11059         * config/m68k/m68k-microarchs.def: Likewise.
11060         * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
11061         (m68k_epilogue_uses): Likewise.
11062         * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
11063         (m68k_sched_adjust_cost): Likewise.
11064         (m68k_sched_md_init): Likewise.
11065         * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
11066         (enum m68k_function_kind): Likewise.
11067         * config/m68k/m68k.md: Likewise.
11068         * config/m68k/m68kemb.h: Likewise.
11069         * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
11070         * config/mcore/mcore-protos.h: Likewise.
11071         * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
11072         (mcore_expand_prolog): Likewise.
11073         * config/mcore/mcore.h (TARGET_MCORE): Likewise.
11074         * config/mcore/mcore.md: Likewise.
11075         * config/microblaze/microblaze-protos.h: Likewise.
11076         * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
11077         (microblaze_function_prologue): Likewise.
11078         (microblaze_function_epilogue): Likewise.
11079         (microblaze_select_section): Likewise.
11080         (microblaze_asm_output_mi_thunk): Likewise.
11081         (microblaze_eh_return): Likewise.
11082         * config/microblaze/microblaze.h: Likewise.
11083         * config/microblaze/microblaze.md: Likewise.
11084         * config/microblaze/t-microblaze: Likewise.
11085         * config/mips/driver-native.cc: Likewise.
11086         * config/mips/loongson2ef.md: Likewise.
11087         * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
11088         * config/mips/mips.cc (mips_rtx_costs): Likewise.
11089         (mips_output_filename): Likewise.
11090         (mips_output_function_prologue): Likewise.
11091         (mips_output_function_epilogue): Likewise.
11092         (mips_output_mi_thunk): Likewise.
11093         * config/mips/mips.h: Likewise.
11094         * config/mips/mips.md: Likewise.
11095         * config/mips/t-mips: Likewise.
11096         * config/mips/x-native: Likewise.
11097         * config/mmix/mmix-protos.h: Likewise.
11098         * config/mmix/mmix.cc (mmix_option_override): Likewise.
11099         (mmix_dbx_register_number): Likewise.
11100         (mmix_expand_prologue): Likewise.
11101         * config/mmix/mmix.h: Likewise.
11102         * config/mmix/mmix.md: Likewise.
11103         * config/mmix/predicates.md: Likewise.
11104         * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
11105         (mn10300_legitimate_pic_operand_p): Likewise.
11106         * config/mn10300/mn10300.h (enum reg_class): Likewise.
11107         (NO_FUNCTION_CSE): Likewise.
11108         * config/moxie/moxie-protos.h: Likewise.
11109         * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
11110         * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
11111         * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
11112         (msp430_incoming_return_addr_rtx): Likewise.
11113         * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
11114         * config/msp430/t-msp430: Likewise.
11115         * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
11116         (nds32_rtx_costs_size_prefer): Likewise.
11117         (nds32_init_rtx_costs): Likewise.
11118         * config/nds32/nds32-doubleword.md: Likewise.
11119         * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
11120         (nds32_builtin_decl): Likewise.
11121         * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
11122         (enum nds32_isr_nested_type): Likewise.
11123         (enum reg_class): Likewise.
11124         * config/nds32/predicates.md: Likewise.
11125         * config/nds32/t-nds32: Likewise.
11126         * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
11127         * config/nvptx/nvptx-protos.h: Likewise.
11128         * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
11129         * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
11130         * config/nvptx/t-nvptx: Likewise.
11131         * config/nvptx/t-omp-device: Likewise.
11132         * config/pa/elf.h: Likewise.
11133         * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
11134         * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
11135         * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
11136         * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
11137         (pa_legitimize_reload_address): Likewise.
11138         (pa_can_use_return_insn): Likewise.
11139         * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
11140         (som_output_text_section_asm_op): Likewise.
11141         * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
11142         * config/pa/pa.md: Likewise.
11143         * config/pa/som.h: Likewise.
11144         * config/pa/t-pa: Likewise.
11145         * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
11146         * config/pdp11/pdp11.h: Likewise.
11147         * config/pdp11/pdp11.md: Likewise.
11148         * config/pdp11/t-pdp11: Likewise.
11149         * config/pru/pru.md: Likewise.
11150         * config/pru/t-pru: Likewise.
11151         * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
11152         (riscv_gpr_save_operation_p): Likewise.
11153         (riscv_d_register_target_info): Likewise.
11154         (riscv_init_builtins): Likewise.
11155         * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
11156         * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
11157         * config/riscv/t-riscv: Likewise.
11158         * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
11159         * config/rl78/t-rl78: Likewise.
11160         * config/rs6000/aix.h: Likewise.
11161         * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
11162         * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
11163         * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
11164         * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
11165         * config/rs6000/driver-rs6000.cc: Likewise.
11166         * config/rs6000/freebsd.h: Likewise.
11167         * config/rs6000/freebsd64.h: Likewise.
11168         * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
11169         * config/rs6000/rbtree.cc: Likewise.
11170         * config/rs6000/rbtree.h: Likewise.
11171         * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
11172         * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
11173         (rs6000_expand_builtin): Likewise.
11174         (rs6000_init_builtins): Likewise.
11175         * config/rs6000/rs6000-cpus.def: Likewise.
11176         * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
11177         * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
11178         (quad_address_offset_p): Likewise.
11179         * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
11180         (rs6000_emit_epilogue): Likewise.
11181         * config/rs6000/rs6000-overload.def: Likewise.
11182         * config/rs6000/rs6000-p8swap.cc: Likewise.
11183         * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
11184         (rs6000_const_f32_to_i32): Likewise.
11185         * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
11186         (rs6000_debug_legitimize_address): Likewise.
11187         (rs6000_mode_dependent_address): Likewise.
11188         (rs6000_adjust_priority): Likewise.
11189         (rs6000_c_mode_for_suffix): Likewise.
11190         * config/rs6000/rs6000.h (defined): Likewise.
11191         (LONG_DOUBLE_TYPE_SIZE): Likewise.
11192         * config/rs6000/rs6000.md: Likewise.
11193         * config/rs6000/sysv4.h: Likewise.
11194         * config/rs6000/t-linux: Likewise.
11195         * config/rs6000/t-linux64: Likewise.
11196         * config/rs6000/t-rs6000: Likewise.
11197         * config/rs6000/x-darwin: Likewise.
11198         * config/rs6000/x-darwin64: Likewise.
11199         * config/rs6000/x-rs6000: Likewise.
11200         * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
11201         * config/rx/rx.cc (rx_expand_builtin): Likewise.
11202         * config/s390/constraints.md: Likewise.
11203         * config/s390/driver-native.cc: Likewise.
11204         * config/s390/htmxlintrin.h: Likewise.
11205         * config/s390/s390-builtins.def (B_DEF): Likewise.
11206         (OB_DEF_VAR): Likewise.
11207         * config/s390/s390-builtins.h: Likewise.
11208         * config/s390/s390-c.cc: Likewise.
11209         * config/s390/s390-opts.h: Likewise.
11210         * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
11211         (s390_register_target_pragmas): Likewise.
11212         * config/s390/s390.cc (s390_init_builtins): Likewise.
11213         (s390_expand_plus_operand): Likewise.
11214         (s390_expand_atomic): Likewise.
11215         (s390_valid_target_attribute_inner_p): Likewise.
11216         * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
11217         * config/s390/s390.md: Likewise.
11218         * config/s390/t-s390: Likewise.
11219         * config/s390/vx-builtins.md: Likewise.
11220         * config/s390/x-native: Likewise.
11221         * config/sh/divtab-sh4-300.cc (main): Likewise.
11222         * config/sh/divtab-sh4.cc (main): Likewise.
11223         * config/sh/divtab.cc (main): Likewise.
11224         * config/sh/elf.h: Likewise.
11225         * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
11226         * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
11227         (sh_struct_value_rtx): Likewise.
11228         (sh_remove_reg_dead_or_unused_notes): Likewise.
11229         * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
11230         * config/sh/t-sh: Likewise.
11231         * config/sol2-protos.h (solaris_override_options): Likewise.
11232         * config/sol2.h: Likewise.
11233         * config/sparc/driver-sparc.cc: Likewise.
11234         * config/sparc/freebsd.h: Likewise.
11235         * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
11236         * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
11237         (sparc_asan_shadow_offset): Likewise.
11238         * config/sparc/sparc.h: Likewise.
11239         * config/sparc/sparc.md: Likewise.
11240         * config/sparc/t-sparc: Likewise.
11241         * config/sparc/x-sparc: Likewise.
11242         * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
11243         * config/t-darwin: Likewise.
11244         * config/t-dragonfly: Likewise.
11245         * config/t-freebsd: Likewise.
11246         * config/t-glibc: Likewise.
11247         * config/t-linux: Likewise.
11248         * config/t-netbsd: Likewise.
11249         * config/t-openbsd: Likewise.
11250         * config/t-pnt16-warn: Likewise.
11251         * config/t-sol2: Likewise.
11252         * config/t-vxworks: Likewise.
11253         * config/t-winnt: Likewise.
11254         * config/tilegx/t-tilegx: Likewise.
11255         * config/tilegx/tilegx-c.cc: Likewise.
11256         * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
11257         * config/tilegx/tilegx.md: Likewise.
11258         * config/tilepro/t-tilepro: Likewise.
11259         * config/tilepro/tilepro-c.cc: Likewise.
11260         * config/v850/t-v850: Likewise.
11261         * config/v850/v850-protos.h: Likewise.
11262         * config/v850/v850.cc (F): Likewise.
11263         * config/v850/v850.h (enum reg_class): Likewise.
11264         (SLOW_BYTE_ACCESS): Likewise.
11265         * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
11266         * config/vax/vax.h (enum reg_class): Likewise.
11267         * config/vax/vax.md: Likewise.
11268         * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
11269         * config/visium/visium.h: Likewise.
11270         * config/vms/t-vms: Likewise.
11271         * config/vms/vms-crtlmap.map: Likewise.
11272         * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
11273         * config/vx-common.h: Likewise.
11274         * config/x-darwin: Likewise.
11275         * config/x-hpux: Likewise.
11276         * config/x-linux: Likewise.
11277         * config/x-netbsd: Likewise.
11278         * config/x-openbsd: Likewise.
11279         * config/x-solaris: Likewise.
11280         * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
11281         * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
11282         * config/xtensa/xtensa.h: Likewise.
11283         * configure.ac: Likewise.
11284         * context.cc: Likewise.
11285         * convert.h: Likewise.
11286         * coretypes.h: Likewise.
11287         * coverage.cc: Likewise.
11288         * coverage.h: Likewise.
11289         * cppdefault.h (struct default_include): Likewise.
11290         * cprop.cc (local_cprop_pass): Likewise.
11291         (one_cprop_pass): Likewise.
11292         * cse.cc (hash_rtx_cb): Likewise.
11293         (fold_rtx): Likewise.
11294         * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
11295         * data-streamer.h (bp_unpack_var_len_int): Likewise.
11296         (streamer_write_widest_int): Likewise.
11297         * dbgcnt.def: Likewise.
11298         * dbxout.cc (dbxout_early_global_decl): Likewise.
11299         (dbxout_common_check): Likewise.
11300         * dbxout.h: Likewise.
11301         * debug.h (struct gcc_debug_hooks): Likewise.
11302         (dump_go_spec_init): Likewise.
11303         * df-core.cc: Likewise.
11304         * df-scan.cc (df_insn_info_delete): Likewise.
11305         (df_insn_delete): Likewise.
11306         * df.h (debug_df_chain): Likewise.
11307         (can_move_insns_across): Likewise.
11308         * dfp.cc (decimal_from_binary): Likewise.
11309         * diagnostic-color.cc: Likewise.
11310         * diagnostic-event-id.h: Likewise.
11311         * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
11312         * diagnostic.cc (bt_callback): Likewise.
11313         (num_digits): Likewise.
11314         * doc/avr-mmcu.texi: Likewise.
11315         * doc/cfg.texi: Likewise.
11316         * doc/contrib.texi: Likewise.
11317         * doc/cppinternals.texi: Likewise.
11318         * doc/extend.texi: Likewise.
11319         * doc/generic.texi: Likewise.
11320         * doc/gimple.texi: Likewise.
11321         * doc/gty.texi: Likewise.
11322         * doc/invoke.texi: Likewise.
11323         * doc/loop.texi: Likewise.
11324         * doc/lto.texi: Likewise.
11325         * doc/match-and-simplify.texi: Likewise.
11326         * doc/md.texi: Likewise.
11327         * doc/optinfo.texi: Likewise.
11328         * doc/options.texi: Likewise.
11329         * doc/passes.texi: Likewise.
11330         * doc/plugins.texi: Likewise.
11331         * doc/rtl.texi: Likewise.
11332         * doc/sourcebuild.texi: Likewise.
11333         * doc/tm.texi: Likewise.
11334         * doc/tm.texi.in: Likewise.
11335         * doc/tree-ssa.texi: Likewise.
11336         * dojump.cc (do_jump): Likewise.
11337         * dojump.h: Likewise.
11338         * dumpfile.cc (test_impl_location): Likewise.
11339         (test_capture_of_dump_calls): Likewise.
11340         * dumpfile.h (enum dump_kind): Likewise.
11341         (class dump_location_t): Likewise.
11342         (dump_enabled_p): Likewise.
11343         (enable_rtl_dump_file): Likewise.
11344         (dump_combine_total_stats): Likewise.
11345         * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
11346         * dwarf2ctf.h (ctf_debug_finish): Likewise.
11347         * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
11348         (struct loc_descr_context): Likewise.
11349         (rtl_for_decl_location): Likewise.
11350         (gen_subprogram_die): Likewise.
11351         (gen_label_die): Likewise.
11352         (is_trivial_indirect_ref): Likewise.
11353         (dwarf2out_late_global_decl): Likewise.
11354         (dwarf_file_hasher::hash): Likewise.
11355         (dwarf2out_end_source_file): Likewise.
11356         (dwarf2out_define): Likewise.
11357         (dwarf2out_early_finish): Likewise.
11358         * dwarf2out.h (struct dw_fde_node): Likewise.
11359         (struct dw_discr_list_node): Likewise.
11360         (output_loc_sequence_raw): Likewise.
11361         * emit-rtl.cc (gen_raw_REG): Likewise.
11362         (maybe_set_max_label_num): Likewise.
11363         * emit-rtl.h (struct rtl_data): Likewise.
11364         * errors.cc (internal_error): Likewise.
11365         (trim_filename): Likewise.
11366         * et-forest.cc: Likewise.
11367         * except.cc (init_eh_for_function): Likewise.
11368         * explow.cc (promote_ssa_mode): Likewise.
11369         (get_dynamic_stack_size): Likewise.
11370         * explow.h: Likewise.
11371         * expmed.h: Likewise.
11372         * expr.cc (safe_from_p): Likewise.
11373         (expand_expr_real_2): Likewise.
11374         (expand_expr_real_1): Likewise.
11375         * file-prefix-map.cc (remap_filename): Likewise.
11376         * final.cc (app_enable): Likewise.
11377         (make_pass_compute_alignments): Likewise.
11378         (final_scan_insn_1): Likewise.
11379         (final_scan_insn): Likewise.
11380         * fixed-value.h (fixed_from_string): Likewise.
11381         * flag-types.h (NO_DEBUG): Likewise.
11382         (DWARF2_DEBUG): Likewise.
11383         (VMS_DEBUG): Likewise.
11384         (BTF_DEBUG): Likewise.
11385         (enum ctf_debug_info_levels): Likewise.
11386         * fold-const.cc (const_binop): Likewise.
11387         (fold_binary_loc): Likewise.
11388         (fold_checksum_tree): Likewise.
11389         * fp-test.cc: Likewise.
11390         * function.cc (expand_function_end): Likewise.
11391         * function.h (struct function): Likewise.
11392         * fwprop.cc (should_replace_address): Likewise.
11393         * gcc-main.cc: Likewise.
11394         * gcc-rich-location.h (class gcc_rich_location): Likewise.
11395         * gcc-symtab.h: Likewise.
11396         * gcc.cc (MIN_FATAL_STATUS): Likewise.
11397         (driver_handle_option): Likewise.
11398         (quote_spec_arg): Likewise.
11399         (driver::finalize): Likewise.
11400         * gcc.h (set_input): Likewise.
11401         * gcov-dump.cc: Likewise.
11402         * gcov.cc (solve_flow_graph): Likewise.
11403         * gcse-common.cc: Likewise.
11404         * gcse.cc (make_pass_rtl_hoist): Likewise.
11405         * genattr-common.cc: Likewise.
11406         * genattrtab.cc (min_fn): Likewise.
11407         (write_const_num_delay_slots): Likewise.
11408         * genautomata.cc: Likewise.
11409         * genconditions.cc (write_one_condition): Likewise.
11410         * genconstants.cc: Likewise.
11411         * genemit.cc (gen_exp): Likewise.
11412         * generic-match-head.cc: Likewise.
11413         * genextract.cc: Likewise.
11414         * gengenrtl.cc (always_void_p): Likewise.
11415         * gengtype-parse.cc (gtymarker_opt): Likewise.
11416         * gengtype-state.cc (state_writer::state_writer): Likewise.
11417         (write_state_trailer): Likewise.
11418         (equals_type_number): Likewise.
11419         (read_state): Likewise.
11420         * gengtype.cc (open_base_files): Likewise.
11421         (struct file_rule_st): Likewise.
11422         (header_dot_h_frul): Likewise.
11423         * gengtype.h: Likewise.
11424         * genmatch.cc (main): Likewise.
11425         * genmddeps.cc: Likewise.
11426         * genmodes.cc (emit_mode_inner): Likewise.
11427         (emit_mode_unit_size): Likewise.
11428         * genpeep.cc (gen_peephole): Likewise.
11429         * genpreds.cc (write_tm_preds_h): Likewise.
11430         * genrecog.cc (validate_pattern): Likewise.
11431         (write_header): Likewise.
11432         (main): Likewise.
11433         * gensupport.cc (change_subst_attribute): Likewise.
11434         (traverse_c_tests): Likewise.
11435         (add_predicate): Likewise.
11436         (init_predicate_table): Likewise.
11437         * gensupport.h (struct optab_pattern): Likewise.
11438         (get_num_insn_codes): Likewise.
11439         (maybe_eval_c_test): Likewise.
11440         (struct pred_data): Likewise.
11441         * ggc-internal.h: Likewise.
11442         * gimple-fold.cc (maybe_fold_reference): Likewise.
11443         (get_range_strlen_tree): Likewise.
11444         * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
11445         * gimple-low.cc: Likewise.
11446         * gimple-match-head.cc (directly_supported_p): Likewise.
11447         * gimple-pretty-print.h: Likewise.
11448         * gimple-ssa-sprintf.cc (format_percent): Likewise.
11449         (adjust_range_for_overflow): Likewise.
11450         * gimple-streamer.h: Likewise.
11451         * gimple.h (struct GTY): Likewise.
11452         (is_gimple_resx): Likewise.
11453         * gimplify.cc (gimplify_expr): Likewise.
11454         (gimplify_init_constructor): Likewise.
11455         (omp_construct_selector_matches): Likewise.
11456         (gimplify_omp_target_update): Likewise.
11457         (gimplify_omp_ordered): Likewise.
11458         (gimplify_va_arg_expr): Likewise.
11459         * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
11460         * haifa-sched.cc (increase_insn_priority): Likewise.
11461         (try_ready): Likewise.
11462         (sched_create_recovery_edges): Likewise.
11463         * ifcvt.cc (find_if_case_1): Likewise.
11464         (find_if_case_2): Likewise.
11465         * inchash.h: Likewise.
11466         * incpath.cc (add_env_var_paths): Likewise.
11467         * input.cc (dump_location_info): Likewise.
11468         (assert_loceq): Likewise.
11469         (test_lexer_string_locations_concatenation_1): Likewise.
11470         (test_lexer_string_locations_concatenation_2): Likewise.
11471         (test_lexer_string_locations_concatenation_3): Likewise.
11472         * input.h (BUILTINS_LOCATION): Likewise.
11473         (class string_concat_db): Likewise.
11474         * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
11475         (expand_LOOP_VECTORIZED): Likewise.
11476         * ipa-cp.cc (make_pass_ipa_cp): Likewise.
11477         * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
11478         (ipa_fn_summary_t::duplicate): Likewise.
11479         (make_pass_ipa_fn_summary): Likewise.
11480         * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
11481         * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
11482         (free_lang_data_in_decl): Likewise.
11483         * ipa-inline.cc (compute_inlined_call_time): Likewise.
11484         (inline_always_inline_functions): Likewise.
11485         * ipa-inline.h (free_growth_caches): Likewise.
11486         (inline_account_function_p): Likewise.
11487         * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
11488         (modref_eaf_analysis::analyze_ssa_name): Likewise.
11489         * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
11490         (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
11491         * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
11492         * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
11493         (unadjusted_ptr_and_unit_offset): Likewise.
11494         * ipa-reference.cc (make_pass_ipa_reference): Likewise.
11495         * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
11496         * ipa-split.cc (consider_split): Likewise.
11497         * ipa-sra.cc (isra_read_node_info): Likewise.
11498         * ipa-utils.h (struct ipa_dfs_info): Likewise.
11499         (recursive_call_p): Likewise.
11500         (ipa_make_function_pure): Likewise.
11501         * ira-build.cc (ira_create_allocno): Likewise.
11502         (ira_flattening): Likewise.
11503         * ira-color.cc (do_coloring): Likewise.
11504         (update_curr_costs): Likewise.
11505         * ira-conflicts.cc (process_regs_for_copy): Likewise.
11506         * ira-int.h (struct ira_emit_data): Likewise.
11507         (ira_prohibited_mode_move_regs): Likewise.
11508         (ira_get_dup_out_num): Likewise.
11509         (ira_destroy): Likewise.
11510         (ira_tune_allocno_costs): Likewise.
11511         (ira_implicitly_set_insn_hard_regs): Likewise.
11512         (ira_build_conflicts): Likewise.
11513         (ira_color): Likewise.
11514         * ira-lives.cc (process_bb_node_lives): Likewise.
11515         * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
11516         (setup_uniform_class_p): Likewise.
11517         (def_dominates_uses): Likewise.
11518         * ira.h (ira_nullify_asm_goto): Likewise.
11519         * langhooks.cc (lhd_post_options): Likewise.
11520         * langhooks.h (class substring_loc): Likewise.
11521         (struct lang_hooks_for_tree_inlining): Likewise.
11522         (struct lang_hooks_for_types): Likewise.
11523         (struct lang_hooks): Likewise.
11524         * libfuncs.h (synchronize_libfunc): Likewise.
11525         * loop-doloop.cc (doloop_condition_get): Likewise.
11526         * loop-init.cc (fix_loop_structure): Likewise.
11527         * loop-invariant.cc: Likewise.
11528         * lower-subreg.h: Likewise.
11529         * lra-constraints.cc (curr_insn_transform): Likewise.
11530         * lra-int.h (struct lra_insn_reg): Likewise.
11531         (lra_undo_inheritance): Likewise.
11532         (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
11533         (lra_split_hard_reg_for): Likewise.
11534         (lra_coalesce): Likewise.
11535         (lra_final_code_change): Likewise.
11536         * lra-spills.cc (lra_final_code_change): Likewise.
11537         * lra.cc (lra_process_new_insns): Likewise.
11538         * lto-compress.h (struct lto_compression_stream): Likewise.
11539         * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
11540         (write_symbol): Likewise.
11541         * lto-streamer.h (enum LTO_tags): Likewise.
11542         (lto_value_range_error): Likewise.
11543         (lto_append_block): Likewise.
11544         (lto_streamer_hooks_init): Likewise.
11545         (stream_read_tree_ref): Likewise.
11546         (lto_prepare_function_for_streaming): Likewise.
11547         (select_what_to_stream): Likewise.
11548         (omp_lto_input_declare_variant_alt): Likewise.
11549         (cl_optimization_stream_in): Likewise.
11550         * lto-wrapper.cc (append_compiler_options): Likewise.
11551         * machmode.def: Likewise.
11552         * machmode.h (struct int_n_data_t): Likewise.
11553         * main.cc (main): Likewise.
11554         * match.pd: Likewise.
11555         * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
11556         (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
11557         * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
11558         (make_pass_expand_omp_ssa): Likewise.
11559         * omp-low.cc (struct omp_context): Likewise.
11560         (struct omp_taskcopy_context): Likewise.
11561         (lower_omp): Likewise.
11562         * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
11563         (mask_name): Likewise.
11564         (omp_sese_dump_pars): Likewise.
11565         (worker_single_simple): Likewise.
11566         * omp-offload.cc (omp_finish_file): Likewise.
11567         (execute_oacc_loop_designation): Likewise.
11568         * optabs-query.cc (lshift_cheap_p): Likewise.
11569         * optc-gen.awk: Likewise.
11570         * optc-save-gen.awk: Likewise.
11571         * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
11572         * opts-common.cc: Likewise.
11573         * output.h (app_enable): Likewise.
11574         (output_operand_lossage): Likewise.
11575         (insn_current_reference_address): Likewise.
11576         (get_insn_template): Likewise.
11577         (output_quoted_string): Likewise.
11578         * pass_manager.h (struct register_pass_info): Likewise.
11579         * plugin.cc: Likewise.
11580         * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
11581         * plugin.h (invoke_plugin_callbacks): Likewise.
11582         * pointer-query.cc (handle_mem_ref): Likewise.
11583         * postreload-gcse.cc (alloc_mem): Likewise.
11584         * predict.h (enum prediction): Likewise.
11585         (add_reg_br_prob_note): Likewise.
11586         * prefix.h: Likewise.
11587         * profile.h (get_working_sets): Likewise.
11588         * read-md.cc: Likewise.
11589         * read-md.h (struct mapping): Likewise.
11590         (class md_reader): Likewise.
11591         (class noop_reader): Likewise.
11592         * read-rtl-function.cc (function_reader::create_function): Likewise.
11593         (function_reader::extra_parsing_for_operand_code_0): Likewise.
11594         * read-rtl.cc (initialize_iterators): Likewise.
11595         * real.cc: Likewise.
11596         * real.h (struct real_value): Likewise.
11597         (format_helper::format_helper): Likewise.
11598         (real_hash): Likewise.
11599         (real_can_shorten_arithmetic): Likewise.
11600         * recog.cc (struct target_recog): Likewise.
11601         (offsettable_nonstrict_memref_p): Likewise.
11602         (constrain_operands): Likewise.
11603         * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
11604         (which_op_alt): Likewise.
11605         (struct insn_gen_fn): Likewise.
11606         * reg-notes.def (REG_NOTE): Likewise.
11607         * reg-stack.cc: Likewise.
11608         * regs.h (reg_is_parm_p): Likewise.
11609         * regset.h: Likewise.
11610         * reload.cc (push_reload): Likewise.
11611         (find_reloads): Likewise.
11612         (find_reloads_address_1): Likewise.
11613         (find_replacement): Likewise.
11614         (refers_to_regno_for_reload_p): Likewise.
11615         (refers_to_mem_for_reload_p): Likewise.
11616         * reload.h (push_reload): Likewise.
11617         (deallocate_reload_reg): Likewise.
11618         * reload1.cc (emit_input_reload_insns): Likewise.
11619         * reorg.cc (relax_delay_slots): Likewise.
11620         * rtl.def (UNKNOWN): Likewise.
11621         (SEQUENCE): Likewise.
11622         (BARRIER): Likewise.
11623         (ASM_OPERANDS): Likewise.
11624         (EQ_ATTR_ALT): Likewise.
11625         * rtl.h (struct GTY): Likewise.
11626         (LABEL_NAME): Likewise.
11627         (LABEL_ALT_ENTRY_P): Likewise.
11628         (SUBREG_BYTE): Likewise.
11629         (get_stack_check_protect): Likewise.
11630         (dump_rtx_statistics): Likewise.
11631         (unwrap_const_vec_duplicate): Likewise.
11632         (subreg_promoted_mode): Likewise.
11633         (gen_lowpart_common): Likewise.
11634         (operand_subword): Likewise.
11635         (immed_wide_int_const): Likewise.
11636         (decide_function_section): Likewise.
11637         (active_insn_p): Likewise.
11638         (delete_related_insns): Likewise.
11639         (try_split): Likewise.
11640         (val_signbit_known_clear_p): Likewise.
11641         (simplifiable_subregs): Likewise.
11642         (set_insn_deleted): Likewise.
11643         (subreg_get_info): Likewise.
11644         (remove_free_EXPR_LIST_node): Likewise.
11645         (finish_subregs_of_mode): Likewise.
11646         (get_mem_attrs): Likewise.
11647         (lookup_constant_def): Likewise.
11648         (rtx_to_tree_code): Likewise.
11649         (hash_rtx): Likewise.
11650         (condjump_in_parallel_p): Likewise.
11651         (validate_subreg): Likewise.
11652         (make_compound_operation): Likewise.
11653         (schedule_ebbs): Likewise.
11654         (print_inline_rtx): Likewise.
11655         (fixup_args_size_notes): Likewise.
11656         (expand_dec): Likewise.
11657         (prepare_copy_insn): Likewise.
11658         (mark_elimination): Likewise.
11659         (valid_mode_changes_for_regno): Likewise.
11660         (make_debug_expr_from_rtl): Likewise.
11661         (delete_vta_debug_insns): Likewise.
11662         (simplify_using_condition): Likewise.
11663         (set_insn_locations): Likewise.
11664         (fatal_insn_not_found): Likewise.
11665         (word_register_operation_p): Likewise.
11666         * rtlanal.cc (get_call_fndecl): Likewise.
11667         (side_effects_p): Likewise.
11668         (subreg_nregs): Likewise.
11669         (rtx_cost): Likewise.
11670         (canonicalize_condition): Likewise.
11671         * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
11672         * run-rtl-passes.cc (run_rtl_passes): Likewise.
11673         * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
11674         * sched-deps.cc (add_dependence_1): Likewise.
11675         * sched-ebb.cc (begin_move_insn): Likewise.
11676         (add_deps_for_risky_insns): Likewise.
11677         (advance_target_bb): Likewise.
11678         * sched-int.h (reemit_notes): Likewise.
11679         (struct _haifa_insn_data): Likewise.
11680         (HID): Likewise.
11681         (DEP_CANCELLED): Likewise.
11682         (debug_ds): Likewise.
11683         (number_in_ready): Likewise.
11684         (schedule_ebbs_finish): Likewise.
11685         (find_modifiable_mems): Likewise.
11686         * sched-rgn.cc (debug_rgn_dependencies): Likewise.
11687         * sel-sched-dump.cc (dump_lv_set): Likewise.
11688         * sel-sched-dump.h: Likewise.
11689         * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
11690         (setup_id_reg_sets): Likewise.
11691         (has_dependence_p): Likewise.
11692         (sel_num_cfg_preds_gt_1): Likewise.
11693         (bb_ends_ebb_p): Likewise.
11694         * sel-sched-ir.h (struct _list_node): Likewise.
11695         (struct idata_def): Likewise.
11696         (bb_next_bb): Likewise.
11697         * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
11698         (choose_best_pseudo_reg): Likewise.
11699         (verify_target_availability): Likewise.
11700         (can_speculate_dep_p): Likewise.
11701         (sel_rank_for_schedule): Likewise.
11702         * selftest-run-tests.cc (selftest::run_tests): Likewise.
11703         * selftest.h (class auto_fix_quotes): Likewise.
11704         * shrink-wrap.cc (handle_simple_exit): Likewise.
11705         * shrink-wrap.h: Likewise.
11706         * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
11707         (simplify_context::simplify_gen_vec_select): Likewise.
11708         * spellcheck-tree.h: Likewise.
11709         * spellcheck.h: Likewise.
11710         * statistics.h (struct function): Likewise.
11711         * stmt.cc (conditional_probability): Likewise.
11712         * stmt.h: Likewise.
11713         * stor-layout.h: Likewise.
11714         * streamer-hooks.h: Likewise.
11715         * stringpool.h: Likewise.
11716         * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
11717         * target.def (HOOK_VECTOR_END): Likewise.
11718         (type.): Likewise.
11719         * target.h (union cumulative_args_t): Likewise.
11720         (by_pieces_ninsns): Likewise.
11721         (class predefined_function_abi): Likewise.
11722         * targhooks.cc (default_translate_mode_attribute): Likewise.
11723         * timevar.def: Likewise.
11724         * timevar.h (class timer): Likewise.
11725         * toplev.h (enable_rtl_dump_file): Likewise.
11726         * trans-mem.cc (collect_bb2reg): Likewise.
11727         * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
11728         * tree-cfg.cc (remove_bb): Likewise.
11729         (verify_gimple_debug): Likewise.
11730         (remove_edge_and_dominated_blocks): Likewise.
11731         (push_fndecl): Likewise.
11732         * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
11733         * tree-complex.cc (expand_complex_multiplication): Likewise.
11734         (expand_complex_div_straight): Likewise.
11735         * tree-core.h (enum tree_index): Likewise.
11736         (enum operand_equal_flag): Likewise.
11737         * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
11738         * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
11739         * tree-inline.cc (initialize_inlined_parameters): Likewise.
11740         * tree-inline.h (force_value_to_type): Likewise.
11741         * tree-nested.cc (get_chain_decl): Likewise.
11742         (walk_all_functions): Likewise.
11743         * tree-object-size.h: Likewise.
11744         * tree-outof-ssa.cc: Likewise.
11745         * tree-parloops.cc (create_parallel_loop): Likewise.
11746         * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
11747         (dump_generic_node): Likewise.
11748         * tree-profile.cc (tree_profiling): Likewise.
11749         * tree-sra.cc (maybe_add_sra_candidate): Likewise.
11750         * tree-ssa-address.cc: Likewise.
11751         * tree-ssa-alias.cc: Likewise.
11752         * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
11753         (dump_alias_stats): Likewise.
11754         * tree-ssa-ccp.cc: Likewise.
11755         * tree-ssa-coalesce.h: Likewise.
11756         * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
11757         * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
11758         * tree-ssa-loop-unswitch.cc: Likewise.
11759         * tree-ssa-math-opts.cc: Likewise.
11760         * tree-ssa-operands.cc (class operands_scanner): Likewise.
11761         * tree-ssa-pre.cc: Likewise.
11762         * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
11763         (debug_range_entry): Likewise.
11764         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
11765         * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
11766         * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
11767         (equal_mem_array_ref_p): Likewise.
11768         * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
11769         * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
11770         * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
11771         * tree-ssa-ter.h: Likewise.
11772         * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
11773         * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
11774         * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
11775         (write_ts_block_tree_pointers): Likewise.
11776         * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
11777         (streamer_read_tree_bitfields): Likewise.
11778         (streamer_write_integer_cst): Likewise.
11779         * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
11780         (vect_synth_mult_by_constant): Likewise.
11781         * tree-vect-stmts.cc (vectorizable_operation): Likewise.
11782         * tree-vectorizer.cc: Likewise.
11783         * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
11784         (vect_update_inits_of_drs): Likewise.
11785         (vect_get_mask_type_for_stmt): Likewise.
11786         (vect_rgroup_iv_might_wrap_p): Likewise.
11787         (cse_and_gimplify_to_preheader): Likewise.
11788         (vect_free_slp_tree): Likewise.
11789         (vect_pattern_recog): Likewise.
11790         (vect_stmt_dominates_stmt_p): Likewise.
11791         * tree.cc (initialize_tree_contains_struct): Likewise.
11792         (need_assembler_name_p): Likewise.
11793         (type_with_interoperable_signedness): Likewise.
11794         * tree.def (SWITCH_EXPR): Likewise.
11795         * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
11796         (poly_int_tree_p): Likewise.
11797         (inlined_function_outer_scope_p): Likewise.
11798         (tree_code_for_canonical_type_merging): Likewise.
11799         * value-prof.cc: Likewise.
11800         * value-prof.h (get_nth_most_common_value): Likewise.
11801         (find_func_by_profile_id): Likewise.
11802         * value-range.cc (vrp_operand_equal_p): Likewise.
11803         * value-range.h: Likewise.
11804         * var-tracking.cc: Likewise.
11805         * varasm.cc (default_function_section): Likewise.
11806         (function_section_1): Likewise.
11807         (assemble_variable): Likewise.
11808         (handle_vtv_comdat_section): Likewise.
11809         * vec.h (struct vec_prefix): Likewise.
11810         * vmsdbgout.cc (full_name): Likewise.
11811         * vtable-verify.cc: Likewise.
11812         * vtable-verify.h (struct vtv_graph_node): Likewise.
11813         * xcoffout.cc: Likewise.
11814         * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
11816 2022-01-17  Martin Liska  <mliska@suse.cz>
11818         * adjust-alignment.c: Moved to...
11819         * adjust-alignment.cc: ...here.
11820         * alias.c: Moved to...
11821         * alias.cc: ...here.
11822         * alloc-pool.c: Moved to...
11823         * alloc-pool.cc: ...here.
11824         * asan.c: Moved to...
11825         * asan.cc: ...here.
11826         * attribs.c: Moved to...
11827         * attribs.cc: ...here.
11828         * auto-inc-dec.c: Moved to...
11829         * auto-inc-dec.cc: ...here.
11830         * auto-profile.c: Moved to...
11831         * auto-profile.cc: ...here.
11832         * bb-reorder.c: Moved to...
11833         * bb-reorder.cc: ...here.
11834         * bitmap.c: Moved to...
11835         * bitmap.cc: ...here.
11836         * btfout.c: Moved to...
11837         * btfout.cc: ...here.
11838         * builtins.c: Moved to...
11839         * builtins.cc: ...here.
11840         * caller-save.c: Moved to...
11841         * caller-save.cc: ...here.
11842         * calls.c: Moved to...
11843         * calls.cc: ...here.
11844         * ccmp.c: Moved to...
11845         * ccmp.cc: ...here.
11846         * cfg.c: Moved to...
11847         * cfg.cc: ...here.
11848         * cfganal.c: Moved to...
11849         * cfganal.cc: ...here.
11850         * cfgbuild.c: Moved to...
11851         * cfgbuild.cc: ...here.
11852         * cfgcleanup.c: Moved to...
11853         * cfgcleanup.cc: ...here.
11854         * cfgexpand.c: Moved to...
11855         * cfgexpand.cc: ...here.
11856         * cfghooks.c: Moved to...
11857         * cfghooks.cc: ...here.
11858         * cfgloop.c: Moved to...
11859         * cfgloop.cc: ...here.
11860         * cfgloopanal.c: Moved to...
11861         * cfgloopanal.cc: ...here.
11862         * cfgloopmanip.c: Moved to...
11863         * cfgloopmanip.cc: ...here.
11864         * cfgrtl.c: Moved to...
11865         * cfgrtl.cc: ...here.
11866         * cgraph.c: Moved to...
11867         * cgraph.cc: ...here.
11868         * cgraphbuild.c: Moved to...
11869         * cgraphbuild.cc: ...here.
11870         * cgraphclones.c: Moved to...
11871         * cgraphclones.cc: ...here.
11872         * cgraphunit.c: Moved to...
11873         * cgraphunit.cc: ...here.
11874         * collect-utils.c: Moved to...
11875         * collect-utils.cc: ...here.
11876         * collect2-aix.c: Moved to...
11877         * collect2-aix.cc: ...here.
11878         * collect2.c: Moved to...
11879         * collect2.cc: ...here.
11880         * combine-stack-adj.c: Moved to...
11881         * combine-stack-adj.cc: ...here.
11882         * combine.c: Moved to...
11883         * combine.cc: ...here.
11884         * common/common-targhooks.c: Moved to...
11885         * common/common-targhooks.cc: ...here.
11886         * common/config/aarch64/aarch64-common.c: Moved to...
11887         * common/config/aarch64/aarch64-common.cc: ...here.
11888         * common/config/alpha/alpha-common.c: Moved to...
11889         * common/config/alpha/alpha-common.cc: ...here.
11890         * common/config/arc/arc-common.c: Moved to...
11891         * common/config/arc/arc-common.cc: ...here.
11892         * common/config/arm/arm-common.c: Moved to...
11893         * common/config/arm/arm-common.cc: ...here.
11894         * common/config/avr/avr-common.c: Moved to...
11895         * common/config/avr/avr-common.cc: ...here.
11896         * common/config/bfin/bfin-common.c: Moved to...
11897         * common/config/bfin/bfin-common.cc: ...here.
11898         * common/config/bpf/bpf-common.c: Moved to...
11899         * common/config/bpf/bpf-common.cc: ...here.
11900         * common/config/c6x/c6x-common.c: Moved to...
11901         * common/config/c6x/c6x-common.cc: ...here.
11902         * common/config/cr16/cr16-common.c: Moved to...
11903         * common/config/cr16/cr16-common.cc: ...here.
11904         * common/config/cris/cris-common.c: Moved to...
11905         * common/config/cris/cris-common.cc: ...here.
11906         * common/config/csky/csky-common.c: Moved to...
11907         * common/config/csky/csky-common.cc: ...here.
11908         * common/config/default-common.c: Moved to...
11909         * common/config/default-common.cc: ...here.
11910         * common/config/epiphany/epiphany-common.c: Moved to...
11911         * common/config/epiphany/epiphany-common.cc: ...here.
11912         * common/config/fr30/fr30-common.c: Moved to...
11913         * common/config/fr30/fr30-common.cc: ...here.
11914         * common/config/frv/frv-common.c: Moved to...
11915         * common/config/frv/frv-common.cc: ...here.
11916         * common/config/gcn/gcn-common.c: Moved to...
11917         * common/config/gcn/gcn-common.cc: ...here.
11918         * common/config/h8300/h8300-common.c: Moved to...
11919         * common/config/h8300/h8300-common.cc: ...here.
11920         * common/config/i386/i386-common.c: Moved to...
11921         * common/config/i386/i386-common.cc: ...here.
11922         * common/config/ia64/ia64-common.c: Moved to...
11923         * common/config/ia64/ia64-common.cc: ...here.
11924         * common/config/iq2000/iq2000-common.c: Moved to...
11925         * common/config/iq2000/iq2000-common.cc: ...here.
11926         * common/config/lm32/lm32-common.c: Moved to...
11927         * common/config/lm32/lm32-common.cc: ...here.
11928         * common/config/m32r/m32r-common.c: Moved to...
11929         * common/config/m32r/m32r-common.cc: ...here.
11930         * common/config/m68k/m68k-common.c: Moved to...
11931         * common/config/m68k/m68k-common.cc: ...here.
11932         * common/config/mcore/mcore-common.c: Moved to...
11933         * common/config/mcore/mcore-common.cc: ...here.
11934         * common/config/microblaze/microblaze-common.c: Moved to...
11935         * common/config/microblaze/microblaze-common.cc: ...here.
11936         * common/config/mips/mips-common.c: Moved to...
11937         * common/config/mips/mips-common.cc: ...here.
11938         * common/config/mmix/mmix-common.c: Moved to...
11939         * common/config/mmix/mmix-common.cc: ...here.
11940         * common/config/mn10300/mn10300-common.c: Moved to...
11941         * common/config/mn10300/mn10300-common.cc: ...here.
11942         * common/config/msp430/msp430-common.c: Moved to...
11943         * common/config/msp430/msp430-common.cc: ...here.
11944         * common/config/nds32/nds32-common.c: Moved to...
11945         * common/config/nds32/nds32-common.cc: ...here.
11946         * common/config/nios2/nios2-common.c: Moved to...
11947         * common/config/nios2/nios2-common.cc: ...here.
11948         * common/config/nvptx/nvptx-common.c: Moved to...
11949         * common/config/nvptx/nvptx-common.cc: ...here.
11950         * common/config/or1k/or1k-common.c: Moved to...
11951         * common/config/or1k/or1k-common.cc: ...here.
11952         * common/config/pa/pa-common.c: Moved to...
11953         * common/config/pa/pa-common.cc: ...here.
11954         * common/config/pdp11/pdp11-common.c: Moved to...
11955         * common/config/pdp11/pdp11-common.cc: ...here.
11956         * common/config/pru/pru-common.c: Moved to...
11957         * common/config/pru/pru-common.cc: ...here.
11958         * common/config/riscv/riscv-common.c: Moved to...
11959         * common/config/riscv/riscv-common.cc: ...here.
11960         * common/config/rs6000/rs6000-common.c: Moved to...
11961         * common/config/rs6000/rs6000-common.cc: ...here.
11962         * common/config/rx/rx-common.c: Moved to...
11963         * common/config/rx/rx-common.cc: ...here.
11964         * common/config/s390/s390-common.c: Moved to...
11965         * common/config/s390/s390-common.cc: ...here.
11966         * common/config/sh/sh-common.c: Moved to...
11967         * common/config/sh/sh-common.cc: ...here.
11968         * common/config/sparc/sparc-common.c: Moved to...
11969         * common/config/sparc/sparc-common.cc: ...here.
11970         * common/config/tilegx/tilegx-common.c: Moved to...
11971         * common/config/tilegx/tilegx-common.cc: ...here.
11972         * common/config/tilepro/tilepro-common.c: Moved to...
11973         * common/config/tilepro/tilepro-common.cc: ...here.
11974         * common/config/v850/v850-common.c: Moved to...
11975         * common/config/v850/v850-common.cc: ...here.
11976         * common/config/vax/vax-common.c: Moved to...
11977         * common/config/vax/vax-common.cc: ...here.
11978         * common/config/visium/visium-common.c: Moved to...
11979         * common/config/visium/visium-common.cc: ...here.
11980         * common/config/xstormy16/xstormy16-common.c: Moved to...
11981         * common/config/xstormy16/xstormy16-common.cc: ...here.
11982         * common/config/xtensa/xtensa-common.c: Moved to...
11983         * common/config/xtensa/xtensa-common.cc: ...here.
11984         * compare-elim.c: Moved to...
11985         * compare-elim.cc: ...here.
11986         * config/aarch64/aarch64-bti-insert.c: Moved to...
11987         * config/aarch64/aarch64-bti-insert.cc: ...here.
11988         * config/aarch64/aarch64-builtins.c: Moved to...
11989         * config/aarch64/aarch64-builtins.cc: ...here.
11990         * config/aarch64/aarch64-c.c: Moved to...
11991         * config/aarch64/aarch64-c.cc: ...here.
11992         * config/aarch64/aarch64-d.c: Moved to...
11993         * config/aarch64/aarch64-d.cc: ...here.
11994         * config/aarch64/aarch64.c: Moved to...
11995         * config/aarch64/aarch64.cc: ...here.
11996         * config/aarch64/cortex-a57-fma-steering.c: Moved to...
11997         * config/aarch64/cortex-a57-fma-steering.cc: ...here.
11998         * config/aarch64/driver-aarch64.c: Moved to...
11999         * config/aarch64/driver-aarch64.cc: ...here.
12000         * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
12001         * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
12002         * config/aarch64/host-aarch64-darwin.c: Moved to...
12003         * config/aarch64/host-aarch64-darwin.cc: ...here.
12004         * config/alpha/alpha.c: Moved to...
12005         * config/alpha/alpha.cc: ...here.
12006         * config/alpha/driver-alpha.c: Moved to...
12007         * config/alpha/driver-alpha.cc: ...here.
12008         * config/arc/arc-c.c: Moved to...
12009         * config/arc/arc-c.cc: ...here.
12010         * config/arc/arc.c: Moved to...
12011         * config/arc/arc.cc: ...here.
12012         * config/arc/driver-arc.c: Moved to...
12013         * config/arc/driver-arc.cc: ...here.
12014         * config/arm/aarch-common.c: Moved to...
12015         * config/arm/aarch-common.cc: ...here.
12016         * config/arm/arm-builtins.c: Moved to...
12017         * config/arm/arm-builtins.cc: ...here.
12018         * config/arm/arm-c.c: Moved to...
12019         * config/arm/arm-c.cc: ...here.
12020         * config/arm/arm-d.c: Moved to...
12021         * config/arm/arm-d.cc: ...here.
12022         * config/arm/arm.c: Moved to...
12023         * config/arm/arm.cc: ...here.
12024         * config/arm/driver-arm.c: Moved to...
12025         * config/arm/driver-arm.cc: ...here.
12026         * config/avr/avr-c.c: Moved to...
12027         * config/avr/avr-c.cc: ...here.
12028         * config/avr/avr-devices.c: Moved to...
12029         * config/avr/avr-devices.cc: ...here.
12030         * config/avr/avr-log.c: Moved to...
12031         * config/avr/avr-log.cc: ...here.
12032         * config/avr/avr.c: Moved to...
12033         * config/avr/avr.cc: ...here.
12034         * config/avr/driver-avr.c: Moved to...
12035         * config/avr/driver-avr.cc: ...here.
12036         * config/avr/gen-avr-mmcu-specs.c: Moved to...
12037         * config/avr/gen-avr-mmcu-specs.cc: ...here.
12038         * config/avr/gen-avr-mmcu-texi.c: Moved to...
12039         * config/avr/gen-avr-mmcu-texi.cc: ...here.
12040         * config/bfin/bfin.c: Moved to...
12041         * config/bfin/bfin.cc: ...here.
12042         * config/bpf/bpf.c: Moved to...
12043         * config/bpf/bpf.cc: ...here.
12044         * config/bpf/coreout.c: Moved to...
12045         * config/bpf/coreout.cc: ...here.
12046         * config/c6x/c6x.c: Moved to...
12047         * config/c6x/c6x.cc: ...here.
12048         * config/cr16/cr16.c: Moved to...
12049         * config/cr16/cr16.cc: ...here.
12050         * config/cris/cris.c: Moved to...
12051         * config/cris/cris.cc: ...here.
12052         * config/csky/csky.c: Moved to...
12053         * config/csky/csky.cc: ...here.
12054         * config/darwin-c.c: Moved to...
12055         * config/darwin-c.cc: ...here.
12056         * config/darwin-d.c: Moved to...
12057         * config/darwin-d.cc: ...here.
12058         * config/darwin-driver.c: Moved to...
12059         * config/darwin-driver.cc: ...here.
12060         * config/darwin-f.c: Moved to...
12061         * config/darwin-f.cc: ...here.
12062         * config/darwin.c: Moved to...
12063         * config/darwin.cc: ...here.
12064         * config/default-c.c: Moved to...
12065         * config/default-c.cc: ...here.
12066         * config/default-d.c: Moved to...
12067         * config/default-d.cc: ...here.
12068         * config/dragonfly-d.c: Moved to...
12069         * config/dragonfly-d.cc: ...here.
12070         * config/epiphany/epiphany.c: Moved to...
12071         * config/epiphany/epiphany.cc: ...here.
12072         * config/epiphany/mode-switch-use.c: Moved to...
12073         * config/epiphany/mode-switch-use.cc: ...here.
12074         * config/epiphany/resolve-sw-modes.c: Moved to...
12075         * config/epiphany/resolve-sw-modes.cc: ...here.
12076         * config/fr30/fr30.c: Moved to...
12077         * config/fr30/fr30.cc: ...here.
12078         * config/freebsd-d.c: Moved to...
12079         * config/freebsd-d.cc: ...here.
12080         * config/frv/frv.c: Moved to...
12081         * config/frv/frv.cc: ...here.
12082         * config/ft32/ft32.c: Moved to...
12083         * config/ft32/ft32.cc: ...here.
12084         * config/gcn/driver-gcn.c: Moved to...
12085         * config/gcn/driver-gcn.cc: ...here.
12086         * config/gcn/gcn-run.c: Moved to...
12087         * config/gcn/gcn-run.cc: ...here.
12088         * config/gcn/gcn-tree.c: Moved to...
12089         * config/gcn/gcn-tree.cc: ...here.
12090         * config/gcn/gcn.c: Moved to...
12091         * config/gcn/gcn.cc: ...here.
12092         * config/gcn/mkoffload.c: Moved to...
12093         * config/gcn/mkoffload.cc: ...here.
12094         * config/glibc-c.c: Moved to...
12095         * config/glibc-c.cc: ...here.
12096         * config/glibc-d.c: Moved to...
12097         * config/glibc-d.cc: ...here.
12098         * config/h8300/h8300.c: Moved to...
12099         * config/h8300/h8300.cc: ...here.
12100         * config/host-darwin.c: Moved to...
12101         * config/host-darwin.cc: ...here.
12102         * config/host-hpux.c: Moved to...
12103         * config/host-hpux.cc: ...here.
12104         * config/host-linux.c: Moved to...
12105         * config/host-linux.cc: ...here.
12106         * config/host-netbsd.c: Moved to...
12107         * config/host-netbsd.cc: ...here.
12108         * config/host-openbsd.c: Moved to...
12109         * config/host-openbsd.cc: ...here.
12110         * config/host-solaris.c: Moved to...
12111         * config/host-solaris.cc: ...here.
12112         * config/i386/djgpp.c: Moved to...
12113         * config/i386/djgpp.cc: ...here.
12114         * config/i386/driver-i386.c: Moved to...
12115         * config/i386/driver-i386.cc: ...here.
12116         * config/i386/driver-mingw32.c: Moved to...
12117         * config/i386/driver-mingw32.cc: ...here.
12118         * config/i386/gnu-property.c: Moved to...
12119         * config/i386/gnu-property.cc: ...here.
12120         * config/i386/host-cygwin.c: Moved to...
12121         * config/i386/host-cygwin.cc: ...here.
12122         * config/i386/host-i386-darwin.c: Moved to...
12123         * config/i386/host-i386-darwin.cc: ...here.
12124         * config/i386/host-mingw32.c: Moved to...
12125         * config/i386/host-mingw32.cc: ...here.
12126         * config/i386/i386-builtins.c: Moved to...
12127         * config/i386/i386-builtins.cc: ...here.
12128         * config/i386/i386-c.c: Moved to...
12129         * config/i386/i386-c.cc: ...here.
12130         * config/i386/i386-d.c: Moved to...
12131         * config/i386/i386-d.cc: ...here.
12132         * config/i386/i386-expand.c: Moved to...
12133         * config/i386/i386-expand.cc: ...here.
12134         * config/i386/i386-features.c: Moved to...
12135         * config/i386/i386-features.cc: ...here.
12136         * config/i386/i386-options.c: Moved to...
12137         * config/i386/i386-options.cc: ...here.
12138         * config/i386/i386.c: Moved to...
12139         * config/i386/i386.cc: ...here.
12140         * config/i386/intelmic-mkoffload.c: Moved to...
12141         * config/i386/intelmic-mkoffload.cc: ...here.
12142         * config/i386/msformat-c.c: Moved to...
12143         * config/i386/msformat-c.cc: ...here.
12144         * config/i386/winnt-cxx.c: Moved to...
12145         * config/i386/winnt-cxx.cc: ...here.
12146         * config/i386/winnt-d.c: Moved to...
12147         * config/i386/winnt-d.cc: ...here.
12148         * config/i386/winnt-stubs.c: Moved to...
12149         * config/i386/winnt-stubs.cc: ...here.
12150         * config/i386/winnt.c: Moved to...
12151         * config/i386/winnt.cc: ...here.
12152         * config/i386/x86-tune-sched-atom.c: Moved to...
12153         * config/i386/x86-tune-sched-atom.cc: ...here.
12154         * config/i386/x86-tune-sched-bd.c: Moved to...
12155         * config/i386/x86-tune-sched-bd.cc: ...here.
12156         * config/i386/x86-tune-sched-core.c: Moved to...
12157         * config/i386/x86-tune-sched-core.cc: ...here.
12158         * config/i386/x86-tune-sched.c: Moved to...
12159         * config/i386/x86-tune-sched.cc: ...here.
12160         * config/ia64/ia64-c.c: Moved to...
12161         * config/ia64/ia64-c.cc: ...here.
12162         * config/ia64/ia64.c: Moved to...
12163         * config/ia64/ia64.cc: ...here.
12164         * config/iq2000/iq2000.c: Moved to...
12165         * config/iq2000/iq2000.cc: ...here.
12166         * config/linux.c: Moved to...
12167         * config/linux.cc: ...here.
12168         * config/lm32/lm32.c: Moved to...
12169         * config/lm32/lm32.cc: ...here.
12170         * config/m32c/m32c-pragma.c: Moved to...
12171         * config/m32c/m32c-pragma.cc: ...here.
12172         * config/m32c/m32c.c: Moved to...
12173         * config/m32c/m32c.cc: ...here.
12174         * config/m32r/m32r.c: Moved to...
12175         * config/m32r/m32r.cc: ...here.
12176         * config/m68k/m68k.c: Moved to...
12177         * config/m68k/m68k.cc: ...here.
12178         * config/mcore/mcore.c: Moved to...
12179         * config/mcore/mcore.cc: ...here.
12180         * config/microblaze/microblaze-c.c: Moved to...
12181         * config/microblaze/microblaze-c.cc: ...here.
12182         * config/microblaze/microblaze.c: Moved to...
12183         * config/microblaze/microblaze.cc: ...here.
12184         * config/mips/driver-native.c: Moved to...
12185         * config/mips/driver-native.cc: ...here.
12186         * config/mips/frame-header-opt.c: Moved to...
12187         * config/mips/frame-header-opt.cc: ...here.
12188         * config/mips/mips-d.c: Moved to...
12189         * config/mips/mips-d.cc: ...here.
12190         * config/mips/mips.c: Moved to...
12191         * config/mips/mips.cc: ...here.
12192         * config/mmix/mmix.c: Moved to...
12193         * config/mmix/mmix.cc: ...here.
12194         * config/mn10300/mn10300.c: Moved to...
12195         * config/mn10300/mn10300.cc: ...here.
12196         * config/moxie/moxie.c: Moved to...
12197         * config/moxie/moxie.cc: ...here.
12198         * config/msp430/driver-msp430.c: Moved to...
12199         * config/msp430/driver-msp430.cc: ...here.
12200         * config/msp430/msp430-c.c: Moved to...
12201         * config/msp430/msp430-c.cc: ...here.
12202         * config/msp430/msp430-devices.c: Moved to...
12203         * config/msp430/msp430-devices.cc: ...here.
12204         * config/msp430/msp430.c: Moved to...
12205         * config/msp430/msp430.cc: ...here.
12206         * config/nds32/nds32-cost.c: Moved to...
12207         * config/nds32/nds32-cost.cc: ...here.
12208         * config/nds32/nds32-fp-as-gp.c: Moved to...
12209         * config/nds32/nds32-fp-as-gp.cc: ...here.
12210         * config/nds32/nds32-intrinsic.c: Moved to...
12211         * config/nds32/nds32-intrinsic.cc: ...here.
12212         * config/nds32/nds32-isr.c: Moved to...
12213         * config/nds32/nds32-isr.cc: ...here.
12214         * config/nds32/nds32-md-auxiliary.c: Moved to...
12215         * config/nds32/nds32-md-auxiliary.cc: ...here.
12216         * config/nds32/nds32-memory-manipulation.c: Moved to...
12217         * config/nds32/nds32-memory-manipulation.cc: ...here.
12218         * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
12219         * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
12220         * config/nds32/nds32-predicates.c: Moved to...
12221         * config/nds32/nds32-predicates.cc: ...here.
12222         * config/nds32/nds32-relax-opt.c: Moved to...
12223         * config/nds32/nds32-relax-opt.cc: ...here.
12224         * config/nds32/nds32-utils.c: Moved to...
12225         * config/nds32/nds32-utils.cc: ...here.
12226         * config/nds32/nds32.c: Moved to...
12227         * config/nds32/nds32.cc: ...here.
12228         * config/netbsd-d.c: Moved to...
12229         * config/netbsd-d.cc: ...here.
12230         * config/netbsd.c: Moved to...
12231         * config/netbsd.cc: ...here.
12232         * config/nios2/nios2.c: Moved to...
12233         * config/nios2/nios2.cc: ...here.
12234         * config/nvptx/mkoffload.c: Moved to...
12235         * config/nvptx/mkoffload.cc: ...here.
12236         * config/nvptx/nvptx-c.c: Moved to...
12237         * config/nvptx/nvptx-c.cc: ...here.
12238         * config/nvptx/nvptx.c: Moved to...
12239         * config/nvptx/nvptx.cc: ...here.
12240         * config/openbsd-d.c: Moved to...
12241         * config/openbsd-d.cc: ...here.
12242         * config/or1k/or1k.c: Moved to...
12243         * config/or1k/or1k.cc: ...here.
12244         * config/pa/pa-d.c: Moved to...
12245         * config/pa/pa-d.cc: ...here.
12246         * config/pa/pa.c: Moved to...
12247         * config/pa/pa.cc: ...here.
12248         * config/pdp11/pdp11.c: Moved to...
12249         * config/pdp11/pdp11.cc: ...here.
12250         * config/pru/pru-passes.c: Moved to...
12251         * config/pru/pru-passes.cc: ...here.
12252         * config/pru/pru-pragma.c: Moved to...
12253         * config/pru/pru-pragma.cc: ...here.
12254         * config/pru/pru.c: Moved to...
12255         * config/pru/pru.cc: ...here.
12256         * config/riscv/riscv-builtins.c: Moved to...
12257         * config/riscv/riscv-builtins.cc: ...here.
12258         * config/riscv/riscv-c.c: Moved to...
12259         * config/riscv/riscv-c.cc: ...here.
12260         * config/riscv/riscv-d.c: Moved to...
12261         * config/riscv/riscv-d.cc: ...here.
12262         * config/riscv/riscv-shorten-memrefs.c: Moved to...
12263         * config/riscv/riscv-shorten-memrefs.cc: ...here.
12264         * config/riscv/riscv-sr.c: Moved to...
12265         * config/riscv/riscv-sr.cc: ...here.
12266         * config/riscv/riscv.c: Moved to...
12267         * config/riscv/riscv.cc: ...here.
12268         * config/rl78/rl78-c.c: Moved to...
12269         * config/rl78/rl78-c.cc: ...here.
12270         * config/rl78/rl78.c: Moved to...
12271         * config/rl78/rl78.cc: ...here.
12272         * config/rs6000/driver-rs6000.c: Moved to...
12273         * config/rs6000/driver-rs6000.cc: ...here.
12274         * config/rs6000/host-darwin.c: Moved to...
12275         * config/rs6000/host-darwin.cc: ...here.
12276         * config/rs6000/host-ppc64-darwin.c: Moved to...
12277         * config/rs6000/host-ppc64-darwin.cc: ...here.
12278         * config/rs6000/rbtree.c: Moved to...
12279         * config/rs6000/rbtree.cc: ...here.
12280         * config/rs6000/rs6000-c.c: Moved to...
12281         * config/rs6000/rs6000-c.cc: ...here.
12282         * config/rs6000/rs6000-call.c: Moved to...
12283         * config/rs6000/rs6000-call.cc: ...here.
12284         * config/rs6000/rs6000-d.c: Moved to...
12285         * config/rs6000/rs6000-d.cc: ...here.
12286         * config/rs6000/rs6000-gen-builtins.c: Moved to...
12287         * config/rs6000/rs6000-gen-builtins.cc: ...here.
12288         * config/rs6000/rs6000-linux.c: Moved to...
12289         * config/rs6000/rs6000-linux.cc: ...here.
12290         * config/rs6000/rs6000-logue.c: Moved to...
12291         * config/rs6000/rs6000-logue.cc: ...here.
12292         * config/rs6000/rs6000-p8swap.c: Moved to...
12293         * config/rs6000/rs6000-p8swap.cc: ...here.
12294         * config/rs6000/rs6000-pcrel-opt.c: Moved to...
12295         * config/rs6000/rs6000-pcrel-opt.cc: ...here.
12296         * config/rs6000/rs6000-string.c: Moved to...
12297         * config/rs6000/rs6000-string.cc: ...here.
12298         * config/rs6000/rs6000.c: Moved to...
12299         * config/rs6000/rs6000.cc: ...here.
12300         * config/rx/rx.c: Moved to...
12301         * config/rx/rx.cc: ...here.
12302         * config/s390/driver-native.c: Moved to...
12303         * config/s390/driver-native.cc: ...here.
12304         * config/s390/s390-c.c: Moved to...
12305         * config/s390/s390-c.cc: ...here.
12306         * config/s390/s390-d.c: Moved to...
12307         * config/s390/s390-d.cc: ...here.
12308         * config/s390/s390.c: Moved to...
12309         * config/s390/s390.cc: ...here.
12310         * config/sh/divtab-sh4-300.c: Moved to...
12311         * config/sh/divtab-sh4-300.cc: ...here.
12312         * config/sh/divtab-sh4.c: Moved to...
12313         * config/sh/divtab-sh4.cc: ...here.
12314         * config/sh/divtab.c: Moved to...
12315         * config/sh/divtab.cc: ...here.
12316         * config/sh/sh-c.c: Moved to...
12317         * config/sh/sh-c.cc: ...here.
12318         * config/sh/sh.c: Moved to...
12319         * config/sh/sh.cc: ...here.
12320         * config/sol2-c.c: Moved to...
12321         * config/sol2-c.cc: ...here.
12322         * config/sol2-cxx.c: Moved to...
12323         * config/sol2-cxx.cc: ...here.
12324         * config/sol2-d.c: Moved to...
12325         * config/sol2-d.cc: ...here.
12326         * config/sol2-stubs.c: Moved to...
12327         * config/sol2-stubs.cc: ...here.
12328         * config/sol2.c: Moved to...
12329         * config/sol2.cc: ...here.
12330         * config/sparc/driver-sparc.c: Moved to...
12331         * config/sparc/driver-sparc.cc: ...here.
12332         * config/sparc/sparc-c.c: Moved to...
12333         * config/sparc/sparc-c.cc: ...here.
12334         * config/sparc/sparc-d.c: Moved to...
12335         * config/sparc/sparc-d.cc: ...here.
12336         * config/sparc/sparc.c: Moved to...
12337         * config/sparc/sparc.cc: ...here.
12338         * config/stormy16/stormy16.c: Moved to...
12339         * config/stormy16/stormy16.cc: ...here.
12340         * config/tilegx/mul-tables.c: Moved to...
12341         * config/tilegx/mul-tables.cc: ...here.
12342         * config/tilegx/tilegx-c.c: Moved to...
12343         * config/tilegx/tilegx-c.cc: ...here.
12344         * config/tilegx/tilegx.c: Moved to...
12345         * config/tilegx/tilegx.cc: ...here.
12346         * config/tilepro/mul-tables.c: Moved to...
12347         * config/tilepro/mul-tables.cc: ...here.
12348         * config/tilepro/tilepro-c.c: Moved to...
12349         * config/tilepro/tilepro-c.cc: ...here.
12350         * config/tilepro/tilepro.c: Moved to...
12351         * config/tilepro/tilepro.cc: ...here.
12352         * config/v850/v850-c.c: Moved to...
12353         * config/v850/v850-c.cc: ...here.
12354         * config/v850/v850.c: Moved to...
12355         * config/v850/v850.cc: ...here.
12356         * config/vax/vax.c: Moved to...
12357         * config/vax/vax.cc: ...here.
12358         * config/visium/visium.c: Moved to...
12359         * config/visium/visium.cc: ...here.
12360         * config/vms/vms-c.c: Moved to...
12361         * config/vms/vms-c.cc: ...here.
12362         * config/vms/vms-f.c: Moved to...
12363         * config/vms/vms-f.cc: ...here.
12364         * config/vms/vms.c: Moved to...
12365         * config/vms/vms.cc: ...here.
12366         * config/vxworks-c.c: Moved to...
12367         * config/vxworks-c.cc: ...here.
12368         * config/vxworks.c: Moved to...
12369         * config/vxworks.cc: ...here.
12370         * config/winnt-c.c: Moved to...
12371         * config/winnt-c.cc: ...here.
12372         * config/xtensa/xtensa.c: Moved to...
12373         * config/xtensa/xtensa.cc: ...here.
12374         * context.c: Moved to...
12375         * context.cc: ...here.
12376         * convert.c: Moved to...
12377         * convert.cc: ...here.
12378         * coverage.c: Moved to...
12379         * coverage.cc: ...here.
12380         * cppbuiltin.c: Moved to...
12381         * cppbuiltin.cc: ...here.
12382         * cppdefault.c: Moved to...
12383         * cppdefault.cc: ...here.
12384         * cprop.c: Moved to...
12385         * cprop.cc: ...here.
12386         * cse.c: Moved to...
12387         * cse.cc: ...here.
12388         * cselib.c: Moved to...
12389         * cselib.cc: ...here.
12390         * ctfc.c: Moved to...
12391         * ctfc.cc: ...here.
12392         * ctfout.c: Moved to...
12393         * ctfout.cc: ...here.
12394         * data-streamer-in.c: Moved to...
12395         * data-streamer-in.cc: ...here.
12396         * data-streamer-out.c: Moved to...
12397         * data-streamer-out.cc: ...here.
12398         * data-streamer.c: Moved to...
12399         * data-streamer.cc: ...here.
12400         * dbgcnt.c: Moved to...
12401         * dbgcnt.cc: ...here.
12402         * dbxout.c: Moved to...
12403         * dbxout.cc: ...here.
12404         * dce.c: Moved to...
12405         * dce.cc: ...here.
12406         * ddg.c: Moved to...
12407         * ddg.cc: ...here.
12408         * debug.c: Moved to...
12409         * debug.cc: ...here.
12410         * df-core.c: Moved to...
12411         * df-core.cc: ...here.
12412         * df-problems.c: Moved to...
12413         * df-problems.cc: ...here.
12414         * df-scan.c: Moved to...
12415         * df-scan.cc: ...here.
12416         * dfp.c: Moved to...
12417         * dfp.cc: ...here.
12418         * diagnostic-color.c: Moved to...
12419         * diagnostic-color.cc: ...here.
12420         * diagnostic-show-locus.c: Moved to...
12421         * diagnostic-show-locus.cc: ...here.
12422         * diagnostic-spec.c: Moved to...
12423         * diagnostic-spec.cc: ...here.
12424         * diagnostic.c: Moved to...
12425         * diagnostic.cc: ...here.
12426         * dojump.c: Moved to...
12427         * dojump.cc: ...here.
12428         * dominance.c: Moved to...
12429         * dominance.cc: ...here.
12430         * domwalk.c: Moved to...
12431         * domwalk.cc: ...here.
12432         * double-int.c: Moved to...
12433         * double-int.cc: ...here.
12434         * dse.c: Moved to...
12435         * dse.cc: ...here.
12436         * dumpfile.c: Moved to...
12437         * dumpfile.cc: ...here.
12438         * dwarf2asm.c: Moved to...
12439         * dwarf2asm.cc: ...here.
12440         * dwarf2cfi.c: Moved to...
12441         * dwarf2cfi.cc: ...here.
12442         * dwarf2ctf.c: Moved to...
12443         * dwarf2ctf.cc: ...here.
12444         * dwarf2out.c: Moved to...
12445         * dwarf2out.cc: ...here.
12446         * early-remat.c: Moved to...
12447         * early-remat.cc: ...here.
12448         * edit-context.c: Moved to...
12449         * edit-context.cc: ...here.
12450         * emit-rtl.c: Moved to...
12451         * emit-rtl.cc: ...here.
12452         * errors.c: Moved to...
12453         * errors.cc: ...here.
12454         * et-forest.c: Moved to...
12455         * et-forest.cc: ...here.
12456         * except.c: Moved to...
12457         * except.cc: ...here.
12458         * explow.c: Moved to...
12459         * explow.cc: ...here.
12460         * expmed.c: Moved to...
12461         * expmed.cc: ...here.
12462         * expr.c: Moved to...
12463         * expr.cc: ...here.
12464         * fibonacci_heap.c: Moved to...
12465         * fibonacci_heap.cc: ...here.
12466         * file-find.c: Moved to...
12467         * file-find.cc: ...here.
12468         * file-prefix-map.c: Moved to...
12469         * file-prefix-map.cc: ...here.
12470         * final.c: Moved to...
12471         * final.cc: ...here.
12472         * fixed-value.c: Moved to...
12473         * fixed-value.cc: ...here.
12474         * fold-const-call.c: Moved to...
12475         * fold-const-call.cc: ...here.
12476         * fold-const.c: Moved to...
12477         * fold-const.cc: ...here.
12478         * fp-test.c: Moved to...
12479         * fp-test.cc: ...here.
12480         * function-tests.c: Moved to...
12481         * function-tests.cc: ...here.
12482         * function.c: Moved to...
12483         * function.cc: ...here.
12484         * fwprop.c: Moved to...
12485         * fwprop.cc: ...here.
12486         * gcc-ar.c: Moved to...
12487         * gcc-ar.cc: ...here.
12488         * gcc-main.c: Moved to...
12489         * gcc-main.cc: ...here.
12490         * gcc-rich-location.c: Moved to...
12491         * gcc-rich-location.cc: ...here.
12492         * gcc.c: Moved to...
12493         * gcc.cc: ...here.
12494         * gcov-dump.c: Moved to...
12495         * gcov-dump.cc: ...here.
12496         * gcov-io.c: Moved to...
12497         * gcov-io.cc: ...here.
12498         * gcov-tool.c: Moved to...
12499         * gcov-tool.cc: ...here.
12500         * gcov.c: Moved to...
12501         * gcov.cc: ...here.
12502         * gcse-common.c: Moved to...
12503         * gcse-common.cc: ...here.
12504         * gcse.c: Moved to...
12505         * gcse.cc: ...here.
12506         * genattr-common.c: Moved to...
12507         * genattr-common.cc: ...here.
12508         * genattr.c: Moved to...
12509         * genattr.cc: ...here.
12510         * genattrtab.c: Moved to...
12511         * genattrtab.cc: ...here.
12512         * genautomata.c: Moved to...
12513         * genautomata.cc: ...here.
12514         * gencfn-macros.c: Moved to...
12515         * gencfn-macros.cc: ...here.
12516         * gencheck.c: Moved to...
12517         * gencheck.cc: ...here.
12518         * genchecksum.c: Moved to...
12519         * genchecksum.cc: ...here.
12520         * gencodes.c: Moved to...
12521         * gencodes.cc: ...here.
12522         * genconditions.c: Moved to...
12523         * genconditions.cc: ...here.
12524         * genconfig.c: Moved to...
12525         * genconfig.cc: ...here.
12526         * genconstants.c: Moved to...
12527         * genconstants.cc: ...here.
12528         * genemit.c: Moved to...
12529         * genemit.cc: ...here.
12530         * genenums.c: Moved to...
12531         * genenums.cc: ...here.
12532         * generic-match-head.c: Moved to...
12533         * generic-match-head.cc: ...here.
12534         * genextract.c: Moved to...
12535         * genextract.cc: ...here.
12536         * genflags.c: Moved to...
12537         * genflags.cc: ...here.
12538         * gengenrtl.c: Moved to...
12539         * gengenrtl.cc: ...here.
12540         * gengtype-parse.c: Moved to...
12541         * gengtype-parse.cc: ...here.
12542         * gengtype-state.c: Moved to...
12543         * gengtype-state.cc: ...here.
12544         * gengtype.c: Moved to...
12545         * gengtype.cc: ...here.
12546         * genhooks.c: Moved to...
12547         * genhooks.cc: ...here.
12548         * genmatch.c: Moved to...
12549         * genmatch.cc: ...here.
12550         * genmddeps.c: Moved to...
12551         * genmddeps.cc: ...here.
12552         * genmddump.c: Moved to...
12553         * genmddump.cc: ...here.
12554         * genmodes.c: Moved to...
12555         * genmodes.cc: ...here.
12556         * genopinit.c: Moved to...
12557         * genopinit.cc: ...here.
12558         * genoutput.c: Moved to...
12559         * genoutput.cc: ...here.
12560         * genpeep.c: Moved to...
12561         * genpeep.cc: ...here.
12562         * genpreds.c: Moved to...
12563         * genpreds.cc: ...here.
12564         * genrecog.c: Moved to...
12565         * genrecog.cc: ...here.
12566         * gensupport.c: Moved to...
12567         * gensupport.cc: ...here.
12568         * gentarget-def.c: Moved to...
12569         * gentarget-def.cc: ...here.
12570         * genversion.c: Moved to...
12571         * genversion.cc: ...here.
12572         * ggc-common.c: Moved to...
12573         * ggc-common.cc: ...here.
12574         * ggc-none.c: Moved to...
12575         * ggc-none.cc: ...here.
12576         * ggc-page.c: Moved to...
12577         * ggc-page.cc: ...here.
12578         * ggc-tests.c: Moved to...
12579         * ggc-tests.cc: ...here.
12580         * gimple-builder.c: Moved to...
12581         * gimple-builder.cc: ...here.
12582         * gimple-expr.c: Moved to...
12583         * gimple-expr.cc: ...here.
12584         * gimple-fold.c: Moved to...
12585         * gimple-fold.cc: ...here.
12586         * gimple-iterator.c: Moved to...
12587         * gimple-iterator.cc: ...here.
12588         * gimple-laddress.c: Moved to...
12589         * gimple-laddress.cc: ...here.
12590         * gimple-loop-jam.c: Moved to...
12591         * gimple-loop-jam.cc: ...here.
12592         * gimple-low.c: Moved to...
12593         * gimple-low.cc: ...here.
12594         * gimple-match-head.c: Moved to...
12595         * gimple-match-head.cc: ...here.
12596         * gimple-pretty-print.c: Moved to...
12597         * gimple-pretty-print.cc: ...here.
12598         * gimple-ssa-backprop.c: Moved to...
12599         * gimple-ssa-backprop.cc: ...here.
12600         * gimple-ssa-evrp-analyze.c: Moved to...
12601         * gimple-ssa-evrp-analyze.cc: ...here.
12602         * gimple-ssa-evrp.c: Moved to...
12603         * gimple-ssa-evrp.cc: ...here.
12604         * gimple-ssa-isolate-paths.c: Moved to...
12605         * gimple-ssa-isolate-paths.cc: ...here.
12606         * gimple-ssa-nonnull-compare.c: Moved to...
12607         * gimple-ssa-nonnull-compare.cc: ...here.
12608         * gimple-ssa-split-paths.c: Moved to...
12609         * gimple-ssa-split-paths.cc: ...here.
12610         * gimple-ssa-sprintf.c: Moved to...
12611         * gimple-ssa-sprintf.cc: ...here.
12612         * gimple-ssa-store-merging.c: Moved to...
12613         * gimple-ssa-store-merging.cc: ...here.
12614         * gimple-ssa-strength-reduction.c: Moved to...
12615         * gimple-ssa-strength-reduction.cc: ...here.
12616         * gimple-ssa-warn-alloca.c: Moved to...
12617         * gimple-ssa-warn-alloca.cc: ...here.
12618         * gimple-ssa-warn-restrict.c: Moved to...
12619         * gimple-ssa-warn-restrict.cc: ...here.
12620         * gimple-streamer-in.c: Moved to...
12621         * gimple-streamer-in.cc: ...here.
12622         * gimple-streamer-out.c: Moved to...
12623         * gimple-streamer-out.cc: ...here.
12624         * gimple-walk.c: Moved to...
12625         * gimple-walk.cc: ...here.
12626         * gimple-warn-recursion.c: Moved to...
12627         * gimple-warn-recursion.cc: ...here.
12628         * gimple.c: Moved to...
12629         * gimple.cc: ...here.
12630         * gimplify-me.c: Moved to...
12631         * gimplify-me.cc: ...here.
12632         * gimplify.c: Moved to...
12633         * gimplify.cc: ...here.
12634         * godump.c: Moved to...
12635         * godump.cc: ...here.
12636         * graph.c: Moved to...
12637         * graph.cc: ...here.
12638         * graphds.c: Moved to...
12639         * graphds.cc: ...here.
12640         * graphite-dependences.c: Moved to...
12641         * graphite-dependences.cc: ...here.
12642         * graphite-isl-ast-to-gimple.c: Moved to...
12643         * graphite-isl-ast-to-gimple.cc: ...here.
12644         * graphite-optimize-isl.c: Moved to...
12645         * graphite-optimize-isl.cc: ...here.
12646         * graphite-poly.c: Moved to...
12647         * graphite-poly.cc: ...here.
12648         * graphite-scop-detection.c: Moved to...
12649         * graphite-scop-detection.cc: ...here.
12650         * graphite-sese-to-poly.c: Moved to...
12651         * graphite-sese-to-poly.cc: ...here.
12652         * graphite.c: Moved to...
12653         * graphite.cc: ...here.
12654         * haifa-sched.c: Moved to...
12655         * haifa-sched.cc: ...here.
12656         * hash-map-tests.c: Moved to...
12657         * hash-map-tests.cc: ...here.
12658         * hash-set-tests.c: Moved to...
12659         * hash-set-tests.cc: ...here.
12660         * hash-table.c: Moved to...
12661         * hash-table.cc: ...here.
12662         * hooks.c: Moved to...
12663         * hooks.cc: ...here.
12664         * host-default.c: Moved to...
12665         * host-default.cc: ...here.
12666         * hw-doloop.c: Moved to...
12667         * hw-doloop.cc: ...here.
12668         * hwint.c: Moved to...
12669         * hwint.cc: ...here.
12670         * ifcvt.c: Moved to...
12671         * ifcvt.cc: ...here.
12672         * inchash.c: Moved to...
12673         * inchash.cc: ...here.
12674         * incpath.c: Moved to...
12675         * incpath.cc: ...here.
12676         * init-regs.c: Moved to...
12677         * init-regs.cc: ...here.
12678         * input.c: Moved to...
12679         * input.cc: ...here.
12680         * internal-fn.c: Moved to...
12681         * internal-fn.cc: ...here.
12682         * intl.c: Moved to...
12683         * intl.cc: ...here.
12684         * ipa-comdats.c: Moved to...
12685         * ipa-comdats.cc: ...here.
12686         * ipa-cp.c: Moved to...
12687         * ipa-cp.cc: ...here.
12688         * ipa-devirt.c: Moved to...
12689         * ipa-devirt.cc: ...here.
12690         * ipa-fnsummary.c: Moved to...
12691         * ipa-fnsummary.cc: ...here.
12692         * ipa-icf-gimple.c: Moved to...
12693         * ipa-icf-gimple.cc: ...here.
12694         * ipa-icf.c: Moved to...
12695         * ipa-icf.cc: ...here.
12696         * ipa-inline-analysis.c: Moved to...
12697         * ipa-inline-analysis.cc: ...here.
12698         * ipa-inline-transform.c: Moved to...
12699         * ipa-inline-transform.cc: ...here.
12700         * ipa-inline.c: Moved to...
12701         * ipa-inline.cc: ...here.
12702         * ipa-modref-tree.c: Moved to...
12703         * ipa-modref-tree.cc: ...here.
12704         * ipa-modref.c: Moved to...
12705         * ipa-modref.cc: ...here.
12706         * ipa-param-manipulation.c: Moved to...
12707         * ipa-param-manipulation.cc: ...here.
12708         * ipa-polymorphic-call.c: Moved to...
12709         * ipa-polymorphic-call.cc: ...here.
12710         * ipa-predicate.c: Moved to...
12711         * ipa-predicate.cc: ...here.
12712         * ipa-profile.c: Moved to...
12713         * ipa-profile.cc: ...here.
12714         * ipa-prop.c: Moved to...
12715         * ipa-prop.cc: ...here.
12716         * ipa-pure-const.c: Moved to...
12717         * ipa-pure-const.cc: ...here.
12718         * ipa-ref.c: Moved to...
12719         * ipa-ref.cc: ...here.
12720         * ipa-reference.c: Moved to...
12721         * ipa-reference.cc: ...here.
12722         * ipa-split.c: Moved to...
12723         * ipa-split.cc: ...here.
12724         * ipa-sra.c: Moved to...
12725         * ipa-sra.cc: ...here.
12726         * ipa-utils.c: Moved to...
12727         * ipa-utils.cc: ...here.
12728         * ipa-visibility.c: Moved to...
12729         * ipa-visibility.cc: ...here.
12730         * ipa.c: Moved to...
12731         * ipa.cc: ...here.
12732         * ira-build.c: Moved to...
12733         * ira-build.cc: ...here.
12734         * ira-color.c: Moved to...
12735         * ira-color.cc: ...here.
12736         * ira-conflicts.c: Moved to...
12737         * ira-conflicts.cc: ...here.
12738         * ira-costs.c: Moved to...
12739         * ira-costs.cc: ...here.
12740         * ira-emit.c: Moved to...
12741         * ira-emit.cc: ...here.
12742         * ira-lives.c: Moved to...
12743         * ira-lives.cc: ...here.
12744         * ira.c: Moved to...
12745         * ira.cc: ...here.
12746         * jump.c: Moved to...
12747         * jump.cc: ...here.
12748         * langhooks.c: Moved to...
12749         * langhooks.cc: ...here.
12750         * lcm.c: Moved to...
12751         * lcm.cc: ...here.
12752         * lists.c: Moved to...
12753         * lists.cc: ...here.
12754         * loop-doloop.c: Moved to...
12755         * loop-doloop.cc: ...here.
12756         * loop-init.c: Moved to...
12757         * loop-init.cc: ...here.
12758         * loop-invariant.c: Moved to...
12759         * loop-invariant.cc: ...here.
12760         * loop-iv.c: Moved to...
12761         * loop-iv.cc: ...here.
12762         * loop-unroll.c: Moved to...
12763         * loop-unroll.cc: ...here.
12764         * lower-subreg.c: Moved to...
12765         * lower-subreg.cc: ...here.
12766         * lra-assigns.c: Moved to...
12767         * lra-assigns.cc: ...here.
12768         * lra-coalesce.c: Moved to...
12769         * lra-coalesce.cc: ...here.
12770         * lra-constraints.c: Moved to...
12771         * lra-constraints.cc: ...here.
12772         * lra-eliminations.c: Moved to...
12773         * lra-eliminations.cc: ...here.
12774         * lra-lives.c: Moved to...
12775         * lra-lives.cc: ...here.
12776         * lra-remat.c: Moved to...
12777         * lra-remat.cc: ...here.
12778         * lra-spills.c: Moved to...
12779         * lra-spills.cc: ...here.
12780         * lra.c: Moved to...
12781         * lra.cc: ...here.
12782         * lto-cgraph.c: Moved to...
12783         * lto-cgraph.cc: ...here.
12784         * lto-compress.c: Moved to...
12785         * lto-compress.cc: ...here.
12786         * lto-opts.c: Moved to...
12787         * lto-opts.cc: ...here.
12788         * lto-section-in.c: Moved to...
12789         * lto-section-in.cc: ...here.
12790         * lto-section-out.c: Moved to...
12791         * lto-section-out.cc: ...here.
12792         * lto-streamer-in.c: Moved to...
12793         * lto-streamer-in.cc: ...here.
12794         * lto-streamer-out.c: Moved to...
12795         * lto-streamer-out.cc: ...here.
12796         * lto-streamer.c: Moved to...
12797         * lto-streamer.cc: ...here.
12798         * lto-wrapper.c: Moved to...
12799         * lto-wrapper.cc: ...here.
12800         * main.c: Moved to...
12801         * main.cc: ...here.
12802         * mcf.c: Moved to...
12803         * mcf.cc: ...here.
12804         * mode-switching.c: Moved to...
12805         * mode-switching.cc: ...here.
12806         * modulo-sched.c: Moved to...
12807         * modulo-sched.cc: ...here.
12808         * multiple_target.c: Moved to...
12809         * multiple_target.cc: ...here.
12810         * omp-expand.c: Moved to...
12811         * omp-expand.cc: ...here.
12812         * omp-general.c: Moved to...
12813         * omp-general.cc: ...here.
12814         * omp-low.c: Moved to...
12815         * omp-low.cc: ...here.
12816         * omp-offload.c: Moved to...
12817         * omp-offload.cc: ...here.
12818         * omp-simd-clone.c: Moved to...
12819         * omp-simd-clone.cc: ...here.
12820         * opt-suggestions.c: Moved to...
12821         * opt-suggestions.cc: ...here.
12822         * optabs-libfuncs.c: Moved to...
12823         * optabs-libfuncs.cc: ...here.
12824         * optabs-query.c: Moved to...
12825         * optabs-query.cc: ...here.
12826         * optabs-tree.c: Moved to...
12827         * optabs-tree.cc: ...here.
12828         * optabs.c: Moved to...
12829         * optabs.cc: ...here.
12830         * opts-common.c: Moved to...
12831         * opts-common.cc: ...here.
12832         * opts-global.c: Moved to...
12833         * opts-global.cc: ...here.
12834         * opts.c: Moved to...
12835         * opts.cc: ...here.
12836         * passes.c: Moved to...
12837         * passes.cc: ...here.
12838         * plugin.c: Moved to...
12839         * plugin.cc: ...here.
12840         * postreload-gcse.c: Moved to...
12841         * postreload-gcse.cc: ...here.
12842         * postreload.c: Moved to...
12843         * postreload.cc: ...here.
12844         * predict.c: Moved to...
12845         * predict.cc: ...here.
12846         * prefix.c: Moved to...
12847         * prefix.cc: ...here.
12848         * pretty-print.c: Moved to...
12849         * pretty-print.cc: ...here.
12850         * print-rtl-function.c: Moved to...
12851         * print-rtl-function.cc: ...here.
12852         * print-rtl.c: Moved to...
12853         * print-rtl.cc: ...here.
12854         * print-tree.c: Moved to...
12855         * print-tree.cc: ...here.
12856         * profile-count.c: Moved to...
12857         * profile-count.cc: ...here.
12858         * profile.c: Moved to...
12859         * profile.cc: ...here.
12860         * read-md.c: Moved to...
12861         * read-md.cc: ...here.
12862         * read-rtl-function.c: Moved to...
12863         * read-rtl-function.cc: ...here.
12864         * read-rtl.c: Moved to...
12865         * read-rtl.cc: ...here.
12866         * real.c: Moved to...
12867         * real.cc: ...here.
12868         * realmpfr.c: Moved to...
12869         * realmpfr.cc: ...here.
12870         * recog.c: Moved to...
12871         * recog.cc: ...here.
12872         * ree.c: Moved to...
12873         * ree.cc: ...here.
12874         * reg-stack.c: Moved to...
12875         * reg-stack.cc: ...here.
12876         * regcprop.c: Moved to...
12877         * regcprop.cc: ...here.
12878         * reginfo.c: Moved to...
12879         * reginfo.cc: ...here.
12880         * regrename.c: Moved to...
12881         * regrename.cc: ...here.
12882         * regstat.c: Moved to...
12883         * regstat.cc: ...here.
12884         * reload.c: Moved to...
12885         * reload.cc: ...here.
12886         * reload1.c: Moved to...
12887         * reload1.cc: ...here.
12888         * reorg.c: Moved to...
12889         * reorg.cc: ...here.
12890         * resource.c: Moved to...
12891         * resource.cc: ...here.
12892         * rtl-error.c: Moved to...
12893         * rtl-error.cc: ...here.
12894         * rtl-tests.c: Moved to...
12895         * rtl-tests.cc: ...here.
12896         * rtl.c: Moved to...
12897         * rtl.cc: ...here.
12898         * rtlanal.c: Moved to...
12899         * rtlanal.cc: ...here.
12900         * rtlhash.c: Moved to...
12901         * rtlhash.cc: ...here.
12902         * rtlhooks.c: Moved to...
12903         * rtlhooks.cc: ...here.
12904         * rtx-vector-builder.c: Moved to...
12905         * rtx-vector-builder.cc: ...here.
12906         * run-rtl-passes.c: Moved to...
12907         * run-rtl-passes.cc: ...here.
12908         * sancov.c: Moved to...
12909         * sancov.cc: ...here.
12910         * sanopt.c: Moved to...
12911         * sanopt.cc: ...here.
12912         * sbitmap.c: Moved to...
12913         * sbitmap.cc: ...here.
12914         * sched-deps.c: Moved to...
12915         * sched-deps.cc: ...here.
12916         * sched-ebb.c: Moved to...
12917         * sched-ebb.cc: ...here.
12918         * sched-rgn.c: Moved to...
12919         * sched-rgn.cc: ...here.
12920         * sel-sched-dump.c: Moved to...
12921         * sel-sched-dump.cc: ...here.
12922         * sel-sched-ir.c: Moved to...
12923         * sel-sched-ir.cc: ...here.
12924         * sel-sched.c: Moved to...
12925         * sel-sched.cc: ...here.
12926         * selftest-diagnostic.c: Moved to...
12927         * selftest-diagnostic.cc: ...here.
12928         * selftest-rtl.c: Moved to...
12929         * selftest-rtl.cc: ...here.
12930         * selftest-run-tests.c: Moved to...
12931         * selftest-run-tests.cc: ...here.
12932         * selftest.c: Moved to...
12933         * selftest.cc: ...here.
12934         * sese.c: Moved to...
12935         * sese.cc: ...here.
12936         * shrink-wrap.c: Moved to...
12937         * shrink-wrap.cc: ...here.
12938         * simplify-rtx.c: Moved to...
12939         * simplify-rtx.cc: ...here.
12940         * sparseset.c: Moved to...
12941         * sparseset.cc: ...here.
12942         * spellcheck-tree.c: Moved to...
12943         * spellcheck-tree.cc: ...here.
12944         * spellcheck.c: Moved to...
12945         * spellcheck.cc: ...here.
12946         * sreal.c: Moved to...
12947         * sreal.cc: ...here.
12948         * stack-ptr-mod.c: Moved to...
12949         * stack-ptr-mod.cc: ...here.
12950         * statistics.c: Moved to...
12951         * statistics.cc: ...here.
12952         * stmt.c: Moved to...
12953         * stmt.cc: ...here.
12954         * stor-layout.c: Moved to...
12955         * stor-layout.cc: ...here.
12956         * store-motion.c: Moved to...
12957         * store-motion.cc: ...here.
12958         * streamer-hooks.c: Moved to...
12959         * streamer-hooks.cc: ...here.
12960         * stringpool.c: Moved to...
12961         * stringpool.cc: ...here.
12962         * substring-locations.c: Moved to...
12963         * substring-locations.cc: ...here.
12964         * symtab.c: Moved to...
12965         * symtab.cc: ...here.
12966         * target-globals.c: Moved to...
12967         * target-globals.cc: ...here.
12968         * targhooks.c: Moved to...
12969         * targhooks.cc: ...here.
12970         * timevar.c: Moved to...
12971         * timevar.cc: ...here.
12972         * toplev.c: Moved to...
12973         * toplev.cc: ...here.
12974         * tracer.c: Moved to...
12975         * tracer.cc: ...here.
12976         * trans-mem.c: Moved to...
12977         * trans-mem.cc: ...here.
12978         * tree-affine.c: Moved to...
12979         * tree-affine.cc: ...here.
12980         * tree-call-cdce.c: Moved to...
12981         * tree-call-cdce.cc: ...here.
12982         * tree-cfg.c: Moved to...
12983         * tree-cfg.cc: ...here.
12984         * tree-cfgcleanup.c: Moved to...
12985         * tree-cfgcleanup.cc: ...here.
12986         * tree-chrec.c: Moved to...
12987         * tree-chrec.cc: ...here.
12988         * tree-complex.c: Moved to...
12989         * tree-complex.cc: ...here.
12990         * tree-data-ref.c: Moved to...
12991         * tree-data-ref.cc: ...here.
12992         * tree-dfa.c: Moved to...
12993         * tree-dfa.cc: ...here.
12994         * tree-diagnostic.c: Moved to...
12995         * tree-diagnostic.cc: ...here.
12996         * tree-dump.c: Moved to...
12997         * tree-dump.cc: ...here.
12998         * tree-eh.c: Moved to...
12999         * tree-eh.cc: ...here.
13000         * tree-emutls.c: Moved to...
13001         * tree-emutls.cc: ...here.
13002         * tree-if-conv.c: Moved to...
13003         * tree-if-conv.cc: ...here.
13004         * tree-inline.c: Moved to...
13005         * tree-inline.cc: ...here.
13006         * tree-into-ssa.c: Moved to...
13007         * tree-into-ssa.cc: ...here.
13008         * tree-iterator.c: Moved to...
13009         * tree-iterator.cc: ...here.
13010         * tree-loop-distribution.c: Moved to...
13011         * tree-loop-distribution.cc: ...here.
13012         * tree-nested.c: Moved to...
13013         * tree-nested.cc: ...here.
13014         * tree-nrv.c: Moved to...
13015         * tree-nrv.cc: ...here.
13016         * tree-object-size.c: Moved to...
13017         * tree-object-size.cc: ...here.
13018         * tree-outof-ssa.c: Moved to...
13019         * tree-outof-ssa.cc: ...here.
13020         * tree-parloops.c: Moved to...
13021         * tree-parloops.cc: ...here.
13022         * tree-phinodes.c: Moved to...
13023         * tree-phinodes.cc: ...here.
13024         * tree-predcom.c: Moved to...
13025         * tree-predcom.cc: ...here.
13026         * tree-pretty-print.c: Moved to...
13027         * tree-pretty-print.cc: ...here.
13028         * tree-profile.c: Moved to...
13029         * tree-profile.cc: ...here.
13030         * tree-scalar-evolution.c: Moved to...
13031         * tree-scalar-evolution.cc: ...here.
13032         * tree-sra.c: Moved to...
13033         * tree-sra.cc: ...here.
13034         * tree-ssa-address.c: Moved to...
13035         * tree-ssa-address.cc: ...here.
13036         * tree-ssa-alias.c: Moved to...
13037         * tree-ssa-alias.cc: ...here.
13038         * tree-ssa-ccp.c: Moved to...
13039         * tree-ssa-ccp.cc: ...here.
13040         * tree-ssa-coalesce.c: Moved to...
13041         * tree-ssa-coalesce.cc: ...here.
13042         * tree-ssa-copy.c: Moved to...
13043         * tree-ssa-copy.cc: ...here.
13044         * tree-ssa-dce.c: Moved to...
13045         * tree-ssa-dce.cc: ...here.
13046         * tree-ssa-dom.c: Moved to...
13047         * tree-ssa-dom.cc: ...here.
13048         * tree-ssa-dse.c: Moved to...
13049         * tree-ssa-dse.cc: ...here.
13050         * tree-ssa-forwprop.c: Moved to...
13051         * tree-ssa-forwprop.cc: ...here.
13052         * tree-ssa-ifcombine.c: Moved to...
13053         * tree-ssa-ifcombine.cc: ...here.
13054         * tree-ssa-live.c: Moved to...
13055         * tree-ssa-live.cc: ...here.
13056         * tree-ssa-loop-ch.c: Moved to...
13057         * tree-ssa-loop-ch.cc: ...here.
13058         * tree-ssa-loop-im.c: Moved to...
13059         * tree-ssa-loop-im.cc: ...here.
13060         * tree-ssa-loop-ivcanon.c: Moved to...
13061         * tree-ssa-loop-ivcanon.cc: ...here.
13062         * tree-ssa-loop-ivopts.c: Moved to...
13063         * tree-ssa-loop-ivopts.cc: ...here.
13064         * tree-ssa-loop-manip.c: Moved to...
13065         * tree-ssa-loop-manip.cc: ...here.
13066         * tree-ssa-loop-niter.c: Moved to...
13067         * tree-ssa-loop-niter.cc: ...here.
13068         * tree-ssa-loop-prefetch.c: Moved to...
13069         * tree-ssa-loop-prefetch.cc: ...here.
13070         * tree-ssa-loop-split.c: Moved to...
13071         * tree-ssa-loop-split.cc: ...here.
13072         * tree-ssa-loop-unswitch.c: Moved to...
13073         * tree-ssa-loop-unswitch.cc: ...here.
13074         * tree-ssa-loop.c: Moved to...
13075         * tree-ssa-loop.cc: ...here.
13076         * tree-ssa-math-opts.c: Moved to...
13077         * tree-ssa-math-opts.cc: ...here.
13078         * tree-ssa-operands.c: Moved to...
13079         * tree-ssa-operands.cc: ...here.
13080         * tree-ssa-phiopt.c: Moved to...
13081         * tree-ssa-phiopt.cc: ...here.
13082         * tree-ssa-phiprop.c: Moved to...
13083         * tree-ssa-phiprop.cc: ...here.
13084         * tree-ssa-pre.c: Moved to...
13085         * tree-ssa-pre.cc: ...here.
13086         * tree-ssa-propagate.c: Moved to...
13087         * tree-ssa-propagate.cc: ...here.
13088         * tree-ssa-reassoc.c: Moved to...
13089         * tree-ssa-reassoc.cc: ...here.
13090         * tree-ssa-sccvn.c: Moved to...
13091         * tree-ssa-sccvn.cc: ...here.
13092         * tree-ssa-scopedtables.c: Moved to...
13093         * tree-ssa-scopedtables.cc: ...here.
13094         * tree-ssa-sink.c: Moved to...
13095         * tree-ssa-sink.cc: ...here.
13096         * tree-ssa-strlen.c: Moved to...
13097         * tree-ssa-strlen.cc: ...here.
13098         * tree-ssa-structalias.c: Moved to...
13099         * tree-ssa-structalias.cc: ...here.
13100         * tree-ssa-tail-merge.c: Moved to...
13101         * tree-ssa-tail-merge.cc: ...here.
13102         * tree-ssa-ter.c: Moved to...
13103         * tree-ssa-ter.cc: ...here.
13104         * tree-ssa-threadbackward.c: Moved to...
13105         * tree-ssa-threadbackward.cc: ...here.
13106         * tree-ssa-threadedge.c: Moved to...
13107         * tree-ssa-threadedge.cc: ...here.
13108         * tree-ssa-threadupdate.c: Moved to...
13109         * tree-ssa-threadupdate.cc: ...here.
13110         * tree-ssa-uncprop.c: Moved to...
13111         * tree-ssa-uncprop.cc: ...here.
13112         * tree-ssa-uninit.c: Moved to...
13113         * tree-ssa-uninit.cc: ...here.
13114         * tree-ssa.c: Moved to...
13115         * tree-ssa.cc: ...here.
13116         * tree-ssanames.c: Moved to...
13117         * tree-ssanames.cc: ...here.
13118         * tree-stdarg.c: Moved to...
13119         * tree-stdarg.cc: ...here.
13120         * tree-streamer-in.c: Moved to...
13121         * tree-streamer-in.cc: ...here.
13122         * tree-streamer-out.c: Moved to...
13123         * tree-streamer-out.cc: ...here.
13124         * tree-streamer.c: Moved to...
13125         * tree-streamer.cc: ...here.
13126         * tree-switch-conversion.c: Moved to...
13127         * tree-switch-conversion.cc: ...here.
13128         * tree-tailcall.c: Moved to...
13129         * tree-tailcall.cc: ...here.
13130         * tree-vect-data-refs.c: Moved to...
13131         * tree-vect-data-refs.cc: ...here.
13132         * tree-vect-generic.c: Moved to...
13133         * tree-vect-generic.cc: ...here.
13134         * tree-vect-loop-manip.c: Moved to...
13135         * tree-vect-loop-manip.cc: ...here.
13136         * tree-vect-loop.c: Moved to...
13137         * tree-vect-loop.cc: ...here.
13138         * tree-vect-patterns.c: Moved to...
13139         * tree-vect-patterns.cc: ...here.
13140         * tree-vect-slp-patterns.c: Moved to...
13141         * tree-vect-slp-patterns.cc: ...here.
13142         * tree-vect-slp.c: Moved to...
13143         * tree-vect-slp.cc: ...here.
13144         * tree-vect-stmts.c: Moved to...
13145         * tree-vect-stmts.cc: ...here.
13146         * tree-vector-builder.c: Moved to...
13147         * tree-vector-builder.cc: ...here.
13148         * tree-vectorizer.c: Moved to...
13149         * tree-vectorizer.cc: ...here.
13150         * tree-vrp.c: Moved to...
13151         * tree-vrp.cc: ...here.
13152         * tree.c: Moved to...
13153         * tree.cc: ...here.
13154         * tsan.c: Moved to...
13155         * tsan.cc: ...here.
13156         * typed-splay-tree.c: Moved to...
13157         * typed-splay-tree.cc: ...here.
13158         * ubsan.c: Moved to...
13159         * ubsan.cc: ...here.
13160         * valtrack.c: Moved to...
13161         * valtrack.cc: ...here.
13162         * value-prof.c: Moved to...
13163         * value-prof.cc: ...here.
13164         * var-tracking.c: Moved to...
13165         * var-tracking.cc: ...here.
13166         * varasm.c: Moved to...
13167         * varasm.cc: ...here.
13168         * varpool.c: Moved to...
13169         * varpool.cc: ...here.
13170         * vec-perm-indices.c: Moved to...
13171         * vec-perm-indices.cc: ...here.
13172         * vec.c: Moved to...
13173         * vec.cc: ...here.
13174         * vmsdbgout.c: Moved to...
13175         * vmsdbgout.cc: ...here.
13176         * vr-values.c: Moved to...
13177         * vr-values.cc: ...here.
13178         * vtable-verify.c: Moved to...
13179         * vtable-verify.cc: ...here.
13180         * web.c: Moved to...
13181         * web.cc: ...here.
13182         * xcoffout.c: Moved to...
13183         * xcoffout.cc: ...here.
13185 2022-01-17  qing zhao  <qing.zhao@oracle.com>
13187         * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
13188         .DEFERRED_INIT call with an anonymous SSA_NAME specially.
13189         (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
13190         specially.
13191         (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
13192         (warn_uninitialized_vars): Likewise.
13193         (warn_uninitialized_phi): Likewise.
13195 2022-01-17  Jason Merrill  <jason@redhat.com>
13197         * diagnostic.h (struct diagnostic_context): Add includes_seen.
13198         * diagnostic.c (diagnostic_initialize): Initialize it.
13199         (diagnostic_finish): Clean it up.
13200         (includes_seen): New function.
13201         (diagnostic_report_current_module): Use it.
13203 2022-01-17  Richard Biener  <rguenther@suse.de>
13205         PR middle-end/101292
13206         * diagnostic-spec.c (copy_warning): Make sure to not
13207         reference old hashtable content on possible resize.
13208         * warning-control.cc (copy_warning): Likewise.
13210 2022-01-17  Jakub Jelinek  <jakub@redhat.com>
13212         PR target/103973
13213         * tree-cfg.h (cond_only_block_p): Declare.
13214         * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
13215         * tree-cfg.c (cond_only_block_p): ... here.  No longer static.
13216         * optabs.def (spaceship_optab): New optab.
13217         * internal-fn.def (SPACESHIP): New internal function.
13218         * internal-fn.h (expand_SPACESHIP): Declare.
13219         * internal-fn.c (expand_PHI): Formatting fix.
13220         (expand_SPACESHIP): New function.
13221         * tree-ssa-math-opts.c (optimize_spaceship): New function.
13222         (math_opts_dom_walker::after_dom_children): Use it.
13223         * config/i386/i386.md (spaceship<mode>3): New define_expand.
13224         * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
13225         * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
13226         * doc/md.texi (spaceship@var{m}3): Document.
13228 2022-01-17  Kewen Lin  <linkw@linux.ibm.com>
13230         * config/rs6000/altivec.md (altivec_vreveti2): Remove.
13231         * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
13232         *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
13233         known constant values to simplify code.
13235 2022-01-17  Haochen Gui  <guihaoc@gcc.gnu.org>
13237         PR target/103124
13238         * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
13240 2022-01-16  wwwhhhyyy  <hongyu.wang@intel.com>
13242         * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
13243         * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
13244         Insert zero-idiom in output template when attr enabled, set new attribute to
13245         true for non-mask/maskz insn.
13246         (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
13247         Likewise.
13248         (avx512dq_mul<mode>3<mask_name>): Likewise.
13249         (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
13250         (avx2_perm<mode>_1<mask_name>): Likewise.
13251         (avx512f_perm<mode>_1<mask_name>): Likewise.
13252         (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
13253         (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
13254         Likewise.
13255         (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
13256         (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
13257         Likewise.
13258         * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
13259         subst_attr.
13260         (mask4_dest_false_dep_for_glc_cond): Likewise.
13261         (mask6_dest_false_dep_for_glc_cond): Likewise.
13262         (mask10_dest_false_dep_for_glc_cond): Likewise.
13263         (maskc_dest_false_dep_for_glc_cond): Likewise.
13264         (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
13265         (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
13266         * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
13267         DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
13269 2022-01-15  Martin Sebor  <msebor@redhat.com>
13271         PR c/63272
13272         * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
13273         -Wdangling-pointer.
13274         * doc/invoke.texi (-Wdangling-pointer): Document new option.
13275         * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
13276         (pass_waccess::check_pointer_uses): New function.
13277         (pass_waccess::gimple_call_return_arg): New function.
13278         (pass_waccess::gimple_call_return_arg_ref): New function.
13279         (pass_waccess::check_call_dangling): New function.
13280         (pass_waccess::check_dangling_uses): New function overloads.
13281         (pass_waccess::check_dangling_stores): New function.
13282         (pass_waccess::check_dangling_stores): New function.
13283         (pass_waccess::m_clobbers): New data member.
13284         (pass_waccess::m_func): New data member.
13285         (pass_waccess::m_run_number): New data member.
13286         (pass_waccess::m_check_dangling_p): New data member.
13287         (pass_waccess::check_alloca): Check m_early_checks_p.
13288         (pass_waccess::check_alloc_size_call): Same.
13289         (pass_waccess::check_strcat): Same.
13290         (pass_waccess::check_strncat): Same.
13291         (pass_waccess::check_stxcpy): Same.
13292         (pass_waccess::check_stxncpy): Same.
13293         (pass_waccess::check_strncmp): Same.
13294         (pass_waccess::check_memop_access): Same.
13295         (pass_waccess::check_read_access): Same.
13296         (pass_waccess::check_builtin): Call check_pointer_uses.
13297         (pass_waccess::warn_invalid_pointer): Add arguments.
13298         (is_auto_decl): New function.
13299         (pass_waccess::check_stmt): New function.
13300         (pass_waccess::check_block): Call check_stmt.
13301         (pass_waccess::execute): Call check_dangling_uses,
13302         check_dangling_stores.  Empty m_clobbers.
13303         * passes.def (pass_warn_access): Invoke pass two more times.
13305 2022-01-15  Martin Sebor  <msebor@redhat.com>
13307         PR tree-optimization/80532
13308         * common.opt (-Wuse-after-free): New options.
13309         * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
13310         OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
13311         * diagnostic-spec.h (NW_DANGLING): New enumerator.
13312         * doc/invoke.texi (-Wuse-after-free): Document new option.
13313         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
13314         (pass_waccess::check_call_access): ...to this.
13315         (pass_waccess::check): Rename...
13316         (pass_waccess::check_block): ...to this.
13317         (pass_waccess::check_pointer_uses): New function.
13318         (pass_waccess::gimple_call_return_arg): New function.
13319         (pass_waccess::warn_invalid_pointer): New function.
13320         (pass_waccess::check_builtin): Handle free and realloc.
13321         (gimple_use_after_inval_p): New function.
13322         (get_realloc_lhs): New function.
13323         (maybe_warn_mismatched_realloc): New function.
13324         (pointers_related_p): New function.
13325         (pass_waccess::check_call): Call check_pointer_uses.
13326         (pass_waccess::execute): Compute and free dominance info.
13328 2022-01-15  Uroš Bizjak  <ubizjak@gmail.com>
13330         * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
13331         expand_simple_unop and expand_simple_binop instead of manually
13332         constructing NOT, AND and IOR RTXes.  Use vector_all_ones_operand
13333         consistently.  Eliminate common subexpressions and simplify code.
13334         * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
13335         (<any_logic:code><MODEF:mode>3): Make public.
13337 2022-01-14  Eric Botcazou  <ebotcazou@adacore.com>
13339         * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
13340         reverse flag as "reverse" for the sake of consistency.
13341         * ipa-sra.c: Fix copyright year.
13342         (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
13343         (dump_isra_access): Tweak dump line.
13344         (isra_write_node_summary): Write the reverse flag.
13345         (isra_read_node_info): Read it.
13346         (pull_accesses_from_callee): Test its consistency and copy it.
13348 2022-01-14  Richard Sandiford  <richard.sandiford@arm.com>
13350         PR middle-end/104026
13351         * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
13352         partial_load_store_bias.
13354 2022-01-14  Martin Sebor  <msebor@redhat.com>
13356         PR middle-end/101475
13357         * pointer-query.cc (handle_component_ref): Use the size of
13358         the enclosing object if it's smaller than the member.
13360 2022-01-14  Martin Liska  <mliska@suse.cz>
13362         * configure: Regenerate.
13364 2022-01-14  Uroš Bizjak  <ubizjak@gmail.com>
13366         * config/i386/i386.md (*add<mode>_1_slp"):
13367         Mark alternative 1 output operand earlyclobbered.
13368         (*sub<mode>_1_slp): Ditto.
13369         (*and<mode>_1_slp): Ditto.
13370         (*<code><mode>_1_slp): Ditto.
13371         (*neg<mode>_1_slp): Ditto.
13372         (*one_cmpl<mode>_1_slp): Ditto.
13373         (*ashl<mode>3_1_slp): Ditto.
13374         (*<insn><mode>3_1_slp): Ditto.
13375         (*<insn><mode>3_1_slp): Ditto.
13377 2022-01-14  Kewen Lin  <linkw@linux.ibm.com>
13379         PR tree-optimization/104015
13380         * tree-vect-loop.c (vect_analyze_loop): Check
13381         param_vect_partial_vector_usage for supports_partial_vectors.
13383 2022-01-14  Jakub Jelinek  <jakub@redhat.com>
13385         PR c++/89074
13386         * fold-const.c (address_compare): Punt on comparison of address of
13387         one object with address of end of another object if
13388         folding_initializer.
13390 2022-01-14  Jakub Jelinek  <jakub@redhat.com>
13392         PR target/98737
13393         * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
13394         __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
13395         and __atomic_op_fetch (p, x, y) iop x into
13396         __atomic_fetch_op (p, x, y).
13398 2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
13400         * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
13401         (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
13402         (INCOMING_RETURN_ADDR_RTX): Likewise.
13403         (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
13405 2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
13407         * config/arc/arc.c (arc_compute_frame_size): Remove condition when
13408         computin checking accumulator regs.
13409         (arc_expand_prologue): Update comments.
13410         (arc_expand_epilogue): Likewise.
13412 2022-01-14  Roger Sayle  <roger@nextmovesoftware.com>
13413             Uroš Bizjak  <ubizjak@gmail.com>
13415         * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
13416         (ix86_expand_ti_to_v1ti): Use force_reg.
13417         (ix86_expand_v1ti_shift): Use force_reg.
13418         (ix86_expand_v1ti_rotate): Use force_reg.
13419         (ix86_expand_v1ti_ashiftrt): Provide new three operation
13420         implementations for shifts by 111..126 bits.  Use force_reg.
13422 2022-01-14  Martin Liska  <mliska@suse.cz>
13424         * common/config/arm/arm-common.c (arm_target_mode): Fix
13425         warning: unterminated quoting directive [-Wformat=].
13427 2022-01-14  Siddhesh Poyarekar  <siddhesh@gotplt.org>
13429         PR tree-optimization/104009
13430         * tree-object-size.c (compute_builtin_object_size): Bail out on
13431         negative offset.
13432         (plus_stmt_object_size): Return maximum of wholesize and minimum
13433         of 0 for negative offset.
13435 2022-01-14  liuhongt  <hongtao.liu@intel.com>
13437         PR target/104001
13438         PR target/94790
13439         PR target/104014
13440         * config/i386/i386.md (*xor2andn): Refine predicate of
13441         operands[0] from nonimmediate_operand to
13442         register_operand, remove TARGET_AVX512BW from condition.
13444 2022-01-14  David Malcolm  <dmalcolm@redhat.com>
13446         * doc/extend.texi (Function Attributes): Note that "tainted_args" can
13447         be used on field decls.
13448         (Common Function Attributes): Add entry on "tainted_args" attribute.
13450 2022-01-13  Anthony Sharp  <anthonysharp15@gmail.com>
13451             Jason Merrill  <jason@redhat.com>
13453         PR c++/70417
13454         * doc/invoke.texi: Documentation for Wmissing-template-keyword.
13456 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
13458         PR target/103861
13459         * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
13460         (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
13461         * config/i386/mmx.md (<any_shift:insn>v2qi):
13462         New insn_and_split pattern.
13464 2022-01-13  Robin Dapp  <rdapp@linux.ibm.com>
13466         * internal-fn.c (expand_partial_load_optab_fn): Add bias.
13467         (expand_partial_store_optab_fn): Likewise.
13468         (internal_len_load_store_bias): New function.
13469         * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
13470         (internal_len_load_store_bias): New function.
13471         * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
13472         (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
13473         * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
13474         (vect_estimate_min_profitable_iters): Account for bias.
13475         (vect_get_loop_len): Add bias-adjusted length.
13476         * tree-vect-stmts.c (vectorizable_store): Use.
13477         (vectorizable_load): Use.
13478         * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
13479         (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
13480         * config/rs6000/vsx.md: Use const0 bias predicate.
13481         * doc/md.texi: Document bias value.
13483 2022-01-13  Andrew MacLeod  <amacleod@redhat.com>
13485         PR tree-optimization/83072
13486         PR tree-optimization/83073
13487         PR tree-optimization/97909
13488         * fold-const.c (expr_not_equal_to): Use a multi-range class.
13490 2022-01-13  Andrew MacLeod  <amacleod@redhat.com>
13492         PR tree-optimization/96707
13493         * range-op.cc (operator_rshift::lhs_op1_relation): New.
13495 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
13497         * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
13498         Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
13499         (negv2qi splitters): Use lowpart_subreg instead of
13500         gen_lowpart to create subreg.
13501         (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
13502         Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
13503         (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
13504         gen_lowpart to create subreg.
13505         * config/i386/i386.md (*subqi_ext<mode>_2): Move.
13507 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
13509         PR target/104003
13510         * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
13512 2022-01-13  Martin Liska  <mliska@suse.cz>
13514         * common/config/arm/arm-common.c (arm_target_mode): Wrap
13515         keywords with %<, %> and remove trailing punctuation char.
13516         (arm_canon_arch_option_1): Likewise.
13517         (arm_asm_auto_mfpu): Likewise.
13518         * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
13519         * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
13520         (use_vfp_abi): Likewise.
13521         (aapcs_vfp_is_call_or_return_candidate): Likewise.
13522         (arm_handle_cmse_nonsecure_entry): Likewise.
13523         (arm_handle_cmse_nonsecure_call): Likewise.
13524         (thumb1_md_asm_adjust): Likewise.
13526 2022-01-13  Paul A. Clarke  <pc@us.ibm.com>
13528         * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
13529         _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
13530         _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
13531         _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
13532         _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
13533         _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
13534         (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
13535         _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
13536         macro.
13538 2022-01-13  Jakub Jelinek  <jakub@redhat.com>
13540         PR tree-optimization/103989
13541         * tree-inline.c (setup_one_parameter): Don't copy parms with
13542         empty type.
13544 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
13546         * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
13547         'TYPE_ADDR_SPACE' for offloading.
13548         * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
13549         'TYPE_ADDR_SPACE' for offloading.
13551 2022-01-13  Julian Brown  <julian@codesourcery.com>
13552             Thomas Schwinge  <thomas@codesourcery.com>
13554         * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
13555         of...
13556         (add_async_clauses_and_wait): ...here. Call new outlined function.
13557         (decompose_kernels_region_body): Add wait at the end of
13558         explicitly-asynchronous kernels regions.
13560 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
13562         PR middle-end/100280
13563         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
13564         Mark variables used in synthesized data clauses as addressable.
13566 2022-01-13  Martin Liska  <mliska@suse.cz>
13568         * config/epiphany/epiphany.c (epiphany_mode_priority):
13569         Use gcc_unreachable for not handled cases.
13571 2022-01-13  Martin Liska  <mliska@suse.cz>
13573         * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
13574         Use %qs format specifier.
13575         (epiphany_override_options): Wrap keyword in %<, %>.
13577 2022-01-13  Haochen Jiang  <haochen.jiang@intel.com>
13579         PR target/94790
13580         * config/i386/i386.md (*xor2andn): New define_insn_and_split.
13582 2022-01-13  Xionghu Luo  <luoxhu@linux.ibm.com>
13584         * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
13586 2022-01-12  Uroš Bizjak  <ubizjak@gmail.com>
13588         PR target/100637
13589         PR target/103861
13590         * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
13591         (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
13592         when constructing vector logic RTXes.
13593         (expand_vec_perm_pshufb2): Ditto.
13594         * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
13595         (<plusminus:insn>v2qi3): Ditto.
13596         (vcond<mode><mode>): Re-enable for TARGET_SSE2.
13597         (vcondu<mode><mode>): Ditto.
13598         (vcond_mask_<mode><mode>): Ditto.
13599         (one_cmpl<VI_32:mode>2): Remove expander.
13600         (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
13601         Use VI_16_32 mode iterator.
13602         (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
13603         Use lowpart_subreg instead of gen_lowpart to create subreg.
13604         (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
13605         "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
13606         Disparage GPR alternative a bit.  Add CC clobber.
13607         (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
13608         Use lowpart_subreg instead of gen_lowpart to create subreg.
13609         (*<any_logic:code><VI_16_32:mode>3): Merge from
13610         "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
13611         using VI_16_32 mode iterator.  Disparage GPR alternative a bit.
13612         Add CC clobber.
13613         (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
13614         iterator.  Use lowpart_subreg instead of gen_lowpart to create subreg.
13616 2022-01-12  Clément Chigot  <clement.chigot@atos.net>
13618         * configure.ac: Check sizeof ino_t and dev_t.
13619         (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
13620         syscall being able to handle 64bit inodes.
13621         * config.in: Regenerate.
13622         * configure: Regenerate.
13623         * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
13624         (remove_duplicates): Use it.
13626 2022-01-12  Andrew MacLeod  <amacleod@redhat.com>
13628         PR tree-optimization/103551
13629         * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
13631 2022-01-12  Richard Biener  <rguenther@suse.de>
13633         PR tree-optimization/103990
13634         * tree-pass.h (tail_merge_optimize): Drop unused argument.
13635         * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
13636         * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
13637         and adjust call to tail_merge_optimize.
13639 2022-01-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>
13641         * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
13642         does not add autovectorize_vector_modes.
13644 2022-01-12  Martin Liska  <mliska@suse.cz>
13646         * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
13647         %qs where possible.
13648         (aarch64_parse_sve_width_string): Likewise.
13649         (aarch64_override_options_internal): Likewise.
13650         (aarch64_print_hint_for_extensions): Likewise.
13651         (aarch64_validate_sls_mitigation): Likewise.
13652         (aarch64_handle_attr_arch): Likewise.
13653         (aarch64_handle_attr_cpu): Likewise.
13654         (aarch64_handle_attr_tune): Likewise.
13655         (aarch64_handle_attr_isa_flags): Likewise.
13657 2022-01-12  Martin Liska  <mliska@suse.cz>
13659         * config.gcc: Include elfos.h before ${tm_file}.
13661 2022-01-12  Hans-Peter Nilsson  <hp@axis.com>
13663         * config/cris/cris.c: Quote identifiers in parameters to error
13664         and internal_error, and remove extraneous spaces with punctuation.
13665         * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
13666         expression to internal_error, pass it as a parameter instead of
13667         appending it to the format part.
13669 2022-01-12  Hans-Peter Nilsson  <hp@axis.com>
13671         * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
13672         parameter to as_a.
13674 2022-01-11  qing zhao  <qing.zhao@oracle.com>
13676         * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
13677         Change the 3rd argument of function .DEFERRED_INIT to the name of the
13678         decl.
13679         (gimplify_decl_expr): Delete the 3rd argument when call
13680         gimple_add_init_for_auto_var.
13681         * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
13682         the 3rd argument change of function .DEFERRED_INIT.
13683         * tree-cfg.c (verify_gimple_call): Update comments and verification
13684         to reflect the 3rd argument change of function .DEFERRED_INIT.
13685         * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
13686         (sra_modify_deferred_init): Change the 3rd argument of function
13687         .DEFERRED_INIT to the name of the decl.
13689 2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
13691         * flag-types.h (enum gfc_convert): Add flags for
13692         conversion.
13694 2022-01-11  Michael Meissner  <meissner@the-meissners.org>
13696         * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
13697         checks for only C/C++ front ends before allowing the long double
13698         format to change without a warning.
13700 2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
13702         PR rtl-optimization/103974
13703         * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
13704         extra argument, default true, that says whether old-reload
13705         targets should be excluded.
13706         * ira-color.c (color_pass): Pass false.
13708 2022-01-11  Uroš Bizjak  <ubizjak@gmail.com>
13710         PR target/103861
13711         * config/i386/mmx.md (vcond<mode><mode>):
13712         Use VI_16_32 mode iterator.  Enable for TARGET_SSE4_1.
13713         (vcondu<mode><mode>): Ditto.
13714         (vcond_mask_<mode><mode>): Ditto.
13715         (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
13716         (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
13717         Use VI_16_32 mode iterator.
13718         * config/i386/i386-expand.c (ix86_expand_sse_movcc):
13719         Update for rename.  Handle V2QImode.
13720         (expand_vec_perm_blend): Update for rename.
13722 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
13724         PR c++/101597
13725         * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
13727 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
13729         PR middle-end/70090
13730         * tree-object-size.c (size_valid_p): New function.
13731         (size_for_offset): Remove OFFSET constness assertion.
13732         (addr_object_size): Build dynamic expressions for object
13733         sizes and use size_valid_p to decide if it is valid for the
13734         given OBJECT_SIZE_TYPE.
13735         (compute_builtin_object_size): Allow dynamic offsets when
13736         computing size at O0.
13737         (call_object_size): Call size_valid_p.
13738         (plus_stmt_object_size): Allow non-constant offset and use
13739         size_valid_p to decide if it is valid for the given
13740         OBJECT_SIZE_TYPE.
13742 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
13744         PR middle-end/70090
13745         * tree-object-size.c (alloc_object_size): Make and return
13746         non-constant size expression.
13747         (call_object_size): Return expression or unknown based on
13748         whether dynamic object size is requested.
13750 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
13752         PR middle-end/70090
13753         * tree-object-size.c: Include tree-dfa.h.
13754         (parm_object_size): New function.
13755         (collect_object_sizes_for): Call it.
13757 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
13759         PR middle-end/70090
13760         * builtins.c (fold_builtin_object_size): Adjust for dynamic size
13761         expressions.
13762         * tree-object-size.c: Include gimplify-me.h.
13763         (struct object_size_info): New member UNKNOWNS.
13764         (size_initval_p, size_usable_p, object_sizes_get_raw): New
13765         functions.
13766         (object_sizes_get): Return suitable gimple variable for
13767         object size.
13768         (bundle_sizes): New function.
13769         (object_sizes_set): Use it and handle dynamic object size
13770         expressions.
13771         (object_sizes_set_temp): New function.
13772         (size_for_offset): Adjust for dynamic size expressions.
13773         (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
13774         New functions.
13775         (compute_builtin_object_size): Call gimplify_size_expressions
13776         for OST_DYNAMIC.
13777         (dynamic_object_size): New function.
13778         (cond_expr_object_size): Use it.
13779         (phi_dynamic_object_size): New function.
13780         (collect_object_sizes_for): Call it for OST_DYNAMIC.  Adjust to
13781         accommodate dynamic object sizes.
13783 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
13784             Jakub Jelinek  <jakub@redhat.com>
13786         PR tree-optimization/103961
13787         * tree-object-size.c (plus_stmt_object_size): Always avoid
13788         computing offset for -1 size.
13790 2022-01-11  Andrew MacLeod  <amacleod@redhat.com>
13792         PR tree-optimization/103821
13793         * range-op.cc (range_operator::fold_range): Only do precise ranges
13794         when there are not too many subranges.
13796 2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
13798         * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
13799         definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
13801 2022-01-11  Roger Sayle  <roger@nextmovesoftware.com>
13802             Richard Biener  <rguenther@suse.de>
13804         * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
13805         highpart_mults_inserted field.
13806         (convert_mult_to_highpart): New function to convert right shift
13807         of a widening multiply into a MULT_HIGHPART_EXPR.
13808         (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
13809         Call new convert_mult_to_highpart function.
13810         (pass_optimize_widening_mul::execute): Add a statistics counter
13811         for tracking "highpart multiplications inserted" events.
13813 2022-01-11  Xionghu Luo  <luoxhu@linux.ibm.com>
13815         PR target/102239
13816         * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
13817         declare.
13818         * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
13819         function.
13820         * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
13822 2022-01-11  Olivier Hainque  <hainque@adacore.com>
13824         * gcc.c (driver_handle_option): State --sysroot as
13825         validated.
13827 2022-01-11  Kewen Lin  <linkw@linux.ibm.com>
13829         * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
13830         useless related to option -mno-power10.
13832 2022-01-11  Haochen Jiang  <haochen.jiang@intel.com>
13834         PR target/53652
13835         * config/i386/sse.md (*andnot<mode>3): Extend predicate of
13836         operands[1] from register_operand to vector_operand.
13838 2022-01-10  Uroš Bizjak  <ubizjak@gmail.com>
13840         PR target/103861
13841         * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
13842         Handle V2QImode.
13843         * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
13844         Use VI1_16_32 mode iterator.
13845         (*eq<mode>3): Ditto.
13846         (*gt<mode>3): Ditto.
13847         (*xop_maskcmp<mode>3): Ditto.
13848         (*xop_maskcmp_uns<mode>3): Ditto.
13849         (vec_cmp<mode><mode>): Ditto.
13850         (vec_cmpu<mode><mode>): Ditto.
13852 2022-01-10  Richard Biener  <rguenther@suse.de>
13854         PR tree-optimization/103948
13855         * tree-vect-generic.c (expand_vector_condition): Return true if
13856         all ones vector is returned for true, all zeros vector for false
13857         and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
13859 2022-01-10  Paul A. Clarke  <pc@us.ibm.com>
13861         * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
13862         when _ARCH_PWR10. Use signed types.
13863         (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
13864         (_mm_blendv_pd): Likewise.
13866 2022-01-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
13868         * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
13869         epilogue costing.
13870         * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
13871         epilogues, unless we are guaranteed that we can't have partial vectors.
13872         * genopinit.c: (partial_vectors_supported): Generate new function.
13874 2022-01-10  Jakub Jelinek  <jakub@redhat.com>
13876         PR target/102024
13877         * config/i386/i386.c (classify_argument): Add zero_width_bitfields
13878         argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
13879         always ignore them, when seeing other zero sized bitfields, either
13880         set zero_width_bitfields to 1 and ignore it or if equal to 2 process
13881         it.  Pass it to recursive calls.  Add wrapper
13882         with old arguments and diagnose ABI differences for C structures
13883         with zero width bitfields.  Formatting fixes.
13885 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13887         PR rtl-optimization/98782
13888         * ira-int.h (ira_soft_conflict): Declare.
13889         * ira-color.c (max_soft_conflict_loop_depth): New constant.
13890         (ira_soft_conflict): New function.
13891         (spill_soft_conflicts): Likewise.
13892         (assign_hard_reg): Use them to handle the case described by
13893         the comment above ira_soft_conflict.
13894         (improve_allocation): Likewise.
13895         * ira.c (check_allocation): Allow allocnos with "soft" conflicts
13896         to share the same register.
13898 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13900         PR rtl-optimization/98782
13901         * ira-int.h (ira_caller_save_cost): New function.
13902         (ira_caller_save_loop_spill_p): Likewise.
13903         * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
13904         cheaper to spill a call-clobbered register throughout a loop rather
13905         than spill it around each individual call.  If so, treat all
13906         call-clobbered registers as conflicts and...
13907         (propagate_allocno_info): ...do not propagate call information
13908         from the child to the parent.
13909         * ira-color.c (move_spill_restore): Update accordingly.
13910         * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
13912 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13914         PR rtl-optimization/98782
13915         * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
13916         (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
13917         (ira_single_region_allocno_p): New function.
13918         (ira_total_conflict_hard_regs): Likewise.
13919         * ira-build.c (ira_create_allocno): Initialize
13920         ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
13921         (ira_propagate_hard_reg_costs): New function.
13922         (propagate_allocno_info): Use it.  Try to avoid propagating
13923         hard register conflicts to parent allocnos if we can handle
13924         the conflicts by spilling instead.  Limit the propagated
13925         register costs to the cost of spilling throughout the child loop.
13926         * ira-color.c (color_pass): Use ira_single_region_allocno_p to
13927         test whether a child and parent allocno can share the same
13928         register.
13929         (move_spill_restore): Adjust for the new behavior of
13930         propagate_allocno_info.
13932 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13934         PR rtl-optimization/98782
13935         * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
13936         extracted from...
13937         * ira-color.c (color_pass): ...here.
13939 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13941         PR rtl-optimization/98782
13942         * ira-color.c (color_pass): Add comments to describe the spill costs.
13943         (move_spill_restore): Likewise.  Fix reversed calculation.
13945 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
13947         PR rtl-optimization/98782
13948         * ira-int.h (ira_loop_border_costs): New class.
13949         * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
13950         New constructor.
13951         (calculate_allocno_spill_cost): Use ira_loop_border_costs.
13952         (color_pass): Likewise.
13953         (move_spill_restore): Likewise.
13955 2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
13957         PR target/103465
13958         * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
13960 2022-01-10  Richard Biener  <rguenther@suse.de>
13962         PR tree-optimization/100359
13963         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
13964         Allow non-growing peeling with !allow_peel and UL_ALL.
13966 2022-01-08  Roger Sayle  <roger@nextmovesoftware.com>
13968         * config/i386/i386-expand.c (ix86_expand_vector_move): Add
13969         special case for TImode to V1TImode moves, going via V2DImode.
13971 2022-01-08  Jakub Jelinek  <jakub@redhat.com>
13973         PR c++/89074
13974         * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
13975         simplification.
13977 2022-01-08  David Malcolm  <dmalcolm@redhat.com>
13979         * doc/analyzer.texi
13980         (Special Functions for Debugging the Analyzer): Document
13981         __analyzer_dump_escaped.
13983 2022-01-08  David Malcolm  <dmalcolm@redhat.com>
13985         * doc/analyzer.texi (Other Debugging Techniques): Document
13986         region::is_named_decl_p.
13988 2022-01-07  Andrew Pinski  <apinski@marvell.com>
13990         PR target/102941
13991         * config/arm/aarch-common.c (arm_md_asm_adjust):
13992         Use a temp if !REG_P.
13994 2022-01-07  Uroš Bizjak  <ubizjak@gmail.com>
13996         * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
13997         (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
13999 2022-01-07  liuhongt  <hongtao.liu@intel.com>
14001         PR rtl-optimization/103750
14002         * fwprop.c (forward_propagate_into): Allow propagations from
14003         inner loop to outer loop.
14005 2022-01-07  Roger Sayle  <roger@nextmovesoftware.com>
14007         * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
14009 2022-01-07  Haochen Gui  <guihaoc@gcc.gnu.org>
14011         * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
14012         (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
14013         Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
14015 2022-01-07  liuhongt  <hongtao.liu@intel.com>
14017         * config/i386/sse.md
14018         (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
14019         UNSPEC_PCMP_UNSIGNED.
14021 2022-01-07  liuhongt  <hongtao.liu@intel.com>
14023         PR target/103753
14024         * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
14025         gen_avx2_pblendph_1 when elt == 0.
14026         * config/i386/sse.md (avx2_pblendph): Rename to ..
14027         (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
14028         (*avx2_pblendw): Rename to ..
14029         (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
14030         (avx2_pblendw): Rename to ..
14031         (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
14032         (blendsuf): Removed.
14033         (sse4_1_pblend<blendsuf>): Renamed to ..
14034         (sse4_1_pblend<ssemodesuffix>): .. this.
14036 2022-01-06  H.J. Lu  <hjl.tools@gmail.com>
14038         PR target/103925
14039         * config/i386/i386.c (ix86_output_indirect_function_return):
14040         Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
14042 2022-01-06  H.J. Lu  <hjl.tools@gmail.com>
14044         PR target/102952
14045         * config/i386/i386-opts.h (harden_sls): Replace
14046         harden_sls_indirect_branch with harden_sls_indirect_jmp.
14047         * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
14048         Likewise.
14049         (ix86_output_indirect_jmp): Likewise.
14050         (ix86_output_call_insn): Likewise.
14051         * config/i386/i386.opt: Replace indirect-branch with
14052         indirect-jmp.  Replace harden_sls_indirect_branch with
14053         harden_sls_indirect_jmp.
14054         * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
14055         indirect-jmp.
14057 2022-01-06  Uroš Bizjak  <ubizjak@gmail.com>
14059         * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
14060         Add %q modifier for operands in general registers.
14061         <MODE_SI>: Add %q modifier for operands in general registers.
14062         * config/i386/i386.md (*movhi_internal): Change type attribute of
14063         xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
14064         to SImode for non-avx512fp16 targets.
14065         (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
14066         * config/i386/mmx.md (*movv2qi_internal):
14067         Ditto for xmm-gpr interunit alternatives 8,9.
14069 2022-01-06  Kito Cheng  <kito.cheng@sifive.com>
14071         * common/config/riscv/riscv-common.c (riscv_implied_info): Add
14072         vector extensions.
14073         (riscv_ext_version_table): Add version info for vector extensions.
14074         (riscv_ext_flag_table): Add option mask for vector extensions.
14075         * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
14076         (MASK_VECTOR_EEW_64): New.
14077         (MASK_VECTOR_EEW_FP_32): New.
14078         (MASK_VECTOR_EEW_FP_64): New.
14079         (MASK_ZVL32B): New.
14080         (MASK_ZVL64B): New.
14081         (MASK_ZVL128B): New.
14082         (MASK_ZVL256B): New.
14083         (MASK_ZVL512B): New.
14084         (MASK_ZVL1024B): New.
14085         (MASK_ZVL2048B): New.
14086         (MASK_ZVL4096B): New.
14087         (MASK_ZVL8192B): New.
14088         (MASK_ZVL16384B): New.
14089         (MASK_ZVL32768B): New.
14090         (MASK_ZVL65536B): New.
14091         (TARGET_ZVL32B): New.
14092         (TARGET_ZVL64B): New.
14093         (TARGET_ZVL128B): New.
14094         (TARGET_ZVL256B): New.
14095         (TARGET_ZVL512B): New.
14096         (TARGET_ZVL1024B): New.
14097         (TARGET_ZVL2048B): New.
14098         (TARGET_ZVL4096B): New.
14099         (TARGET_ZVL8192B): New.
14100         (TARGET_ZVL16384B): New.
14101         (TARGET_ZVL32768B): New.
14102         (TARGET_ZVL65536B): New.
14103         * config/riscv/riscv.opt (Mask(VECTOR)): New.
14104         (riscv_vector_eew_flags): New.
14105         (riscv_zvl_flags): New.
14107 2022-01-06  Kito Cheng  <kito.cheng@sifive.com>
14109         * common/config/riscv/riscv-common.c
14110         (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
14111         digit.
14113 2022-01-06  Jakub Jelinek  <jakub@redhat.com>
14115         PR tree-optimization/103899
14116         * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
14117         warning by moving context variable to the only spot where it is used
14118         and moving gcc_assert into if body.
14120 2022-01-06  Jakub Jelinek  <jakub@redhat.com>
14122         PR rtl-optimization/103908
14123         * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
14124         asm goto.
14126 2022-01-05  Bill Schmidt  <wschmidt@linux.ibm.com>
14128         PR target/103622
14129         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
14130         Skip over instances with undefined function types.
14132 2022-01-05  Andrew Pinski  <apinski@marvell.com>
14134         PR target/103910
14135         * config/i386/i386.h (x86_mfence): Mark with GTY.
14137 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
14139         PR target/103861
14140         * config/i386/mmx.md (VI_16_32): New mode iterator.
14141         (VI1_16_32): Ditto.
14142         (mmxvecsize): Handle V2QI mode.
14143         (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
14144         Use VI1_16_32 mode iterator.
14145         (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
14146         Use VI1_16_32 mode iterator.
14147         (abs<mode>2): Use VI_16_32 mode iterator.
14148         (uavgv2qi3_ceil): New insn pattern.
14150 2022-01-05  Martin Sebor  <msebor@redhat.com>
14152         * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
14153         %qs to avoid -Wformat-diag.
14155 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
14157         PR target/103915
14158         * config/i386/mmx.md (one_cmplv2qi2): Change
14159         alternatives 1,2 type from sselog to sselog1.
14161 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
14163         PR target/103905
14164         * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
14165         narrow mode remapped elements for !one_operand_p case.
14167 2022-01-05  Richard Biener  <rguenther@suse.de>
14169         PR tree-optimization/103816
14170         * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
14171         check DR_GROUP_GAP compute for overflow and representability.
14173 2022-01-05  Jakub Jelinek  <jakub@redhat.com>
14175         PR fortran/103691
14176         * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
14177         for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
14178         it can do unwanted rhs folding like &a[0] into &2.0 etc.
14180 2022-01-05  Kewen Lin  <linkw@linux.ibm.com>
14182         PR ipa/102059
14183         * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
14184         (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
14185         (rs6000_need_ipa_fn_target_info): New function.
14186         (rs6000_update_ipa_fn_target_info): Likewise.
14187         (rs6000_can_inline_p): Adjust for ipa function summary target info.
14188         * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
14189         * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
14190         summary target info.
14191         (analyze_function_body): Adjust for ipa function summary target info
14192         and call hook rs6000_need_ipa_fn_target_info and
14193         rs6000_update_ipa_fn_target_info.
14194         (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
14195         target info.
14196         (inline_read_section): Likewise.
14197         (ipa_fn_summary_write): Likewise.
14198         * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
14199         * doc/tm.texi: Regenerate.
14200         * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
14201         (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
14202         * target.def (update_ipa_fn_target_info): New hook.
14203         (need_ipa_fn_target_info): Likewise.
14204         * targhooks.c (default_need_ipa_fn_target_info): New function.
14205         (default_update_ipa_fn_target_info): Likewise.
14206         * targhooks.h (default_update_ipa_fn_target_info): New declare.
14207         (default_need_ipa_fn_target_info): Likewise.
14209 2022-01-04  Martin Sebor  <msebor@redhat.com>
14211         PR middle-end/99612
14212         * builtins.c (get_memmodel): Move warning code to
14213         gimple-ssa-warn-access.cc.
14214         (expand_builtin_atomic_compare_exchange): Same.
14215         (expand_ifn_atomic_compare_exchange): Same.
14216         (expand_builtin_atomic_load): Same.
14217         (expand_builtin_atomic_store): Same.
14218         (expand_builtin_atomic_clear): Same.
14219         * doc/extend.texi (__atomic_exchange_n): Update valid memory
14220         models.
14221         * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
14222         (struct memmodel_pair): New struct.
14223         (memmodel_name): New function.
14224         (pass_waccess::maybe_warn_memmodel): New function.
14225         (pass_waccess::check_atomic_memmodel): New function.
14226         (pass_waccess::check_atomic_builtin): Handle memory model.
14227         * input.c (expansion_point_location_if_in_system_header): Return
14228         original location if expansion location is in a system header.
14230 2022-01-04  Uroš Bizjak  <ubizjak@gmail.com>
14232         PR target/103861
14233         * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
14234         (one_cmplv2qi3 splitters): New post-reload splitters.
14235         (*andnotv2qi3): New insn pattern.
14236         (andnotv2qi3 splitters): New post-reload splitters.
14237         (<any_logic:code>v2qi3): New insn pattern.
14238         (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
14240 2022-01-04  Richard Biener  <rguenther@suse.de>
14242         PR tree-optimization/103800
14243         * tree-vect-loop.c (vectorizable_phi): Remove assert and
14244         expand comment.
14246 2022-01-04  Richard Biener  <rguenther@suse.de>
14248         PR tree-optimization/103690
14249         * tree-pass.h (tail_merge_optimize): Adjust.
14250         * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
14251         to re-split critical edges, move CFG cleanup ...
14252         * tree-ssa-pre.c (pass_pre::execute): ... here, before
14253         simple_dce_from_worklist and delay freeing inserted_exprs from
14254         ...
14255         (fini_pre): .. here.
14257 2022-01-04  Roger Sayle  <roger@nextmovesoftware.com>
14259         * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
14260         * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
14261         (setcc_from_bi): Remove SImode specific pattern.
14262         (setcc<mode>_from_bi): Provide more general HSDIM pattern.
14263         (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
14264         for sign- and zero-extending BImode predicates to integers.
14265         (setcc_int<mode>): Remove previous (-1-based) instructions.
14266         (cstorebi4): Remove BImode to SImode specific expander.
14267         (cstore<mode>4): Fix indentation.  Expand using setccsi_from_bi.
14268         (cstore<mode>4): For both integer and floating point modes.
14270 2022-01-04  Olivier Hainque  <hainque@adacore.com>
14272         * gcc.c (driver_handle_option): do_save --sysroot.
14274 2022-01-04  Richard Biener  <rguenther@suse.de>
14276         PR tree-optimization/103864
14277         PR tree-optimization/103544
14278         * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
14279         reductions wrapped in conversions from SLP handling.
14280         (vect_analyze_slp): Revert PR103544 change.
14282 2022-01-04  Jakub Jelinek  <jakub@redhat.com>
14284         PR rtl-optimization/103860
14285         * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
14286         uselessly for blocks for which it has been called already.
14288 2022-01-04  Cui,Lili  <lili.cui@intel.com>
14290         * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
14291         to Alderlake and Rocketlake.
14293 2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
14295         PR middle-end/103643
14296         * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
14297         OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
14299 2022-01-04  liuhongt  <hongtao.liu@intel.com>
14301         PR target/103895
14302         * config/i386/sse.md (*bit_and_float_vector_all_ones):
14303         Force_reg operand 1 to avoid ICE.
14305 2022-01-04  Jason Merrill  <jason@redhat.com>
14307         * tree-pretty-print.c (do_niy): Add spc parameter.
14308         (NIY): Pass it.
14309         (print_call_name): Add spc local variable.
14311 2022-01-03  Uroš Bizjak  <ubizjak@gmail.com>
14313         PR target/103894
14314         * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
14315         (mov<V_32:mode>_internal): Ditto.
14316         (*push<V_32:mode>_rex64): Ditto.
14317         (movmisalign<V_32:mode>): Ditto.
14318         (*push<V_32:mode>_rex64 splitter): Enable for
14319         TARGET_64BIT && TARGET_SSE.
14320         (*push<V_32:mode>2): Remove insn pattern.
14322 2022-01-03  Andrew Pinski  <apinski@marvell.com>
14324         PR c/33193
14325         * doc/extend.texi: Extend the documentation about Complex
14326         types for casting and also rewrite the __real__/__imag__
14327         expression portion to use tables.
14328         Move __builtin_complex to the Complex type section.
14330 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
14332         PR target/98737
14333         * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
14334         ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
14335         New internal fns.
14336         * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
14337         ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
14338         ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
14339         * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
14340         expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
14341         expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
14342         functions.
14343         * optabs.def (atomic_add_fetch_cmp_0_optab,
14344         atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
14345         atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
14346         direct optabs.
14347         * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
14348         * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
14349         * tree-ssa-ccp.c: Include internal-fn.h.
14350         (optimize_atomic_bit_test_and): Add . before internal fn call
14351         in function comment.  Change return type from void to bool and
14352         return true only if successfully replaced.
14353         (optimize_atomic_op_fetch_cmp_0): New function.
14354         (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
14355         for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
14356         BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
14357         for *XOR* ones only if optimize_atomic_bit_test_and failed.
14358         * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
14359         atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
14360         (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
14361         atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
14362         * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
14363         atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
14364         atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
14365         new named patterns.
14367 2022-01-03  Richard Biener  <rguenther@suse.de>
14369         PR middle-end/103851
14370         * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
14372 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
14374         PR c++/94716
14375         * symtab.c: Include fold-const.h.
14376         (symtab_node::equal_address_to): If folding_initializer is true,
14377         handle it like memory_accessed.  Simplify.
14379 2022-01-03  Martin Liska  <mliska@suse.cz>
14381         * doc/extend.texi: Use ; for function declarations.
14383 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
14385         PR c++/103600
14386         * symtab.c (symtab_node::equal_address_to): Return 0 if one of
14387         VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
14389 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
14391         * gcc.c (process_command): Update copyright notice dates.
14392         * gcov-dump.c (print_version): Ditto.
14393         * gcov.c (print_version): Ditto.
14394         * gcov-tool.c (print_version): Ditto.
14395         * gengtype.c (create_file): Ditto.
14396         * doc/cpp.texi: Bump @copying's copyright year.
14397         * doc/cppinternals.texi: Ditto.
14398         * doc/gcc.texi: Ditto.
14399         * doc/gccint.texi: Ditto.
14400         * doc/gcov.texi: Ditto.
14401         * doc/install.texi: Ditto.
14402         * doc/invoke.texi: Ditto.
14404 2022-01-02  Uroš Bizjak  <ubizjak@gmail.com>
14406         PR target/103861
14407         * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
14408         (VALID_INT_MODE_P): Ditto.
14409         * config/i386/i386.c (ix86_secondary_reload): Handle
14410         V2QImode reloads from SSE register to memory.
14411         (vector_mode_supported_p): Always return true for V2QImode.
14412         * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
14413         (*negqi_ext<mode>_2): Ditto.
14414         * config/i386/mmx.md (movv2qi): New expander.
14415         (movmisalignv2qi): Ditto.
14416         (*movv2qi_internal): New insn pattern.
14417         (*pushv2qi2): Ditto.
14418         (negv2qi2 and splitters): Ditto.
14419         (<plusminus:insn>v2qi3 and splitters): Ditto.
14421 2022-01-02  John David Anglin  <danglin@gcc.gnu.org>
14423         * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
14424         sync_lock_test_and_set libfunc. Call convert_memory_address to
14425         convert memory address to Pmode.
14426         (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
14429 Copyright (C) 2022 Free Software Foundation, Inc.
14431 Copying and distribution of this file, with or without modification,
14432 are permitted in any medium without royalty provided the copyright
14433 notice and this notice are preserved.