1 2022-05-16 Sebastian Pop <spop@amazon.com>
4 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
6 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
7 memmodel_from_int and handle MEMMODEL_SYNC_*.
8 (DEF0): Add __aarch64_*_sync functions.
10 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
12 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
13 instead of a bitwise negation.
14 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
16 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
18 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
19 is the same on the LHS and RHS before rewriting one with the model
22 2022-05-13 Alexandre Oliva <oliva@adacore.com>
24 Backported from master:
25 2022-05-13 Alexandre Oliva <oliva@adacore.com>
27 PR rtl-optimization/105455
28 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
29 probabilities for newly-conditional edges.
31 2022-05-11 Martin Jambor <mjambor@suse.cz>
33 Backported from master:
34 2022-04-29 Martin Jambor <mjambor@suse.cz>
37 * cgraph.cc (cgraph_node::remove): Release body of the node this
38 is clone_of if appropriate.
40 2022-05-10 Jakub Jelinek <jakub@redhat.com>
42 Backported from master:
43 2022-05-10 Jakub Jelinek <jakub@redhat.com>
45 PR tree-optimization/105528
46 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
47 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
49 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
52 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
53 true only for 8-byte vector modes.
55 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
57 Backported from master:
58 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
61 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
62 and -mpower10-fusion options for inlining purposes.
64 2022-05-06 Richard Biener <rguenther@suse.de>
66 Backported from master:
67 2022-04-29 Richard Biener <rguenther@suse.de>
70 * tree.cc (build_real): Special case dconst* arguments
71 for decimal floating point types.
73 2022-05-06 Richard Biener <rguenther@suse.de>
75 Backported from master:
76 2022-05-05 Richard Biener <rguenther@suse.de>
78 PR tree-optimization/105484
79 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
80 whether the CFG changed.
81 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
83 2022-05-06 Richard Biener <rguenther@suse.de>
85 Backported from master:
86 2022-05-03 Richard Biener <rguenther@suse.de>
89 * opts.cc (finish_options): Match the condition to
90 disable flag_var_tracking to that of process_options.
92 2022-05-06 Richard Biener <rguenther@suse.de>
94 Backported from master:
95 2022-05-03 Richard Biener <rguenther@suse.de>
97 * opts.cc: #undef OPTIONS_SET_P.
98 (finish_options): Use opts_set instead of OPTIONS_SET_P.
100 2022-05-06 Richard Biener <rguenther@suse.de>
102 Backported from master:
103 2022-05-02 Richard Biener <rguenther@suse.de>
105 PR tree-optimization/105437
106 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
107 case where last_stmt alters control flow.
109 2022-05-06 Richard Biener <rguenther@suse.de>
111 Backported from master:
112 2022-05-03 Richard Biener <rguenther@suse.de>
114 PR tree-optimization/105394
115 * tree-vect-generic.cc (expand_vector_condition): Adjust
116 comp_width for non-integer mode masks as well.
118 2022-05-06 Release Manager
120 * GCC 12.1.0 released.
122 2022-05-02 Jakub Jelinek <jakub@redhat.com>
124 Backported from master:
125 2022-05-02 Jakub Jelinek <jakub@redhat.com>
127 * system.h: Include initializer_list.
129 2022-04-28 Jakub Jelinek <jakub@redhat.com>
132 * cgraph.cc (cgraph_node::verify_node): Don't verify
133 semantic_interposition flag against
134 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
136 2022-04-28 Jakub Jelinek <jakub@redhat.com>
139 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
140 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
143 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
145 * doc/install.texi (Configuration): Remove misleading text
146 around LE PowerPC Linux multilibs.
148 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
151 * doc/install.texi (Tools/packages necessary for building GCC)
152 (GDC): Document libphobos requirement.
153 (Host/target specific installation notes for GCC, *-*-solaris2*):
154 Document libphobos and GDC specifics.
156 2022-04-28 Richard Biener <rguenther@suse.de>
158 PR tree-optimization/105219
159 * tree-vect-loop.cc (vect_transform_loop): Disable
160 special code narrowing the vectorized epilogue max
161 iterations when peeling for alignment or gaps was in effect.
163 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
165 * config/loongarch/loongarch.cc
166 (loongarch_flatten_aggregate_field): Ignore empty fields for
169 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
171 * config/loongarch/loongarch.md: Add fdiv define_expand template,
172 then generate floating-point division and floating-point reciprocal
175 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
177 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
178 to PLV instruction templates.
180 2022-04-27 Richard Biener <rguenther@suse.de>
183 * gimple-ssa-warn-access.cc
184 (pass_waccess::warn_invalid_pointer): Exclude equality compare
185 diagnostics for all kind of invalidations.
186 (pass_waccess::check_dangling_uses): Fix post-dominator query.
187 (pass_waccess::check_pointer_uses): Likewise.
189 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
192 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
194 * config/s390/s390.cc (s390_single_field_struct_p): New function.
195 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
196 (s390_function_arg_float): Likewise.
198 2022-04-27 Jakub Jelinek <jakub@redhat.com>
201 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
202 where offset is bigger than off but smaller than m_prev_offset + 32
203 bits by pushing one or more 0 bytes. Sink the
204 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
205 all cases to the end of the function.
207 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
210 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
213 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
215 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
216 data-share memory exhausted" error more verbose.
218 2022-04-26 Martin Liska <mliska@suse.cz>
221 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
222 (run_gcc): Parse OPT_fdiagnostics_urls_.
223 (main): Initialize global_dc.
225 2022-04-26 Jakub Jelinek <jakub@redhat.com>
227 PR rtl-optimization/105314
228 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
229 operand is equal to if_info->x, instead use the non-zero operand
230 as one of the operands of AND with if_info->x as target.
232 2022-04-26 Jakub Jelinek <jakub@redhat.com>
234 PR tree-optimization/105374
235 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
236 !fold_convertible_p rather than assuming fold_convert must succeed.
238 2022-04-26 Jakub Jelinek <jakub@redhat.com>
241 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
242 el_mode == DFmode ? double_type_node : float_type_node instead of
243 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
245 2022-04-25 David Malcolm <dmalcolm@redhat.com>
248 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
249 the location of new_stmt in all places that don't already set it,
250 whether explicitly, or via a call to gsi_replace.
252 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
254 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
256 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
258 PR tree-optimization/105276
259 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
260 existing global range with calculated value.
262 2022-04-25 Richard Biener <rguenther@suse.de>
264 PR tree-optimization/105368
265 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
267 2022-04-25 Richard Biener <rguenther@suse.de>
269 PR tree-optimization/100810
270 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
271 (find_ssa_undef): New function.
272 (add_candidate_1): Avoid adding derived candidates with
273 undefined SSA names and mark the original ones.
274 (determine_group_iv_cost_generic): Reject rewriting
275 uses with a different IV when that involves undefined SSA names.
277 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
280 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
281 bsd_libc_has_function.
282 * targhooks.cc (bsd_libc_has_function): New function.
283 Expand the supported math functions to inclue C99 libm.
284 * targhooks.h (bsd_libc_has_function): New Prototype.
286 2022-04-25 Richard Biener <rguenther@suse.de>
288 PR rtl-optimization/105231
289 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
290 with landing pad > 0 is from i3. Put any REG_EH_REGION note
291 on i3 or drop it if the insn can not trap.
292 (try_combine): Ensure that we can merge REG_EH_REGION notes
293 with non-call exceptions. Ensure we are not splitting a
294 trapping part of an insn with non-call exceptions when there
295 is any REG_EH_REGION note to preserve.
297 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
300 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
301 Add parentheses for parameters and djust format.
302 (_mm512_mask_scalef_round_pd): Ditto.
303 (_mm512_maskz_scalef_round_pd): Ditto.
304 (_mm512_scalef_round_ps): Ditto.
305 (_mm512_mask_scalef_round_ps): Ditto.
306 (_mm512_maskz_scalef_round_ps): Ditto.
307 (_mm_scalef_round_sd): Use _mm_undefined_pd.
308 (_mm_scalef_round_ss): Use _mm_undefined_ps.
309 (_mm_mask_scalef_round_sd): New macro.
310 (_mm_mask_scalef_round_ss): Ditto.
311 (_mm_maskz_scalef_round_sd): Ditto.
312 (_mm_maskz_scalef_round_ss): Ditto.
314 2022-04-23 Jakub Jelinek <jakub@redhat.com>
317 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
318 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
321 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
324 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
325 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
326 (pack<mode>_hard for FMOVE128): ... this...
327 (pack<mode>_soft for FMOVE128): ... and this.
329 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
331 * doc/extend.texi: Correct "This" to "These".
333 2022-04-22 Jakub Jelinek <jakub@redhat.com>
335 PR rtl-optimization/105333
336 * rtlanal.cc (replace_rtx): Use simplify_subreg or
337 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
340 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
344 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
345 the "Z" alternatives in {l,st}{f,xs}iwzx.
346 (zero_extendhi<mode>2 for EXTHI): Ditto.
347 (zero_extendsi<mode>2 for EXTSI): Ditto.
348 (*movsi_internal1): Ditto.
349 (*mov<mode>_internal1 for QHI): Ditto.
350 (movsd_hardfloat): Ditto.
352 2022-04-21 Martin Liska <mliska@suse.cz>
354 * configure.ac: Enable compressed debug sections for mold
356 * configure: Regenerate.
358 2022-04-21 Jakub Jelinek <jakub@redhat.com>
361 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
364 2022-04-20 Richard Biener <rguenther@suse.de>
366 PR tree-optimization/104912
367 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
368 the cost model check to a separate BB to make sure it is
369 checked first and not combined with other version checks.
371 2022-04-20 Richard Biener <rguenther@suse.de>
373 PR tree-optimization/105312
374 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
375 VCOND and VCONDU for EQ and NE.
377 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
380 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
381 poly_offset_int to avoid overflow.
382 (modref_access_node::update2): likewise.
384 2022-04-20 Jakub Jelinek <jakub@redhat.com>
387 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
388 to opt_for_fn (decl, flag_semantic_interposition).
389 * cgraphclones.cc (cgraph_node::create_clone): Copy over
390 semantic_interposition flag.
392 2022-04-19 Sergei Trofimovich <siarheit@google.com>
394 PR gcov-profile/105282
395 * value-prof.cc (stream_out_histogram_value): Allow negative counts
396 on HIST_TYPE_INDIR_CALL.
398 2022-04-19 Jakub Jelinek <jakub@redhat.com>
401 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
402 use gen_raw_REG instead of gen_rtx_REG and copy over also
403 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
405 2022-04-19 Richard Biener <rguenther@suse.de>
407 PR tree-optimization/104010
408 PR tree-optimization/103941
409 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
410 we run into stmts in patterns continue walking those
411 for uses outside of the vectorized region instead of
412 marking the lane live.
414 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
416 * doc/install.texi <CRIS>: Remove references to removed websites and
417 adjust for cris-*-elf being the only remaining toolchain.
419 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
421 * doc/invoke.texi <CRIS>: Remove references to options for removed
422 subtarget cris-axis-linux-gnu and tweak wording accordingly.
424 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
426 * doc/install.texi (Specific): Adjust mingw-w64 download link.
428 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
430 * config/i386/smmintrin.h: Correct target pragma from sse4.1
431 and sse4.2 to crc32 for crc32 intrinsics.
433 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
436 * ctfc.cc (ctf_dvd_ignore_insert): New function.
437 (ctf_dvd_ignore_lookup): Likewise.
438 (ctf_add_variable): Keep track of non-defining decl DIEs.
439 (new_ctf_container): Initialize the new hash-table.
440 (ctfc_delete_container): Empty hash-table.
441 * ctfc.h (struct ctf_container): Add new hash-table.
442 (ctf_dvd_ignore_lookup): New declaration.
443 (ctf_add_variable): Add additional argument.
444 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
445 record for non-defining decl for which a defining decl exists
447 (ctf_preprocess): Defer updating the number of global objts
449 (output_ctf_header): Use ctfc_vars_list_count as some CTF
450 variables may not make it to the final output.
451 (output_ctf_vars): Likewise.
452 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
453 if this is known to be a non-defining decl DIE.
455 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
457 * ctfc.h (struct ctf_container): Introduce a new member.
458 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
461 2022-04-14 Jakub Jelinek <jakub@redhat.com>
464 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
465 or rotates by VOIDmode constant integer shift count use word_mode
466 for the operand if int_mode is narrower than word.
468 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
470 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
471 (s390_get_unit_mask): Likewise.
472 (s390_is_fpd): Likewise.
473 (s390_is_fxd): Likewise.
474 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
475 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
477 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
479 * config/s390/3931.md: New file.
481 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
483 PR tree-optimization/105254
484 * config/aarch64/aarch64.cc
485 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
486 loop_vec_info as argument. Restrict the unroll factor to values
488 (aarch64_vector_costs::finish_cost): Update call accordingly.
490 2022-04-13 Richard Biener <rguenther@suse.de>
492 PR tree-optimization/105263
493 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
494 negates in multiplication chains with DFP.
496 2022-04-13 Jakub Jelinek <jakub@redhat.com>
499 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
500 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
501 comparisons or tree_nop_conversion_p checks.
503 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
506 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
507 Add missing set to target_val at pause label.
509 2022-04-13 Jakub Jelinek <jakub@redhat.com>
512 * attribs.cc (decl_attributes): Don't set
513 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
516 2022-04-13 Richard Biener <rguenther@suse.de>
518 PR tree-optimization/105250
519 * fold-const.cc (fold_convertible_p): Revert
520 r12-7979-geaaf77dd85c333, instead check for size equality
521 of the vector types involved.
523 2022-04-13 Richard Biener <rguenther@suse.de>
526 2022-04-13 Richard Biener <rguenther@suse.de>
528 PR tree-optimization/104912
529 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
530 the cost model check to a separate BB to make sure it is
531 checked first and not combined with other version checks.
533 2022-04-13 Richard Biener <rguenther@suse.de>
535 PR tree-optimization/104912
536 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
537 the cost model check to a separate BB to make sure it is
538 checked first and not combined with other version checks.
540 2022-04-13 Jakub Jelinek <jakub@redhat.com>
542 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
544 2022-04-12 Antoni Boucher <bouanto@zoho.com>
547 * reginfo.cc: New functions (clear_global_regs_cache,
548 reginfo_cc_finalize) to avoid an issue where compiling the same
549 code multiple times gives an error about assigning the same
550 register to 2 global variables.
551 * rtl.h: New function (reginfo_cc_finalize).
552 * toplev.cc: Call it.
554 2022-04-12 Antoni Boucher <bouanto@zoho.com>
557 * toplev.cc: Call the new function tree_cc_finalize in
559 * tree.cc: New functions (clear_nonstandard_integer_type_cache
560 and tree_cc_finalize) to clear the cache of non-standard integer
561 types to avoid having issues with some optimizations of
562 bitcast where the SSA_NAME will have a size of a cached
563 integer type that should have been invalidated, causing a
564 comparison of integer constant to fail.
565 * tree.h: New function (tree_cc_finalize).
567 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
570 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
571 * config/nvptx/nvptx.opt (misa): Adjust comment.
573 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
576 2022-03-03 Tom de Vries <tdevries@suse.de>
578 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
580 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
583 2022-03-31 Tom de Vries <tdevries@suse.de>
585 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
587 2022-04-12 Richard Biener <rguenther@suse.de>
590 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
591 include local escaped memory as obviously necessary stores.
593 2022-04-12 Richard Biener <rguenther@suse.de>
595 PR tree-optimization/105235
596 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
597 return whether the CFG changed.
598 (execute_cse_sincos_1): Adjust.
600 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
603 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
604 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
605 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
606 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
607 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
608 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
609 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
611 2022-04-12 Richard Biener <rguenther@suse.de>
613 PR tree-optimization/105232
614 * tree.cc (component_ref_size): Bail out for too large
615 or non-constant sizes.
617 2022-04-12 Richard Biener <rguenther@suse.de>
619 PR tree-optimization/105226
620 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
621 we can split the exit of an outer loop we choose to version.
623 2022-04-12 Jakub Jelinek <jakub@redhat.com>
625 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
626 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
627 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
628 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
629 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
631 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
633 2022-04-12 Jakub Jelinek <jakub@redhat.com>
636 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
637 do_pending_stack_adjust.
639 2022-04-12 Jakub Jelinek <jakub@redhat.com>
641 PR rtl-optimization/105211
642 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
643 fails for TREE_TYPE (arg), retry it with
644 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
645 fails, emit call normally.
647 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
649 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
650 * config.gcc: Add z16 as march/mtune switch.
651 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
652 Recognize z16 with -march=native.
653 * config/s390/s390-opts.h (enum processor_type): Rename
654 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
655 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
656 (PROCESSOR_3931_Z16): ... throughout the file.
657 (s390_processor processor_table): Add z16 as cpu string.
658 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
660 (TARGET_CPU_ARCH14): Rename to ...
661 (TARGET_CPU_Z16): ... this.
662 (TARGET_CPU_ARCH14_P): Rename to ...
663 (TARGET_CPU_Z16_P): ... this.
664 (TARGET_ARCH14): Rename to ...
665 (TARGET_Z16): ... this.
666 (TARGET_ARCH14_P): Rename to ...
667 (TARGET_Z16_P): ... this.
668 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
669 check TARGET_Z16 instead of TARGET_ARCH14.
670 * config/s390/s390.opt: Add z16 to processor_type.
671 * doc/invoke.texi: Document z16 and arch14.
673 2022-04-12 chenglulu <chenglulu@loongson.cn>
675 * config/loongarch/loongarch.cc: Fix bug for
676 tmpdir-g++.dg-struct-layout-1/t033.
678 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
681 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
682 to longcall functions.
684 2022-04-11 Jason Merrill <jason@redhat.com>
686 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
688 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
692 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
694 2022-04-11 Jakub Jelinek <jakub@redhat.com>
696 PR tree-optimization/105218
697 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
698 more than one predecessor or phi's bb more than 2 predecessors,
699 reset phi result uses instead of adding a debug temp.
701 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
704 * config.gcc: Pass -misa-spec to arch-canonicalize and
706 * config/riscv/arch-canonicalize: Adding -misa-spec option.
707 (SUPPORTED_ISA_SPEC): New.
708 (arch_canonicalize): New argument `isa_spec`.
709 Handle multiple ISA spec versions.
710 * config/riscv/multilib-generator: Adding -misa-spec option.
712 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
714 * config/riscv/arch-canonicalize: Add TODO item.
716 (arch_canonicalize): Checking until no change.
718 2022-04-11 Tamar Christina <tamar.christina@arm.com>
721 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
724 2022-04-11 Jason Merrill <jason@redhat.com>
727 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
730 2022-04-11 Jakub Jelinek <jakub@redhat.com>
732 PR tree-optimization/104639
733 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
734 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
737 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
739 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
740 sign bit of the source ends up in CC.
742 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
745 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
748 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
750 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
751 nondeterministic and side_effects flags.
753 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
756 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
757 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
758 (TARGET_CPU_MASK): Likewise.
759 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
760 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
761 (aarch64_get_arch): Likewise.
762 (aarch64_override_options): Use TARGET_CPU_NBITS.
764 2022-04-08 Richard Biener <rguenther@suse.de>
766 PR tree-optimization/105198
767 * tree-predcom.cc (find_looparound_phi): Check whether
768 the found memory location of the entry value is clobbered
769 inbetween the value we want to use and loop entry.
771 2022-04-08 Jakub Jelinek <jakub@redhat.com>
773 PR tree-optimization/105189
774 * fold-const.cc (make_range_step): Fix up handling of
775 (unsigned) x +[low, -] ranges for signed x if low fits into
778 2022-04-08 Richard Biener <rguenther@suse.de>
780 PR tree-optimization/105175
781 * tree-vect-stmts.cc (vectorizable_operation): Suppress
782 -Wvector-operation-performance if using emulated vectors.
783 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
784 -Wvector-operation-performance when suppressed.
785 (expand_vector_parallel): Likewise.
786 (expand_vector_comparison): Likewise.
787 (expand_vector_condition): Likewise.
788 (lower_vec_perm): Likewise.
789 (expand_vector_conversion): Likewise.
791 2022-04-07 Tamar Christina <tamar.christina@arm.com>
794 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
795 (aarch64_general_init_builtins): Move LS64 code.
796 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
798 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
799 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
801 2022-04-07 Richard Biener <rguenther@suse.de>
802 Jan Hubicka <hubicka@ucw.cz>
805 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
806 ref_may_alias_global_p, ref_may_alias_global_p,
807 stmt_may_clobber_global_p, pt_solution_includes_global): Add
808 bool parameters indicating whether escaped locals should be
810 * tree-ssa-structalias.cc (pt_solution_includes_global):
811 When the new escaped_nonlocal_p flag is true also consider
812 pt->vars_contains_escaped.
813 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
814 Pass down new escaped_nonlocal_p flag.
815 (ref_may_alias_global_p): Likewise.
816 (stmt_may_clobber_global_p): Likewise.
817 (ref_may_alias_global_p_1): Likewise. For decls also
818 query the escaped solution if true.
819 (ref_may_access_global_memory_p): Remove.
820 (modref_may_conflict): Use ref_may_alias_global_p with
821 escaped locals considered global.
822 (ref_maybe_used_by_stmt_p): Adjust.
823 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
825 * tree-ssa-dse.cc (dse_classify_store): Likewise.
826 * trans-mem.cc (thread_private_new_memory): Likewise, but
827 consider escaped locals global.
828 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
830 2022-04-07 Richard Biener <rguenther@suse.de>
832 PR tree-optimization/105185
833 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
836 2022-04-07 Tamar Christina <tamar.christina@arm.com>
839 * config/aarch64/aarch64-simd.md
840 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
841 (reduc_plus_scal_<mode>): ... This.
842 (reduc_plus_scal_v4sf): Moved.
843 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
844 (reduc_plus_scal_v2si): ... This.
846 2022-04-07 Jakub Jelinek <jakub@redhat.com>
848 PR tree-optimization/102586
849 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
851 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
852 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
853 * gimple-fold.cc (clear_padding_type): Use ftype instead of
854 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
855 name try the lang_hooks.types.classtype_as_base langhook and
856 if it returns non-NULL, use that instead of ftype for recursive call.
858 2022-04-07 Jakub Jelinek <jakub@redhat.com>
860 PR tree-optimization/105150
861 * tree.cc (tree_builtin_call_types_compatible_p): New function.
862 (get_call_combined_fn): Use it.
864 2022-04-07 Richard Biener <rguenther@suse.de>
867 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
870 2022-04-07 liuhongt <hongtao.liu@intel.com>
872 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
874 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
876 (<code><mode>3<mask_name>): Ditto.
877 (*<code><mode>3<mask_name>): Ditto.
878 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
883 2022-04-06 Jakub Jelinek <jakub@redhat.com>
885 PR rtl-optimization/104985
886 * combine.cc (struct undo): Add where.regno member.
887 (do_SUBST_MODE): Rename to ...
888 (subst_mode): ... this. Change first argument from rtx * into int,
889 operate on regno_reg_rtx[regno] and save regno into where.regno.
890 (SUBST_MODE): Remove.
891 (try_combine): Use subst_mode instead of SUBST_MODE, change first
892 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
893 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
894 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
895 instead of *undo->where.r.
896 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
897 argument from regno_reg_rtx[whatever] to whatever.
899 2022-04-06 Jakub Jelinek <jakub@redhat.com>
902 * config/sh/sh.opt (mdiv=): Add Save.
904 2022-04-06 Martin Liska <mliska@suse.cz>
907 * common.opt: Document properly based on what it does.
908 * gcc.cc (display_help): Unify with what we have in common.opt.
909 * opts.cc (common_handle_option): Do not print undocumented
912 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
914 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
915 cxx17_empty_base_field_p fields and set an indicator.
916 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
917 (mips_function_value_1): Inform psABI change about C++17 empty
920 2022-04-06 Jakub Jelinek <jakub@redhat.com>
922 PR tree-optimization/105150
923 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
924 builtin_decl_explicit here...
925 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
928 2022-04-06 Richard Biener <rguenther@suse.de>
930 PR tree-optimization/105173
931 * tree-ssa-reassoc.cc (find_insert_point): Get extra
932 insert_before output argument and compute it.
933 (insert_stmt_before_use): Adjust.
934 (rewrite_expr_tree): Likewise.
936 2022-04-06 Richard Biener <rguenther@suse.de>
939 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
940 out for non-pointer arguments.
942 2022-04-06 Richard Biener <rguenther@suse.de>
944 PR tree-optimization/105163
945 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
948 2022-04-06 Jakub Jelinek <jakub@redhat.com>
950 PR tree-optimization/105150
951 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
952 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
953 preferrably on builtin_decl_explicit decl rather than fndecl.
954 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
955 gimple_builtin_call_types_compatible_p here.
957 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
959 PR tree-optimization/103761
960 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
961 the ncopies parameter with an slp_node parameter. Calculate the
962 number of vectors based on it and vectype. Rename lambda to
963 group_memory_nvectors.
964 (vectorizable_store, vectorizable_load): Update calls accordingly.
966 2022-04-06 Martin Liska <mliska@suse.cz>
968 * doc/invoke.texi: Document it.
970 2022-04-06 Richard Biener <rguenther@suse.de>
972 PR tree-optimization/105148
973 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
974 2 and 3 of ARRAY_REFs.
976 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
978 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
979 (*andnottf3): Replace with...
980 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
982 2022-04-06 Richard Biener <rguenther@suse.de>
984 PR tree-optimization/105142
985 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
986 basic-block parameter.
987 (maybe_fold_or_comparisons): Likewise.
988 * gimple-fold.cc (follow_outer_ssa_edges): New.
989 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
990 when an outer condition basic-block is specified.
991 (and_comparisons_1, and_var_with_comparison,
992 and_var_with_comparison_1, or_comparisons_1,
993 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
994 down the outer condition basic-block.
995 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
996 basic-block of the outer condition.
998 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
1001 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
1002 comparison codes UNLT/UNLE/UNGT/UNGE.
1004 2022-04-05 David Malcolm <dmalcolm@redhat.com>
1006 * doc/extend.texi (Common Function Attributes): Document that
1007 'access' does not imply 'nonnull'.
1009 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
1012 * config/i386/mmx.md (*movv2qi_internal):
1013 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
1015 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
1017 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
1018 define_expand and turn operands 0 and 1 from REGs to MEMs.
1019 (*aarch64_cpymemdi): New pattern.
1020 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
1021 from a REG to a MEM.
1022 (*aarch64_setmemdi): New pattern.
1023 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
1024 copy_to_mode_reg on all three registers. Replace the original
1025 MEM addresses rather than creating wild reads and writes.
1026 (aarch64_expand_setmem_mops): Likewise for the size and for the
1027 destination memory and address.
1029 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
1032 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
1033 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
1034 from aarch64_simd_switcher.
1035 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
1037 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
1038 (register_tuple_type): Add more asserts. Expect the alignment
1039 of the structure to be subject to flag_pack_struct and
1040 maximum_field_alignment. Set aarch64_simd_tuple_modes.
1041 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
1042 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
1043 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
1044 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
1045 while calling aarch64_init_simd_builtins.
1046 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
1047 (sve_switcher::~sve_switcher): Remove code now performed by
1048 aarch64_simd_switcher.
1050 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
1053 * config/aarch64/aarch64-sve-builtins.cc
1054 (function_resolver::infer_vector_or_tuple_type): Use error_n
1055 for "%d vectors" messages.
1057 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
1059 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
1060 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
1063 2022-04-05 Richard Biener <rguenther@suse.de>
1066 * passes.def (pass_walloca): Move early instance into
1067 pass_build_ssa_passes to make SSA form available.
1069 2022-04-05 liuhongt <hongtao.liu@intel.com>
1072 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
1074 (ix86_reorg): Call ix86_split_stlf_stall_load.
1075 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
1078 2022-04-05 Alexandre Oliva <oliva@adacore.com>
1080 * targhooks.cc (default_zero_call_used_regs): Attempt to group
1081 regs that the target refuses to use in their natural modes.
1082 (zcur_select_mode_rtx): New.
1083 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
1084 (hard_regno_max_nregs): Define.
1085 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
1087 2022-04-04 Alex Coplan <alex.coplan@arm.com>
1089 * doc/match-and-simplify.texi: Fix typos.
1091 2022-04-04 Jakub Jelinek <jakub@redhat.com>
1094 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
1095 only if configured with --enable-maintainer-mode, otherwise compare
1096 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
1097 if they differ, emit a message and fail.
1099 2022-04-04 Jakub Jelinek <jakub@redhat.com>
1102 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
1103 * config/aarch64/aarch64-tune.md: Regenerated.
1105 2022-04-04 Richard Biener <rguenther@suse.de>
1107 PR tree-optimization/105132
1108 * tree-vect-stmts.cc (vectorizable_operation): Check that
1109 the input vectors have the same number of elements.
1111 2022-04-04 Richard Biener <rguenther@suse.de>
1113 PR middle-end/105140
1114 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
1116 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
1119 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
1120 (delay slot descripts): Use different delay slot description when
1121 the insn as the "bbi" attribute.
1122 (bbi, bbin patterns): Set the bbi attribute to yes.
1124 2022-04-03 Jakub Jelinek <jakub@redhat.com>
1127 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
1128 using word as target for expand_simple_binop when doing ASHIFT and
1131 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
1133 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
1134 NULL before dereferencing it.
1136 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
1138 * config/i386/i386.cc (zero_all_st_registers): Return the value of
1140 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
1141 the return value of zero_all_st_registers.
1142 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
1143 * function.cc (gen_call_used_regs_seq): Add an assertion.
1144 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
1146 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
1149 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
1150 fields, and inform if it causes a psABI change.
1152 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
1155 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
1156 zero-width bit-fields and set up an indicator.
1157 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
1158 (mips_function_value_1): Diagnose when the presense of a C++
1159 zero-width bit-field changes function returning in GCC 12.
1161 2022-04-01 Jakub Jelinek <jakub@redhat.com>
1163 PR tree-optimization/104645
1164 * tree-ssa-phiopt.cc (value_replacement): If assign has
1165 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
1166 statement with constant evaluation.
1168 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
1170 * config/mips/mips.cc (mips_expand_prologue):
1171 IPL is 8bit for MCU ASE.
1173 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
1176 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
1179 (SET_FPSCR_RN): Likewise.
1180 (SET_FPSCR_DRN): Mark nosoft and no32bit.
1182 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
1184 * doc/options.texi (Option file format): Clarifications around
1185 option definition records' help texts.
1187 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
1189 * optc-gen.awk <END>: Fix "Multiple different help strings" error
1192 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
1194 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
1195 determine_suggested_unroll_factor and m_has_avg.
1196 (determine_suggested_unroll_factor): New function.
1197 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
1198 to set m_nosve_pattern.
1199 (aarch64_vector_costs::finish_costs): Use
1200 determine_suggested_unroll_factor.
1201 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
1202 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
1204 2022-03-31 Martin Jambor <mjambor@suse.cz>
1207 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
1208 (ipa_get_jf_ancestor_keep_null): New function.
1209 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
1211 (compute_complex_assign_jump_func): Pass false to keep_null
1212 parameter of ipa_set_ancestor_jf.
1213 (compute_complex_ancestor_jump_func): Pass true to keep_null
1214 parameter of ipa_set_ancestor_jf.
1215 (update_jump_functions_after_inlining): Carry over keep_null from the
1216 original ancestor jump-function or merge them.
1217 (ipa_write_jump_function): Stream keep_null flag.
1218 (ipa_read_jump_function): Likewise.
1219 (ipa_print_node_jump_functions_for_edge): Print the new flag.
1220 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
1221 member function known_nonzero_p.
1222 (ipcp_bits_lattice::known_nonzero_p): New.
1223 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
1225 (ipcp_bits_lattice::meet_with): Likewise.
1226 (propagate_bits_across_jump_function): Simplify. Pass true in
1227 drop_all_ones when it is necessary.
1228 (propagate_aggs_across_jump_function): Take care of keep_null
1230 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
1233 2022-03-31 Martin Jambor <mjambor@suse.cz>
1236 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
1237 which do not fit the known value_range.
1239 2022-03-31 Martin Jambor <mjambor@suse.cz>
1242 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
1243 always when an ADDR_EXPR constant is known to reach a load because
1244 of inlining, not just when removing an ADDR reference.
1246 2022-03-31 Richard Biener <rguenther@suse.de>
1248 PR tree-optimization/105109
1249 * tree-ssa.cc (execute_update_addresses_taken): Suppress
1250 diagnostics on the load of the other complex component.
1252 2022-03-31 Tom de Vries <tdevries@suse.de>
1254 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
1256 2022-03-31 Richard Biener <rguenther@suse.de>
1258 PR rtl-optimization/105091
1259 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
1262 2022-03-31 Richard Biener <rguenther@suse.de>
1265 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
1268 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
1269 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
1271 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
1273 * gcov-io.cc (gcov_read_string): Reword documentation comment.
1275 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
1277 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
1279 (NEG_V4SF): Likewise.
1280 (NEG_V4SI): Likewise.
1281 (NEG_V8HI): Likewise.
1282 (NEG_V2DF): Move to [vsx] stanza.
1283 (NEG_V2DI): Likewise.
1285 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
1287 PR middle-end/105032
1288 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
1290 2022-03-30 Tom de Vries <tdevries@suse.de>
1291 Tobias Burnus <tobias@codesourcery.com>
1293 * doc/invoke.texi (march): Document __PTX_SM__.
1294 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
1295 __PTX_ISA_VERSION_MINOR__.
1297 2022-03-30 Jakub Jelinek <jakub@redhat.com>
1300 * ubsan.cc (instrument_object_size): If t is equal to inner and
1301 is a decl other than global var, punt. When emitting call to
1302 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
1304 2022-03-30 Jakub Jelinek <jakub@redhat.com>
1306 PR tree-optimization/105094
1307 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
1308 bitsize <= 0 rather than just == 0.
1310 2022-03-30 Tom de Vries <tdevries@suse.de>
1312 * doc/invoke.texi (misa, mptx): Update.
1313 (march, march-map): Add.
1315 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
1317 * opt-functions.awk (n_args): New function.
1318 (lang_enabled_by): Merge function into...
1319 * optc-gen.awk <END>: ... sole user here.
1320 Improve diagnostics.
1322 2022-03-29 Marek Polacek <polacek@redhat.com>
1323 Jakub Jelinek <jakub@redhat.com>
1325 PR middle-end/103597
1326 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
1327 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
1328 (gimplify_cond_expr): Set UNUSED_LABEL_P.
1329 * tree.h (UNUSED_LABEL_P): New.
1331 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
1333 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
1334 be any VSX register.
1336 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
1339 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
1340 zero-sized bit-fields. Detect cases where a warning may be needed.
1341 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
1342 zero-sized bit-field has caused parameter passing to change.
1344 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
1347 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
1348 bit-fields. Detect cases where a warning may be needed.
1349 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
1350 a zero-sized bit-field has caused parameter passing to change.
1352 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
1355 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
1356 ARM_PCS_AAPCS_LOCAL.
1358 2022-03-29 Tom de Vries <tdevries@suse.de>
1361 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
1362 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
1363 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
1364 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
1366 2022-03-29 Tom de Vries <tdevries@suse.de>
1368 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
1371 2022-03-29 Tom de Vries <tdevries@suse.de>
1374 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
1376 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
1378 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
1379 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
1380 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
1381 (TARGET_USE_GATHER_4PARTS): New macro.
1382 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
1383 (X86_TUNE_USE_GATHER_4PARTS): New tune
1385 2022-03-29 Tom de Vries <tdevries@suse.de>
1387 * config/nvptx/nvptx.opt (march): Add alias of misa.
1389 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
1390 Lulu Cheng <chenglulu@loongson.cn>
1392 * doc/install.texi: Add LoongArch options section.
1393 * doc/invoke.texi: Add LoongArch options section.
1394 * doc/md.texi: Add LoongArch options section.
1396 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
1397 Lulu Cheng <chenglulu@loongson.cn>
1399 * config/loongarch/loongarch-c.cc
1401 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
1402 Lulu Cheng <chenglulu@loongson.cn>
1404 * config/loongarch/larchintrin.h: New file.
1405 * config/loongarch/loongarch-builtins.cc: New file.
1407 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
1408 Lulu Cheng <chenglulu@loongson.cn>
1410 * config/host-linux.cc: Add LoongArch support.
1411 * config/loongarch/loongarch-protos.h: New file.
1412 * config/loongarch/loongarch-tune.h: Likewise.
1413 * config/loongarch/loongarch.cc: Likewise.
1414 * config/loongarch/loongarch.h: Likewise.
1416 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
1417 Lulu Cheng <chenglulu@loongson.cn>
1419 * config/loongarch/constraints.md: New file.
1420 * config/loongarch/generic.md: New file.
1421 * config/loongarch/la464.md: New file.
1422 * config/loongarch/loongarch-ftypes.def: New file.
1423 * config/loongarch/loongarch-modes.def: New file.
1424 * config/loongarch/loongarch.md: New file.
1425 * config/loongarch/predicates.md: New file.
1426 * config/loongarch/sync.md: New file.
1428 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
1429 Lulu Cheng <chenglulu@loongson.cn>
1431 * configure: Regenerate file.
1433 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
1434 Lulu Cheng <chenglulu@loongson.cn>
1436 * common/config/loongarch/loongarch-common.cc: New file.
1437 * config/loongarch/genopts/genstr.sh: New file.
1438 * config/loongarch/genopts/loongarch-strings: New file.
1439 * config/loongarch/genopts/loongarch.opt.in: New file.
1440 * config/loongarch/loongarch-str.h: New file.
1441 * config/loongarch/gnu-user.h: New file.
1442 * config/loongarch/linux.h: New file.
1443 * config/loongarch/loongarch-cpu.cc: New file.
1444 * config/loongarch/loongarch-cpu.h: New file.
1445 * config/loongarch/loongarch-def.c: New file.
1446 * config/loongarch/loongarch-def.h: New file.
1447 * config/loongarch/loongarch-driver.cc: New file.
1448 * config/loongarch/loongarch-driver.h: New file.
1449 * config/loongarch/loongarch-opts.cc: New file.
1450 * config/loongarch/loongarch-opts.h: New file.
1451 * config/loongarch/loongarch.opt: New file.
1452 * config/loongarch/t-linux: New file.
1453 * config/loongarch/t-loongarch: New file.
1454 * config.gcc: Add LoongArch support.
1455 * configure.ac: Add LoongArch support.
1457 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
1459 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
1462 2022-03-29 Richard Biener <rguenther@suse.de>
1464 PR tree-optimization/105080
1465 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
1468 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
1470 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
1471 (output_ctf_vars): Likewise.
1473 2022-03-28 Jason Merrill <jason@redhat.com>
1476 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
1478 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
1481 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
1484 2022-03-28 Tom de Vries <tdevries@suse.de>
1487 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
1488 * config/nvptx/nvptx-gen.opt: Regenerate.
1489 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
1490 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
1493 2022-03-28 David Malcolm <dmalcolm@redhat.com>
1496 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
1497 to loads then stores, set the location of the new load stmt.
1499 2022-03-28 Richard Biener <rguenther@suse.de>
1501 PR tree-optimization/105070
1502 * tree-switch-conversion.h
1503 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
1505 * tree-switch-conversion.cc
1506 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
1508 (bit_test_cluster::emit): Annotate all generated expressions
1511 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
1513 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
1515 2022-03-28 liuhongt <hongtao.liu@intel.com>
1518 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
1519 alternative 4 from sse4_noavx to noavx.
1521 2022-03-28 Jakub Jelinek <jakub@redhat.com>
1523 PR tree-optimization/105056
1524 * tree-predcom.cc (component::component): Initialize also comp_step.
1526 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
1529 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
1532 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
1534 PR middle-end/104885
1535 * calls.cc (mark_stack_region_used): Check that the region
1536 is within the allocated size of stack_usage_map.
1538 2022-03-26 Jakub Jelinek <jakub@redhat.com>
1540 PR rtl-optimization/103775
1541 * recog.cc (check_invalid_inc_dec): New function.
1542 (insn_invalid_p): Return 1 if REG_INC operand overlaps
1545 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
1548 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
1549 (aes<aesklvariant>u8): Likewise.
1551 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
1554 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
1555 Replace "Yv" with "x".
1556 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
1557 (ssse3_psign<mode>3): Likewise.
1559 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
1561 * reload.cc (find_reloads): Align comment with code where
1562 considering the intersection of register classes then tweaking the
1563 regclass for the current alternative or rejecting it.
1565 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
1569 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
1571 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
1572 (mve_vec_unpack<US>_hi_<mode>): Delete.
1573 (@mve_vec_pack_trunc_lo_<mode>): Delete.
1574 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
1575 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
1577 (vec_unpack<US>_lo_<mode>): Likewise.
1578 (vec_pack_trunc_<mode>): Rename from
1579 neon_quad_vec_pack_trunc_<mode>.
1580 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
1581 (vec_unpack<US>_lo_<mode>): Delete.
1582 (vec_pack_trunc_<mode>): Delete.
1584 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
1586 PR middle-end/104971
1587 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
1588 regs to clear remove_p flag.
1590 2022-03-25 Richard Biener <rguenther@suse.de>
1592 PR tree-optimization/105053
1593 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
1594 the correct live-out stmt for a reduction chain.
1596 2022-03-25 Richard Biener <rguenther@suse.de>
1598 PR middle-end/105049
1599 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
1600 CONSTRUCTOR first elements.
1602 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
1605 * doc/invoke.texi (Static Analyzer Options): Move
1606 @ignore block after @gccoptlist's '}' for 'make pdf'.
1608 2022-03-25 David Malcolm <dmalcolm@redhat.com>
1611 * doc/invoke.texi (Static Analyzer Options): Add
1612 -fdump-analyzer-untracked.
1614 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
1617 * doc/invoke.texi: Document that enabling taint analyzer
1618 checker disables some warnings from `-fanalyzer`.
1620 2022-03-24 Alexandre Oliva <oliva@adacore.com>
1623 * gimple-harden-conditionals.cc (detach_value): Keep temps
1626 2022-03-24 Alexandre Oliva <oliva@adacore.com>
1628 PR middle-end/104975
1629 * gimple-harden-conditionals.cc
1630 (pass_harden_compares::execute): Force split in case of
1633 2022-03-24 Jakub Jelinek <jakub@redhat.com>
1636 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
1637 field0 or field1 is not a FIELD_DECL, return false.
1639 2022-03-24 Richard Biener <rguenther@suse.de>
1641 * tree-predcom.cc (chain::chain): Add CTOR.
1642 (component::component): Likewise.
1643 (pcom_worker::release_chain): Use delete.
1644 (release_components): Likewise.
1645 (pcom_worker::filter_suitable_components): Likewise.
1646 (pcom_worker::split_data_refs_to_components): Use new.
1647 (make_invariant_chain): Likewise.
1648 (make_rooted_chain): Likewise.
1649 (pcom_worker::combine_chains): Likewise.
1650 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
1651 Make sure to release previously constructed scalar_results.
1652 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
1654 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
1655 Release m_flag_set_edges.
1657 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
1659 PR tree-optimization/104970
1660 * tree-object-size.cc (parm_object_size): Restrict size
1661 computation scenarios to explicit access attributes.
1663 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
1666 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
1669 2022-03-23 Richard Biener <rguenther@suse.de>
1672 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
1673 use of movmisalign when either the source or destination
1674 decl is properly aligned.
1676 2022-03-23 Richard Biener <rguenther@suse.de>
1678 PR rtl-optimization/105028
1679 * ira-color.cc (form_threads_from_copies): Remove unnecessary
1680 copying of the sorted_copies tail.
1682 2022-03-23 Martin Liska <mliska@suse.cz>
1684 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
1686 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
1687 Reword the error message.
1689 2022-03-23 liuhongt <hongtao.liu@intel.com>
1692 * config/i386/sse.md (ssePSmodelower): New.
1693 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
1694 lowpart_subreg to avoid NULL_RTX.
1695 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
1696 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
1697 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
1698 <avx512>_<complexopname>_<mode>_mask<round_name>,
1699 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
1700 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
1701 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
1702 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
1703 float<floatunssuffix><mode>v4hf2,
1704 float<floatunssuffix>v2div2hf2,
1705 fix<fixunssuffix>_truncv4hf<mode>2,
1706 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
1708 trunc<mode>v4hf2,truncv2dfv2hf2,
1709 *avx512bw_permvar_truncv16siv16hi_1,
1710 *avx512bw_permvar_truncv16siv16hi_1_hf,
1711 *avx512f_permvar_truncv8siv8hi_1,
1712 *avx512f_permvar_truncv8siv8hi_1_hf,
1713 *avx512f_vpermvar_truncv8div8si_1,
1714 *avx512f_permvar_truncv32hiv32qi_1,
1715 *avx512f_permvar_truncv16hiv16qi_1,
1716 *avx512f_permvar_truncv4div4si_1,
1717 *avx512f_pshufb_truncv8hiv8qi_1,
1718 *avx512f_pshufb_truncv4siv4hi_1,
1719 *avx512f_pshufd_truncv2div2si_1,
1720 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
1721 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
1723 2022-03-22 Tom de Vries <tdevries@suse.de>
1726 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
1727 Use % as register prefix.
1729 2022-03-22 Tom de Vries <tdevries@suse.de>
1731 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
1732 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
1735 2022-03-22 Tom de Vries <tdevries@suse.de>
1737 * config/nvptx/nvptx.opt (mexperimental): New option.
1739 2022-03-22 Tom de Vries <tdevries@suse.de>
1742 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
1743 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
1745 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
1746 (nvptx_asm_output_def_from_decls): New function.
1747 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
1749 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
1750 nvptx_asm_output_def_from_decls.
1751 * config/nvptx/nvptx.opt (malias): New opt.
1753 2022-03-22 Tom de Vries <tdevries@suse.de>
1757 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
1758 sync (or uniform warp check for mptx < 6.0).
1760 2022-03-22 Richard Biener <rguenther@suse.de>
1762 PR tree-optimization/105012
1763 * tree-if-conv.cc (ifcvt_local_dce): Only call
1764 dse_classify_store when we have a VDEF.
1766 2022-03-22 Martin Liska <mliska@suse.cz>
1769 * config/nvptx/nvptx.cc (handle_ptx_version_option):
1770 Fix option wrapping in an error message.
1772 2022-03-22 Martin Liska <mliska@suse.cz>
1775 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
1778 2022-03-22 Martin Liska <mliska@suse.cz>
1780 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
1783 2022-03-22 Martin Liska <mliska@suse.cz>
1786 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
1787 Use %qs instead of (%qs).
1789 2022-03-22 Martin Liska <mliska@suse.cz>
1792 * config/i386/i386-options.cc (ix86_option_override_internal):
1793 Use '%qs' instead of '(%qs)'.
1795 2022-03-22 Martin Liska <mliska@suse.cz>
1798 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
1799 Use 'qs' and remove usage '(%qs)'.
1800 (aarch64_handle_attr_cpu): Likewise.
1801 (aarch64_handle_attr_tune): Likewise.
1802 (aarch64_handle_attr_isa_flags): Likewise.
1804 2022-03-22 Tamar Christina <tamar.christina@arm.com>
1805 Andre Vieira <andre.simoesdiasvieira@arm.com>
1807 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
1809 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
1811 (neoverse512tvb_tunings): Likewise.
1813 2022-03-22 Tamar Christina <tamar.christina@arm.com>
1814 Andre Vieira <andre.simoesdiasvieira@arm.com>
1816 * config/aarch64/aarch64.cc (demeter_addrcost_table,
1817 demeter_regmove_cost, demeter_advsimd_vector_cost,
1818 demeter_sve_vector_cost, demeter_scalar_issue_info,
1819 demeter_advsimd_issue_info, demeter_sve_issue_info,
1820 demeter_vec_issue_info, demeter_vector_cost,
1821 demeter_tunings): New tuning structs.
1822 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
1824 * config/aarch64/aarch64-cores.def: Add entry for demeter.
1825 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
1827 2022-03-22 Tamar Christina <tamar.christina@arm.com>
1828 Andre Vieira <andre.simoesdiasvieira@arm.com>
1830 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
1831 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
1832 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
1833 tunings to use cpu_memmov_cost struct.
1835 2022-03-22 Tamar Christina <tamar.christina@arm.com>
1836 Andre Vieira <andre.simoesdiasvieira@arm.com>
1838 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
1839 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
1840 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
1841 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
1842 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
1843 (neoversen2_tunings): Use new structs and update tuning flags.
1844 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
1847 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
1849 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
1852 2022-03-22 liuhongt <hongtao.liu@intel.com>
1855 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
1856 following splitter to reversed condition.
1858 2022-03-22 Jakub Jelinek <jakub@redhat.com>
1860 PR rtl-optimization/104989
1861 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
1862 sorry for passing too large argument, instead set sibcall_failure
1863 for pass == 0, or a new normal_failure flag otherwise. If
1864 normal_failure is set, don't assert all stack has been deallocated
1865 at the end and throw away the whole insn sequence.
1867 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
1869 * print-tree.cc: Change array length
1871 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
1874 * config/i386/sse.md
1875 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
1876 Use avx512f_movsf_mask instead of vmovaps or vblend, and
1877 force_reg before lowpart_subreg.
1878 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
1880 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
1883 * common/config/i386/i386-common.cc
1884 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
1885 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
1887 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
1890 * common/config/i386/cpuinfo.h (get_available_features): Pass
1891 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
1894 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
1896 PR middle-end/104869
1897 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
1898 (clobber_group::next_clobber): Likewise.
1899 (def_lookup::prev_def): Rename to...
1900 (def_lookup::last_def_of_prev_group): ...this.
1901 (def_lookup::next_def): Rename to...
1902 (def_lookup::first_def_of_next_group): ...this.
1903 (def_lookup::matching_or_prev_def): Rename to...
1904 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
1905 (def_lookup::matching_or_next_def): Rename to...
1906 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
1907 (def_lookup::prev_def): New function, taking the lookup insn as
1909 (def_lookup::next_def): Likewise.
1910 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
1911 (def_lookup::last_def_of_prev_group): ...this.
1912 (def_lookup::next_def): Rename to...
1913 (def_lookup::first_def_of_next_group): ...this.
1914 (def_lookup::matching_or_prev_def): Rename to...
1915 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
1916 (def_lookup::matching_or_next_def): Rename to...
1917 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
1918 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
1920 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
1921 (clobber_group::next_clobber): Likewise.
1922 (def_lookup::prev_def): Likewise.
1923 (def_lookup::next_def): Likewise.
1924 (function_info::make_use_available): Pass the lookup insn to
1925 def_lookup::prev_def and def_lookup::next_def.
1927 2022-03-21 Martin Liska <mliska@suse.cz>
1929 * doc/invoke.texi: Document min-pagesize parameter.
1931 2022-03-21 Richard Biener <rguenther@suse.de>
1933 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
1934 we are estimating niter of loop.
1936 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
1938 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
1939 Update flag name and mask name.
1940 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
1941 misc macro for vector extensions.
1942 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
1943 (MASK_VECTOR_ELEN_32): ... this.
1944 (MASK_VECTOR_EEW_64): Rename to ...
1945 (MASK_VECTOR_ELEN_64): ... this.
1946 (MASK_VECTOR_EEW_FP_32): Rename to ...
1947 (MASK_VECTOR_ELEN_FP_32): ... this.
1948 (MASK_VECTOR_EEW_FP_64): Rename to ...
1949 (MASK_VECTOR_ELEN_FP_64): ... this.
1950 (TARGET_VECTOR_ELEN_32): New.
1951 (TARGET_VECTOR_ELEN_64): Ditto.
1952 (TARGET_VECTOR_ELEN_FP_32): Ditto.
1953 (TARGET_VECTOR_ELEN_FP_64): Ditto.
1954 (TARGET_MIN_VLEN): Ditto.
1955 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
1956 (riscv_vector_elen_flags): ... this.
1958 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
1961 * config/i386/sse.md
1962 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
1963 Correct round operand for intel dialect.
1965 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
1967 * diagnostic.cc (diagnostic_cc_tests): Rename to...
1968 (c_diagnostic_cc_tests): ...this.
1969 * opt-problem.cc (opt_problem_cc_tests): Rename to...
1970 (c_opt_problem_cc_tests): ...this.
1971 * selftest-run-tests.cc (selftest::run_tests): No longer run
1972 opt_problem_cc_tests or diagnostic_cc_tests.
1973 * selftest.h (diagnostic_cc_tests): Remove declaration.
1974 (opt_problem_cc_tests): Likewise.
1976 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
1979 * hash-traits.h (struct typed_const_free_remove): New.
1980 (struct free_string_hash): New.
1981 * pass_manager.h: Use free_string_hash.
1982 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
1983 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
1985 2022-03-19 Jakub Jelinek <jakub@redhat.com>
1987 PR middle-end/104971
1988 * config/i386/i386-expand.cc
1989 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
1990 don't push/pop anything and just return const0_rtx.
1992 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
1994 PR rtl-optimization/104961
1995 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
1997 2022-03-18 Jason Merrill <jason@redhat.com>
1999 * tree.h (IDENTIFIER_LENGTH): Add comment.
2001 2022-03-18 Jakub Jelinek <jakub@redhat.com>
2004 PR middle-end/100680
2005 PR tree-optimization/100834
2006 * params.opt (--param=min-pagesize=): New parameter.
2008 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
2009 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
2010 of zero for pointer constants equal or larger than min-pagesize.
2012 2022-03-18 Tom de Vries <tdevries@suse.de>
2014 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
2015 Set gfor location only when dealing with a OMP_TASKLOOP.
2017 2022-03-18 Tom de Vries <tdevries@suse.de>
2019 * gimplify.cc (gimplify_omp_for): Set taskloop location.
2021 2022-03-18 Tom de Vries <tdevries@suse.de>
2024 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
2025 is executed unconditionally.
2027 2022-03-18 liuhongt <hongtao.liu@intel.com>
2030 * config/i386/i386.md (*movhi_internal): Set attr type from HI
2031 to HF for alternative 12 under TARGET_AVX512FP16.
2033 2022-03-18 Cui,Lili <lili.cui@intel.com>
2036 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
2037 * doc/invoke.texi: Update documents for Intel sapphirerapids.
2039 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
2042 PR tree-optimization/90356
2043 * config/i386/i386.md (*movtf_internal): Don't guard
2044 standard_sse_constant_p clause by optimize_function_for_size_p.
2045 (*movdf_internal): Likewise.
2046 (*movsf_internal): Likewise.
2048 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
2050 PR tree-optimization/102943
2051 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
2052 dominators and apply intermediary outgoing edge ranges.
2054 2022-03-17 Richard Biener <rguenther@suse.de>
2056 PR tree-optimization/104960
2057 * passes.def: Add pass parameter to pass_sink_code, mark
2058 last one to unsplit edges.
2059 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
2060 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
2061 when we need to unsplit edges.
2063 2022-03-17 Jakub Jelinek <jakub@redhat.com>
2065 PR middle-end/103984
2066 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
2067 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
2068 and asan unpoisioning, then append the temporary sequence and
2069 finally the TARGET_EXPR_CLEANUP clobbers.
2071 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
2073 * config/i386/sse.md: Delete corrupt character/typo.
2075 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
2078 * config/i386/sse.md (sse2_movq128): New define_expand to
2079 preserve previous named instruction.
2080 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
2081 generalized to VI8F_128 (both V2DI and V2DF).
2083 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
2085 PR tree-optimization/104941
2086 * tree-object-size.cc (size_for_offset): Make useless conversion
2087 check lighter and assign result of fold_convert to OFFSET.
2089 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
2092 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
2093 pushing target("general-regs-only").
2095 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
2097 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
2098 Add version info for zk, zks and zkn.
2100 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
2102 * common/config/riscv/riscv-common.cc
2103 (riscv_combine_info): New.
2104 (riscv_subset_list::handle_combine_ext): Combine back into zk to
2105 maintain the canonical order in isa strings.
2106 (riscv_subset_list::parse): Ditto.
2107 * config/riscv/riscv-subset.h (handle_combine_ext): New.
2109 2022-03-16 Richard Biener <rguenther@suse.de>
2111 PR tree-optimization/102008
2112 * passes.def: Move the added code sinking pass before the
2113 preceeding phiopt pass.
2115 2022-03-16 Patrick Palka <ppalka@redhat.com>
2118 * doc/invoke.texi (C++ Dialect Options): Document
2119 -ffold-simple-inlines.
2121 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
2123 PR tree-optimization/104942
2124 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
2126 2022-03-16 Jakub Jelinek <jakub@redhat.com>
2129 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
2132 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
2133 Richard Biener <rguenther@suse.de>
2135 * gimple-match-head.cc (single_use): Implement inline using a
2138 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
2140 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
2141 instead of HONOR_NANS.
2142 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
2143 this can't trap/signal.
2145 2022-03-16 liuhongt <hongtao.liu@intel.com>
2148 * config/i386/i386-builtin.def (BDESC): Add
2149 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
2150 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
2151 __builtin_ia32_blendvpd w/o sse4.2
2153 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
2156 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
2157 acceptable MEM addresses.
2159 2022-03-15 Jakub Jelinek <jakub@redhat.com>
2162 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
2163 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
2166 2022-03-15 Jakub Jelinek <jakub@redhat.com>
2169 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
2170 instead of general-regs-only.
2172 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
2173 Marc Glisse <marc.glisse@inria.fr>
2174 Richard Biener <rguenther@suse.de>
2176 PR tree-optimization/101895
2177 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
2178 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
2180 2022-03-15 Jakub Jelinek <jakub@redhat.com>
2182 PR rtl-optimization/104814
2183 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
2184 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
2186 2022-03-15 Martin Sebor <msebor@redhat.com>
2188 PR middle-end/104436
2189 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
2190 Check for warning suppression. Avoid by-value arguments transformed
2191 into by-transparent-reference.
2193 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
2194 Uroš Bizjak <ubizjak@gmail.com>
2196 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
2197 transformation when *zero_extend<mode>si2 is not available.
2199 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
2201 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
2202 * config/mips/mips.cc (mips_option_override): Make
2203 -fsanitize=address imply -fasynchronous-unwind-tables. This is
2204 needed by libasan for stack backtrace on MIPS.
2205 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
2207 2022-03-14 Jakub Jelinek <jakub@redhat.com>
2210 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
2211 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
2212 call simplified the first operand into VOIDmode constant.
2214 2022-03-14 Jakub Jelinek <jakub@redhat.com>
2216 PR tree-optimization/102586
2217 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
2218 argument type should be pointer to trivially-copyable type unless it
2219 is address of a variable or parameter.
2221 2022-03-14 Jakub Jelinek <jakub@redhat.com>
2224 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
2225 first rather than last element of the vector, use __m32_u to do
2226 a really unaligned load, use just 0 instead of (int)0.
2227 (_mm_loadu_si16): Put loaded value into first rather than last
2228 element of the vector, use __m16_u to do a really unaligned load,
2229 use just 0 instead of (short)0.
2231 2022-03-14 Jakub Jelinek <jakub@redhat.com>
2234 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
2235 in diagnostic message - cannott -> cannot. Use %< and %> around
2236 names of attribute. Avoid too long line.
2237 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
2238 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
2240 2022-03-14 liuhongt <hongtao.liu@intel.com>
2243 * config/i386/i386-expand.cc
2244 (ix86_check_builtin_isa_match): New func.
2245 (ix86_expand_builtin): Move code to
2246 ix86_check_builtin_isa_match and call it.
2247 * config/i386/i386-protos.h
2248 (ix86_check_builtin_isa_match): Declare.
2249 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
2250 builtin into gimple when isa mismatches.
2252 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
2254 * doc/invoke.texi: Fix typos.
2255 * doc/tm.texi.in: Remove duplicated word.
2256 * doc/tm.texi: Regenerate.
2258 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
2261 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
2262 "ppc" and "ppc64" based on rs6000_cpu.
2264 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
2266 PR middle-end/100280
2267 PR middle-end/104892
2268 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
2269 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
2271 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
2273 PR middle-end/100280
2274 PR middle-end/104086
2275 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
2276 Mark variables used in 'present' clauses as addressable.
2277 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
2278 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
2280 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
2283 * tree-core.h (user_omp_claus_code_name): Declare function.
2284 * tree.cc (user_omp_clause_code_name): New function.
2286 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
2289 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
2290 (the defaut) or -fno-signed-zeros.
2292 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
2295 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
2296 moving from a GPR register to an Altivec register.
2298 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
2300 PR tree-optimization/98335
2301 * config/i386/i386.md (peephole2): Eliminate redundant insv.
2302 Combine movl followed by movb. Transform xorl followed by
2303 a suitable movb or movw into the equivalent movz[bw]l.
2305 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
2306 Richard Biener <rguenther@suse.de>
2308 PR tree-optimization/98335
2309 * builtins.cc (get_object_alignment_2): Export.
2310 * builtins.h (get_object_alignment_2): Likewise.
2311 * tree-ssa-alias.cc (ao_ref_alignment): New.
2312 * tree-ssa-alias.h (ao_ref_alignment): Declare.
2313 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
2314 to align head/tail, writing more bytes but using fewer store insns.
2316 2022-03-11 Richard Biener <rguenther@suse.de>
2318 PR tree-optimization/104880
2319 * tree-ssa.cc (execute_update_address_taken): Remember if we
2320 optimistically made something not addressable and
2323 2022-03-11 Richard Biener <rguenther@suse.de>
2326 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
2327 cost the first lane of SSE pieces as inserts for vec_construct.
2329 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
2332 * calls.cc (expand_call): Ignore stack adjustments after sorry.
2334 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
2337 * lra-constraints.cc (split_reg): Set up
2338 check_and_force_assignment_correctness_p when splitting hard
2339 register live range.
2341 2022-03-10 Martin Jambor <mjambor@suse.cz>
2344 * ipa-cp.cc (create_specialized_node): Move removal of
2345 self-recursive calls from callers vector before refrence
2348 2022-03-10 Richard Biener <rguenther@suse.de>
2350 PR tree-optimization/102943
2351 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
2353 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
2355 (sbr_sparse_bitmap::set_bb_range): Adjust.
2356 (sbr_sparse_bitmap::get_bb_range): Likewise.
2358 2022-03-10 Richard Biener <rguenther@suse.de>
2360 PR tree-optimization/102943
2361 * tree-ssa-dom.cc (back_propagate_equivalences): Only
2362 populate the dominance bitmap if fast queries are not
2363 available. Use a tree view bitmap.
2364 (record_temporary_equivalences): Cache the dominance bitmap
2365 across all equivalences on the edge.
2367 2022-03-10 Tom de Vries <tdevries@suse.de>
2370 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
2373 2022-03-10 Tom de Vries <tdevries@suse.de>
2376 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
2377 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
2378 (nvptx_get_unisimt_outside_simt_predicate): New function.
2379 (predicate_insn): New function, factored out of ...
2380 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
2381 * config/nvptx/nvptx.h (struct machine_function): Add
2382 unisimt_outside_simt_predicate field.
2383 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
2384 (define_insn "nvptx_uniform_warp_check"): Make predicable.
2386 2022-03-10 Tom de Vries <tdevries@suse.de>
2388 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
2391 2022-03-10 Tom de Vries <tdevries@suse.de>
2394 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
2396 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
2398 2022-03-10 Tom de Vries <tdevries@suse.de>
2400 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
2401 Emit atom.and.b64 instead of atom.b64.and.
2403 2022-03-10 Tom de Vries <tdevries@suse.de>
2405 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
2406 (MULTILIB_OPTIONS): ... here.
2408 2022-03-10 Tom de Vries <tdevries@suse.de>
2411 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
2412 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
2414 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
2417 PR middle-end/102330
2418 PR middle-end/104774
2419 * omp-low.cc (oacc_privatization_candidate_p)
2420 (oacc_privatization_scan_clause_chain)
2421 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
2422 Analyze 'lookup_decl'-translated DECL.
2424 2022-03-10 Jakub Jelinek <jakub@redhat.com>
2427 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
2428 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
2429 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
2430 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
2431 "**NULL**" if type_node is NULL first. Handle
2432 ieee128_float_type_node.
2433 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
2434 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
2435 ieee128_float_type_node to NULL rather than long_double_type_node if
2436 they aren't supported. Do support __ibm128 even if
2437 !TARGET_FLOAT128_TYPE when long double is double double.
2438 (rs6000_expand_builtin): Error if bif_is_ibm128 and
2439 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
2440 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
2442 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
2443 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
2444 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
2445 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
2447 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
2448 (struct attrinfo): Add isibm128 member.
2449 (TYPE_MAP_SIZE): Remove.
2450 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
2451 ibm128_float_type_node only if it is non-NULL, otherwise fall back
2452 to long_double_type_node. Remove "pif" entry.
2453 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
2454 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
2455 (write_type_node): Use sizeof type_map / sizeof type_map[0]
2456 instead of TYPE_MAP_SIZE.
2457 (write_bif_static_init): Handle isibm128.
2458 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
2459 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
2462 2022-03-09 Richard Biener <rguenther@suse.de>
2464 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
2465 with non-decl operand, avoiding a copy.
2467 2022-03-09 Jakub Jelinek <jakub@redhat.com>
2470 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
2472 2022-03-09 Richard Biener <rguenther@suse.de>
2474 PR middle-end/104786
2475 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
2476 for VLAs without an upper size bound.
2478 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
2480 PR tree-optimization/104851
2481 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
2484 2022-03-09 Jakub Jelinek <jakub@redhat.com>
2487 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
2488 is enabled by it only for C++11 to C++17 rather than for C++03 or
2490 (-Wshift-negative-value): Similarly (except here we stated
2491 that it is enabled for C++11 or later).
2493 2022-03-09 Jakub Jelinek <jakub@redhat.com>
2495 PR rtl-optimization/104839
2496 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
2497 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
2498 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
2499 instead of incorrect 0 in SUBREG_PROMOTED_SET.
2501 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
2504 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
2505 value before adding an offset.
2507 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
2509 * config/arm/arm-builtins.cc
2510 (arm_binop_none_none_unone_qualifiers): Delete.
2511 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
2513 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
2515 PR translation/104552
2516 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
2517 the PCH out of memory error message punctuation and wording.
2519 2022-03-08 Marek Polacek <polacek@redhat.com>
2521 PR rtl-optimization/104777
2522 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
2523 ASM_OPERANDS_LABEL_VEC has at least one element.
2525 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
2528 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
2529 stack realignment or regparm nested function with EH return.
2531 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
2534 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
2535 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
2536 register for non widening loads or narrowing stores.
2538 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
2540 PR translation/104552
2541 * params.opt: Fix typo.
2543 2022-03-08 Richard Biener <rguenther@suse.de>
2545 PR tree-optimization/84201
2546 * params.opt (-param=vect-induction-float): Add.
2547 * doc/invoke.texi (vect-induction-float): Document.
2548 * tree-vect-loop.cc (vectorizable_induction): Honor
2549 param_vect_induction_float.
2551 2022-03-08 Martin Jambor <mjambor@suse.cz>
2553 PR translation/104552
2554 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
2555 "that" in the description.
2557 2022-03-08 Richard Biener <rguenther@suse.de>
2559 PR tree-optimization/104825
2560 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
2561 guard modref get_ao_ref on a pointer typed argument.
2563 2022-03-08 liuhongt <hongtao.liu@intel.com>
2565 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
2566 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
2568 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
2570 * doc/invoke.texi (C++ Modules): Remove anachronism.
2572 2022-03-07 Martin Liska <mliska@suse.cz>
2574 PR middle-end/104381
2575 * opts.cc (finish_options): If debug info is disabled
2576 (debug_info_level) and -fvar-tracking is unset, disable it.
2578 2022-03-07 Jakub Jelinek <jakub@redhat.com>
2580 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
2581 * config/riscv/riscv.cc: Likewise.
2582 * config/darwin.h: Likewise.
2583 * config/i386/i386.cc: Likewise.
2584 * config/aarch64/thunderx3t110.md: Likewise.
2585 * config/aarch64/fractional-cost.h: Likewise.
2586 * config/vax/vax.cc: Likewise.
2587 * config/rs6000/pcrel-opt.md: Likewise.
2588 * config/rs6000/predicates.md: Likewise.
2590 * tree-ssa-uninit.cc: Likewise.
2591 * value-relation.h: Likewise.
2592 * gimple-range-gori.cc: Likewise.
2593 * ipa-polymorphic-call.cc: Likewise.
2594 * pointer-query.cc: Likewise.
2595 * ipa-sra.cc: Likewise.
2596 * internal-fn.cc: Likewise.
2597 * varasm.cc: Likewise.
2598 * gimple-ssa-warn-access.cc: Likewise.
2600 2022-03-07 Martin Liska <mliska@suse.cz>
2603 * config/arm/arm.cc (arm_option_override_internal): Add missing
2606 2022-03-07 Richard Biener <rguenther@suse.de>
2608 PR tree-optimization/104782
2609 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
2610 Re-instantiate r10-5979 fix, add comment.
2612 2022-03-07 Martin Liska <mliska@suse.cz>
2615 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
2616 parenthesis from built-in name.
2618 2022-03-07 Martin Liska <mliska@suse.cz>
2621 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
2622 of options in error messages.
2623 (arm_option_reconfigure_globals): Likewise.
2625 2022-03-07 Martin Liska <mliska@suse.cz>
2628 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
2629 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
2630 have only range [0,32].
2632 2022-03-07 Jakub Jelinek <jakub@redhat.com>
2635 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
2636 S constraint instead of T in the last alternative.
2638 2022-03-07 Martin Liska <mliska@suse.cz>
2640 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
2643 2022-03-07 Martin Liska <mliska@suse.cz>
2645 PR translation/90148
2646 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
2647 quote to a proper place.
2648 * plugin.cc (default_plugin_dir_name): Likewise.
2650 2022-03-07 Martin Liska <mliska@suse.cz>
2653 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
2656 2022-03-07 Jakub Jelinek <jakub@redhat.com>
2659 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
2660 define_expand pattern. Rename define_insn to ...
2661 (*avx512dq_mul<mode>3<mask_name>): ... this.
2662 (<code><mode>3_mask): New any_logic define_expand pattern.
2663 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
2664 (*<code><mode>3<mask_name>): ... this.
2666 2022-03-05 Jakub Jelinek <jakub@redhat.com>
2668 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
2669 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
2671 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
2672 Uroš Bizjak <ubizjak@gmail.com>
2675 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
2676 Include DI mode unconditionally.
2677 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
2678 i.e. always split on !TARGET_64BIT.
2679 (*<any_or>di3_doubleword): Likewise.
2680 (*one_cmpldi2_doubleword): Likewise.
2681 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
2682 (<any_or><mode>3 expander): Likewise.
2683 (one_cmpl<mode>2 expander): Likewise.
2685 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
2688 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
2689 (mtvsrdd_diti_w1): Delete.
2690 (extendditi2): Convert from define_expand to
2691 define_insn_and_split. Replace with code to deal with both GPR
2692 registers and with altivec registers.
2694 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
2696 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
2697 bit. Handle most older CPUs.
2699 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
2701 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
2702 avoid a mismatch with DECL_MD_FUNCTION_CODE().
2704 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
2707 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
2708 (@machopic_low_<mode>): New.
2709 * config/rs6000/predicates.md (macho_pic_address): New.
2710 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
2711 apply the TLS processing to Darwin.
2712 * lra-constraints.cc (process_address_1): Revert the changes
2715 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
2719 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
2720 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
2722 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
2724 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
2727 2022-03-04 Jakub Jelinek <jakub@redhat.com>
2729 PR middle-end/104529
2730 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
2731 on automatic objects which will be runtime initialized.
2733 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2735 PR middle-end/100280
2736 PR middle-end/104132
2737 PR middle-end/104133
2738 * omp-low.cc (task_shared_vars): Rename to
2739 'make_addressable_vars'. Adjust all users.
2740 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
2741 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
2743 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2745 PR middle-end/100280
2746 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
2747 * tree-core.h: Document it.
2748 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
2749 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
2750 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
2751 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
2754 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2756 PR middle-end/100280
2757 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
2758 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
2759 '[...]' declared in block made addressable".
2761 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2763 PR middle-end/100400
2764 PR middle-end/103836
2765 PR middle-end/104061
2766 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
2767 Catch 'GIMPLE_DEBUG'.
2769 2022-03-04 Jakub Jelinek <jakub@redhat.com>
2772 * tree.cc (warn_deprecated_use): For types prefer to use node
2773 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
2776 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
2779 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
2782 2022-03-03 Martin Sebor <msebor@redhat.com>
2784 PR middle-end/104761
2785 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
2786 mark_dfs_back_edges.
2788 2022-03-03 Martin Liska <mliska@suse.cz>
2790 * configure.ac: Use linker plug-in by default.
2791 * configure: Regenerate.
2793 2022-03-03 Martin Liska <mliska@suse.cz>
2795 * configure.ac: Now ld.mold support LTO plugin API, use it.
2796 * configure: Regenerate.
2798 2022-03-03 Tom de Vries <tdevries@suse.de>
2800 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
2802 2022-03-03 Tom de Vries <tdevries@suse.de>
2805 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
2807 2022-03-03 Tom de Vries <tdevries@suse.de>
2809 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
2811 2022-03-03 Jakub Jelinek <jakub@redhat.com>
2813 PR middle-end/104757
2814 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
2816 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
2817 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
2819 2022-03-03 Jakub Jelinek <jakub@redhat.com>
2821 PR middle-end/104558
2822 * calls.cc (store_one_arg): When not calling emit_push_insn
2823 because size_rtx is const0_rtx, call at least anti_adjust_stack
2824 on arg->locate.alignment_pad if !argblock and the alignment might
2827 2022-03-02 Alexandre Oliva <oliva@adacore.com>
2829 * lra-constraints.cc (undo_optional_reloads): Recognize and
2830 drop insns of multi-word move sequences, tolerate removal
2831 iteration on an already-removed clobber, and refuse to
2832 substitute original pseudos into clobbers.
2834 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
2836 PR middle-end/102276
2837 * common.opt (-Wtrivial-auto-var-init): New option.
2838 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
2839 (-ftrivial-auto-var-init): Update option;
2840 * gimplify.cc (emit_warn_switch_unreachable): New function.
2841 (warn_switch_unreachable_r): Rename to ...
2842 (warn_switch_unreachable_and_auto_init_r): This.
2843 (maybe_warn_switch_unreachable): Rename to ...
2844 (maybe_warn_switch_unreachable_and_auto_init): This.
2845 (gimplify_switch_expr): Update calls to renamed function.
2847 2022-03-02 Richard Biener <rguenther@suse.de>
2849 PR rtl-optimization/104686
2850 * ira-color.cc (object_conflicts_with_allocno_p): New function
2851 using a bitvector test instead of iterating when possible.
2852 (allocnos_conflict_p): Choose the best allocno to iterate over
2854 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
2857 2022-03-02 Jakub Jelinek <jakub@redhat.com>
2859 * cfg.cc (dump_edge_info): Dump goto_locus if present.
2861 2022-03-02 Jakub Jelinek <jakub@redhat.com>
2863 PR rtl-optimization/104589
2864 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
2865 INSN_LOCATION comparison with goto_locus.
2867 2022-03-02 Jakub Jelinek <jakub@redhat.com>
2869 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
2870 strlen_pass::before_dom_children): Comment spelling fixes.
2872 2022-03-02 Jakub Jelinek <jakub@redhat.com>
2874 * ipa-modref-tree.cc (modref_access_node::contains,
2875 modref_access_node::closer_pair_p, modref_access_node::insert,
2876 modref_access_node::insert_kill): Comment spelling fixes.
2877 * ipa-modref.cc: Likewise.
2878 (modref_summary::finalize, ignore_nondeterminism_p,
2879 class modref_access_analysis,
2880 modref_access_analysis::set_side_effects,
2881 modref_access_analysis::set_nondeterministic,
2882 modref_access_analysis::record_global_memory_load,
2883 modref_access_analysis::propagate, modref_access_analysis::analyze,
2884 struct escape_point, class modref_lattice, modref_lattice::merge,
2885 modref_lattice::merge_deref, class modref_eaf_analysis,
2886 modref_eaf_analysis::merge_call_lhs_flags,
2887 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
2888 modref_eaf_analysis::record_escape_points, remap_kills,
2889 update_escape_summary, remove_useless_summaries,
2890 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
2892 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
2894 * ipa-modref-tree.h (enum modref_special_parms,
2895 struct modref_access_node): Likewise.
2897 2022-03-01 Jakub Jelinek <jakub@redhat.com>
2899 PR tree-optimization/104715
2900 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
2901 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
2902 of a call if gimple_call_return_arg is equal to ptr, not just when it
2905 2022-03-01 Jakub Jelinek <jakub@redhat.com>
2907 * gimple-ssa-warn-access.cc (warn_string_no_nul,
2908 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
2909 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
2910 pass_waccess::check_alloca, pass_waccess::check_strcat,
2911 memmodel_to_uhwi, fntype_argno_type,
2912 pass_waccess::maybe_check_access_sizes,
2913 pass_waccess::check_call_access,
2914 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
2915 Comment spelling fixes.
2917 2022-03-01 Richard Biener <rguenther@suse.de>
2919 PR tree-optimization/104716
2920 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
2921 Check if we can copy the loop.
2923 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
2925 PR middle-end/104721
2926 * cfgexpand.cc (expand_gimple_basic_block): Clear
2927 currently_expanding_gimple_stmt when returning inside the loop.
2929 2022-03-01 Martin Liska <mliska@suse.cz>
2932 * multiple_target.cc (get_attr_len): Move to tree.c.
2933 (expand_target_clones): Remove single value checking.
2934 * tree.cc (get_target_clone_attr_len): New fn.
2935 * tree.h (get_target_clone_attr_len): Likewise.
2937 2022-03-01 Martin Liska <mliska@suse.cz>
2939 PR gcov-profile/104677
2940 * doc/invoke.texi: Document more .gcda file name generation.
2942 2022-03-01 Tom de Vries <tdevries@suse.de>
2945 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
2946 * config/nvptx/nvptx.md
2947 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
2949 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
2950 Use nvptx_register_or_complex_di_df_register_operand.
2952 2022-03-01 Tom de Vries <tdevries@suse.de>
2954 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
2955 * config/nvptx/gen-copyright.sh: New file.
2956 * config/nvptx/gen-h.sh: New file.
2957 * config/nvptx/gen-opt.sh: New file.
2958 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
2959 (TARGET_SM75, TARGET_SM80): Move ...
2960 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
2961 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
2962 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
2963 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
2964 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
2966 2022-03-01 Tom de Vries <tdevries@suse.de>
2968 * config/nvptx/gen-omp-device-properties.sh: New file.
2969 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
2971 2022-03-01 Tom de Vries <tdevries@suse.de>
2973 * config/nvptx/nvptx-sm.def: New file.
2974 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
2975 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
2976 * config/nvptx/nvptx.cc (sm_version_to_string)
2977 (nvptx_omp_device_kind_arch_isa): Same.
2979 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
2981 PR rtl-optimization/104154
2982 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
2983 comparison ifcvt passed us.
2985 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
2988 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
2989 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
2991 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
2993 PR tree-optimization/91384
2994 * config/i386/i386.md (peephole2): Eliminate final testl insn
2995 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
2996 transforming using *negsi_2 for the negation.
2998 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
2999 Eric Botcazou <ebotcazou@adacore.com>
3002 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
3003 register, copy it to a pseudo before calling simplify_gen_subreg.
3005 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
3007 PR rtl-optimization/104637
3008 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
3009 as possible on one subpass.
3011 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
3013 PR middle-end/104550
3014 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
3017 2022-02-28 Martin Liska <mliska@suse.cz>
3020 * main.cc (main): Use flag_checking instead of CHECKING_P
3021 and run toplev::finalize only if there is not error seen.
3023 2022-02-28 Richard Biener <rguenther@suse.de>
3025 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
3027 2022-02-28 Richard Biener <rguenther@suse.de>
3029 PR tree-optimization/104700
3030 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
3032 (find_or_generate_expression): ... here, simplifying code.
3034 2022-02-28 Tom de Vries <tdevries@suse.de>
3036 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
3037 PTX_VERSION_default.
3038 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
3039 PTX_VERSION_default.
3040 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
3042 2022-02-28 Richard Biener <rguenther@suse.de>
3044 PR rtl-optimization/104686
3045 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
3046 skipping bits that are zero.
3047 (ira_object_conflict_iter_cond): Likewise.
3049 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
3051 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
3052 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
3053 char to avoid error when using ~enum as parameter.
3054 (_mm512_mask_ternarylogic_epi64): Likewise.
3055 (_mm512_maskz_ternarylogic_epi64): Likewise.
3056 (_mm512_ternarylogic_epi32): Likewise.
3057 (_mm512_mask_ternarylogic_epi32): Likewise.
3058 (_mm512_maskz_ternarylogic_epi32): Likewise.
3059 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
3060 Adjust imm param type to unsigned char.
3061 (_mm256_mask_ternarylogic_epi64): Likewise.
3062 (_mm256_maskz_ternarylogic_epi64): Likewise.
3063 (_mm256_ternarylogic_epi32): Likewise.
3064 (_mm256_mask_ternarylogic_epi32): Likewise.
3065 (_mm256_maskz_ternarylogic_epi32): Likewise.
3066 (_mm_ternarylogic_epi64): Likewise.
3067 (_mm_mask_ternarylogic_epi64): Likewise.
3068 (_mm_maskz_ternarylogic_epi64): Likewise.
3069 (_mm_ternarylogic_epi32): Likewise.
3070 (_mm_mask_ternarylogic_epi32): Likewise.
3071 (_mm_maskz_ternarylogic_epi32): Likewise.
3073 2022-02-25 Jakub Jelinek <jakub@redhat.com>
3074 Marc Glisse <marc.glisse@inria.fr>
3076 PR tree-optimization/104675
3077 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
3078 Restrict simplifications to INTEGRAL_TYPE_P.
3080 2022-02-25 Jakub Jelinek <jakub@redhat.com>
3083 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
3085 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
3087 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
3088 comparison is not valid.
3089 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
3090 (movdicc): Likewise.
3091 (movsfcc): Likewise.
3092 (movdfcc): Likewise.
3094 2022-02-25 Richard Biener <rguenther@suse.de>
3096 PR tree-optimization/103037
3097 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
3098 (vn_nary_length_from_stmt): Likewise.
3099 (init_vn_nary_op_from_stmt): Likewise.
3100 (vn_nary_op_compute_hash): Likewise.
3101 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
3102 (vn_nary_length_from_stmt): Likewise.
3103 (init_vn_nary_op_from_stmt): Likewise.
3104 (vn_nary_op_compute_hash): Likewise.
3105 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
3106 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
3107 (re-)compute the hash value and if the expression is not
3108 found allocate it from pre_expr_obstack.
3109 (phi_translate_1): Do not insert the NARY found in the
3110 VN tables but build a PRE expression from the valueized
3111 NARY with the value-id we eventually found.
3112 (find_or_generate_expression): Assert we have an entry
3113 for constant values.
3114 (compute_avail): Insert not valueized expressions into
3115 EXP_GEN using the value-id from the VN tables.
3116 (init_pre): Allocate pre_expr_obstack.
3117 (fini_pre): Free pre_expr_obstack.
3119 2022-02-25 Jakub Jelinek <jakub@redhat.com>
3122 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
3123 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
3124 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
3126 2022-02-25 Jakub Jelinek <jakub@redhat.com>
3128 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
3130 2022-02-25 Jakub Jelinek <jakub@redhat.com>
3132 PR middle-end/104679
3133 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
3135 2022-02-25 Jakub Jelinek <jakub@redhat.com>
3137 PR tree-optimization/104675
3138 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
3141 2022-02-25 Alexandre Oliva <oliva@adacore.com>
3145 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
3147 2022-02-25 Alexandre Oliva <oliva@adacore.com>
3149 PR middle-end/104540
3150 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
3153 2022-02-25 Alexandre Oliva <oliva@adacore.com>
3155 PR tree-optimization/103856
3156 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
3157 eh edge to be requested through an extra parameter.
3158 (pass_harden_compares::execute): Copy PHI args in the EH dest
3159 block for the new EH edge added for the inverted compare.
3161 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
3163 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
3164 of position independence that -mcmodel=medany affords.
3166 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
3169 * configure.ac: --disable-gcov if targetting bpf-*.
3170 * configure: Regenerate.
3172 2022-02-24 Richard Biener <rguenther@suse.de>
3174 PR tree-optimization/104676
3175 * tree-loop-distribution.cc (loop_distribution::execute):
3176 Do a full scev_reset.
3178 2022-02-24 Jakub Jelinek <jakub@redhat.com>
3180 PR tree-optimization/104601
3181 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
3182 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
3185 2022-02-24 Tom de Vries <tdevries@suse.de>
3186 Tobias Burnus <tobias@codesourcery.com>
3188 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
3189 sm_70, sm_75 and sm_80.
3190 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
3192 2022-02-24 Tom de Vries <tdevries@suse.de>
3194 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
3195 "rotrsi3"): New define_insn.
3197 2022-02-24 Tom de Vries <tdevries@suse.de>
3199 * config/nvptx/nvptx.cc (gen_comment): Use
3200 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
3202 2022-02-24 liuhongt <hongtao.liu@intel.com>
3204 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
3205 isa attr of alternative 2 from avx to avx512vl.
3207 2022-02-23 Richard Biener <rguenther@suse.de>
3208 Jakub Jelinek <jakub@redhat.com>
3210 PR tree-optimization/104644
3211 * doc/match-and-simplify.texi: Amend ! documentation.
3212 * genmatch.cc (expr::gen_transform): Code-generate ! support
3214 (parser::parse_expr): Allow ! for GENERIC.
3215 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
3218 2022-02-23 Richard Biener <rguenther@suse.de>
3220 PR tree-optimization/101636
3221 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
3222 vector type of the node.
3223 (vect_slp_analyze_operations): Make sure the CTOR
3224 is vectorized with an expected type.
3225 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
3227 2022-02-23 Jakub Jelinek <jakub@redhat.com>
3230 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
3231 Don't warn about calls to corresponding builtin from extern inline
3232 gnu_inline wrappers.
3234 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
3237 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
3239 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
3243 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
3246 2022-02-23 Cui,Lili <lili.cui@intel.com>
3248 * doc/invoke.texi: Update documents for Intel architectures.
3250 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
3252 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
3255 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
3257 * omp-low.cc (omp_build_component_ref): Move function...
3258 * omp-general.cc (omp_build_component_ref): ... here. Remove
3260 * omp-general.h (omp_build_component_ref): Declare function.
3261 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
3263 (build_receiver_ref, build_sender_ref): Call
3264 'omp_build_component_ref' instead.
3266 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
3268 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
3269 simplify. Adjust all users.
3271 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
3274 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
3275 atomic_update_decl): Add GTY markup.
3277 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3279 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
3281 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3285 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
3287 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
3288 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
3289 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
3290 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
3291 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
3292 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
3293 * config/arm/mve.md: Use VxBI instead of HI.
3295 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3299 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
3301 (STRSBU_P_QUALIFIERS): Likewise.
3302 (LDRGBS_Z_QUALIFIERS): Likewise.
3303 (LDRGBU_Z_QUALIFIERS): Likewise.
3304 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
3305 (LDRGBWBS_Z_QUALIFIERS): Likewise.
3306 (LDRGBWBU_Z_QUALIFIERS): Likewise.
3307 (STRSBWBS_P_QUALIFIERS): Likewise.
3308 (STRSBWBU_P_QUALIFIERS): Likewise.
3309 * config/arm/mve.md: Use VxBI instead of HI.
3311 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3315 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
3316 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
3317 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
3318 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
3319 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
3320 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
3321 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
3322 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
3323 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
3324 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
3325 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
3326 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
3327 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
3328 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
3329 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
3330 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
3331 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
3332 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
3333 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
3334 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
3335 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
3336 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
3337 (STRS_P_QUALIFIERS): Use predicate qualifier.
3338 (STRU_P_QUALIFIERS): Likewise.
3339 (STRSU_P_QUALIFIERS): Likewise.
3340 (STRSS_P_QUALIFIERS): Likewise.
3341 (LDRGS_Z_QUALIFIERS): Likewise.
3342 (LDRGU_Z_QUALIFIERS): Likewise.
3343 (LDRS_Z_QUALIFIERS): Likewise.
3344 (LDRU_Z_QUALIFIERS): Likewise.
3345 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
3346 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
3347 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
3348 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
3349 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
3350 * config/arm/mve.md: Use MVE_VPRED instead of HI.
3352 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3356 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
3358 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
3359 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
3360 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
3361 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
3362 predicated qualifiers.
3363 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
3364 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
3366 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3369 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
3370 (arm_expand_vector_compare): Update prototype.
3371 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
3372 (arm_vector_mode_supported_p): Add support for VxBI modes.
3373 (arm_expand_vector_compare): Remove useless generation of vpsel.
3374 (arm_expand_vcond): Fix select operands.
3375 (arm_get_mask_mode): New.
3376 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
3377 (vec_cmpu<mode><MVE_vpred>): New.
3378 (vcond_mask_<mode><MVE_vpred>): New.
3379 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
3380 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
3381 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
3382 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
3383 and disable for MVE.
3384 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
3386 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3390 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
3391 (BINOP_PRED_NONE_NONE_QUALIFIERS)
3392 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
3393 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
3394 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
3395 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
3397 (arm_mode_to_pred_mode): New.
3398 (arm_expand_vector_compare): Use the right VxBI mode instead of
3400 (arm_expand_vcond): Likewise.
3401 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
3402 (mve_bool_vec_to_const): New.
3403 (neon_make_constant): Call mve_bool_vec_to_const when needed.
3404 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
3405 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
3406 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
3407 (vpselq_s, vpselq_f): Use new predicated qualifiers.
3408 * config/arm/constraints.md (DB): New.
3409 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
3410 (MVE_VPRED, MVE_vpred): New attribute iterators.
3411 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
3412 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
3413 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
3414 (@mve_vpselq_<supf>v2di): Define separately.
3415 (mov<mode>): New expander for VxBI modes.
3416 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
3417 MVE_7_HI iterator and add support for DB constraint.
3419 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3420 Richard Sandiford <richard.sandiford@arm.com>
3424 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
3425 VNx2BI): Update definition.
3426 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
3428 (arm_init_builtin): Map predicate vectors arguments to HImode.
3429 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
3430 rtx. Move return value to HImode rtx.
3431 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
3432 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
3433 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
3434 Pred2x8_t,Pred4x4_t): New.
3435 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
3436 * genmodes.cc (mode_data): Add boolean field.
3437 (blank_mode): Initialize it.
3438 (make_complex_modes): Fix handling of boolean modes.
3439 (make_vector_modes): Likewise.
3440 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
3441 (make_vector_bool_mode): Likewise.
3443 (make_bool_mode): New.
3444 (emit_insn_modes_h): Fix generation of boolean modes.
3445 (emit_class_narrowest_mode): Likewise.
3446 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
3447 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
3449 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
3450 Fix handling of constm1_rtx for VECTOR_BOOL.
3451 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
3452 (native_decode_vector_rtx): Likewise.
3453 (test_vector_ops_duplicate): Skip vec_merge test
3454 with vectors of booleans.
3455 * varasm.cc (output_constant_pool_2): Likewise.
3457 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3459 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
3462 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3464 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
3466 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
3468 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
3469 (REG_CLASS_NAMES): Likewise.
3470 (REG_CLASS_CONTENTS): Likewise.
3471 (CLASS_MAX_NREGS): Handle VPR.
3472 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
3474 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
3475 Tom de Vries <tdevries@suse.de>
3477 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
3478 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
3480 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
3482 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
3483 Tom de Vries <tdevries@suse.de>
3485 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
3486 * doc/invoke.texi (-mptx): Update for new values and defaults.
3488 2022-02-22 Tom de Vries <tdevries@suse.de>
3490 * config/nvptx/nvptx.cc (gen_comment): New function.
3491 (workaround_uninit_method_1, workaround_uninit_method_2)
3492 (workaround_uninit_method_3): : Use gen_comment.
3493 * config/nvptx/nvptx.opt (mptx-comment): New option.
3495 2022-02-22 Richard Biener <rguenther@suse.de>
3497 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
3500 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
3501 Richard Biener <rguenther@suse.de>
3503 * fold-const.cc (ctor_single_nonzero_element): New function to
3504 return the single non-zero element of a (vector) constructor.
3505 * fold-const.h (ctor_single_nonzero_element): Prototype here.
3506 * match.pd (reduc (constructor@0)): Simplify reductions of a
3507 constructor containing a single non-zero element.
3508 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
3509 reductions of vector operations of the same operator with
3510 constant vector operands.
3512 2022-02-22 Jakub Jelinek <jakub@redhat.com>
3514 PR tree-optimization/104604
3515 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
3516 Only check if gimple_assign_rhs1 is COMPLEX_CST if
3517 gimple_assign_rhs_code is COMPLEX_CST.
3519 2022-02-22 Jakub Jelinek <jakub@redhat.com>
3522 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
3523 on input operands before calling lowpart_subreg on it. For output
3524 operand, use a vmode pseudo as destination and then move its lowpart
3525 subreg into operands[0] if lowpart_subreg fails on dest.
3526 (ix86_expand_xorsign): Likewise.
3528 2022-02-22 Richard Biener <rguenther@suse.de>
3530 PR tree-optimization/104582
3532 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
3533 Cost GPR to vector register moves for integer vector construction.
3535 2022-02-22 Richard Biener <rguenther@suse.de>
3537 PR tree-optimization/104582
3538 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
3539 (vector_costs::add_stmt_cost): Add SLP node parameter.
3540 (dump_stmt_cost): Likewise.
3541 (add_stmt_cost): Likewise, new overload and adjust.
3542 (add_stmt_costs): Adjust.
3543 (record_stmt_cost): New overload.
3544 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
3545 (vector_costs::add_stmt_cost): Adjust.
3546 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
3548 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
3549 the SLP node for costing.
3550 (vectorizable_slp_permutation): Likewise.
3551 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
3553 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
3555 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
3557 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
3559 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
3561 2022-02-22 Richard Biener <rguenther@suse.de>
3563 PR tree-optimization/104582
3564 * tree-vectorizer.h (add_stmt_cost): New overload.
3565 (record_stmt_cost): Likewise.
3566 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
3568 (vect_get_known_peeling_cost): Use new overloads.
3569 (vect_estimate_min_profitable_iters): Likewise. Consistently
3570 use scalar_stmt for costing versioning checks.
3571 * tree-vect-stmts.cc (record_stmt_cost): New overload.
3573 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
3576 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
3577 Split atomic fetch and loop part.
3578 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
3579 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
3581 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
3582 expander under TARGET_RELAX_CMPXCHG_LOOP.
3583 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
3585 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
3587 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
3588 Change wb_candidate[12] to wb_push_candidate[12].
3589 (aarch64_layout_frame): Likewise, and
3590 change callee_adjust when scs is enabled.
3591 (aarch64_save_callee_saves):
3592 Change wb_candidate[12] to wb_push_candidate[12].
3593 (aarch64_restore_callee_saves):
3594 Change wb_candidate[12] to wb_pop_candidate[12].
3595 (aarch64_get_separate_components):
3596 Change wb_candidate[12] to wb_push_candidate[12].
3597 (aarch64_expand_prologue): Push x30 onto SCS before it's
3599 (aarch64_expand_epilogue): Pop x30 frome SCS, while
3600 preventing it from being popped from the regular stack again.
3601 (aarch64_override_options_internal): Add SCS compile option check.
3602 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
3603 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
3604 wb_pop_candidate[12], and rename wb_candidate[12] to
3605 wb_push_candidate[12].
3606 * config/aarch64/aarch64.md (scs_push): New template.
3607 (scs_pop): Likewise.
3608 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
3609 * doc/tm.texi: Regenerate.
3610 * doc/tm.texi.in: Add hook have_shadow_call_stack.
3611 * flag-types.h (enum sanitize_code):
3612 Add SANITIZE_SHADOW_CALL_STACK.
3613 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
3614 and exclude SANITIZE_SHADOW_CALL_STACK.
3615 * target.def: New hook.
3616 * toplev.cc (process_options): Add SCS compile option check.
3617 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
3619 2022-02-21 Tom de Vries <tdevries@suse.de>
3622 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
3623 (workaround_uninit_method_2, workaround_uninit_method_3)
3624 (workaround_uninit): New function.
3625 (nvptx_reorg): Use workaround_uninit.
3626 * config/nvptx/nvptx.opt (minit-regs): New option.
3628 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
3630 PR rtl-optimization/104498
3631 * alias.cc (compare_base_symbol_refs): Correct distance computation
3632 when swapping x and y.
3634 2022-02-21 Andrew Pinski <apinski@marvell.com>
3637 * tree-ssa.cc (tree_ssa_useless_type_conversion):
3638 Check the inner type before calling useless_type_conversion_p.
3640 2022-02-19 Tom de Vries <tdevries@suse.de>
3642 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
3643 * config/nvptx/nvptx.md
3644 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
3645 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
3646 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
3647 (define_expand "atomic_store<mode>"): Handle rename. Use
3648 nvptx_atomic_store instead of atomic_exchange.
3650 2022-02-19 Tom de Vries <tdevries@suse.de>
3652 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
3653 insns with atomic attribute. Assert that all handled insns are
3655 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
3656 Set atomic attribute to false.
3658 2022-02-19 Tom de Vries <tdevries@suse.de>
3660 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
3662 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
3663 nvptx_warpsync, if necessary.
3665 2022-02-19 Jakub Jelinek <jakub@redhat.com>
3668 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
3669 known to be within bounds, treat it like automatic variables.
3670 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
3671 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
3674 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
3676 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
3677 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
3678 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
3679 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
3680 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
3681 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
3682 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
3683 power10_sched_reorder): Likewise.
3684 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
3685 gen_addadd): Likewise
3686 * config/rs6000/fusion.md: Regenerate.
3688 2022-02-18 Jakub Jelinek <jakub@redhat.com>
3692 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
3693 rather than __posix_memalign.
3695 2022-02-18 Richard Biener <rguenther@suse.de>
3698 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
3699 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
3700 of calling ix86_avx_u128_mode_source which would eventually
3701 have returned AVX_U128_ANY in some very special case.
3703 2022-02-18 Richard Biener <rguenther@suse.de>
3705 PR tree-optimization/96881
3706 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
3708 (control_parents_preserved_p): New function.
3709 (eliminate_unnecessary_stmts): Check that we preserved control
3710 parents before retaining a CLOBBER.
3711 (perform_tree_ssa_dce): Pass down aggressive flag
3712 to eliminate_unnecessary_stmts.
3714 2022-02-17 Jason Merrill <jason@redhat.com>
3716 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
3717 on TYPE_MAIN_VARIANT.
3719 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
3722 * config/rs6000/bmi2intrin.h: Uglify local variables.
3723 * config/rs6000/emmintrin.h: Likewise.
3724 * config/rs6000/mm_malloc.h: Likewise.
3725 * config/rs6000/mmintrin.h: Likewise.
3726 * config/rs6000/pmmintrin.h: Likewise.
3727 * config/rs6000/smmintrin.h: Likewise.
3728 * config/rs6000/tmmintrin.h: Likewise.
3729 * config/rs6000/xmmintrin.h: Likewise.
3731 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
3734 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
3735 if the expected comparison's first operand is of mode MODE_CC.
3737 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
3739 PR rtl-optimization/104447
3740 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
3741 hard reg set by lra_no_alloc_regs.
3743 2022-02-17 liuhongt <hongtao.liu@intel.com>
3745 PR tree-optimization/104551
3746 PR tree-optimization/103771
3747 * match.pd (cond_expr_convert_p): Add types_match check when
3748 convert is extension.
3749 * tree-vect-patterns.cc
3750 (gimple_cond_expr_convert_p): Adjust comments.
3751 (vect_recog_cond_expr_convert_pattern): Ditto.
3753 2022-02-17 Jakub Jelinek <jakub@redhat.com>
3756 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
3757 if expr has VOIDmode.
3759 2022-02-17 liuhongt <hongtao.liu@intel.com>
3761 * config/i386/cpuid.h (bit_MPX): Removed.
3762 (bit_BNDREGS): Ditto.
3763 (bit_BNDCSR): Ditto.
3765 2022-02-17 Michael Meissner <meissner@the-meissners.org>
3768 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
3769 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
3770 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
3773 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
3775 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
3776 range_compatible_p instead of direct type comparison.
3778 2022-02-16 Jakub Jelinek <jakub@redhat.com>
3780 PR rtl-optimization/104544
3781 * combine.cc (try_combine): When looking for insn whose links
3782 should be updated from i3 to i2, don't stop on debug insns, instead
3785 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
3788 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
3789 * config/aarch64/aarch64.md: Extend the PR100056 patterns
3790 to handle plus in the same way as ior, if the operands have
3791 no set bits in common.
3793 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
3795 PR tree-optimization/104526
3796 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
3798 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
3799 of dependency chain if there isn't one.
3800 (gori_compute::condexpr_adjust): New.
3801 * gimple-range-gori.h (class gori_compute): New prototype.
3803 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
3806 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
3808 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
3809 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
3811 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
3813 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
3814 (vect_scalar_ops_slice_hash): Likewise.
3815 (vect_scalar_ops_slice::op): New function.
3816 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
3817 (vect_scalar_ops_slice_hash::hash): Likewise.
3818 (vect_scalar_ops_slice_hash::equal): Likewise.
3819 (vect_prologue_cost_for_slp): Check for duplicate vectors.
3820 * config/aarch64/aarch64.cc
3821 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
3822 (aarch64_aligned_constant_offset_p): New function.
3823 (aarch64_stp_sequence_cost): Likewise.
3824 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
3825 (aarch64_vector_costs::finish_cost): Likewise.
3827 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
3829 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
3832 2022-02-15 Richard Biener <rguenther@suse.de>
3834 PR tree-optimization/104543
3835 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
3836 come after the inner loop.
3838 2022-02-15 Jakub Jelinek <jakub@redhat.com>
3841 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
3842 cannot instead of can%'t in diagnostics. Formatting fixes.
3844 2022-02-15 Jakub Jelinek <jakub@redhat.com>
3846 PR middle-end/104522
3847 * fold-const.h (native_interpret_real): Declare.
3848 * fold-const.cc (native_interpret_real): No longer static. Don't
3849 perform MODE_COMPOSITE_P verification here.
3850 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
3852 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
3853 instead of native_interpret_expr.
3854 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
3855 and comparison verification for all FLOAT_MODE_P modes, not just
3858 2022-02-15 Richard Biener <rguenther@suse.de>
3860 PR tree-optimization/104519
3861 * fold-const.cc (multiple_of_p): Remove never true condition.
3862 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
3863 the appropriate types for determining whether the difference
3864 of final and base is a multiple of the step.
3866 2022-02-15 Jakub Jelinek <jakub@redhat.com>
3869 * omp-low.cc (task_cpyfns): New variable.
3870 (delete_omp_context): Don't call finalize_task_copyfn from here.
3871 (create_task_copyfn): Push task_stmt into task_cpyfns.
3872 (execute_lower_omp): Call finalize_task_copyfn here on entries from
3873 task_cpyfns vector and release the vector.
3875 2022-02-14 Martin Sebor <msebor@redhat.com>
3877 PR middle-end/104355
3878 * doc/invoke.texi (-Warray-bounds): Update documentation.
3880 2022-02-14 Michael Meissner <meissner@the-meissners.org>
3883 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
3884 conversion functions used to convert IFmode types.
3886 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
3888 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
3890 2022-02-14 Richard Biener <rguenther@suse.de>
3892 PR tree-optimization/104528
3893 * tree-ssa.h (find_released_ssa_name): Declare.
3894 * tree-ssa.cc (find_released_ssa_name): Export.
3895 * cfgloop.cc (verify_loop_structure): Look for released
3896 SSA names in loops nb_iterations.
3897 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
3900 2022-02-14 Richard Biener <rguenther@suse.de>
3902 PR tree-optimization/104511
3903 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
3904 touching DFP <-> FP conversions.
3906 2022-02-14 Richard Biener <rguenther@suse.de>
3908 PR middle-end/104497
3909 * gimplify.cc (gimplify_compound_lval): Make sure the
3910 base is a non-register if needed and possible.
3912 2022-02-13 liuhongt <hongtao.liu@intel.com>
3915 * match.pd (cond_expr_convert_p): New match.
3916 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
3917 (vect_recog_cond_expr_convert_pattern): New.
3919 2022-02-12 Jakub Jelinek <jakub@redhat.com>
3922 * asan.cc: Include tree-eh.h.
3923 (handle_builtin_alloca): Handle the case when __builtin_alloca or
3924 __builtin_alloca_with_align can throw.
3926 2022-02-12 Jakub Jelinek <jakub@redhat.com>
3929 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
3930 and AVX512VL isn't available, move operands[1] to operands[0] first.
3932 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
3935 * config/i386/i386.cc (type_natural_mode):
3936 Skip decimal float vector modes.
3938 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
3939 Vladimir Makarov <vmakarov@redhat.com>
3942 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
3943 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
3945 (legitimate_lo_sum_address_p): Likewise.
3946 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
3947 load from an invalid lo_sum address.
3949 2022-02-11 Jakub Jelinek <jakub@redhat.com>
3951 PR tree-optimization/104499
3952 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
3955 2022-02-11 Jakub Jelinek <jakub@redhat.com>
3957 * tree.cc (build_common_builtin_nodes): Fix up formatting in
3958 __builtin_clear_padding decl creation.
3959 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
3960 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
3961 argument rather than in 3rd argument.
3962 (gimplify_call_expr): Likewise. Fix up comment formatting.
3963 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
3964 2 arguments instead of 3, take for_auto_init from the value
3967 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
3969 PR rtl-optimization/104400
3970 * lra-constraints.cc (process_alt_operands): Don't make union of
3971 this_alternative_exclude_start_hard_regs when reg class in insn
3972 alternative covers other reg classes in the same alternative.
3974 2022-02-11 Jakub Jelinek <jakub@redhat.com>
3976 PR middle-end/104446
3977 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
3980 2022-02-11 Richard Biener <rguenther@suse.de>
3982 PR middle-end/104496
3983 * internal-fn.cc (vectorized_internal_fn_supported_p):
3984 Bail out for integer mode vector types.
3986 2022-02-11 Jakub Jelinek <jakub@redhat.com>
3988 PR rtl-optimization/104459
3989 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
3990 moving DEBUG_INSNs between bbs.
3992 2022-02-11 liuhongt <hongtao.liu@intel.com>
3994 PR tree-optimization/104479
3995 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
3996 for the dest of uncond_op.
3998 2022-02-11 Tom de Vries <tdevries@suse.de>
4001 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
4004 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
4006 PR middle-end/100775
4007 * function.cc (gen_call_used_regs_seq): Call
4008 df_update_exit_block_uses when updating df.
4010 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
4013 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
4014 Change operand 1 constraint to register_operand.
4016 2022-02-10 Richard Biener <rguenther@suse.de>
4018 PR tree-optimization/104373
4019 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
4021 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
4022 walk kind as argument.
4023 (run_rpo_vn): Adjust.
4024 (pass_fre::execute): Likewise.
4025 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
4026 blocks not reachable.
4027 (execute_late_warn_uninitialized): Mark all edges as
4029 (execute_early_warn_uninitialized): Use VN to compute
4031 (pass_data_early_warn_uninitialized): Enable a dump file,
4032 change dump name to warn_uninit.
4034 2022-02-10 Richard Biener <rguenther@suse.de>
4036 PR middle-end/104467
4037 * match.pd (vector extract simplification): Multiply the
4038 number of CTOR elements with the number of element elements.
4040 2022-02-10 Richard Biener <rguenther@suse.de>
4042 PR tree-optimization/104466
4043 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
4044 for the MR_DEPENDENCE checks as intended.
4046 2022-02-10 Tom de Vries <tdevries@suse.de>
4048 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
4050 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
4052 (define_c_enum "unspecv"): Add UNSPECV_ST.
4054 2022-02-10 Tom de Vries <tdevries@suse.de>
4056 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
4057 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
4058 (nvptx_mem_maybe_shared_p): New function.
4059 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
4062 2022-02-10 Tom de Vries <tdevries@suse.de>
4065 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
4066 driver JIT bug by using sub.s16 instead of sub.u16.
4068 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4070 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
4071 floating point constants as operands 1 and/or 2.
4073 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4076 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
4077 (sel_false<mode>): Likewise.
4078 (define_code_iterator eqne): New code iterator for EQ and NE.
4079 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
4080 the negation of a selp instruction.
4081 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
4082 the bitwise not of a selp instruction.
4083 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
4085 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4087 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
4088 in machine description.
4089 (logic): Move code attribute earlier in machine description.
4090 (ilogic): New code attribute, like logic but "ior" for IOR.
4091 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
4092 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
4093 (<ilogic>bi3): New define_insn for BI mode logic operations.
4094 (define_split): Lower logic operations from integer modes to
4095 BI mode predicate operations.
4097 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4099 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
4100 (one_cmplbi2): New define_insn for not.pred.
4101 (mulditi3): New define_expand for signed widening multiply.
4102 (umulditi3): New define_expand for unsigned widening multiply.
4103 (smul<mode>3_highpart): New define_insn for signed highpart mult.
4104 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
4105 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
4106 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
4107 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
4108 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
4109 (*setcc<mode>_from_not_bi): New define_insn.
4110 (*setcc_isinf<mode>): New define_insn for testp.infinite.
4111 (isinf<mode>2): New define_expand.
4113 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4115 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
4116 (setcc<mode>_from_bi): Additionally support QImode.
4117 (extendbi<mode>2): Additionally support QImode.
4118 (zero_extendbi<mode>2): Additionally support QImode.
4119 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
4120 iterators for signed and unsigned, binary and unary operations.
4121 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
4122 expanders to perform QImode operations using SImode instructions.
4123 (cstoreqi4): New define_expand.
4124 (*ext_truncsi2_qi): New define_insn.
4125 (*zext_truncsi2_qi): New define_insn.
4127 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4129 * config/nvptx/nvptx.md (*cmpf): New define_insn.
4130 (cstorehf4): New define_expand.
4131 (fmahf4): New define_insn.
4132 (neghf2): New define_insn.
4133 (abshf2): New define_insn.
4135 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
4137 * doc/install.texi (Specific): Change the www.bitwizard.nl
4138 reference to use https.
4140 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
4142 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
4143 OMP_CLAUSE_HAS_DEVICE_ADDR
4144 and handle array sections.
4145 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
4146 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
4147 (lower_omp_target): Same.
4148 * tree-core.h (enum omp_clause_code): Same.
4149 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
4150 (convert_local_omp_clauses): Same.
4151 * tree-pretty-print.cc (dump_omp_clause): Same.
4154 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
4156 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
4157 that will result in direct recursive calls.
4159 2022-02-10 Andrew Pinski <apinski@marvell.com>
4162 * config/aarch64/aarch64.cc
4163 (aarch64_sve_expand_vector_init_handle_trailing_constants):
4164 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
4166 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
4169 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
4170 Also include OPTION_MASK_ISA2_AVX2_UNSET.
4172 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
4175 * config/i386/i386-expand.cc (ix86_split_idivmod):
4176 Force operands[2] and operands[3] into a register..
4178 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
4181 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
4182 (*v850_fnmssf4): Renamed from fnmssf4
4184 2022-02-09 Ian Lance Taylor <iant@golang.org>
4186 * godump.cc (go_force_record_alignment): Really name the alignment
4187 field "_" (complete 2021-12-29 change).
4189 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
4191 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
4193 (VREPLACE_UN_UV4SI): Likewise.
4194 (VREPLACE_UN_V2DF): Likewise.
4195 (VREPLACE_UN_V2DI): Likewise.
4196 (VREPLACE_UN_V4SF): Likewise.
4197 (VREPLACE_UN_V4SI): Likewise.
4198 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
4199 function prototypes.
4200 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
4201 (vreplace_un_<mode>): New define_insn.
4203 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4205 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
4207 (single_wx, single_type, single_dtype, dblq): New mode attributes.
4208 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
4210 (store_pair_lanes<mode>): Likewise.
4211 (*aarch64_combine_internal<mode>): Likewise.
4212 (*aarch64_combine_internal_be<mode>): Likewise.
4213 (*aarch64_combinez<mode>): Likewise.
4214 (*aarch64_combinez_be<mode>): Likewise.
4215 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
4216 8-byte modes for ADDR_QUERY_LDP_STP_N.
4217 (aarch64_print_operand): Likewise for %y.
4219 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4221 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
4222 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
4223 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
4224 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
4225 (vec_pack_trunc_<mode>): Take general_operand elements and use
4226 aarch64_combine rather than move_lo/hi_quad to combine them.
4227 (vec_pack_trunc_df): Likewise.
4229 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4231 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
4233 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
4235 (*aarch64_combinez<mode>): ...this.
4236 (@aarch64_combinez_be<mode>): Rename to...
4237 (*aarch64_combinez_be<mode>): ...this.
4238 (@aarch64_vec_concat<mode>): New expander.
4239 (aarch64_combine<mode>): Use it.
4240 (@aarch64_simd_combine<mode>): Delete.
4241 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
4242 (aarch64_expand_vector_init): Use aarch64_vec_concat.
4244 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4246 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
4248 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
4249 (*aarch64_combine_internal_be<mode>): New patterns.
4251 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4253 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
4254 (move_lo_quad_internal_be_<mode>): Delete.
4255 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
4257 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4259 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
4261 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
4262 aarch64_mergeable_load_pair_p instead of inline check.
4263 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
4264 (aarch64_check_consecutive_mems): Allow the reversed parameter
4266 (aarch64_mergeable_load_pair_p): New function.
4268 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4270 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
4271 element to be an aarch64_simd_nonimmediate_operand.
4273 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
4275 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
4276 aarch64_simd_nonimmediate_operand instead of
4277 aarch64_simd_general_operand.
4278 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
4280 (@aarch64_combinez_be<mode>): Likewise.
4282 2022-02-09 Richard Biener <rguenther@suse.de>
4284 PR middle-end/104464
4285 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
4286 throwing check to after unproblematic replacement.
4288 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
4290 PR tree-optimization/104420
4291 * match.pd (mult @0 real_zerop): Tweak conditions for constant
4292 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
4294 2022-02-09 Jakub Jelinek <jakub@redhat.com>
4297 * dwarf2out.cc (mangle_referenced_decls): New function.
4298 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
4299 early_dwarf. Instead walk the initializer and try to mangle vars or
4300 functions referenced from it.
4302 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
4304 PR tree-optimization/104288
4305 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
4306 (non_null_ref::adjust_range): Move to header.
4307 (ranger_cache::range_of_def): Don't check non-null.
4308 (ranger_cache::entry_range): Don't check non-null.
4309 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
4310 (ranger_cache::update_to_nonnull): New.
4311 (non_null_loadstore): New.
4312 (ranger_cache::block_apply_nonnull): New.
4313 * gimple-range-cache.h (class non_null_ref): Update prototypes.
4314 (non_null_ref::adjust_range): Move to here and inline.
4315 (class ranger_cache): Update prototypes.
4316 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
4317 not search dominators.
4318 (path_range_query::adjust_for_non_null_uses): Ditto.
4319 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
4320 def overrides. Do not check nonnull.
4321 (gimple_ranger::range_on_entry): Check dominators for nonnull.
4322 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
4323 (gimple_ranger::register_side_effects): New.
4324 * gimple-range.h (gimple_ranger::register_side_effects): New.
4325 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
4327 2022-02-09 Richard Biener <rguenther@suse.de>
4329 PR tree-optimization/104445
4330 PR tree-optimization/102832
4331 * optabs-query.h (can_vec_extract): New.
4332 * optabs-query.cc (can_vec_extract): Likewise.
4333 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
4334 we can extract a hi/lo part from the larger vector, rework
4335 check iteration from larger to smaller sizes.
4337 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
4341 * config/i386/gnu-property.cc: Include "i386-protos.h".
4342 (file_end_indicate_exec_stack_and_gnu_property): Generate
4343 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
4344 nodirect_extern_access attribute.
4345 * config/i386/i386-options.cc
4346 (handle_nodirect_extern_access_attribute): New function.
4347 (ix86_attribute_table): Add nodirect_extern_access attribute.
4348 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
4350 (ix86_has_no_direct_extern_access): New.
4351 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
4352 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
4353 call operand. Force non-call load from GOT for
4354 -mno-direct-extern-access or nodirect_extern_access attribute.
4355 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
4356 for -mno-direct-extern-access or nodirect_extern_access attribute.
4357 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
4359 (asm_preferred_eh_data_format): Use PC-relative format for
4360 -mno-direct-extern-access to avoid copy relocation. Check
4361 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
4362 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
4363 true for -mno-direct-extern-access or nodirect_extern_access
4364 attribute. Don't treat protected data as extern and avoid copy
4365 relocation on common symbol with -mno-direct-extern-access or
4366 nodirect_extern_access attribute.
4367 (ix86_reloc_rw_mask): New to avoid copy relocation for
4368 -mno-direct-extern-access.
4369 (TARGET_ASM_RELOC_RW_MASK): New.
4370 * config/i386/i386.opt: Add -mdirect-extern-access.
4371 * doc/extend.texi: Document nodirect_extern_access attribute.
4372 * doc/invoke.texi: Document -m[no-]direct-extern-access.
4374 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
4377 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
4378 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
4379 Call ix86_avx_u128_mode_source to check mode for each component
4382 2022-02-09 liuhongt <hongtao.liu@intel.com>
4385 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
4386 operands[2] from SImode to QImode.
4388 2022-02-09 Richard Biener <rguenther@suse.de>
4390 PR middle-end/104450
4391 * gimple-isel.cc: Pass cfun around.
4392 (+gimple_expand_vec_cond_expr): Do not combine a throwing
4393 comparison with the select.
4395 2022-02-09 Richard Biener <rguenther@suse.de>
4398 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
4399 folding for NULL LHS.
4401 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
4403 PR rtl-optimization/104198
4404 PR rtl-optimization/104153
4405 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
4406 using it directly. Rework comparison handling and always
4407 perform a second pass.
4409 2022-02-08 Jakub Jelinek <jakub@redhat.com>
4412 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
4413 split1 pass has finished already.
4415 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
4417 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
4418 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
4419 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
4420 (vmsumcud): New define_insn.
4422 2022-02-08 Tom de Vries <tdevries@suse.de>
4424 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
4425 * config/nvptx/nvptx.h (TARGET_SM70): Define.
4427 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
4429 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
4431 * config/s390/s390.md: Use paradoxical subreg.
4433 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
4435 * combine.cc (reg_subword_p): Check for paradoxical subreg.
4437 2022-02-08 Tom de Vries <tdevries@suse.de>
4440 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
4441 and PTX_VERSION_4_2.
4442 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
4443 (default_ptx_version_option, ptx_version_to_string)
4444 (sm_version_to_string, handle_ptx_version_option): New function.
4445 (nvptx_option_override): Call handle_ptx_version_option.
4446 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
4447 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
4448 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
4449 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
4451 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
4453 * doc/install.texi (Configuration): Document `--with-isa-spec='
4455 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
4457 (RISC-V Options): Document it.
4459 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
4461 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
4463 2022-02-08 Tom de Vries <tdevries@suse.de>
4465 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
4467 2022-02-08 Tom de Vries <tdevries@suse.de>
4470 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
4471 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
4472 change is validated.
4473 (nvptx_mem_local_p): New function.
4474 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
4475 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
4476 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
4477 non-atomic, non-predicable define_insn, factored out of ...
4478 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
4479 Make predicable again.
4480 (define_expand "atomic_compare_and_swap<mode>"): Use
4481 atomic_compare_and_swap<mode>_1_local.
4483 2022-02-08 liuhongt <hongtao.liu@intel.com>
4485 PR rtl-optimization/104059
4486 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
4487 for a more expensive reg-reg move.
4489 2022-02-07 Tamar Christina <tamar.christina@arm.com>
4491 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
4492 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
4493 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
4494 (usdot_laneq, sudot_laneq): New.
4495 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
4496 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
4498 2022-02-07 Tamar Christina <tamar.christina@arm.com>
4500 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
4501 vdot_laneq_s32, vdotq_laneq_s32): New.
4502 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
4503 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
4504 (<sup>dot_prod<vsi2qi>): Re-order rtl.
4505 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
4506 (neon_<sup>dot_laneq<vsi2qi>): New.
4508 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
4511 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
4512 if always_inline is set. Don't inline when tune differs without
4515 2022-02-07 Richard Biener <rguenther@suse.de>
4517 PR middle-end/104402
4518 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
4519 compares are not valid.
4520 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
4521 check is_gimple_condexpr.
4523 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
4526 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
4527 hunk affecting VSX and ALTIVEC to appropriate place.
4529 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
4532 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
4535 2022-02-06 Jakub Jelinek <jakub@redhat.com>
4539 * fold-const.h (folding_initializer): Adjust comment.
4540 (folding_cxx_constexpr): Declare.
4541 * fold-const.cc (folding_initializer): Adjust comment.
4542 (folding_cxx_constexpr): New variable.
4543 (address_compare): Restrict the decl vs. STRING_CST
4544 or vice versa or STRING_CST vs. STRING_CST or
4545 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
4546 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
4547 assume non-aliased functions have non-zero size and have different
4548 addresses. For folding_cxx_constexpr, punt on comparisons of start
4549 of some object and end of another one, regardless whether it is a decl
4550 or string literal. Also punt for folding_cxx_constexpr on
4551 STRING_CST vs. STRING_CST comparisons if the two literals could be
4554 2022-02-05 Jakub Jelinek <jakub@redhat.com>
4556 PR tree-optimization/104389
4557 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
4560 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
4562 * configure.ac: Fix detection for zifencei support.
4563 * configure: Regenerate.
4565 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
4568 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
4569 (all_defaults): Add isa_spec.
4570 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
4572 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
4574 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
4575 parameters instead of arglist and nargs. Simplify accordingly. Remove
4576 unnecessary test for argument count mismatch.
4577 (resolve_vec_cmpne): Likewise.
4578 (resolve_vec_adde_sube): Likewise.
4579 (resolve_vec_addec_subec): Likewise.
4580 (altivec_resolve_overloaded_builtin): Move overload special handling
4581 after the gathering of arguments into args[] and types[] and the test
4582 for correct number of arguments. Don't perform the test for correct
4583 number of arguments for certain special cases. Call the other special
4584 cases with args and types instead of arglist and nargs.
4586 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
4589 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
4590 3.1): Provide consistent type names. Remove unnecessary semicolons.
4591 Fix bad line breaks.
4593 2022-02-04 Jakub Jelinek <jakub@redhat.com>
4596 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
4597 adjust mangling of __builtin*printf_chk.
4599 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
4601 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
4603 2022-02-04 Richard Biener <rguenther@suse.de>
4604 Bin Cheng <bin.cheng@linux.alibaba.com>
4606 PR tree-optimization/100499
4607 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
4609 * fold-const.cc (multiple_of_p): Likewise. Honor it for
4610 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
4611 switching to false for conversions.
4612 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
4613 claim the outermost expression does not wrap when calling
4614 multiple_of_p. Refactor the check done to check the
4615 original IV, avoiding a bias that might wrap.
4617 2022-02-04 Richard Biener <rguenther@suse.de>
4619 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
4622 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
4625 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
4626 (dwarf2out_early_finish): Likewise.
4628 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
4630 PR tree-optimization/104356
4631 * match.pd (X / bool_range_Y is X): Add guard.
4632 (X / X is one): Likewise.
4633 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
4634 (X / -X is -1): Likewise.
4635 (1 / X -> X == 1): Likewise.
4637 2022-02-04 Richard Biener <rguenther@suse.de>
4639 PR tree-optimization/103641
4640 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
4641 Pass the vector mode to choose_mult_variant.
4643 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
4645 PR rtl-optimization/101885
4646 * combine.cc (try_combine): When splitting a parallel into two
4647 sequential sets, check not only that the first doesn't clobber
4648 the second but also that the second doesn't clobber the first.
4650 2022-02-04 Richard Biener <rguenther@suse.de>
4653 PR middle-end/104092
4654 * tree-core.h (clobber_kind): New enum.
4655 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
4656 * tree.h (CLOBBER_KIND): Add.
4657 (build_clobber): Add clobber kind argument, defaulted to
4659 * tree.cc (build_clobber): Likewise.
4660 * gimple.h (gimple_clobber_p): New overload with specified kind.
4661 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
4663 * tree-streamer-out.cc (streamer_write_tree_bitfields):
4665 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
4666 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
4668 (gimplify_target_expr): Likewise.
4669 * tree-inline.cc (expand_call_inline): Likewise.
4670 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
4671 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
4672 CLOBBER_EOL clobbers as ending lifetime of storage.
4674 2022-02-04 Martin Sebor <msebor@redhat.com>
4676 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
4679 2022-02-03 Martin Sebor <msebor@redhat.com>
4681 PR middle-end/104260
4682 * passes.def (pass_warn_access): Adjust pass placement.
4684 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
4687 * config/i386/i386.cc (find_drap_reg): For 32bit targets
4688 return DI_REG if function uses __builtin_eh_return.
4690 2022-02-03 Martin Sebor <msebor@redhat.com>
4692 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
4693 (pass_wrestrict::m_ptr_qry): New member.
4694 (wrestrict_walk): Rename...
4695 (pass_wrestrict::check_block): ...to this.
4696 (pass_wrestrict::execute): Set up and tear down pointer_query and
4698 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
4699 (builtin_access::builtin_access): Same.
4700 (builtin_access::m_ptr_qry): New member.
4701 (check_call): Rename...
4702 (pass_wrestrict::check_call): ...to this.
4703 (check_bounds_or_overlap): Change argument.
4704 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
4706 2022-02-03 Martin Sebor <msebor@redhat.com>
4708 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
4710 (array_bounds_checker::get_value_range): Use new member.
4711 (array_bounds_checker::check_mem_ref): Same.
4712 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
4714 (array_bounds_checker::m_ptr_query): New member.
4716 2022-02-03 Martin Sebor <msebor@redhat.com>
4718 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
4719 pointer_query cache.
4720 * pointer-query.cc (pointer_query::pointer_query): Remove cache
4721 argument. Zero-initialize new cache member.
4722 (pointer_query::get_ref): Replace cache pointer with direct access.
4723 (pointer_query::put_ref): Same.
4724 (pointer_query::flush_cache): Same.
4725 (pointer_query::dump): Same.
4726 * pointer-query.h (class pointer_query): Remove cache argument from
4727 ctor. Change cache pointer to cache subobject member.
4728 * tree-ssa-strlen.cc: Remove pointer_query cache.
4730 2022-02-03 Martin Sebor <msebor@redhat.com>
4732 PR tree-optimization/104119
4733 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
4734 (format_none): Same.
4735 (format_percent): Same.
4736 (format_integer): Same.
4737 (format_floating): Same.
4738 (get_string_length): Same.
4739 (format_character): Same.
4740 (format_string): Same.
4741 (format_plain): Same.
4742 (format_directive): Same.
4743 (compute_format_length): Same.
4744 (handle_printf_call): Same.
4745 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
4747 (get_range_strlen_phi): Same.
4748 (get_maxbound): New function.
4749 (strlen_pass::get_len_or_size): Adjust to parameter change.
4750 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
4752 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
4755 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
4756 test for !rs6000_fold_gimple.
4757 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
4758 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
4760 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
4763 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
4764 endianness for vclzlsbb and vctzlsbb.
4765 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
4766 default pattern and indicate a different pattern will be used for
4768 (VCLZLSBB_V4SI): Likewise.
4769 (VCLZLSBB_V8HI): Likewise.
4770 (VCTZLSBB_V16QI): Likewise.
4771 (VCTZLSBB_V4SI): Likewise.
4772 (VCTZLSBB_V8HI): Likewise.
4774 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
4776 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
4777 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
4779 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
4781 (cpu_supports_info): Likewise.
4782 (rs6000_type_string): Likewise.
4783 (altivec_expand_predicate_builtin): Likewise.
4784 (rs6000_htm_spr_icode): Likewise.
4785 (altivec_expand_vec_init_builtin): Likewise.
4786 (get_element_number): Likewise.
4787 (altivec_expand_vec_set_builtin): Likewise.
4788 (altivec_expand_vec_ext_builtin): Likewise.
4789 (rs6000_invalid_builtin): Likewise.
4790 (rs6000_fold_builtin): Likewise.
4791 (fold_build_vec_cmp): Likewise.
4792 (fold_compare_helper): Likewise.
4793 (map_to_integral_tree_type): Likewise.
4794 (fold_mergehl_helper): Likewise.
4795 (fold_mergeeo_helper): Likewise.
4796 (rs6000_builtin_valid_without_lhs): Likewise.
4797 (rs6000_builtin_is_supported): Likewise.
4798 (rs6000_gimple_fold_mma_builtin): Likewise.
4799 (rs6000_gimple_fold_builtin): Likewise.
4800 (rs6000_expand_ldst_mask): Likewise.
4801 (cpu_expand_builtin): Likewise.
4802 (elemrev_icode): Likewise.
4803 (ldv_expand_builtin): Likewise.
4804 (lxvrse_expand_builtin): Likewise.
4805 (lxvrze_expand_builtin): Likewise.
4806 (stv_expand_builtin): Likewise.
4807 (mma_expand_builtin): Likewise.
4808 (htm_spr_num): Likewise.
4809 (htm_expand_builtin): Likewise.
4810 (rs6000_expand_builtin): Likewise.
4811 (rs6000_vector_type): Likewise.
4812 (rs6000_init_builtins): Likewise. Remove initialization of
4813 builtin_mode_to_type entries.
4814 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
4815 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
4816 external declaration.
4817 (rs6000_builtin_md_vectorized_function): Likewise.
4818 (rs6000_builtin_reciprocal): Likewise.
4819 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
4820 (rs6000_builtin_types): Likewise.
4821 (builtin_mode_to_type): Remove.
4822 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
4824 (rs6000_builtin_md_vectorized_function): Likewise.
4825 (rs6000_builtin_reciprocal): Likewise.
4826 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
4827 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
4829 2022-02-03 Richard Biener <rguenther@suse.de>
4832 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
4833 together via DECL_ABSTRACT_ORIGIN.
4835 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
4837 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
4838 message for RES_BITS case.
4840 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
4842 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
4844 2022-02-03 Jakub Jelinek <jakub@redhat.com>
4846 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
4847 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
4849 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
4851 * cfganal.cc (verify_marked_backedges): New.
4852 * cfganal.h (verify_marked_backedges): New.
4853 * gimple-range-path.cc (path_range_query::path_range_query):
4854 Verify freshness of back edges.
4855 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
4856 mark_dfs_back_edges.
4857 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
4858 path_range_query construction after backedges have been
4861 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
4863 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
4866 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
4868 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
4869 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
4872 2022-02-03 Martin Liska <mliska@suse.cz>
4874 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
4875 Change subject and object in the error message.
4876 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
4879 2022-02-03 Martin Liska <mliska@suse.cz>
4881 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
4882 Use the error message for i386 target.
4884 2022-02-03 Jakub Jelinek <jakub@redhat.com>
4886 PR tree-optimization/104334
4887 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
4888 and rh_range type to widest_int and subtract in widest_int. Remove
4889 ov_rh, ov_lh and sign vars, always perform comparisons as signed
4890 and use >, < and == operators for it.
4892 2022-02-03 Martin Sebor <msebor@redhat.com>
4894 * common.opt (-Wuse-after-free): Correct typos.
4896 2022-02-02 David Malcolm <dmalcolm@redhat.com>
4899 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
4900 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
4901 -ftrivial-auto-var-init= doesn't suppress warnings.
4903 2022-02-02 Martin Liska <mliska@suse.cz>
4905 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
4907 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
4910 * config/or1k/linux.h (CPP_SPEC): Define.
4912 2022-02-02 Tamar Christina <tamar.christina@arm.com>
4914 PR tree-optimization/102819
4915 PR tree-optimization/103169
4916 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
4919 2022-02-02 Tamar Christina <tamar.christina@arm.com>
4921 PR tree-optimization/102819
4922 PR tree-optimization/103169
4923 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
4925 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
4927 2022-02-02 Tamar Christina <tamar.christina@arm.com>
4929 PR tree-optimization/102819
4930 PR tree-optimization/103169
4931 * doc/md.texi: Update docs for cfms, cfma.
4932 * tree-data-ref.h (same_data_refs): Accept optional offset.
4933 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
4935 (vect_normalize_conj_loc): Remove.
4936 (is_eq_or_top): Change to take two nodes.
4937 (enum _conj_status, compatible_complex_nodes_p,
4938 vect_validate_multiplication): New.
4939 (class complex_add_pattern, complex_add_pattern::matches,
4940 complex_add_pattern::recognize, class complex_mul_pattern,
4941 complex_mul_pattern::recognize, class complex_fms_pattern,
4942 complex_fms_pattern::recognize, class complex_operations_pattern,
4943 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
4945 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
4946 cache and use new validation code.
4947 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
4948 vect_analyze_slp): Pass along cache.
4949 (compatible_calls_p): Expose.
4950 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
4951 slp_compat_nodes_map_t): New.
4952 (class vect_pattern): Update signatures include new cache.
4954 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
4956 * config/cris/cris.cc (cris_preferred_reload_class): Reject
4957 "eliminated" registers and small-enough constants unless
4958 reloaded into a class that is a subset of GENERAL_REGS.
4959 * config/cris/cris.md (attribute "cpu_variant"): New.
4960 (attribute "enabled"): Conditionalize on a matching attribute
4961 cpu_variant, if specified.
4962 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
4963 memory, add cpu-variant-enabled variants for "r" alternatives on
4964 the far side of the "x" alternatives, preferring the "x" ones
4965 only for variants where MOF is present (in addition to SRP).
4967 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
4969 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
4970 extra cost for ALL_REGS.
4972 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
4974 * config/cris/constraints.md (define_register_constraint "b"): Now
4976 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
4977 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
4978 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
4979 and SPEC_GENNONACR_REGS.
4980 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
4981 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
4983 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
4985 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
4986 Conditionalize on (sub-)register operands or operand 1 being 0.
4988 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
4990 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
4991 (MUL_BUG_ASM_DEFAULT): New macro.
4992 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
4993 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
4996 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
4998 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
5001 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
5003 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
5005 2022-02-01 Andrew Pinski <apinski@marvell.com>
5009 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
5011 * config/s390/s390.cc (s390_code_end): Do not switch back to
5014 2022-02-01 Jakub Jelinek <jakub@redhat.com>
5017 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
5018 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
5019 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
5020 GTY((user)) for struct bifdata and struct ovlddata. Instead add
5021 GTY((skip(""))) to members with pointer and enum types that don't need
5022 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
5023 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
5024 (write_extern_fntype, write_fntype): Remove.
5025 (write_fntype_init): Emit the fntype vars as automatic vars instead
5027 (write_header_file): Don't iterate with write_extern_fntype.
5028 (write_init_file): Don't iterate with write_fntype. Don't emit
5029 gt_ggc_mx and gt_pch_nx definitions.
5031 2022-02-01 Jason Merrill <jason@redhat.com>
5033 * tree.h (struct tree_vec_map_cache_hasher): Move from...
5034 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
5036 2022-02-01 Tom de Vries <tdevries@suse.de>
5038 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
5039 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
5040 UNSPECV_UNIFORM_WARP_CHECK.
5041 (define_insn "nvptx_uniform_warp_check"): New define_insn.
5043 2022-02-01 Tom de Vries <tdevries@suse.de>
5045 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
5046 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
5048 (define_insn "nvptx_warpsync"): New define_insn.
5050 2022-02-01 Tom de Vries <tdevries@suse.de>
5052 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
5054 2022-02-01 Tom de Vries <tdevries@suse.de>
5056 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
5057 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
5058 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
5059 insn for TARGET_PTX_6_0.
5061 2022-02-01 Tom de Vries <tdevries@suse.de>
5064 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
5067 2022-02-01 Tom de Vries <tdevries@suse.de>
5069 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
5070 (define_insn "atomic_exchange<mode>")
5071 (define_insn "atomic_fetch_add<mode>")
5072 (define_insn "atomic_fetch_addsf")
5073 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
5074 if memory operands is frame-relative.
5076 2022-02-01 Tom de Vries <tdevries@suse.de>
5078 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
5079 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
5081 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
5082 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
5083 NVPTX_BUILTIN_MEMBAR_CTA.
5084 (nvptx_lockfull_update): Add level parameter. Emit barriers.
5085 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
5086 nvptx_lockfull_update.
5087 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
5089 (define_expand "nvptx_membar_gl"): New expand.
5090 (define_insn "*nvptx_membar_gl"): New insn.
5092 2022-02-01 Martin Liska <mliska@suse.cz>
5094 * doc/install.texi: Remove option for GCC < 4.8.
5096 2022-02-01 Jakub Jelinek <jakub@redhat.com>
5098 PR middle-end/104307
5099 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
5100 stmts to uses vector, just set vec_cond_expr_only to false for
5101 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
5102 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
5103 like non-VEC_COND_EXPRs.
5105 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
5107 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
5108 (VEC_BLENDV): Likewise.
5109 (VEC_BPERM): Likewise.
5110 (VEC_CFUGE): Likewise.
5111 (VEC_CIPHER_BE): Likewise.
5112 (VEC_CIPHERLAST_BE): Likewise.
5113 (VEC_CLRL): Likewise.
5114 (VEC_CLRR): Likewise.
5115 (VEC_CMPNEZ): Likewise.
5116 (VEC_CNTLZ): Likewise.
5117 (VEC_CNTLZM): Likewise.
5118 (VEC_CNTTZM): Likewise.
5119 (VEC_CNTLZ_LSBB): Likewise.
5120 (VEC_CNTM): Likewise.
5121 (VEC_CNTTZ): Likewise.
5122 (VEC_CNTTZ_LSBB): Likewise.
5123 (VEC_CONVERT_4F32_8F16): Likewise.
5124 (VEC_DIV): Likewise.
5125 (VEC_DIVE): Likewise.
5126 (VEC_EQV): Likewise.
5127 (VEC_EXPANDM): Likewise.
5128 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
5129 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
5130 (VEC_EXTRACTH): Likewise.
5131 (VEC_EXTRACTL): Likewise.
5132 (VEC_EXTRACTM): Likewise.
5133 (VEC_EXTRACT4B): Likewise.
5134 (VEC_EXTULX): Likewise.
5135 (VEC_EXTURX): Likewise.
5136 (VEC_FIRSTMATCHINDEX): Likewise.
5137 (VEC_FIRSTMACHOREOSINDEX): Likewise.
5138 (VEC_FIRSTMISMATCHINDEX): Likewise.
5139 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
5141 (VEC_GENBM): Likewise.
5142 (VEC_GENHM): Likewise.
5143 (VEC_GENWM): Likewise.
5144 (VEC_GENDM): Likewise.
5145 (VEC_GENQM): Likewise.
5146 (VEC_GENPCVM): Likewise.
5147 (VEC_GNB): Likewise.
5148 (VEC_INSERTH): Likewise.
5149 (VEC_INSERTL): Likewise.
5150 (VEC_INSERT4B): Likewise.
5151 (VEC_LXVL): Likewise.
5152 (VEC_MERGEE): Likewise.
5153 (VEC_MERGEO): Likewise.
5154 (VEC_MOD): Likewise.
5155 (VEC_MSUB): Likewise.
5156 (VEC_MULH): Likewise.
5157 (VEC_NAND): Likewise.
5158 (VEC_NCIPHER_BE): Likewise.
5159 (VEC_NCIPHERLAST_BE): Likewise.
5160 (VEC_NEARBYINT): Likewise.
5161 (VEC_NMADD): Likewise.
5162 (VEC_ORC): Likewise.
5163 (VEC_PDEP): Likewise.
5164 (VEC_PERMX): Likewise.
5165 (VEC_PEXT): Likewise.
5166 (VEC_POPCNT): Likewise.
5167 (VEC_PARITY_LSBB): Likewise.
5168 (VEC_REPLACE_ELT): Likewise.
5169 (VEC_REPLACE_UN): Likewise.
5170 (VEC_REVB): Likewise.
5171 (VEC_RINT): Likewise.
5172 (VEC_RLMI): Likewise.
5173 (VEC_RLNM): Likewise.
5174 (VEC_SBOX_BE): Likewise.
5175 (VEC_SIGNEXTI): Likewise.
5176 (VEC_SIGNEXTLL): Likewise.
5177 (VEC_SIGNEXTQ): Likewise.
5178 (VEC_SLDB): Likewise.
5179 (VEC_SLV): Likewise.
5180 (VEC_SPLATI): Likewise.
5181 (VEC_SPLATID): Likewise.
5182 (VEC_SPLATI_INS): Likewise.
5183 (VEC_SQRT): Likewise.
5184 (VEC_SRDB): Likewise.
5185 (VEC_SRV): Likewise.
5186 (VEC_STRIL): Likewise.
5187 (VEC_STRIL_P): Likewise.
5188 (VEC_STRIR): Likewise.
5189 (VEC_STRIR_P): Likewise.
5190 (VEC_STXVL): Likewise.
5191 (VEC_TERNARYLOGIC): Likewise.
5192 (VEC_TEST_LSBB_ALL_ONES): Likewise.
5193 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
5194 (VEC_VEE): Likewise.
5195 (VEC_VES): Likewise.
5196 (VEC_VIE): Likewise.
5197 (VEC_VPRTYB): Likewise.
5198 (VEC_VSCEEQ): Likewise.
5199 (VEC_VSCEGT): Likewise.
5200 (VEC_VSCELT): Likewise.
5201 (VEC_VSCEUO): Likewise.
5202 (VEC_VSEE): Likewise.
5203 (VEC_VSES): Likewise.
5204 (VEC_VSIE): Likewise.
5205 (VEC_VSTDC): Likewise.
5206 (VEC_VSTDCN): Likewise.
5207 (VEC_VTDC): Likewise.
5209 (VEC_XL_BE): Likewise.
5210 (VEC_XL_LEN_R): Likewise.
5211 (VEC_XL_SEXT): Likewise.
5212 (VEC_XL_ZEXT): Likewise.
5213 (VEC_XST): Likewise.
5214 (VEC_XST_BE): Likewise.
5215 (VEC_XST_LEN_R): Likewise.
5216 (VEC_XST_TRUNC): Likewise.
5217 (VEC_XXPERMDI): Likewise.
5218 (VEC_XXSLDWI): Likewise.
5219 (VEC_TSTSFI_EQ_DD): Likewise.
5220 (VEC_TSTSFI_EQ_TD): Likewise.
5221 (VEC_TSTSFI_GT_DD): Likewise.
5222 (VEC_TSTSFI_GT_TD): Likewise.
5223 (VEC_TSTSFI_LT_DD): Likewise.
5224 (VEC_TSTSFI_LT_TD): Likewise.
5225 (VEC_TSTSFI_OV_DD): Likewise.
5226 (VEC_TSTSFI_OV_TD): Likewise.
5227 (VEC_VADDCUQ): Likewise.
5228 (VEC_VADDECUQ): Likewise.
5229 (VEC_VADDEUQM): Likewise.
5230 (VEC_VADDUDM): Likewise.
5231 (VEC_VADDUQM): Likewise.
5232 (VEC_VBPERMQ): Likewise.
5233 (VEC_VCLZB): Likewise.
5234 (VEC_VCLZD): Likewise.
5235 (VEC_VCLZH): Likewise.
5236 (VEC_VCLZW): Likewise.
5237 (VEC_VCTZB): Likewise.
5238 (VEC_VCTZD): Likewise.
5239 (VEC_VCTZH): Likewise.
5240 (VEC_VCTZW): Likewise.
5241 (VEC_VEEDP): Likewise.
5242 (VEC_VEESP): Likewise.
5243 (VEC_VESDP): Likewise.
5244 (VEC_VESSP): Likewise.
5245 (VEC_VIEDP): Likewise.
5246 (VEC_VIESP): Likewise.
5247 (VEC_VPKSDSS): Likewise.
5248 (VEC_VPKSDUS): Likewise.
5249 (VEC_VPKUDUM): Likewise.
5250 (VEC_VPKUDUS): Likewise.
5251 (VEC_VPOPCNT): Likewise.
5252 (VEC_VPOPCNTB): Likewise.
5253 (VEC_VPOPCNTD): Likewise.
5254 (VEC_VPOPCNTH): Likewise.
5255 (VEC_VPOPCNTW): Likewise.
5256 (VEC_VPRTYBD): Likewise.
5257 (VEC_VPRTYBQ): Likewise.
5258 (VEC_VPRTYBW): Likewise.
5259 (VEC_VRLD): Likewise.
5260 (VEC_VSLD): Likewise.
5261 (VEC_VSRAD): Likewise.
5262 (VEC_VSRD): Likewise.
5263 (VEC_VSTDCDP): Likewise.
5264 (VEC_VSTDCNDP): Likewise.
5265 (VEC_VSTDCNQP): Likewise.
5266 (VEC_VSTDCNSP): Likewise.
5267 (VEC_VSTDCQP): Likewise.
5268 (VEC_VSTDCSP): Likewise.
5269 (VEC_VSUBECUQ): Likewise.
5270 (VEC_VSUBEUQM): Likewise.
5271 (VEC_VSUBUDM): Likewise.
5272 (VEC_VSUBUQM): Likewise.
5273 (VEC_VTDCDP): Likewise.
5274 (VEC_VTDCSP): Likewise.
5275 (VEC_VUPKHSW): Likewise.
5276 (VEC_VUPKLSW): Likewise.
5278 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
5280 PR rtl-optimization/101260
5281 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
5284 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
5287 * fold-const.cc (const_binop): Do not fold NaN result from
5290 2022-02-01 Tom de Vries <tdevries@suse.de>
5292 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
5293 -ftree-loop-distribute-patterns.
5294 (loop_distribution::execute): Don't call transform_reduction_loop for
5295 -fno-tree-loop-distribute-patterns.
5297 2022-01-31 Andrew Pinski <apinski@marvell.com>
5299 * fold-const.h (operand_compare::operand_equal_p):
5300 Fix comment about OEP_* flags.
5302 2022-01-31 Jakub Jelinek <jakub@redhat.com>
5305 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
5306 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
5307 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
5308 if not already defined.
5310 2022-01-31 Martin Sebor <msebor@redhat.com>
5312 PR middle-end/104232
5313 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
5314 Handle PHIs. Add a synonymous overload.
5315 (pass_waccess::check_pointer_uses): Call pointers_related_p.
5317 2022-01-31 Richard Biener <rguenther@suse.de>
5319 PR tree-optimization/100499
5320 * fold-const.cc (multiple_of_p): Pass the correct type of
5321 the expression to the recursive invocation of multiple_of_p
5322 for conversions and use CASE_CONVERT.
5324 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
5327 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
5329 2022-01-31 Richard Biener <rguenther@suse.de>
5331 PR tree-optimization/100499
5332 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
5333 on poly-ints instead of multiple_of_p.
5334 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
5335 (non_rewritable_mem_ref_base): Likewise.
5336 (non_rewritable_lvalue_p): Likewise.
5337 (execute_update_addresses_taken): Likewise.
5339 2022-01-29 Jakub Jelinek <jakub@redhat.com>
5340 Andrew Pinski <apinski@marvell.com>
5342 PR tree-optimization/104279
5343 PR tree-optimization/104280
5344 PR tree-optimization/104281
5345 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
5346 boolean_type_node and convert to type. Formatting fixes.
5348 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
5350 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
5352 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
5354 PR tree-optimization/103514
5355 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
5356 (a & b) == (a ^ b) -> !(a | b): New optimization.
5358 2022-01-28 Marek Polacek <polacek@redhat.com>
5360 * doc/invoke.texi: Update -Wbidi-chars documentation.
5362 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
5364 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
5366 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
5368 PR tree-optimization/95424
5369 * match.pd: Simplify 1 / X where X is an integer.
5371 2022-01-28 Jakub Jelinek <jakub@redhat.com>
5373 PR tree-optimization/104263
5374 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
5375 cfun->can_throw_non_call_exceptions && cfun->eh test whether
5376 last non-debug stmt in the bb is store_valid_for_store_merging_p
5377 rather than last stmt.
5379 2022-01-28 Martin Liska <mliska@suse.cz>
5381 * diagnostic.cc (diagnostic_action_after_output): Remove extra
5384 2022-01-28 Martin Liska <mliska@suse.cz>
5386 * config/rs6000/host-darwin.cc (segv_crash_handler):
5387 Do not use leading capital letter.
5388 (segv_handler): Likewise.
5389 * ipa-sra.cc (verify_splitting_accesses): Likewise.
5390 * varasm.cc (get_section): Likewise.
5392 2022-01-28 Richard Biener <rguenther@suse.de>
5394 PR tree-optimization/104267
5395 * tree-vect-stmts.cc (vectorizable_call): Properly use the
5396 per-argument determined vector type for externals and
5399 2022-01-28 Richard Biener <rguenther@suse.de>
5401 PR tree-optimization/104263
5402 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
5403 Purge edges also when !cfun->has_nonlocal_label
5404 and !cfun->calls_setjmp.
5406 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
5408 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
5411 2022-01-28 Jakub Jelinek <jakub@redhat.com>
5414 * cfgrtl.cc (loc_equal): New function.
5415 (unique_locus_on_edge_between_p): Use it.
5417 2022-01-28 Richard Biener <rguenther@suse.de>
5419 * cfganal.h (mark_dfs_back_edges): Provide API with struct
5421 * cfganal.cc (mark_dfs_back_edges): Take a struct function
5422 to work on, add a wrapper passing cfun.
5423 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
5424 uses with fun which is already passed.
5425 (draw_cfg_edges): Likewise.
5426 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
5429 2022-01-27 Patrick Palka <ppalka@redhat.com>
5432 * tree.cc (build_call_vec): Add const to second parameter.
5433 * tree.h (build_call_vec): Likewise.
5435 2022-01-27 Martin Liska <mliska@suse.cz>
5438 * diagnostic.cc (diagnostic_initialize):
5439 Initialize report_bug flag.
5440 (diagnostic_action_after_output):
5441 Explain that -freport-bug option can be used for pre-processed
5442 file creation. Make the message shorter.
5443 (error_recursion): Rename Internal to internal.
5444 * diagnostic.h (struct diagnostic_context): New field.
5445 * opts.cc (common_handle_option): Init the field here.
5447 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
5450 * config/rs6000/rs6000.cc
5451 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
5452 assertion with early return.
5454 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
5456 PR middle-end/103642
5457 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
5458 for non-pointer or non-reference-to-pointer cases.
5460 2022-01-27 Jakub Jelinek <jakub@redhat.com>
5462 PR tree-optimization/104196
5463 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
5464 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
5465 return NULL and emit needed stmts before and after stmt.
5466 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
5467 pick as operand_entry that will hold the merged test the one feeding
5468 earliest condition, ensure that by swapping range->idx with some
5469 other range's idx if needed. If seq is non-NULL, don't actually swap
5470 it but instead rewrite stmts with undefined overflow in between
5472 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
5473 corresponding condition even if they have non-NULL ops[]->op.
5476 2022-01-26 Jakub Jelinek <jakub@redhat.com>
5479 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
5481 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
5482 before for loop instead of for init clause.
5483 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
5485 2022-01-26 Jakub Jelinek <jakub@redhat.com>
5488 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
5489 _X86INTRIN_H_INCLUDED and adjust #error wording.
5490 * config/rs6000/bmi2intrin.h: Likewise.
5492 2022-01-26 Jakub Jelinek <jakub@redhat.com>
5495 * dwarf2out.cc (long_double_as_float128): New function.
5496 (modified_type_die): For powerpc64le IEEE 754 quad long double
5497 and complex long double emit those as DW_TAG_typedef to
5498 _Float128 or complex _Float128 base type.
5500 2022-01-26 Marek Polacek <polacek@redhat.com>
5503 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
5504 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
5506 2022-01-26 Martin Liska <mliska@suse.cz>
5508 * ipa-modref-tree.cc (modref_access_node::update):
5509 Remove "--param param=foo" with "--param foo".
5510 (modref_access_node::insert): Likewise.
5511 (modref_access_node::insert_kill): Likewise.
5512 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
5513 (struct modref_base_node): Likewise.
5514 (struct modref_tree): Likewise.
5516 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
5519 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
5522 2022-01-25 Martin Sebor <msebor@redhat.com>
5524 PR tree-optimization/104203
5525 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
5527 * pointer-query.cc (access_ref::merge_ref): Change return type.
5528 Convert failure to a conservative success.
5529 (access_ref::get_ref): Adjust to the change above. Short-circuit
5530 PHI evaluation after first failure turned into conservative success.
5531 * pointer-query.h (access_ref::merge_ref): Change return type.
5532 * timevar.def (TV_WARN_ACCESS): New timer variable.
5534 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
5536 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
5538 2022-01-25 Richard Biener <rguenther@suse.de>
5540 PR tree-optimization/104214
5541 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
5542 stronger guarantees for relational pointer compares when
5543 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
5544 BASE0 + STEP0 - STEP1 cmp BASE1.
5546 2022-01-25 Jakub Jelinek <jakub@redhat.com>
5549 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
5551 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
5552 ieee128_mangling_gcc_8_1): Remove.
5553 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
5554 (rs6000_mangle_type): Return "u9__ieee128" instead of
5555 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
5556 (rs6000_globalize_decl_name): Remove.
5557 * config/rs6000/rs6000-call.cc (init_cumulative_args,
5558 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
5560 2022-01-24 Martin Sebor <msebor@redhat.com>
5562 * pointer-query.cc (pointer_query::dump): Remove duplicate
5565 2022-01-24 Marek Polacek <polacek@redhat.com>
5567 PR preprocessor/104030
5568 * doc/invoke.texi: Update documentation for -Wbidi-chars.
5570 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
5573 * builtins.cc (expand_builtin_fegetround): New function.
5574 (expand_builtin_feclear_feraise_except): New function.
5575 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
5576 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
5577 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
5578 (feclearexceptsi): New Pattern.
5579 (feraiseexceptsi): New Pattern.
5580 * doc/extend.texi: Add a new introductory paragraph about the
5582 * doc/md.texi: (fegetround@var{m}): Document new optab.
5583 (feclearexcept@var{m}): Document new optab.
5584 (feraiseexcept@var{m}): Document new optab.
5585 * optabs.def (fegetround_optab): New optab.
5586 (feclearexcept_optab): New optab.
5587 (feraiseexcept_optab): New optab.
5589 2022-01-24 Richard Biener <rguenther@suse.de>
5590 Jiufu Guo <guojiufu@linux.ibm.com>
5592 PR tree-optimization/100740
5593 PR tree-optimization/101508
5594 PR tree-optimization/101972
5595 PR tree-optimization/102131
5596 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
5597 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
5598 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
5600 2022-01-24 Jakub Jelinek <jakub@redhat.com>
5603 * opt-functions.awk (var_set): Handle EnumBitSet property.
5604 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
5606 * opts.h (enum cl_enum_var_value): New type.
5607 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
5609 (cmdline_handle_error): Handle CLEV_BITSET.
5610 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
5611 * doc/options.texi (EnumBitSet): Document.
5612 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
5614 (trace-pc, trace-cmp): Drop Set properties.
5616 2022-01-24 Jakub Jelinek <jakub@redhat.com>
5619 * common.opt (flag_sanitize_coverage): Remove Variable entry.
5620 (fsanitize-coverage=): Remove RejectNegative property, add
5621 Var(flag_sanitize_coverage) and EnumSet properties.
5622 (trace-pc): Add Set(1) property.
5623 (trace-cmp): Add Set(2) property.
5624 * opts.cc (common_handle_option): Don't handle
5625 OPT_fsanitize_coverage_.
5627 2022-01-24 Jakub Jelinek <jakub@redhat.com>
5630 * opt-functions.awk (var_set): Handle EnumSet property.
5631 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
5633 * opt-read.awk: Handle Set property.
5634 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
5635 (struct cl_decoded_option): Mention enum in value description.
5637 (set_option): Add mask argument defaulted to 0.
5638 * opts.cc (test_enum_sets): New function.
5639 (opts_cc_tests): Call it.
5640 * opts-common.cc (enum_arg_to_value): Change return argument
5641 from bool to int, on success return index into the cl_enum_arg
5642 array, on failure -1. Add len argument, if non-0, use strncmp
5644 (opt_enum_arg_to_value): Adjust caller.
5645 (decode_cmdline_option): Handle EnumSet represented as
5646 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
5647 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
5648 (handle_option): Pass decoded->mask to set_options last argument.
5649 (generate_option): Clear decoded->mask.
5650 (generate_option_input_file): Likewise.
5651 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
5652 (set_option): Add mask argument, use it for CLVC_ENUM.
5653 (control_warning_option): Adjust enum_arg_to_value caller.
5654 * doc/options.texi: Document Set and EnumSet properties.
5656 2022-01-24 Jakub Jelinek <jakub@redhat.com>
5659 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
5660 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
5661 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
5662 using OPTION_*_P macros.
5663 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
5664 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
5665 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
5666 using OPTION_*_P macros.
5667 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
5668 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
5669 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
5670 using OPTION_*_P macros.
5671 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
5672 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
5673 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
5674 using OPTION_*_P macros.
5675 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
5676 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
5677 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
5678 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
5679 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
5680 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
5681 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
5682 otherwise assume if (true).
5684 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
5686 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
5687 Skip zicsr and zifencei if I-ext is 2.0.
5689 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
5691 * config.gcc: Modify default isa_spec version.
5693 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
5695 PR tree-optimization/102087
5696 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
5697 Correct PLUS result type.
5699 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
5702 * config/i386/predicates.md (bcst_mem_operand): Also check mode
5703 of memory broadcast.
5705 2022-01-23 Andrew Pinski <apinski@marvell.com>
5708 * config/aarch64/aarch64-builtins.cc
5709 (aarch64_general_gimple_fold_builtin): Handle
5710 __builtin_aarch64_sqrt* and simplify into SQRT internal
5713 2022-01-22 Jakub Jelinek <jakub@redhat.com>
5716 * opts-global.cc (handle_common_deferred_options): Quote
5717 --enable-plugin in diagnostics to avoid -Werror=format-diag.
5719 2022-01-21 Michael Meissner <meissner@the-meissners.org>
5722 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
5723 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
5724 * config/rs6000/rs6000.md (prefixed attribute): Delete section
5725 that sets the prefixed attribute for xxspltiw, xxspltidp, and
5726 xxsplti32dx instructions.
5727 (movsf_hardfloat): Explicitly set the prefixed attribute
5728 when xxspltiw and xxspltidp instructions are generated.
5729 (mov<mode>_hardfloat32): Likewise.
5730 (mov<mode>_hardfloat64): Likewise.
5731 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
5732 prefixed attribute for xxspltiw and xxspltidp instructions.
5733 (vsx_mov<mode>_32bit): Likewise.
5735 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
5738 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
5739 Return true only on glibc.
5740 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
5741 Revert commit c163647ffbc.
5742 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
5744 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
5746 * common/config/s390/s390-common.cc (s390_supports_split_stack):
5747 Only support split-stack on glibc targets.
5748 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
5749 * config/i386/gnu.h (defined): Ditto.
5751 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
5753 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
5754 vector float and vector double.
5756 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
5758 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
5759 Fix mention of ifunc in string.
5761 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
5763 PR middle-end/104140
5764 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
5765 operands of the widening multiplication are either both signed or
5766 both unsigned, and abort the conversion if mismatched.
5767 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
5768 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
5770 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
5771 integer types with the same precision and signedness.
5772 (WIDEN_MULT_EXPR): Document that operands must have integer types
5773 with the same precision, but possibly differing signedness.
5774 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
5775 riscv_current_subset_list returning a NULL pointer (empty list).
5777 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
5780 * ira.h (struct target_ira): Add member
5781 x_ira_exclude_class_mode_regs.
5782 (ira_exclude_class_mode_regs): New macro.
5783 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
5785 * lra-int.h: ... to here.
5786 (lra_create_new_reg_with_unique_value): Add arg
5787 exclude_start_hard_regs.
5788 (class lra_reg): Add member exclude_start_hard_regs.
5789 * lra-assigns.cc (find_hard_regno_for_1): Setup
5790 impossible_start_hard_regs from exclude_start_hard_regs.
5791 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
5792 it lra_create_new_reg[_with_unique_value].
5793 (match_reload): Ditto.
5794 (check_and_process_move): Pass NULL
5795 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
5796 (goal_alt_exclude_start_hard_regs): New static variable.
5797 (process_addr_reg, simplify_operand_subreg): Pass NULL
5798 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
5800 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
5801 Use this_alternative_exclude_start_hard_regs additionally to find
5802 winning operand alternative.
5803 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
5804 exclude_start_hard_regs to lra_create_new_reg.
5805 (process_address_1, emit_inc): Ditto.
5806 (curr_insn_transform): Pass exclude_start_hard_regs value to
5807 lra_create_new_reg, get_reload_reg, match_reload.
5808 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
5809 to lra_create_new_reg.
5810 (process_invariant_for_inheritance): Ditto.
5811 * lra-remat.cc (update_scratch_ops): Ditto.
5812 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
5813 exclude_start_hard_regs. Setup the corresponding member of
5815 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
5816 to lra_create_new_reg_with_unique_value.
5817 (initialize_lra_reg_info_element): Initialize member
5818 exclude_start_hard_regs.
5819 (get_scratch_reg): Pass NULL to lra_create_new_reg.
5820 * ira.cc (setup_prohibited_class_mode_regs): Rename to
5821 setup_prohibited_and_exclude_class_mode_regs and calculate
5822 ira_exclude_class_mode_regs.
5824 2022-01-21 Martin Liska <mliska@suse.cz>
5826 * configure.ac: Detect ld_is_mold and use it for
5827 comdat_group=yes and gcc_cv_ld_hidden=yes.
5828 * configure: Regenerate.
5830 2022-01-21 Richard Biener <rguenther@suse.de>
5832 PR tree-optimization/100089
5833 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
5834 of if-converted loops with unvectorized COND_EXPRs for
5835 all but the unlimited cost models.
5837 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
5839 * config/arm/arm-opts.h (enum stack_protector_guard): New.
5840 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
5842 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
5843 (arm_option_override_internal): Handle and put in error checks.
5844 for stack protector guard options.
5845 (arm_option_reconfigure_globals): Likewise.
5846 (arm_stack_protect_tls_canary_mem): New.
5847 (arm_stack_protect_guard): New.
5848 * config/arm/arm.md (stack_protect_set): New.
5849 (stack_protect_set_tls): Likewise.
5850 (stack_protect_test): Likewise.
5851 (stack_protect_test_tls): Likewise.
5852 (reload_tp_hard): Likewise.
5853 * config/arm/arm.opt (-mstack-protector-guard): New
5854 (-mstack-protector-guard-offset): New.
5855 * doc/invoke.texi: Document new options.
5857 2022-01-21 Richard Biener <rguenther@suse.de>
5859 PR tree-optimization/104156
5860 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
5861 Collect and reset debug stmts with out-of-loop uses when
5863 (find_loop_guard): Adjust.
5864 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
5865 (used_outside_loop_p): Push debug uses to a vector of
5866 debug stmts to reset.
5867 (hoist_guard): Adjust -fopt-info category.
5869 2022-01-21 Richard Biener <rguenther@suse.de>
5871 PR tree-optimization/104152
5872 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
5873 can_duplicate_and_interleave_p check.
5875 2022-01-21 Jakub Jelinek <jakub@redhat.com>
5877 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
5878 Avoid passing var to warning_at when the format string doesn't
5881 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
5883 PR tree-optimization/103721
5884 * gimple-range-path.cc
5885 (path_range_query::relations_may_be_invalidated): New.
5886 (path_range_query::compute_ranges_in_block): Reset relations if
5887 they may be invalidated.
5888 (path_range_query::maybe_register_phi_relation): Exit if relations
5889 may be invalidated on incoming edge.
5890 (path_range_query::compute_phi_relations): Pass incoming PHI edge
5891 to maybe_register_phi_relation.
5892 * gimple-range-path.h (relations_may_be_invalidated): New.
5893 (maybe_register_phi_relation): Pass edge instead of tree.
5894 * tree-ssa-threadbackward.cc (back_threader::back_threader):
5896 * value-relation.cc (path_oracle::path_oracle): Call
5897 mark_dfs_back_edges.
5898 (path_oracle::register_relation): Add SSA names to m_registered
5900 (path_oracle::reset_path): Clear m_registered bitmap.
5901 * value-relation.h (path_oracle::set_root_oracle): New.
5903 2022-01-21 Jakub Jelinek <jakub@redhat.com>
5905 PR rtl-optimization/102478
5906 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
5907 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
5910 2022-01-20 Richard Biener <rguenther@suse.de>
5912 PR middle-end/100786
5913 * gimple-fold.cc (get_symbol_constant_value): Only return
5914 values of compatible type to the symbol.
5916 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
5918 * value-relation.cc (relation_oracle::valid_equivs): Query and add
5919 if valid members of a set.
5920 (equiv_oracle::register_equiv): Call valid_equivs rather than
5921 bitmap direct operations.
5922 (path_oracle::register_equiv): Ditto.
5923 * value-relation.h (relation_oracle::valid_equivs): New prototype.
5925 2022-01-20 Richard Biener <rguenther@suse.de>
5928 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
5929 LHS before folding __builtin_ia32_shufpd and friends.
5931 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
5933 * config/arm/crypto.md (aes_op_protect): Allow moves from core
5934 registers and from memory.
5935 (aes_op_protect_misalign_load): New pattern.
5936 (aes_op_protect_neon_vld1v16qi): New pattern.
5938 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
5940 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
5942 (aarch32_crypto_aese_fused_protected): Likewise.
5943 (aarch32_crypto_aesd_fused_protected): Likewise.
5945 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
5947 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
5948 to define_expand. Add mitigation for the Cortex-A AES erratum
5950 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
5951 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
5952 (aes_op_protect): New pattern.
5953 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
5955 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
5957 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
5958 (ALL_QUIRKS): Add it.
5959 (cortex-a57, cortex-a72): Enable it.
5960 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
5961 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
5963 (mfix-cortex-a72-aes-1655431): New option alias.
5964 * config/arm/arm.cc (arm_option_override): Handle default settings
5965 for AES erratum switch.
5966 * doc/invoke.texi (Arm Options): Document new options.
5968 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
5970 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
5971 <crypto_mode> rather than hard-coding the mode.
5972 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
5973 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
5974 (*aarch32_crypto_aese_fused): Likewise.
5975 (*aarch32_crypto_aesd_fused): Likewise.
5976 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
5977 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
5978 (crypto_sha1h_lb): Likewise.
5979 (crypto_vmullp64): Likewise.
5980 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
5981 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
5983 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
5985 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
5986 iterator to pattern name to disambiguate.
5987 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
5988 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
5989 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
5990 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
5991 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
5993 2022-01-20 Martin Liska <mliska@suse.cz>
5996 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
5997 * rtl.cc: Partially disable -Wformat-diag for RTL checking
6000 2022-01-20 Jakub Jelinek <jakub@redhat.com>
6003 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
6004 block_num > 0, index entry even if !have_multiple_function_sections.
6006 2022-01-20 liuhongt <hongtao.liu@intel.com>
6009 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
6010 integral mode mask pack by multi steps which takes
6011 vec_pack_sbool_trunc_optab as start when elements number is
6012 less than BITS_PER_UNITS.
6014 2022-01-20 Richard Biener <rguenther@suse.de>
6016 PR tree-optimization/104114
6017 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
6018 single element vector decomposition.
6020 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6022 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
6023 (noce_convert_multiple_sets): Call function a second time if we can
6024 improve the first try.
6026 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6028 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
6029 reversed comparison.
6030 (try_emit_cmove_seq): New function to facilitate creating a cmov
6032 (noce_convert_multiple_sets): Create two sequences and use the less
6035 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6037 * rtl.h (struct rtx_comparison): New struct that holds an rtx
6039 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
6041 (rs6000_emit_swsqrt): Likewise.
6042 * expmed.cc (expand_sdiv_pow2): Likewise.
6043 (emit_store_flag): Likewise.
6044 * expr.cc (expand_cond_expr_using_cmove): Likewise.
6045 (expand_expr_real_2): Likewise.
6046 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
6048 * optabs.cc (emit_conditional_move_1): New function.
6049 (expand_doubleword_shift_condmove): Use struct.
6050 (emit_conditional_move): Use struct and allow to call directly
6051 without going through preparation steps.
6052 * optabs.h (emit_conditional_move): Use struct.
6054 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6056 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
6057 (noce_process_if_block): Use potential costs.
6059 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6061 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
6062 (bb_ok_for_noce_convert_multiple_sets): Likewise.
6064 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6066 * ifcvt.cc (need_cmov_or_rewire): New function.
6067 (noce_convert_multiple_sets): Call it.
6069 2022-01-19 David Malcolm <dmalcolm@redhat.com>
6071 * attribs.cc (attribute_c_tests): Rename to...
6072 (attribs_cc_tests): ...this.
6073 * bitmap.cc (bitmap_c_tests): Rename to...
6074 (bitmap_cc_tests): ...this.
6075 * cgraph.cc (cgraph_c_finalize): Rename to...
6076 (cgraph_cc_finalize): ...this.
6077 (cgraph_c_tests): Rename to...
6078 (cgraph_cc_tests): ...this.
6079 * cgraph.h (cgraph_c_finalize): Rename to...
6080 (cgraph_cc_finalize): ...this.
6081 (cgraphunit_c_finalize): Rename to...
6082 (cgraphunit_cc_finalize): ...this.
6083 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
6084 (cgraphunit_cc_finalize): ...this.
6085 * convert.cc (convert_c_tests): Rename to...
6086 (convert_cc_tests): ...this.
6087 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
6088 (dbgcnt_cc_tests): ...this.
6089 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
6090 (diagnostic_show_locus_cc_tests): ...this.
6091 * diagnostic.cc (diagnostic_c_tests): Rename to...
6092 (diagnostic_cc_tests): ...this.
6093 * dumpfile.cc (dumpfile_c_tests): Rename to...
6094 (dumpfile_cc_tests): ...this.
6095 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
6096 (dwarf2out_cc_finalize): ...this.
6097 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
6098 (dwarf2out_cc_finalize): ...this.
6099 * edit-context.cc (edit_context_c_tests): Rename to...
6100 (edit_context_cc_tests): ...this.
6101 * et-forest.cc (et_forest_c_tests): Rename to...
6102 (et_forest_cc_tests): ...this.
6103 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
6104 (fibonacci_heap_cc_tests): ...this.
6105 * fold-const.cc (fold_const_c_tests): Rename to...
6106 (fold_const_cc_tests): ...this.
6107 * function-tests.cc (function_tests_c_tests): Rename to...
6108 (function_tests_cc_tests): ...this.
6109 * gcse.cc (gcse_c_finalize): Rename to...
6110 (gcse_cc_finalize): ...this.
6111 * gcse.h (gcse_c_finalize): Rename to...
6112 (gcse_cc_finalize): ...this.
6113 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
6114 (ggc_tests_cc_tests): ...this.
6115 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
6116 (store_merging_cc_tests): ...this.
6117 * gimple.cc (gimple_c_tests): Rename to...
6118 (gimple_cc_tests): ...this.
6119 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
6120 (hash_map_tests_cc_tests): ...this.
6121 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
6122 (hash_set_tests_cc_tests): ...this.
6123 * input.cc (input_c_tests): Rename to...
6124 (input_cc_tests): ...this.
6125 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
6126 (ipa_cp_cc_finalize): ...this.
6127 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
6128 (ipa_fnsummary_cc_finalize): ...this.
6129 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
6130 (ipa_fnsummary_cc_finalize): ...this.
6131 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
6132 (ipa_modref_tree_cc_tests): ...this.
6133 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
6134 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
6135 (ipa_modref_cc_finalize): ...this.
6136 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
6137 (ipa_modref_cc_finalize): ...this.
6138 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
6139 (ipa_cp_cc_finalize): ...this.
6140 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
6141 (ipa_reference_cc_finalize): ...this.
6142 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
6143 (ipa_reference_cc_finalize): ...this.
6144 * ira-costs.cc (ira_costs_c_finalize): Rename to...
6145 (ira_costs_cc_finalize): ...this.
6146 * ira.h (ira_costs_c_finalize): Rename to...
6147 (ira_costs_cc_finalize): ...this.
6148 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
6149 (opt_suggestions_cc_tests): ...this.
6150 * opts.cc (opts_c_tests): Rename to...
6151 (opts_cc_tests): ...this.
6152 * predict.cc (predict_c_tests): Rename to...
6153 (predict_cc_tests): ...this.
6154 * pretty-print.cc (pretty_print_c_tests): Rename to...
6155 (pretty_print_cc_tests): ...this.
6156 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
6157 (read_rtl_function_cc_tests): ...this.
6158 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
6159 (rtl_tests_cc_tests): ...this.
6160 * sbitmap.cc (sbitmap_c_tests): Rename to...
6161 (sbitmap_cc_tests): ...this.
6162 * selftest-run-tests.cc (selftest::run_tests): Update calls for
6163 _c_ to _cc_ function renamings; fix names of attribs and
6164 opt-suggestions tests.
6165 * selftest.cc (selftest_c_tests): Rename to...
6166 (selftest_cc_tests): ...this.
6167 * selftest.h (attribute_c_tests): Rename to...
6168 (attribs_cc_tests): ...this.
6169 (bitmap_c_tests): Rename to...
6170 (bitmap_cc_tests): ...this.
6171 (cgraph_c_tests): Rename to...
6172 (cgraph_cc_tests): ...this.
6173 (convert_c_tests): Rename to...
6174 (convert_cc_tests): ...this.
6175 (diagnostic_c_tests): Rename to...
6176 (diagnostic_cc_tests): ...this.
6177 (diagnostic_show_locus_c_tests): Rename to...
6178 (diagnostic_show_locus_cc_tests): ...this.
6179 (dumpfile_c_tests): Rename to...
6180 (dumpfile_cc_tests): ...this.
6181 (edit_context_c_tests): Rename to...
6182 (edit_context_cc_tests): ...this.
6183 (et_forest_c_tests): Rename to...
6184 (et_forest_cc_tests): ...this.
6185 (fibonacci_heap_c_tests): Rename to...
6186 (fibonacci_heap_cc_tests): ...this.
6187 (fold_const_c_tests): Rename to...
6188 (fold_const_cc_tests): ...this.
6189 (function_tests_c_tests): Rename to...
6190 (function_tests_cc_tests): ...this.
6191 (ggc_tests_c_tests): Rename to...
6192 (ggc_tests_cc_tests): ...this.
6193 (gimple_c_tests): Rename to...
6194 (gimple_cc_tests): ...this.
6195 (hash_map_tests_c_tests): Rename to...
6196 (hash_map_tests_cc_tests): ...this.
6197 (hash_set_tests_c_tests): Rename to...
6198 (hash_set_tests_cc_tests): ...this.
6199 (input_c_tests): Rename to...
6200 (input_cc_tests): ...this.
6201 (opts_c_tests): Rename to...
6202 (opts_cc_tests): ...this.
6203 (predict_c_tests): Rename to...
6204 (predict_cc_tests): ...this.
6205 (pretty_print_c_tests): Rename to...
6206 (pretty_print_cc_tests): ...this.
6207 (read_rtl_function_c_tests): Rename to...
6208 (read_rtl_function_cc_tests): ...this.
6209 (rtl_tests_c_tests): Rename to...
6210 (rtl_tests_cc_tests): ...this.
6211 (sbitmap_c_tests): Rename to...
6212 (sbitmap_cc_tests): ...this.
6213 (selftest_c_tests): Rename to...
6214 (selftest_cc_tests): ...this.
6215 (simplify_rtx_c_tests): Rename to...
6216 (simplify_rtx_cc_tests): ...this.
6217 (spellcheck_c_tests): Rename to...
6218 (spellcheck_cc_tests): ...this.
6219 (spellcheck_tree_c_tests): Rename to...
6220 (spellcheck_tree_cc_tests): ...this.
6221 (sreal_c_tests): Rename to...
6222 (sreal_cc_tests): ...this.
6223 (store_merging_c_tests): Rename to...
6224 (store_merging_cc_tests): ...this.
6225 (tree_c_tests): Rename to...
6226 (tree_cc_tests): ...this.
6227 (tree_cfg_c_tests): Rename to...
6228 (tree_cfg_cc_tests): ...this.
6229 (typed_splay_tree_c_tests): Rename to...
6230 (typed_splay_tree_cc_tests): ...this.
6231 (vec_c_tests): Rename to...
6232 (vec_cc_tests): ...this.
6233 (vec_perm_indices_c_tests): Rename to...
6234 (vec_perm_indices_cc_tests): ..this.
6235 (opt_proposer_c_tests): Rename to...
6236 (opt_suggestions_cc_tests): ...this.
6237 (dbgcnt_c_tests): Rename to...
6238 (dbgcnt_cc_tests): ...this.
6239 (ipa_modref_tree_c_tests): Rename to...
6240 (ipa_modref_tree_cc_tests): ...this.
6241 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
6242 (simplify_rtx_cc_tests): ...this.
6243 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
6244 (spellcheck_tree_cc_tests): ...this.
6245 * spellcheck.cc (spellcheck_c_tests): Rename to...
6246 (spellcheck_cc_tests): ...this.
6247 * sreal.cc (sreal_c_tests): Rename to...
6248 (sreal_cc_tests): ...this.
6249 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
6251 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
6252 (tree_cfg_cc_tests): ...this.
6253 * tree.cc (tree_c_tests): Rename to...
6254 (tree_cc_tests): ...this.
6255 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
6256 (typed_splay_tree_cc_tests): ...this.
6257 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
6258 (vec_perm_indices_cc_tests): ...this.
6259 * vec.cc (vec_c_tests): Rename to...
6260 (vec_cc_tests): ...this.
6262 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
6264 PR tree-optimization/103997
6265 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
6268 2022-01-19 Jakub Jelinek <jakub@redhat.com>
6270 PR middle-end/102860
6271 * match.pd (x %[fl] y -> x % y): New simplification for
6272 unsigned integral types.
6273 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
6274 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
6276 2022-01-19 Richard Biener <rguenther@suse.de>
6278 PR tree-optimization/104112
6279 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
6280 for required intermediate vector types.
6282 2022-01-19 Jakub Jelinek <jakub@redhat.com>
6284 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
6286 2022-01-19 Martin Liska <mliska@suse.cz>
6288 * configure.ac: Remove -Wno-error=format-diag.
6289 * configure: Regenerate.
6291 2022-01-19 Martin Liska <mliska@suse.cz>
6293 * config/riscv/riscv.cc (riscv_handle_type_attribute):
6294 Update one -Wformat-diag string in warning message.
6296 2022-01-19 Jakub Jelinek <jakub@redhat.com>
6298 PR middle-end/104103
6299 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
6302 2022-01-19 Jakub Jelinek <jakub@redhat.com>
6305 * fold-const.cc (address_compare): Consider different STRING_CSTs
6306 with the same lengths that memcmp the same as equal, not different.
6308 2022-01-19 Jakub Jelinek <jakub@redhat.com>
6310 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
6313 2022-01-19 Martin Liska <mliska@suse.cz>
6314 Thomas Schwinge <thomas@codesourcery.com>
6316 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
6319 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
6322 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
6325 2022-01-19 Jakub Jelinek <jakub@redhat.com>
6328 * config/i386/sse.md
6329 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
6330 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
6331 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
6332 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
6333 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
6334 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
6335 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
6336 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
6337 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
6339 2022-01-19 Martin Sebor <msebor@redhat.com>
6341 PR middle-end/104069
6342 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
6343 an unknown result as documented.
6345 2022-01-18 Andrew Pinski <apinski@marvell.com>
6347 * ipa-split.cc (visit_bb): Fix comment before the
6348 warning/error attribute checking code.
6350 2022-01-18 David Faust <david.faust@oracle.com>
6352 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
6353 for base strtab offset yet as it may change.
6354 (output_asm_btfext_core_reloc): Do so here instead.
6355 (output_btfext_core_sections): Likewise.
6357 2022-01-18 David Faust <david.faust@oracle.com>
6359 * config/bpf/coreout.cc (output_btfext_header): Account for
6360 4-byte record size in core_relo_len.
6361 (output_btfext_core_sections): Only write record size once.
6362 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
6365 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
6367 * common/config/riscv/riscv-common.cc
6368 (riscv_subset_list::parse_multiletter_ext): Move pointer
6369 arithmetic ahead of `free'.
6371 2022-01-18 Jason Merrill <jason@redhat.com>
6374 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
6377 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
6379 PR middle-end/103163
6380 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
6381 (init_emit_once): ...not here.
6383 2022-01-18 Martin Liska <mliska@suse.cz>
6385 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
6386 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
6387 * config/arc/arc.md: Likewise.
6388 * config/avr/avr.cc (avr_section_type_flags): Likewise.
6389 * config/bfin/bfin.cc (bfin_option_override): Likewise.
6390 (bfin_handle_longcall_attribute): Likewise.
6391 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
6392 * config/frv/frv.cc (frv_expand_builtin): Likewise.
6393 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
6394 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
6395 (iq2000_print_operand_address): Likewise.
6396 (iq2000_print_operand): Likewise.
6397 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
6398 (m32c_pragma_address): Likewise.
6399 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
6400 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
6401 (mips_set_compression_mode): Likewise.
6402 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
6403 (mmix_print_operand): Likewise.
6404 (mmix_output_shiftvalue_op_from_str): Likewise.
6405 (mmix_output_shifted_value): Likewise.
6406 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
6407 * config/msp430/msp430.cc (msp430_option_override): Likewise.
6408 (msp430_attr): Likewise.
6409 (msp430_expand_delay_cycles): Likewise.
6410 (msp430_expand_builtin): Likewise.
6411 * config/rs6000/aix73.h: Likewise.
6412 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
6413 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
6414 (valid_psw_flag): Likewise.
6415 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
6416 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
6417 (xstormy16_expand_builtin_va_start): Likewise.
6418 (xstormy16_handle_below100_attribute): Likewise.
6420 2022-01-18 Martin Liska <mliska@suse.cz>
6422 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
6424 (vms_pragma_standard): Likewise.
6425 (vms_pragma_extern_prefix): Likewise.
6427 2022-01-18 Martin Liska <mliska@suse.cz>
6429 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
6430 (print_operand_address): Likewise.
6431 (xtensa_multibss_section_type_flags): Likewise.
6433 2022-01-18 Martin Liska <mliska@suse.cz>
6435 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
6436 wording of an error message.
6438 2022-01-18 Martin Liska <mliska@suse.cz>
6440 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
6442 (ghs_pragma_section): Likewise.
6443 (ghs_pragma_interrupt): Likewise.
6444 (ghs_pragma_starttda): Likewise.
6445 (ghs_pragma_startsda): Likewise.
6446 (ghs_pragma_startzda): Likewise.
6447 (ghs_pragma_endtda): Likewise.
6448 (ghs_pragma_endsda): Likewise.
6449 (ghs_pragma_endzda): Likewise.
6451 2022-01-18 Martin Liska <mliska@suse.cz>
6453 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
6455 * config/nds32/nds32-intrinsic.md: Likewise.
6456 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
6457 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
6458 (nds32_insert_attributes): Likewise.
6460 2022-01-18 Martin Liska <mliska@suse.cz>
6462 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
6464 * config/nvptx/nvptx.md: Remove trailing dot.
6466 2022-01-18 Martin Liska <mliska@suse.cz>
6468 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
6469 Wrap keywords with quotes and remove trailing dots.
6470 (riscv_subset_list::parsing_subset_version): Likewise.
6471 (riscv_subset_list::parse_std_ext): Likewise.
6472 (riscv_subset_list::parse_multiletter_ext): Likewise.
6473 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
6475 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
6477 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
6478 argument suggested_unroll_factor.
6479 (vect_analyze_loop_costing): Likewise.
6480 (_loop_vec_info::_loop_vec_info): Initialize new member
6481 suggested_unroll_factor.
6482 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
6483 main loop use partial vectors.
6484 (vect_analyze_loop_2): Pass and use new argument
6485 suggested_unroll_factor.
6486 (vect_analyze_loop_1): Change to intialize local
6487 suggested_unroll_factor and use it.
6488 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
6489 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
6490 suggested_unroll_factor.
6491 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
6492 (vector_costs::suggested_unroll_factor): New getter function.
6493 (finish_cost): Set return argument suggested_unroll_factor.
6495 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
6497 PR tree-optimization/104038
6498 * doc/invoke.texi (relation-block-limit): New.
6499 * params.opt (relation-block-limit): New.
6500 * value-relation.cc (dom_oracle::register_relation): Check for NULL
6501 record before invoking transitive registery.
6502 (dom_oracle::set_one_relation): Check limit before creating record.
6503 (dom_oracle::register_transitives): Stop when no record created.
6504 * value-relation.h (relation_chain_head::m_num_relations): New.
6506 2022-01-18 Richard Biener <rguenther@suse.de>
6509 * ipa-inline.cc (inline_small_functions): Do not enqueue call
6510 edges originating in functions compiled with -Og.
6512 2022-01-18 Richard Biener <rguenther@suse.de>
6515 * passes.def (pass_all_optimizations_g): Remove pass_modref
6516 and pass_local_pure_const.
6518 2022-01-18 Martin Liska <mliska@suse.cz>
6520 * config/s390/s390.cc: Fix -Wformat-diag warnings.
6522 2022-01-18 Martin Liska <mliska@suse.cz>
6524 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
6526 (s390_resolve_overloaded_builtin): Remove trailing dot.
6527 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
6528 (s390_expand_builtin): Remove trailing dot.
6529 (s390_emit_prologue): Likewise, use semicolon.
6530 (s390_option_override_internal): Update keyword.
6531 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
6533 2022-01-18 Martin Liska <mliska@suse.cz>
6535 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
6536 keywords and use %qs instead of %<%s%>.
6538 2022-01-18 Richard Biener <rguenther@suse.de>
6540 PR tree-optimization/103987
6541 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
6542 query with a pointer check.
6544 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
6547 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
6548 When using MEM_EXPR, require the base to be a decl.
6550 2022-01-18 Richard Biener <rguenther@suse.de>
6552 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
6554 * function.h (struct function): Likewise.
6556 2022-01-18 Arnaud Charlet <charlet@adacore.com>
6558 * doc/install.texi: Update prerequisites for GNAT
6560 2022-01-18 Andrew Pinski <apinski@marvell.com>
6562 PR tree-optimization/101941
6563 * ipa-split.cc (visit_bb): Disallow function calls where
6564 the function has either error or warning attribute.
6566 2022-01-18 Richard Biener <rguenther@suse.de>
6568 PR tree-optimization/104064
6569 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
6570 DR_INIT fits in a signed HWI, represent the difference from the
6571 first DR in unsigned.
6573 2022-01-17 Martin Liska <mliska@suse.cz>
6575 * Makefile.in: Rename .c names to .cc.
6576 * config.gcc: Likewise.
6577 * configure: Regenerate. Likewise.
6578 * configure.ac: Likewise.
6579 * gengtype.cc (set_gc_used): Likewise.
6580 (source_dot_c_frul): Likewise.
6581 (source_dot_cc_frul): Likewise.
6582 (struct file_rule_st): Likewise.
6583 (close_output_files): Likewise.
6584 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
6586 2022-01-17 Martin Liska <mliska@suse.cz>
6588 * Makefile.in: Rename .c names to .cc.
6589 * alias.h: Likewise.
6590 * asan.cc: Likewise.
6591 * auto-profile.h: Likewise.
6592 * basic-block.h (struct basic_block_d): Likewise.
6593 * btfout.cc: Likewise.
6594 * builtins.cc (expand_builtin_longjmp): Likewise.
6595 (validate_arg): Likewise.
6596 (access_ref::offset_bounded): Likewise.
6597 * caller-save.cc (reg_restore_code): Likewise.
6598 (setup_save_areas): Likewise.
6599 * calls.cc (initialize_argument_information): Likewise.
6600 (expand_call): Likewise.
6601 (emit_library_call_value_1): Likewise.
6602 * cfg-flags.def (RTL): Likewise.
6603 (SIBCALL): Likewise.
6604 (CAN_FALLTHRU): Likewise.
6605 * cfganal.cc (post_order_compute): Likewise.
6606 * cfgcleanup.cc (try_simplify_condjump): Likewise.
6607 (merge_blocks_move_predecessor_nojumps): Likewise.
6608 (merge_blocks_move_successor_nojumps): Likewise.
6609 (merge_blocks_move): Likewise.
6610 (old_insns_match_p): Likewise.
6611 (try_crossjump_bb): Likewise.
6612 * cfgexpand.cc (expand_gimple_stmt): Likewise.
6613 * cfghooks.cc (split_block_before_cond_jump): Likewise.
6614 (profile_record_check_consistency): Likewise.
6615 * cfghooks.h: Likewise.
6616 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
6617 (rtl_can_merge_blocks): Likewise.
6618 (try_redirect_by_replacing_jump): Likewise.
6619 (make_pass_outof_cfg_layout_mode): Likewise.
6620 (cfg_layout_can_merge_blocks_p): Likewise.
6621 * cgraph.cc (release_function_body): Likewise.
6622 (cgraph_node::get_fun): Likewise.
6623 * cgraph.h (struct cgraph_node): Likewise.
6624 (asmname_hasher::equal): Likewise.
6625 (cgraph_inline_failed_type): Likewise.
6626 (thunk_adjust): Likewise.
6627 (dump_callgraph_transformation): Likewise.
6628 (record_references_in_initializer): Likewise.
6629 (ipa_discover_variable_flags): Likewise.
6630 * cgraphclones.cc (GTY): Likewise.
6631 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
6632 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
6633 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
6634 * collect2.cc (maybe_run_lto_and_relink): Likewise.
6635 * combine-stack-adj.cc: Likewise.
6636 * combine.cc (setup_incoming_promotions): Likewise.
6637 (combine_simplify_rtx): Likewise.
6638 (count_rtxs): Likewise.
6639 * common.opt: Likewise.
6640 * common/config/aarch64/aarch64-common.cc: Likewise.
6641 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
6642 * common/config/avr/avr-common.cc: Likewise.
6643 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
6644 * conditions.h: Likewise.
6645 * config.gcc: Likewise.
6646 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
6647 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
6648 (aarch64_get_extension_string_for_isa_flags): Likewise.
6649 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
6650 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
6651 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
6652 (aarch64_option_valid_attribute_p): Likewise.
6653 (aarch64_short_vector_p): Likewise.
6654 (aarch64_float_const_representable_p): Likewise.
6655 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
6656 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
6658 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
6659 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
6660 * config/aarch64/t-aarch64: Likewise.
6661 * config/aarch64/x-aarch64: Likewise.
6662 * config/aarch64/x-darwin: Likewise.
6663 * config/alpha/alpha-protos.h: Likewise.
6664 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
6665 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
6666 (enum reg_class): Likewise.
6667 * config/alpha/alpha.md: Likewise.
6668 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
6669 * config/alpha/x-alpha: Likewise.
6670 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
6671 * config/arc/arc.cc (ARC_OPT): Likewise.
6672 (arc_ccfsm_advance): Likewise.
6673 (arc_arg_partial_bytes): Likewise.
6674 (conditionalize_nonjump): Likewise.
6675 * config/arc/arc.md: Likewise.
6676 * config/arc/builtins.def: Likewise.
6677 * config/arc/t-arc: Likewise.
6678 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
6679 (arm_pragma_target_parse): Likewise.
6680 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
6681 (arm_cpu_cpp_builtins): Likewise.
6682 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
6683 (shift_op): Likewise.
6684 (thumb2_final_prescan_insn): Likewise.
6685 (arm_final_prescan_insn): Likewise.
6686 (arm_asm_output_labelref): Likewise.
6687 (arm_small_register_classes_for_mode_p): Likewise.
6688 * config/arm/arm.h: Likewise.
6689 * config/arm/arm.md: Likewise.
6690 * config/arm/driver-arm.cc: Likewise.
6691 * config/arm/symbian.h: Likewise.
6692 * config/arm/t-arm: Likewise.
6693 * config/arm/thumb1.md: Likewise.
6694 * config/arm/x-arm: Likewise.
6695 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
6696 * config/avr/avr-fixed.md: Likewise.
6697 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
6698 * config/avr/avr-mcus.def: Likewise.
6699 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
6700 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
6701 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
6702 * config/avr/avr.cc (avr_option_override): Likewise.
6703 (avr_build_builtin_va_list): Likewise.
6704 (avr_mode_dependent_address_p): Likewise.
6705 (avr_function_arg_advance): Likewise.
6706 (avr_asm_output_aligned_decl_common): Likewise.
6707 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
6708 (SUPPORTS_INIT_PRIORITY): Likewise.
6709 * config/avr/avr.md: Likewise.
6710 * config/avr/builtins.def: Likewise.
6711 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
6712 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
6714 * config/avr/t-avr: Likewise.
6715 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
6716 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
6717 * config/bpf/bpf.h (enum reg_class): Likewise.
6718 * config/bpf/t-bpf: Likewise.
6719 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
6720 * config/cr16/cr16-protos.h: Likewise.
6721 * config/cris/cris.cc (cris_address_cost): Likewise.
6722 (cris_side_effect_mode_ok): Likewise.
6723 (cris_init_machine_status): Likewise.
6724 (cris_emit_movem_store): Likewise.
6725 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
6726 (enum reg_class): Likewise.
6727 (struct cum_args): Likewise.
6728 * config/cris/cris.opt: Likewise.
6729 * config/cris/sync.md: Likewise.
6730 * config/csky/csky.cc (csky_expand_prologue): Likewise.
6731 * config/darwin-c.cc: Likewise.
6732 * config/darwin-f.cc: Likewise.
6733 * config/darwin-sections.def (zobj_const_section): Likewise.
6734 * config/darwin.cc (output_objc_section_asm_op): Likewise.
6735 (fprintf): Likewise.
6736 * config/darwin.h (GTY): Likewise.
6737 * config/elfos.h: Likewise.
6738 * config/epiphany/epiphany-sched.md: Likewise.
6739 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
6740 * config/epiphany/epiphany.h (GTY): Likewise.
6741 (NO_FUNCTION_CSE): Likewise.
6742 * config/epiphany/mode-switch-use.cc: Likewise.
6743 * config/epiphany/predicates.md: Likewise.
6744 * config/epiphany/t-epiphany: Likewise.
6745 * config/fr30/fr30-protos.h: Likewise.
6746 * config/frv/frv-protos.h: Likewise.
6747 * config/frv/frv.cc (TLS_BIAS): Likewise.
6748 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
6749 * config/ft32/ft32-protos.h: Likewise.
6750 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
6751 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
6752 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
6753 * config/gcn/t-gcn-hsa: Likewise.
6754 * config/gcn/t-omp-device: Likewise.
6755 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
6756 (same_cmp_following_p): Likewise.
6757 * config/h8300/h8300.cc (F): Likewise.
6758 * config/h8300/h8300.h (struct cum_arg): Likewise.
6759 (BRANCH_COST): Likewise.
6760 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
6761 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
6762 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
6763 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
6764 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
6765 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
6766 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
6767 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
6768 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
6769 (ix86_register_pragmas): Likewise.
6770 (ix86_d_has_stdcall_convention): Likewise.
6771 (i386_pe_seh_init_sections): Likewise.
6772 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
6773 (ix86_function_value_regno_p): Likewise.
6774 (ix86_compute_frame_layout): Likewise.
6775 (legitimize_pe_coff_symbol): Likewise.
6776 (output_pic_addr_const): Likewise.
6777 * config/i386/i386.h (defined): Likewise.
6778 (host_detect_local_cpu): Likewise.
6779 (CONSTANT_ADDRESS_P): Likewise.
6780 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
6781 (struct machine_frame_state): Likewise.
6782 * config/i386/i386.md: Likewise.
6783 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
6784 * config/i386/mmx.md: Likewise.
6785 * config/i386/sse.md: Likewise.
6786 * config/i386/t-cygming: Likewise.
6787 * config/i386/t-djgpp: Likewise.
6788 * config/i386/t-gnu-property: Likewise.
6789 * config/i386/t-i386: Likewise.
6790 * config/i386/t-intelmic: Likewise.
6791 * config/i386/t-omp-device: Likewise.
6792 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
6793 (i386_pe_adjust_class_at_definition): Likewise.
6794 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
6795 (i386_pe_mangle_decl_assembler_name): Likewise.
6796 (i386_pe_encode_section_info): Likewise.
6797 * config/i386/x-cygwin: Likewise.
6798 * config/i386/x-darwin: Likewise.
6799 * config/i386/x-i386: Likewise.
6800 * config/i386/x-mingw32: Likewise.
6801 * config/i386/x86-tune-sched-core.cc: Likewise.
6802 * config/i386/x86-tune.def: Likewise.
6803 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
6804 * config/ia64/freebsd.h: Likewise.
6805 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
6806 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
6807 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
6808 (ia64_secondary_reload_class): Likewise.
6809 (bundling): Likewise.
6810 * config/ia64/ia64.h: Likewise.
6811 * config/ia64/ia64.md: Likewise.
6812 * config/ia64/predicates.md: Likewise.
6813 * config/ia64/sysv4.h: Likewise.
6814 * config/ia64/t-ia64: Likewise.
6815 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
6816 * config/iq2000/iq2000.md: Likewise.
6817 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
6819 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
6820 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
6821 * config/m32c/t-m32c: Likewise.
6822 * config/m32r/m32r-protos.h: Likewise.
6823 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
6824 * config/m32r/m32r.h: Likewise.
6825 * config/m32r/m32r.md: Likewise.
6826 * config/m68k/m68k-isas.def: Likewise.
6827 * config/m68k/m68k-microarchs.def: Likewise.
6828 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
6829 (m68k_epilogue_uses): Likewise.
6830 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
6831 (m68k_sched_adjust_cost): Likewise.
6832 (m68k_sched_md_init): Likewise.
6833 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
6834 (enum m68k_function_kind): Likewise.
6835 * config/m68k/m68k.md: Likewise.
6836 * config/m68k/m68kemb.h: Likewise.
6837 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
6838 * config/mcore/mcore-protos.h: Likewise.
6839 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
6840 (mcore_expand_prolog): Likewise.
6841 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
6842 * config/mcore/mcore.md: Likewise.
6843 * config/microblaze/microblaze-protos.h: Likewise.
6844 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
6845 (microblaze_function_prologue): Likewise.
6846 (microblaze_function_epilogue): Likewise.
6847 (microblaze_select_section): Likewise.
6848 (microblaze_asm_output_mi_thunk): Likewise.
6849 (microblaze_eh_return): Likewise.
6850 * config/microblaze/microblaze.h: Likewise.
6851 * config/microblaze/microblaze.md: Likewise.
6852 * config/microblaze/t-microblaze: Likewise.
6853 * config/mips/driver-native.cc: Likewise.
6854 * config/mips/loongson2ef.md: Likewise.
6855 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
6856 * config/mips/mips.cc (mips_rtx_costs): Likewise.
6857 (mips_output_filename): Likewise.
6858 (mips_output_function_prologue): Likewise.
6859 (mips_output_function_epilogue): Likewise.
6860 (mips_output_mi_thunk): Likewise.
6861 * config/mips/mips.h: Likewise.
6862 * config/mips/mips.md: Likewise.
6863 * config/mips/t-mips: Likewise.
6864 * config/mips/x-native: Likewise.
6865 * config/mmix/mmix-protos.h: Likewise.
6866 * config/mmix/mmix.cc (mmix_option_override): Likewise.
6867 (mmix_dbx_register_number): Likewise.
6868 (mmix_expand_prologue): Likewise.
6869 * config/mmix/mmix.h: Likewise.
6870 * config/mmix/mmix.md: Likewise.
6871 * config/mmix/predicates.md: Likewise.
6872 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
6873 (mn10300_legitimate_pic_operand_p): Likewise.
6874 * config/mn10300/mn10300.h (enum reg_class): Likewise.
6875 (NO_FUNCTION_CSE): Likewise.
6876 * config/moxie/moxie-protos.h: Likewise.
6877 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
6878 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
6879 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
6880 (msp430_incoming_return_addr_rtx): Likewise.
6881 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
6882 * config/msp430/t-msp430: Likewise.
6883 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
6884 (nds32_rtx_costs_size_prefer): Likewise.
6885 (nds32_init_rtx_costs): Likewise.
6886 * config/nds32/nds32-doubleword.md: Likewise.
6887 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
6888 (nds32_builtin_decl): Likewise.
6889 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
6890 (enum nds32_isr_nested_type): Likewise.
6891 (enum reg_class): Likewise.
6892 * config/nds32/predicates.md: Likewise.
6893 * config/nds32/t-nds32: Likewise.
6894 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
6895 * config/nvptx/nvptx-protos.h: Likewise.
6896 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
6897 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
6898 * config/nvptx/t-nvptx: Likewise.
6899 * config/nvptx/t-omp-device: Likewise.
6900 * config/pa/elf.h: Likewise.
6901 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
6902 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
6903 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
6904 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
6905 (pa_legitimize_reload_address): Likewise.
6906 (pa_can_use_return_insn): Likewise.
6907 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
6908 (som_output_text_section_asm_op): Likewise.
6909 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
6910 * config/pa/pa.md: Likewise.
6911 * config/pa/som.h: Likewise.
6912 * config/pa/t-pa: Likewise.
6913 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
6914 * config/pdp11/pdp11.h: Likewise.
6915 * config/pdp11/pdp11.md: Likewise.
6916 * config/pdp11/t-pdp11: Likewise.
6917 * config/pru/pru.md: Likewise.
6918 * config/pru/t-pru: Likewise.
6919 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
6920 (riscv_gpr_save_operation_p): Likewise.
6921 (riscv_d_register_target_info): Likewise.
6922 (riscv_init_builtins): Likewise.
6923 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
6924 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
6925 * config/riscv/t-riscv: Likewise.
6926 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
6927 * config/rl78/t-rl78: Likewise.
6928 * config/rs6000/aix.h: Likewise.
6929 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
6930 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
6931 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
6932 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
6933 * config/rs6000/driver-rs6000.cc: Likewise.
6934 * config/rs6000/freebsd.h: Likewise.
6935 * config/rs6000/freebsd64.h: Likewise.
6936 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
6937 * config/rs6000/rbtree.cc: Likewise.
6938 * config/rs6000/rbtree.h: Likewise.
6939 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
6940 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
6941 (rs6000_expand_builtin): Likewise.
6942 (rs6000_init_builtins): Likewise.
6943 * config/rs6000/rs6000-cpus.def: Likewise.
6944 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
6945 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
6946 (quad_address_offset_p): Likewise.
6947 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
6948 (rs6000_emit_epilogue): Likewise.
6949 * config/rs6000/rs6000-overload.def: Likewise.
6950 * config/rs6000/rs6000-p8swap.cc: Likewise.
6951 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
6952 (rs6000_const_f32_to_i32): Likewise.
6953 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
6954 (rs6000_debug_legitimize_address): Likewise.
6955 (rs6000_mode_dependent_address): Likewise.
6956 (rs6000_adjust_priority): Likewise.
6957 (rs6000_c_mode_for_suffix): Likewise.
6958 * config/rs6000/rs6000.h (defined): Likewise.
6959 (LONG_DOUBLE_TYPE_SIZE): Likewise.
6960 * config/rs6000/rs6000.md: Likewise.
6961 * config/rs6000/sysv4.h: Likewise.
6962 * config/rs6000/t-linux: Likewise.
6963 * config/rs6000/t-linux64: Likewise.
6964 * config/rs6000/t-rs6000: Likewise.
6965 * config/rs6000/x-darwin: Likewise.
6966 * config/rs6000/x-darwin64: Likewise.
6967 * config/rs6000/x-rs6000: Likewise.
6968 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
6969 * config/rx/rx.cc (rx_expand_builtin): Likewise.
6970 * config/s390/constraints.md: Likewise.
6971 * config/s390/driver-native.cc: Likewise.
6972 * config/s390/htmxlintrin.h: Likewise.
6973 * config/s390/s390-builtins.def (B_DEF): Likewise.
6974 (OB_DEF_VAR): Likewise.
6975 * config/s390/s390-builtins.h: Likewise.
6976 * config/s390/s390-c.cc: Likewise.
6977 * config/s390/s390-opts.h: Likewise.
6978 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
6979 (s390_register_target_pragmas): Likewise.
6980 * config/s390/s390.cc (s390_init_builtins): Likewise.
6981 (s390_expand_plus_operand): Likewise.
6982 (s390_expand_atomic): Likewise.
6983 (s390_valid_target_attribute_inner_p): Likewise.
6984 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
6985 * config/s390/s390.md: Likewise.
6986 * config/s390/t-s390: Likewise.
6987 * config/s390/vx-builtins.md: Likewise.
6988 * config/s390/x-native: Likewise.
6989 * config/sh/divtab-sh4-300.cc (main): Likewise.
6990 * config/sh/divtab-sh4.cc (main): Likewise.
6991 * config/sh/divtab.cc (main): Likewise.
6992 * config/sh/elf.h: Likewise.
6993 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
6994 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
6995 (sh_struct_value_rtx): Likewise.
6996 (sh_remove_reg_dead_or_unused_notes): Likewise.
6997 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
6998 * config/sh/t-sh: Likewise.
6999 * config/sol2-protos.h (solaris_override_options): Likewise.
7000 * config/sol2.h: Likewise.
7001 * config/sparc/driver-sparc.cc: Likewise.
7002 * config/sparc/freebsd.h: Likewise.
7003 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
7004 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
7005 (sparc_asan_shadow_offset): Likewise.
7006 * config/sparc/sparc.h: Likewise.
7007 * config/sparc/sparc.md: Likewise.
7008 * config/sparc/t-sparc: Likewise.
7009 * config/sparc/x-sparc: Likewise.
7010 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
7011 * config/t-darwin: Likewise.
7012 * config/t-dragonfly: Likewise.
7013 * config/t-freebsd: Likewise.
7014 * config/t-glibc: Likewise.
7015 * config/t-linux: Likewise.
7016 * config/t-netbsd: Likewise.
7017 * config/t-openbsd: Likewise.
7018 * config/t-pnt16-warn: Likewise.
7019 * config/t-sol2: Likewise.
7020 * config/t-vxworks: Likewise.
7021 * config/t-winnt: Likewise.
7022 * config/tilegx/t-tilegx: Likewise.
7023 * config/tilegx/tilegx-c.cc: Likewise.
7024 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
7025 * config/tilegx/tilegx.md: Likewise.
7026 * config/tilepro/t-tilepro: Likewise.
7027 * config/tilepro/tilepro-c.cc: Likewise.
7028 * config/v850/t-v850: Likewise.
7029 * config/v850/v850-protos.h: Likewise.
7030 * config/v850/v850.cc (F): Likewise.
7031 * config/v850/v850.h (enum reg_class): Likewise.
7032 (SLOW_BYTE_ACCESS): Likewise.
7033 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
7034 * config/vax/vax.h (enum reg_class): Likewise.
7035 * config/vax/vax.md: Likewise.
7036 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
7037 * config/visium/visium.h: Likewise.
7038 * config/vms/t-vms: Likewise.
7039 * config/vms/vms-crtlmap.map: Likewise.
7040 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
7041 * config/vx-common.h: Likewise.
7042 * config/x-darwin: Likewise.
7043 * config/x-hpux: Likewise.
7044 * config/x-linux: Likewise.
7045 * config/x-netbsd: Likewise.
7046 * config/x-openbsd: Likewise.
7047 * config/x-solaris: Likewise.
7048 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
7049 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
7050 * config/xtensa/xtensa.h: Likewise.
7051 * configure.ac: Likewise.
7052 * context.cc: Likewise.
7053 * convert.h: Likewise.
7054 * coretypes.h: Likewise.
7055 * coverage.cc: Likewise.
7056 * coverage.h: Likewise.
7057 * cppdefault.h (struct default_include): Likewise.
7058 * cprop.cc (local_cprop_pass): Likewise.
7059 (one_cprop_pass): Likewise.
7060 * cse.cc (hash_rtx_cb): Likewise.
7061 (fold_rtx): Likewise.
7062 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
7063 * data-streamer.h (bp_unpack_var_len_int): Likewise.
7064 (streamer_write_widest_int): Likewise.
7065 * dbgcnt.def: Likewise.
7066 * dbxout.cc (dbxout_early_global_decl): Likewise.
7067 (dbxout_common_check): Likewise.
7068 * dbxout.h: Likewise.
7069 * debug.h (struct gcc_debug_hooks): Likewise.
7070 (dump_go_spec_init): Likewise.
7071 * df-core.cc: Likewise.
7072 * df-scan.cc (df_insn_info_delete): Likewise.
7073 (df_insn_delete): Likewise.
7074 * df.h (debug_df_chain): Likewise.
7075 (can_move_insns_across): Likewise.
7076 * dfp.cc (decimal_from_binary): Likewise.
7077 * diagnostic-color.cc: Likewise.
7078 * diagnostic-event-id.h: Likewise.
7079 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
7080 * diagnostic.cc (bt_callback): Likewise.
7081 (num_digits): Likewise.
7082 * doc/avr-mmcu.texi: Likewise.
7083 * doc/cfg.texi: Likewise.
7084 * doc/contrib.texi: Likewise.
7085 * doc/cppinternals.texi: Likewise.
7086 * doc/extend.texi: Likewise.
7087 * doc/generic.texi: Likewise.
7088 * doc/gimple.texi: Likewise.
7089 * doc/gty.texi: Likewise.
7090 * doc/invoke.texi: Likewise.
7091 * doc/loop.texi: Likewise.
7092 * doc/lto.texi: Likewise.
7093 * doc/match-and-simplify.texi: Likewise.
7094 * doc/md.texi: Likewise.
7095 * doc/optinfo.texi: Likewise.
7096 * doc/options.texi: Likewise.
7097 * doc/passes.texi: Likewise.
7098 * doc/plugins.texi: Likewise.
7099 * doc/rtl.texi: Likewise.
7100 * doc/sourcebuild.texi: Likewise.
7101 * doc/tm.texi: Likewise.
7102 * doc/tm.texi.in: Likewise.
7103 * doc/tree-ssa.texi: Likewise.
7104 * dojump.cc (do_jump): Likewise.
7105 * dojump.h: Likewise.
7106 * dumpfile.cc (test_impl_location): Likewise.
7107 (test_capture_of_dump_calls): Likewise.
7108 * dumpfile.h (enum dump_kind): Likewise.
7109 (class dump_location_t): Likewise.
7110 (dump_enabled_p): Likewise.
7111 (enable_rtl_dump_file): Likewise.
7112 (dump_combine_total_stats): Likewise.
7113 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
7114 * dwarf2ctf.h (ctf_debug_finish): Likewise.
7115 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
7116 (struct loc_descr_context): Likewise.
7117 (rtl_for_decl_location): Likewise.
7118 (gen_subprogram_die): Likewise.
7119 (gen_label_die): Likewise.
7120 (is_trivial_indirect_ref): Likewise.
7121 (dwarf2out_late_global_decl): Likewise.
7122 (dwarf_file_hasher::hash): Likewise.
7123 (dwarf2out_end_source_file): Likewise.
7124 (dwarf2out_define): Likewise.
7125 (dwarf2out_early_finish): Likewise.
7126 * dwarf2out.h (struct dw_fde_node): Likewise.
7127 (struct dw_discr_list_node): Likewise.
7128 (output_loc_sequence_raw): Likewise.
7129 * emit-rtl.cc (gen_raw_REG): Likewise.
7130 (maybe_set_max_label_num): Likewise.
7131 * emit-rtl.h (struct rtl_data): Likewise.
7132 * errors.cc (internal_error): Likewise.
7133 (trim_filename): Likewise.
7134 * et-forest.cc: Likewise.
7135 * except.cc (init_eh_for_function): Likewise.
7136 * explow.cc (promote_ssa_mode): Likewise.
7137 (get_dynamic_stack_size): Likewise.
7138 * explow.h: Likewise.
7139 * expmed.h: Likewise.
7140 * expr.cc (safe_from_p): Likewise.
7141 (expand_expr_real_2): Likewise.
7142 (expand_expr_real_1): Likewise.
7143 * file-prefix-map.cc (remap_filename): Likewise.
7144 * final.cc (app_enable): Likewise.
7145 (make_pass_compute_alignments): Likewise.
7146 (final_scan_insn_1): Likewise.
7147 (final_scan_insn): Likewise.
7148 * fixed-value.h (fixed_from_string): Likewise.
7149 * flag-types.h (NO_DEBUG): Likewise.
7150 (DWARF2_DEBUG): Likewise.
7151 (VMS_DEBUG): Likewise.
7152 (BTF_DEBUG): Likewise.
7153 (enum ctf_debug_info_levels): Likewise.
7154 * fold-const.cc (const_binop): Likewise.
7155 (fold_binary_loc): Likewise.
7156 (fold_checksum_tree): Likewise.
7157 * fp-test.cc: Likewise.
7158 * function.cc (expand_function_end): Likewise.
7159 * function.h (struct function): Likewise.
7160 * fwprop.cc (should_replace_address): Likewise.
7161 * gcc-main.cc: Likewise.
7162 * gcc-rich-location.h (class gcc_rich_location): Likewise.
7163 * gcc-symtab.h: Likewise.
7164 * gcc.cc (MIN_FATAL_STATUS): Likewise.
7165 (driver_handle_option): Likewise.
7166 (quote_spec_arg): Likewise.
7167 (driver::finalize): Likewise.
7168 * gcc.h (set_input): Likewise.
7169 * gcov-dump.cc: Likewise.
7170 * gcov.cc (solve_flow_graph): Likewise.
7171 * gcse-common.cc: Likewise.
7172 * gcse.cc (make_pass_rtl_hoist): Likewise.
7173 * genattr-common.cc: Likewise.
7174 * genattrtab.cc (min_fn): Likewise.
7175 (write_const_num_delay_slots): Likewise.
7176 * genautomata.cc: Likewise.
7177 * genconditions.cc (write_one_condition): Likewise.
7178 * genconstants.cc: Likewise.
7179 * genemit.cc (gen_exp): Likewise.
7180 * generic-match-head.cc: Likewise.
7181 * genextract.cc: Likewise.
7182 * gengenrtl.cc (always_void_p): Likewise.
7183 * gengtype-parse.cc (gtymarker_opt): Likewise.
7184 * gengtype-state.cc (state_writer::state_writer): Likewise.
7185 (write_state_trailer): Likewise.
7186 (equals_type_number): Likewise.
7187 (read_state): Likewise.
7188 * gengtype.cc (open_base_files): Likewise.
7189 (struct file_rule_st): Likewise.
7190 (header_dot_h_frul): Likewise.
7191 * gengtype.h: Likewise.
7192 * genmatch.cc (main): Likewise.
7193 * genmddeps.cc: Likewise.
7194 * genmodes.cc (emit_mode_inner): Likewise.
7195 (emit_mode_unit_size): Likewise.
7196 * genpeep.cc (gen_peephole): Likewise.
7197 * genpreds.cc (write_tm_preds_h): Likewise.
7198 * genrecog.cc (validate_pattern): Likewise.
7199 (write_header): Likewise.
7201 * gensupport.cc (change_subst_attribute): Likewise.
7202 (traverse_c_tests): Likewise.
7203 (add_predicate): Likewise.
7204 (init_predicate_table): Likewise.
7205 * gensupport.h (struct optab_pattern): Likewise.
7206 (get_num_insn_codes): Likewise.
7207 (maybe_eval_c_test): Likewise.
7208 (struct pred_data): Likewise.
7209 * ggc-internal.h: Likewise.
7210 * gimple-fold.cc (maybe_fold_reference): Likewise.
7211 (get_range_strlen_tree): Likewise.
7212 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
7213 * gimple-low.cc: Likewise.
7214 * gimple-match-head.cc (directly_supported_p): Likewise.
7215 * gimple-pretty-print.h: Likewise.
7216 * gimple-ssa-sprintf.cc (format_percent): Likewise.
7217 (adjust_range_for_overflow): Likewise.
7218 * gimple-streamer.h: Likewise.
7219 * gimple.h (struct GTY): Likewise.
7220 (is_gimple_resx): Likewise.
7221 * gimplify.cc (gimplify_expr): Likewise.
7222 (gimplify_init_constructor): Likewise.
7223 (omp_construct_selector_matches): Likewise.
7224 (gimplify_omp_target_update): Likewise.
7225 (gimplify_omp_ordered): Likewise.
7226 (gimplify_va_arg_expr): Likewise.
7227 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
7228 * haifa-sched.cc (increase_insn_priority): Likewise.
7229 (try_ready): Likewise.
7230 (sched_create_recovery_edges): Likewise.
7231 * ifcvt.cc (find_if_case_1): Likewise.
7232 (find_if_case_2): Likewise.
7233 * inchash.h: Likewise.
7234 * incpath.cc (add_env_var_paths): Likewise.
7235 * input.cc (dump_location_info): Likewise.
7236 (assert_loceq): Likewise.
7237 (test_lexer_string_locations_concatenation_1): Likewise.
7238 (test_lexer_string_locations_concatenation_2): Likewise.
7239 (test_lexer_string_locations_concatenation_3): Likewise.
7240 * input.h (BUILTINS_LOCATION): Likewise.
7241 (class string_concat_db): Likewise.
7242 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
7243 (expand_LOOP_VECTORIZED): Likewise.
7244 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
7245 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
7246 (ipa_fn_summary_t::duplicate): Likewise.
7247 (make_pass_ipa_fn_summary): Likewise.
7248 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
7249 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
7250 (free_lang_data_in_decl): Likewise.
7251 * ipa-inline.cc (compute_inlined_call_time): Likewise.
7252 (inline_always_inline_functions): Likewise.
7253 * ipa-inline.h (free_growth_caches): Likewise.
7254 (inline_account_function_p): Likewise.
7255 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
7256 (modref_eaf_analysis::analyze_ssa_name): Likewise.
7257 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
7258 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
7259 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
7260 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
7261 (unadjusted_ptr_and_unit_offset): Likewise.
7262 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
7263 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
7264 * ipa-split.cc (consider_split): Likewise.
7265 * ipa-sra.cc (isra_read_node_info): Likewise.
7266 * ipa-utils.h (struct ipa_dfs_info): Likewise.
7267 (recursive_call_p): Likewise.
7268 (ipa_make_function_pure): Likewise.
7269 * ira-build.cc (ira_create_allocno): Likewise.
7270 (ira_flattening): Likewise.
7271 * ira-color.cc (do_coloring): Likewise.
7272 (update_curr_costs): Likewise.
7273 * ira-conflicts.cc (process_regs_for_copy): Likewise.
7274 * ira-int.h (struct ira_emit_data): Likewise.
7275 (ira_prohibited_mode_move_regs): Likewise.
7276 (ira_get_dup_out_num): Likewise.
7277 (ira_destroy): Likewise.
7278 (ira_tune_allocno_costs): Likewise.
7279 (ira_implicitly_set_insn_hard_regs): Likewise.
7280 (ira_build_conflicts): Likewise.
7281 (ira_color): Likewise.
7282 * ira-lives.cc (process_bb_node_lives): Likewise.
7283 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
7284 (setup_uniform_class_p): Likewise.
7285 (def_dominates_uses): Likewise.
7286 * ira.h (ira_nullify_asm_goto): Likewise.
7287 * langhooks.cc (lhd_post_options): Likewise.
7288 * langhooks.h (class substring_loc): Likewise.
7289 (struct lang_hooks_for_tree_inlining): Likewise.
7290 (struct lang_hooks_for_types): Likewise.
7291 (struct lang_hooks): Likewise.
7292 * libfuncs.h (synchronize_libfunc): Likewise.
7293 * loop-doloop.cc (doloop_condition_get): Likewise.
7294 * loop-init.cc (fix_loop_structure): Likewise.
7295 * loop-invariant.cc: Likewise.
7296 * lower-subreg.h: Likewise.
7297 * lra-constraints.cc (curr_insn_transform): Likewise.
7298 * lra-int.h (struct lra_insn_reg): Likewise.
7299 (lra_undo_inheritance): Likewise.
7300 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
7301 (lra_split_hard_reg_for): Likewise.
7302 (lra_coalesce): Likewise.
7303 (lra_final_code_change): Likewise.
7304 * lra-spills.cc (lra_final_code_change): Likewise.
7305 * lra.cc (lra_process_new_insns): Likewise.
7306 * lto-compress.h (struct lto_compression_stream): Likewise.
7307 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
7308 (write_symbol): Likewise.
7309 * lto-streamer.h (enum LTO_tags): Likewise.
7310 (lto_value_range_error): Likewise.
7311 (lto_append_block): Likewise.
7312 (lto_streamer_hooks_init): Likewise.
7313 (stream_read_tree_ref): Likewise.
7314 (lto_prepare_function_for_streaming): Likewise.
7315 (select_what_to_stream): Likewise.
7316 (omp_lto_input_declare_variant_alt): Likewise.
7317 (cl_optimization_stream_in): Likewise.
7318 * lto-wrapper.cc (append_compiler_options): Likewise.
7319 * machmode.def: Likewise.
7320 * machmode.h (struct int_n_data_t): Likewise.
7321 * main.cc (main): Likewise.
7322 * match.pd: Likewise.
7323 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
7324 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
7325 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
7326 (make_pass_expand_omp_ssa): Likewise.
7327 * omp-low.cc (struct omp_context): Likewise.
7328 (struct omp_taskcopy_context): Likewise.
7329 (lower_omp): Likewise.
7330 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
7331 (mask_name): Likewise.
7332 (omp_sese_dump_pars): Likewise.
7333 (worker_single_simple): Likewise.
7334 * omp-offload.cc (omp_finish_file): Likewise.
7335 (execute_oacc_loop_designation): Likewise.
7336 * optabs-query.cc (lshift_cheap_p): Likewise.
7337 * optc-gen.awk: Likewise.
7338 * optc-save-gen.awk: Likewise.
7339 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
7340 * opts-common.cc: Likewise.
7341 * output.h (app_enable): Likewise.
7342 (output_operand_lossage): Likewise.
7343 (insn_current_reference_address): Likewise.
7344 (get_insn_template): Likewise.
7345 (output_quoted_string): Likewise.
7346 * pass_manager.h (struct register_pass_info): Likewise.
7347 * plugin.cc: Likewise.
7348 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
7349 * plugin.h (invoke_plugin_callbacks): Likewise.
7350 * pointer-query.cc (handle_mem_ref): Likewise.
7351 * postreload-gcse.cc (alloc_mem): Likewise.
7352 * predict.h (enum prediction): Likewise.
7353 (add_reg_br_prob_note): Likewise.
7354 * prefix.h: Likewise.
7355 * profile.h (get_working_sets): Likewise.
7356 * read-md.cc: Likewise.
7357 * read-md.h (struct mapping): Likewise.
7358 (class md_reader): Likewise.
7359 (class noop_reader): Likewise.
7360 * read-rtl-function.cc (function_reader::create_function): Likewise.
7361 (function_reader::extra_parsing_for_operand_code_0): Likewise.
7362 * read-rtl.cc (initialize_iterators): Likewise.
7363 * real.cc: Likewise.
7364 * real.h (struct real_value): Likewise.
7365 (format_helper::format_helper): Likewise.
7366 (real_hash): Likewise.
7367 (real_can_shorten_arithmetic): Likewise.
7368 * recog.cc (struct target_recog): Likewise.
7369 (offsettable_nonstrict_memref_p): Likewise.
7370 (constrain_operands): Likewise.
7371 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
7372 (which_op_alt): Likewise.
7373 (struct insn_gen_fn): Likewise.
7374 * reg-notes.def (REG_NOTE): Likewise.
7375 * reg-stack.cc: Likewise.
7376 * regs.h (reg_is_parm_p): Likewise.
7377 * regset.h: Likewise.
7378 * reload.cc (push_reload): Likewise.
7379 (find_reloads): Likewise.
7380 (find_reloads_address_1): Likewise.
7381 (find_replacement): Likewise.
7382 (refers_to_regno_for_reload_p): Likewise.
7383 (refers_to_mem_for_reload_p): Likewise.
7384 * reload.h (push_reload): Likewise.
7385 (deallocate_reload_reg): Likewise.
7386 * reload1.cc (emit_input_reload_insns): Likewise.
7387 * reorg.cc (relax_delay_slots): Likewise.
7388 * rtl.def (UNKNOWN): Likewise.
7389 (SEQUENCE): Likewise.
7390 (BARRIER): Likewise.
7391 (ASM_OPERANDS): Likewise.
7392 (EQ_ATTR_ALT): Likewise.
7393 * rtl.h (struct GTY): Likewise.
7394 (LABEL_NAME): Likewise.
7395 (LABEL_ALT_ENTRY_P): Likewise.
7396 (SUBREG_BYTE): Likewise.
7397 (get_stack_check_protect): Likewise.
7398 (dump_rtx_statistics): Likewise.
7399 (unwrap_const_vec_duplicate): Likewise.
7400 (subreg_promoted_mode): Likewise.
7401 (gen_lowpart_common): Likewise.
7402 (operand_subword): Likewise.
7403 (immed_wide_int_const): Likewise.
7404 (decide_function_section): Likewise.
7405 (active_insn_p): Likewise.
7406 (delete_related_insns): Likewise.
7407 (try_split): Likewise.
7408 (val_signbit_known_clear_p): Likewise.
7409 (simplifiable_subregs): Likewise.
7410 (set_insn_deleted): Likewise.
7411 (subreg_get_info): Likewise.
7412 (remove_free_EXPR_LIST_node): Likewise.
7413 (finish_subregs_of_mode): Likewise.
7414 (get_mem_attrs): Likewise.
7415 (lookup_constant_def): Likewise.
7416 (rtx_to_tree_code): Likewise.
7417 (hash_rtx): Likewise.
7418 (condjump_in_parallel_p): Likewise.
7419 (validate_subreg): Likewise.
7420 (make_compound_operation): Likewise.
7421 (schedule_ebbs): Likewise.
7422 (print_inline_rtx): Likewise.
7423 (fixup_args_size_notes): Likewise.
7424 (expand_dec): Likewise.
7425 (prepare_copy_insn): Likewise.
7426 (mark_elimination): Likewise.
7427 (valid_mode_changes_for_regno): Likewise.
7428 (make_debug_expr_from_rtl): Likewise.
7429 (delete_vta_debug_insns): Likewise.
7430 (simplify_using_condition): Likewise.
7431 (set_insn_locations): Likewise.
7432 (fatal_insn_not_found): Likewise.
7433 (word_register_operation_p): Likewise.
7434 * rtlanal.cc (get_call_fndecl): Likewise.
7435 (side_effects_p): Likewise.
7436 (subreg_nregs): Likewise.
7437 (rtx_cost): Likewise.
7438 (canonicalize_condition): Likewise.
7439 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
7440 * run-rtl-passes.cc (run_rtl_passes): Likewise.
7441 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
7442 * sched-deps.cc (add_dependence_1): Likewise.
7443 * sched-ebb.cc (begin_move_insn): Likewise.
7444 (add_deps_for_risky_insns): Likewise.
7445 (advance_target_bb): Likewise.
7446 * sched-int.h (reemit_notes): Likewise.
7447 (struct _haifa_insn_data): Likewise.
7449 (DEP_CANCELLED): Likewise.
7450 (debug_ds): Likewise.
7451 (number_in_ready): Likewise.
7452 (schedule_ebbs_finish): Likewise.
7453 (find_modifiable_mems): Likewise.
7454 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
7455 * sel-sched-dump.cc (dump_lv_set): Likewise.
7456 * sel-sched-dump.h: Likewise.
7457 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
7458 (setup_id_reg_sets): Likewise.
7459 (has_dependence_p): Likewise.
7460 (sel_num_cfg_preds_gt_1): Likewise.
7461 (bb_ends_ebb_p): Likewise.
7462 * sel-sched-ir.h (struct _list_node): Likewise.
7463 (struct idata_def): Likewise.
7464 (bb_next_bb): Likewise.
7465 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
7466 (choose_best_pseudo_reg): Likewise.
7467 (verify_target_availability): Likewise.
7468 (can_speculate_dep_p): Likewise.
7469 (sel_rank_for_schedule): Likewise.
7470 * selftest-run-tests.cc (selftest::run_tests): Likewise.
7471 * selftest.h (class auto_fix_quotes): Likewise.
7472 * shrink-wrap.cc (handle_simple_exit): Likewise.
7473 * shrink-wrap.h: Likewise.
7474 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
7475 (simplify_context::simplify_gen_vec_select): Likewise.
7476 * spellcheck-tree.h: Likewise.
7477 * spellcheck.h: Likewise.
7478 * statistics.h (struct function): Likewise.
7479 * stmt.cc (conditional_probability): Likewise.
7481 * stor-layout.h: Likewise.
7482 * streamer-hooks.h: Likewise.
7483 * stringpool.h: Likewise.
7484 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
7485 * target.def (HOOK_VECTOR_END): Likewise.
7487 * target.h (union cumulative_args_t): Likewise.
7488 (by_pieces_ninsns): Likewise.
7489 (class predefined_function_abi): Likewise.
7490 * targhooks.cc (default_translate_mode_attribute): Likewise.
7491 * timevar.def: Likewise.
7492 * timevar.h (class timer): Likewise.
7493 * toplev.h (enable_rtl_dump_file): Likewise.
7494 * trans-mem.cc (collect_bb2reg): Likewise.
7495 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
7496 * tree-cfg.cc (remove_bb): Likewise.
7497 (verify_gimple_debug): Likewise.
7498 (remove_edge_and_dominated_blocks): Likewise.
7499 (push_fndecl): Likewise.
7500 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
7501 * tree-complex.cc (expand_complex_multiplication): Likewise.
7502 (expand_complex_div_straight): Likewise.
7503 * tree-core.h (enum tree_index): Likewise.
7504 (enum operand_equal_flag): Likewise.
7505 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
7506 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
7507 * tree-inline.cc (initialize_inlined_parameters): Likewise.
7508 * tree-inline.h (force_value_to_type): Likewise.
7509 * tree-nested.cc (get_chain_decl): Likewise.
7510 (walk_all_functions): Likewise.
7511 * tree-object-size.h: Likewise.
7512 * tree-outof-ssa.cc: Likewise.
7513 * tree-parloops.cc (create_parallel_loop): Likewise.
7514 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
7515 (dump_generic_node): Likewise.
7516 * tree-profile.cc (tree_profiling): Likewise.
7517 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
7518 * tree-ssa-address.cc: Likewise.
7519 * tree-ssa-alias.cc: Likewise.
7520 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
7521 (dump_alias_stats): Likewise.
7522 * tree-ssa-ccp.cc: Likewise.
7523 * tree-ssa-coalesce.h: Likewise.
7524 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
7525 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
7526 * tree-ssa-loop-unswitch.cc: Likewise.
7527 * tree-ssa-math-opts.cc: Likewise.
7528 * tree-ssa-operands.cc (class operands_scanner): Likewise.
7529 * tree-ssa-pre.cc: Likewise.
7530 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
7531 (debug_range_entry): Likewise.
7532 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
7533 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
7534 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
7535 (equal_mem_array_ref_p): Likewise.
7536 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
7537 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
7538 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
7539 * tree-ssa-ter.h: Likewise.
7540 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
7541 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
7542 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
7543 (write_ts_block_tree_pointers): Likewise.
7544 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
7545 (streamer_read_tree_bitfields): Likewise.
7546 (streamer_write_integer_cst): Likewise.
7547 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
7548 (vect_synth_mult_by_constant): Likewise.
7549 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
7550 * tree-vectorizer.cc: Likewise.
7551 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
7552 (vect_update_inits_of_drs): Likewise.
7553 (vect_get_mask_type_for_stmt): Likewise.
7554 (vect_rgroup_iv_might_wrap_p): Likewise.
7555 (cse_and_gimplify_to_preheader): Likewise.
7556 (vect_free_slp_tree): Likewise.
7557 (vect_pattern_recog): Likewise.
7558 (vect_stmt_dominates_stmt_p): Likewise.
7559 * tree.cc (initialize_tree_contains_struct): Likewise.
7560 (need_assembler_name_p): Likewise.
7561 (type_with_interoperable_signedness): Likewise.
7562 * tree.def (SWITCH_EXPR): Likewise.
7563 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
7564 (poly_int_tree_p): Likewise.
7565 (inlined_function_outer_scope_p): Likewise.
7566 (tree_code_for_canonical_type_merging): Likewise.
7567 * value-prof.cc: Likewise.
7568 * value-prof.h (get_nth_most_common_value): Likewise.
7569 (find_func_by_profile_id): Likewise.
7570 * value-range.cc (vrp_operand_equal_p): Likewise.
7571 * value-range.h: Likewise.
7572 * var-tracking.cc: Likewise.
7573 * varasm.cc (default_function_section): Likewise.
7574 (function_section_1): Likewise.
7575 (assemble_variable): Likewise.
7576 (handle_vtv_comdat_section): Likewise.
7577 * vec.h (struct vec_prefix): Likewise.
7578 * vmsdbgout.cc (full_name): Likewise.
7579 * vtable-verify.cc: Likewise.
7580 * vtable-verify.h (struct vtv_graph_node): Likewise.
7581 * xcoffout.cc: Likewise.
7582 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
7584 2022-01-17 Martin Liska <mliska@suse.cz>
7586 * adjust-alignment.c: Moved to...
7587 * adjust-alignment.cc: ...here.
7588 * alias.c: Moved to...
7589 * alias.cc: ...here.
7590 * alloc-pool.c: Moved to...
7591 * alloc-pool.cc: ...here.
7592 * asan.c: Moved to...
7594 * attribs.c: Moved to...
7595 * attribs.cc: ...here.
7596 * auto-inc-dec.c: Moved to...
7597 * auto-inc-dec.cc: ...here.
7598 * auto-profile.c: Moved to...
7599 * auto-profile.cc: ...here.
7600 * bb-reorder.c: Moved to...
7601 * bb-reorder.cc: ...here.
7602 * bitmap.c: Moved to...
7603 * bitmap.cc: ...here.
7604 * btfout.c: Moved to...
7605 * btfout.cc: ...here.
7606 * builtins.c: Moved to...
7607 * builtins.cc: ...here.
7608 * caller-save.c: Moved to...
7609 * caller-save.cc: ...here.
7610 * calls.c: Moved to...
7611 * calls.cc: ...here.
7612 * ccmp.c: Moved to...
7614 * cfg.c: Moved to...
7616 * cfganal.c: Moved to...
7617 * cfganal.cc: ...here.
7618 * cfgbuild.c: Moved to...
7619 * cfgbuild.cc: ...here.
7620 * cfgcleanup.c: Moved to...
7621 * cfgcleanup.cc: ...here.
7622 * cfgexpand.c: Moved to...
7623 * cfgexpand.cc: ...here.
7624 * cfghooks.c: Moved to...
7625 * cfghooks.cc: ...here.
7626 * cfgloop.c: Moved to...
7627 * cfgloop.cc: ...here.
7628 * cfgloopanal.c: Moved to...
7629 * cfgloopanal.cc: ...here.
7630 * cfgloopmanip.c: Moved to...
7631 * cfgloopmanip.cc: ...here.
7632 * cfgrtl.c: Moved to...
7633 * cfgrtl.cc: ...here.
7634 * cgraph.c: Moved to...
7635 * cgraph.cc: ...here.
7636 * cgraphbuild.c: Moved to...
7637 * cgraphbuild.cc: ...here.
7638 * cgraphclones.c: Moved to...
7639 * cgraphclones.cc: ...here.
7640 * cgraphunit.c: Moved to...
7641 * cgraphunit.cc: ...here.
7642 * collect-utils.c: Moved to...
7643 * collect-utils.cc: ...here.
7644 * collect2-aix.c: Moved to...
7645 * collect2-aix.cc: ...here.
7646 * collect2.c: Moved to...
7647 * collect2.cc: ...here.
7648 * combine-stack-adj.c: Moved to...
7649 * combine-stack-adj.cc: ...here.
7650 * combine.c: Moved to...
7651 * combine.cc: ...here.
7652 * common/common-targhooks.c: Moved to...
7653 * common/common-targhooks.cc: ...here.
7654 * common/config/aarch64/aarch64-common.c: Moved to...
7655 * common/config/aarch64/aarch64-common.cc: ...here.
7656 * common/config/alpha/alpha-common.c: Moved to...
7657 * common/config/alpha/alpha-common.cc: ...here.
7658 * common/config/arc/arc-common.c: Moved to...
7659 * common/config/arc/arc-common.cc: ...here.
7660 * common/config/arm/arm-common.c: Moved to...
7661 * common/config/arm/arm-common.cc: ...here.
7662 * common/config/avr/avr-common.c: Moved to...
7663 * common/config/avr/avr-common.cc: ...here.
7664 * common/config/bfin/bfin-common.c: Moved to...
7665 * common/config/bfin/bfin-common.cc: ...here.
7666 * common/config/bpf/bpf-common.c: Moved to...
7667 * common/config/bpf/bpf-common.cc: ...here.
7668 * common/config/c6x/c6x-common.c: Moved to...
7669 * common/config/c6x/c6x-common.cc: ...here.
7670 * common/config/cr16/cr16-common.c: Moved to...
7671 * common/config/cr16/cr16-common.cc: ...here.
7672 * common/config/cris/cris-common.c: Moved to...
7673 * common/config/cris/cris-common.cc: ...here.
7674 * common/config/csky/csky-common.c: Moved to...
7675 * common/config/csky/csky-common.cc: ...here.
7676 * common/config/default-common.c: Moved to...
7677 * common/config/default-common.cc: ...here.
7678 * common/config/epiphany/epiphany-common.c: Moved to...
7679 * common/config/epiphany/epiphany-common.cc: ...here.
7680 * common/config/fr30/fr30-common.c: Moved to...
7681 * common/config/fr30/fr30-common.cc: ...here.
7682 * common/config/frv/frv-common.c: Moved to...
7683 * common/config/frv/frv-common.cc: ...here.
7684 * common/config/gcn/gcn-common.c: Moved to...
7685 * common/config/gcn/gcn-common.cc: ...here.
7686 * common/config/h8300/h8300-common.c: Moved to...
7687 * common/config/h8300/h8300-common.cc: ...here.
7688 * common/config/i386/i386-common.c: Moved to...
7689 * common/config/i386/i386-common.cc: ...here.
7690 * common/config/ia64/ia64-common.c: Moved to...
7691 * common/config/ia64/ia64-common.cc: ...here.
7692 * common/config/iq2000/iq2000-common.c: Moved to...
7693 * common/config/iq2000/iq2000-common.cc: ...here.
7694 * common/config/lm32/lm32-common.c: Moved to...
7695 * common/config/lm32/lm32-common.cc: ...here.
7696 * common/config/m32r/m32r-common.c: Moved to...
7697 * common/config/m32r/m32r-common.cc: ...here.
7698 * common/config/m68k/m68k-common.c: Moved to...
7699 * common/config/m68k/m68k-common.cc: ...here.
7700 * common/config/mcore/mcore-common.c: Moved to...
7701 * common/config/mcore/mcore-common.cc: ...here.
7702 * common/config/microblaze/microblaze-common.c: Moved to...
7703 * common/config/microblaze/microblaze-common.cc: ...here.
7704 * common/config/mips/mips-common.c: Moved to...
7705 * common/config/mips/mips-common.cc: ...here.
7706 * common/config/mmix/mmix-common.c: Moved to...
7707 * common/config/mmix/mmix-common.cc: ...here.
7708 * common/config/mn10300/mn10300-common.c: Moved to...
7709 * common/config/mn10300/mn10300-common.cc: ...here.
7710 * common/config/msp430/msp430-common.c: Moved to...
7711 * common/config/msp430/msp430-common.cc: ...here.
7712 * common/config/nds32/nds32-common.c: Moved to...
7713 * common/config/nds32/nds32-common.cc: ...here.
7714 * common/config/nios2/nios2-common.c: Moved to...
7715 * common/config/nios2/nios2-common.cc: ...here.
7716 * common/config/nvptx/nvptx-common.c: Moved to...
7717 * common/config/nvptx/nvptx-common.cc: ...here.
7718 * common/config/or1k/or1k-common.c: Moved to...
7719 * common/config/or1k/or1k-common.cc: ...here.
7720 * common/config/pa/pa-common.c: Moved to...
7721 * common/config/pa/pa-common.cc: ...here.
7722 * common/config/pdp11/pdp11-common.c: Moved to...
7723 * common/config/pdp11/pdp11-common.cc: ...here.
7724 * common/config/pru/pru-common.c: Moved to...
7725 * common/config/pru/pru-common.cc: ...here.
7726 * common/config/riscv/riscv-common.c: Moved to...
7727 * common/config/riscv/riscv-common.cc: ...here.
7728 * common/config/rs6000/rs6000-common.c: Moved to...
7729 * common/config/rs6000/rs6000-common.cc: ...here.
7730 * common/config/rx/rx-common.c: Moved to...
7731 * common/config/rx/rx-common.cc: ...here.
7732 * common/config/s390/s390-common.c: Moved to...
7733 * common/config/s390/s390-common.cc: ...here.
7734 * common/config/sh/sh-common.c: Moved to...
7735 * common/config/sh/sh-common.cc: ...here.
7736 * common/config/sparc/sparc-common.c: Moved to...
7737 * common/config/sparc/sparc-common.cc: ...here.
7738 * common/config/tilegx/tilegx-common.c: Moved to...
7739 * common/config/tilegx/tilegx-common.cc: ...here.
7740 * common/config/tilepro/tilepro-common.c: Moved to...
7741 * common/config/tilepro/tilepro-common.cc: ...here.
7742 * common/config/v850/v850-common.c: Moved to...
7743 * common/config/v850/v850-common.cc: ...here.
7744 * common/config/vax/vax-common.c: Moved to...
7745 * common/config/vax/vax-common.cc: ...here.
7746 * common/config/visium/visium-common.c: Moved to...
7747 * common/config/visium/visium-common.cc: ...here.
7748 * common/config/xstormy16/xstormy16-common.c: Moved to...
7749 * common/config/xstormy16/xstormy16-common.cc: ...here.
7750 * common/config/xtensa/xtensa-common.c: Moved to...
7751 * common/config/xtensa/xtensa-common.cc: ...here.
7752 * compare-elim.c: Moved to...
7753 * compare-elim.cc: ...here.
7754 * config/aarch64/aarch64-bti-insert.c: Moved to...
7755 * config/aarch64/aarch64-bti-insert.cc: ...here.
7756 * config/aarch64/aarch64-builtins.c: Moved to...
7757 * config/aarch64/aarch64-builtins.cc: ...here.
7758 * config/aarch64/aarch64-c.c: Moved to...
7759 * config/aarch64/aarch64-c.cc: ...here.
7760 * config/aarch64/aarch64-d.c: Moved to...
7761 * config/aarch64/aarch64-d.cc: ...here.
7762 * config/aarch64/aarch64.c: Moved to...
7763 * config/aarch64/aarch64.cc: ...here.
7764 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
7765 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
7766 * config/aarch64/driver-aarch64.c: Moved to...
7767 * config/aarch64/driver-aarch64.cc: ...here.
7768 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
7769 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
7770 * config/aarch64/host-aarch64-darwin.c: Moved to...
7771 * config/aarch64/host-aarch64-darwin.cc: ...here.
7772 * config/alpha/alpha.c: Moved to...
7773 * config/alpha/alpha.cc: ...here.
7774 * config/alpha/driver-alpha.c: Moved to...
7775 * config/alpha/driver-alpha.cc: ...here.
7776 * config/arc/arc-c.c: Moved to...
7777 * config/arc/arc-c.cc: ...here.
7778 * config/arc/arc.c: Moved to...
7779 * config/arc/arc.cc: ...here.
7780 * config/arc/driver-arc.c: Moved to...
7781 * config/arc/driver-arc.cc: ...here.
7782 * config/arm/aarch-common.c: Moved to...
7783 * config/arm/aarch-common.cc: ...here.
7784 * config/arm/arm-builtins.c: Moved to...
7785 * config/arm/arm-builtins.cc: ...here.
7786 * config/arm/arm-c.c: Moved to...
7787 * config/arm/arm-c.cc: ...here.
7788 * config/arm/arm-d.c: Moved to...
7789 * config/arm/arm-d.cc: ...here.
7790 * config/arm/arm.c: Moved to...
7791 * config/arm/arm.cc: ...here.
7792 * config/arm/driver-arm.c: Moved to...
7793 * config/arm/driver-arm.cc: ...here.
7794 * config/avr/avr-c.c: Moved to...
7795 * config/avr/avr-c.cc: ...here.
7796 * config/avr/avr-devices.c: Moved to...
7797 * config/avr/avr-devices.cc: ...here.
7798 * config/avr/avr-log.c: Moved to...
7799 * config/avr/avr-log.cc: ...here.
7800 * config/avr/avr.c: Moved to...
7801 * config/avr/avr.cc: ...here.
7802 * config/avr/driver-avr.c: Moved to...
7803 * config/avr/driver-avr.cc: ...here.
7804 * config/avr/gen-avr-mmcu-specs.c: Moved to...
7805 * config/avr/gen-avr-mmcu-specs.cc: ...here.
7806 * config/avr/gen-avr-mmcu-texi.c: Moved to...
7807 * config/avr/gen-avr-mmcu-texi.cc: ...here.
7808 * config/bfin/bfin.c: Moved to...
7809 * config/bfin/bfin.cc: ...here.
7810 * config/bpf/bpf.c: Moved to...
7811 * config/bpf/bpf.cc: ...here.
7812 * config/bpf/coreout.c: Moved to...
7813 * config/bpf/coreout.cc: ...here.
7814 * config/c6x/c6x.c: Moved to...
7815 * config/c6x/c6x.cc: ...here.
7816 * config/cr16/cr16.c: Moved to...
7817 * config/cr16/cr16.cc: ...here.
7818 * config/cris/cris.c: Moved to...
7819 * config/cris/cris.cc: ...here.
7820 * config/csky/csky.c: Moved to...
7821 * config/csky/csky.cc: ...here.
7822 * config/darwin-c.c: Moved to...
7823 * config/darwin-c.cc: ...here.
7824 * config/darwin-d.c: Moved to...
7825 * config/darwin-d.cc: ...here.
7826 * config/darwin-driver.c: Moved to...
7827 * config/darwin-driver.cc: ...here.
7828 * config/darwin-f.c: Moved to...
7829 * config/darwin-f.cc: ...here.
7830 * config/darwin.c: Moved to...
7831 * config/darwin.cc: ...here.
7832 * config/default-c.c: Moved to...
7833 * config/default-c.cc: ...here.
7834 * config/default-d.c: Moved to...
7835 * config/default-d.cc: ...here.
7836 * config/dragonfly-d.c: Moved to...
7837 * config/dragonfly-d.cc: ...here.
7838 * config/epiphany/epiphany.c: Moved to...
7839 * config/epiphany/epiphany.cc: ...here.
7840 * config/epiphany/mode-switch-use.c: Moved to...
7841 * config/epiphany/mode-switch-use.cc: ...here.
7842 * config/epiphany/resolve-sw-modes.c: Moved to...
7843 * config/epiphany/resolve-sw-modes.cc: ...here.
7844 * config/fr30/fr30.c: Moved to...
7845 * config/fr30/fr30.cc: ...here.
7846 * config/freebsd-d.c: Moved to...
7847 * config/freebsd-d.cc: ...here.
7848 * config/frv/frv.c: Moved to...
7849 * config/frv/frv.cc: ...here.
7850 * config/ft32/ft32.c: Moved to...
7851 * config/ft32/ft32.cc: ...here.
7852 * config/gcn/driver-gcn.c: Moved to...
7853 * config/gcn/driver-gcn.cc: ...here.
7854 * config/gcn/gcn-run.c: Moved to...
7855 * config/gcn/gcn-run.cc: ...here.
7856 * config/gcn/gcn-tree.c: Moved to...
7857 * config/gcn/gcn-tree.cc: ...here.
7858 * config/gcn/gcn.c: Moved to...
7859 * config/gcn/gcn.cc: ...here.
7860 * config/gcn/mkoffload.c: Moved to...
7861 * config/gcn/mkoffload.cc: ...here.
7862 * config/glibc-c.c: Moved to...
7863 * config/glibc-c.cc: ...here.
7864 * config/glibc-d.c: Moved to...
7865 * config/glibc-d.cc: ...here.
7866 * config/h8300/h8300.c: Moved to...
7867 * config/h8300/h8300.cc: ...here.
7868 * config/host-darwin.c: Moved to...
7869 * config/host-darwin.cc: ...here.
7870 * config/host-hpux.c: Moved to...
7871 * config/host-hpux.cc: ...here.
7872 * config/host-linux.c: Moved to...
7873 * config/host-linux.cc: ...here.
7874 * config/host-netbsd.c: Moved to...
7875 * config/host-netbsd.cc: ...here.
7876 * config/host-openbsd.c: Moved to...
7877 * config/host-openbsd.cc: ...here.
7878 * config/host-solaris.c: Moved to...
7879 * config/host-solaris.cc: ...here.
7880 * config/i386/djgpp.c: Moved to...
7881 * config/i386/djgpp.cc: ...here.
7882 * config/i386/driver-i386.c: Moved to...
7883 * config/i386/driver-i386.cc: ...here.
7884 * config/i386/driver-mingw32.c: Moved to...
7885 * config/i386/driver-mingw32.cc: ...here.
7886 * config/i386/gnu-property.c: Moved to...
7887 * config/i386/gnu-property.cc: ...here.
7888 * config/i386/host-cygwin.c: Moved to...
7889 * config/i386/host-cygwin.cc: ...here.
7890 * config/i386/host-i386-darwin.c: Moved to...
7891 * config/i386/host-i386-darwin.cc: ...here.
7892 * config/i386/host-mingw32.c: Moved to...
7893 * config/i386/host-mingw32.cc: ...here.
7894 * config/i386/i386-builtins.c: Moved to...
7895 * config/i386/i386-builtins.cc: ...here.
7896 * config/i386/i386-c.c: Moved to...
7897 * config/i386/i386-c.cc: ...here.
7898 * config/i386/i386-d.c: Moved to...
7899 * config/i386/i386-d.cc: ...here.
7900 * config/i386/i386-expand.c: Moved to...
7901 * config/i386/i386-expand.cc: ...here.
7902 * config/i386/i386-features.c: Moved to...
7903 * config/i386/i386-features.cc: ...here.
7904 * config/i386/i386-options.c: Moved to...
7905 * config/i386/i386-options.cc: ...here.
7906 * config/i386/i386.c: Moved to...
7907 * config/i386/i386.cc: ...here.
7908 * config/i386/intelmic-mkoffload.c: Moved to...
7909 * config/i386/intelmic-mkoffload.cc: ...here.
7910 * config/i386/msformat-c.c: Moved to...
7911 * config/i386/msformat-c.cc: ...here.
7912 * config/i386/winnt-cxx.c: Moved to...
7913 * config/i386/winnt-cxx.cc: ...here.
7914 * config/i386/winnt-d.c: Moved to...
7915 * config/i386/winnt-d.cc: ...here.
7916 * config/i386/winnt-stubs.c: Moved to...
7917 * config/i386/winnt-stubs.cc: ...here.
7918 * config/i386/winnt.c: Moved to...
7919 * config/i386/winnt.cc: ...here.
7920 * config/i386/x86-tune-sched-atom.c: Moved to...
7921 * config/i386/x86-tune-sched-atom.cc: ...here.
7922 * config/i386/x86-tune-sched-bd.c: Moved to...
7923 * config/i386/x86-tune-sched-bd.cc: ...here.
7924 * config/i386/x86-tune-sched-core.c: Moved to...
7925 * config/i386/x86-tune-sched-core.cc: ...here.
7926 * config/i386/x86-tune-sched.c: Moved to...
7927 * config/i386/x86-tune-sched.cc: ...here.
7928 * config/ia64/ia64-c.c: Moved to...
7929 * config/ia64/ia64-c.cc: ...here.
7930 * config/ia64/ia64.c: Moved to...
7931 * config/ia64/ia64.cc: ...here.
7932 * config/iq2000/iq2000.c: Moved to...
7933 * config/iq2000/iq2000.cc: ...here.
7934 * config/linux.c: Moved to...
7935 * config/linux.cc: ...here.
7936 * config/lm32/lm32.c: Moved to...
7937 * config/lm32/lm32.cc: ...here.
7938 * config/m32c/m32c-pragma.c: Moved to...
7939 * config/m32c/m32c-pragma.cc: ...here.
7940 * config/m32c/m32c.c: Moved to...
7941 * config/m32c/m32c.cc: ...here.
7942 * config/m32r/m32r.c: Moved to...
7943 * config/m32r/m32r.cc: ...here.
7944 * config/m68k/m68k.c: Moved to...
7945 * config/m68k/m68k.cc: ...here.
7946 * config/mcore/mcore.c: Moved to...
7947 * config/mcore/mcore.cc: ...here.
7948 * config/microblaze/microblaze-c.c: Moved to...
7949 * config/microblaze/microblaze-c.cc: ...here.
7950 * config/microblaze/microblaze.c: Moved to...
7951 * config/microblaze/microblaze.cc: ...here.
7952 * config/mips/driver-native.c: Moved to...
7953 * config/mips/driver-native.cc: ...here.
7954 * config/mips/frame-header-opt.c: Moved to...
7955 * config/mips/frame-header-opt.cc: ...here.
7956 * config/mips/mips-d.c: Moved to...
7957 * config/mips/mips-d.cc: ...here.
7958 * config/mips/mips.c: Moved to...
7959 * config/mips/mips.cc: ...here.
7960 * config/mmix/mmix.c: Moved to...
7961 * config/mmix/mmix.cc: ...here.
7962 * config/mn10300/mn10300.c: Moved to...
7963 * config/mn10300/mn10300.cc: ...here.
7964 * config/moxie/moxie.c: Moved to...
7965 * config/moxie/moxie.cc: ...here.
7966 * config/msp430/driver-msp430.c: Moved to...
7967 * config/msp430/driver-msp430.cc: ...here.
7968 * config/msp430/msp430-c.c: Moved to...
7969 * config/msp430/msp430-c.cc: ...here.
7970 * config/msp430/msp430-devices.c: Moved to...
7971 * config/msp430/msp430-devices.cc: ...here.
7972 * config/msp430/msp430.c: Moved to...
7973 * config/msp430/msp430.cc: ...here.
7974 * config/nds32/nds32-cost.c: Moved to...
7975 * config/nds32/nds32-cost.cc: ...here.
7976 * config/nds32/nds32-fp-as-gp.c: Moved to...
7977 * config/nds32/nds32-fp-as-gp.cc: ...here.
7978 * config/nds32/nds32-intrinsic.c: Moved to...
7979 * config/nds32/nds32-intrinsic.cc: ...here.
7980 * config/nds32/nds32-isr.c: Moved to...
7981 * config/nds32/nds32-isr.cc: ...here.
7982 * config/nds32/nds32-md-auxiliary.c: Moved to...
7983 * config/nds32/nds32-md-auxiliary.cc: ...here.
7984 * config/nds32/nds32-memory-manipulation.c: Moved to...
7985 * config/nds32/nds32-memory-manipulation.cc: ...here.
7986 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
7987 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
7988 * config/nds32/nds32-predicates.c: Moved to...
7989 * config/nds32/nds32-predicates.cc: ...here.
7990 * config/nds32/nds32-relax-opt.c: Moved to...
7991 * config/nds32/nds32-relax-opt.cc: ...here.
7992 * config/nds32/nds32-utils.c: Moved to...
7993 * config/nds32/nds32-utils.cc: ...here.
7994 * config/nds32/nds32.c: Moved to...
7995 * config/nds32/nds32.cc: ...here.
7996 * config/netbsd-d.c: Moved to...
7997 * config/netbsd-d.cc: ...here.
7998 * config/netbsd.c: Moved to...
7999 * config/netbsd.cc: ...here.
8000 * config/nios2/nios2.c: Moved to...
8001 * config/nios2/nios2.cc: ...here.
8002 * config/nvptx/mkoffload.c: Moved to...
8003 * config/nvptx/mkoffload.cc: ...here.
8004 * config/nvptx/nvptx-c.c: Moved to...
8005 * config/nvptx/nvptx-c.cc: ...here.
8006 * config/nvptx/nvptx.c: Moved to...
8007 * config/nvptx/nvptx.cc: ...here.
8008 * config/openbsd-d.c: Moved to...
8009 * config/openbsd-d.cc: ...here.
8010 * config/or1k/or1k.c: Moved to...
8011 * config/or1k/or1k.cc: ...here.
8012 * config/pa/pa-d.c: Moved to...
8013 * config/pa/pa-d.cc: ...here.
8014 * config/pa/pa.c: Moved to...
8015 * config/pa/pa.cc: ...here.
8016 * config/pdp11/pdp11.c: Moved to...
8017 * config/pdp11/pdp11.cc: ...here.
8018 * config/pru/pru-passes.c: Moved to...
8019 * config/pru/pru-passes.cc: ...here.
8020 * config/pru/pru-pragma.c: Moved to...
8021 * config/pru/pru-pragma.cc: ...here.
8022 * config/pru/pru.c: Moved to...
8023 * config/pru/pru.cc: ...here.
8024 * config/riscv/riscv-builtins.c: Moved to...
8025 * config/riscv/riscv-builtins.cc: ...here.
8026 * config/riscv/riscv-c.c: Moved to...
8027 * config/riscv/riscv-c.cc: ...here.
8028 * config/riscv/riscv-d.c: Moved to...
8029 * config/riscv/riscv-d.cc: ...here.
8030 * config/riscv/riscv-shorten-memrefs.c: Moved to...
8031 * config/riscv/riscv-shorten-memrefs.cc: ...here.
8032 * config/riscv/riscv-sr.c: Moved to...
8033 * config/riscv/riscv-sr.cc: ...here.
8034 * config/riscv/riscv.c: Moved to...
8035 * config/riscv/riscv.cc: ...here.
8036 * config/rl78/rl78-c.c: Moved to...
8037 * config/rl78/rl78-c.cc: ...here.
8038 * config/rl78/rl78.c: Moved to...
8039 * config/rl78/rl78.cc: ...here.
8040 * config/rs6000/driver-rs6000.c: Moved to...
8041 * config/rs6000/driver-rs6000.cc: ...here.
8042 * config/rs6000/host-darwin.c: Moved to...
8043 * config/rs6000/host-darwin.cc: ...here.
8044 * config/rs6000/host-ppc64-darwin.c: Moved to...
8045 * config/rs6000/host-ppc64-darwin.cc: ...here.
8046 * config/rs6000/rbtree.c: Moved to...
8047 * config/rs6000/rbtree.cc: ...here.
8048 * config/rs6000/rs6000-c.c: Moved to...
8049 * config/rs6000/rs6000-c.cc: ...here.
8050 * config/rs6000/rs6000-call.c: Moved to...
8051 * config/rs6000/rs6000-call.cc: ...here.
8052 * config/rs6000/rs6000-d.c: Moved to...
8053 * config/rs6000/rs6000-d.cc: ...here.
8054 * config/rs6000/rs6000-gen-builtins.c: Moved to...
8055 * config/rs6000/rs6000-gen-builtins.cc: ...here.
8056 * config/rs6000/rs6000-linux.c: Moved to...
8057 * config/rs6000/rs6000-linux.cc: ...here.
8058 * config/rs6000/rs6000-logue.c: Moved to...
8059 * config/rs6000/rs6000-logue.cc: ...here.
8060 * config/rs6000/rs6000-p8swap.c: Moved to...
8061 * config/rs6000/rs6000-p8swap.cc: ...here.
8062 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
8063 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
8064 * config/rs6000/rs6000-string.c: Moved to...
8065 * config/rs6000/rs6000-string.cc: ...here.
8066 * config/rs6000/rs6000.c: Moved to...
8067 * config/rs6000/rs6000.cc: ...here.
8068 * config/rx/rx.c: Moved to...
8069 * config/rx/rx.cc: ...here.
8070 * config/s390/driver-native.c: Moved to...
8071 * config/s390/driver-native.cc: ...here.
8072 * config/s390/s390-c.c: Moved to...
8073 * config/s390/s390-c.cc: ...here.
8074 * config/s390/s390-d.c: Moved to...
8075 * config/s390/s390-d.cc: ...here.
8076 * config/s390/s390.c: Moved to...
8077 * config/s390/s390.cc: ...here.
8078 * config/sh/divtab-sh4-300.c: Moved to...
8079 * config/sh/divtab-sh4-300.cc: ...here.
8080 * config/sh/divtab-sh4.c: Moved to...
8081 * config/sh/divtab-sh4.cc: ...here.
8082 * config/sh/divtab.c: Moved to...
8083 * config/sh/divtab.cc: ...here.
8084 * config/sh/sh-c.c: Moved to...
8085 * config/sh/sh-c.cc: ...here.
8086 * config/sh/sh.c: Moved to...
8087 * config/sh/sh.cc: ...here.
8088 * config/sol2-c.c: Moved to...
8089 * config/sol2-c.cc: ...here.
8090 * config/sol2-cxx.c: Moved to...
8091 * config/sol2-cxx.cc: ...here.
8092 * config/sol2-d.c: Moved to...
8093 * config/sol2-d.cc: ...here.
8094 * config/sol2-stubs.c: Moved to...
8095 * config/sol2-stubs.cc: ...here.
8096 * config/sol2.c: Moved to...
8097 * config/sol2.cc: ...here.
8098 * config/sparc/driver-sparc.c: Moved to...
8099 * config/sparc/driver-sparc.cc: ...here.
8100 * config/sparc/sparc-c.c: Moved to...
8101 * config/sparc/sparc-c.cc: ...here.
8102 * config/sparc/sparc-d.c: Moved to...
8103 * config/sparc/sparc-d.cc: ...here.
8104 * config/sparc/sparc.c: Moved to...
8105 * config/sparc/sparc.cc: ...here.
8106 * config/stormy16/stormy16.c: Moved to...
8107 * config/stormy16/stormy16.cc: ...here.
8108 * config/tilegx/mul-tables.c: Moved to...
8109 * config/tilegx/mul-tables.cc: ...here.
8110 * config/tilegx/tilegx-c.c: Moved to...
8111 * config/tilegx/tilegx-c.cc: ...here.
8112 * config/tilegx/tilegx.c: Moved to...
8113 * config/tilegx/tilegx.cc: ...here.
8114 * config/tilepro/mul-tables.c: Moved to...
8115 * config/tilepro/mul-tables.cc: ...here.
8116 * config/tilepro/tilepro-c.c: Moved to...
8117 * config/tilepro/tilepro-c.cc: ...here.
8118 * config/tilepro/tilepro.c: Moved to...
8119 * config/tilepro/tilepro.cc: ...here.
8120 * config/v850/v850-c.c: Moved to...
8121 * config/v850/v850-c.cc: ...here.
8122 * config/v850/v850.c: Moved to...
8123 * config/v850/v850.cc: ...here.
8124 * config/vax/vax.c: Moved to...
8125 * config/vax/vax.cc: ...here.
8126 * config/visium/visium.c: Moved to...
8127 * config/visium/visium.cc: ...here.
8128 * config/vms/vms-c.c: Moved to...
8129 * config/vms/vms-c.cc: ...here.
8130 * config/vms/vms-f.c: Moved to...
8131 * config/vms/vms-f.cc: ...here.
8132 * config/vms/vms.c: Moved to...
8133 * config/vms/vms.cc: ...here.
8134 * config/vxworks-c.c: Moved to...
8135 * config/vxworks-c.cc: ...here.
8136 * config/vxworks.c: Moved to...
8137 * config/vxworks.cc: ...here.
8138 * config/winnt-c.c: Moved to...
8139 * config/winnt-c.cc: ...here.
8140 * config/xtensa/xtensa.c: Moved to...
8141 * config/xtensa/xtensa.cc: ...here.
8142 * context.c: Moved to...
8143 * context.cc: ...here.
8144 * convert.c: Moved to...
8145 * convert.cc: ...here.
8146 * coverage.c: Moved to...
8147 * coverage.cc: ...here.
8148 * cppbuiltin.c: Moved to...
8149 * cppbuiltin.cc: ...here.
8150 * cppdefault.c: Moved to...
8151 * cppdefault.cc: ...here.
8152 * cprop.c: Moved to...
8153 * cprop.cc: ...here.
8154 * cse.c: Moved to...
8156 * cselib.c: Moved to...
8157 * cselib.cc: ...here.
8158 * ctfc.c: Moved to...
8160 * ctfout.c: Moved to...
8161 * ctfout.cc: ...here.
8162 * data-streamer-in.c: Moved to...
8163 * data-streamer-in.cc: ...here.
8164 * data-streamer-out.c: Moved to...
8165 * data-streamer-out.cc: ...here.
8166 * data-streamer.c: Moved to...
8167 * data-streamer.cc: ...here.
8168 * dbgcnt.c: Moved to...
8169 * dbgcnt.cc: ...here.
8170 * dbxout.c: Moved to...
8171 * dbxout.cc: ...here.
8172 * dce.c: Moved to...
8174 * ddg.c: Moved to...
8176 * debug.c: Moved to...
8177 * debug.cc: ...here.
8178 * df-core.c: Moved to...
8179 * df-core.cc: ...here.
8180 * df-problems.c: Moved to...
8181 * df-problems.cc: ...here.
8182 * df-scan.c: Moved to...
8183 * df-scan.cc: ...here.
8184 * dfp.c: Moved to...
8186 * diagnostic-color.c: Moved to...
8187 * diagnostic-color.cc: ...here.
8188 * diagnostic-show-locus.c: Moved to...
8189 * diagnostic-show-locus.cc: ...here.
8190 * diagnostic-spec.c: Moved to...
8191 * diagnostic-spec.cc: ...here.
8192 * diagnostic.c: Moved to...
8193 * diagnostic.cc: ...here.
8194 * dojump.c: Moved to...
8195 * dojump.cc: ...here.
8196 * dominance.c: Moved to...
8197 * dominance.cc: ...here.
8198 * domwalk.c: Moved to...
8199 * domwalk.cc: ...here.
8200 * double-int.c: Moved to...
8201 * double-int.cc: ...here.
8202 * dse.c: Moved to...
8204 * dumpfile.c: Moved to...
8205 * dumpfile.cc: ...here.
8206 * dwarf2asm.c: Moved to...
8207 * dwarf2asm.cc: ...here.
8208 * dwarf2cfi.c: Moved to...
8209 * dwarf2cfi.cc: ...here.
8210 * dwarf2ctf.c: Moved to...
8211 * dwarf2ctf.cc: ...here.
8212 * dwarf2out.c: Moved to...
8213 * dwarf2out.cc: ...here.
8214 * early-remat.c: Moved to...
8215 * early-remat.cc: ...here.
8216 * edit-context.c: Moved to...
8217 * edit-context.cc: ...here.
8218 * emit-rtl.c: Moved to...
8219 * emit-rtl.cc: ...here.
8220 * errors.c: Moved to...
8221 * errors.cc: ...here.
8222 * et-forest.c: Moved to...
8223 * et-forest.cc: ...here.
8224 * except.c: Moved to...
8225 * except.cc: ...here.
8226 * explow.c: Moved to...
8227 * explow.cc: ...here.
8228 * expmed.c: Moved to...
8229 * expmed.cc: ...here.
8230 * expr.c: Moved to...
8232 * fibonacci_heap.c: Moved to...
8233 * fibonacci_heap.cc: ...here.
8234 * file-find.c: Moved to...
8235 * file-find.cc: ...here.
8236 * file-prefix-map.c: Moved to...
8237 * file-prefix-map.cc: ...here.
8238 * final.c: Moved to...
8239 * final.cc: ...here.
8240 * fixed-value.c: Moved to...
8241 * fixed-value.cc: ...here.
8242 * fold-const-call.c: Moved to...
8243 * fold-const-call.cc: ...here.
8244 * fold-const.c: Moved to...
8245 * fold-const.cc: ...here.
8246 * fp-test.c: Moved to...
8247 * fp-test.cc: ...here.
8248 * function-tests.c: Moved to...
8249 * function-tests.cc: ...here.
8250 * function.c: Moved to...
8251 * function.cc: ...here.
8252 * fwprop.c: Moved to...
8253 * fwprop.cc: ...here.
8254 * gcc-ar.c: Moved to...
8255 * gcc-ar.cc: ...here.
8256 * gcc-main.c: Moved to...
8257 * gcc-main.cc: ...here.
8258 * gcc-rich-location.c: Moved to...
8259 * gcc-rich-location.cc: ...here.
8260 * gcc.c: Moved to...
8262 * gcov-dump.c: Moved to...
8263 * gcov-dump.cc: ...here.
8264 * gcov-io.c: Moved to...
8265 * gcov-io.cc: ...here.
8266 * gcov-tool.c: Moved to...
8267 * gcov-tool.cc: ...here.
8268 * gcov.c: Moved to...
8270 * gcse-common.c: Moved to...
8271 * gcse-common.cc: ...here.
8272 * gcse.c: Moved to...
8274 * genattr-common.c: Moved to...
8275 * genattr-common.cc: ...here.
8276 * genattr.c: Moved to...
8277 * genattr.cc: ...here.
8278 * genattrtab.c: Moved to...
8279 * genattrtab.cc: ...here.
8280 * genautomata.c: Moved to...
8281 * genautomata.cc: ...here.
8282 * gencfn-macros.c: Moved to...
8283 * gencfn-macros.cc: ...here.
8284 * gencheck.c: Moved to...
8285 * gencheck.cc: ...here.
8286 * genchecksum.c: Moved to...
8287 * genchecksum.cc: ...here.
8288 * gencodes.c: Moved to...
8289 * gencodes.cc: ...here.
8290 * genconditions.c: Moved to...
8291 * genconditions.cc: ...here.
8292 * genconfig.c: Moved to...
8293 * genconfig.cc: ...here.
8294 * genconstants.c: Moved to...
8295 * genconstants.cc: ...here.
8296 * genemit.c: Moved to...
8297 * genemit.cc: ...here.
8298 * genenums.c: Moved to...
8299 * genenums.cc: ...here.
8300 * generic-match-head.c: Moved to...
8301 * generic-match-head.cc: ...here.
8302 * genextract.c: Moved to...
8303 * genextract.cc: ...here.
8304 * genflags.c: Moved to...
8305 * genflags.cc: ...here.
8306 * gengenrtl.c: Moved to...
8307 * gengenrtl.cc: ...here.
8308 * gengtype-parse.c: Moved to...
8309 * gengtype-parse.cc: ...here.
8310 * gengtype-state.c: Moved to...
8311 * gengtype-state.cc: ...here.
8312 * gengtype.c: Moved to...
8313 * gengtype.cc: ...here.
8314 * genhooks.c: Moved to...
8315 * genhooks.cc: ...here.
8316 * genmatch.c: Moved to...
8317 * genmatch.cc: ...here.
8318 * genmddeps.c: Moved to...
8319 * genmddeps.cc: ...here.
8320 * genmddump.c: Moved to...
8321 * genmddump.cc: ...here.
8322 * genmodes.c: Moved to...
8323 * genmodes.cc: ...here.
8324 * genopinit.c: Moved to...
8325 * genopinit.cc: ...here.
8326 * genoutput.c: Moved to...
8327 * genoutput.cc: ...here.
8328 * genpeep.c: Moved to...
8329 * genpeep.cc: ...here.
8330 * genpreds.c: Moved to...
8331 * genpreds.cc: ...here.
8332 * genrecog.c: Moved to...
8333 * genrecog.cc: ...here.
8334 * gensupport.c: Moved to...
8335 * gensupport.cc: ...here.
8336 * gentarget-def.c: Moved to...
8337 * gentarget-def.cc: ...here.
8338 * genversion.c: Moved to...
8339 * genversion.cc: ...here.
8340 * ggc-common.c: Moved to...
8341 * ggc-common.cc: ...here.
8342 * ggc-none.c: Moved to...
8343 * ggc-none.cc: ...here.
8344 * ggc-page.c: Moved to...
8345 * ggc-page.cc: ...here.
8346 * ggc-tests.c: Moved to...
8347 * ggc-tests.cc: ...here.
8348 * gimple-builder.c: Moved to...
8349 * gimple-builder.cc: ...here.
8350 * gimple-expr.c: Moved to...
8351 * gimple-expr.cc: ...here.
8352 * gimple-fold.c: Moved to...
8353 * gimple-fold.cc: ...here.
8354 * gimple-iterator.c: Moved to...
8355 * gimple-iterator.cc: ...here.
8356 * gimple-laddress.c: Moved to...
8357 * gimple-laddress.cc: ...here.
8358 * gimple-loop-jam.c: Moved to...
8359 * gimple-loop-jam.cc: ...here.
8360 * gimple-low.c: Moved to...
8361 * gimple-low.cc: ...here.
8362 * gimple-match-head.c: Moved to...
8363 * gimple-match-head.cc: ...here.
8364 * gimple-pretty-print.c: Moved to...
8365 * gimple-pretty-print.cc: ...here.
8366 * gimple-ssa-backprop.c: Moved to...
8367 * gimple-ssa-backprop.cc: ...here.
8368 * gimple-ssa-evrp-analyze.c: Moved to...
8369 * gimple-ssa-evrp-analyze.cc: ...here.
8370 * gimple-ssa-evrp.c: Moved to...
8371 * gimple-ssa-evrp.cc: ...here.
8372 * gimple-ssa-isolate-paths.c: Moved to...
8373 * gimple-ssa-isolate-paths.cc: ...here.
8374 * gimple-ssa-nonnull-compare.c: Moved to...
8375 * gimple-ssa-nonnull-compare.cc: ...here.
8376 * gimple-ssa-split-paths.c: Moved to...
8377 * gimple-ssa-split-paths.cc: ...here.
8378 * gimple-ssa-sprintf.c: Moved to...
8379 * gimple-ssa-sprintf.cc: ...here.
8380 * gimple-ssa-store-merging.c: Moved to...
8381 * gimple-ssa-store-merging.cc: ...here.
8382 * gimple-ssa-strength-reduction.c: Moved to...
8383 * gimple-ssa-strength-reduction.cc: ...here.
8384 * gimple-ssa-warn-alloca.c: Moved to...
8385 * gimple-ssa-warn-alloca.cc: ...here.
8386 * gimple-ssa-warn-restrict.c: Moved to...
8387 * gimple-ssa-warn-restrict.cc: ...here.
8388 * gimple-streamer-in.c: Moved to...
8389 * gimple-streamer-in.cc: ...here.
8390 * gimple-streamer-out.c: Moved to...
8391 * gimple-streamer-out.cc: ...here.
8392 * gimple-walk.c: Moved to...
8393 * gimple-walk.cc: ...here.
8394 * gimple-warn-recursion.c: Moved to...
8395 * gimple-warn-recursion.cc: ...here.
8396 * gimple.c: Moved to...
8397 * gimple.cc: ...here.
8398 * gimplify-me.c: Moved to...
8399 * gimplify-me.cc: ...here.
8400 * gimplify.c: Moved to...
8401 * gimplify.cc: ...here.
8402 * godump.c: Moved to...
8403 * godump.cc: ...here.
8404 * graph.c: Moved to...
8405 * graph.cc: ...here.
8406 * graphds.c: Moved to...
8407 * graphds.cc: ...here.
8408 * graphite-dependences.c: Moved to...
8409 * graphite-dependences.cc: ...here.
8410 * graphite-isl-ast-to-gimple.c: Moved to...
8411 * graphite-isl-ast-to-gimple.cc: ...here.
8412 * graphite-optimize-isl.c: Moved to...
8413 * graphite-optimize-isl.cc: ...here.
8414 * graphite-poly.c: Moved to...
8415 * graphite-poly.cc: ...here.
8416 * graphite-scop-detection.c: Moved to...
8417 * graphite-scop-detection.cc: ...here.
8418 * graphite-sese-to-poly.c: Moved to...
8419 * graphite-sese-to-poly.cc: ...here.
8420 * graphite.c: Moved to...
8421 * graphite.cc: ...here.
8422 * haifa-sched.c: Moved to...
8423 * haifa-sched.cc: ...here.
8424 * hash-map-tests.c: Moved to...
8425 * hash-map-tests.cc: ...here.
8426 * hash-set-tests.c: Moved to...
8427 * hash-set-tests.cc: ...here.
8428 * hash-table.c: Moved to...
8429 * hash-table.cc: ...here.
8430 * hooks.c: Moved to...
8431 * hooks.cc: ...here.
8432 * host-default.c: Moved to...
8433 * host-default.cc: ...here.
8434 * hw-doloop.c: Moved to...
8435 * hw-doloop.cc: ...here.
8436 * hwint.c: Moved to...
8437 * hwint.cc: ...here.
8438 * ifcvt.c: Moved to...
8439 * ifcvt.cc: ...here.
8440 * inchash.c: Moved to...
8441 * inchash.cc: ...here.
8442 * incpath.c: Moved to...
8443 * incpath.cc: ...here.
8444 * init-regs.c: Moved to...
8445 * init-regs.cc: ...here.
8446 * input.c: Moved to...
8447 * input.cc: ...here.
8448 * internal-fn.c: Moved to...
8449 * internal-fn.cc: ...here.
8450 * intl.c: Moved to...
8452 * ipa-comdats.c: Moved to...
8453 * ipa-comdats.cc: ...here.
8454 * ipa-cp.c: Moved to...
8455 * ipa-cp.cc: ...here.
8456 * ipa-devirt.c: Moved to...
8457 * ipa-devirt.cc: ...here.
8458 * ipa-fnsummary.c: Moved to...
8459 * ipa-fnsummary.cc: ...here.
8460 * ipa-icf-gimple.c: Moved to...
8461 * ipa-icf-gimple.cc: ...here.
8462 * ipa-icf.c: Moved to...
8463 * ipa-icf.cc: ...here.
8464 * ipa-inline-analysis.c: Moved to...
8465 * ipa-inline-analysis.cc: ...here.
8466 * ipa-inline-transform.c: Moved to...
8467 * ipa-inline-transform.cc: ...here.
8468 * ipa-inline.c: Moved to...
8469 * ipa-inline.cc: ...here.
8470 * ipa-modref-tree.c: Moved to...
8471 * ipa-modref-tree.cc: ...here.
8472 * ipa-modref.c: Moved to...
8473 * ipa-modref.cc: ...here.
8474 * ipa-param-manipulation.c: Moved to...
8475 * ipa-param-manipulation.cc: ...here.
8476 * ipa-polymorphic-call.c: Moved to...
8477 * ipa-polymorphic-call.cc: ...here.
8478 * ipa-predicate.c: Moved to...
8479 * ipa-predicate.cc: ...here.
8480 * ipa-profile.c: Moved to...
8481 * ipa-profile.cc: ...here.
8482 * ipa-prop.c: Moved to...
8483 * ipa-prop.cc: ...here.
8484 * ipa-pure-const.c: Moved to...
8485 * ipa-pure-const.cc: ...here.
8486 * ipa-ref.c: Moved to...
8487 * ipa-ref.cc: ...here.
8488 * ipa-reference.c: Moved to...
8489 * ipa-reference.cc: ...here.
8490 * ipa-split.c: Moved to...
8491 * ipa-split.cc: ...here.
8492 * ipa-sra.c: Moved to...
8493 * ipa-sra.cc: ...here.
8494 * ipa-utils.c: Moved to...
8495 * ipa-utils.cc: ...here.
8496 * ipa-visibility.c: Moved to...
8497 * ipa-visibility.cc: ...here.
8498 * ipa.c: Moved to...
8500 * ira-build.c: Moved to...
8501 * ira-build.cc: ...here.
8502 * ira-color.c: Moved to...
8503 * ira-color.cc: ...here.
8504 * ira-conflicts.c: Moved to...
8505 * ira-conflicts.cc: ...here.
8506 * ira-costs.c: Moved to...
8507 * ira-costs.cc: ...here.
8508 * ira-emit.c: Moved to...
8509 * ira-emit.cc: ...here.
8510 * ira-lives.c: Moved to...
8511 * ira-lives.cc: ...here.
8512 * ira.c: Moved to...
8514 * jump.c: Moved to...
8516 * langhooks.c: Moved to...
8517 * langhooks.cc: ...here.
8518 * lcm.c: Moved to...
8520 * lists.c: Moved to...
8521 * lists.cc: ...here.
8522 * loop-doloop.c: Moved to...
8523 * loop-doloop.cc: ...here.
8524 * loop-init.c: Moved to...
8525 * loop-init.cc: ...here.
8526 * loop-invariant.c: Moved to...
8527 * loop-invariant.cc: ...here.
8528 * loop-iv.c: Moved to...
8529 * loop-iv.cc: ...here.
8530 * loop-unroll.c: Moved to...
8531 * loop-unroll.cc: ...here.
8532 * lower-subreg.c: Moved to...
8533 * lower-subreg.cc: ...here.
8534 * lra-assigns.c: Moved to...
8535 * lra-assigns.cc: ...here.
8536 * lra-coalesce.c: Moved to...
8537 * lra-coalesce.cc: ...here.
8538 * lra-constraints.c: Moved to...
8539 * lra-constraints.cc: ...here.
8540 * lra-eliminations.c: Moved to...
8541 * lra-eliminations.cc: ...here.
8542 * lra-lives.c: Moved to...
8543 * lra-lives.cc: ...here.
8544 * lra-remat.c: Moved to...
8545 * lra-remat.cc: ...here.
8546 * lra-spills.c: Moved to...
8547 * lra-spills.cc: ...here.
8548 * lra.c: Moved to...
8550 * lto-cgraph.c: Moved to...
8551 * lto-cgraph.cc: ...here.
8552 * lto-compress.c: Moved to...
8553 * lto-compress.cc: ...here.
8554 * lto-opts.c: Moved to...
8555 * lto-opts.cc: ...here.
8556 * lto-section-in.c: Moved to...
8557 * lto-section-in.cc: ...here.
8558 * lto-section-out.c: Moved to...
8559 * lto-section-out.cc: ...here.
8560 * lto-streamer-in.c: Moved to...
8561 * lto-streamer-in.cc: ...here.
8562 * lto-streamer-out.c: Moved to...
8563 * lto-streamer-out.cc: ...here.
8564 * lto-streamer.c: Moved to...
8565 * lto-streamer.cc: ...here.
8566 * lto-wrapper.c: Moved to...
8567 * lto-wrapper.cc: ...here.
8568 * main.c: Moved to...
8570 * mcf.c: Moved to...
8572 * mode-switching.c: Moved to...
8573 * mode-switching.cc: ...here.
8574 * modulo-sched.c: Moved to...
8575 * modulo-sched.cc: ...here.
8576 * multiple_target.c: Moved to...
8577 * multiple_target.cc: ...here.
8578 * omp-expand.c: Moved to...
8579 * omp-expand.cc: ...here.
8580 * omp-general.c: Moved to...
8581 * omp-general.cc: ...here.
8582 * omp-low.c: Moved to...
8583 * omp-low.cc: ...here.
8584 * omp-offload.c: Moved to...
8585 * omp-offload.cc: ...here.
8586 * omp-simd-clone.c: Moved to...
8587 * omp-simd-clone.cc: ...here.
8588 * opt-suggestions.c: Moved to...
8589 * opt-suggestions.cc: ...here.
8590 * optabs-libfuncs.c: Moved to...
8591 * optabs-libfuncs.cc: ...here.
8592 * optabs-query.c: Moved to...
8593 * optabs-query.cc: ...here.
8594 * optabs-tree.c: Moved to...
8595 * optabs-tree.cc: ...here.
8596 * optabs.c: Moved to...
8597 * optabs.cc: ...here.
8598 * opts-common.c: Moved to...
8599 * opts-common.cc: ...here.
8600 * opts-global.c: Moved to...
8601 * opts-global.cc: ...here.
8602 * opts.c: Moved to...
8604 * passes.c: Moved to...
8605 * passes.cc: ...here.
8606 * plugin.c: Moved to...
8607 * plugin.cc: ...here.
8608 * postreload-gcse.c: Moved to...
8609 * postreload-gcse.cc: ...here.
8610 * postreload.c: Moved to...
8611 * postreload.cc: ...here.
8612 * predict.c: Moved to...
8613 * predict.cc: ...here.
8614 * prefix.c: Moved to...
8615 * prefix.cc: ...here.
8616 * pretty-print.c: Moved to...
8617 * pretty-print.cc: ...here.
8618 * print-rtl-function.c: Moved to...
8619 * print-rtl-function.cc: ...here.
8620 * print-rtl.c: Moved to...
8621 * print-rtl.cc: ...here.
8622 * print-tree.c: Moved to...
8623 * print-tree.cc: ...here.
8624 * profile-count.c: Moved to...
8625 * profile-count.cc: ...here.
8626 * profile.c: Moved to...
8627 * profile.cc: ...here.
8628 * read-md.c: Moved to...
8629 * read-md.cc: ...here.
8630 * read-rtl-function.c: Moved to...
8631 * read-rtl-function.cc: ...here.
8632 * read-rtl.c: Moved to...
8633 * read-rtl.cc: ...here.
8634 * real.c: Moved to...
8636 * realmpfr.c: Moved to...
8637 * realmpfr.cc: ...here.
8638 * recog.c: Moved to...
8639 * recog.cc: ...here.
8640 * ree.c: Moved to...
8642 * reg-stack.c: Moved to...
8643 * reg-stack.cc: ...here.
8644 * regcprop.c: Moved to...
8645 * regcprop.cc: ...here.
8646 * reginfo.c: Moved to...
8647 * reginfo.cc: ...here.
8648 * regrename.c: Moved to...
8649 * regrename.cc: ...here.
8650 * regstat.c: Moved to...
8651 * regstat.cc: ...here.
8652 * reload.c: Moved to...
8653 * reload.cc: ...here.
8654 * reload1.c: Moved to...
8655 * reload1.cc: ...here.
8656 * reorg.c: Moved to...
8657 * reorg.cc: ...here.
8658 * resource.c: Moved to...
8659 * resource.cc: ...here.
8660 * rtl-error.c: Moved to...
8661 * rtl-error.cc: ...here.
8662 * rtl-tests.c: Moved to...
8663 * rtl-tests.cc: ...here.
8664 * rtl.c: Moved to...
8666 * rtlanal.c: Moved to...
8667 * rtlanal.cc: ...here.
8668 * rtlhash.c: Moved to...
8669 * rtlhash.cc: ...here.
8670 * rtlhooks.c: Moved to...
8671 * rtlhooks.cc: ...here.
8672 * rtx-vector-builder.c: Moved to...
8673 * rtx-vector-builder.cc: ...here.
8674 * run-rtl-passes.c: Moved to...
8675 * run-rtl-passes.cc: ...here.
8676 * sancov.c: Moved to...
8677 * sancov.cc: ...here.
8678 * sanopt.c: Moved to...
8679 * sanopt.cc: ...here.
8680 * sbitmap.c: Moved to...
8681 * sbitmap.cc: ...here.
8682 * sched-deps.c: Moved to...
8683 * sched-deps.cc: ...here.
8684 * sched-ebb.c: Moved to...
8685 * sched-ebb.cc: ...here.
8686 * sched-rgn.c: Moved to...
8687 * sched-rgn.cc: ...here.
8688 * sel-sched-dump.c: Moved to...
8689 * sel-sched-dump.cc: ...here.
8690 * sel-sched-ir.c: Moved to...
8691 * sel-sched-ir.cc: ...here.
8692 * sel-sched.c: Moved to...
8693 * sel-sched.cc: ...here.
8694 * selftest-diagnostic.c: Moved to...
8695 * selftest-diagnostic.cc: ...here.
8696 * selftest-rtl.c: Moved to...
8697 * selftest-rtl.cc: ...here.
8698 * selftest-run-tests.c: Moved to...
8699 * selftest-run-tests.cc: ...here.
8700 * selftest.c: Moved to...
8701 * selftest.cc: ...here.
8702 * sese.c: Moved to...
8704 * shrink-wrap.c: Moved to...
8705 * shrink-wrap.cc: ...here.
8706 * simplify-rtx.c: Moved to...
8707 * simplify-rtx.cc: ...here.
8708 * sparseset.c: Moved to...
8709 * sparseset.cc: ...here.
8710 * spellcheck-tree.c: Moved to...
8711 * spellcheck-tree.cc: ...here.
8712 * spellcheck.c: Moved to...
8713 * spellcheck.cc: ...here.
8714 * sreal.c: Moved to...
8715 * sreal.cc: ...here.
8716 * stack-ptr-mod.c: Moved to...
8717 * stack-ptr-mod.cc: ...here.
8718 * statistics.c: Moved to...
8719 * statistics.cc: ...here.
8720 * stmt.c: Moved to...
8722 * stor-layout.c: Moved to...
8723 * stor-layout.cc: ...here.
8724 * store-motion.c: Moved to...
8725 * store-motion.cc: ...here.
8726 * streamer-hooks.c: Moved to...
8727 * streamer-hooks.cc: ...here.
8728 * stringpool.c: Moved to...
8729 * stringpool.cc: ...here.
8730 * substring-locations.c: Moved to...
8731 * substring-locations.cc: ...here.
8732 * symtab.c: Moved to...
8733 * symtab.cc: ...here.
8734 * target-globals.c: Moved to...
8735 * target-globals.cc: ...here.
8736 * targhooks.c: Moved to...
8737 * targhooks.cc: ...here.
8738 * timevar.c: Moved to...
8739 * timevar.cc: ...here.
8740 * toplev.c: Moved to...
8741 * toplev.cc: ...here.
8742 * tracer.c: Moved to...
8743 * tracer.cc: ...here.
8744 * trans-mem.c: Moved to...
8745 * trans-mem.cc: ...here.
8746 * tree-affine.c: Moved to...
8747 * tree-affine.cc: ...here.
8748 * tree-call-cdce.c: Moved to...
8749 * tree-call-cdce.cc: ...here.
8750 * tree-cfg.c: Moved to...
8751 * tree-cfg.cc: ...here.
8752 * tree-cfgcleanup.c: Moved to...
8753 * tree-cfgcleanup.cc: ...here.
8754 * tree-chrec.c: Moved to...
8755 * tree-chrec.cc: ...here.
8756 * tree-complex.c: Moved to...
8757 * tree-complex.cc: ...here.
8758 * tree-data-ref.c: Moved to...
8759 * tree-data-ref.cc: ...here.
8760 * tree-dfa.c: Moved to...
8761 * tree-dfa.cc: ...here.
8762 * tree-diagnostic.c: Moved to...
8763 * tree-diagnostic.cc: ...here.
8764 * tree-dump.c: Moved to...
8765 * tree-dump.cc: ...here.
8766 * tree-eh.c: Moved to...
8767 * tree-eh.cc: ...here.
8768 * tree-emutls.c: Moved to...
8769 * tree-emutls.cc: ...here.
8770 * tree-if-conv.c: Moved to...
8771 * tree-if-conv.cc: ...here.
8772 * tree-inline.c: Moved to...
8773 * tree-inline.cc: ...here.
8774 * tree-into-ssa.c: Moved to...
8775 * tree-into-ssa.cc: ...here.
8776 * tree-iterator.c: Moved to...
8777 * tree-iterator.cc: ...here.
8778 * tree-loop-distribution.c: Moved to...
8779 * tree-loop-distribution.cc: ...here.
8780 * tree-nested.c: Moved to...
8781 * tree-nested.cc: ...here.
8782 * tree-nrv.c: Moved to...
8783 * tree-nrv.cc: ...here.
8784 * tree-object-size.c: Moved to...
8785 * tree-object-size.cc: ...here.
8786 * tree-outof-ssa.c: Moved to...
8787 * tree-outof-ssa.cc: ...here.
8788 * tree-parloops.c: Moved to...
8789 * tree-parloops.cc: ...here.
8790 * tree-phinodes.c: Moved to...
8791 * tree-phinodes.cc: ...here.
8792 * tree-predcom.c: Moved to...
8793 * tree-predcom.cc: ...here.
8794 * tree-pretty-print.c: Moved to...
8795 * tree-pretty-print.cc: ...here.
8796 * tree-profile.c: Moved to...
8797 * tree-profile.cc: ...here.
8798 * tree-scalar-evolution.c: Moved to...
8799 * tree-scalar-evolution.cc: ...here.
8800 * tree-sra.c: Moved to...
8801 * tree-sra.cc: ...here.
8802 * tree-ssa-address.c: Moved to...
8803 * tree-ssa-address.cc: ...here.
8804 * tree-ssa-alias.c: Moved to...
8805 * tree-ssa-alias.cc: ...here.
8806 * tree-ssa-ccp.c: Moved to...
8807 * tree-ssa-ccp.cc: ...here.
8808 * tree-ssa-coalesce.c: Moved to...
8809 * tree-ssa-coalesce.cc: ...here.
8810 * tree-ssa-copy.c: Moved to...
8811 * tree-ssa-copy.cc: ...here.
8812 * tree-ssa-dce.c: Moved to...
8813 * tree-ssa-dce.cc: ...here.
8814 * tree-ssa-dom.c: Moved to...
8815 * tree-ssa-dom.cc: ...here.
8816 * tree-ssa-dse.c: Moved to...
8817 * tree-ssa-dse.cc: ...here.
8818 * tree-ssa-forwprop.c: Moved to...
8819 * tree-ssa-forwprop.cc: ...here.
8820 * tree-ssa-ifcombine.c: Moved to...
8821 * tree-ssa-ifcombine.cc: ...here.
8822 * tree-ssa-live.c: Moved to...
8823 * tree-ssa-live.cc: ...here.
8824 * tree-ssa-loop-ch.c: Moved to...
8825 * tree-ssa-loop-ch.cc: ...here.
8826 * tree-ssa-loop-im.c: Moved to...
8827 * tree-ssa-loop-im.cc: ...here.
8828 * tree-ssa-loop-ivcanon.c: Moved to...
8829 * tree-ssa-loop-ivcanon.cc: ...here.
8830 * tree-ssa-loop-ivopts.c: Moved to...
8831 * tree-ssa-loop-ivopts.cc: ...here.
8832 * tree-ssa-loop-manip.c: Moved to...
8833 * tree-ssa-loop-manip.cc: ...here.
8834 * tree-ssa-loop-niter.c: Moved to...
8835 * tree-ssa-loop-niter.cc: ...here.
8836 * tree-ssa-loop-prefetch.c: Moved to...
8837 * tree-ssa-loop-prefetch.cc: ...here.
8838 * tree-ssa-loop-split.c: Moved to...
8839 * tree-ssa-loop-split.cc: ...here.
8840 * tree-ssa-loop-unswitch.c: Moved to...
8841 * tree-ssa-loop-unswitch.cc: ...here.
8842 * tree-ssa-loop.c: Moved to...
8843 * tree-ssa-loop.cc: ...here.
8844 * tree-ssa-math-opts.c: Moved to...
8845 * tree-ssa-math-opts.cc: ...here.
8846 * tree-ssa-operands.c: Moved to...
8847 * tree-ssa-operands.cc: ...here.
8848 * tree-ssa-phiopt.c: Moved to...
8849 * tree-ssa-phiopt.cc: ...here.
8850 * tree-ssa-phiprop.c: Moved to...
8851 * tree-ssa-phiprop.cc: ...here.
8852 * tree-ssa-pre.c: Moved to...
8853 * tree-ssa-pre.cc: ...here.
8854 * tree-ssa-propagate.c: Moved to...
8855 * tree-ssa-propagate.cc: ...here.
8856 * tree-ssa-reassoc.c: Moved to...
8857 * tree-ssa-reassoc.cc: ...here.
8858 * tree-ssa-sccvn.c: Moved to...
8859 * tree-ssa-sccvn.cc: ...here.
8860 * tree-ssa-scopedtables.c: Moved to...
8861 * tree-ssa-scopedtables.cc: ...here.
8862 * tree-ssa-sink.c: Moved to...
8863 * tree-ssa-sink.cc: ...here.
8864 * tree-ssa-strlen.c: Moved to...
8865 * tree-ssa-strlen.cc: ...here.
8866 * tree-ssa-structalias.c: Moved to...
8867 * tree-ssa-structalias.cc: ...here.
8868 * tree-ssa-tail-merge.c: Moved to...
8869 * tree-ssa-tail-merge.cc: ...here.
8870 * tree-ssa-ter.c: Moved to...
8871 * tree-ssa-ter.cc: ...here.
8872 * tree-ssa-threadbackward.c: Moved to...
8873 * tree-ssa-threadbackward.cc: ...here.
8874 * tree-ssa-threadedge.c: Moved to...
8875 * tree-ssa-threadedge.cc: ...here.
8876 * tree-ssa-threadupdate.c: Moved to...
8877 * tree-ssa-threadupdate.cc: ...here.
8878 * tree-ssa-uncprop.c: Moved to...
8879 * tree-ssa-uncprop.cc: ...here.
8880 * tree-ssa-uninit.c: Moved to...
8881 * tree-ssa-uninit.cc: ...here.
8882 * tree-ssa.c: Moved to...
8883 * tree-ssa.cc: ...here.
8884 * tree-ssanames.c: Moved to...
8885 * tree-ssanames.cc: ...here.
8886 * tree-stdarg.c: Moved to...
8887 * tree-stdarg.cc: ...here.
8888 * tree-streamer-in.c: Moved to...
8889 * tree-streamer-in.cc: ...here.
8890 * tree-streamer-out.c: Moved to...
8891 * tree-streamer-out.cc: ...here.
8892 * tree-streamer.c: Moved to...
8893 * tree-streamer.cc: ...here.
8894 * tree-switch-conversion.c: Moved to...
8895 * tree-switch-conversion.cc: ...here.
8896 * tree-tailcall.c: Moved to...
8897 * tree-tailcall.cc: ...here.
8898 * tree-vect-data-refs.c: Moved to...
8899 * tree-vect-data-refs.cc: ...here.
8900 * tree-vect-generic.c: Moved to...
8901 * tree-vect-generic.cc: ...here.
8902 * tree-vect-loop-manip.c: Moved to...
8903 * tree-vect-loop-manip.cc: ...here.
8904 * tree-vect-loop.c: Moved to...
8905 * tree-vect-loop.cc: ...here.
8906 * tree-vect-patterns.c: Moved to...
8907 * tree-vect-patterns.cc: ...here.
8908 * tree-vect-slp-patterns.c: Moved to...
8909 * tree-vect-slp-patterns.cc: ...here.
8910 * tree-vect-slp.c: Moved to...
8911 * tree-vect-slp.cc: ...here.
8912 * tree-vect-stmts.c: Moved to...
8913 * tree-vect-stmts.cc: ...here.
8914 * tree-vector-builder.c: Moved to...
8915 * tree-vector-builder.cc: ...here.
8916 * tree-vectorizer.c: Moved to...
8917 * tree-vectorizer.cc: ...here.
8918 * tree-vrp.c: Moved to...
8919 * tree-vrp.cc: ...here.
8920 * tree.c: Moved to...
8922 * tsan.c: Moved to...
8924 * typed-splay-tree.c: Moved to...
8925 * typed-splay-tree.cc: ...here.
8926 * ubsan.c: Moved to...
8927 * ubsan.cc: ...here.
8928 * valtrack.c: Moved to...
8929 * valtrack.cc: ...here.
8930 * value-prof.c: Moved to...
8931 * value-prof.cc: ...here.
8932 * var-tracking.c: Moved to...
8933 * var-tracking.cc: ...here.
8934 * varasm.c: Moved to...
8935 * varasm.cc: ...here.
8936 * varpool.c: Moved to...
8937 * varpool.cc: ...here.
8938 * vec-perm-indices.c: Moved to...
8939 * vec-perm-indices.cc: ...here.
8940 * vec.c: Moved to...
8942 * vmsdbgout.c: Moved to...
8943 * vmsdbgout.cc: ...here.
8944 * vr-values.c: Moved to...
8945 * vr-values.cc: ...here.
8946 * vtable-verify.c: Moved to...
8947 * vtable-verify.cc: ...here.
8948 * web.c: Moved to...
8950 * xcoffout.c: Moved to...
8951 * xcoffout.cc: ...here.
8953 2022-01-17 qing zhao <qing.zhao@oracle.com>
8955 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
8956 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
8957 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
8959 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
8960 (warn_uninitialized_vars): Likewise.
8961 (warn_uninitialized_phi): Likewise.
8963 2022-01-17 Jason Merrill <jason@redhat.com>
8965 * diagnostic.h (struct diagnostic_context): Add includes_seen.
8966 * diagnostic.c (diagnostic_initialize): Initialize it.
8967 (diagnostic_finish): Clean it up.
8968 (includes_seen): New function.
8969 (diagnostic_report_current_module): Use it.
8971 2022-01-17 Richard Biener <rguenther@suse.de>
8973 PR middle-end/101292
8974 * diagnostic-spec.c (copy_warning): Make sure to not
8975 reference old hashtable content on possible resize.
8976 * warning-control.cc (copy_warning): Likewise.
8978 2022-01-17 Jakub Jelinek <jakub@redhat.com>
8981 * tree-cfg.h (cond_only_block_p): Declare.
8982 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
8983 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
8984 * optabs.def (spaceship_optab): New optab.
8985 * internal-fn.def (SPACESHIP): New internal function.
8986 * internal-fn.h (expand_SPACESHIP): Declare.
8987 * internal-fn.c (expand_PHI): Formatting fix.
8988 (expand_SPACESHIP): New function.
8989 * tree-ssa-math-opts.c (optimize_spaceship): New function.
8990 (math_opts_dom_walker::after_dom_children): Use it.
8991 * config/i386/i386.md (spaceship<mode>3): New define_expand.
8992 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
8993 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
8994 * doc/md.texi (spaceship@var{m}3): Document.
8996 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
8998 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
8999 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
9000 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
9001 known constant values to simplify code.
9003 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
9006 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
9008 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
9010 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
9011 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
9012 Insert zero-idiom in output template when attr enabled, set new attribute to
9013 true for non-mask/maskz insn.
9014 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
9016 (avx512dq_mul<mode>3<mask_name>): Likewise.
9017 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
9018 (avx2_perm<mode>_1<mask_name>): Likewise.
9019 (avx512f_perm<mode>_1<mask_name>): Likewise.
9020 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
9021 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
9023 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
9024 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
9026 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
9028 (mask4_dest_false_dep_for_glc_cond): Likewise.
9029 (mask6_dest_false_dep_for_glc_cond): Likewise.
9030 (mask10_dest_false_dep_for_glc_cond): Likewise.
9031 (maskc_dest_false_dep_for_glc_cond): Likewise.
9032 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
9033 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
9034 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
9035 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
9037 2022-01-15 Martin Sebor <msebor@redhat.com>
9040 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
9042 * doc/invoke.texi (-Wdangling-pointer): Document new option.
9043 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
9044 (pass_waccess::check_pointer_uses): New function.
9045 (pass_waccess::gimple_call_return_arg): New function.
9046 (pass_waccess::gimple_call_return_arg_ref): New function.
9047 (pass_waccess::check_call_dangling): New function.
9048 (pass_waccess::check_dangling_uses): New function overloads.
9049 (pass_waccess::check_dangling_stores): New function.
9050 (pass_waccess::check_dangling_stores): New function.
9051 (pass_waccess::m_clobbers): New data member.
9052 (pass_waccess::m_func): New data member.
9053 (pass_waccess::m_run_number): New data member.
9054 (pass_waccess::m_check_dangling_p): New data member.
9055 (pass_waccess::check_alloca): Check m_early_checks_p.
9056 (pass_waccess::check_alloc_size_call): Same.
9057 (pass_waccess::check_strcat): Same.
9058 (pass_waccess::check_strncat): Same.
9059 (pass_waccess::check_stxcpy): Same.
9060 (pass_waccess::check_stxncpy): Same.
9061 (pass_waccess::check_strncmp): Same.
9062 (pass_waccess::check_memop_access): Same.
9063 (pass_waccess::check_read_access): Same.
9064 (pass_waccess::check_builtin): Call check_pointer_uses.
9065 (pass_waccess::warn_invalid_pointer): Add arguments.
9066 (is_auto_decl): New function.
9067 (pass_waccess::check_stmt): New function.
9068 (pass_waccess::check_block): Call check_stmt.
9069 (pass_waccess::execute): Call check_dangling_uses,
9070 check_dangling_stores. Empty m_clobbers.
9071 * passes.def (pass_warn_access): Invoke pass two more times.
9073 2022-01-15 Martin Sebor <msebor@redhat.com>
9075 PR tree-optimization/80532
9076 * common.opt (-Wuse-after-free): New options.
9077 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
9078 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
9079 * diagnostic-spec.h (NW_DANGLING): New enumerator.
9080 * doc/invoke.texi (-Wuse-after-free): Document new option.
9081 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
9082 (pass_waccess::check_call_access): ...to this.
9083 (pass_waccess::check): Rename...
9084 (pass_waccess::check_block): ...to this.
9085 (pass_waccess::check_pointer_uses): New function.
9086 (pass_waccess::gimple_call_return_arg): New function.
9087 (pass_waccess::warn_invalid_pointer): New function.
9088 (pass_waccess::check_builtin): Handle free and realloc.
9089 (gimple_use_after_inval_p): New function.
9090 (get_realloc_lhs): New function.
9091 (maybe_warn_mismatched_realloc): New function.
9092 (pointers_related_p): New function.
9093 (pass_waccess::check_call): Call check_pointer_uses.
9094 (pass_waccess::execute): Compute and free dominance info.
9096 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
9098 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
9099 expand_simple_unop and expand_simple_binop instead of manually
9100 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
9101 consistently. Eliminate common subexpressions and simplify code.
9102 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
9103 (<any_logic:code><MODEF:mode>3): Make public.
9105 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
9107 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
9108 reverse flag as "reverse" for the sake of consistency.
9109 * ipa-sra.c: Fix copyright year.
9110 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
9111 (dump_isra_access): Tweak dump line.
9112 (isra_write_node_summary): Write the reverse flag.
9113 (isra_read_node_info): Read it.
9114 (pull_accesses_from_callee): Test its consistency and copy it.
9116 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
9118 PR middle-end/104026
9119 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
9120 partial_load_store_bias.
9122 2022-01-14 Martin Sebor <msebor@redhat.com>
9124 PR middle-end/101475
9125 * pointer-query.cc (handle_component_ref): Use the size of
9126 the enclosing object if it's smaller than the member.
9128 2022-01-14 Martin Liska <mliska@suse.cz>
9130 * configure: Regenerate.
9132 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
9134 * config/i386/i386.md (*add<mode>_1_slp"):
9135 Mark alternative 1 output operand earlyclobbered.
9136 (*sub<mode>_1_slp): Ditto.
9137 (*and<mode>_1_slp): Ditto.
9138 (*<code><mode>_1_slp): Ditto.
9139 (*neg<mode>_1_slp): Ditto.
9140 (*one_cmpl<mode>_1_slp): Ditto.
9141 (*ashl<mode>3_1_slp): Ditto.
9142 (*<insn><mode>3_1_slp): Ditto.
9143 (*<insn><mode>3_1_slp): Ditto.
9145 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
9147 PR tree-optimization/104015
9148 * tree-vect-loop.c (vect_analyze_loop): Check
9149 param_vect_partial_vector_usage for supports_partial_vectors.
9151 2022-01-14 Jakub Jelinek <jakub@redhat.com>
9154 * fold-const.c (address_compare): Punt on comparison of address of
9155 one object with address of end of another object if
9156 folding_initializer.
9158 2022-01-14 Jakub Jelinek <jakub@redhat.com>
9161 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
9162 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
9163 and __atomic_op_fetch (p, x, y) iop x into
9164 __atomic_fetch_op (p, x, y).
9166 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
9168 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
9169 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
9170 (INCOMING_RETURN_ADDR_RTX): Likewise.
9171 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
9173 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
9175 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
9176 computin checking accumulator regs.
9177 (arc_expand_prologue): Update comments.
9178 (arc_expand_epilogue): Likewise.
9180 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
9181 Uroš Bizjak <ubizjak@gmail.com>
9183 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
9184 (ix86_expand_ti_to_v1ti): Use force_reg.
9185 (ix86_expand_v1ti_shift): Use force_reg.
9186 (ix86_expand_v1ti_rotate): Use force_reg.
9187 (ix86_expand_v1ti_ashiftrt): Provide new three operation
9188 implementations for shifts by 111..126 bits. Use force_reg.
9190 2022-01-14 Martin Liska <mliska@suse.cz>
9192 * common/config/arm/arm-common.c (arm_target_mode): Fix
9193 warning: unterminated quoting directive [-Wformat=].
9195 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
9197 PR tree-optimization/104009
9198 * tree-object-size.c (compute_builtin_object_size): Bail out on
9200 (plus_stmt_object_size): Return maximum of wholesize and minimum
9201 of 0 for negative offset.
9203 2022-01-14 liuhongt <hongtao.liu@intel.com>
9208 * config/i386/i386.md (*xor2andn): Refine predicate of
9209 operands[0] from nonimmediate_operand to
9210 register_operand, remove TARGET_AVX512BW from condition.
9212 2022-01-14 David Malcolm <dmalcolm@redhat.com>
9214 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
9215 be used on field decls.
9216 (Common Function Attributes): Add entry on "tainted_args" attribute.
9218 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
9219 Jason Merrill <jason@redhat.com>
9222 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
9224 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
9227 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
9228 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
9229 * config/i386/mmx.md (<any_shift:insn>v2qi):
9230 New insn_and_split pattern.
9232 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
9234 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
9235 (expand_partial_store_optab_fn): Likewise.
9236 (internal_len_load_store_bias): New function.
9237 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
9238 (internal_len_load_store_bias): New function.
9239 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
9240 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
9241 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
9242 (vect_estimate_min_profitable_iters): Account for bias.
9243 (vect_get_loop_len): Add bias-adjusted length.
9244 * tree-vect-stmts.c (vectorizable_store): Use.
9245 (vectorizable_load): Use.
9246 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
9247 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
9248 * config/rs6000/vsx.md: Use const0 bias predicate.
9249 * doc/md.texi: Document bias value.
9251 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
9253 PR tree-optimization/83072
9254 PR tree-optimization/83073
9255 PR tree-optimization/97909
9256 * fold-const.c (expr_not_equal_to): Use a multi-range class.
9258 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
9260 PR tree-optimization/96707
9261 * range-op.cc (operator_rshift::lhs_op1_relation): New.
9263 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
9265 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
9266 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
9267 (negv2qi splitters): Use lowpart_subreg instead of
9268 gen_lowpart to create subreg.
9269 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
9270 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
9271 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
9272 gen_lowpart to create subreg.
9273 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
9275 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
9278 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
9280 2022-01-13 Martin Liska <mliska@suse.cz>
9282 * common/config/arm/arm-common.c (arm_target_mode): Wrap
9283 keywords with %<, %> and remove trailing punctuation char.
9284 (arm_canon_arch_option_1): Likewise.
9285 (arm_asm_auto_mfpu): Likewise.
9286 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
9287 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
9288 (use_vfp_abi): Likewise.
9289 (aapcs_vfp_is_call_or_return_candidate): Likewise.
9290 (arm_handle_cmse_nonsecure_entry): Likewise.
9291 (arm_handle_cmse_nonsecure_call): Likewise.
9292 (thumb1_md_asm_adjust): Likewise.
9294 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
9296 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
9297 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
9298 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
9299 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
9300 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
9301 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
9302 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
9303 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
9306 2022-01-13 Jakub Jelinek <jakub@redhat.com>
9308 PR tree-optimization/103989
9309 * tree-inline.c (setup_one_parameter): Don't copy parms with
9312 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
9314 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
9315 'TYPE_ADDR_SPACE' for offloading.
9316 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
9317 'TYPE_ADDR_SPACE' for offloading.
9319 2022-01-13 Julian Brown <julian@codesourcery.com>
9320 Thomas Schwinge <thomas@codesourcery.com>
9322 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
9324 (add_async_clauses_and_wait): ...here. Call new outlined function.
9325 (decompose_kernels_region_body): Add wait at the end of
9326 explicitly-asynchronous kernels regions.
9328 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
9330 PR middle-end/100280
9331 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
9332 Mark variables used in synthesized data clauses as addressable.
9334 2022-01-13 Martin Liska <mliska@suse.cz>
9336 * config/epiphany/epiphany.c (epiphany_mode_priority):
9337 Use gcc_unreachable for not handled cases.
9339 2022-01-13 Martin Liska <mliska@suse.cz>
9341 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
9342 Use %qs format specifier.
9343 (epiphany_override_options): Wrap keyword in %<, %>.
9345 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
9348 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
9350 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
9352 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
9354 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
9358 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
9359 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
9360 when constructing vector logic RTXes.
9361 (expand_vec_perm_pshufb2): Ditto.
9362 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
9363 (<plusminus:insn>v2qi3): Ditto.
9364 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
9365 (vcondu<mode><mode>): Ditto.
9366 (vcond_mask_<mode><mode>): Ditto.
9367 (one_cmpl<VI_32:mode>2): Remove expander.
9368 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
9369 Use VI_16_32 mode iterator.
9370 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
9371 Use lowpart_subreg instead of gen_lowpart to create subreg.
9372 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
9373 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
9374 Disparage GPR alternative a bit. Add CC clobber.
9375 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
9376 Use lowpart_subreg instead of gen_lowpart to create subreg.
9377 (*<any_logic:code><VI_16_32:mode>3): Merge from
9378 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
9379 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
9381 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
9382 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
9384 2022-01-12 Clément Chigot <clement.chigot@atos.net>
9386 * configure.ac: Check sizeof ino_t and dev_t.
9387 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
9388 syscall being able to handle 64bit inodes.
9389 * config.in: Regenerate.
9390 * configure: Regenerate.
9391 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
9392 (remove_duplicates): Use it.
9394 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
9396 PR tree-optimization/103551
9397 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
9399 2022-01-12 Richard Biener <rguenther@suse.de>
9401 PR tree-optimization/103990
9402 * tree-pass.h (tail_merge_optimize): Drop unused argument.
9403 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
9404 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
9405 and adjust call to tail_merge_optimize.
9407 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
9409 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
9410 does not add autovectorize_vector_modes.
9412 2022-01-12 Martin Liska <mliska@suse.cz>
9414 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
9416 (aarch64_parse_sve_width_string): Likewise.
9417 (aarch64_override_options_internal): Likewise.
9418 (aarch64_print_hint_for_extensions): Likewise.
9419 (aarch64_validate_sls_mitigation): Likewise.
9420 (aarch64_handle_attr_arch): Likewise.
9421 (aarch64_handle_attr_cpu): Likewise.
9422 (aarch64_handle_attr_tune): Likewise.
9423 (aarch64_handle_attr_isa_flags): Likewise.
9425 2022-01-12 Martin Liska <mliska@suse.cz>
9427 * config.gcc: Include elfos.h before ${tm_file}.
9429 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
9431 * config/cris/cris.c: Quote identifiers in parameters to error
9432 and internal_error, and remove extraneous spaces with punctuation.
9433 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
9434 expression to internal_error, pass it as a parameter instead of
9435 appending it to the format part.
9437 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
9439 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
9442 2022-01-11 qing zhao <qing.zhao@oracle.com>
9444 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
9445 Change the 3rd argument of function .DEFERRED_INIT to the name of the
9447 (gimplify_decl_expr): Delete the 3rd argument when call
9448 gimple_add_init_for_auto_var.
9449 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
9450 the 3rd argument change of function .DEFERRED_INIT.
9451 * tree-cfg.c (verify_gimple_call): Update comments and verification
9452 to reflect the 3rd argument change of function .DEFERRED_INIT.
9453 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
9454 (sra_modify_deferred_init): Change the 3rd argument of function
9455 .DEFERRED_INIT to the name of the decl.
9457 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
9459 * flag-types.h (enum gfc_convert): Add flags for
9462 2022-01-11 Michael Meissner <meissner@the-meissners.org>
9464 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
9465 checks for only C/C++ front ends before allowing the long double
9466 format to change without a warning.
9468 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
9470 PR rtl-optimization/103974
9471 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
9472 extra argument, default true, that says whether old-reload
9473 targets should be excluded.
9474 * ira-color.c (color_pass): Pass false.
9476 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
9479 * config/i386/mmx.md (vcond<mode><mode>):
9480 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
9481 (vcondu<mode><mode>): Ditto.
9482 (vcond_mask_<mode><mode>): Ditto.
9483 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
9484 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
9485 Use VI_16_32 mode iterator.
9486 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
9487 Update for rename. Handle V2QImode.
9488 (expand_vec_perm_blend): Update for rename.
9490 2022-01-11 Jakub Jelinek <jakub@redhat.com>
9493 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
9495 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
9498 * tree-object-size.c (size_valid_p): New function.
9499 (size_for_offset): Remove OFFSET constness assertion.
9500 (addr_object_size): Build dynamic expressions for object
9501 sizes and use size_valid_p to decide if it is valid for the
9502 given OBJECT_SIZE_TYPE.
9503 (compute_builtin_object_size): Allow dynamic offsets when
9504 computing size at O0.
9505 (call_object_size): Call size_valid_p.
9506 (plus_stmt_object_size): Allow non-constant offset and use
9507 size_valid_p to decide if it is valid for the given
9510 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
9513 * tree-object-size.c (alloc_object_size): Make and return
9514 non-constant size expression.
9515 (call_object_size): Return expression or unknown based on
9516 whether dynamic object size is requested.
9518 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
9521 * tree-object-size.c: Include tree-dfa.h.
9522 (parm_object_size): New function.
9523 (collect_object_sizes_for): Call it.
9525 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
9528 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
9530 * tree-object-size.c: Include gimplify-me.h.
9531 (struct object_size_info): New member UNKNOWNS.
9532 (size_initval_p, size_usable_p, object_sizes_get_raw): New
9534 (object_sizes_get): Return suitable gimple variable for
9536 (bundle_sizes): New function.
9537 (object_sizes_set): Use it and handle dynamic object size
9539 (object_sizes_set_temp): New function.
9540 (size_for_offset): Adjust for dynamic size expressions.
9541 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
9543 (compute_builtin_object_size): Call gimplify_size_expressions
9545 (dynamic_object_size): New function.
9546 (cond_expr_object_size): Use it.
9547 (phi_dynamic_object_size): New function.
9548 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
9549 accommodate dynamic object sizes.
9551 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
9552 Jakub Jelinek <jakub@redhat.com>
9554 PR tree-optimization/103961
9555 * tree-object-size.c (plus_stmt_object_size): Always avoid
9556 computing offset for -1 size.
9558 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
9560 PR tree-optimization/103821
9561 * range-op.cc (range_operator::fold_range): Only do precise ranges
9562 when there are not too many subranges.
9564 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
9566 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
9567 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
9569 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
9570 Richard Biener <rguenther@suse.de>
9572 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
9573 highpart_mults_inserted field.
9574 (convert_mult_to_highpart): New function to convert right shift
9575 of a widening multiply into a MULT_HIGHPART_EXPR.
9576 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
9577 Call new convert_mult_to_highpart function.
9578 (pass_optimize_widening_mul::execute): Add a statistics counter
9579 for tracking "highpart multiplications inserted" events.
9581 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
9584 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
9586 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
9588 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
9590 2022-01-11 Olivier Hainque <hainque@adacore.com>
9592 * gcc.c (driver_handle_option): State --sysroot as
9595 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
9597 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
9598 useless related to option -mno-power10.
9600 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
9603 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
9604 operands[1] from register_operand to vector_operand.
9606 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
9609 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
9611 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
9612 Use VI1_16_32 mode iterator.
9613 (*eq<mode>3): Ditto.
9614 (*gt<mode>3): Ditto.
9615 (*xop_maskcmp<mode>3): Ditto.
9616 (*xop_maskcmp_uns<mode>3): Ditto.
9617 (vec_cmp<mode><mode>): Ditto.
9618 (vec_cmpu<mode><mode>): Ditto.
9620 2022-01-10 Richard Biener <rguenther@suse.de>
9622 PR tree-optimization/103948
9623 * tree-vect-generic.c (expand_vector_condition): Return true if
9624 all ones vector is returned for true, all zeros vector for false
9625 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
9627 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
9629 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
9630 when _ARCH_PWR10. Use signed types.
9631 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
9632 (_mm_blendv_pd): Likewise.
9634 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
9636 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
9638 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
9639 epilogues, unless we are guaranteed that we can't have partial vectors.
9640 * genopinit.c: (partial_vectors_supported): Generate new function.
9642 2022-01-10 Jakub Jelinek <jakub@redhat.com>
9645 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
9646 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
9647 always ignore them, when seeing other zero sized bitfields, either
9648 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
9649 it. Pass it to recursive calls. Add wrapper
9650 with old arguments and diagnose ABI differences for C structures
9651 with zero width bitfields. Formatting fixes.
9653 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
9655 PR rtl-optimization/98782
9656 * ira-int.h (ira_soft_conflict): Declare.
9657 * ira-color.c (max_soft_conflict_loop_depth): New constant.
9658 (ira_soft_conflict): New function.
9659 (spill_soft_conflicts): Likewise.
9660 (assign_hard_reg): Use them to handle the case described by
9661 the comment above ira_soft_conflict.
9662 (improve_allocation): Likewise.
9663 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
9664 to share the same register.
9666 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
9668 PR rtl-optimization/98782
9669 * ira-int.h (ira_caller_save_cost): New function.
9670 (ira_caller_save_loop_spill_p): Likewise.
9671 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
9672 cheaper to spill a call-clobbered register throughout a loop rather
9673 than spill it around each individual call. If so, treat all
9674 call-clobbered registers as conflicts and...
9675 (propagate_allocno_info): ...do not propagate call information
9676 from the child to the parent.
9677 * ira-color.c (move_spill_restore): Update accordingly.
9678 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
9680 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
9682 PR rtl-optimization/98782
9683 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
9684 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
9685 (ira_single_region_allocno_p): New function.
9686 (ira_total_conflict_hard_regs): Likewise.
9687 * ira-build.c (ira_create_allocno): Initialize
9688 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
9689 (ira_propagate_hard_reg_costs): New function.
9690 (propagate_allocno_info): Use it. Try to avoid propagating
9691 hard register conflicts to parent allocnos if we can handle
9692 the conflicts by spilling instead. Limit the propagated
9693 register costs to the cost of spilling throughout the child loop.
9694 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
9695 test whether a child and parent allocno can share the same
9697 (move_spill_restore): Adjust for the new behavior of
9698 propagate_allocno_info.
9700 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
9702 PR rtl-optimization/98782
9703 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
9705 * ira-color.c (color_pass): ...here.
9707 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
9709 PR rtl-optimization/98782
9710 * ira-color.c (color_pass): Add comments to describe the spill costs.
9711 (move_spill_restore): Likewise. Fix reversed calculation.
9713 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
9715 PR rtl-optimization/98782
9716 * ira-int.h (ira_loop_border_costs): New class.
9717 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
9719 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
9720 (color_pass): Likewise.
9721 (move_spill_restore): Likewise.
9723 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
9726 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
9728 2022-01-10 Richard Biener <rguenther@suse.de>
9730 PR tree-optimization/100359
9731 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
9732 Allow non-growing peeling with !allow_peel and UL_ALL.
9734 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
9736 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
9737 special case for TImode to V1TImode moves, going via V2DImode.
9739 2022-01-08 Jakub Jelinek <jakub@redhat.com>
9742 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
9745 2022-01-08 David Malcolm <dmalcolm@redhat.com>
9748 (Special Functions for Debugging the Analyzer): Document
9749 __analyzer_dump_escaped.
9751 2022-01-08 David Malcolm <dmalcolm@redhat.com>
9753 * doc/analyzer.texi (Other Debugging Techniques): Document
9754 region::is_named_decl_p.
9756 2022-01-07 Andrew Pinski <apinski@marvell.com>
9759 * config/arm/aarch-common.c (arm_md_asm_adjust):
9760 Use a temp if !REG_P.
9762 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
9764 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
9765 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
9767 2022-01-07 liuhongt <hongtao.liu@intel.com>
9769 PR rtl-optimization/103750
9770 * fwprop.c (forward_propagate_into): Allow propagations from
9771 inner loop to outer loop.
9773 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
9775 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
9777 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
9779 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
9780 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
9781 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
9783 2022-01-07 liuhongt <hongtao.liu@intel.com>
9785 * config/i386/sse.md
9786 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
9787 UNSPEC_PCMP_UNSIGNED.
9789 2022-01-07 liuhongt <hongtao.liu@intel.com>
9792 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
9793 gen_avx2_pblendph_1 when elt == 0.
9794 * config/i386/sse.md (avx2_pblendph): Rename to ..
9795 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
9796 (*avx2_pblendw): Rename to ..
9797 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
9798 (avx2_pblendw): Rename to ..
9799 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
9800 (blendsuf): Removed.
9801 (sse4_1_pblend<blendsuf>): Renamed to ..
9802 (sse4_1_pblend<ssemodesuffix>): .. this.
9804 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
9807 * config/i386/i386.c (ix86_output_indirect_function_return):
9808 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
9810 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
9813 * config/i386/i386-opts.h (harden_sls): Replace
9814 harden_sls_indirect_branch with harden_sls_indirect_jmp.
9815 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
9817 (ix86_output_indirect_jmp): Likewise.
9818 (ix86_output_call_insn): Likewise.
9819 * config/i386/i386.opt: Replace indirect-branch with
9820 indirect-jmp. Replace harden_sls_indirect_branch with
9821 harden_sls_indirect_jmp.
9822 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
9825 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
9827 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
9828 Add %q modifier for operands in general registers.
9829 <MODE_SI>: Add %q modifier for operands in general registers.
9830 * config/i386/i386.md (*movhi_internal): Change type attribute of
9831 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
9832 to SImode for non-avx512fp16 targets.
9833 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
9834 * config/i386/mmx.md (*movv2qi_internal):
9835 Ditto for xmm-gpr interunit alternatives 8,9.
9837 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
9839 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
9841 (riscv_ext_version_table): Add version info for vector extensions.
9842 (riscv_ext_flag_table): Add option mask for vector extensions.
9843 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
9844 (MASK_VECTOR_EEW_64): New.
9845 (MASK_VECTOR_EEW_FP_32): New.
9846 (MASK_VECTOR_EEW_FP_64): New.
9849 (MASK_ZVL128B): New.
9850 (MASK_ZVL256B): New.
9851 (MASK_ZVL512B): New.
9852 (MASK_ZVL1024B): New.
9853 (MASK_ZVL2048B): New.
9854 (MASK_ZVL4096B): New.
9855 (MASK_ZVL8192B): New.
9856 (MASK_ZVL16384B): New.
9857 (MASK_ZVL32768B): New.
9858 (MASK_ZVL65536B): New.
9859 (TARGET_ZVL32B): New.
9860 (TARGET_ZVL64B): New.
9861 (TARGET_ZVL128B): New.
9862 (TARGET_ZVL256B): New.
9863 (TARGET_ZVL512B): New.
9864 (TARGET_ZVL1024B): New.
9865 (TARGET_ZVL2048B): New.
9866 (TARGET_ZVL4096B): New.
9867 (TARGET_ZVL8192B): New.
9868 (TARGET_ZVL16384B): New.
9869 (TARGET_ZVL32768B): New.
9870 (TARGET_ZVL65536B): New.
9871 * config/riscv/riscv.opt (Mask(VECTOR)): New.
9872 (riscv_vector_eew_flags): New.
9873 (riscv_zvl_flags): New.
9875 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
9877 * common/config/riscv/riscv-common.c
9878 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
9881 2022-01-06 Jakub Jelinek <jakub@redhat.com>
9883 PR tree-optimization/103899
9884 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
9885 warning by moving context variable to the only spot where it is used
9886 and moving gcc_assert into if body.
9888 2022-01-06 Jakub Jelinek <jakub@redhat.com>
9890 PR rtl-optimization/103908
9891 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
9894 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
9897 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
9898 Skip over instances with undefined function types.
9900 2022-01-05 Andrew Pinski <apinski@marvell.com>
9903 * config/i386/i386.h (x86_mfence): Mark with GTY.
9905 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
9908 * config/i386/mmx.md (VI_16_32): New mode iterator.
9910 (mmxvecsize): Handle V2QI mode.
9911 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
9912 Use VI1_16_32 mode iterator.
9913 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
9914 Use VI1_16_32 mode iterator.
9915 (abs<mode>2): Use VI_16_32 mode iterator.
9916 (uavgv2qi3_ceil): New insn pattern.
9918 2022-01-05 Martin Sebor <msebor@redhat.com>
9920 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
9921 %qs to avoid -Wformat-diag.
9923 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
9926 * config/i386/mmx.md (one_cmplv2qi2): Change
9927 alternatives 1,2 type from sselog to sselog1.
9929 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
9932 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
9933 narrow mode remapped elements for !one_operand_p case.
9935 2022-01-05 Richard Biener <rguenther@suse.de>
9937 PR tree-optimization/103816
9938 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
9939 check DR_GROUP_GAP compute for overflow and representability.
9941 2022-01-05 Jakub Jelinek <jakub@redhat.com>
9944 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
9945 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
9946 it can do unwanted rhs folding like &a[0] into &2.0 etc.
9948 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
9951 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
9952 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
9953 (rs6000_need_ipa_fn_target_info): New function.
9954 (rs6000_update_ipa_fn_target_info): Likewise.
9955 (rs6000_can_inline_p): Adjust for ipa function summary target info.
9956 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
9957 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
9958 summary target info.
9959 (analyze_function_body): Adjust for ipa function summary target info
9960 and call hook rs6000_need_ipa_fn_target_info and
9961 rs6000_update_ipa_fn_target_info.
9962 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
9964 (inline_read_section): Likewise.
9965 (ipa_fn_summary_write): Likewise.
9966 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
9967 * doc/tm.texi: Regenerate.
9968 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
9969 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
9970 * target.def (update_ipa_fn_target_info): New hook.
9971 (need_ipa_fn_target_info): Likewise.
9972 * targhooks.c (default_need_ipa_fn_target_info): New function.
9973 (default_update_ipa_fn_target_info): Likewise.
9974 * targhooks.h (default_update_ipa_fn_target_info): New declare.
9975 (default_need_ipa_fn_target_info): Likewise.
9977 2022-01-04 Martin Sebor <msebor@redhat.com>
9980 * builtins.c (get_memmodel): Move warning code to
9981 gimple-ssa-warn-access.cc.
9982 (expand_builtin_atomic_compare_exchange): Same.
9983 (expand_ifn_atomic_compare_exchange): Same.
9984 (expand_builtin_atomic_load): Same.
9985 (expand_builtin_atomic_store): Same.
9986 (expand_builtin_atomic_clear): Same.
9987 * doc/extend.texi (__atomic_exchange_n): Update valid memory
9989 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
9990 (struct memmodel_pair): New struct.
9991 (memmodel_name): New function.
9992 (pass_waccess::maybe_warn_memmodel): New function.
9993 (pass_waccess::check_atomic_memmodel): New function.
9994 (pass_waccess::check_atomic_builtin): Handle memory model.
9995 * input.c (expansion_point_location_if_in_system_header): Return
9996 original location if expansion location is in a system header.
9998 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
10001 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
10002 (one_cmplv2qi3 splitters): New post-reload splitters.
10003 (*andnotv2qi3): New insn pattern.
10004 (andnotv2qi3 splitters): New post-reload splitters.
10005 (<any_logic:code>v2qi3): New insn pattern.
10006 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
10008 2022-01-04 Richard Biener <rguenther@suse.de>
10010 PR tree-optimization/103800
10011 * tree-vect-loop.c (vectorizable_phi): Remove assert and
10014 2022-01-04 Richard Biener <rguenther@suse.de>
10016 PR tree-optimization/103690
10017 * tree-pass.h (tail_merge_optimize): Adjust.
10018 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
10019 to re-split critical edges, move CFG cleanup ...
10020 * tree-ssa-pre.c (pass_pre::execute): ... here, before
10021 simple_dce_from_worklist and delay freeing inserted_exprs from
10023 (fini_pre): .. here.
10025 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
10027 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
10028 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
10029 (setcc_from_bi): Remove SImode specific pattern.
10030 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
10031 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
10032 for sign- and zero-extending BImode predicates to integers.
10033 (setcc_int<mode>): Remove previous (-1-based) instructions.
10034 (cstorebi4): Remove BImode to SImode specific expander.
10035 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
10036 (cstore<mode>4): For both integer and floating point modes.
10038 2022-01-04 Olivier Hainque <hainque@adacore.com>
10040 * gcc.c (driver_handle_option): do_save --sysroot.
10042 2022-01-04 Richard Biener <rguenther@suse.de>
10044 PR tree-optimization/103864
10045 PR tree-optimization/103544
10046 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
10047 reductions wrapped in conversions from SLP handling.
10048 (vect_analyze_slp): Revert PR103544 change.
10050 2022-01-04 Jakub Jelinek <jakub@redhat.com>
10052 PR rtl-optimization/103860
10053 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
10054 uselessly for blocks for which it has been called already.
10056 2022-01-04 Cui,Lili <lili.cui@intel.com>
10058 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
10059 to Alderlake and Rocketlake.
10061 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
10063 PR middle-end/103643
10064 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
10065 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
10067 2022-01-04 liuhongt <hongtao.liu@intel.com>
10070 * config/i386/sse.md (*bit_and_float_vector_all_ones):
10071 Force_reg operand 1 to avoid ICE.
10073 2022-01-04 Jason Merrill <jason@redhat.com>
10075 * tree-pretty-print.c (do_niy): Add spc parameter.
10077 (print_call_name): Add spc local variable.
10079 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
10082 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
10083 (mov<V_32:mode>_internal): Ditto.
10084 (*push<V_32:mode>_rex64): Ditto.
10085 (movmisalign<V_32:mode>): Ditto.
10086 (*push<V_32:mode>_rex64 splitter): Enable for
10087 TARGET_64BIT && TARGET_SSE.
10088 (*push<V_32:mode>2): Remove insn pattern.
10090 2022-01-03 Andrew Pinski <apinski@marvell.com>
10093 * doc/extend.texi: Extend the documentation about Complex
10094 types for casting and also rewrite the __real__/__imag__
10095 expression portion to use tables.
10096 Move __builtin_complex to the Complex type section.
10098 2022-01-03 Jakub Jelinek <jakub@redhat.com>
10101 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
10102 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
10104 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
10105 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
10106 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
10107 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
10108 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
10109 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
10111 * optabs.def (atomic_add_fetch_cmp_0_optab,
10112 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
10113 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
10115 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
10116 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
10117 * tree-ssa-ccp.c: Include internal-fn.h.
10118 (optimize_atomic_bit_test_and): Add . before internal fn call
10119 in function comment. Change return type from void to bool and
10120 return true only if successfully replaced.
10121 (optimize_atomic_op_fetch_cmp_0): New function.
10122 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
10123 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
10124 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
10125 for *XOR* ones only if optimize_atomic_bit_test_and failed.
10126 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
10127 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
10128 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
10129 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
10130 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
10131 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
10132 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
10133 new named patterns.
10135 2022-01-03 Richard Biener <rguenther@suse.de>
10137 PR middle-end/103851
10138 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
10140 2022-01-03 Jakub Jelinek <jakub@redhat.com>
10143 * symtab.c: Include fold-const.h.
10144 (symtab_node::equal_address_to): If folding_initializer is true,
10145 handle it like memory_accessed. Simplify.
10147 2022-01-03 Martin Liska <mliska@suse.cz>
10149 * doc/extend.texi: Use ; for function declarations.
10151 2022-01-03 Jakub Jelinek <jakub@redhat.com>
10154 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
10155 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
10157 2022-01-03 Jakub Jelinek <jakub@redhat.com>
10159 * gcc.c (process_command): Update copyright notice dates.
10160 * gcov-dump.c (print_version): Ditto.
10161 * gcov.c (print_version): Ditto.
10162 * gcov-tool.c (print_version): Ditto.
10163 * gengtype.c (create_file): Ditto.
10164 * doc/cpp.texi: Bump @copying's copyright year.
10165 * doc/cppinternals.texi: Ditto.
10166 * doc/gcc.texi: Ditto.
10167 * doc/gccint.texi: Ditto.
10168 * doc/gcov.texi: Ditto.
10169 * doc/install.texi: Ditto.
10170 * doc/invoke.texi: Ditto.
10172 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
10175 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
10176 (VALID_INT_MODE_P): Ditto.
10177 * config/i386/i386.c (ix86_secondary_reload): Handle
10178 V2QImode reloads from SSE register to memory.
10179 (vector_mode_supported_p): Always return true for V2QImode.
10180 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
10181 (*negqi_ext<mode>_2): Ditto.
10182 * config/i386/mmx.md (movv2qi): New expander.
10183 (movmisalignv2qi): Ditto.
10184 (*movv2qi_internal): New insn pattern.
10185 (*pushv2qi2): Ditto.
10186 (negv2qi2 and splitters): Ditto.
10187 (<plusminus:insn>v2qi3 and splitters): Ditto.
10189 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
10191 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
10192 sync_lock_test_and_set libfunc. Call convert_memory_address to
10193 convert memory address to Pmode.
10194 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
10197 Copyright (C) 2022 Free Software Foundation, Inc.
10199 Copying and distribution of this file, with or without modification,
10200 are permitted in any medium without royalty provided the copyright
10201 notice and this notice are preserved.