1 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
3 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
4 (output_ctf_vars): Likewise.
6 2022-03-28 Jason Merrill <jason@redhat.com>
9 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
11 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
14 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
17 2022-03-28 Tom de Vries <tdevries@suse.de>
20 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
21 * config/nvptx/nvptx-gen.opt: Regenerate.
22 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
23 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
26 2022-03-28 David Malcolm <dmalcolm@redhat.com>
29 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
30 to loads then stores, set the location of the new load stmt.
32 2022-03-28 Richard Biener <rguenther@suse.de>
34 PR tree-optimization/105070
35 * tree-switch-conversion.h
36 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
38 * tree-switch-conversion.cc
39 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
41 (bit_test_cluster::emit): Annotate all generated expressions
44 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
46 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
48 2022-03-28 liuhongt <hongtao.liu@intel.com>
51 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
52 alternative 4 from sse4_noavx to noavx.
54 2022-03-28 Jakub Jelinek <jakub@redhat.com>
56 PR tree-optimization/105056
57 * tree-predcom.cc (component::component): Initialize also comp_step.
59 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
62 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
65 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
68 * calls.cc (mark_stack_region_used): Check that the region
69 is within the allocated size of stack_usage_map.
71 2022-03-26 Jakub Jelinek <jakub@redhat.com>
73 PR rtl-optimization/103775
74 * recog.cc (check_invalid_inc_dec): New function.
75 (insn_invalid_p): Return 1 if REG_INC operand overlaps
78 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
81 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
82 (aes<aesklvariant>u8): Likewise.
84 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
87 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
88 Replace "Yv" with "x".
89 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
90 (ssse3_psign<mode>3): Likewise.
92 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
94 * reload.cc (find_reloads): Align comment with code where
95 considering the intersection of register classes then tweaking the
96 regclass for the current alternative or rejecting it.
98 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
102 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
104 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
105 (mve_vec_unpack<US>_hi_<mode>): Delete.
106 (@mve_vec_pack_trunc_lo_<mode>): Delete.
107 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
108 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
110 (vec_unpack<US>_lo_<mode>): Likewise.
111 (vec_pack_trunc_<mode>): Rename from
112 neon_quad_vec_pack_trunc_<mode>.
113 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
114 (vec_unpack<US>_lo_<mode>): Delete.
115 (vec_pack_trunc_<mode>): Delete.
117 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
120 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
121 regs to clear remove_p flag.
123 2022-03-25 Richard Biener <rguenther@suse.de>
125 PR tree-optimization/105053
126 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
127 the correct live-out stmt for a reduction chain.
129 2022-03-25 Richard Biener <rguenther@suse.de>
132 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
133 CONSTRUCTOR first elements.
135 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
138 * doc/invoke.texi (Static Analyzer Options): Move
139 @ignore block after @gccoptlist's '}' for 'make pdf'.
141 2022-03-25 David Malcolm <dmalcolm@redhat.com>
144 * doc/invoke.texi (Static Analyzer Options): Add
145 -fdump-analyzer-untracked.
147 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
150 * doc/invoke.texi: Document that enabling taint analyzer
151 checker disables some warnings from `-fanalyzer`.
153 2022-03-24 Alexandre Oliva <oliva@adacore.com>
156 * gimple-harden-conditionals.cc (detach_value): Keep temps
159 2022-03-24 Alexandre Oliva <oliva@adacore.com>
162 * gimple-harden-conditionals.cc
163 (pass_harden_compares::execute): Force split in case of
166 2022-03-24 Jakub Jelinek <jakub@redhat.com>
169 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
170 field0 or field1 is not a FIELD_DECL, return false.
172 2022-03-24 Richard Biener <rguenther@suse.de>
174 * tree-predcom.cc (chain::chain): Add CTOR.
175 (component::component): Likewise.
176 (pcom_worker::release_chain): Use delete.
177 (release_components): Likewise.
178 (pcom_worker::filter_suitable_components): Likewise.
179 (pcom_worker::split_data_refs_to_components): Use new.
180 (make_invariant_chain): Likewise.
181 (make_rooted_chain): Likewise.
182 (pcom_worker::combine_chains): Likewise.
183 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
184 Make sure to release previously constructed scalar_results.
185 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
187 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
188 Release m_flag_set_edges.
190 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
192 PR tree-optimization/104970
193 * tree-object-size.cc (parm_object_size): Restrict size
194 computation scenarios to explicit access attributes.
196 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
199 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
202 2022-03-23 Richard Biener <rguenther@suse.de>
205 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
206 use of movmisalign when either the source or destination
207 decl is properly aligned.
209 2022-03-23 Richard Biener <rguenther@suse.de>
211 PR rtl-optimization/105028
212 * ira-color.cc (form_threads_from_copies): Remove unnecessary
213 copying of the sorted_copies tail.
215 2022-03-23 Martin Liska <mliska@suse.cz>
217 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
219 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
220 Reword the error message.
222 2022-03-23 liuhongt <hongtao.liu@intel.com>
225 * config/i386/sse.md (ssePSmodelower): New.
226 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
227 lowpart_subreg to avoid NULL_RTX.
228 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
229 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
230 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
231 <avx512>_<complexopname>_<mode>_mask<round_name>,
232 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
233 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
234 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
235 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
236 float<floatunssuffix><mode>v4hf2,
237 float<floatunssuffix>v2div2hf2,
238 fix<fixunssuffix>_truncv4hf<mode>2,
239 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
241 trunc<mode>v4hf2,truncv2dfv2hf2,
242 *avx512bw_permvar_truncv16siv16hi_1,
243 *avx512bw_permvar_truncv16siv16hi_1_hf,
244 *avx512f_permvar_truncv8siv8hi_1,
245 *avx512f_permvar_truncv8siv8hi_1_hf,
246 *avx512f_vpermvar_truncv8div8si_1,
247 *avx512f_permvar_truncv32hiv32qi_1,
248 *avx512f_permvar_truncv16hiv16qi_1,
249 *avx512f_permvar_truncv4div4si_1,
250 *avx512f_pshufb_truncv8hiv8qi_1,
251 *avx512f_pshufb_truncv4siv4hi_1,
252 *avx512f_pshufd_truncv2div2si_1,
253 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
254 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
256 2022-03-22 Tom de Vries <tdevries@suse.de>
259 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
260 Use % as register prefix.
262 2022-03-22 Tom de Vries <tdevries@suse.de>
264 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
265 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
268 2022-03-22 Tom de Vries <tdevries@suse.de>
270 * config/nvptx/nvptx.opt (mexperimental): New option.
272 2022-03-22 Tom de Vries <tdevries@suse.de>
275 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
276 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
278 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
279 (nvptx_asm_output_def_from_decls): New function.
280 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
282 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
283 nvptx_asm_output_def_from_decls.
284 * config/nvptx/nvptx.opt (malias): New opt.
286 2022-03-22 Tom de Vries <tdevries@suse.de>
290 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
291 sync (or uniform warp check for mptx < 6.0).
293 2022-03-22 Richard Biener <rguenther@suse.de>
295 PR tree-optimization/105012
296 * tree-if-conv.cc (ifcvt_local_dce): Only call
297 dse_classify_store when we have a VDEF.
299 2022-03-22 Martin Liska <mliska@suse.cz>
302 * config/nvptx/nvptx.cc (handle_ptx_version_option):
303 Fix option wrapping in an error message.
305 2022-03-22 Martin Liska <mliska@suse.cz>
308 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
311 2022-03-22 Martin Liska <mliska@suse.cz>
313 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
316 2022-03-22 Martin Liska <mliska@suse.cz>
319 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
320 Use %qs instead of (%qs).
322 2022-03-22 Martin Liska <mliska@suse.cz>
325 * config/i386/i386-options.cc (ix86_option_override_internal):
326 Use '%qs' instead of '(%qs)'.
328 2022-03-22 Martin Liska <mliska@suse.cz>
331 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
332 Use 'qs' and remove usage '(%qs)'.
333 (aarch64_handle_attr_cpu): Likewise.
334 (aarch64_handle_attr_tune): Likewise.
335 (aarch64_handle_attr_isa_flags): Likewise.
337 2022-03-22 Tamar Christina <tamar.christina@arm.com>
338 Andre Vieira <andre.simoesdiasvieira@arm.com>
340 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
342 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
344 (neoverse512tvb_tunings): Likewise.
346 2022-03-22 Tamar Christina <tamar.christina@arm.com>
347 Andre Vieira <andre.simoesdiasvieira@arm.com>
349 * config/aarch64/aarch64.cc (demeter_addrcost_table,
350 demeter_regmove_cost, demeter_advsimd_vector_cost,
351 demeter_sve_vector_cost, demeter_scalar_issue_info,
352 demeter_advsimd_issue_info, demeter_sve_issue_info,
353 demeter_vec_issue_info, demeter_vector_cost,
354 demeter_tunings): New tuning structs.
355 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
357 * config/aarch64/aarch64-cores.def: Add entry for demeter.
358 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
360 2022-03-22 Tamar Christina <tamar.christina@arm.com>
361 Andre Vieira <andre.simoesdiasvieira@arm.com>
363 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
364 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
365 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
366 tunings to use cpu_memmov_cost struct.
368 2022-03-22 Tamar Christina <tamar.christina@arm.com>
369 Andre Vieira <andre.simoesdiasvieira@arm.com>
371 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
372 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
373 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
374 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
375 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
376 (neoversen2_tunings): Use new structs and update tuning flags.
377 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
380 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
382 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
385 2022-03-22 liuhongt <hongtao.liu@intel.com>
388 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
389 following splitter to reversed condition.
391 2022-03-22 Jakub Jelinek <jakub@redhat.com>
393 PR rtl-optimization/104989
394 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
395 sorry for passing too large argument, instead set sibcall_failure
396 for pass == 0, or a new normal_failure flag otherwise. If
397 normal_failure is set, don't assert all stack has been deallocated
398 at the end and throw away the whole insn sequence.
400 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
402 * print-tree.cc: Change array length
404 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
408 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
409 Use avx512f_movsf_mask instead of vmovaps or vblend, and
410 force_reg before lowpart_subreg.
411 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
413 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
416 * common/config/i386/i386-common.cc
417 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
418 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
420 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
423 * common/config/i386/cpuinfo.h (get_available_features): Pass
424 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
427 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
430 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
431 (clobber_group::next_clobber): Likewise.
432 (def_lookup::prev_def): Rename to...
433 (def_lookup::last_def_of_prev_group): ...this.
434 (def_lookup::next_def): Rename to...
435 (def_lookup::first_def_of_next_group): ...this.
436 (def_lookup::matching_or_prev_def): Rename to...
437 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
438 (def_lookup::matching_or_next_def): Rename to...
439 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
440 (def_lookup::prev_def): New function, taking the lookup insn as
442 (def_lookup::next_def): Likewise.
443 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
444 (def_lookup::last_def_of_prev_group): ...this.
445 (def_lookup::next_def): Rename to...
446 (def_lookup::first_def_of_next_group): ...this.
447 (def_lookup::matching_or_prev_def): Rename to...
448 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
449 (def_lookup::matching_or_next_def): Rename to...
450 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
451 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
453 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
454 (clobber_group::next_clobber): Likewise.
455 (def_lookup::prev_def): Likewise.
456 (def_lookup::next_def): Likewise.
457 (function_info::make_use_available): Pass the lookup insn to
458 def_lookup::prev_def and def_lookup::next_def.
460 2022-03-21 Martin Liska <mliska@suse.cz>
462 * doc/invoke.texi: Document min-pagesize parameter.
464 2022-03-21 Richard Biener <rguenther@suse.de>
466 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
467 we are estimating niter of loop.
469 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
471 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
472 Update flag name and mask name.
473 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
474 misc macro for vector extensions.
475 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
476 (MASK_VECTOR_ELEN_32): ... this.
477 (MASK_VECTOR_EEW_64): Rename to ...
478 (MASK_VECTOR_ELEN_64): ... this.
479 (MASK_VECTOR_EEW_FP_32): Rename to ...
480 (MASK_VECTOR_ELEN_FP_32): ... this.
481 (MASK_VECTOR_EEW_FP_64): Rename to ...
482 (MASK_VECTOR_ELEN_FP_64): ... this.
483 (TARGET_VECTOR_ELEN_32): New.
484 (TARGET_VECTOR_ELEN_64): Ditto.
485 (TARGET_VECTOR_ELEN_FP_32): Ditto.
486 (TARGET_VECTOR_ELEN_FP_64): Ditto.
487 (TARGET_MIN_VLEN): Ditto.
488 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
489 (riscv_vector_elen_flags): ... this.
491 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
495 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
496 Correct round operand for intel dialect.
498 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
500 * diagnostic.cc (diagnostic_cc_tests): Rename to...
501 (c_diagnostic_cc_tests): ...this.
502 * opt-problem.cc (opt_problem_cc_tests): Rename to...
503 (c_opt_problem_cc_tests): ...this.
504 * selftest-run-tests.cc (selftest::run_tests): No longer run
505 opt_problem_cc_tests or diagnostic_cc_tests.
506 * selftest.h (diagnostic_cc_tests): Remove declaration.
507 (opt_problem_cc_tests): Likewise.
509 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
512 * hash-traits.h (struct typed_const_free_remove): New.
513 (struct free_string_hash): New.
514 * pass_manager.h: Use free_string_hash.
515 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
516 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
518 2022-03-19 Jakub Jelinek <jakub@redhat.com>
521 * config/i386/i386-expand.cc
522 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
523 don't push/pop anything and just return const0_rtx.
525 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
527 PR rtl-optimization/104961
528 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
530 2022-03-18 Jason Merrill <jason@redhat.com>
532 * tree.h (IDENTIFIER_LENGTH): Add comment.
534 2022-03-18 Jakub Jelinek <jakub@redhat.com>
538 PR tree-optimization/100834
539 * params.opt (--param=min-pagesize=): New parameter.
541 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
542 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
543 of zero for pointer constants equal or larger than min-pagesize.
545 2022-03-18 Tom de Vries <tdevries@suse.de>
547 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
548 Set gfor location only when dealing with a OMP_TASKLOOP.
550 2022-03-18 Tom de Vries <tdevries@suse.de>
552 * gimplify.cc (gimplify_omp_for): Set taskloop location.
554 2022-03-18 Tom de Vries <tdevries@suse.de>
557 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
558 is executed unconditionally.
560 2022-03-18 liuhongt <hongtao.liu@intel.com>
563 * config/i386/i386.md (*movhi_internal): Set attr type from HI
564 to HF for alternative 12 under TARGET_AVX512FP16.
566 2022-03-18 Cui,Lili <lili.cui@intel.com>
569 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
570 * doc/invoke.texi: Update documents for Intel sapphirerapids.
572 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
575 PR tree-optimization/90356
576 * config/i386/i386.md (*movtf_internal): Don't guard
577 standard_sse_constant_p clause by optimize_function_for_size_p.
578 (*movdf_internal): Likewise.
579 (*movsf_internal): Likewise.
581 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
583 PR tree-optimization/102943
584 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
585 dominators and apply intermediary outgoing edge ranges.
587 2022-03-17 Richard Biener <rguenther@suse.de>
589 PR tree-optimization/104960
590 * passes.def: Add pass parameter to pass_sink_code, mark
591 last one to unsplit edges.
592 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
593 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
594 when we need to unsplit edges.
596 2022-03-17 Jakub Jelinek <jakub@redhat.com>
599 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
600 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
601 and asan unpoisioning, then append the temporary sequence and
602 finally the TARGET_EXPR_CLEANUP clobbers.
604 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
606 * config/i386/sse.md: Delete corrupt character/typo.
608 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
611 * config/i386/sse.md (sse2_movq128): New define_expand to
612 preserve previous named instruction.
613 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
614 generalized to VI8F_128 (both V2DI and V2DF).
616 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
618 PR tree-optimization/104941
619 * tree-object-size.cc (size_for_offset): Make useless conversion
620 check lighter and assign result of fold_convert to OFFSET.
622 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
625 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
626 pushing target("general-regs-only").
628 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
630 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
631 Add version info for zk, zks and zkn.
633 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
635 * common/config/riscv/riscv-common.cc
636 (riscv_combine_info): New.
637 (riscv_subset_list::handle_combine_ext): Combine back into zk to
638 maintain the canonical order in isa strings.
639 (riscv_subset_list::parse): Ditto.
640 * config/riscv/riscv-subset.h (handle_combine_ext): New.
642 2022-03-16 Richard Biener <rguenther@suse.de>
644 PR tree-optimization/102008
645 * passes.def: Move the added code sinking pass before the
646 preceeding phiopt pass.
648 2022-03-16 Patrick Palka <ppalka@redhat.com>
651 * doc/invoke.texi (C++ Dialect Options): Document
652 -ffold-simple-inlines.
654 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
656 PR tree-optimization/104942
657 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
659 2022-03-16 Jakub Jelinek <jakub@redhat.com>
662 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
665 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
666 Richard Biener <rguenther@suse.de>
668 * gimple-match-head.cc (single_use): Implement inline using a
671 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
673 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
674 instead of HONOR_NANS.
675 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
676 this can't trap/signal.
678 2022-03-16 liuhongt <hongtao.liu@intel.com>
681 * config/i386/i386-builtin.def (BDESC): Add
682 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
683 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
684 __builtin_ia32_blendvpd w/o sse4.2
686 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
689 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
690 acceptable MEM addresses.
692 2022-03-15 Jakub Jelinek <jakub@redhat.com>
695 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
696 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
699 2022-03-15 Jakub Jelinek <jakub@redhat.com>
702 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
703 instead of general-regs-only.
705 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
706 Marc Glisse <marc.glisse@inria.fr>
707 Richard Biener <rguenther@suse.de>
709 PR tree-optimization/101895
710 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
711 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
713 2022-03-15 Jakub Jelinek <jakub@redhat.com>
715 PR rtl-optimization/104814
716 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
717 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
719 2022-03-15 Martin Sebor <msebor@redhat.com>
722 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
723 Check for warning suppression. Avoid by-value arguments transformed
724 into by-transparent-reference.
726 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
727 Uroš Bizjak <ubizjak@gmail.com>
729 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
730 transformation when *zero_extend<mode>si2 is not available.
732 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
734 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
735 * config/mips/mips.cc (mips_option_override): Make
736 -fsanitize=address imply -fasynchronous-unwind-tables. This is
737 needed by libasan for stack backtrace on MIPS.
738 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
740 2022-03-14 Jakub Jelinek <jakub@redhat.com>
743 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
744 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
745 call simplified the first operand into VOIDmode constant.
747 2022-03-14 Jakub Jelinek <jakub@redhat.com>
749 PR tree-optimization/102586
750 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
751 argument type should be pointer to trivially-copyable type unless it
752 is address of a variable or parameter.
754 2022-03-14 Jakub Jelinek <jakub@redhat.com>
757 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
758 first rather than last element of the vector, use __m32_u to do
759 a really unaligned load, use just 0 instead of (int)0.
760 (_mm_loadu_si16): Put loaded value into first rather than last
761 element of the vector, use __m16_u to do a really unaligned load,
762 use just 0 instead of (short)0.
764 2022-03-14 Jakub Jelinek <jakub@redhat.com>
767 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
768 in diagnostic message - cannott -> cannot. Use %< and %> around
769 names of attribute. Avoid too long line.
770 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
771 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
773 2022-03-14 liuhongt <hongtao.liu@intel.com>
776 * config/i386/i386-expand.cc
777 (ix86_check_builtin_isa_match): New func.
778 (ix86_expand_builtin): Move code to
779 ix86_check_builtin_isa_match and call it.
780 * config/i386/i386-protos.h
781 (ix86_check_builtin_isa_match): Declare.
782 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
783 builtin into gimple when isa mismatches.
785 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
787 * doc/invoke.texi: Fix typos.
788 * doc/tm.texi.in: Remove duplicated word.
789 * doc/tm.texi: Regenerate.
791 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
794 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
795 "ppc" and "ppc64" based on rs6000_cpu.
797 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
801 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
802 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
804 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
808 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
809 Mark variables used in 'present' clauses as addressable.
810 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
811 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
813 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
816 * tree-core.h (user_omp_claus_code_name): Declare function.
817 * tree.cc (user_omp_clause_code_name): New function.
819 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
822 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
823 (the defaut) or -fno-signed-zeros.
825 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
828 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
829 moving from a GPR register to an Altivec register.
831 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
833 PR tree-optimization/98335
834 * config/i386/i386.md (peephole2): Eliminate redundant insv.
835 Combine movl followed by movb. Transform xorl followed by
836 a suitable movb or movw into the equivalent movz[bw]l.
838 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
839 Richard Biener <rguenther@suse.de>
841 PR tree-optimization/98335
842 * builtins.cc (get_object_alignment_2): Export.
843 * builtins.h (get_object_alignment_2): Likewise.
844 * tree-ssa-alias.cc (ao_ref_alignment): New.
845 * tree-ssa-alias.h (ao_ref_alignment): Declare.
846 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
847 to align head/tail, writing more bytes but using fewer store insns.
849 2022-03-11 Richard Biener <rguenther@suse.de>
851 PR tree-optimization/104880
852 * tree-ssa.cc (execute_update_address_taken): Remember if we
853 optimistically made something not addressable and
856 2022-03-11 Richard Biener <rguenther@suse.de>
859 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
860 cost the first lane of SSE pieces as inserts for vec_construct.
862 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
865 * calls.cc (expand_call): Ignore stack adjustments after sorry.
867 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
870 * lra-constraints.cc (split_reg): Set up
871 check_and_force_assignment_correctness_p when splitting hard
874 2022-03-10 Martin Jambor <mjambor@suse.cz>
877 * ipa-cp.cc (create_specialized_node): Move removal of
878 self-recursive calls from callers vector before refrence
881 2022-03-10 Richard Biener <rguenther@suse.de>
883 PR tree-optimization/102943
884 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
886 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
888 (sbr_sparse_bitmap::set_bb_range): Adjust.
889 (sbr_sparse_bitmap::get_bb_range): Likewise.
891 2022-03-10 Richard Biener <rguenther@suse.de>
893 PR tree-optimization/102943
894 * tree-ssa-dom.cc (back_propagate_equivalences): Only
895 populate the dominance bitmap if fast queries are not
896 available. Use a tree view bitmap.
897 (record_temporary_equivalences): Cache the dominance bitmap
898 across all equivalences on the edge.
900 2022-03-10 Tom de Vries <tdevries@suse.de>
903 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
906 2022-03-10 Tom de Vries <tdevries@suse.de>
909 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
910 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
911 (nvptx_get_unisimt_outside_simt_predicate): New function.
912 (predicate_insn): New function, factored out of ...
913 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
914 * config/nvptx/nvptx.h (struct machine_function): Add
915 unisimt_outside_simt_predicate field.
916 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
917 (define_insn "nvptx_uniform_warp_check"): Make predicable.
919 2022-03-10 Tom de Vries <tdevries@suse.de>
921 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
924 2022-03-10 Tom de Vries <tdevries@suse.de>
927 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
929 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
931 2022-03-10 Tom de Vries <tdevries@suse.de>
933 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
934 Emit atom.and.b64 instead of atom.b64.and.
936 2022-03-10 Tom de Vries <tdevries@suse.de>
938 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
939 (MULTILIB_OPTIONS): ... here.
941 2022-03-10 Tom de Vries <tdevries@suse.de>
944 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
945 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
947 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
952 * omp-low.cc (oacc_privatization_candidate_p)
953 (oacc_privatization_scan_clause_chain)
954 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
955 Analyze 'lookup_decl'-translated DECL.
957 2022-03-10 Jakub Jelinek <jakub@redhat.com>
960 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
961 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
962 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
963 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
964 "**NULL**" if type_node is NULL first. Handle
965 ieee128_float_type_node.
966 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
967 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
968 ieee128_float_type_node to NULL rather than long_double_type_node if
969 they aren't supported. Do support __ibm128 even if
970 !TARGET_FLOAT128_TYPE when long double is double double.
971 (rs6000_expand_builtin): Error if bif_is_ibm128 and
972 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
973 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
975 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
976 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
977 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
978 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
980 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
981 (struct attrinfo): Add isibm128 member.
982 (TYPE_MAP_SIZE): Remove.
983 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
984 ibm128_float_type_node only if it is non-NULL, otherwise fall back
985 to long_double_type_node. Remove "pif" entry.
986 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
987 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
988 (write_type_node): Use sizeof type_map / sizeof type_map[0]
989 instead of TYPE_MAP_SIZE.
990 (write_bif_static_init): Handle isibm128.
991 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
992 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
995 2022-03-09 Richard Biener <rguenther@suse.de>
997 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
998 with non-decl operand, avoiding a copy.
1000 2022-03-09 Jakub Jelinek <jakub@redhat.com>
1003 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
1005 2022-03-09 Richard Biener <rguenther@suse.de>
1007 PR middle-end/104786
1008 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
1009 for VLAs without an upper size bound.
1011 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
1013 PR tree-optimization/104851
1014 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
1017 2022-03-09 Jakub Jelinek <jakub@redhat.com>
1020 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
1021 is enabled by it only for C++11 to C++17 rather than for C++03 or
1023 (-Wshift-negative-value): Similarly (except here we stated
1024 that it is enabled for C++11 or later).
1026 2022-03-09 Jakub Jelinek <jakub@redhat.com>
1028 PR rtl-optimization/104839
1029 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
1030 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
1031 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
1032 instead of incorrect 0 in SUBREG_PROMOTED_SET.
1034 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
1037 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
1038 value before adding an offset.
1040 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
1042 * config/arm/arm-builtins.cc
1043 (arm_binop_none_none_unone_qualifiers): Delete.
1044 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
1046 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
1048 PR translation/104552
1049 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
1050 the PCH out of memory error message punctuation and wording.
1052 2022-03-08 Marek Polacek <polacek@redhat.com>
1054 PR rtl-optimization/104777
1055 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
1056 ASM_OPERANDS_LABEL_VEC has at least one element.
1058 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
1061 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
1062 stack realignment or regparm nested function with EH return.
1064 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
1067 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
1068 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
1069 register for non widening loads or narrowing stores.
1071 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
1073 PR translation/104552
1074 * params.opt: Fix typo.
1076 2022-03-08 Richard Biener <rguenther@suse.de>
1078 PR tree-optimization/84201
1079 * params.opt (-param=vect-induction-float): Add.
1080 * doc/invoke.texi (vect-induction-float): Document.
1081 * tree-vect-loop.cc (vectorizable_induction): Honor
1082 param_vect_induction_float.
1084 2022-03-08 Martin Jambor <mjambor@suse.cz>
1086 PR translation/104552
1087 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
1088 "that" in the description.
1090 2022-03-08 Richard Biener <rguenther@suse.de>
1092 PR tree-optimization/104825
1093 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
1094 guard modref get_ao_ref on a pointer typed argument.
1096 2022-03-08 liuhongt <hongtao.liu@intel.com>
1098 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
1099 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
1101 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
1103 * doc/invoke.texi (C++ Modules): Remove anachronism.
1105 2022-03-07 Martin Liska <mliska@suse.cz>
1107 PR middle-end/104381
1108 * opts.cc (finish_options): If debug info is disabled
1109 (debug_info_level) and -fvar-tracking is unset, disable it.
1111 2022-03-07 Jakub Jelinek <jakub@redhat.com>
1113 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
1114 * config/riscv/riscv.cc: Likewise.
1115 * config/darwin.h: Likewise.
1116 * config/i386/i386.cc: Likewise.
1117 * config/aarch64/thunderx3t110.md: Likewise.
1118 * config/aarch64/fractional-cost.h: Likewise.
1119 * config/vax/vax.cc: Likewise.
1120 * config/rs6000/pcrel-opt.md: Likewise.
1121 * config/rs6000/predicates.md: Likewise.
1123 * tree-ssa-uninit.cc: Likewise.
1124 * value-relation.h: Likewise.
1125 * gimple-range-gori.cc: Likewise.
1126 * ipa-polymorphic-call.cc: Likewise.
1127 * pointer-query.cc: Likewise.
1128 * ipa-sra.cc: Likewise.
1129 * internal-fn.cc: Likewise.
1130 * varasm.cc: Likewise.
1131 * gimple-ssa-warn-access.cc: Likewise.
1133 2022-03-07 Martin Liska <mliska@suse.cz>
1136 * config/arm/arm.cc (arm_option_override_internal): Add missing
1139 2022-03-07 Richard Biener <rguenther@suse.de>
1141 PR tree-optimization/104782
1142 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
1143 Re-instantiate r10-5979 fix, add comment.
1145 2022-03-07 Martin Liska <mliska@suse.cz>
1148 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
1149 parenthesis from built-in name.
1151 2022-03-07 Martin Liska <mliska@suse.cz>
1154 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
1155 of options in error messages.
1156 (arm_option_reconfigure_globals): Likewise.
1158 2022-03-07 Martin Liska <mliska@suse.cz>
1161 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
1162 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
1163 have only range [0,32].
1165 2022-03-07 Jakub Jelinek <jakub@redhat.com>
1168 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
1169 S constraint instead of T in the last alternative.
1171 2022-03-07 Martin Liska <mliska@suse.cz>
1173 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
1176 2022-03-07 Martin Liska <mliska@suse.cz>
1178 PR translation/90148
1179 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
1180 quote to a proper place.
1181 * plugin.cc (default_plugin_dir_name): Likewise.
1183 2022-03-07 Martin Liska <mliska@suse.cz>
1186 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
1189 2022-03-07 Jakub Jelinek <jakub@redhat.com>
1192 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
1193 define_expand pattern. Rename define_insn to ...
1194 (*avx512dq_mul<mode>3<mask_name>): ... this.
1195 (<code><mode>3_mask): New any_logic define_expand pattern.
1196 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
1197 (*<code><mode>3<mask_name>): ... this.
1199 2022-03-05 Jakub Jelinek <jakub@redhat.com>
1201 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
1202 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
1204 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
1205 Uroš Bizjak <ubizjak@gmail.com>
1208 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
1209 Include DI mode unconditionally.
1210 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
1211 i.e. always split on !TARGET_64BIT.
1212 (*<any_or>di3_doubleword): Likewise.
1213 (*one_cmpldi2_doubleword): Likewise.
1214 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
1215 (<any_or><mode>3 expander): Likewise.
1216 (one_cmpl<mode>2 expander): Likewise.
1218 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
1221 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
1222 (mtvsrdd_diti_w1): Delete.
1223 (extendditi2): Convert from define_expand to
1224 define_insn_and_split. Replace with code to deal with both GPR
1225 registers and with altivec registers.
1227 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
1229 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
1230 bit. Handle most older CPUs.
1232 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
1234 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
1235 avoid a mismatch with DECL_MD_FUNCTION_CODE().
1237 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
1240 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
1241 (@machopic_low_<mode>): New.
1242 * config/rs6000/predicates.md (macho_pic_address): New.
1243 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
1244 apply the TLS processing to Darwin.
1245 * lra-constraints.cc (process_address_1): Revert the changes
1248 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
1252 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
1253 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
1255 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
1257 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
1260 2022-03-04 Jakub Jelinek <jakub@redhat.com>
1262 PR middle-end/104529
1263 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
1264 on automatic objects which will be runtime initialized.
1266 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1268 PR middle-end/100280
1269 PR middle-end/104132
1270 PR middle-end/104133
1271 * omp-low.cc (task_shared_vars): Rename to
1272 'make_addressable_vars'. Adjust all users.
1273 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
1274 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
1276 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1278 PR middle-end/100280
1279 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
1280 * tree-core.h: Document it.
1281 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
1282 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
1283 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
1284 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
1287 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1289 PR middle-end/100280
1290 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
1291 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
1292 '[...]' declared in block made addressable".
1294 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
1296 PR middle-end/100400
1297 PR middle-end/103836
1298 PR middle-end/104061
1299 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
1300 Catch 'GIMPLE_DEBUG'.
1302 2022-03-04 Jakub Jelinek <jakub@redhat.com>
1305 * tree.cc (warn_deprecated_use): For types prefer to use node
1306 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
1309 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
1312 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
1315 2022-03-03 Martin Sebor <msebor@redhat.com>
1317 PR middle-end/104761
1318 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
1319 mark_dfs_back_edges.
1321 2022-03-03 Martin Liska <mliska@suse.cz>
1323 * configure.ac: Use linker plug-in by default.
1324 * configure: Regenerate.
1326 2022-03-03 Martin Liska <mliska@suse.cz>
1328 * configure.ac: Now ld.mold support LTO plugin API, use it.
1329 * configure: Regenerate.
1331 2022-03-03 Tom de Vries <tdevries@suse.de>
1333 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
1335 2022-03-03 Tom de Vries <tdevries@suse.de>
1338 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
1340 2022-03-03 Tom de Vries <tdevries@suse.de>
1342 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
1344 2022-03-03 Jakub Jelinek <jakub@redhat.com>
1346 PR middle-end/104757
1347 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
1349 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
1350 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
1352 2022-03-03 Jakub Jelinek <jakub@redhat.com>
1354 PR middle-end/104558
1355 * calls.cc (store_one_arg): When not calling emit_push_insn
1356 because size_rtx is const0_rtx, call at least anti_adjust_stack
1357 on arg->locate.alignment_pad if !argblock and the alignment might
1360 2022-03-02 Alexandre Oliva <oliva@adacore.com>
1362 * lra-constraints.cc (undo_optional_reloads): Recognize and
1363 drop insns of multi-word move sequences, tolerate removal
1364 iteration on an already-removed clobber, and refuse to
1365 substitute original pseudos into clobbers.
1367 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
1369 PR middle-end/102276
1370 * common.opt (-Wtrivial-auto-var-init): New option.
1371 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
1372 (-ftrivial-auto-var-init): Update option;
1373 * gimplify.cc (emit_warn_switch_unreachable): New function.
1374 (warn_switch_unreachable_r): Rename to ...
1375 (warn_switch_unreachable_and_auto_init_r): This.
1376 (maybe_warn_switch_unreachable): Rename to ...
1377 (maybe_warn_switch_unreachable_and_auto_init): This.
1378 (gimplify_switch_expr): Update calls to renamed function.
1380 2022-03-02 Richard Biener <rguenther@suse.de>
1382 PR rtl-optimization/104686
1383 * ira-color.cc (object_conflicts_with_allocno_p): New function
1384 using a bitvector test instead of iterating when possible.
1385 (allocnos_conflict_p): Choose the best allocno to iterate over
1387 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
1390 2022-03-02 Jakub Jelinek <jakub@redhat.com>
1392 * cfg.cc (dump_edge_info): Dump goto_locus if present.
1394 2022-03-02 Jakub Jelinek <jakub@redhat.com>
1396 PR rtl-optimization/104589
1397 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
1398 INSN_LOCATION comparison with goto_locus.
1400 2022-03-02 Jakub Jelinek <jakub@redhat.com>
1402 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
1403 strlen_pass::before_dom_children): Comment spelling fixes.
1405 2022-03-02 Jakub Jelinek <jakub@redhat.com>
1407 * ipa-modref-tree.cc (modref_access_node::contains,
1408 modref_access_node::closer_pair_p, modref_access_node::insert,
1409 modref_access_node::insert_kill): Comment spelling fixes.
1410 * ipa-modref.cc: Likewise.
1411 (modref_summary::finalize, ignore_nondeterminism_p,
1412 class modref_access_analysis,
1413 modref_access_analysis::set_side_effects,
1414 modref_access_analysis::set_nondeterministic,
1415 modref_access_analysis::record_global_memory_load,
1416 modref_access_analysis::propagate, modref_access_analysis::analyze,
1417 struct escape_point, class modref_lattice, modref_lattice::merge,
1418 modref_lattice::merge_deref, class modref_eaf_analysis,
1419 modref_eaf_analysis::merge_call_lhs_flags,
1420 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
1421 modref_eaf_analysis::record_escape_points, remap_kills,
1422 update_escape_summary, remove_useless_summaries,
1423 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
1425 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
1427 * ipa-modref-tree.h (enum modref_special_parms,
1428 struct modref_access_node): Likewise.
1430 2022-03-01 Jakub Jelinek <jakub@redhat.com>
1432 PR tree-optimization/104715
1433 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
1434 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
1435 of a call if gimple_call_return_arg is equal to ptr, not just when it
1438 2022-03-01 Jakub Jelinek <jakub@redhat.com>
1440 * gimple-ssa-warn-access.cc (warn_string_no_nul,
1441 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
1442 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
1443 pass_waccess::check_alloca, pass_waccess::check_strcat,
1444 memmodel_to_uhwi, fntype_argno_type,
1445 pass_waccess::maybe_check_access_sizes,
1446 pass_waccess::check_call_access,
1447 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
1448 Comment spelling fixes.
1450 2022-03-01 Richard Biener <rguenther@suse.de>
1452 PR tree-optimization/104716
1453 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
1454 Check if we can copy the loop.
1456 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
1458 PR middle-end/104721
1459 * cfgexpand.cc (expand_gimple_basic_block): Clear
1460 currently_expanding_gimple_stmt when returning inside the loop.
1462 2022-03-01 Martin Liska <mliska@suse.cz>
1465 * multiple_target.cc (get_attr_len): Move to tree.c.
1466 (expand_target_clones): Remove single value checking.
1467 * tree.cc (get_target_clone_attr_len): New fn.
1468 * tree.h (get_target_clone_attr_len): Likewise.
1470 2022-03-01 Martin Liska <mliska@suse.cz>
1472 PR gcov-profile/104677
1473 * doc/invoke.texi: Document more .gcda file name generation.
1475 2022-03-01 Tom de Vries <tdevries@suse.de>
1478 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
1479 * config/nvptx/nvptx.md
1480 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
1482 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
1483 Use nvptx_register_or_complex_di_df_register_operand.
1485 2022-03-01 Tom de Vries <tdevries@suse.de>
1487 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
1488 * config/nvptx/gen-copyright.sh: New file.
1489 * config/nvptx/gen-h.sh: New file.
1490 * config/nvptx/gen-opt.sh: New file.
1491 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
1492 (TARGET_SM75, TARGET_SM80): Move ...
1493 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
1494 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
1495 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
1496 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
1497 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
1499 2022-03-01 Tom de Vries <tdevries@suse.de>
1501 * config/nvptx/gen-omp-device-properties.sh: New file.
1502 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
1504 2022-03-01 Tom de Vries <tdevries@suse.de>
1506 * config/nvptx/nvptx-sm.def: New file.
1507 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
1508 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
1509 * config/nvptx/nvptx.cc (sm_version_to_string)
1510 (nvptx_omp_device_kind_arch_isa): Same.
1512 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
1514 PR rtl-optimization/104154
1515 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
1516 comparison ifcvt passed us.
1518 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
1521 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
1522 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
1524 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
1526 PR tree-optimization/91384
1527 * config/i386/i386.md (peephole2): Eliminate final testl insn
1528 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
1529 transforming using *negsi_2 for the negation.
1531 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
1532 Eric Botcazou <ebotcazou@adacore.com>
1535 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
1536 register, copy it to a pseudo before calling simplify_gen_subreg.
1538 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
1540 PR rtl-optimization/104637
1541 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
1542 as possible on one subpass.
1544 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
1546 PR middle-end/104550
1547 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
1550 2022-02-28 Martin Liska <mliska@suse.cz>
1553 * main.cc (main): Use flag_checking instead of CHECKING_P
1554 and run toplev::finalize only if there is not error seen.
1556 2022-02-28 Richard Biener <rguenther@suse.de>
1558 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
1560 2022-02-28 Richard Biener <rguenther@suse.de>
1562 PR tree-optimization/104700
1563 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
1565 (find_or_generate_expression): ... here, simplifying code.
1567 2022-02-28 Tom de Vries <tdevries@suse.de>
1569 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
1570 PTX_VERSION_default.
1571 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
1572 PTX_VERSION_default.
1573 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
1575 2022-02-28 Richard Biener <rguenther@suse.de>
1577 PR rtl-optimization/104686
1578 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
1579 skipping bits that are zero.
1580 (ira_object_conflict_iter_cond): Likewise.
1582 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
1584 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
1585 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
1586 char to avoid error when using ~enum as parameter.
1587 (_mm512_mask_ternarylogic_epi64): Likewise.
1588 (_mm512_maskz_ternarylogic_epi64): Likewise.
1589 (_mm512_ternarylogic_epi32): Likewise.
1590 (_mm512_mask_ternarylogic_epi32): Likewise.
1591 (_mm512_maskz_ternarylogic_epi32): Likewise.
1592 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
1593 Adjust imm param type to unsigned char.
1594 (_mm256_mask_ternarylogic_epi64): Likewise.
1595 (_mm256_maskz_ternarylogic_epi64): Likewise.
1596 (_mm256_ternarylogic_epi32): Likewise.
1597 (_mm256_mask_ternarylogic_epi32): Likewise.
1598 (_mm256_maskz_ternarylogic_epi32): Likewise.
1599 (_mm_ternarylogic_epi64): Likewise.
1600 (_mm_mask_ternarylogic_epi64): Likewise.
1601 (_mm_maskz_ternarylogic_epi64): Likewise.
1602 (_mm_ternarylogic_epi32): Likewise.
1603 (_mm_mask_ternarylogic_epi32): Likewise.
1604 (_mm_maskz_ternarylogic_epi32): Likewise.
1606 2022-02-25 Jakub Jelinek <jakub@redhat.com>
1607 Marc Glisse <marc.glisse@inria.fr>
1609 PR tree-optimization/104675
1610 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
1611 Restrict simplifications to INTEGRAL_TYPE_P.
1613 2022-02-25 Jakub Jelinek <jakub@redhat.com>
1616 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
1618 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
1620 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
1621 comparison is not valid.
1622 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
1623 (movdicc): Likewise.
1624 (movsfcc): Likewise.
1625 (movdfcc): Likewise.
1627 2022-02-25 Richard Biener <rguenther@suse.de>
1629 PR tree-optimization/103037
1630 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
1631 (vn_nary_length_from_stmt): Likewise.
1632 (init_vn_nary_op_from_stmt): Likewise.
1633 (vn_nary_op_compute_hash): Likewise.
1634 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
1635 (vn_nary_length_from_stmt): Likewise.
1636 (init_vn_nary_op_from_stmt): Likewise.
1637 (vn_nary_op_compute_hash): Likewise.
1638 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
1639 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
1640 (re-)compute the hash value and if the expression is not
1641 found allocate it from pre_expr_obstack.
1642 (phi_translate_1): Do not insert the NARY found in the
1643 VN tables but build a PRE expression from the valueized
1644 NARY with the value-id we eventually found.
1645 (find_or_generate_expression): Assert we have an entry
1646 for constant values.
1647 (compute_avail): Insert not valueized expressions into
1648 EXP_GEN using the value-id from the VN tables.
1649 (init_pre): Allocate pre_expr_obstack.
1650 (fini_pre): Free pre_expr_obstack.
1652 2022-02-25 Jakub Jelinek <jakub@redhat.com>
1655 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
1656 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
1657 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
1659 2022-02-25 Jakub Jelinek <jakub@redhat.com>
1661 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
1663 2022-02-25 Jakub Jelinek <jakub@redhat.com>
1665 PR middle-end/104679
1666 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
1668 2022-02-25 Jakub Jelinek <jakub@redhat.com>
1670 PR tree-optimization/104675
1671 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
1674 2022-02-25 Alexandre Oliva <oliva@adacore.com>
1678 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
1680 2022-02-25 Alexandre Oliva <oliva@adacore.com>
1682 PR middle-end/104540
1683 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
1686 2022-02-25 Alexandre Oliva <oliva@adacore.com>
1688 PR tree-optimization/103856
1689 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
1690 eh edge to be requested through an extra parameter.
1691 (pass_harden_compares::execute): Copy PHI args in the EH dest
1692 block for the new EH edge added for the inverted compare.
1694 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
1696 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
1697 of position independence that -mcmodel=medany affords.
1699 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
1702 * configure.ac: --disable-gcov if targetting bpf-*.
1703 * configure: Regenerate.
1705 2022-02-24 Richard Biener <rguenther@suse.de>
1707 PR tree-optimization/104676
1708 * tree-loop-distribution.cc (loop_distribution::execute):
1709 Do a full scev_reset.
1711 2022-02-24 Jakub Jelinek <jakub@redhat.com>
1713 PR tree-optimization/104601
1714 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
1715 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
1718 2022-02-24 Tom de Vries <tdevries@suse.de>
1719 Tobias Burnus <tobias@codesourcery.com>
1721 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
1722 sm_70, sm_75 and sm_80.
1723 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
1725 2022-02-24 Tom de Vries <tdevries@suse.de>
1727 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
1728 "rotrsi3"): New define_insn.
1730 2022-02-24 Tom de Vries <tdevries@suse.de>
1732 * config/nvptx/nvptx.cc (gen_comment): Use
1733 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
1735 2022-02-24 liuhongt <hongtao.liu@intel.com>
1737 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
1738 isa attr of alternative 2 from avx to avx512vl.
1740 2022-02-23 Richard Biener <rguenther@suse.de>
1741 Jakub Jelinek <jakub@redhat.com>
1743 PR tree-optimization/104644
1744 * doc/match-and-simplify.texi: Amend ! documentation.
1745 * genmatch.cc (expr::gen_transform): Code-generate ! support
1747 (parser::parse_expr): Allow ! for GENERIC.
1748 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
1751 2022-02-23 Richard Biener <rguenther@suse.de>
1753 PR tree-optimization/101636
1754 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
1755 vector type of the node.
1756 (vect_slp_analyze_operations): Make sure the CTOR
1757 is vectorized with an expected type.
1758 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
1760 2022-02-23 Jakub Jelinek <jakub@redhat.com>
1763 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
1764 Don't warn about calls to corresponding builtin from extern inline
1765 gnu_inline wrappers.
1767 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
1770 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
1772 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
1776 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
1779 2022-02-23 Cui,Lili <lili.cui@intel.com>
1781 * doc/invoke.texi: Update documents for Intel architectures.
1783 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
1785 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
1788 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
1790 * omp-low.cc (omp_build_component_ref): Move function...
1791 * omp-general.cc (omp_build_component_ref): ... here. Remove
1793 * omp-general.h (omp_build_component_ref): Declare function.
1794 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
1796 (build_receiver_ref, build_sender_ref): Call
1797 'omp_build_component_ref' instead.
1799 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
1801 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
1802 simplify. Adjust all users.
1804 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
1807 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
1808 atomic_update_decl): Add GTY markup.
1810 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
1812 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
1814 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
1818 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
1820 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
1821 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
1822 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
1823 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
1824 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
1825 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
1826 * config/arm/mve.md: Use VxBI instead of HI.
1828 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
1832 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
1834 (STRSBU_P_QUALIFIERS): Likewise.
1835 (LDRGBS_Z_QUALIFIERS): Likewise.
1836 (LDRGBU_Z_QUALIFIERS): Likewise.
1837 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
1838 (LDRGBWBS_Z_QUALIFIERS): Likewise.
1839 (LDRGBWBU_Z_QUALIFIERS): Likewise.
1840 (STRSBWBS_P_QUALIFIERS): Likewise.
1841 (STRSBWBU_P_QUALIFIERS): Likewise.
1842 * config/arm/mve.md: Use VxBI instead of HI.
1844 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
1848 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
1849 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
1850 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
1851 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
1852 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
1853 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
1854 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
1855 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
1856 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
1857 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
1858 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
1859 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
1860 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
1861 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
1862 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
1863 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
1864 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
1865 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
1866 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
1867 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
1868 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
1869 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
1870 (STRS_P_QUALIFIERS): Use predicate qualifier.
1871 (STRU_P_QUALIFIERS): Likewise.
1872 (STRSU_P_QUALIFIERS): Likewise.
1873 (STRSS_P_QUALIFIERS): Likewise.
1874 (LDRGS_Z_QUALIFIERS): Likewise.
1875 (LDRGU_Z_QUALIFIERS): Likewise.
1876 (LDRS_Z_QUALIFIERS): Likewise.
1877 (LDRU_Z_QUALIFIERS): Likewise.
1878 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
1879 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
1880 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
1881 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
1882 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
1883 * config/arm/mve.md: Use MVE_VPRED instead of HI.
1885 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
1889 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
1891 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
1892 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
1893 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
1894 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
1895 predicated qualifiers.
1896 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
1897 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
1899 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
1902 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
1903 (arm_expand_vector_compare): Update prototype.
1904 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
1905 (arm_vector_mode_supported_p): Add support for VxBI modes.
1906 (arm_expand_vector_compare): Remove useless generation of vpsel.
1907 (arm_expand_vcond): Fix select operands.
1908 (arm_get_mask_mode): New.
1909 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
1910 (vec_cmpu<mode><MVE_vpred>): New.
1911 (vcond_mask_<mode><MVE_vpred>): New.
1912 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
1913 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
1914 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
1915 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
1916 and disable for MVE.
1917 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
1919 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
1923 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
1924 (BINOP_PRED_NONE_NONE_QUALIFIERS)
1925 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
1926 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
1927 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
1928 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
1930 (arm_mode_to_pred_mode): New.
1931 (arm_expand_vector_compare): Use the right VxBI mode instead of
1933 (arm_expand_vcond): Likewise.
1934 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
1935 (mve_bool_vec_to_const): New.
1936 (neon_make_constant): Call mve_bool_vec_to_const when needed.
1937 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
1938 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
1939 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
1940 (vpselq_s, vpselq_f): Use new predicated qualifiers.
1941 * config/arm/constraints.md (DB): New.
1942 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
1943 (MVE_VPRED, MVE_vpred): New attribute iterators.
1944 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
1945 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
1946 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
1947 (@mve_vpselq_<supf>v2di): Define separately.
1948 (mov<mode>): New expander for VxBI modes.
1949 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
1950 MVE_7_HI iterator and add support for DB constraint.
1952 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
1953 Richard Sandiford <richard.sandiford@arm.com>
1957 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
1958 VNx2BI): Update definition.
1959 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
1961 (arm_init_builtin): Map predicate vectors arguments to HImode.
1962 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
1963 rtx. Move return value to HImode rtx.
1964 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
1965 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
1966 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
1967 Pred2x8_t,Pred4x4_t): New.
1968 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
1969 * genmodes.cc (mode_data): Add boolean field.
1970 (blank_mode): Initialize it.
1971 (make_complex_modes): Fix handling of boolean modes.
1972 (make_vector_modes): Likewise.
1973 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
1974 (make_vector_bool_mode): Likewise.
1976 (make_bool_mode): New.
1977 (emit_insn_modes_h): Fix generation of boolean modes.
1978 (emit_class_narrowest_mode): Likewise.
1979 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
1980 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
1982 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
1983 Fix handling of constm1_rtx for VECTOR_BOOL.
1984 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
1985 (native_decode_vector_rtx): Likewise.
1986 (test_vector_ops_duplicate): Skip vec_merge test
1987 with vectors of booleans.
1988 * varasm.cc (output_constant_pool_2): Likewise.
1990 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
1992 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
1995 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
1997 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
1999 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
2001 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
2002 (REG_CLASS_NAMES): Likewise.
2003 (REG_CLASS_CONTENTS): Likewise.
2004 (CLASS_MAX_NREGS): Handle VPR.
2005 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
2007 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
2008 Tom de Vries <tdevries@suse.de>
2010 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
2011 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
2013 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
2015 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
2016 Tom de Vries <tdevries@suse.de>
2018 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
2019 * doc/invoke.texi (-mptx): Update for new values and defaults.
2021 2022-02-22 Tom de Vries <tdevries@suse.de>
2023 * config/nvptx/nvptx.cc (gen_comment): New function.
2024 (workaround_uninit_method_1, workaround_uninit_method_2)
2025 (workaround_uninit_method_3): : Use gen_comment.
2026 * config/nvptx/nvptx.opt (mptx-comment): New option.
2028 2022-02-22 Richard Biener <rguenther@suse.de>
2030 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
2033 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
2034 Richard Biener <rguenther@suse.de>
2036 * fold-const.cc (ctor_single_nonzero_element): New function to
2037 return the single non-zero element of a (vector) constructor.
2038 * fold-const.h (ctor_single_nonzero_element): Prototype here.
2039 * match.pd (reduc (constructor@0)): Simplify reductions of a
2040 constructor containing a single non-zero element.
2041 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
2042 reductions of vector operations of the same operator with
2043 constant vector operands.
2045 2022-02-22 Jakub Jelinek <jakub@redhat.com>
2047 PR tree-optimization/104604
2048 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
2049 Only check if gimple_assign_rhs1 is COMPLEX_CST if
2050 gimple_assign_rhs_code is COMPLEX_CST.
2052 2022-02-22 Jakub Jelinek <jakub@redhat.com>
2055 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
2056 on input operands before calling lowpart_subreg on it. For output
2057 operand, use a vmode pseudo as destination and then move its lowpart
2058 subreg into operands[0] if lowpart_subreg fails on dest.
2059 (ix86_expand_xorsign): Likewise.
2061 2022-02-22 Richard Biener <rguenther@suse.de>
2063 PR tree-optimization/104582
2065 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
2066 Cost GPR to vector register moves for integer vector construction.
2068 2022-02-22 Richard Biener <rguenther@suse.de>
2070 PR tree-optimization/104582
2071 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
2072 (vector_costs::add_stmt_cost): Add SLP node parameter.
2073 (dump_stmt_cost): Likewise.
2074 (add_stmt_cost): Likewise, new overload and adjust.
2075 (add_stmt_costs): Adjust.
2076 (record_stmt_cost): New overload.
2077 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
2078 (vector_costs::add_stmt_cost): Adjust.
2079 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
2081 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
2082 the SLP node for costing.
2083 (vectorizable_slp_permutation): Likewise.
2084 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
2086 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
2088 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
2090 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
2092 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
2094 2022-02-22 Richard Biener <rguenther@suse.de>
2096 PR tree-optimization/104582
2097 * tree-vectorizer.h (add_stmt_cost): New overload.
2098 (record_stmt_cost): Likewise.
2099 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
2101 (vect_get_known_peeling_cost): Use new overloads.
2102 (vect_estimate_min_profitable_iters): Likewise. Consistently
2103 use scalar_stmt for costing versioning checks.
2104 * tree-vect-stmts.cc (record_stmt_cost): New overload.
2106 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
2109 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
2110 Split atomic fetch and loop part.
2111 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
2112 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
2114 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
2115 expander under TARGET_RELAX_CMPXCHG_LOOP.
2116 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
2118 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
2120 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
2121 Change wb_candidate[12] to wb_push_candidate[12].
2122 (aarch64_layout_frame): Likewise, and
2123 change callee_adjust when scs is enabled.
2124 (aarch64_save_callee_saves):
2125 Change wb_candidate[12] to wb_push_candidate[12].
2126 (aarch64_restore_callee_saves):
2127 Change wb_candidate[12] to wb_pop_candidate[12].
2128 (aarch64_get_separate_components):
2129 Change wb_candidate[12] to wb_push_candidate[12].
2130 (aarch64_expand_prologue): Push x30 onto SCS before it's
2132 (aarch64_expand_epilogue): Pop x30 frome SCS, while
2133 preventing it from being popped from the regular stack again.
2134 (aarch64_override_options_internal): Add SCS compile option check.
2135 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
2136 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
2137 wb_pop_candidate[12], and rename wb_candidate[12] to
2138 wb_push_candidate[12].
2139 * config/aarch64/aarch64.md (scs_push): New template.
2140 (scs_pop): Likewise.
2141 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
2142 * doc/tm.texi: Regenerate.
2143 * doc/tm.texi.in: Add hook have_shadow_call_stack.
2144 * flag-types.h (enum sanitize_code):
2145 Add SANITIZE_SHADOW_CALL_STACK.
2146 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
2147 and exclude SANITIZE_SHADOW_CALL_STACK.
2148 * target.def: New hook.
2149 * toplev.cc (process_options): Add SCS compile option check.
2150 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
2152 2022-02-21 Tom de Vries <tdevries@suse.de>
2155 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
2156 (workaround_uninit_method_2, workaround_uninit_method_3)
2157 (workaround_uninit): New function.
2158 (nvptx_reorg): Use workaround_uninit.
2159 * config/nvptx/nvptx.opt (minit-regs): New option.
2161 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
2163 PR rtl-optimization/104498
2164 * alias.cc (compare_base_symbol_refs): Correct distance computation
2165 when swapping x and y.
2167 2022-02-21 Andrew Pinski <apinski@marvell.com>
2170 * tree-ssa.cc (tree_ssa_useless_type_conversion):
2171 Check the inner type before calling useless_type_conversion_p.
2173 2022-02-19 Tom de Vries <tdevries@suse.de>
2175 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
2176 * config/nvptx/nvptx.md
2177 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
2178 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
2179 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
2180 (define_expand "atomic_store<mode>"): Handle rename. Use
2181 nvptx_atomic_store instead of atomic_exchange.
2183 2022-02-19 Tom de Vries <tdevries@suse.de>
2185 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
2186 insns with atomic attribute. Assert that all handled insns are
2188 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
2189 Set atomic attribute to false.
2191 2022-02-19 Tom de Vries <tdevries@suse.de>
2193 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
2195 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
2196 nvptx_warpsync, if necessary.
2198 2022-02-19 Jakub Jelinek <jakub@redhat.com>
2201 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
2202 known to be within bounds, treat it like automatic variables.
2203 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
2204 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
2207 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
2209 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
2210 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
2211 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
2212 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
2213 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
2214 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
2215 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
2216 power10_sched_reorder): Likewise.
2217 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
2218 gen_addadd): Likewise
2219 * config/rs6000/fusion.md: Regenerate.
2221 2022-02-18 Jakub Jelinek <jakub@redhat.com>
2225 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
2226 rather than __posix_memalign.
2228 2022-02-18 Richard Biener <rguenther@suse.de>
2231 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
2232 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
2233 of calling ix86_avx_u128_mode_source which would eventually
2234 have returned AVX_U128_ANY in some very special case.
2236 2022-02-18 Richard Biener <rguenther@suse.de>
2238 PR tree-optimization/96881
2239 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
2241 (control_parents_preserved_p): New function.
2242 (eliminate_unnecessary_stmts): Check that we preserved control
2243 parents before retaining a CLOBBER.
2244 (perform_tree_ssa_dce): Pass down aggressive flag
2245 to eliminate_unnecessary_stmts.
2247 2022-02-17 Jason Merrill <jason@redhat.com>
2249 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
2250 on TYPE_MAIN_VARIANT.
2252 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
2255 * config/rs6000/bmi2intrin.h: Uglify local variables.
2256 * config/rs6000/emmintrin.h: Likewise.
2257 * config/rs6000/mm_malloc.h: Likewise.
2258 * config/rs6000/mmintrin.h: Likewise.
2259 * config/rs6000/pmmintrin.h: Likewise.
2260 * config/rs6000/smmintrin.h: Likewise.
2261 * config/rs6000/tmmintrin.h: Likewise.
2262 * config/rs6000/xmmintrin.h: Likewise.
2264 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
2267 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
2268 if the expected comparison's first operand is of mode MODE_CC.
2270 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
2272 PR rtl-optimization/104447
2273 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
2274 hard reg set by lra_no_alloc_regs.
2276 2022-02-17 liuhongt <hongtao.liu@intel.com>
2278 PR tree-optimization/104551
2279 PR tree-optimization/103771
2280 * match.pd (cond_expr_convert_p): Add types_match check when
2281 convert is extension.
2282 * tree-vect-patterns.cc
2283 (gimple_cond_expr_convert_p): Adjust comments.
2284 (vect_recog_cond_expr_convert_pattern): Ditto.
2286 2022-02-17 Jakub Jelinek <jakub@redhat.com>
2289 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
2290 if expr has VOIDmode.
2292 2022-02-17 liuhongt <hongtao.liu@intel.com>
2294 * config/i386/cpuid.h (bit_MPX): Removed.
2295 (bit_BNDREGS): Ditto.
2296 (bit_BNDCSR): Ditto.
2298 2022-02-17 Michael Meissner <meissner@the-meissners.org>
2301 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
2302 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
2303 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
2306 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
2308 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
2309 range_compatible_p instead of direct type comparison.
2311 2022-02-16 Jakub Jelinek <jakub@redhat.com>
2313 PR rtl-optimization/104544
2314 * combine.cc (try_combine): When looking for insn whose links
2315 should be updated from i3 to i2, don't stop on debug insns, instead
2318 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
2321 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
2322 * config/aarch64/aarch64.md: Extend the PR100056 patterns
2323 to handle plus in the same way as ior, if the operands have
2324 no set bits in common.
2326 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
2328 PR tree-optimization/104526
2329 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
2331 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
2332 of dependency chain if there isn't one.
2333 (gori_compute::condexpr_adjust): New.
2334 * gimple-range-gori.h (class gori_compute): New prototype.
2336 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
2339 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
2341 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
2342 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
2344 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
2346 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
2347 (vect_scalar_ops_slice_hash): Likewise.
2348 (vect_scalar_ops_slice::op): New function.
2349 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
2350 (vect_scalar_ops_slice_hash::hash): Likewise.
2351 (vect_scalar_ops_slice_hash::equal): Likewise.
2352 (vect_prologue_cost_for_slp): Check for duplicate vectors.
2353 * config/aarch64/aarch64.cc
2354 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
2355 (aarch64_aligned_constant_offset_p): New function.
2356 (aarch64_stp_sequence_cost): Likewise.
2357 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
2358 (aarch64_vector_costs::finish_cost): Likewise.
2360 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
2362 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
2365 2022-02-15 Richard Biener <rguenther@suse.de>
2367 PR tree-optimization/104543
2368 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
2369 come after the inner loop.
2371 2022-02-15 Jakub Jelinek <jakub@redhat.com>
2374 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
2375 cannot instead of can%'t in diagnostics. Formatting fixes.
2377 2022-02-15 Jakub Jelinek <jakub@redhat.com>
2379 PR middle-end/104522
2380 * fold-const.h (native_interpret_real): Declare.
2381 * fold-const.cc (native_interpret_real): No longer static. Don't
2382 perform MODE_COMPOSITE_P verification here.
2383 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
2385 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
2386 instead of native_interpret_expr.
2387 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
2388 and comparison verification for all FLOAT_MODE_P modes, not just
2391 2022-02-15 Richard Biener <rguenther@suse.de>
2393 PR tree-optimization/104519
2394 * fold-const.cc (multiple_of_p): Remove never true condition.
2395 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
2396 the appropriate types for determining whether the difference
2397 of final and base is a multiple of the step.
2399 2022-02-15 Jakub Jelinek <jakub@redhat.com>
2402 * omp-low.cc (task_cpyfns): New variable.
2403 (delete_omp_context): Don't call finalize_task_copyfn from here.
2404 (create_task_copyfn): Push task_stmt into task_cpyfns.
2405 (execute_lower_omp): Call finalize_task_copyfn here on entries from
2406 task_cpyfns vector and release the vector.
2408 2022-02-14 Martin Sebor <msebor@redhat.com>
2410 PR middle-end/104355
2411 * doc/invoke.texi (-Warray-bounds): Update documentation.
2413 2022-02-14 Michael Meissner <meissner@the-meissners.org>
2416 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
2417 conversion functions used to convert IFmode types.
2419 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
2421 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
2423 2022-02-14 Richard Biener <rguenther@suse.de>
2425 PR tree-optimization/104528
2426 * tree-ssa.h (find_released_ssa_name): Declare.
2427 * tree-ssa.cc (find_released_ssa_name): Export.
2428 * cfgloop.cc (verify_loop_structure): Look for released
2429 SSA names in loops nb_iterations.
2430 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
2433 2022-02-14 Richard Biener <rguenther@suse.de>
2435 PR tree-optimization/104511
2436 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
2437 touching DFP <-> FP conversions.
2439 2022-02-14 Richard Biener <rguenther@suse.de>
2441 PR middle-end/104497
2442 * gimplify.cc (gimplify_compound_lval): Make sure the
2443 base is a non-register if needed and possible.
2445 2022-02-13 liuhongt <hongtao.liu@intel.com>
2448 * match.pd (cond_expr_convert_p): New match.
2449 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
2450 (vect_recog_cond_expr_convert_pattern): New.
2452 2022-02-12 Jakub Jelinek <jakub@redhat.com>
2455 * asan.cc: Include tree-eh.h.
2456 (handle_builtin_alloca): Handle the case when __builtin_alloca or
2457 __builtin_alloca_with_align can throw.
2459 2022-02-12 Jakub Jelinek <jakub@redhat.com>
2462 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
2463 and AVX512VL isn't available, move operands[1] to operands[0] first.
2465 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
2468 * config/i386/i386.cc (type_natural_mode):
2469 Skip decimal float vector modes.
2471 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
2472 Vladimir Makarov <vmakarov@redhat.com>
2475 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
2476 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
2478 (legitimate_lo_sum_address_p): Likewise.
2479 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
2480 load from an invalid lo_sum address.
2482 2022-02-11 Jakub Jelinek <jakub@redhat.com>
2484 PR tree-optimization/104499
2485 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
2488 2022-02-11 Jakub Jelinek <jakub@redhat.com>
2490 * tree.cc (build_common_builtin_nodes): Fix up formatting in
2491 __builtin_clear_padding decl creation.
2492 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
2493 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
2494 argument rather than in 3rd argument.
2495 (gimplify_call_expr): Likewise. Fix up comment formatting.
2496 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
2497 2 arguments instead of 3, take for_auto_init from the value
2500 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
2502 PR rtl-optimization/104400
2503 * lra-constraints.cc (process_alt_operands): Don't make union of
2504 this_alternative_exclude_start_hard_regs when reg class in insn
2505 alternative covers other reg classes in the same alternative.
2507 2022-02-11 Jakub Jelinek <jakub@redhat.com>
2509 PR middle-end/104446
2510 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
2513 2022-02-11 Richard Biener <rguenther@suse.de>
2515 PR middle-end/104496
2516 * internal-fn.cc (vectorized_internal_fn_supported_p):
2517 Bail out for integer mode vector types.
2519 2022-02-11 Jakub Jelinek <jakub@redhat.com>
2521 PR rtl-optimization/104459
2522 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
2523 moving DEBUG_INSNs between bbs.
2525 2022-02-11 liuhongt <hongtao.liu@intel.com>
2527 PR tree-optimization/104479
2528 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
2529 for the dest of uncond_op.
2531 2022-02-11 Tom de Vries <tdevries@suse.de>
2534 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
2537 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
2539 PR middle-end/100775
2540 * function.cc (gen_call_used_regs_seq): Call
2541 df_update_exit_block_uses when updating df.
2543 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
2546 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
2547 Change operand 1 constraint to register_operand.
2549 2022-02-10 Richard Biener <rguenther@suse.de>
2551 PR tree-optimization/104373
2552 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
2554 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
2555 walk kind as argument.
2556 (run_rpo_vn): Adjust.
2557 (pass_fre::execute): Likewise.
2558 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
2559 blocks not reachable.
2560 (execute_late_warn_uninitialized): Mark all edges as
2562 (execute_early_warn_uninitialized): Use VN to compute
2564 (pass_data_early_warn_uninitialized): Enable a dump file,
2565 change dump name to warn_uninit.
2567 2022-02-10 Richard Biener <rguenther@suse.de>
2569 PR middle-end/104467
2570 * match.pd (vector extract simplification): Multiply the
2571 number of CTOR elements with the number of element elements.
2573 2022-02-10 Richard Biener <rguenther@suse.de>
2575 PR tree-optimization/104466
2576 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
2577 for the MR_DEPENDENCE checks as intended.
2579 2022-02-10 Tom de Vries <tdevries@suse.de>
2581 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
2583 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
2585 (define_c_enum "unspecv"): Add UNSPECV_ST.
2587 2022-02-10 Tom de Vries <tdevries@suse.de>
2589 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
2590 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
2591 (nvptx_mem_maybe_shared_p): New function.
2592 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
2595 2022-02-10 Tom de Vries <tdevries@suse.de>
2598 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
2599 driver JIT bug by using sub.s16 instead of sub.u16.
2601 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
2603 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
2604 floating point constants as operands 1 and/or 2.
2606 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
2609 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
2610 (sel_false<mode>): Likewise.
2611 (define_code_iterator eqne): New code iterator for EQ and NE.
2612 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
2613 the negation of a selp instruction.
2614 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
2615 the bitwise not of a selp instruction.
2616 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
2618 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
2620 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
2621 in machine description.
2622 (logic): Move code attribute earlier in machine description.
2623 (ilogic): New code attribute, like logic but "ior" for IOR.
2624 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
2625 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
2626 (<ilogic>bi3): New define_insn for BI mode logic operations.
2627 (define_split): Lower logic operations from integer modes to
2628 BI mode predicate operations.
2630 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
2632 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
2633 (one_cmplbi2): New define_insn for not.pred.
2634 (mulditi3): New define_expand for signed widening multiply.
2635 (umulditi3): New define_expand for unsigned widening multiply.
2636 (smul<mode>3_highpart): New define_insn for signed highpart mult.
2637 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
2638 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
2639 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
2640 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
2641 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
2642 (*setcc<mode>_from_not_bi): New define_insn.
2643 (*setcc_isinf<mode>): New define_insn for testp.infinite.
2644 (isinf<mode>2): New define_expand.
2646 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
2648 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
2649 (setcc<mode>_from_bi): Additionally support QImode.
2650 (extendbi<mode>2): Additionally support QImode.
2651 (zero_extendbi<mode>2): Additionally support QImode.
2652 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
2653 iterators for signed and unsigned, binary and unary operations.
2654 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
2655 expanders to perform QImode operations using SImode instructions.
2656 (cstoreqi4): New define_expand.
2657 (*ext_truncsi2_qi): New define_insn.
2658 (*zext_truncsi2_qi): New define_insn.
2660 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
2662 * config/nvptx/nvptx.md (*cmpf): New define_insn.
2663 (cstorehf4): New define_expand.
2664 (fmahf4): New define_insn.
2665 (neghf2): New define_insn.
2666 (abshf2): New define_insn.
2668 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
2670 * doc/install.texi (Specific): Change the www.bitwizard.nl
2671 reference to use https.
2673 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
2675 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
2676 OMP_CLAUSE_HAS_DEVICE_ADDR
2677 and handle array sections.
2678 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
2679 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
2680 (lower_omp_target): Same.
2681 * tree-core.h (enum omp_clause_code): Same.
2682 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
2683 (convert_local_omp_clauses): Same.
2684 * tree-pretty-print.cc (dump_omp_clause): Same.
2687 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
2689 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
2690 that will result in direct recursive calls.
2692 2022-02-10 Andrew Pinski <apinski@marvell.com>
2695 * config/aarch64/aarch64.cc
2696 (aarch64_sve_expand_vector_init_handle_trailing_constants):
2697 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
2699 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
2702 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
2703 Also include OPTION_MASK_ISA2_AVX2_UNSET.
2705 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
2708 * config/i386/i386-expand.cc (ix86_split_idivmod):
2709 Force operands[2] and operands[3] into a register..
2711 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
2714 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
2715 (*v850_fnmssf4): Renamed from fnmssf4
2717 2022-02-09 Ian Lance Taylor <iant@golang.org>
2719 * godump.cc (go_force_record_alignment): Really name the alignment
2720 field "_" (complete 2021-12-29 change).
2722 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
2724 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
2726 (VREPLACE_UN_UV4SI): Likewise.
2727 (VREPLACE_UN_V2DF): Likewise.
2728 (VREPLACE_UN_V2DI): Likewise.
2729 (VREPLACE_UN_V4SF): Likewise.
2730 (VREPLACE_UN_V4SI): Likewise.
2731 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
2732 function prototypes.
2733 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
2734 (vreplace_un_<mode>): New define_insn.
2736 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
2738 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
2740 (single_wx, single_type, single_dtype, dblq): New mode attributes.
2741 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
2743 (store_pair_lanes<mode>): Likewise.
2744 (*aarch64_combine_internal<mode>): Likewise.
2745 (*aarch64_combine_internal_be<mode>): Likewise.
2746 (*aarch64_combinez<mode>): Likewise.
2747 (*aarch64_combinez_be<mode>): Likewise.
2748 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
2749 8-byte modes for ADDR_QUERY_LDP_STP_N.
2750 (aarch64_print_operand): Likewise for %y.
2752 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
2754 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
2755 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
2756 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
2757 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
2758 (vec_pack_trunc_<mode>): Take general_operand elements and use
2759 aarch64_combine rather than move_lo/hi_quad to combine them.
2760 (vec_pack_trunc_df): Likewise.
2762 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
2764 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
2766 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
2768 (*aarch64_combinez<mode>): ...this.
2769 (@aarch64_combinez_be<mode>): Rename to...
2770 (*aarch64_combinez_be<mode>): ...this.
2771 (@aarch64_vec_concat<mode>): New expander.
2772 (aarch64_combine<mode>): Use it.
2773 (@aarch64_simd_combine<mode>): Delete.
2774 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
2775 (aarch64_expand_vector_init): Use aarch64_vec_concat.
2777 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
2779 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
2781 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
2782 (*aarch64_combine_internal_be<mode>): New patterns.
2784 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
2786 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
2787 (move_lo_quad_internal_be_<mode>): Delete.
2788 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
2790 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
2792 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
2794 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
2795 aarch64_mergeable_load_pair_p instead of inline check.
2796 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
2797 (aarch64_check_consecutive_mems): Allow the reversed parameter
2799 (aarch64_mergeable_load_pair_p): New function.
2801 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
2803 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
2804 element to be an aarch64_simd_nonimmediate_operand.
2806 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
2808 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
2809 aarch64_simd_nonimmediate_operand instead of
2810 aarch64_simd_general_operand.
2811 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
2813 (@aarch64_combinez_be<mode>): Likewise.
2815 2022-02-09 Richard Biener <rguenther@suse.de>
2817 PR middle-end/104464
2818 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
2819 throwing check to after unproblematic replacement.
2821 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
2823 PR tree-optimization/104420
2824 * match.pd (mult @0 real_zerop): Tweak conditions for constant
2825 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
2827 2022-02-09 Jakub Jelinek <jakub@redhat.com>
2830 * dwarf2out.cc (mangle_referenced_decls): New function.
2831 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
2832 early_dwarf. Instead walk the initializer and try to mangle vars or
2833 functions referenced from it.
2835 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
2837 PR tree-optimization/104288
2838 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
2839 (non_null_ref::adjust_range): Move to header.
2840 (ranger_cache::range_of_def): Don't check non-null.
2841 (ranger_cache::entry_range): Don't check non-null.
2842 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
2843 (ranger_cache::update_to_nonnull): New.
2844 (non_null_loadstore): New.
2845 (ranger_cache::block_apply_nonnull): New.
2846 * gimple-range-cache.h (class non_null_ref): Update prototypes.
2847 (non_null_ref::adjust_range): Move to here and inline.
2848 (class ranger_cache): Update prototypes.
2849 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
2850 not search dominators.
2851 (path_range_query::adjust_for_non_null_uses): Ditto.
2852 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
2853 def overrides. Do not check nonnull.
2854 (gimple_ranger::range_on_entry): Check dominators for nonnull.
2855 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
2856 (gimple_ranger::register_side_effects): New.
2857 * gimple-range.h (gimple_ranger::register_side_effects): New.
2858 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
2860 2022-02-09 Richard Biener <rguenther@suse.de>
2862 PR tree-optimization/104445
2863 PR tree-optimization/102832
2864 * optabs-query.h (can_vec_extract): New.
2865 * optabs-query.cc (can_vec_extract): Likewise.
2866 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
2867 we can extract a hi/lo part from the larger vector, rework
2868 check iteration from larger to smaller sizes.
2870 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
2874 * config/i386/gnu-property.cc: Include "i386-protos.h".
2875 (file_end_indicate_exec_stack_and_gnu_property): Generate
2876 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
2877 nodirect_extern_access attribute.
2878 * config/i386/i386-options.cc
2879 (handle_nodirect_extern_access_attribute): New function.
2880 (ix86_attribute_table): Add nodirect_extern_access attribute.
2881 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
2883 (ix86_has_no_direct_extern_access): New.
2884 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
2885 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
2886 call operand. Force non-call load from GOT for
2887 -mno-direct-extern-access or nodirect_extern_access attribute.
2888 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
2889 for -mno-direct-extern-access or nodirect_extern_access attribute.
2890 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
2892 (asm_preferred_eh_data_format): Use PC-relative format for
2893 -mno-direct-extern-access to avoid copy relocation. Check
2894 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
2895 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
2896 true for -mno-direct-extern-access or nodirect_extern_access
2897 attribute. Don't treat protected data as extern and avoid copy
2898 relocation on common symbol with -mno-direct-extern-access or
2899 nodirect_extern_access attribute.
2900 (ix86_reloc_rw_mask): New to avoid copy relocation for
2901 -mno-direct-extern-access.
2902 (TARGET_ASM_RELOC_RW_MASK): New.
2903 * config/i386/i386.opt: Add -mdirect-extern-access.
2904 * doc/extend.texi: Document nodirect_extern_access attribute.
2905 * doc/invoke.texi: Document -m[no-]direct-extern-access.
2907 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
2910 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
2911 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
2912 Call ix86_avx_u128_mode_source to check mode for each component
2915 2022-02-09 liuhongt <hongtao.liu@intel.com>
2918 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
2919 operands[2] from SImode to QImode.
2921 2022-02-09 Richard Biener <rguenther@suse.de>
2923 PR middle-end/104450
2924 * gimple-isel.cc: Pass cfun around.
2925 (+gimple_expand_vec_cond_expr): Do not combine a throwing
2926 comparison with the select.
2928 2022-02-09 Richard Biener <rguenther@suse.de>
2931 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
2932 folding for NULL LHS.
2934 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
2936 PR rtl-optimization/104198
2937 PR rtl-optimization/104153
2938 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
2939 using it directly. Rework comparison handling and always
2940 perform a second pass.
2942 2022-02-08 Jakub Jelinek <jakub@redhat.com>
2945 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
2946 split1 pass has finished already.
2948 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
2950 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
2951 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
2952 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
2953 (vmsumcud): New define_insn.
2955 2022-02-08 Tom de Vries <tdevries@suse.de>
2957 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
2958 * config/nvptx/nvptx.h (TARGET_SM70): Define.
2960 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
2962 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
2964 * config/s390/s390.md: Use paradoxical subreg.
2966 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
2968 * combine.cc (reg_subword_p): Check for paradoxical subreg.
2970 2022-02-08 Tom de Vries <tdevries@suse.de>
2973 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
2974 and PTX_VERSION_4_2.
2975 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
2976 (default_ptx_version_option, ptx_version_to_string)
2977 (sm_version_to_string, handle_ptx_version_option): New function.
2978 (nvptx_option_override): Call handle_ptx_version_option.
2979 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
2980 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
2981 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
2982 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
2984 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
2986 * doc/install.texi (Configuration): Document `--with-isa-spec='
2988 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
2990 (RISC-V Options): Document it.
2992 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
2994 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
2996 2022-02-08 Tom de Vries <tdevries@suse.de>
2998 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
3000 2022-02-08 Tom de Vries <tdevries@suse.de>
3003 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
3004 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
3005 change is validated.
3006 (nvptx_mem_local_p): New function.
3007 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
3008 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
3009 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
3010 non-atomic, non-predicable define_insn, factored out of ...
3011 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
3012 Make predicable again.
3013 (define_expand "atomic_compare_and_swap<mode>"): Use
3014 atomic_compare_and_swap<mode>_1_local.
3016 2022-02-08 liuhongt <hongtao.liu@intel.com>
3018 PR rtl-optimization/104059
3019 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
3020 for a more expensive reg-reg move.
3022 2022-02-07 Tamar Christina <tamar.christina@arm.com>
3024 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
3025 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
3026 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
3027 (usdot_laneq, sudot_laneq): New.
3028 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
3029 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
3031 2022-02-07 Tamar Christina <tamar.christina@arm.com>
3033 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
3034 vdot_laneq_s32, vdotq_laneq_s32): New.
3035 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
3036 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
3037 (<sup>dot_prod<vsi2qi>): Re-order rtl.
3038 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
3039 (neon_<sup>dot_laneq<vsi2qi>): New.
3041 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
3044 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
3045 if always_inline is set. Don't inline when tune differs without
3048 2022-02-07 Richard Biener <rguenther@suse.de>
3050 PR middle-end/104402
3051 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
3052 compares are not valid.
3053 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
3054 check is_gimple_condexpr.
3056 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
3059 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
3060 hunk affecting VSX and ALTIVEC to appropriate place.
3062 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
3065 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
3068 2022-02-06 Jakub Jelinek <jakub@redhat.com>
3072 * fold-const.h (folding_initializer): Adjust comment.
3073 (folding_cxx_constexpr): Declare.
3074 * fold-const.cc (folding_initializer): Adjust comment.
3075 (folding_cxx_constexpr): New variable.
3076 (address_compare): Restrict the decl vs. STRING_CST
3077 or vice versa or STRING_CST vs. STRING_CST or
3078 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
3079 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
3080 assume non-aliased functions have non-zero size and have different
3081 addresses. For folding_cxx_constexpr, punt on comparisons of start
3082 of some object and end of another one, regardless whether it is a decl
3083 or string literal. Also punt for folding_cxx_constexpr on
3084 STRING_CST vs. STRING_CST comparisons if the two literals could be
3087 2022-02-05 Jakub Jelinek <jakub@redhat.com>
3089 PR tree-optimization/104389
3090 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
3093 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
3095 * configure.ac: Fix detection for zifencei support.
3096 * configure: Regenerate.
3098 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
3101 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
3102 (all_defaults): Add isa_spec.
3103 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
3105 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
3107 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
3108 parameters instead of arglist and nargs. Simplify accordingly. Remove
3109 unnecessary test for argument count mismatch.
3110 (resolve_vec_cmpne): Likewise.
3111 (resolve_vec_adde_sube): Likewise.
3112 (resolve_vec_addec_subec): Likewise.
3113 (altivec_resolve_overloaded_builtin): Move overload special handling
3114 after the gathering of arguments into args[] and types[] and the test
3115 for correct number of arguments. Don't perform the test for correct
3116 number of arguments for certain special cases. Call the other special
3117 cases with args and types instead of arglist and nargs.
3119 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
3122 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
3123 3.1): Provide consistent type names. Remove unnecessary semicolons.
3124 Fix bad line breaks.
3126 2022-02-04 Jakub Jelinek <jakub@redhat.com>
3129 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
3130 adjust mangling of __builtin*printf_chk.
3132 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
3134 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
3136 2022-02-04 Richard Biener <rguenther@suse.de>
3137 Bin Cheng <bin.cheng@linux.alibaba.com>
3139 PR tree-optimization/100499
3140 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
3142 * fold-const.cc (multiple_of_p): Likewise. Honor it for
3143 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
3144 switching to false for conversions.
3145 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
3146 claim the outermost expression does not wrap when calling
3147 multiple_of_p. Refactor the check done to check the
3148 original IV, avoiding a bias that might wrap.
3150 2022-02-04 Richard Biener <rguenther@suse.de>
3152 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
3155 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
3158 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
3159 (dwarf2out_early_finish): Likewise.
3161 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
3163 PR tree-optimization/104356
3164 * match.pd (X / bool_range_Y is X): Add guard.
3165 (X / X is one): Likewise.
3166 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
3167 (X / -X is -1): Likewise.
3168 (1 / X -> X == 1): Likewise.
3170 2022-02-04 Richard Biener <rguenther@suse.de>
3172 PR tree-optimization/103641
3173 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
3174 Pass the vector mode to choose_mult_variant.
3176 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
3178 PR rtl-optimization/101885
3179 * combine.cc (try_combine): When splitting a parallel into two
3180 sequential sets, check not only that the first doesn't clobber
3181 the second but also that the second doesn't clobber the first.
3183 2022-02-04 Richard Biener <rguenther@suse.de>
3186 PR middle-end/104092
3187 * tree-core.h (clobber_kind): New enum.
3188 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
3189 * tree.h (CLOBBER_KIND): Add.
3190 (build_clobber): Add clobber kind argument, defaulted to
3192 * tree.cc (build_clobber): Likewise.
3193 * gimple.h (gimple_clobber_p): New overload with specified kind.
3194 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
3196 * tree-streamer-out.cc (streamer_write_tree_bitfields):
3198 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
3199 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
3201 (gimplify_target_expr): Likewise.
3202 * tree-inline.cc (expand_call_inline): Likewise.
3203 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
3204 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
3205 CLOBBER_EOL clobbers as ending lifetime of storage.
3207 2022-02-04 Martin Sebor <msebor@redhat.com>
3209 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
3212 2022-02-03 Martin Sebor <msebor@redhat.com>
3214 PR middle-end/104260
3215 * passes.def (pass_warn_access): Adjust pass placement.
3217 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
3220 * config/i386/i386.cc (find_drap_reg): For 32bit targets
3221 return DI_REG if function uses __builtin_eh_return.
3223 2022-02-03 Martin Sebor <msebor@redhat.com>
3225 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
3226 (pass_wrestrict::m_ptr_qry): New member.
3227 (wrestrict_walk): Rename...
3228 (pass_wrestrict::check_block): ...to this.
3229 (pass_wrestrict::execute): Set up and tear down pointer_query and
3231 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
3232 (builtin_access::builtin_access): Same.
3233 (builtin_access::m_ptr_qry): New member.
3234 (check_call): Rename...
3235 (pass_wrestrict::check_call): ...to this.
3236 (check_bounds_or_overlap): Change argument.
3237 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
3239 2022-02-03 Martin Sebor <msebor@redhat.com>
3241 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
3243 (array_bounds_checker::get_value_range): Use new member.
3244 (array_bounds_checker::check_mem_ref): Same.
3245 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
3247 (array_bounds_checker::m_ptr_query): New member.
3249 2022-02-03 Martin Sebor <msebor@redhat.com>
3251 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
3252 pointer_query cache.
3253 * pointer-query.cc (pointer_query::pointer_query): Remove cache
3254 argument. Zero-initialize new cache member.
3255 (pointer_query::get_ref): Replace cache pointer with direct access.
3256 (pointer_query::put_ref): Same.
3257 (pointer_query::flush_cache): Same.
3258 (pointer_query::dump): Same.
3259 * pointer-query.h (class pointer_query): Remove cache argument from
3260 ctor. Change cache pointer to cache subobject member.
3261 * tree-ssa-strlen.cc: Remove pointer_query cache.
3263 2022-02-03 Martin Sebor <msebor@redhat.com>
3265 PR tree-optimization/104119
3266 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
3267 (format_none): Same.
3268 (format_percent): Same.
3269 (format_integer): Same.
3270 (format_floating): Same.
3271 (get_string_length): Same.
3272 (format_character): Same.
3273 (format_string): Same.
3274 (format_plain): Same.
3275 (format_directive): Same.
3276 (compute_format_length): Same.
3277 (handle_printf_call): Same.
3278 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
3280 (get_range_strlen_phi): Same.
3281 (get_maxbound): New function.
3282 (strlen_pass::get_len_or_size): Adjust to parameter change.
3283 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
3285 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
3288 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
3289 test for !rs6000_fold_gimple.
3290 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
3291 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
3293 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
3296 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
3297 endianness for vclzlsbb and vctzlsbb.
3298 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
3299 default pattern and indicate a different pattern will be used for
3301 (VCLZLSBB_V4SI): Likewise.
3302 (VCLZLSBB_V8HI): Likewise.
3303 (VCTZLSBB_V16QI): Likewise.
3304 (VCTZLSBB_V4SI): Likewise.
3305 (VCTZLSBB_V8HI): Likewise.
3307 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
3309 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
3310 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
3312 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
3314 (cpu_supports_info): Likewise.
3315 (rs6000_type_string): Likewise.
3316 (altivec_expand_predicate_builtin): Likewise.
3317 (rs6000_htm_spr_icode): Likewise.
3318 (altivec_expand_vec_init_builtin): Likewise.
3319 (get_element_number): Likewise.
3320 (altivec_expand_vec_set_builtin): Likewise.
3321 (altivec_expand_vec_ext_builtin): Likewise.
3322 (rs6000_invalid_builtin): Likewise.
3323 (rs6000_fold_builtin): Likewise.
3324 (fold_build_vec_cmp): Likewise.
3325 (fold_compare_helper): Likewise.
3326 (map_to_integral_tree_type): Likewise.
3327 (fold_mergehl_helper): Likewise.
3328 (fold_mergeeo_helper): Likewise.
3329 (rs6000_builtin_valid_without_lhs): Likewise.
3330 (rs6000_builtin_is_supported): Likewise.
3331 (rs6000_gimple_fold_mma_builtin): Likewise.
3332 (rs6000_gimple_fold_builtin): Likewise.
3333 (rs6000_expand_ldst_mask): Likewise.
3334 (cpu_expand_builtin): Likewise.
3335 (elemrev_icode): Likewise.
3336 (ldv_expand_builtin): Likewise.
3337 (lxvrse_expand_builtin): Likewise.
3338 (lxvrze_expand_builtin): Likewise.
3339 (stv_expand_builtin): Likewise.
3340 (mma_expand_builtin): Likewise.
3341 (htm_spr_num): Likewise.
3342 (htm_expand_builtin): Likewise.
3343 (rs6000_expand_builtin): Likewise.
3344 (rs6000_vector_type): Likewise.
3345 (rs6000_init_builtins): Likewise. Remove initialization of
3346 builtin_mode_to_type entries.
3347 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
3348 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
3349 external declaration.
3350 (rs6000_builtin_md_vectorized_function): Likewise.
3351 (rs6000_builtin_reciprocal): Likewise.
3352 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
3353 (rs6000_builtin_types): Likewise.
3354 (builtin_mode_to_type): Remove.
3355 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
3357 (rs6000_builtin_md_vectorized_function): Likewise.
3358 (rs6000_builtin_reciprocal): Likewise.
3359 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
3360 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
3362 2022-02-03 Richard Biener <rguenther@suse.de>
3365 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
3366 together via DECL_ABSTRACT_ORIGIN.
3368 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
3370 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
3371 message for RES_BITS case.
3373 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
3375 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
3377 2022-02-03 Jakub Jelinek <jakub@redhat.com>
3379 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
3380 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
3382 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
3384 * cfganal.cc (verify_marked_backedges): New.
3385 * cfganal.h (verify_marked_backedges): New.
3386 * gimple-range-path.cc (path_range_query::path_range_query):
3387 Verify freshness of back edges.
3388 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
3389 mark_dfs_back_edges.
3390 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
3391 path_range_query construction after backedges have been
3394 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
3396 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
3399 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
3401 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
3402 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
3405 2022-02-03 Martin Liska <mliska@suse.cz>
3407 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
3408 Change subject and object in the error message.
3409 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
3412 2022-02-03 Martin Liska <mliska@suse.cz>
3414 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
3415 Use the error message for i386 target.
3417 2022-02-03 Jakub Jelinek <jakub@redhat.com>
3419 PR tree-optimization/104334
3420 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
3421 and rh_range type to widest_int and subtract in widest_int. Remove
3422 ov_rh, ov_lh and sign vars, always perform comparisons as signed
3423 and use >, < and == operators for it.
3425 2022-02-03 Martin Sebor <msebor@redhat.com>
3427 * common.opt (-Wuse-after-free): Correct typos.
3429 2022-02-02 David Malcolm <dmalcolm@redhat.com>
3432 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
3433 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
3434 -ftrivial-auto-var-init= doesn't suppress warnings.
3436 2022-02-02 Martin Liska <mliska@suse.cz>
3438 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
3440 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
3443 * config/or1k/linux.h (CPP_SPEC): Define.
3445 2022-02-02 Tamar Christina <tamar.christina@arm.com>
3447 PR tree-optimization/102819
3448 PR tree-optimization/103169
3449 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
3452 2022-02-02 Tamar Christina <tamar.christina@arm.com>
3454 PR tree-optimization/102819
3455 PR tree-optimization/103169
3456 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
3458 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
3460 2022-02-02 Tamar Christina <tamar.christina@arm.com>
3462 PR tree-optimization/102819
3463 PR tree-optimization/103169
3464 * doc/md.texi: Update docs for cfms, cfma.
3465 * tree-data-ref.h (same_data_refs): Accept optional offset.
3466 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
3468 (vect_normalize_conj_loc): Remove.
3469 (is_eq_or_top): Change to take two nodes.
3470 (enum _conj_status, compatible_complex_nodes_p,
3471 vect_validate_multiplication): New.
3472 (class complex_add_pattern, complex_add_pattern::matches,
3473 complex_add_pattern::recognize, class complex_mul_pattern,
3474 complex_mul_pattern::recognize, class complex_fms_pattern,
3475 complex_fms_pattern::recognize, class complex_operations_pattern,
3476 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
3478 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
3479 cache and use new validation code.
3480 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
3481 vect_analyze_slp): Pass along cache.
3482 (compatible_calls_p): Expose.
3483 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
3484 slp_compat_nodes_map_t): New.
3485 (class vect_pattern): Update signatures include new cache.
3487 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
3489 * config/cris/cris.cc (cris_preferred_reload_class): Reject
3490 "eliminated" registers and small-enough constants unless
3491 reloaded into a class that is a subset of GENERAL_REGS.
3492 * config/cris/cris.md (attribute "cpu_variant"): New.
3493 (attribute "enabled"): Conditionalize on a matching attribute
3494 cpu_variant, if specified.
3495 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
3496 memory, add cpu-variant-enabled variants for "r" alternatives on
3497 the far side of the "x" alternatives, preferring the "x" ones
3498 only for variants where MOF is present (in addition to SRP).
3500 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
3502 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
3503 extra cost for ALL_REGS.
3505 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
3507 * config/cris/constraints.md (define_register_constraint "b"): Now
3509 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
3510 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
3511 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
3512 and SPEC_GENNONACR_REGS.
3513 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
3514 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
3516 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
3518 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
3519 Conditionalize on (sub-)register operands or operand 1 being 0.
3521 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
3523 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
3524 (MUL_BUG_ASM_DEFAULT): New macro.
3525 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
3526 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
3529 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
3531 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
3534 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
3536 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
3538 2022-02-01 Andrew Pinski <apinski@marvell.com>
3542 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
3544 * config/s390/s390.cc (s390_code_end): Do not switch back to
3547 2022-02-01 Jakub Jelinek <jakub@redhat.com>
3550 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
3551 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
3552 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
3553 GTY((user)) for struct bifdata and struct ovlddata. Instead add
3554 GTY((skip(""))) to members with pointer and enum types that don't need
3555 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
3556 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
3557 (write_extern_fntype, write_fntype): Remove.
3558 (write_fntype_init): Emit the fntype vars as automatic vars instead
3560 (write_header_file): Don't iterate with write_extern_fntype.
3561 (write_init_file): Don't iterate with write_fntype. Don't emit
3562 gt_ggc_mx and gt_pch_nx definitions.
3564 2022-02-01 Jason Merrill <jason@redhat.com>
3566 * tree.h (struct tree_vec_map_cache_hasher): Move from...
3567 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
3569 2022-02-01 Tom de Vries <tdevries@suse.de>
3571 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
3572 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
3573 UNSPECV_UNIFORM_WARP_CHECK.
3574 (define_insn "nvptx_uniform_warp_check"): New define_insn.
3576 2022-02-01 Tom de Vries <tdevries@suse.de>
3578 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
3579 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
3581 (define_insn "nvptx_warpsync"): New define_insn.
3583 2022-02-01 Tom de Vries <tdevries@suse.de>
3585 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
3587 2022-02-01 Tom de Vries <tdevries@suse.de>
3589 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
3590 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
3591 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
3592 insn for TARGET_PTX_6_0.
3594 2022-02-01 Tom de Vries <tdevries@suse.de>
3597 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
3600 2022-02-01 Tom de Vries <tdevries@suse.de>
3602 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
3603 (define_insn "atomic_exchange<mode>")
3604 (define_insn "atomic_fetch_add<mode>")
3605 (define_insn "atomic_fetch_addsf")
3606 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
3607 if memory operands is frame-relative.
3609 2022-02-01 Tom de Vries <tdevries@suse.de>
3611 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
3612 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
3614 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
3615 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
3616 NVPTX_BUILTIN_MEMBAR_CTA.
3617 (nvptx_lockfull_update): Add level parameter. Emit barriers.
3618 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
3619 nvptx_lockfull_update.
3620 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
3622 (define_expand "nvptx_membar_gl"): New expand.
3623 (define_insn "*nvptx_membar_gl"): New insn.
3625 2022-02-01 Martin Liska <mliska@suse.cz>
3627 * doc/install.texi: Remove option for GCC < 4.8.
3629 2022-02-01 Jakub Jelinek <jakub@redhat.com>
3631 PR middle-end/104307
3632 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
3633 stmts to uses vector, just set vec_cond_expr_only to false for
3634 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
3635 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
3636 like non-VEC_COND_EXPRs.
3638 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
3640 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
3641 (VEC_BLENDV): Likewise.
3642 (VEC_BPERM): Likewise.
3643 (VEC_CFUGE): Likewise.
3644 (VEC_CIPHER_BE): Likewise.
3645 (VEC_CIPHERLAST_BE): Likewise.
3646 (VEC_CLRL): Likewise.
3647 (VEC_CLRR): Likewise.
3648 (VEC_CMPNEZ): Likewise.
3649 (VEC_CNTLZ): Likewise.
3650 (VEC_CNTLZM): Likewise.
3651 (VEC_CNTTZM): Likewise.
3652 (VEC_CNTLZ_LSBB): Likewise.
3653 (VEC_CNTM): Likewise.
3654 (VEC_CNTTZ): Likewise.
3655 (VEC_CNTTZ_LSBB): Likewise.
3656 (VEC_CONVERT_4F32_8F16): Likewise.
3657 (VEC_DIV): Likewise.
3658 (VEC_DIVE): Likewise.
3659 (VEC_EQV): Likewise.
3660 (VEC_EXPANDM): Likewise.
3661 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
3662 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
3663 (VEC_EXTRACTH): Likewise.
3664 (VEC_EXTRACTL): Likewise.
3665 (VEC_EXTRACTM): Likewise.
3666 (VEC_EXTRACT4B): Likewise.
3667 (VEC_EXTULX): Likewise.
3668 (VEC_EXTURX): Likewise.
3669 (VEC_FIRSTMATCHINDEX): Likewise.
3670 (VEC_FIRSTMACHOREOSINDEX): Likewise.
3671 (VEC_FIRSTMISMATCHINDEX): Likewise.
3672 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
3674 (VEC_GENBM): Likewise.
3675 (VEC_GENHM): Likewise.
3676 (VEC_GENWM): Likewise.
3677 (VEC_GENDM): Likewise.
3678 (VEC_GENQM): Likewise.
3679 (VEC_GENPCVM): Likewise.
3680 (VEC_GNB): Likewise.
3681 (VEC_INSERTH): Likewise.
3682 (VEC_INSERTL): Likewise.
3683 (VEC_INSERT4B): Likewise.
3684 (VEC_LXVL): Likewise.
3685 (VEC_MERGEE): Likewise.
3686 (VEC_MERGEO): Likewise.
3687 (VEC_MOD): Likewise.
3688 (VEC_MSUB): Likewise.
3689 (VEC_MULH): Likewise.
3690 (VEC_NAND): Likewise.
3691 (VEC_NCIPHER_BE): Likewise.
3692 (VEC_NCIPHERLAST_BE): Likewise.
3693 (VEC_NEARBYINT): Likewise.
3694 (VEC_NMADD): Likewise.
3695 (VEC_ORC): Likewise.
3696 (VEC_PDEP): Likewise.
3697 (VEC_PERMX): Likewise.
3698 (VEC_PEXT): Likewise.
3699 (VEC_POPCNT): Likewise.
3700 (VEC_PARITY_LSBB): Likewise.
3701 (VEC_REPLACE_ELT): Likewise.
3702 (VEC_REPLACE_UN): Likewise.
3703 (VEC_REVB): Likewise.
3704 (VEC_RINT): Likewise.
3705 (VEC_RLMI): Likewise.
3706 (VEC_RLNM): Likewise.
3707 (VEC_SBOX_BE): Likewise.
3708 (VEC_SIGNEXTI): Likewise.
3709 (VEC_SIGNEXTLL): Likewise.
3710 (VEC_SIGNEXTQ): Likewise.
3711 (VEC_SLDB): Likewise.
3712 (VEC_SLV): Likewise.
3713 (VEC_SPLATI): Likewise.
3714 (VEC_SPLATID): Likewise.
3715 (VEC_SPLATI_INS): Likewise.
3716 (VEC_SQRT): Likewise.
3717 (VEC_SRDB): Likewise.
3718 (VEC_SRV): Likewise.
3719 (VEC_STRIL): Likewise.
3720 (VEC_STRIL_P): Likewise.
3721 (VEC_STRIR): Likewise.
3722 (VEC_STRIR_P): Likewise.
3723 (VEC_STXVL): Likewise.
3724 (VEC_TERNARYLOGIC): Likewise.
3725 (VEC_TEST_LSBB_ALL_ONES): Likewise.
3726 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
3727 (VEC_VEE): Likewise.
3728 (VEC_VES): Likewise.
3729 (VEC_VIE): Likewise.
3730 (VEC_VPRTYB): Likewise.
3731 (VEC_VSCEEQ): Likewise.
3732 (VEC_VSCEGT): Likewise.
3733 (VEC_VSCELT): Likewise.
3734 (VEC_VSCEUO): Likewise.
3735 (VEC_VSEE): Likewise.
3736 (VEC_VSES): Likewise.
3737 (VEC_VSIE): Likewise.
3738 (VEC_VSTDC): Likewise.
3739 (VEC_VSTDCN): Likewise.
3740 (VEC_VTDC): Likewise.
3742 (VEC_XL_BE): Likewise.
3743 (VEC_XL_LEN_R): Likewise.
3744 (VEC_XL_SEXT): Likewise.
3745 (VEC_XL_ZEXT): Likewise.
3746 (VEC_XST): Likewise.
3747 (VEC_XST_BE): Likewise.
3748 (VEC_XST_LEN_R): Likewise.
3749 (VEC_XST_TRUNC): Likewise.
3750 (VEC_XXPERMDI): Likewise.
3751 (VEC_XXSLDWI): Likewise.
3752 (VEC_TSTSFI_EQ_DD): Likewise.
3753 (VEC_TSTSFI_EQ_TD): Likewise.
3754 (VEC_TSTSFI_GT_DD): Likewise.
3755 (VEC_TSTSFI_GT_TD): Likewise.
3756 (VEC_TSTSFI_LT_DD): Likewise.
3757 (VEC_TSTSFI_LT_TD): Likewise.
3758 (VEC_TSTSFI_OV_DD): Likewise.
3759 (VEC_TSTSFI_OV_TD): Likewise.
3760 (VEC_VADDCUQ): Likewise.
3761 (VEC_VADDECUQ): Likewise.
3762 (VEC_VADDEUQM): Likewise.
3763 (VEC_VADDUDM): Likewise.
3764 (VEC_VADDUQM): Likewise.
3765 (VEC_VBPERMQ): Likewise.
3766 (VEC_VCLZB): Likewise.
3767 (VEC_VCLZD): Likewise.
3768 (VEC_VCLZH): Likewise.
3769 (VEC_VCLZW): Likewise.
3770 (VEC_VCTZB): Likewise.
3771 (VEC_VCTZD): Likewise.
3772 (VEC_VCTZH): Likewise.
3773 (VEC_VCTZW): Likewise.
3774 (VEC_VEEDP): Likewise.
3775 (VEC_VEESP): Likewise.
3776 (VEC_VESDP): Likewise.
3777 (VEC_VESSP): Likewise.
3778 (VEC_VIEDP): Likewise.
3779 (VEC_VIESP): Likewise.
3780 (VEC_VPKSDSS): Likewise.
3781 (VEC_VPKSDUS): Likewise.
3782 (VEC_VPKUDUM): Likewise.
3783 (VEC_VPKUDUS): Likewise.
3784 (VEC_VPOPCNT): Likewise.
3785 (VEC_VPOPCNTB): Likewise.
3786 (VEC_VPOPCNTD): Likewise.
3787 (VEC_VPOPCNTH): Likewise.
3788 (VEC_VPOPCNTW): Likewise.
3789 (VEC_VPRTYBD): Likewise.
3790 (VEC_VPRTYBQ): Likewise.
3791 (VEC_VPRTYBW): Likewise.
3792 (VEC_VRLD): Likewise.
3793 (VEC_VSLD): Likewise.
3794 (VEC_VSRAD): Likewise.
3795 (VEC_VSRD): Likewise.
3796 (VEC_VSTDCDP): Likewise.
3797 (VEC_VSTDCNDP): Likewise.
3798 (VEC_VSTDCNQP): Likewise.
3799 (VEC_VSTDCNSP): Likewise.
3800 (VEC_VSTDCQP): Likewise.
3801 (VEC_VSTDCSP): Likewise.
3802 (VEC_VSUBECUQ): Likewise.
3803 (VEC_VSUBEUQM): Likewise.
3804 (VEC_VSUBUDM): Likewise.
3805 (VEC_VSUBUQM): Likewise.
3806 (VEC_VTDCDP): Likewise.
3807 (VEC_VTDCSP): Likewise.
3808 (VEC_VUPKHSW): Likewise.
3809 (VEC_VUPKLSW): Likewise.
3811 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
3813 PR rtl-optimization/101260
3814 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
3817 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
3820 * fold-const.cc (const_binop): Do not fold NaN result from
3823 2022-02-01 Tom de Vries <tdevries@suse.de>
3825 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
3826 -ftree-loop-distribute-patterns.
3827 (loop_distribution::execute): Don't call transform_reduction_loop for
3828 -fno-tree-loop-distribute-patterns.
3830 2022-01-31 Andrew Pinski <apinski@marvell.com>
3832 * fold-const.h (operand_compare::operand_equal_p):
3833 Fix comment about OEP_* flags.
3835 2022-01-31 Jakub Jelinek <jakub@redhat.com>
3838 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
3839 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
3840 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
3841 if not already defined.
3843 2022-01-31 Martin Sebor <msebor@redhat.com>
3845 PR middle-end/104232
3846 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
3847 Handle PHIs. Add a synonymous overload.
3848 (pass_waccess::check_pointer_uses): Call pointers_related_p.
3850 2022-01-31 Richard Biener <rguenther@suse.de>
3852 PR tree-optimization/100499
3853 * fold-const.cc (multiple_of_p): Pass the correct type of
3854 the expression to the recursive invocation of multiple_of_p
3855 for conversions and use CASE_CONVERT.
3857 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
3860 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
3862 2022-01-31 Richard Biener <rguenther@suse.de>
3864 PR tree-optimization/100499
3865 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
3866 on poly-ints instead of multiple_of_p.
3867 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
3868 (non_rewritable_mem_ref_base): Likewise.
3869 (non_rewritable_lvalue_p): Likewise.
3870 (execute_update_addresses_taken): Likewise.
3872 2022-01-29 Jakub Jelinek <jakub@redhat.com>
3873 Andrew Pinski <apinski@marvell.com>
3875 PR tree-optimization/104279
3876 PR tree-optimization/104280
3877 PR tree-optimization/104281
3878 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
3879 boolean_type_node and convert to type. Formatting fixes.
3881 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
3883 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
3885 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
3887 PR tree-optimization/103514
3888 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
3889 (a & b) == (a ^ b) -> !(a | b): New optimization.
3891 2022-01-28 Marek Polacek <polacek@redhat.com>
3893 * doc/invoke.texi: Update -Wbidi-chars documentation.
3895 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
3897 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
3899 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
3901 PR tree-optimization/95424
3902 * match.pd: Simplify 1 / X where X is an integer.
3904 2022-01-28 Jakub Jelinek <jakub@redhat.com>
3906 PR tree-optimization/104263
3907 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
3908 cfun->can_throw_non_call_exceptions && cfun->eh test whether
3909 last non-debug stmt in the bb is store_valid_for_store_merging_p
3910 rather than last stmt.
3912 2022-01-28 Martin Liska <mliska@suse.cz>
3914 * diagnostic.cc (diagnostic_action_after_output): Remove extra
3917 2022-01-28 Martin Liska <mliska@suse.cz>
3919 * config/rs6000/host-darwin.cc (segv_crash_handler):
3920 Do not use leading capital letter.
3921 (segv_handler): Likewise.
3922 * ipa-sra.cc (verify_splitting_accesses): Likewise.
3923 * varasm.cc (get_section): Likewise.
3925 2022-01-28 Richard Biener <rguenther@suse.de>
3927 PR tree-optimization/104267
3928 * tree-vect-stmts.cc (vectorizable_call): Properly use the
3929 per-argument determined vector type for externals and
3932 2022-01-28 Richard Biener <rguenther@suse.de>
3934 PR tree-optimization/104263
3935 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
3936 Purge edges also when !cfun->has_nonlocal_label
3937 and !cfun->calls_setjmp.
3939 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
3941 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
3944 2022-01-28 Jakub Jelinek <jakub@redhat.com>
3947 * cfgrtl.cc (loc_equal): New function.
3948 (unique_locus_on_edge_between_p): Use it.
3950 2022-01-28 Richard Biener <rguenther@suse.de>
3952 * cfganal.h (mark_dfs_back_edges): Provide API with struct
3954 * cfganal.cc (mark_dfs_back_edges): Take a struct function
3955 to work on, add a wrapper passing cfun.
3956 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
3957 uses with fun which is already passed.
3958 (draw_cfg_edges): Likewise.
3959 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
3962 2022-01-27 Patrick Palka <ppalka@redhat.com>
3965 * tree.cc (build_call_vec): Add const to second parameter.
3966 * tree.h (build_call_vec): Likewise.
3968 2022-01-27 Martin Liska <mliska@suse.cz>
3971 * diagnostic.cc (diagnostic_initialize):
3972 Initialize report_bug flag.
3973 (diagnostic_action_after_output):
3974 Explain that -freport-bug option can be used for pre-processed
3975 file creation. Make the message shorter.
3976 (error_recursion): Rename Internal to internal.
3977 * diagnostic.h (struct diagnostic_context): New field.
3978 * opts.cc (common_handle_option): Init the field here.
3980 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
3983 * config/rs6000/rs6000.cc
3984 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
3985 assertion with early return.
3987 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
3989 PR middle-end/103642
3990 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
3991 for non-pointer or non-reference-to-pointer cases.
3993 2022-01-27 Jakub Jelinek <jakub@redhat.com>
3995 PR tree-optimization/104196
3996 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
3997 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
3998 return NULL and emit needed stmts before and after stmt.
3999 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
4000 pick as operand_entry that will hold the merged test the one feeding
4001 earliest condition, ensure that by swapping range->idx with some
4002 other range's idx if needed. If seq is non-NULL, don't actually swap
4003 it but instead rewrite stmts with undefined overflow in between
4005 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
4006 corresponding condition even if they have non-NULL ops[]->op.
4009 2022-01-26 Jakub Jelinek <jakub@redhat.com>
4012 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
4014 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
4015 before for loop instead of for init clause.
4016 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
4018 2022-01-26 Jakub Jelinek <jakub@redhat.com>
4021 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
4022 _X86INTRIN_H_INCLUDED and adjust #error wording.
4023 * config/rs6000/bmi2intrin.h: Likewise.
4025 2022-01-26 Jakub Jelinek <jakub@redhat.com>
4028 * dwarf2out.cc (long_double_as_float128): New function.
4029 (modified_type_die): For powerpc64le IEEE 754 quad long double
4030 and complex long double emit those as DW_TAG_typedef to
4031 _Float128 or complex _Float128 base type.
4033 2022-01-26 Marek Polacek <polacek@redhat.com>
4036 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
4037 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
4039 2022-01-26 Martin Liska <mliska@suse.cz>
4041 * ipa-modref-tree.cc (modref_access_node::update):
4042 Remove "--param param=foo" with "--param foo".
4043 (modref_access_node::insert): Likewise.
4044 (modref_access_node::insert_kill): Likewise.
4045 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
4046 (struct modref_base_node): Likewise.
4047 (struct modref_tree): Likewise.
4049 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
4052 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
4055 2022-01-25 Martin Sebor <msebor@redhat.com>
4057 PR tree-optimization/104203
4058 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
4060 * pointer-query.cc (access_ref::merge_ref): Change return type.
4061 Convert failure to a conservative success.
4062 (access_ref::get_ref): Adjust to the change above. Short-circuit
4063 PHI evaluation after first failure turned into conservative success.
4064 * pointer-query.h (access_ref::merge_ref): Change return type.
4065 * timevar.def (TV_WARN_ACCESS): New timer variable.
4067 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
4069 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
4071 2022-01-25 Richard Biener <rguenther@suse.de>
4073 PR tree-optimization/104214
4074 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
4075 stronger guarantees for relational pointer compares when
4076 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
4077 BASE0 + STEP0 - STEP1 cmp BASE1.
4079 2022-01-25 Jakub Jelinek <jakub@redhat.com>
4082 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
4084 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
4085 ieee128_mangling_gcc_8_1): Remove.
4086 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
4087 (rs6000_mangle_type): Return "u9__ieee128" instead of
4088 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
4089 (rs6000_globalize_decl_name): Remove.
4090 * config/rs6000/rs6000-call.cc (init_cumulative_args,
4091 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
4093 2022-01-24 Martin Sebor <msebor@redhat.com>
4095 * pointer-query.cc (pointer_query::dump): Remove duplicate
4098 2022-01-24 Marek Polacek <polacek@redhat.com>
4100 PR preprocessor/104030
4101 * doc/invoke.texi: Update documentation for -Wbidi-chars.
4103 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
4106 * builtins.cc (expand_builtin_fegetround): New function.
4107 (expand_builtin_feclear_feraise_except): New function.
4108 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
4109 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
4110 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
4111 (feclearexceptsi): New Pattern.
4112 (feraiseexceptsi): New Pattern.
4113 * doc/extend.texi: Add a new introductory paragraph about the
4115 * doc/md.texi: (fegetround@var{m}): Document new optab.
4116 (feclearexcept@var{m}): Document new optab.
4117 (feraiseexcept@var{m}): Document new optab.
4118 * optabs.def (fegetround_optab): New optab.
4119 (feclearexcept_optab): New optab.
4120 (feraiseexcept_optab): New optab.
4122 2022-01-24 Richard Biener <rguenther@suse.de>
4123 Jiufu Guo <guojiufu@linux.ibm.com>
4125 PR tree-optimization/100740
4126 PR tree-optimization/101508
4127 PR tree-optimization/101972
4128 PR tree-optimization/102131
4129 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
4130 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
4131 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
4133 2022-01-24 Jakub Jelinek <jakub@redhat.com>
4136 * opt-functions.awk (var_set): Handle EnumBitSet property.
4137 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
4139 * opts.h (enum cl_enum_var_value): New type.
4140 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
4142 (cmdline_handle_error): Handle CLEV_BITSET.
4143 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
4144 * doc/options.texi (EnumBitSet): Document.
4145 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
4147 (trace-pc, trace-cmp): Drop Set properties.
4149 2022-01-24 Jakub Jelinek <jakub@redhat.com>
4152 * common.opt (flag_sanitize_coverage): Remove Variable entry.
4153 (fsanitize-coverage=): Remove RejectNegative property, add
4154 Var(flag_sanitize_coverage) and EnumSet properties.
4155 (trace-pc): Add Set(1) property.
4156 (trace-cmp): Add Set(2) property.
4157 * opts.cc (common_handle_option): Don't handle
4158 OPT_fsanitize_coverage_.
4160 2022-01-24 Jakub Jelinek <jakub@redhat.com>
4163 * opt-functions.awk (var_set): Handle EnumSet property.
4164 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
4166 * opt-read.awk: Handle Set property.
4167 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
4168 (struct cl_decoded_option): Mention enum in value description.
4170 (set_option): Add mask argument defaulted to 0.
4171 * opts.cc (test_enum_sets): New function.
4172 (opts_cc_tests): Call it.
4173 * opts-common.cc (enum_arg_to_value): Change return argument
4174 from bool to int, on success return index into the cl_enum_arg
4175 array, on failure -1. Add len argument, if non-0, use strncmp
4177 (opt_enum_arg_to_value): Adjust caller.
4178 (decode_cmdline_option): Handle EnumSet represented as
4179 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
4180 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
4181 (handle_option): Pass decoded->mask to set_options last argument.
4182 (generate_option): Clear decoded->mask.
4183 (generate_option_input_file): Likewise.
4184 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
4185 (set_option): Add mask argument, use it for CLVC_ENUM.
4186 (control_warning_option): Adjust enum_arg_to_value caller.
4187 * doc/options.texi: Document Set and EnumSet properties.
4189 2022-01-24 Jakub Jelinek <jakub@redhat.com>
4192 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
4193 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
4194 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
4195 using OPTION_*_P macros.
4196 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
4197 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
4198 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
4199 using OPTION_*_P macros.
4200 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
4201 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
4202 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
4203 using OPTION_*_P macros.
4204 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
4205 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
4206 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
4207 using OPTION_*_P macros.
4208 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
4209 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
4210 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
4211 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
4212 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
4213 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
4214 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
4215 otherwise assume if (true).
4217 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
4219 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
4220 Skip zicsr and zifencei if I-ext is 2.0.
4222 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
4224 * config.gcc: Modify default isa_spec version.
4226 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
4228 PR tree-optimization/102087
4229 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
4230 Correct PLUS result type.
4232 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
4235 * config/i386/predicates.md (bcst_mem_operand): Also check mode
4236 of memory broadcast.
4238 2022-01-23 Andrew Pinski <apinski@marvell.com>
4241 * config/aarch64/aarch64-builtins.cc
4242 (aarch64_general_gimple_fold_builtin): Handle
4243 __builtin_aarch64_sqrt* and simplify into SQRT internal
4246 2022-01-22 Jakub Jelinek <jakub@redhat.com>
4249 * opts-global.cc (handle_common_deferred_options): Quote
4250 --enable-plugin in diagnostics to avoid -Werror=format-diag.
4252 2022-01-21 Michael Meissner <meissner@the-meissners.org>
4255 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
4256 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
4257 * config/rs6000/rs6000.md (prefixed attribute): Delete section
4258 that sets the prefixed attribute for xxspltiw, xxspltidp, and
4259 xxsplti32dx instructions.
4260 (movsf_hardfloat): Explicitly set the prefixed attribute
4261 when xxspltiw and xxspltidp instructions are generated.
4262 (mov<mode>_hardfloat32): Likewise.
4263 (mov<mode>_hardfloat64): Likewise.
4264 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
4265 prefixed attribute for xxspltiw and xxspltidp instructions.
4266 (vsx_mov<mode>_32bit): Likewise.
4268 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
4271 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
4272 Return true only on glibc.
4273 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
4274 Revert commit c163647ffbc.
4275 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
4277 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
4279 * common/config/s390/s390-common.cc (s390_supports_split_stack):
4280 Only support split-stack on glibc targets.
4281 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
4282 * config/i386/gnu.h (defined): Ditto.
4284 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
4286 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
4287 vector float and vector double.
4289 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
4291 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
4292 Fix mention of ifunc in string.
4294 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
4296 PR middle-end/104140
4297 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
4298 operands of the widening multiplication are either both signed or
4299 both unsigned, and abort the conversion if mismatched.
4300 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
4301 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
4303 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
4304 integer types with the same precision and signedness.
4305 (WIDEN_MULT_EXPR): Document that operands must have integer types
4306 with the same precision, but possibly differing signedness.
4307 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
4308 riscv_current_subset_list returning a NULL pointer (empty list).
4310 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
4313 * ira.h (struct target_ira): Add member
4314 x_ira_exclude_class_mode_regs.
4315 (ira_exclude_class_mode_regs): New macro.
4316 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
4318 * lra-int.h: ... to here.
4319 (lra_create_new_reg_with_unique_value): Add arg
4320 exclude_start_hard_regs.
4321 (class lra_reg): Add member exclude_start_hard_regs.
4322 * lra-assigns.cc (find_hard_regno_for_1): Setup
4323 impossible_start_hard_regs from exclude_start_hard_regs.
4324 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
4325 it lra_create_new_reg[_with_unique_value].
4326 (match_reload): Ditto.
4327 (check_and_process_move): Pass NULL
4328 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
4329 (goal_alt_exclude_start_hard_regs): New static variable.
4330 (process_addr_reg, simplify_operand_subreg): Pass NULL
4331 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
4333 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
4334 Use this_alternative_exclude_start_hard_regs additionally to find
4335 winning operand alternative.
4336 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
4337 exclude_start_hard_regs to lra_create_new_reg.
4338 (process_address_1, emit_inc): Ditto.
4339 (curr_insn_transform): Pass exclude_start_hard_regs value to
4340 lra_create_new_reg, get_reload_reg, match_reload.
4341 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
4342 to lra_create_new_reg.
4343 (process_invariant_for_inheritance): Ditto.
4344 * lra-remat.cc (update_scratch_ops): Ditto.
4345 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
4346 exclude_start_hard_regs. Setup the corresponding member of
4348 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
4349 to lra_create_new_reg_with_unique_value.
4350 (initialize_lra_reg_info_element): Initialize member
4351 exclude_start_hard_regs.
4352 (get_scratch_reg): Pass NULL to lra_create_new_reg.
4353 * ira.cc (setup_prohibited_class_mode_regs): Rename to
4354 setup_prohibited_and_exclude_class_mode_regs and calculate
4355 ira_exclude_class_mode_regs.
4357 2022-01-21 Martin Liska <mliska@suse.cz>
4359 * configure.ac: Detect ld_is_mold and use it for
4360 comdat_group=yes and gcc_cv_ld_hidden=yes.
4361 * configure: Regenerate.
4363 2022-01-21 Richard Biener <rguenther@suse.de>
4365 PR tree-optimization/100089
4366 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
4367 of if-converted loops with unvectorized COND_EXPRs for
4368 all but the unlimited cost models.
4370 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
4372 * config/arm/arm-opts.h (enum stack_protector_guard): New.
4373 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
4375 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
4376 (arm_option_override_internal): Handle and put in error checks.
4377 for stack protector guard options.
4378 (arm_option_reconfigure_globals): Likewise.
4379 (arm_stack_protect_tls_canary_mem): New.
4380 (arm_stack_protect_guard): New.
4381 * config/arm/arm.md (stack_protect_set): New.
4382 (stack_protect_set_tls): Likewise.
4383 (stack_protect_test): Likewise.
4384 (stack_protect_test_tls): Likewise.
4385 (reload_tp_hard): Likewise.
4386 * config/arm/arm.opt (-mstack-protector-guard): New
4387 (-mstack-protector-guard-offset): New.
4388 * doc/invoke.texi: Document new options.
4390 2022-01-21 Richard Biener <rguenther@suse.de>
4392 PR tree-optimization/104156
4393 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
4394 Collect and reset debug stmts with out-of-loop uses when
4396 (find_loop_guard): Adjust.
4397 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
4398 (used_outside_loop_p): Push debug uses to a vector of
4399 debug stmts to reset.
4400 (hoist_guard): Adjust -fopt-info category.
4402 2022-01-21 Richard Biener <rguenther@suse.de>
4404 PR tree-optimization/104152
4405 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
4406 can_duplicate_and_interleave_p check.
4408 2022-01-21 Jakub Jelinek <jakub@redhat.com>
4410 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
4411 Avoid passing var to warning_at when the format string doesn't
4414 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
4416 PR tree-optimization/103721
4417 * gimple-range-path.cc
4418 (path_range_query::relations_may_be_invalidated): New.
4419 (path_range_query::compute_ranges_in_block): Reset relations if
4420 they may be invalidated.
4421 (path_range_query::maybe_register_phi_relation): Exit if relations
4422 may be invalidated on incoming edge.
4423 (path_range_query::compute_phi_relations): Pass incoming PHI edge
4424 to maybe_register_phi_relation.
4425 * gimple-range-path.h (relations_may_be_invalidated): New.
4426 (maybe_register_phi_relation): Pass edge instead of tree.
4427 * tree-ssa-threadbackward.cc (back_threader::back_threader):
4429 * value-relation.cc (path_oracle::path_oracle): Call
4430 mark_dfs_back_edges.
4431 (path_oracle::register_relation): Add SSA names to m_registered
4433 (path_oracle::reset_path): Clear m_registered bitmap.
4434 * value-relation.h (path_oracle::set_root_oracle): New.
4436 2022-01-21 Jakub Jelinek <jakub@redhat.com>
4438 PR rtl-optimization/102478
4439 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
4440 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
4443 2022-01-20 Richard Biener <rguenther@suse.de>
4445 PR middle-end/100786
4446 * gimple-fold.cc (get_symbol_constant_value): Only return
4447 values of compatible type to the symbol.
4449 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
4451 * value-relation.cc (relation_oracle::valid_equivs): Query and add
4452 if valid members of a set.
4453 (equiv_oracle::register_equiv): Call valid_equivs rather than
4454 bitmap direct operations.
4455 (path_oracle::register_equiv): Ditto.
4456 * value-relation.h (relation_oracle::valid_equivs): New prototype.
4458 2022-01-20 Richard Biener <rguenther@suse.de>
4461 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
4462 LHS before folding __builtin_ia32_shufpd and friends.
4464 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
4466 * config/arm/crypto.md (aes_op_protect): Allow moves from core
4467 registers and from memory.
4468 (aes_op_protect_misalign_load): New pattern.
4469 (aes_op_protect_neon_vld1v16qi): New pattern.
4471 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
4473 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
4475 (aarch32_crypto_aese_fused_protected): Likewise.
4476 (aarch32_crypto_aesd_fused_protected): Likewise.
4478 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
4480 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
4481 to define_expand. Add mitigation for the Cortex-A AES erratum
4483 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
4484 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
4485 (aes_op_protect): New pattern.
4486 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
4488 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
4490 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
4491 (ALL_QUIRKS): Add it.
4492 (cortex-a57, cortex-a72): Enable it.
4493 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
4494 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
4496 (mfix-cortex-a72-aes-1655431): New option alias.
4497 * config/arm/arm.cc (arm_option_override): Handle default settings
4498 for AES erratum switch.
4499 * doc/invoke.texi (Arm Options): Document new options.
4501 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
4503 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
4504 <crypto_mode> rather than hard-coding the mode.
4505 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
4506 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
4507 (*aarch32_crypto_aese_fused): Likewise.
4508 (*aarch32_crypto_aesd_fused): Likewise.
4509 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
4510 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
4511 (crypto_sha1h_lb): Likewise.
4512 (crypto_vmullp64): Likewise.
4513 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
4514 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
4516 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
4518 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
4519 iterator to pattern name to disambiguate.
4520 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
4521 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
4522 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
4523 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
4524 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
4526 2022-01-20 Martin Liska <mliska@suse.cz>
4529 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
4530 * rtl.cc: Partially disable -Wformat-diag for RTL checking
4533 2022-01-20 Jakub Jelinek <jakub@redhat.com>
4536 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
4537 block_num > 0, index entry even if !have_multiple_function_sections.
4539 2022-01-20 liuhongt <hongtao.liu@intel.com>
4542 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
4543 integral mode mask pack by multi steps which takes
4544 vec_pack_sbool_trunc_optab as start when elements number is
4545 less than BITS_PER_UNITS.
4547 2022-01-20 Richard Biener <rguenther@suse.de>
4549 PR tree-optimization/104114
4550 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
4551 single element vector decomposition.
4553 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
4555 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
4556 (noce_convert_multiple_sets): Call function a second time if we can
4557 improve the first try.
4559 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
4561 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
4562 reversed comparison.
4563 (try_emit_cmove_seq): New function to facilitate creating a cmov
4565 (noce_convert_multiple_sets): Create two sequences and use the less
4568 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
4570 * rtl.h (struct rtx_comparison): New struct that holds an rtx
4572 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
4574 (rs6000_emit_swsqrt): Likewise.
4575 * expmed.cc (expand_sdiv_pow2): Likewise.
4576 (emit_store_flag): Likewise.
4577 * expr.cc (expand_cond_expr_using_cmove): Likewise.
4578 (expand_expr_real_2): Likewise.
4579 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
4581 * optabs.cc (emit_conditional_move_1): New function.
4582 (expand_doubleword_shift_condmove): Use struct.
4583 (emit_conditional_move): Use struct and allow to call directly
4584 without going through preparation steps.
4585 * optabs.h (emit_conditional_move): Use struct.
4587 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
4589 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
4590 (noce_process_if_block): Use potential costs.
4592 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
4594 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
4595 (bb_ok_for_noce_convert_multiple_sets): Likewise.
4597 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
4599 * ifcvt.cc (need_cmov_or_rewire): New function.
4600 (noce_convert_multiple_sets): Call it.
4602 2022-01-19 David Malcolm <dmalcolm@redhat.com>
4604 * attribs.cc (attribute_c_tests): Rename to...
4605 (attribs_cc_tests): ...this.
4606 * bitmap.cc (bitmap_c_tests): Rename to...
4607 (bitmap_cc_tests): ...this.
4608 * cgraph.cc (cgraph_c_finalize): Rename to...
4609 (cgraph_cc_finalize): ...this.
4610 (cgraph_c_tests): Rename to...
4611 (cgraph_cc_tests): ...this.
4612 * cgraph.h (cgraph_c_finalize): Rename to...
4613 (cgraph_cc_finalize): ...this.
4614 (cgraphunit_c_finalize): Rename to...
4615 (cgraphunit_cc_finalize): ...this.
4616 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
4617 (cgraphunit_cc_finalize): ...this.
4618 * convert.cc (convert_c_tests): Rename to...
4619 (convert_cc_tests): ...this.
4620 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
4621 (dbgcnt_cc_tests): ...this.
4622 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
4623 (diagnostic_show_locus_cc_tests): ...this.
4624 * diagnostic.cc (diagnostic_c_tests): Rename to...
4625 (diagnostic_cc_tests): ...this.
4626 * dumpfile.cc (dumpfile_c_tests): Rename to...
4627 (dumpfile_cc_tests): ...this.
4628 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
4629 (dwarf2out_cc_finalize): ...this.
4630 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
4631 (dwarf2out_cc_finalize): ...this.
4632 * edit-context.cc (edit_context_c_tests): Rename to...
4633 (edit_context_cc_tests): ...this.
4634 * et-forest.cc (et_forest_c_tests): Rename to...
4635 (et_forest_cc_tests): ...this.
4636 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
4637 (fibonacci_heap_cc_tests): ...this.
4638 * fold-const.cc (fold_const_c_tests): Rename to...
4639 (fold_const_cc_tests): ...this.
4640 * function-tests.cc (function_tests_c_tests): Rename to...
4641 (function_tests_cc_tests): ...this.
4642 * gcse.cc (gcse_c_finalize): Rename to...
4643 (gcse_cc_finalize): ...this.
4644 * gcse.h (gcse_c_finalize): Rename to...
4645 (gcse_cc_finalize): ...this.
4646 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
4647 (ggc_tests_cc_tests): ...this.
4648 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
4649 (store_merging_cc_tests): ...this.
4650 * gimple.cc (gimple_c_tests): Rename to...
4651 (gimple_cc_tests): ...this.
4652 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
4653 (hash_map_tests_cc_tests): ...this.
4654 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
4655 (hash_set_tests_cc_tests): ...this.
4656 * input.cc (input_c_tests): Rename to...
4657 (input_cc_tests): ...this.
4658 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
4659 (ipa_cp_cc_finalize): ...this.
4660 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
4661 (ipa_fnsummary_cc_finalize): ...this.
4662 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
4663 (ipa_fnsummary_cc_finalize): ...this.
4664 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
4665 (ipa_modref_tree_cc_tests): ...this.
4666 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
4667 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
4668 (ipa_modref_cc_finalize): ...this.
4669 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
4670 (ipa_modref_cc_finalize): ...this.
4671 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
4672 (ipa_cp_cc_finalize): ...this.
4673 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
4674 (ipa_reference_cc_finalize): ...this.
4675 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
4676 (ipa_reference_cc_finalize): ...this.
4677 * ira-costs.cc (ira_costs_c_finalize): Rename to...
4678 (ira_costs_cc_finalize): ...this.
4679 * ira.h (ira_costs_c_finalize): Rename to...
4680 (ira_costs_cc_finalize): ...this.
4681 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
4682 (opt_suggestions_cc_tests): ...this.
4683 * opts.cc (opts_c_tests): Rename to...
4684 (opts_cc_tests): ...this.
4685 * predict.cc (predict_c_tests): Rename to...
4686 (predict_cc_tests): ...this.
4687 * pretty-print.cc (pretty_print_c_tests): Rename to...
4688 (pretty_print_cc_tests): ...this.
4689 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
4690 (read_rtl_function_cc_tests): ...this.
4691 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
4692 (rtl_tests_cc_tests): ...this.
4693 * sbitmap.cc (sbitmap_c_tests): Rename to...
4694 (sbitmap_cc_tests): ...this.
4695 * selftest-run-tests.cc (selftest::run_tests): Update calls for
4696 _c_ to _cc_ function renamings; fix names of attribs and
4697 opt-suggestions tests.
4698 * selftest.cc (selftest_c_tests): Rename to...
4699 (selftest_cc_tests): ...this.
4700 * selftest.h (attribute_c_tests): Rename to...
4701 (attribs_cc_tests): ...this.
4702 (bitmap_c_tests): Rename to...
4703 (bitmap_cc_tests): ...this.
4704 (cgraph_c_tests): Rename to...
4705 (cgraph_cc_tests): ...this.
4706 (convert_c_tests): Rename to...
4707 (convert_cc_tests): ...this.
4708 (diagnostic_c_tests): Rename to...
4709 (diagnostic_cc_tests): ...this.
4710 (diagnostic_show_locus_c_tests): Rename to...
4711 (diagnostic_show_locus_cc_tests): ...this.
4712 (dumpfile_c_tests): Rename to...
4713 (dumpfile_cc_tests): ...this.
4714 (edit_context_c_tests): Rename to...
4715 (edit_context_cc_tests): ...this.
4716 (et_forest_c_tests): Rename to...
4717 (et_forest_cc_tests): ...this.
4718 (fibonacci_heap_c_tests): Rename to...
4719 (fibonacci_heap_cc_tests): ...this.
4720 (fold_const_c_tests): Rename to...
4721 (fold_const_cc_tests): ...this.
4722 (function_tests_c_tests): Rename to...
4723 (function_tests_cc_tests): ...this.
4724 (ggc_tests_c_tests): Rename to...
4725 (ggc_tests_cc_tests): ...this.
4726 (gimple_c_tests): Rename to...
4727 (gimple_cc_tests): ...this.
4728 (hash_map_tests_c_tests): Rename to...
4729 (hash_map_tests_cc_tests): ...this.
4730 (hash_set_tests_c_tests): Rename to...
4731 (hash_set_tests_cc_tests): ...this.
4732 (input_c_tests): Rename to...
4733 (input_cc_tests): ...this.
4734 (opts_c_tests): Rename to...
4735 (opts_cc_tests): ...this.
4736 (predict_c_tests): Rename to...
4737 (predict_cc_tests): ...this.
4738 (pretty_print_c_tests): Rename to...
4739 (pretty_print_cc_tests): ...this.
4740 (read_rtl_function_c_tests): Rename to...
4741 (read_rtl_function_cc_tests): ...this.
4742 (rtl_tests_c_tests): Rename to...
4743 (rtl_tests_cc_tests): ...this.
4744 (sbitmap_c_tests): Rename to...
4745 (sbitmap_cc_tests): ...this.
4746 (selftest_c_tests): Rename to...
4747 (selftest_cc_tests): ...this.
4748 (simplify_rtx_c_tests): Rename to...
4749 (simplify_rtx_cc_tests): ...this.
4750 (spellcheck_c_tests): Rename to...
4751 (spellcheck_cc_tests): ...this.
4752 (spellcheck_tree_c_tests): Rename to...
4753 (spellcheck_tree_cc_tests): ...this.
4754 (sreal_c_tests): Rename to...
4755 (sreal_cc_tests): ...this.
4756 (store_merging_c_tests): Rename to...
4757 (store_merging_cc_tests): ...this.
4758 (tree_c_tests): Rename to...
4759 (tree_cc_tests): ...this.
4760 (tree_cfg_c_tests): Rename to...
4761 (tree_cfg_cc_tests): ...this.
4762 (typed_splay_tree_c_tests): Rename to...
4763 (typed_splay_tree_cc_tests): ...this.
4764 (vec_c_tests): Rename to...
4765 (vec_cc_tests): ...this.
4766 (vec_perm_indices_c_tests): Rename to...
4767 (vec_perm_indices_cc_tests): ..this.
4768 (opt_proposer_c_tests): Rename to...
4769 (opt_suggestions_cc_tests): ...this.
4770 (dbgcnt_c_tests): Rename to...
4771 (dbgcnt_cc_tests): ...this.
4772 (ipa_modref_tree_c_tests): Rename to...
4773 (ipa_modref_tree_cc_tests): ...this.
4774 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
4775 (simplify_rtx_cc_tests): ...this.
4776 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
4777 (spellcheck_tree_cc_tests): ...this.
4778 * spellcheck.cc (spellcheck_c_tests): Rename to...
4779 (spellcheck_cc_tests): ...this.
4780 * sreal.cc (sreal_c_tests): Rename to...
4781 (sreal_cc_tests): ...this.
4782 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
4784 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
4785 (tree_cfg_cc_tests): ...this.
4786 * tree.cc (tree_c_tests): Rename to...
4787 (tree_cc_tests): ...this.
4788 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
4789 (typed_splay_tree_cc_tests): ...this.
4790 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
4791 (vec_perm_indices_cc_tests): ...this.
4792 * vec.cc (vec_c_tests): Rename to...
4793 (vec_cc_tests): ...this.
4795 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
4797 PR tree-optimization/103997
4798 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
4801 2022-01-19 Jakub Jelinek <jakub@redhat.com>
4803 PR middle-end/102860
4804 * match.pd (x %[fl] y -> x % y): New simplification for
4805 unsigned integral types.
4806 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
4807 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
4809 2022-01-19 Richard Biener <rguenther@suse.de>
4811 PR tree-optimization/104112
4812 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
4813 for required intermediate vector types.
4815 2022-01-19 Jakub Jelinek <jakub@redhat.com>
4817 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
4819 2022-01-19 Martin Liska <mliska@suse.cz>
4821 * configure.ac: Remove -Wno-error=format-diag.
4822 * configure: Regenerate.
4824 2022-01-19 Martin Liska <mliska@suse.cz>
4826 * config/riscv/riscv.cc (riscv_handle_type_attribute):
4827 Update one -Wformat-diag string in warning message.
4829 2022-01-19 Jakub Jelinek <jakub@redhat.com>
4831 PR middle-end/104103
4832 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
4835 2022-01-19 Jakub Jelinek <jakub@redhat.com>
4838 * fold-const.cc (address_compare): Consider different STRING_CSTs
4839 with the same lengths that memcmp the same as equal, not different.
4841 2022-01-19 Jakub Jelinek <jakub@redhat.com>
4843 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
4846 2022-01-19 Martin Liska <mliska@suse.cz>
4847 Thomas Schwinge <thomas@codesourcery.com>
4849 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
4852 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
4855 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
4858 2022-01-19 Jakub Jelinek <jakub@redhat.com>
4861 * config/i386/sse.md
4862 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
4863 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
4864 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
4865 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
4866 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
4867 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
4868 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
4869 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
4870 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
4872 2022-01-19 Martin Sebor <msebor@redhat.com>
4874 PR middle-end/104069
4875 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
4876 an unknown result as documented.
4878 2022-01-18 Andrew Pinski <apinski@marvell.com>
4880 * ipa-split.cc (visit_bb): Fix comment before the
4881 warning/error attribute checking code.
4883 2022-01-18 David Faust <david.faust@oracle.com>
4885 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
4886 for base strtab offset yet as it may change.
4887 (output_asm_btfext_core_reloc): Do so here instead.
4888 (output_btfext_core_sections): Likewise.
4890 2022-01-18 David Faust <david.faust@oracle.com>
4892 * config/bpf/coreout.cc (output_btfext_header): Account for
4893 4-byte record size in core_relo_len.
4894 (output_btfext_core_sections): Only write record size once.
4895 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
4898 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
4900 * common/config/riscv/riscv-common.cc
4901 (riscv_subset_list::parse_multiletter_ext): Move pointer
4902 arithmetic ahead of `free'.
4904 2022-01-18 Jason Merrill <jason@redhat.com>
4907 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
4910 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
4912 PR middle-end/103163
4913 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
4914 (init_emit_once): ...not here.
4916 2022-01-18 Martin Liska <mliska@suse.cz>
4918 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
4919 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
4920 * config/arc/arc.md: Likewise.
4921 * config/avr/avr.cc (avr_section_type_flags): Likewise.
4922 * config/bfin/bfin.cc (bfin_option_override): Likewise.
4923 (bfin_handle_longcall_attribute): Likewise.
4924 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
4925 * config/frv/frv.cc (frv_expand_builtin): Likewise.
4926 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
4927 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
4928 (iq2000_print_operand_address): Likewise.
4929 (iq2000_print_operand): Likewise.
4930 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
4931 (m32c_pragma_address): Likewise.
4932 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
4933 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
4934 (mips_set_compression_mode): Likewise.
4935 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
4936 (mmix_print_operand): Likewise.
4937 (mmix_output_shiftvalue_op_from_str): Likewise.
4938 (mmix_output_shifted_value): Likewise.
4939 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
4940 * config/msp430/msp430.cc (msp430_option_override): Likewise.
4941 (msp430_attr): Likewise.
4942 (msp430_expand_delay_cycles): Likewise.
4943 (msp430_expand_builtin): Likewise.
4944 * config/rs6000/aix73.h: Likewise.
4945 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
4946 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
4947 (valid_psw_flag): Likewise.
4948 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
4949 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
4950 (xstormy16_expand_builtin_va_start): Likewise.
4951 (xstormy16_handle_below100_attribute): Likewise.
4953 2022-01-18 Martin Liska <mliska@suse.cz>
4955 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
4957 (vms_pragma_standard): Likewise.
4958 (vms_pragma_extern_prefix): Likewise.
4960 2022-01-18 Martin Liska <mliska@suse.cz>
4962 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
4963 (print_operand_address): Likewise.
4964 (xtensa_multibss_section_type_flags): Likewise.
4966 2022-01-18 Martin Liska <mliska@suse.cz>
4968 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
4969 wording of an error message.
4971 2022-01-18 Martin Liska <mliska@suse.cz>
4973 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
4975 (ghs_pragma_section): Likewise.
4976 (ghs_pragma_interrupt): Likewise.
4977 (ghs_pragma_starttda): Likewise.
4978 (ghs_pragma_startsda): Likewise.
4979 (ghs_pragma_startzda): Likewise.
4980 (ghs_pragma_endtda): Likewise.
4981 (ghs_pragma_endsda): Likewise.
4982 (ghs_pragma_endzda): Likewise.
4984 2022-01-18 Martin Liska <mliska@suse.cz>
4986 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
4988 * config/nds32/nds32-intrinsic.md: Likewise.
4989 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
4990 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
4991 (nds32_insert_attributes): Likewise.
4993 2022-01-18 Martin Liska <mliska@suse.cz>
4995 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
4997 * config/nvptx/nvptx.md: Remove trailing dot.
4999 2022-01-18 Martin Liska <mliska@suse.cz>
5001 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
5002 Wrap keywords with quotes and remove trailing dots.
5003 (riscv_subset_list::parsing_subset_version): Likewise.
5004 (riscv_subset_list::parse_std_ext): Likewise.
5005 (riscv_subset_list::parse_multiletter_ext): Likewise.
5006 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
5008 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
5010 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
5011 argument suggested_unroll_factor.
5012 (vect_analyze_loop_costing): Likewise.
5013 (_loop_vec_info::_loop_vec_info): Initialize new member
5014 suggested_unroll_factor.
5015 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
5016 main loop use partial vectors.
5017 (vect_analyze_loop_2): Pass and use new argument
5018 suggested_unroll_factor.
5019 (vect_analyze_loop_1): Change to intialize local
5020 suggested_unroll_factor and use it.
5021 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
5022 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
5023 suggested_unroll_factor.
5024 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
5025 (vector_costs::suggested_unroll_factor): New getter function.
5026 (finish_cost): Set return argument suggested_unroll_factor.
5028 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
5030 PR tree-optimization/104038
5031 * doc/invoke.texi (relation-block-limit): New.
5032 * params.opt (relation-block-limit): New.
5033 * value-relation.cc (dom_oracle::register_relation): Check for NULL
5034 record before invoking transitive registery.
5035 (dom_oracle::set_one_relation): Check limit before creating record.
5036 (dom_oracle::register_transitives): Stop when no record created.
5037 * value-relation.h (relation_chain_head::m_num_relations): New.
5039 2022-01-18 Richard Biener <rguenther@suse.de>
5042 * ipa-inline.cc (inline_small_functions): Do not enqueue call
5043 edges originating in functions compiled with -Og.
5045 2022-01-18 Richard Biener <rguenther@suse.de>
5048 * passes.def (pass_all_optimizations_g): Remove pass_modref
5049 and pass_local_pure_const.
5051 2022-01-18 Martin Liska <mliska@suse.cz>
5053 * config/s390/s390.cc: Fix -Wformat-diag warnings.
5055 2022-01-18 Martin Liska <mliska@suse.cz>
5057 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
5059 (s390_resolve_overloaded_builtin): Remove trailing dot.
5060 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
5061 (s390_expand_builtin): Remove trailing dot.
5062 (s390_emit_prologue): Likewise, use semicolon.
5063 (s390_option_override_internal): Update keyword.
5064 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
5066 2022-01-18 Martin Liska <mliska@suse.cz>
5068 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
5069 keywords and use %qs instead of %<%s%>.
5071 2022-01-18 Richard Biener <rguenther@suse.de>
5073 PR tree-optimization/103987
5074 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
5075 query with a pointer check.
5077 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
5080 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
5081 When using MEM_EXPR, require the base to be a decl.
5083 2022-01-18 Richard Biener <rguenther@suse.de>
5085 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
5087 * function.h (struct function): Likewise.
5089 2022-01-18 Arnaud Charlet <charlet@adacore.com>
5091 * doc/install.texi: Update prerequisites for GNAT
5093 2022-01-18 Andrew Pinski <apinski@marvell.com>
5095 PR tree-optimization/101941
5096 * ipa-split.cc (visit_bb): Disallow function calls where
5097 the function has either error or warning attribute.
5099 2022-01-18 Richard Biener <rguenther@suse.de>
5101 PR tree-optimization/104064
5102 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
5103 DR_INIT fits in a signed HWI, represent the difference from the
5104 first DR in unsigned.
5106 2022-01-17 Martin Liska <mliska@suse.cz>
5108 * Makefile.in: Rename .c names to .cc.
5109 * config.gcc: Likewise.
5110 * configure: Regenerate. Likewise.
5111 * configure.ac: Likewise.
5112 * gengtype.cc (set_gc_used): Likewise.
5113 (source_dot_c_frul): Likewise.
5114 (source_dot_cc_frul): Likewise.
5115 (struct file_rule_st): Likewise.
5116 (close_output_files): Likewise.
5117 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
5119 2022-01-17 Martin Liska <mliska@suse.cz>
5121 * Makefile.in: Rename .c names to .cc.
5122 * alias.h: Likewise.
5123 * asan.cc: Likewise.
5124 * auto-profile.h: Likewise.
5125 * basic-block.h (struct basic_block_d): Likewise.
5126 * btfout.cc: Likewise.
5127 * builtins.cc (expand_builtin_longjmp): Likewise.
5128 (validate_arg): Likewise.
5129 (access_ref::offset_bounded): Likewise.
5130 * caller-save.cc (reg_restore_code): Likewise.
5131 (setup_save_areas): Likewise.
5132 * calls.cc (initialize_argument_information): Likewise.
5133 (expand_call): Likewise.
5134 (emit_library_call_value_1): Likewise.
5135 * cfg-flags.def (RTL): Likewise.
5136 (SIBCALL): Likewise.
5137 (CAN_FALLTHRU): Likewise.
5138 * cfganal.cc (post_order_compute): Likewise.
5139 * cfgcleanup.cc (try_simplify_condjump): Likewise.
5140 (merge_blocks_move_predecessor_nojumps): Likewise.
5141 (merge_blocks_move_successor_nojumps): Likewise.
5142 (merge_blocks_move): Likewise.
5143 (old_insns_match_p): Likewise.
5144 (try_crossjump_bb): Likewise.
5145 * cfgexpand.cc (expand_gimple_stmt): Likewise.
5146 * cfghooks.cc (split_block_before_cond_jump): Likewise.
5147 (profile_record_check_consistency): Likewise.
5148 * cfghooks.h: Likewise.
5149 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
5150 (rtl_can_merge_blocks): Likewise.
5151 (try_redirect_by_replacing_jump): Likewise.
5152 (make_pass_outof_cfg_layout_mode): Likewise.
5153 (cfg_layout_can_merge_blocks_p): Likewise.
5154 * cgraph.cc (release_function_body): Likewise.
5155 (cgraph_node::get_fun): Likewise.
5156 * cgraph.h (struct cgraph_node): Likewise.
5157 (asmname_hasher::equal): Likewise.
5158 (cgraph_inline_failed_type): Likewise.
5159 (thunk_adjust): Likewise.
5160 (dump_callgraph_transformation): Likewise.
5161 (record_references_in_initializer): Likewise.
5162 (ipa_discover_variable_flags): Likewise.
5163 * cgraphclones.cc (GTY): Likewise.
5164 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
5165 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
5166 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
5167 * collect2.cc (maybe_run_lto_and_relink): Likewise.
5168 * combine-stack-adj.cc: Likewise.
5169 * combine.cc (setup_incoming_promotions): Likewise.
5170 (combine_simplify_rtx): Likewise.
5171 (count_rtxs): Likewise.
5172 * common.opt: Likewise.
5173 * common/config/aarch64/aarch64-common.cc: Likewise.
5174 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
5175 * common/config/avr/avr-common.cc: Likewise.
5176 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
5177 * conditions.h: Likewise.
5178 * config.gcc: Likewise.
5179 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
5180 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
5181 (aarch64_get_extension_string_for_isa_flags): Likewise.
5182 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
5183 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
5184 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
5185 (aarch64_option_valid_attribute_p): Likewise.
5186 (aarch64_short_vector_p): Likewise.
5187 (aarch64_float_const_representable_p): Likewise.
5188 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
5189 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
5191 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
5192 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
5193 * config/aarch64/t-aarch64: Likewise.
5194 * config/aarch64/x-aarch64: Likewise.
5195 * config/aarch64/x-darwin: Likewise.
5196 * config/alpha/alpha-protos.h: Likewise.
5197 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
5198 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
5199 (enum reg_class): Likewise.
5200 * config/alpha/alpha.md: Likewise.
5201 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
5202 * config/alpha/x-alpha: Likewise.
5203 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
5204 * config/arc/arc.cc (ARC_OPT): Likewise.
5205 (arc_ccfsm_advance): Likewise.
5206 (arc_arg_partial_bytes): Likewise.
5207 (conditionalize_nonjump): Likewise.
5208 * config/arc/arc.md: Likewise.
5209 * config/arc/builtins.def: Likewise.
5210 * config/arc/t-arc: Likewise.
5211 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
5212 (arm_pragma_target_parse): Likewise.
5213 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
5214 (arm_cpu_cpp_builtins): Likewise.
5215 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
5216 (shift_op): Likewise.
5217 (thumb2_final_prescan_insn): Likewise.
5218 (arm_final_prescan_insn): Likewise.
5219 (arm_asm_output_labelref): Likewise.
5220 (arm_small_register_classes_for_mode_p): Likewise.
5221 * config/arm/arm.h: Likewise.
5222 * config/arm/arm.md: Likewise.
5223 * config/arm/driver-arm.cc: Likewise.
5224 * config/arm/symbian.h: Likewise.
5225 * config/arm/t-arm: Likewise.
5226 * config/arm/thumb1.md: Likewise.
5227 * config/arm/x-arm: Likewise.
5228 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
5229 * config/avr/avr-fixed.md: Likewise.
5230 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
5231 * config/avr/avr-mcus.def: Likewise.
5232 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
5233 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
5234 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
5235 * config/avr/avr.cc (avr_option_override): Likewise.
5236 (avr_build_builtin_va_list): Likewise.
5237 (avr_mode_dependent_address_p): Likewise.
5238 (avr_function_arg_advance): Likewise.
5239 (avr_asm_output_aligned_decl_common): Likewise.
5240 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
5241 (SUPPORTS_INIT_PRIORITY): Likewise.
5242 * config/avr/avr.md: Likewise.
5243 * config/avr/builtins.def: Likewise.
5244 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
5245 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
5247 * config/avr/t-avr: Likewise.
5248 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
5249 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
5250 * config/bpf/bpf.h (enum reg_class): Likewise.
5251 * config/bpf/t-bpf: Likewise.
5252 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
5253 * config/cr16/cr16-protos.h: Likewise.
5254 * config/cris/cris.cc (cris_address_cost): Likewise.
5255 (cris_side_effect_mode_ok): Likewise.
5256 (cris_init_machine_status): Likewise.
5257 (cris_emit_movem_store): Likewise.
5258 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
5259 (enum reg_class): Likewise.
5260 (struct cum_args): Likewise.
5261 * config/cris/cris.opt: Likewise.
5262 * config/cris/sync.md: Likewise.
5263 * config/csky/csky.cc (csky_expand_prologue): Likewise.
5264 * config/darwin-c.cc: Likewise.
5265 * config/darwin-f.cc: Likewise.
5266 * config/darwin-sections.def (zobj_const_section): Likewise.
5267 * config/darwin.cc (output_objc_section_asm_op): Likewise.
5268 (fprintf): Likewise.
5269 * config/darwin.h (GTY): Likewise.
5270 * config/elfos.h: Likewise.
5271 * config/epiphany/epiphany-sched.md: Likewise.
5272 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
5273 * config/epiphany/epiphany.h (GTY): Likewise.
5274 (NO_FUNCTION_CSE): Likewise.
5275 * config/epiphany/mode-switch-use.cc: Likewise.
5276 * config/epiphany/predicates.md: Likewise.
5277 * config/epiphany/t-epiphany: Likewise.
5278 * config/fr30/fr30-protos.h: Likewise.
5279 * config/frv/frv-protos.h: Likewise.
5280 * config/frv/frv.cc (TLS_BIAS): Likewise.
5281 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
5282 * config/ft32/ft32-protos.h: Likewise.
5283 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
5284 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
5285 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
5286 * config/gcn/t-gcn-hsa: Likewise.
5287 * config/gcn/t-omp-device: Likewise.
5288 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
5289 (same_cmp_following_p): Likewise.
5290 * config/h8300/h8300.cc (F): Likewise.
5291 * config/h8300/h8300.h (struct cum_arg): Likewise.
5292 (BRANCH_COST): Likewise.
5293 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
5294 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
5295 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
5296 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
5297 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
5298 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
5299 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
5300 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
5301 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
5302 (ix86_register_pragmas): Likewise.
5303 (ix86_d_has_stdcall_convention): Likewise.
5304 (i386_pe_seh_init_sections): Likewise.
5305 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
5306 (ix86_function_value_regno_p): Likewise.
5307 (ix86_compute_frame_layout): Likewise.
5308 (legitimize_pe_coff_symbol): Likewise.
5309 (output_pic_addr_const): Likewise.
5310 * config/i386/i386.h (defined): Likewise.
5311 (host_detect_local_cpu): Likewise.
5312 (CONSTANT_ADDRESS_P): Likewise.
5313 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
5314 (struct machine_frame_state): Likewise.
5315 * config/i386/i386.md: Likewise.
5316 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
5317 * config/i386/mmx.md: Likewise.
5318 * config/i386/sse.md: Likewise.
5319 * config/i386/t-cygming: Likewise.
5320 * config/i386/t-djgpp: Likewise.
5321 * config/i386/t-gnu-property: Likewise.
5322 * config/i386/t-i386: Likewise.
5323 * config/i386/t-intelmic: Likewise.
5324 * config/i386/t-omp-device: Likewise.
5325 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
5326 (i386_pe_adjust_class_at_definition): Likewise.
5327 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
5328 (i386_pe_mangle_decl_assembler_name): Likewise.
5329 (i386_pe_encode_section_info): Likewise.
5330 * config/i386/x-cygwin: Likewise.
5331 * config/i386/x-darwin: Likewise.
5332 * config/i386/x-i386: Likewise.
5333 * config/i386/x-mingw32: Likewise.
5334 * config/i386/x86-tune-sched-core.cc: Likewise.
5335 * config/i386/x86-tune.def: Likewise.
5336 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
5337 * config/ia64/freebsd.h: Likewise.
5338 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
5339 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
5340 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
5341 (ia64_secondary_reload_class): Likewise.
5342 (bundling): Likewise.
5343 * config/ia64/ia64.h: Likewise.
5344 * config/ia64/ia64.md: Likewise.
5345 * config/ia64/predicates.md: Likewise.
5346 * config/ia64/sysv4.h: Likewise.
5347 * config/ia64/t-ia64: Likewise.
5348 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
5349 * config/iq2000/iq2000.md: Likewise.
5350 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
5352 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
5353 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
5354 * config/m32c/t-m32c: Likewise.
5355 * config/m32r/m32r-protos.h: Likewise.
5356 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
5357 * config/m32r/m32r.h: Likewise.
5358 * config/m32r/m32r.md: Likewise.
5359 * config/m68k/m68k-isas.def: Likewise.
5360 * config/m68k/m68k-microarchs.def: Likewise.
5361 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
5362 (m68k_epilogue_uses): Likewise.
5363 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
5364 (m68k_sched_adjust_cost): Likewise.
5365 (m68k_sched_md_init): Likewise.
5366 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
5367 (enum m68k_function_kind): Likewise.
5368 * config/m68k/m68k.md: Likewise.
5369 * config/m68k/m68kemb.h: Likewise.
5370 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
5371 * config/mcore/mcore-protos.h: Likewise.
5372 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
5373 (mcore_expand_prolog): Likewise.
5374 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
5375 * config/mcore/mcore.md: Likewise.
5376 * config/microblaze/microblaze-protos.h: Likewise.
5377 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
5378 (microblaze_function_prologue): Likewise.
5379 (microblaze_function_epilogue): Likewise.
5380 (microblaze_select_section): Likewise.
5381 (microblaze_asm_output_mi_thunk): Likewise.
5382 (microblaze_eh_return): Likewise.
5383 * config/microblaze/microblaze.h: Likewise.
5384 * config/microblaze/microblaze.md: Likewise.
5385 * config/microblaze/t-microblaze: Likewise.
5386 * config/mips/driver-native.cc: Likewise.
5387 * config/mips/loongson2ef.md: Likewise.
5388 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
5389 * config/mips/mips.cc (mips_rtx_costs): Likewise.
5390 (mips_output_filename): Likewise.
5391 (mips_output_function_prologue): Likewise.
5392 (mips_output_function_epilogue): Likewise.
5393 (mips_output_mi_thunk): Likewise.
5394 * config/mips/mips.h: Likewise.
5395 * config/mips/mips.md: Likewise.
5396 * config/mips/t-mips: Likewise.
5397 * config/mips/x-native: Likewise.
5398 * config/mmix/mmix-protos.h: Likewise.
5399 * config/mmix/mmix.cc (mmix_option_override): Likewise.
5400 (mmix_dbx_register_number): Likewise.
5401 (mmix_expand_prologue): Likewise.
5402 * config/mmix/mmix.h: Likewise.
5403 * config/mmix/mmix.md: Likewise.
5404 * config/mmix/predicates.md: Likewise.
5405 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
5406 (mn10300_legitimate_pic_operand_p): Likewise.
5407 * config/mn10300/mn10300.h (enum reg_class): Likewise.
5408 (NO_FUNCTION_CSE): Likewise.
5409 * config/moxie/moxie-protos.h: Likewise.
5410 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
5411 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
5412 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
5413 (msp430_incoming_return_addr_rtx): Likewise.
5414 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
5415 * config/msp430/t-msp430: Likewise.
5416 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
5417 (nds32_rtx_costs_size_prefer): Likewise.
5418 (nds32_init_rtx_costs): Likewise.
5419 * config/nds32/nds32-doubleword.md: Likewise.
5420 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
5421 (nds32_builtin_decl): Likewise.
5422 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
5423 (enum nds32_isr_nested_type): Likewise.
5424 (enum reg_class): Likewise.
5425 * config/nds32/predicates.md: Likewise.
5426 * config/nds32/t-nds32: Likewise.
5427 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
5428 * config/nvptx/nvptx-protos.h: Likewise.
5429 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
5430 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
5431 * config/nvptx/t-nvptx: Likewise.
5432 * config/nvptx/t-omp-device: Likewise.
5433 * config/pa/elf.h: Likewise.
5434 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
5435 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
5436 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
5437 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
5438 (pa_legitimize_reload_address): Likewise.
5439 (pa_can_use_return_insn): Likewise.
5440 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
5441 (som_output_text_section_asm_op): Likewise.
5442 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
5443 * config/pa/pa.md: Likewise.
5444 * config/pa/som.h: Likewise.
5445 * config/pa/t-pa: Likewise.
5446 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
5447 * config/pdp11/pdp11.h: Likewise.
5448 * config/pdp11/pdp11.md: Likewise.
5449 * config/pdp11/t-pdp11: Likewise.
5450 * config/pru/pru.md: Likewise.
5451 * config/pru/t-pru: Likewise.
5452 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
5453 (riscv_gpr_save_operation_p): Likewise.
5454 (riscv_d_register_target_info): Likewise.
5455 (riscv_init_builtins): Likewise.
5456 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
5457 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
5458 * config/riscv/t-riscv: Likewise.
5459 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
5460 * config/rl78/t-rl78: Likewise.
5461 * config/rs6000/aix.h: Likewise.
5462 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
5463 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
5464 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
5465 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
5466 * config/rs6000/driver-rs6000.cc: Likewise.
5467 * config/rs6000/freebsd.h: Likewise.
5468 * config/rs6000/freebsd64.h: Likewise.
5469 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
5470 * config/rs6000/rbtree.cc: Likewise.
5471 * config/rs6000/rbtree.h: Likewise.
5472 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
5473 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
5474 (rs6000_expand_builtin): Likewise.
5475 (rs6000_init_builtins): Likewise.
5476 * config/rs6000/rs6000-cpus.def: Likewise.
5477 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
5478 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
5479 (quad_address_offset_p): Likewise.
5480 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
5481 (rs6000_emit_epilogue): Likewise.
5482 * config/rs6000/rs6000-overload.def: Likewise.
5483 * config/rs6000/rs6000-p8swap.cc: Likewise.
5484 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
5485 (rs6000_const_f32_to_i32): Likewise.
5486 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
5487 (rs6000_debug_legitimize_address): Likewise.
5488 (rs6000_mode_dependent_address): Likewise.
5489 (rs6000_adjust_priority): Likewise.
5490 (rs6000_c_mode_for_suffix): Likewise.
5491 * config/rs6000/rs6000.h (defined): Likewise.
5492 (LONG_DOUBLE_TYPE_SIZE): Likewise.
5493 * config/rs6000/rs6000.md: Likewise.
5494 * config/rs6000/sysv4.h: Likewise.
5495 * config/rs6000/t-linux: Likewise.
5496 * config/rs6000/t-linux64: Likewise.
5497 * config/rs6000/t-rs6000: Likewise.
5498 * config/rs6000/x-darwin: Likewise.
5499 * config/rs6000/x-darwin64: Likewise.
5500 * config/rs6000/x-rs6000: Likewise.
5501 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
5502 * config/rx/rx.cc (rx_expand_builtin): Likewise.
5503 * config/s390/constraints.md: Likewise.
5504 * config/s390/driver-native.cc: Likewise.
5505 * config/s390/htmxlintrin.h: Likewise.
5506 * config/s390/s390-builtins.def (B_DEF): Likewise.
5507 (OB_DEF_VAR): Likewise.
5508 * config/s390/s390-builtins.h: Likewise.
5509 * config/s390/s390-c.cc: Likewise.
5510 * config/s390/s390-opts.h: Likewise.
5511 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
5512 (s390_register_target_pragmas): Likewise.
5513 * config/s390/s390.cc (s390_init_builtins): Likewise.
5514 (s390_expand_plus_operand): Likewise.
5515 (s390_expand_atomic): Likewise.
5516 (s390_valid_target_attribute_inner_p): Likewise.
5517 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
5518 * config/s390/s390.md: Likewise.
5519 * config/s390/t-s390: Likewise.
5520 * config/s390/vx-builtins.md: Likewise.
5521 * config/s390/x-native: Likewise.
5522 * config/sh/divtab-sh4-300.cc (main): Likewise.
5523 * config/sh/divtab-sh4.cc (main): Likewise.
5524 * config/sh/divtab.cc (main): Likewise.
5525 * config/sh/elf.h: Likewise.
5526 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
5527 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
5528 (sh_struct_value_rtx): Likewise.
5529 (sh_remove_reg_dead_or_unused_notes): Likewise.
5530 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
5531 * config/sh/t-sh: Likewise.
5532 * config/sol2-protos.h (solaris_override_options): Likewise.
5533 * config/sol2.h: Likewise.
5534 * config/sparc/driver-sparc.cc: Likewise.
5535 * config/sparc/freebsd.h: Likewise.
5536 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
5537 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
5538 (sparc_asan_shadow_offset): Likewise.
5539 * config/sparc/sparc.h: Likewise.
5540 * config/sparc/sparc.md: Likewise.
5541 * config/sparc/t-sparc: Likewise.
5542 * config/sparc/x-sparc: Likewise.
5543 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
5544 * config/t-darwin: Likewise.
5545 * config/t-dragonfly: Likewise.
5546 * config/t-freebsd: Likewise.
5547 * config/t-glibc: Likewise.
5548 * config/t-linux: Likewise.
5549 * config/t-netbsd: Likewise.
5550 * config/t-openbsd: Likewise.
5551 * config/t-pnt16-warn: Likewise.
5552 * config/t-sol2: Likewise.
5553 * config/t-vxworks: Likewise.
5554 * config/t-winnt: Likewise.
5555 * config/tilegx/t-tilegx: Likewise.
5556 * config/tilegx/tilegx-c.cc: Likewise.
5557 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
5558 * config/tilegx/tilegx.md: Likewise.
5559 * config/tilepro/t-tilepro: Likewise.
5560 * config/tilepro/tilepro-c.cc: Likewise.
5561 * config/v850/t-v850: Likewise.
5562 * config/v850/v850-protos.h: Likewise.
5563 * config/v850/v850.cc (F): Likewise.
5564 * config/v850/v850.h (enum reg_class): Likewise.
5565 (SLOW_BYTE_ACCESS): Likewise.
5566 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
5567 * config/vax/vax.h (enum reg_class): Likewise.
5568 * config/vax/vax.md: Likewise.
5569 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
5570 * config/visium/visium.h: Likewise.
5571 * config/vms/t-vms: Likewise.
5572 * config/vms/vms-crtlmap.map: Likewise.
5573 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
5574 * config/vx-common.h: Likewise.
5575 * config/x-darwin: Likewise.
5576 * config/x-hpux: Likewise.
5577 * config/x-linux: Likewise.
5578 * config/x-netbsd: Likewise.
5579 * config/x-openbsd: Likewise.
5580 * config/x-solaris: Likewise.
5581 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
5582 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
5583 * config/xtensa/xtensa.h: Likewise.
5584 * configure.ac: Likewise.
5585 * context.cc: Likewise.
5586 * convert.h: Likewise.
5587 * coretypes.h: Likewise.
5588 * coverage.cc: Likewise.
5589 * coverage.h: Likewise.
5590 * cppdefault.h (struct default_include): Likewise.
5591 * cprop.cc (local_cprop_pass): Likewise.
5592 (one_cprop_pass): Likewise.
5593 * cse.cc (hash_rtx_cb): Likewise.
5594 (fold_rtx): Likewise.
5595 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
5596 * data-streamer.h (bp_unpack_var_len_int): Likewise.
5597 (streamer_write_widest_int): Likewise.
5598 * dbgcnt.def: Likewise.
5599 * dbxout.cc (dbxout_early_global_decl): Likewise.
5600 (dbxout_common_check): Likewise.
5601 * dbxout.h: Likewise.
5602 * debug.h (struct gcc_debug_hooks): Likewise.
5603 (dump_go_spec_init): Likewise.
5604 * df-core.cc: Likewise.
5605 * df-scan.cc (df_insn_info_delete): Likewise.
5606 (df_insn_delete): Likewise.
5607 * df.h (debug_df_chain): Likewise.
5608 (can_move_insns_across): Likewise.
5609 * dfp.cc (decimal_from_binary): Likewise.
5610 * diagnostic-color.cc: Likewise.
5611 * diagnostic-event-id.h: Likewise.
5612 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
5613 * diagnostic.cc (bt_callback): Likewise.
5614 (num_digits): Likewise.
5615 * doc/avr-mmcu.texi: Likewise.
5616 * doc/cfg.texi: Likewise.
5617 * doc/contrib.texi: Likewise.
5618 * doc/cppinternals.texi: Likewise.
5619 * doc/extend.texi: Likewise.
5620 * doc/generic.texi: Likewise.
5621 * doc/gimple.texi: Likewise.
5622 * doc/gty.texi: Likewise.
5623 * doc/invoke.texi: Likewise.
5624 * doc/loop.texi: Likewise.
5625 * doc/lto.texi: Likewise.
5626 * doc/match-and-simplify.texi: Likewise.
5627 * doc/md.texi: Likewise.
5628 * doc/optinfo.texi: Likewise.
5629 * doc/options.texi: Likewise.
5630 * doc/passes.texi: Likewise.
5631 * doc/plugins.texi: Likewise.
5632 * doc/rtl.texi: Likewise.
5633 * doc/sourcebuild.texi: Likewise.
5634 * doc/tm.texi: Likewise.
5635 * doc/tm.texi.in: Likewise.
5636 * doc/tree-ssa.texi: Likewise.
5637 * dojump.cc (do_jump): Likewise.
5638 * dojump.h: Likewise.
5639 * dumpfile.cc (test_impl_location): Likewise.
5640 (test_capture_of_dump_calls): Likewise.
5641 * dumpfile.h (enum dump_kind): Likewise.
5642 (class dump_location_t): Likewise.
5643 (dump_enabled_p): Likewise.
5644 (enable_rtl_dump_file): Likewise.
5645 (dump_combine_total_stats): Likewise.
5646 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
5647 * dwarf2ctf.h (ctf_debug_finish): Likewise.
5648 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
5649 (struct loc_descr_context): Likewise.
5650 (rtl_for_decl_location): Likewise.
5651 (gen_subprogram_die): Likewise.
5652 (gen_label_die): Likewise.
5653 (is_trivial_indirect_ref): Likewise.
5654 (dwarf2out_late_global_decl): Likewise.
5655 (dwarf_file_hasher::hash): Likewise.
5656 (dwarf2out_end_source_file): Likewise.
5657 (dwarf2out_define): Likewise.
5658 (dwarf2out_early_finish): Likewise.
5659 * dwarf2out.h (struct dw_fde_node): Likewise.
5660 (struct dw_discr_list_node): Likewise.
5661 (output_loc_sequence_raw): Likewise.
5662 * emit-rtl.cc (gen_raw_REG): Likewise.
5663 (maybe_set_max_label_num): Likewise.
5664 * emit-rtl.h (struct rtl_data): Likewise.
5665 * errors.cc (internal_error): Likewise.
5666 (trim_filename): Likewise.
5667 * et-forest.cc: Likewise.
5668 * except.cc (init_eh_for_function): Likewise.
5669 * explow.cc (promote_ssa_mode): Likewise.
5670 (get_dynamic_stack_size): Likewise.
5671 * explow.h: Likewise.
5672 * expmed.h: Likewise.
5673 * expr.cc (safe_from_p): Likewise.
5674 (expand_expr_real_2): Likewise.
5675 (expand_expr_real_1): Likewise.
5676 * file-prefix-map.cc (remap_filename): Likewise.
5677 * final.cc (app_enable): Likewise.
5678 (make_pass_compute_alignments): Likewise.
5679 (final_scan_insn_1): Likewise.
5680 (final_scan_insn): Likewise.
5681 * fixed-value.h (fixed_from_string): Likewise.
5682 * flag-types.h (NO_DEBUG): Likewise.
5683 (DWARF2_DEBUG): Likewise.
5684 (VMS_DEBUG): Likewise.
5685 (BTF_DEBUG): Likewise.
5686 (enum ctf_debug_info_levels): Likewise.
5687 * fold-const.cc (const_binop): Likewise.
5688 (fold_binary_loc): Likewise.
5689 (fold_checksum_tree): Likewise.
5690 * fp-test.cc: Likewise.
5691 * function.cc (expand_function_end): Likewise.
5692 * function.h (struct function): Likewise.
5693 * fwprop.cc (should_replace_address): Likewise.
5694 * gcc-main.cc: Likewise.
5695 * gcc-rich-location.h (class gcc_rich_location): Likewise.
5696 * gcc-symtab.h: Likewise.
5697 * gcc.cc (MIN_FATAL_STATUS): Likewise.
5698 (driver_handle_option): Likewise.
5699 (quote_spec_arg): Likewise.
5700 (driver::finalize): Likewise.
5701 * gcc.h (set_input): Likewise.
5702 * gcov-dump.cc: Likewise.
5703 * gcov.cc (solve_flow_graph): Likewise.
5704 * gcse-common.cc: Likewise.
5705 * gcse.cc (make_pass_rtl_hoist): Likewise.
5706 * genattr-common.cc: Likewise.
5707 * genattrtab.cc (min_fn): Likewise.
5708 (write_const_num_delay_slots): Likewise.
5709 * genautomata.cc: Likewise.
5710 * genconditions.cc (write_one_condition): Likewise.
5711 * genconstants.cc: Likewise.
5712 * genemit.cc (gen_exp): Likewise.
5713 * generic-match-head.cc: Likewise.
5714 * genextract.cc: Likewise.
5715 * gengenrtl.cc (always_void_p): Likewise.
5716 * gengtype-parse.cc (gtymarker_opt): Likewise.
5717 * gengtype-state.cc (state_writer::state_writer): Likewise.
5718 (write_state_trailer): Likewise.
5719 (equals_type_number): Likewise.
5720 (read_state): Likewise.
5721 * gengtype.cc (open_base_files): Likewise.
5722 (struct file_rule_st): Likewise.
5723 (header_dot_h_frul): Likewise.
5724 * gengtype.h: Likewise.
5725 * genmatch.cc (main): Likewise.
5726 * genmddeps.cc: Likewise.
5727 * genmodes.cc (emit_mode_inner): Likewise.
5728 (emit_mode_unit_size): Likewise.
5729 * genpeep.cc (gen_peephole): Likewise.
5730 * genpreds.cc (write_tm_preds_h): Likewise.
5731 * genrecog.cc (validate_pattern): Likewise.
5732 (write_header): Likewise.
5734 * gensupport.cc (change_subst_attribute): Likewise.
5735 (traverse_c_tests): Likewise.
5736 (add_predicate): Likewise.
5737 (init_predicate_table): Likewise.
5738 * gensupport.h (struct optab_pattern): Likewise.
5739 (get_num_insn_codes): Likewise.
5740 (maybe_eval_c_test): Likewise.
5741 (struct pred_data): Likewise.
5742 * ggc-internal.h: Likewise.
5743 * gimple-fold.cc (maybe_fold_reference): Likewise.
5744 (get_range_strlen_tree): Likewise.
5745 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
5746 * gimple-low.cc: Likewise.
5747 * gimple-match-head.cc (directly_supported_p): Likewise.
5748 * gimple-pretty-print.h: Likewise.
5749 * gimple-ssa-sprintf.cc (format_percent): Likewise.
5750 (adjust_range_for_overflow): Likewise.
5751 * gimple-streamer.h: Likewise.
5752 * gimple.h (struct GTY): Likewise.
5753 (is_gimple_resx): Likewise.
5754 * gimplify.cc (gimplify_expr): Likewise.
5755 (gimplify_init_constructor): Likewise.
5756 (omp_construct_selector_matches): Likewise.
5757 (gimplify_omp_target_update): Likewise.
5758 (gimplify_omp_ordered): Likewise.
5759 (gimplify_va_arg_expr): Likewise.
5760 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
5761 * haifa-sched.cc (increase_insn_priority): Likewise.
5762 (try_ready): Likewise.
5763 (sched_create_recovery_edges): Likewise.
5764 * ifcvt.cc (find_if_case_1): Likewise.
5765 (find_if_case_2): Likewise.
5766 * inchash.h: Likewise.
5767 * incpath.cc (add_env_var_paths): Likewise.
5768 * input.cc (dump_location_info): Likewise.
5769 (assert_loceq): Likewise.
5770 (test_lexer_string_locations_concatenation_1): Likewise.
5771 (test_lexer_string_locations_concatenation_2): Likewise.
5772 (test_lexer_string_locations_concatenation_3): Likewise.
5773 * input.h (BUILTINS_LOCATION): Likewise.
5774 (class string_concat_db): Likewise.
5775 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
5776 (expand_LOOP_VECTORIZED): Likewise.
5777 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
5778 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
5779 (ipa_fn_summary_t::duplicate): Likewise.
5780 (make_pass_ipa_fn_summary): Likewise.
5781 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
5782 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
5783 (free_lang_data_in_decl): Likewise.
5784 * ipa-inline.cc (compute_inlined_call_time): Likewise.
5785 (inline_always_inline_functions): Likewise.
5786 * ipa-inline.h (free_growth_caches): Likewise.
5787 (inline_account_function_p): Likewise.
5788 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
5789 (modref_eaf_analysis::analyze_ssa_name): Likewise.
5790 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
5791 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
5792 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
5793 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
5794 (unadjusted_ptr_and_unit_offset): Likewise.
5795 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
5796 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
5797 * ipa-split.cc (consider_split): Likewise.
5798 * ipa-sra.cc (isra_read_node_info): Likewise.
5799 * ipa-utils.h (struct ipa_dfs_info): Likewise.
5800 (recursive_call_p): Likewise.
5801 (ipa_make_function_pure): Likewise.
5802 * ira-build.cc (ira_create_allocno): Likewise.
5803 (ira_flattening): Likewise.
5804 * ira-color.cc (do_coloring): Likewise.
5805 (update_curr_costs): Likewise.
5806 * ira-conflicts.cc (process_regs_for_copy): Likewise.
5807 * ira-int.h (struct ira_emit_data): Likewise.
5808 (ira_prohibited_mode_move_regs): Likewise.
5809 (ira_get_dup_out_num): Likewise.
5810 (ira_destroy): Likewise.
5811 (ira_tune_allocno_costs): Likewise.
5812 (ira_implicitly_set_insn_hard_regs): Likewise.
5813 (ira_build_conflicts): Likewise.
5814 (ira_color): Likewise.
5815 * ira-lives.cc (process_bb_node_lives): Likewise.
5816 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
5817 (setup_uniform_class_p): Likewise.
5818 (def_dominates_uses): Likewise.
5819 * ira.h (ira_nullify_asm_goto): Likewise.
5820 * langhooks.cc (lhd_post_options): Likewise.
5821 * langhooks.h (class substring_loc): Likewise.
5822 (struct lang_hooks_for_tree_inlining): Likewise.
5823 (struct lang_hooks_for_types): Likewise.
5824 (struct lang_hooks): Likewise.
5825 * libfuncs.h (synchronize_libfunc): Likewise.
5826 * loop-doloop.cc (doloop_condition_get): Likewise.
5827 * loop-init.cc (fix_loop_structure): Likewise.
5828 * loop-invariant.cc: Likewise.
5829 * lower-subreg.h: Likewise.
5830 * lra-constraints.cc (curr_insn_transform): Likewise.
5831 * lra-int.h (struct lra_insn_reg): Likewise.
5832 (lra_undo_inheritance): Likewise.
5833 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
5834 (lra_split_hard_reg_for): Likewise.
5835 (lra_coalesce): Likewise.
5836 (lra_final_code_change): Likewise.
5837 * lra-spills.cc (lra_final_code_change): Likewise.
5838 * lra.cc (lra_process_new_insns): Likewise.
5839 * lto-compress.h (struct lto_compression_stream): Likewise.
5840 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
5841 (write_symbol): Likewise.
5842 * lto-streamer.h (enum LTO_tags): Likewise.
5843 (lto_value_range_error): Likewise.
5844 (lto_append_block): Likewise.
5845 (lto_streamer_hooks_init): Likewise.
5846 (stream_read_tree_ref): Likewise.
5847 (lto_prepare_function_for_streaming): Likewise.
5848 (select_what_to_stream): Likewise.
5849 (omp_lto_input_declare_variant_alt): Likewise.
5850 (cl_optimization_stream_in): Likewise.
5851 * lto-wrapper.cc (append_compiler_options): Likewise.
5852 * machmode.def: Likewise.
5853 * machmode.h (struct int_n_data_t): Likewise.
5854 * main.cc (main): Likewise.
5855 * match.pd: Likewise.
5856 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
5857 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
5858 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
5859 (make_pass_expand_omp_ssa): Likewise.
5860 * omp-low.cc (struct omp_context): Likewise.
5861 (struct omp_taskcopy_context): Likewise.
5862 (lower_omp): Likewise.
5863 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
5864 (mask_name): Likewise.
5865 (omp_sese_dump_pars): Likewise.
5866 (worker_single_simple): Likewise.
5867 * omp-offload.cc (omp_finish_file): Likewise.
5868 (execute_oacc_loop_designation): Likewise.
5869 * optabs-query.cc (lshift_cheap_p): Likewise.
5870 * optc-gen.awk: Likewise.
5871 * optc-save-gen.awk: Likewise.
5872 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
5873 * opts-common.cc: Likewise.
5874 * output.h (app_enable): Likewise.
5875 (output_operand_lossage): Likewise.
5876 (insn_current_reference_address): Likewise.
5877 (get_insn_template): Likewise.
5878 (output_quoted_string): Likewise.
5879 * pass_manager.h (struct register_pass_info): Likewise.
5880 * plugin.cc: Likewise.
5881 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
5882 * plugin.h (invoke_plugin_callbacks): Likewise.
5883 * pointer-query.cc (handle_mem_ref): Likewise.
5884 * postreload-gcse.cc (alloc_mem): Likewise.
5885 * predict.h (enum prediction): Likewise.
5886 (add_reg_br_prob_note): Likewise.
5887 * prefix.h: Likewise.
5888 * profile.h (get_working_sets): Likewise.
5889 * read-md.cc: Likewise.
5890 * read-md.h (struct mapping): Likewise.
5891 (class md_reader): Likewise.
5892 (class noop_reader): Likewise.
5893 * read-rtl-function.cc (function_reader::create_function): Likewise.
5894 (function_reader::extra_parsing_for_operand_code_0): Likewise.
5895 * read-rtl.cc (initialize_iterators): Likewise.
5896 * real.cc: Likewise.
5897 * real.h (struct real_value): Likewise.
5898 (format_helper::format_helper): Likewise.
5899 (real_hash): Likewise.
5900 (real_can_shorten_arithmetic): Likewise.
5901 * recog.cc (struct target_recog): Likewise.
5902 (offsettable_nonstrict_memref_p): Likewise.
5903 (constrain_operands): Likewise.
5904 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
5905 (which_op_alt): Likewise.
5906 (struct insn_gen_fn): Likewise.
5907 * reg-notes.def (REG_NOTE): Likewise.
5908 * reg-stack.cc: Likewise.
5909 * regs.h (reg_is_parm_p): Likewise.
5910 * regset.h: Likewise.
5911 * reload.cc (push_reload): Likewise.
5912 (find_reloads): Likewise.
5913 (find_reloads_address_1): Likewise.
5914 (find_replacement): Likewise.
5915 (refers_to_regno_for_reload_p): Likewise.
5916 (refers_to_mem_for_reload_p): Likewise.
5917 * reload.h (push_reload): Likewise.
5918 (deallocate_reload_reg): Likewise.
5919 * reload1.cc (emit_input_reload_insns): Likewise.
5920 * reorg.cc (relax_delay_slots): Likewise.
5921 * rtl.def (UNKNOWN): Likewise.
5922 (SEQUENCE): Likewise.
5923 (BARRIER): Likewise.
5924 (ASM_OPERANDS): Likewise.
5925 (EQ_ATTR_ALT): Likewise.
5926 * rtl.h (struct GTY): Likewise.
5927 (LABEL_NAME): Likewise.
5928 (LABEL_ALT_ENTRY_P): Likewise.
5929 (SUBREG_BYTE): Likewise.
5930 (get_stack_check_protect): Likewise.
5931 (dump_rtx_statistics): Likewise.
5932 (unwrap_const_vec_duplicate): Likewise.
5933 (subreg_promoted_mode): Likewise.
5934 (gen_lowpart_common): Likewise.
5935 (operand_subword): Likewise.
5936 (immed_wide_int_const): Likewise.
5937 (decide_function_section): Likewise.
5938 (active_insn_p): Likewise.
5939 (delete_related_insns): Likewise.
5940 (try_split): Likewise.
5941 (val_signbit_known_clear_p): Likewise.
5942 (simplifiable_subregs): Likewise.
5943 (set_insn_deleted): Likewise.
5944 (subreg_get_info): Likewise.
5945 (remove_free_EXPR_LIST_node): Likewise.
5946 (finish_subregs_of_mode): Likewise.
5947 (get_mem_attrs): Likewise.
5948 (lookup_constant_def): Likewise.
5949 (rtx_to_tree_code): Likewise.
5950 (hash_rtx): Likewise.
5951 (condjump_in_parallel_p): Likewise.
5952 (validate_subreg): Likewise.
5953 (make_compound_operation): Likewise.
5954 (schedule_ebbs): Likewise.
5955 (print_inline_rtx): Likewise.
5956 (fixup_args_size_notes): Likewise.
5957 (expand_dec): Likewise.
5958 (prepare_copy_insn): Likewise.
5959 (mark_elimination): Likewise.
5960 (valid_mode_changes_for_regno): Likewise.
5961 (make_debug_expr_from_rtl): Likewise.
5962 (delete_vta_debug_insns): Likewise.
5963 (simplify_using_condition): Likewise.
5964 (set_insn_locations): Likewise.
5965 (fatal_insn_not_found): Likewise.
5966 (word_register_operation_p): Likewise.
5967 * rtlanal.cc (get_call_fndecl): Likewise.
5968 (side_effects_p): Likewise.
5969 (subreg_nregs): Likewise.
5970 (rtx_cost): Likewise.
5971 (canonicalize_condition): Likewise.
5972 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
5973 * run-rtl-passes.cc (run_rtl_passes): Likewise.
5974 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
5975 * sched-deps.cc (add_dependence_1): Likewise.
5976 * sched-ebb.cc (begin_move_insn): Likewise.
5977 (add_deps_for_risky_insns): Likewise.
5978 (advance_target_bb): Likewise.
5979 * sched-int.h (reemit_notes): Likewise.
5980 (struct _haifa_insn_data): Likewise.
5982 (DEP_CANCELLED): Likewise.
5983 (debug_ds): Likewise.
5984 (number_in_ready): Likewise.
5985 (schedule_ebbs_finish): Likewise.
5986 (find_modifiable_mems): Likewise.
5987 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
5988 * sel-sched-dump.cc (dump_lv_set): Likewise.
5989 * sel-sched-dump.h: Likewise.
5990 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
5991 (setup_id_reg_sets): Likewise.
5992 (has_dependence_p): Likewise.
5993 (sel_num_cfg_preds_gt_1): Likewise.
5994 (bb_ends_ebb_p): Likewise.
5995 * sel-sched-ir.h (struct _list_node): Likewise.
5996 (struct idata_def): Likewise.
5997 (bb_next_bb): Likewise.
5998 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
5999 (choose_best_pseudo_reg): Likewise.
6000 (verify_target_availability): Likewise.
6001 (can_speculate_dep_p): Likewise.
6002 (sel_rank_for_schedule): Likewise.
6003 * selftest-run-tests.cc (selftest::run_tests): Likewise.
6004 * selftest.h (class auto_fix_quotes): Likewise.
6005 * shrink-wrap.cc (handle_simple_exit): Likewise.
6006 * shrink-wrap.h: Likewise.
6007 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
6008 (simplify_context::simplify_gen_vec_select): Likewise.
6009 * spellcheck-tree.h: Likewise.
6010 * spellcheck.h: Likewise.
6011 * statistics.h (struct function): Likewise.
6012 * stmt.cc (conditional_probability): Likewise.
6014 * stor-layout.h: Likewise.
6015 * streamer-hooks.h: Likewise.
6016 * stringpool.h: Likewise.
6017 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
6018 * target.def (HOOK_VECTOR_END): Likewise.
6020 * target.h (union cumulative_args_t): Likewise.
6021 (by_pieces_ninsns): Likewise.
6022 (class predefined_function_abi): Likewise.
6023 * targhooks.cc (default_translate_mode_attribute): Likewise.
6024 * timevar.def: Likewise.
6025 * timevar.h (class timer): Likewise.
6026 * toplev.h (enable_rtl_dump_file): Likewise.
6027 * trans-mem.cc (collect_bb2reg): Likewise.
6028 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
6029 * tree-cfg.cc (remove_bb): Likewise.
6030 (verify_gimple_debug): Likewise.
6031 (remove_edge_and_dominated_blocks): Likewise.
6032 (push_fndecl): Likewise.
6033 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
6034 * tree-complex.cc (expand_complex_multiplication): Likewise.
6035 (expand_complex_div_straight): Likewise.
6036 * tree-core.h (enum tree_index): Likewise.
6037 (enum operand_equal_flag): Likewise.
6038 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
6039 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
6040 * tree-inline.cc (initialize_inlined_parameters): Likewise.
6041 * tree-inline.h (force_value_to_type): Likewise.
6042 * tree-nested.cc (get_chain_decl): Likewise.
6043 (walk_all_functions): Likewise.
6044 * tree-object-size.h: Likewise.
6045 * tree-outof-ssa.cc: Likewise.
6046 * tree-parloops.cc (create_parallel_loop): Likewise.
6047 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
6048 (dump_generic_node): Likewise.
6049 * tree-profile.cc (tree_profiling): Likewise.
6050 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
6051 * tree-ssa-address.cc: Likewise.
6052 * tree-ssa-alias.cc: Likewise.
6053 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
6054 (dump_alias_stats): Likewise.
6055 * tree-ssa-ccp.cc: Likewise.
6056 * tree-ssa-coalesce.h: Likewise.
6057 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
6058 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
6059 * tree-ssa-loop-unswitch.cc: Likewise.
6060 * tree-ssa-math-opts.cc: Likewise.
6061 * tree-ssa-operands.cc (class operands_scanner): Likewise.
6062 * tree-ssa-pre.cc: Likewise.
6063 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
6064 (debug_range_entry): Likewise.
6065 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
6066 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
6067 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
6068 (equal_mem_array_ref_p): Likewise.
6069 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
6070 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
6071 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
6072 * tree-ssa-ter.h: Likewise.
6073 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
6074 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
6075 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
6076 (write_ts_block_tree_pointers): Likewise.
6077 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
6078 (streamer_read_tree_bitfields): Likewise.
6079 (streamer_write_integer_cst): Likewise.
6080 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
6081 (vect_synth_mult_by_constant): Likewise.
6082 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
6083 * tree-vectorizer.cc: Likewise.
6084 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
6085 (vect_update_inits_of_drs): Likewise.
6086 (vect_get_mask_type_for_stmt): Likewise.
6087 (vect_rgroup_iv_might_wrap_p): Likewise.
6088 (cse_and_gimplify_to_preheader): Likewise.
6089 (vect_free_slp_tree): Likewise.
6090 (vect_pattern_recog): Likewise.
6091 (vect_stmt_dominates_stmt_p): Likewise.
6092 * tree.cc (initialize_tree_contains_struct): Likewise.
6093 (need_assembler_name_p): Likewise.
6094 (type_with_interoperable_signedness): Likewise.
6095 * tree.def (SWITCH_EXPR): Likewise.
6096 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
6097 (poly_int_tree_p): Likewise.
6098 (inlined_function_outer_scope_p): Likewise.
6099 (tree_code_for_canonical_type_merging): Likewise.
6100 * value-prof.cc: Likewise.
6101 * value-prof.h (get_nth_most_common_value): Likewise.
6102 (find_func_by_profile_id): Likewise.
6103 * value-range.cc (vrp_operand_equal_p): Likewise.
6104 * value-range.h: Likewise.
6105 * var-tracking.cc: Likewise.
6106 * varasm.cc (default_function_section): Likewise.
6107 (function_section_1): Likewise.
6108 (assemble_variable): Likewise.
6109 (handle_vtv_comdat_section): Likewise.
6110 * vec.h (struct vec_prefix): Likewise.
6111 * vmsdbgout.cc (full_name): Likewise.
6112 * vtable-verify.cc: Likewise.
6113 * vtable-verify.h (struct vtv_graph_node): Likewise.
6114 * xcoffout.cc: Likewise.
6115 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
6117 2022-01-17 Martin Liska <mliska@suse.cz>
6119 * adjust-alignment.c: Moved to...
6120 * adjust-alignment.cc: ...here.
6121 * alias.c: Moved to...
6122 * alias.cc: ...here.
6123 * alloc-pool.c: Moved to...
6124 * alloc-pool.cc: ...here.
6125 * asan.c: Moved to...
6127 * attribs.c: Moved to...
6128 * attribs.cc: ...here.
6129 * auto-inc-dec.c: Moved to...
6130 * auto-inc-dec.cc: ...here.
6131 * auto-profile.c: Moved to...
6132 * auto-profile.cc: ...here.
6133 * bb-reorder.c: Moved to...
6134 * bb-reorder.cc: ...here.
6135 * bitmap.c: Moved to...
6136 * bitmap.cc: ...here.
6137 * btfout.c: Moved to...
6138 * btfout.cc: ...here.
6139 * builtins.c: Moved to...
6140 * builtins.cc: ...here.
6141 * caller-save.c: Moved to...
6142 * caller-save.cc: ...here.
6143 * calls.c: Moved to...
6144 * calls.cc: ...here.
6145 * ccmp.c: Moved to...
6147 * cfg.c: Moved to...
6149 * cfganal.c: Moved to...
6150 * cfganal.cc: ...here.
6151 * cfgbuild.c: Moved to...
6152 * cfgbuild.cc: ...here.
6153 * cfgcleanup.c: Moved to...
6154 * cfgcleanup.cc: ...here.
6155 * cfgexpand.c: Moved to...
6156 * cfgexpand.cc: ...here.
6157 * cfghooks.c: Moved to...
6158 * cfghooks.cc: ...here.
6159 * cfgloop.c: Moved to...
6160 * cfgloop.cc: ...here.
6161 * cfgloopanal.c: Moved to...
6162 * cfgloopanal.cc: ...here.
6163 * cfgloopmanip.c: Moved to...
6164 * cfgloopmanip.cc: ...here.
6165 * cfgrtl.c: Moved to...
6166 * cfgrtl.cc: ...here.
6167 * cgraph.c: Moved to...
6168 * cgraph.cc: ...here.
6169 * cgraphbuild.c: Moved to...
6170 * cgraphbuild.cc: ...here.
6171 * cgraphclones.c: Moved to...
6172 * cgraphclones.cc: ...here.
6173 * cgraphunit.c: Moved to...
6174 * cgraphunit.cc: ...here.
6175 * collect-utils.c: Moved to...
6176 * collect-utils.cc: ...here.
6177 * collect2-aix.c: Moved to...
6178 * collect2-aix.cc: ...here.
6179 * collect2.c: Moved to...
6180 * collect2.cc: ...here.
6181 * combine-stack-adj.c: Moved to...
6182 * combine-stack-adj.cc: ...here.
6183 * combine.c: Moved to...
6184 * combine.cc: ...here.
6185 * common/common-targhooks.c: Moved to...
6186 * common/common-targhooks.cc: ...here.
6187 * common/config/aarch64/aarch64-common.c: Moved to...
6188 * common/config/aarch64/aarch64-common.cc: ...here.
6189 * common/config/alpha/alpha-common.c: Moved to...
6190 * common/config/alpha/alpha-common.cc: ...here.
6191 * common/config/arc/arc-common.c: Moved to...
6192 * common/config/arc/arc-common.cc: ...here.
6193 * common/config/arm/arm-common.c: Moved to...
6194 * common/config/arm/arm-common.cc: ...here.
6195 * common/config/avr/avr-common.c: Moved to...
6196 * common/config/avr/avr-common.cc: ...here.
6197 * common/config/bfin/bfin-common.c: Moved to...
6198 * common/config/bfin/bfin-common.cc: ...here.
6199 * common/config/bpf/bpf-common.c: Moved to...
6200 * common/config/bpf/bpf-common.cc: ...here.
6201 * common/config/c6x/c6x-common.c: Moved to...
6202 * common/config/c6x/c6x-common.cc: ...here.
6203 * common/config/cr16/cr16-common.c: Moved to...
6204 * common/config/cr16/cr16-common.cc: ...here.
6205 * common/config/cris/cris-common.c: Moved to...
6206 * common/config/cris/cris-common.cc: ...here.
6207 * common/config/csky/csky-common.c: Moved to...
6208 * common/config/csky/csky-common.cc: ...here.
6209 * common/config/default-common.c: Moved to...
6210 * common/config/default-common.cc: ...here.
6211 * common/config/epiphany/epiphany-common.c: Moved to...
6212 * common/config/epiphany/epiphany-common.cc: ...here.
6213 * common/config/fr30/fr30-common.c: Moved to...
6214 * common/config/fr30/fr30-common.cc: ...here.
6215 * common/config/frv/frv-common.c: Moved to...
6216 * common/config/frv/frv-common.cc: ...here.
6217 * common/config/gcn/gcn-common.c: Moved to...
6218 * common/config/gcn/gcn-common.cc: ...here.
6219 * common/config/h8300/h8300-common.c: Moved to...
6220 * common/config/h8300/h8300-common.cc: ...here.
6221 * common/config/i386/i386-common.c: Moved to...
6222 * common/config/i386/i386-common.cc: ...here.
6223 * common/config/ia64/ia64-common.c: Moved to...
6224 * common/config/ia64/ia64-common.cc: ...here.
6225 * common/config/iq2000/iq2000-common.c: Moved to...
6226 * common/config/iq2000/iq2000-common.cc: ...here.
6227 * common/config/lm32/lm32-common.c: Moved to...
6228 * common/config/lm32/lm32-common.cc: ...here.
6229 * common/config/m32r/m32r-common.c: Moved to...
6230 * common/config/m32r/m32r-common.cc: ...here.
6231 * common/config/m68k/m68k-common.c: Moved to...
6232 * common/config/m68k/m68k-common.cc: ...here.
6233 * common/config/mcore/mcore-common.c: Moved to...
6234 * common/config/mcore/mcore-common.cc: ...here.
6235 * common/config/microblaze/microblaze-common.c: Moved to...
6236 * common/config/microblaze/microblaze-common.cc: ...here.
6237 * common/config/mips/mips-common.c: Moved to...
6238 * common/config/mips/mips-common.cc: ...here.
6239 * common/config/mmix/mmix-common.c: Moved to...
6240 * common/config/mmix/mmix-common.cc: ...here.
6241 * common/config/mn10300/mn10300-common.c: Moved to...
6242 * common/config/mn10300/mn10300-common.cc: ...here.
6243 * common/config/msp430/msp430-common.c: Moved to...
6244 * common/config/msp430/msp430-common.cc: ...here.
6245 * common/config/nds32/nds32-common.c: Moved to...
6246 * common/config/nds32/nds32-common.cc: ...here.
6247 * common/config/nios2/nios2-common.c: Moved to...
6248 * common/config/nios2/nios2-common.cc: ...here.
6249 * common/config/nvptx/nvptx-common.c: Moved to...
6250 * common/config/nvptx/nvptx-common.cc: ...here.
6251 * common/config/or1k/or1k-common.c: Moved to...
6252 * common/config/or1k/or1k-common.cc: ...here.
6253 * common/config/pa/pa-common.c: Moved to...
6254 * common/config/pa/pa-common.cc: ...here.
6255 * common/config/pdp11/pdp11-common.c: Moved to...
6256 * common/config/pdp11/pdp11-common.cc: ...here.
6257 * common/config/pru/pru-common.c: Moved to...
6258 * common/config/pru/pru-common.cc: ...here.
6259 * common/config/riscv/riscv-common.c: Moved to...
6260 * common/config/riscv/riscv-common.cc: ...here.
6261 * common/config/rs6000/rs6000-common.c: Moved to...
6262 * common/config/rs6000/rs6000-common.cc: ...here.
6263 * common/config/rx/rx-common.c: Moved to...
6264 * common/config/rx/rx-common.cc: ...here.
6265 * common/config/s390/s390-common.c: Moved to...
6266 * common/config/s390/s390-common.cc: ...here.
6267 * common/config/sh/sh-common.c: Moved to...
6268 * common/config/sh/sh-common.cc: ...here.
6269 * common/config/sparc/sparc-common.c: Moved to...
6270 * common/config/sparc/sparc-common.cc: ...here.
6271 * common/config/tilegx/tilegx-common.c: Moved to...
6272 * common/config/tilegx/tilegx-common.cc: ...here.
6273 * common/config/tilepro/tilepro-common.c: Moved to...
6274 * common/config/tilepro/tilepro-common.cc: ...here.
6275 * common/config/v850/v850-common.c: Moved to...
6276 * common/config/v850/v850-common.cc: ...here.
6277 * common/config/vax/vax-common.c: Moved to...
6278 * common/config/vax/vax-common.cc: ...here.
6279 * common/config/visium/visium-common.c: Moved to...
6280 * common/config/visium/visium-common.cc: ...here.
6281 * common/config/xstormy16/xstormy16-common.c: Moved to...
6282 * common/config/xstormy16/xstormy16-common.cc: ...here.
6283 * common/config/xtensa/xtensa-common.c: Moved to...
6284 * common/config/xtensa/xtensa-common.cc: ...here.
6285 * compare-elim.c: Moved to...
6286 * compare-elim.cc: ...here.
6287 * config/aarch64/aarch64-bti-insert.c: Moved to...
6288 * config/aarch64/aarch64-bti-insert.cc: ...here.
6289 * config/aarch64/aarch64-builtins.c: Moved to...
6290 * config/aarch64/aarch64-builtins.cc: ...here.
6291 * config/aarch64/aarch64-c.c: Moved to...
6292 * config/aarch64/aarch64-c.cc: ...here.
6293 * config/aarch64/aarch64-d.c: Moved to...
6294 * config/aarch64/aarch64-d.cc: ...here.
6295 * config/aarch64/aarch64.c: Moved to...
6296 * config/aarch64/aarch64.cc: ...here.
6297 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
6298 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
6299 * config/aarch64/driver-aarch64.c: Moved to...
6300 * config/aarch64/driver-aarch64.cc: ...here.
6301 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
6302 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
6303 * config/aarch64/host-aarch64-darwin.c: Moved to...
6304 * config/aarch64/host-aarch64-darwin.cc: ...here.
6305 * config/alpha/alpha.c: Moved to...
6306 * config/alpha/alpha.cc: ...here.
6307 * config/alpha/driver-alpha.c: Moved to...
6308 * config/alpha/driver-alpha.cc: ...here.
6309 * config/arc/arc-c.c: Moved to...
6310 * config/arc/arc-c.cc: ...here.
6311 * config/arc/arc.c: Moved to...
6312 * config/arc/arc.cc: ...here.
6313 * config/arc/driver-arc.c: Moved to...
6314 * config/arc/driver-arc.cc: ...here.
6315 * config/arm/aarch-common.c: Moved to...
6316 * config/arm/aarch-common.cc: ...here.
6317 * config/arm/arm-builtins.c: Moved to...
6318 * config/arm/arm-builtins.cc: ...here.
6319 * config/arm/arm-c.c: Moved to...
6320 * config/arm/arm-c.cc: ...here.
6321 * config/arm/arm-d.c: Moved to...
6322 * config/arm/arm-d.cc: ...here.
6323 * config/arm/arm.c: Moved to...
6324 * config/arm/arm.cc: ...here.
6325 * config/arm/driver-arm.c: Moved to...
6326 * config/arm/driver-arm.cc: ...here.
6327 * config/avr/avr-c.c: Moved to...
6328 * config/avr/avr-c.cc: ...here.
6329 * config/avr/avr-devices.c: Moved to...
6330 * config/avr/avr-devices.cc: ...here.
6331 * config/avr/avr-log.c: Moved to...
6332 * config/avr/avr-log.cc: ...here.
6333 * config/avr/avr.c: Moved to...
6334 * config/avr/avr.cc: ...here.
6335 * config/avr/driver-avr.c: Moved to...
6336 * config/avr/driver-avr.cc: ...here.
6337 * config/avr/gen-avr-mmcu-specs.c: Moved to...
6338 * config/avr/gen-avr-mmcu-specs.cc: ...here.
6339 * config/avr/gen-avr-mmcu-texi.c: Moved to...
6340 * config/avr/gen-avr-mmcu-texi.cc: ...here.
6341 * config/bfin/bfin.c: Moved to...
6342 * config/bfin/bfin.cc: ...here.
6343 * config/bpf/bpf.c: Moved to...
6344 * config/bpf/bpf.cc: ...here.
6345 * config/bpf/coreout.c: Moved to...
6346 * config/bpf/coreout.cc: ...here.
6347 * config/c6x/c6x.c: Moved to...
6348 * config/c6x/c6x.cc: ...here.
6349 * config/cr16/cr16.c: Moved to...
6350 * config/cr16/cr16.cc: ...here.
6351 * config/cris/cris.c: Moved to...
6352 * config/cris/cris.cc: ...here.
6353 * config/csky/csky.c: Moved to...
6354 * config/csky/csky.cc: ...here.
6355 * config/darwin-c.c: Moved to...
6356 * config/darwin-c.cc: ...here.
6357 * config/darwin-d.c: Moved to...
6358 * config/darwin-d.cc: ...here.
6359 * config/darwin-driver.c: Moved to...
6360 * config/darwin-driver.cc: ...here.
6361 * config/darwin-f.c: Moved to...
6362 * config/darwin-f.cc: ...here.
6363 * config/darwin.c: Moved to...
6364 * config/darwin.cc: ...here.
6365 * config/default-c.c: Moved to...
6366 * config/default-c.cc: ...here.
6367 * config/default-d.c: Moved to...
6368 * config/default-d.cc: ...here.
6369 * config/dragonfly-d.c: Moved to...
6370 * config/dragonfly-d.cc: ...here.
6371 * config/epiphany/epiphany.c: Moved to...
6372 * config/epiphany/epiphany.cc: ...here.
6373 * config/epiphany/mode-switch-use.c: Moved to...
6374 * config/epiphany/mode-switch-use.cc: ...here.
6375 * config/epiphany/resolve-sw-modes.c: Moved to...
6376 * config/epiphany/resolve-sw-modes.cc: ...here.
6377 * config/fr30/fr30.c: Moved to...
6378 * config/fr30/fr30.cc: ...here.
6379 * config/freebsd-d.c: Moved to...
6380 * config/freebsd-d.cc: ...here.
6381 * config/frv/frv.c: Moved to...
6382 * config/frv/frv.cc: ...here.
6383 * config/ft32/ft32.c: Moved to...
6384 * config/ft32/ft32.cc: ...here.
6385 * config/gcn/driver-gcn.c: Moved to...
6386 * config/gcn/driver-gcn.cc: ...here.
6387 * config/gcn/gcn-run.c: Moved to...
6388 * config/gcn/gcn-run.cc: ...here.
6389 * config/gcn/gcn-tree.c: Moved to...
6390 * config/gcn/gcn-tree.cc: ...here.
6391 * config/gcn/gcn.c: Moved to...
6392 * config/gcn/gcn.cc: ...here.
6393 * config/gcn/mkoffload.c: Moved to...
6394 * config/gcn/mkoffload.cc: ...here.
6395 * config/glibc-c.c: Moved to...
6396 * config/glibc-c.cc: ...here.
6397 * config/glibc-d.c: Moved to...
6398 * config/glibc-d.cc: ...here.
6399 * config/h8300/h8300.c: Moved to...
6400 * config/h8300/h8300.cc: ...here.
6401 * config/host-darwin.c: Moved to...
6402 * config/host-darwin.cc: ...here.
6403 * config/host-hpux.c: Moved to...
6404 * config/host-hpux.cc: ...here.
6405 * config/host-linux.c: Moved to...
6406 * config/host-linux.cc: ...here.
6407 * config/host-netbsd.c: Moved to...
6408 * config/host-netbsd.cc: ...here.
6409 * config/host-openbsd.c: Moved to...
6410 * config/host-openbsd.cc: ...here.
6411 * config/host-solaris.c: Moved to...
6412 * config/host-solaris.cc: ...here.
6413 * config/i386/djgpp.c: Moved to...
6414 * config/i386/djgpp.cc: ...here.
6415 * config/i386/driver-i386.c: Moved to...
6416 * config/i386/driver-i386.cc: ...here.
6417 * config/i386/driver-mingw32.c: Moved to...
6418 * config/i386/driver-mingw32.cc: ...here.
6419 * config/i386/gnu-property.c: Moved to...
6420 * config/i386/gnu-property.cc: ...here.
6421 * config/i386/host-cygwin.c: Moved to...
6422 * config/i386/host-cygwin.cc: ...here.
6423 * config/i386/host-i386-darwin.c: Moved to...
6424 * config/i386/host-i386-darwin.cc: ...here.
6425 * config/i386/host-mingw32.c: Moved to...
6426 * config/i386/host-mingw32.cc: ...here.
6427 * config/i386/i386-builtins.c: Moved to...
6428 * config/i386/i386-builtins.cc: ...here.
6429 * config/i386/i386-c.c: Moved to...
6430 * config/i386/i386-c.cc: ...here.
6431 * config/i386/i386-d.c: Moved to...
6432 * config/i386/i386-d.cc: ...here.
6433 * config/i386/i386-expand.c: Moved to...
6434 * config/i386/i386-expand.cc: ...here.
6435 * config/i386/i386-features.c: Moved to...
6436 * config/i386/i386-features.cc: ...here.
6437 * config/i386/i386-options.c: Moved to...
6438 * config/i386/i386-options.cc: ...here.
6439 * config/i386/i386.c: Moved to...
6440 * config/i386/i386.cc: ...here.
6441 * config/i386/intelmic-mkoffload.c: Moved to...
6442 * config/i386/intelmic-mkoffload.cc: ...here.
6443 * config/i386/msformat-c.c: Moved to...
6444 * config/i386/msformat-c.cc: ...here.
6445 * config/i386/winnt-cxx.c: Moved to...
6446 * config/i386/winnt-cxx.cc: ...here.
6447 * config/i386/winnt-d.c: Moved to...
6448 * config/i386/winnt-d.cc: ...here.
6449 * config/i386/winnt-stubs.c: Moved to...
6450 * config/i386/winnt-stubs.cc: ...here.
6451 * config/i386/winnt.c: Moved to...
6452 * config/i386/winnt.cc: ...here.
6453 * config/i386/x86-tune-sched-atom.c: Moved to...
6454 * config/i386/x86-tune-sched-atom.cc: ...here.
6455 * config/i386/x86-tune-sched-bd.c: Moved to...
6456 * config/i386/x86-tune-sched-bd.cc: ...here.
6457 * config/i386/x86-tune-sched-core.c: Moved to...
6458 * config/i386/x86-tune-sched-core.cc: ...here.
6459 * config/i386/x86-tune-sched.c: Moved to...
6460 * config/i386/x86-tune-sched.cc: ...here.
6461 * config/ia64/ia64-c.c: Moved to...
6462 * config/ia64/ia64-c.cc: ...here.
6463 * config/ia64/ia64.c: Moved to...
6464 * config/ia64/ia64.cc: ...here.
6465 * config/iq2000/iq2000.c: Moved to...
6466 * config/iq2000/iq2000.cc: ...here.
6467 * config/linux.c: Moved to...
6468 * config/linux.cc: ...here.
6469 * config/lm32/lm32.c: Moved to...
6470 * config/lm32/lm32.cc: ...here.
6471 * config/m32c/m32c-pragma.c: Moved to...
6472 * config/m32c/m32c-pragma.cc: ...here.
6473 * config/m32c/m32c.c: Moved to...
6474 * config/m32c/m32c.cc: ...here.
6475 * config/m32r/m32r.c: Moved to...
6476 * config/m32r/m32r.cc: ...here.
6477 * config/m68k/m68k.c: Moved to...
6478 * config/m68k/m68k.cc: ...here.
6479 * config/mcore/mcore.c: Moved to...
6480 * config/mcore/mcore.cc: ...here.
6481 * config/microblaze/microblaze-c.c: Moved to...
6482 * config/microblaze/microblaze-c.cc: ...here.
6483 * config/microblaze/microblaze.c: Moved to...
6484 * config/microblaze/microblaze.cc: ...here.
6485 * config/mips/driver-native.c: Moved to...
6486 * config/mips/driver-native.cc: ...here.
6487 * config/mips/frame-header-opt.c: Moved to...
6488 * config/mips/frame-header-opt.cc: ...here.
6489 * config/mips/mips-d.c: Moved to...
6490 * config/mips/mips-d.cc: ...here.
6491 * config/mips/mips.c: Moved to...
6492 * config/mips/mips.cc: ...here.
6493 * config/mmix/mmix.c: Moved to...
6494 * config/mmix/mmix.cc: ...here.
6495 * config/mn10300/mn10300.c: Moved to...
6496 * config/mn10300/mn10300.cc: ...here.
6497 * config/moxie/moxie.c: Moved to...
6498 * config/moxie/moxie.cc: ...here.
6499 * config/msp430/driver-msp430.c: Moved to...
6500 * config/msp430/driver-msp430.cc: ...here.
6501 * config/msp430/msp430-c.c: Moved to...
6502 * config/msp430/msp430-c.cc: ...here.
6503 * config/msp430/msp430-devices.c: Moved to...
6504 * config/msp430/msp430-devices.cc: ...here.
6505 * config/msp430/msp430.c: Moved to...
6506 * config/msp430/msp430.cc: ...here.
6507 * config/nds32/nds32-cost.c: Moved to...
6508 * config/nds32/nds32-cost.cc: ...here.
6509 * config/nds32/nds32-fp-as-gp.c: Moved to...
6510 * config/nds32/nds32-fp-as-gp.cc: ...here.
6511 * config/nds32/nds32-intrinsic.c: Moved to...
6512 * config/nds32/nds32-intrinsic.cc: ...here.
6513 * config/nds32/nds32-isr.c: Moved to...
6514 * config/nds32/nds32-isr.cc: ...here.
6515 * config/nds32/nds32-md-auxiliary.c: Moved to...
6516 * config/nds32/nds32-md-auxiliary.cc: ...here.
6517 * config/nds32/nds32-memory-manipulation.c: Moved to...
6518 * config/nds32/nds32-memory-manipulation.cc: ...here.
6519 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
6520 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
6521 * config/nds32/nds32-predicates.c: Moved to...
6522 * config/nds32/nds32-predicates.cc: ...here.
6523 * config/nds32/nds32-relax-opt.c: Moved to...
6524 * config/nds32/nds32-relax-opt.cc: ...here.
6525 * config/nds32/nds32-utils.c: Moved to...
6526 * config/nds32/nds32-utils.cc: ...here.
6527 * config/nds32/nds32.c: Moved to...
6528 * config/nds32/nds32.cc: ...here.
6529 * config/netbsd-d.c: Moved to...
6530 * config/netbsd-d.cc: ...here.
6531 * config/netbsd.c: Moved to...
6532 * config/netbsd.cc: ...here.
6533 * config/nios2/nios2.c: Moved to...
6534 * config/nios2/nios2.cc: ...here.
6535 * config/nvptx/mkoffload.c: Moved to...
6536 * config/nvptx/mkoffload.cc: ...here.
6537 * config/nvptx/nvptx-c.c: Moved to...
6538 * config/nvptx/nvptx-c.cc: ...here.
6539 * config/nvptx/nvptx.c: Moved to...
6540 * config/nvptx/nvptx.cc: ...here.
6541 * config/openbsd-d.c: Moved to...
6542 * config/openbsd-d.cc: ...here.
6543 * config/or1k/or1k.c: Moved to...
6544 * config/or1k/or1k.cc: ...here.
6545 * config/pa/pa-d.c: Moved to...
6546 * config/pa/pa-d.cc: ...here.
6547 * config/pa/pa.c: Moved to...
6548 * config/pa/pa.cc: ...here.
6549 * config/pdp11/pdp11.c: Moved to...
6550 * config/pdp11/pdp11.cc: ...here.
6551 * config/pru/pru-passes.c: Moved to...
6552 * config/pru/pru-passes.cc: ...here.
6553 * config/pru/pru-pragma.c: Moved to...
6554 * config/pru/pru-pragma.cc: ...here.
6555 * config/pru/pru.c: Moved to...
6556 * config/pru/pru.cc: ...here.
6557 * config/riscv/riscv-builtins.c: Moved to...
6558 * config/riscv/riscv-builtins.cc: ...here.
6559 * config/riscv/riscv-c.c: Moved to...
6560 * config/riscv/riscv-c.cc: ...here.
6561 * config/riscv/riscv-d.c: Moved to...
6562 * config/riscv/riscv-d.cc: ...here.
6563 * config/riscv/riscv-shorten-memrefs.c: Moved to...
6564 * config/riscv/riscv-shorten-memrefs.cc: ...here.
6565 * config/riscv/riscv-sr.c: Moved to...
6566 * config/riscv/riscv-sr.cc: ...here.
6567 * config/riscv/riscv.c: Moved to...
6568 * config/riscv/riscv.cc: ...here.
6569 * config/rl78/rl78-c.c: Moved to...
6570 * config/rl78/rl78-c.cc: ...here.
6571 * config/rl78/rl78.c: Moved to...
6572 * config/rl78/rl78.cc: ...here.
6573 * config/rs6000/driver-rs6000.c: Moved to...
6574 * config/rs6000/driver-rs6000.cc: ...here.
6575 * config/rs6000/host-darwin.c: Moved to...
6576 * config/rs6000/host-darwin.cc: ...here.
6577 * config/rs6000/host-ppc64-darwin.c: Moved to...
6578 * config/rs6000/host-ppc64-darwin.cc: ...here.
6579 * config/rs6000/rbtree.c: Moved to...
6580 * config/rs6000/rbtree.cc: ...here.
6581 * config/rs6000/rs6000-c.c: Moved to...
6582 * config/rs6000/rs6000-c.cc: ...here.
6583 * config/rs6000/rs6000-call.c: Moved to...
6584 * config/rs6000/rs6000-call.cc: ...here.
6585 * config/rs6000/rs6000-d.c: Moved to...
6586 * config/rs6000/rs6000-d.cc: ...here.
6587 * config/rs6000/rs6000-gen-builtins.c: Moved to...
6588 * config/rs6000/rs6000-gen-builtins.cc: ...here.
6589 * config/rs6000/rs6000-linux.c: Moved to...
6590 * config/rs6000/rs6000-linux.cc: ...here.
6591 * config/rs6000/rs6000-logue.c: Moved to...
6592 * config/rs6000/rs6000-logue.cc: ...here.
6593 * config/rs6000/rs6000-p8swap.c: Moved to...
6594 * config/rs6000/rs6000-p8swap.cc: ...here.
6595 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
6596 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
6597 * config/rs6000/rs6000-string.c: Moved to...
6598 * config/rs6000/rs6000-string.cc: ...here.
6599 * config/rs6000/rs6000.c: Moved to...
6600 * config/rs6000/rs6000.cc: ...here.
6601 * config/rx/rx.c: Moved to...
6602 * config/rx/rx.cc: ...here.
6603 * config/s390/driver-native.c: Moved to...
6604 * config/s390/driver-native.cc: ...here.
6605 * config/s390/s390-c.c: Moved to...
6606 * config/s390/s390-c.cc: ...here.
6607 * config/s390/s390-d.c: Moved to...
6608 * config/s390/s390-d.cc: ...here.
6609 * config/s390/s390.c: Moved to...
6610 * config/s390/s390.cc: ...here.
6611 * config/sh/divtab-sh4-300.c: Moved to...
6612 * config/sh/divtab-sh4-300.cc: ...here.
6613 * config/sh/divtab-sh4.c: Moved to...
6614 * config/sh/divtab-sh4.cc: ...here.
6615 * config/sh/divtab.c: Moved to...
6616 * config/sh/divtab.cc: ...here.
6617 * config/sh/sh-c.c: Moved to...
6618 * config/sh/sh-c.cc: ...here.
6619 * config/sh/sh.c: Moved to...
6620 * config/sh/sh.cc: ...here.
6621 * config/sol2-c.c: Moved to...
6622 * config/sol2-c.cc: ...here.
6623 * config/sol2-cxx.c: Moved to...
6624 * config/sol2-cxx.cc: ...here.
6625 * config/sol2-d.c: Moved to...
6626 * config/sol2-d.cc: ...here.
6627 * config/sol2-stubs.c: Moved to...
6628 * config/sol2-stubs.cc: ...here.
6629 * config/sol2.c: Moved to...
6630 * config/sol2.cc: ...here.
6631 * config/sparc/driver-sparc.c: Moved to...
6632 * config/sparc/driver-sparc.cc: ...here.
6633 * config/sparc/sparc-c.c: Moved to...
6634 * config/sparc/sparc-c.cc: ...here.
6635 * config/sparc/sparc-d.c: Moved to...
6636 * config/sparc/sparc-d.cc: ...here.
6637 * config/sparc/sparc.c: Moved to...
6638 * config/sparc/sparc.cc: ...here.
6639 * config/stormy16/stormy16.c: Moved to...
6640 * config/stormy16/stormy16.cc: ...here.
6641 * config/tilegx/mul-tables.c: Moved to...
6642 * config/tilegx/mul-tables.cc: ...here.
6643 * config/tilegx/tilegx-c.c: Moved to...
6644 * config/tilegx/tilegx-c.cc: ...here.
6645 * config/tilegx/tilegx.c: Moved to...
6646 * config/tilegx/tilegx.cc: ...here.
6647 * config/tilepro/mul-tables.c: Moved to...
6648 * config/tilepro/mul-tables.cc: ...here.
6649 * config/tilepro/tilepro-c.c: Moved to...
6650 * config/tilepro/tilepro-c.cc: ...here.
6651 * config/tilepro/tilepro.c: Moved to...
6652 * config/tilepro/tilepro.cc: ...here.
6653 * config/v850/v850-c.c: Moved to...
6654 * config/v850/v850-c.cc: ...here.
6655 * config/v850/v850.c: Moved to...
6656 * config/v850/v850.cc: ...here.
6657 * config/vax/vax.c: Moved to...
6658 * config/vax/vax.cc: ...here.
6659 * config/visium/visium.c: Moved to...
6660 * config/visium/visium.cc: ...here.
6661 * config/vms/vms-c.c: Moved to...
6662 * config/vms/vms-c.cc: ...here.
6663 * config/vms/vms-f.c: Moved to...
6664 * config/vms/vms-f.cc: ...here.
6665 * config/vms/vms.c: Moved to...
6666 * config/vms/vms.cc: ...here.
6667 * config/vxworks-c.c: Moved to...
6668 * config/vxworks-c.cc: ...here.
6669 * config/vxworks.c: Moved to...
6670 * config/vxworks.cc: ...here.
6671 * config/winnt-c.c: Moved to...
6672 * config/winnt-c.cc: ...here.
6673 * config/xtensa/xtensa.c: Moved to...
6674 * config/xtensa/xtensa.cc: ...here.
6675 * context.c: Moved to...
6676 * context.cc: ...here.
6677 * convert.c: Moved to...
6678 * convert.cc: ...here.
6679 * coverage.c: Moved to...
6680 * coverage.cc: ...here.
6681 * cppbuiltin.c: Moved to...
6682 * cppbuiltin.cc: ...here.
6683 * cppdefault.c: Moved to...
6684 * cppdefault.cc: ...here.
6685 * cprop.c: Moved to...
6686 * cprop.cc: ...here.
6687 * cse.c: Moved to...
6689 * cselib.c: Moved to...
6690 * cselib.cc: ...here.
6691 * ctfc.c: Moved to...
6693 * ctfout.c: Moved to...
6694 * ctfout.cc: ...here.
6695 * data-streamer-in.c: Moved to...
6696 * data-streamer-in.cc: ...here.
6697 * data-streamer-out.c: Moved to...
6698 * data-streamer-out.cc: ...here.
6699 * data-streamer.c: Moved to...
6700 * data-streamer.cc: ...here.
6701 * dbgcnt.c: Moved to...
6702 * dbgcnt.cc: ...here.
6703 * dbxout.c: Moved to...
6704 * dbxout.cc: ...here.
6705 * dce.c: Moved to...
6707 * ddg.c: Moved to...
6709 * debug.c: Moved to...
6710 * debug.cc: ...here.
6711 * df-core.c: Moved to...
6712 * df-core.cc: ...here.
6713 * df-problems.c: Moved to...
6714 * df-problems.cc: ...here.
6715 * df-scan.c: Moved to...
6716 * df-scan.cc: ...here.
6717 * dfp.c: Moved to...
6719 * diagnostic-color.c: Moved to...
6720 * diagnostic-color.cc: ...here.
6721 * diagnostic-show-locus.c: Moved to...
6722 * diagnostic-show-locus.cc: ...here.
6723 * diagnostic-spec.c: Moved to...
6724 * diagnostic-spec.cc: ...here.
6725 * diagnostic.c: Moved to...
6726 * diagnostic.cc: ...here.
6727 * dojump.c: Moved to...
6728 * dojump.cc: ...here.
6729 * dominance.c: Moved to...
6730 * dominance.cc: ...here.
6731 * domwalk.c: Moved to...
6732 * domwalk.cc: ...here.
6733 * double-int.c: Moved to...
6734 * double-int.cc: ...here.
6735 * dse.c: Moved to...
6737 * dumpfile.c: Moved to...
6738 * dumpfile.cc: ...here.
6739 * dwarf2asm.c: Moved to...
6740 * dwarf2asm.cc: ...here.
6741 * dwarf2cfi.c: Moved to...
6742 * dwarf2cfi.cc: ...here.
6743 * dwarf2ctf.c: Moved to...
6744 * dwarf2ctf.cc: ...here.
6745 * dwarf2out.c: Moved to...
6746 * dwarf2out.cc: ...here.
6747 * early-remat.c: Moved to...
6748 * early-remat.cc: ...here.
6749 * edit-context.c: Moved to...
6750 * edit-context.cc: ...here.
6751 * emit-rtl.c: Moved to...
6752 * emit-rtl.cc: ...here.
6753 * errors.c: Moved to...
6754 * errors.cc: ...here.
6755 * et-forest.c: Moved to...
6756 * et-forest.cc: ...here.
6757 * except.c: Moved to...
6758 * except.cc: ...here.
6759 * explow.c: Moved to...
6760 * explow.cc: ...here.
6761 * expmed.c: Moved to...
6762 * expmed.cc: ...here.
6763 * expr.c: Moved to...
6765 * fibonacci_heap.c: Moved to...
6766 * fibonacci_heap.cc: ...here.
6767 * file-find.c: Moved to...
6768 * file-find.cc: ...here.
6769 * file-prefix-map.c: Moved to...
6770 * file-prefix-map.cc: ...here.
6771 * final.c: Moved to...
6772 * final.cc: ...here.
6773 * fixed-value.c: Moved to...
6774 * fixed-value.cc: ...here.
6775 * fold-const-call.c: Moved to...
6776 * fold-const-call.cc: ...here.
6777 * fold-const.c: Moved to...
6778 * fold-const.cc: ...here.
6779 * fp-test.c: Moved to...
6780 * fp-test.cc: ...here.
6781 * function-tests.c: Moved to...
6782 * function-tests.cc: ...here.
6783 * function.c: Moved to...
6784 * function.cc: ...here.
6785 * fwprop.c: Moved to...
6786 * fwprop.cc: ...here.
6787 * gcc-ar.c: Moved to...
6788 * gcc-ar.cc: ...here.
6789 * gcc-main.c: Moved to...
6790 * gcc-main.cc: ...here.
6791 * gcc-rich-location.c: Moved to...
6792 * gcc-rich-location.cc: ...here.
6793 * gcc.c: Moved to...
6795 * gcov-dump.c: Moved to...
6796 * gcov-dump.cc: ...here.
6797 * gcov-io.c: Moved to...
6798 * gcov-io.cc: ...here.
6799 * gcov-tool.c: Moved to...
6800 * gcov-tool.cc: ...here.
6801 * gcov.c: Moved to...
6803 * gcse-common.c: Moved to...
6804 * gcse-common.cc: ...here.
6805 * gcse.c: Moved to...
6807 * genattr-common.c: Moved to...
6808 * genattr-common.cc: ...here.
6809 * genattr.c: Moved to...
6810 * genattr.cc: ...here.
6811 * genattrtab.c: Moved to...
6812 * genattrtab.cc: ...here.
6813 * genautomata.c: Moved to...
6814 * genautomata.cc: ...here.
6815 * gencfn-macros.c: Moved to...
6816 * gencfn-macros.cc: ...here.
6817 * gencheck.c: Moved to...
6818 * gencheck.cc: ...here.
6819 * genchecksum.c: Moved to...
6820 * genchecksum.cc: ...here.
6821 * gencodes.c: Moved to...
6822 * gencodes.cc: ...here.
6823 * genconditions.c: Moved to...
6824 * genconditions.cc: ...here.
6825 * genconfig.c: Moved to...
6826 * genconfig.cc: ...here.
6827 * genconstants.c: Moved to...
6828 * genconstants.cc: ...here.
6829 * genemit.c: Moved to...
6830 * genemit.cc: ...here.
6831 * genenums.c: Moved to...
6832 * genenums.cc: ...here.
6833 * generic-match-head.c: Moved to...
6834 * generic-match-head.cc: ...here.
6835 * genextract.c: Moved to...
6836 * genextract.cc: ...here.
6837 * genflags.c: Moved to...
6838 * genflags.cc: ...here.
6839 * gengenrtl.c: Moved to...
6840 * gengenrtl.cc: ...here.
6841 * gengtype-parse.c: Moved to...
6842 * gengtype-parse.cc: ...here.
6843 * gengtype-state.c: Moved to...
6844 * gengtype-state.cc: ...here.
6845 * gengtype.c: Moved to...
6846 * gengtype.cc: ...here.
6847 * genhooks.c: Moved to...
6848 * genhooks.cc: ...here.
6849 * genmatch.c: Moved to...
6850 * genmatch.cc: ...here.
6851 * genmddeps.c: Moved to...
6852 * genmddeps.cc: ...here.
6853 * genmddump.c: Moved to...
6854 * genmddump.cc: ...here.
6855 * genmodes.c: Moved to...
6856 * genmodes.cc: ...here.
6857 * genopinit.c: Moved to...
6858 * genopinit.cc: ...here.
6859 * genoutput.c: Moved to...
6860 * genoutput.cc: ...here.
6861 * genpeep.c: Moved to...
6862 * genpeep.cc: ...here.
6863 * genpreds.c: Moved to...
6864 * genpreds.cc: ...here.
6865 * genrecog.c: Moved to...
6866 * genrecog.cc: ...here.
6867 * gensupport.c: Moved to...
6868 * gensupport.cc: ...here.
6869 * gentarget-def.c: Moved to...
6870 * gentarget-def.cc: ...here.
6871 * genversion.c: Moved to...
6872 * genversion.cc: ...here.
6873 * ggc-common.c: Moved to...
6874 * ggc-common.cc: ...here.
6875 * ggc-none.c: Moved to...
6876 * ggc-none.cc: ...here.
6877 * ggc-page.c: Moved to...
6878 * ggc-page.cc: ...here.
6879 * ggc-tests.c: Moved to...
6880 * ggc-tests.cc: ...here.
6881 * gimple-builder.c: Moved to...
6882 * gimple-builder.cc: ...here.
6883 * gimple-expr.c: Moved to...
6884 * gimple-expr.cc: ...here.
6885 * gimple-fold.c: Moved to...
6886 * gimple-fold.cc: ...here.
6887 * gimple-iterator.c: Moved to...
6888 * gimple-iterator.cc: ...here.
6889 * gimple-laddress.c: Moved to...
6890 * gimple-laddress.cc: ...here.
6891 * gimple-loop-jam.c: Moved to...
6892 * gimple-loop-jam.cc: ...here.
6893 * gimple-low.c: Moved to...
6894 * gimple-low.cc: ...here.
6895 * gimple-match-head.c: Moved to...
6896 * gimple-match-head.cc: ...here.
6897 * gimple-pretty-print.c: Moved to...
6898 * gimple-pretty-print.cc: ...here.
6899 * gimple-ssa-backprop.c: Moved to...
6900 * gimple-ssa-backprop.cc: ...here.
6901 * gimple-ssa-evrp-analyze.c: Moved to...
6902 * gimple-ssa-evrp-analyze.cc: ...here.
6903 * gimple-ssa-evrp.c: Moved to...
6904 * gimple-ssa-evrp.cc: ...here.
6905 * gimple-ssa-isolate-paths.c: Moved to...
6906 * gimple-ssa-isolate-paths.cc: ...here.
6907 * gimple-ssa-nonnull-compare.c: Moved to...
6908 * gimple-ssa-nonnull-compare.cc: ...here.
6909 * gimple-ssa-split-paths.c: Moved to...
6910 * gimple-ssa-split-paths.cc: ...here.
6911 * gimple-ssa-sprintf.c: Moved to...
6912 * gimple-ssa-sprintf.cc: ...here.
6913 * gimple-ssa-store-merging.c: Moved to...
6914 * gimple-ssa-store-merging.cc: ...here.
6915 * gimple-ssa-strength-reduction.c: Moved to...
6916 * gimple-ssa-strength-reduction.cc: ...here.
6917 * gimple-ssa-warn-alloca.c: Moved to...
6918 * gimple-ssa-warn-alloca.cc: ...here.
6919 * gimple-ssa-warn-restrict.c: Moved to...
6920 * gimple-ssa-warn-restrict.cc: ...here.
6921 * gimple-streamer-in.c: Moved to...
6922 * gimple-streamer-in.cc: ...here.
6923 * gimple-streamer-out.c: Moved to...
6924 * gimple-streamer-out.cc: ...here.
6925 * gimple-walk.c: Moved to...
6926 * gimple-walk.cc: ...here.
6927 * gimple-warn-recursion.c: Moved to...
6928 * gimple-warn-recursion.cc: ...here.
6929 * gimple.c: Moved to...
6930 * gimple.cc: ...here.
6931 * gimplify-me.c: Moved to...
6932 * gimplify-me.cc: ...here.
6933 * gimplify.c: Moved to...
6934 * gimplify.cc: ...here.
6935 * godump.c: Moved to...
6936 * godump.cc: ...here.
6937 * graph.c: Moved to...
6938 * graph.cc: ...here.
6939 * graphds.c: Moved to...
6940 * graphds.cc: ...here.
6941 * graphite-dependences.c: Moved to...
6942 * graphite-dependences.cc: ...here.
6943 * graphite-isl-ast-to-gimple.c: Moved to...
6944 * graphite-isl-ast-to-gimple.cc: ...here.
6945 * graphite-optimize-isl.c: Moved to...
6946 * graphite-optimize-isl.cc: ...here.
6947 * graphite-poly.c: Moved to...
6948 * graphite-poly.cc: ...here.
6949 * graphite-scop-detection.c: Moved to...
6950 * graphite-scop-detection.cc: ...here.
6951 * graphite-sese-to-poly.c: Moved to...
6952 * graphite-sese-to-poly.cc: ...here.
6953 * graphite.c: Moved to...
6954 * graphite.cc: ...here.
6955 * haifa-sched.c: Moved to...
6956 * haifa-sched.cc: ...here.
6957 * hash-map-tests.c: Moved to...
6958 * hash-map-tests.cc: ...here.
6959 * hash-set-tests.c: Moved to...
6960 * hash-set-tests.cc: ...here.
6961 * hash-table.c: Moved to...
6962 * hash-table.cc: ...here.
6963 * hooks.c: Moved to...
6964 * hooks.cc: ...here.
6965 * host-default.c: Moved to...
6966 * host-default.cc: ...here.
6967 * hw-doloop.c: Moved to...
6968 * hw-doloop.cc: ...here.
6969 * hwint.c: Moved to...
6970 * hwint.cc: ...here.
6971 * ifcvt.c: Moved to...
6972 * ifcvt.cc: ...here.
6973 * inchash.c: Moved to...
6974 * inchash.cc: ...here.
6975 * incpath.c: Moved to...
6976 * incpath.cc: ...here.
6977 * init-regs.c: Moved to...
6978 * init-regs.cc: ...here.
6979 * input.c: Moved to...
6980 * input.cc: ...here.
6981 * internal-fn.c: Moved to...
6982 * internal-fn.cc: ...here.
6983 * intl.c: Moved to...
6985 * ipa-comdats.c: Moved to...
6986 * ipa-comdats.cc: ...here.
6987 * ipa-cp.c: Moved to...
6988 * ipa-cp.cc: ...here.
6989 * ipa-devirt.c: Moved to...
6990 * ipa-devirt.cc: ...here.
6991 * ipa-fnsummary.c: Moved to...
6992 * ipa-fnsummary.cc: ...here.
6993 * ipa-icf-gimple.c: Moved to...
6994 * ipa-icf-gimple.cc: ...here.
6995 * ipa-icf.c: Moved to...
6996 * ipa-icf.cc: ...here.
6997 * ipa-inline-analysis.c: Moved to...
6998 * ipa-inline-analysis.cc: ...here.
6999 * ipa-inline-transform.c: Moved to...
7000 * ipa-inline-transform.cc: ...here.
7001 * ipa-inline.c: Moved to...
7002 * ipa-inline.cc: ...here.
7003 * ipa-modref-tree.c: Moved to...
7004 * ipa-modref-tree.cc: ...here.
7005 * ipa-modref.c: Moved to...
7006 * ipa-modref.cc: ...here.
7007 * ipa-param-manipulation.c: Moved to...
7008 * ipa-param-manipulation.cc: ...here.
7009 * ipa-polymorphic-call.c: Moved to...
7010 * ipa-polymorphic-call.cc: ...here.
7011 * ipa-predicate.c: Moved to...
7012 * ipa-predicate.cc: ...here.
7013 * ipa-profile.c: Moved to...
7014 * ipa-profile.cc: ...here.
7015 * ipa-prop.c: Moved to...
7016 * ipa-prop.cc: ...here.
7017 * ipa-pure-const.c: Moved to...
7018 * ipa-pure-const.cc: ...here.
7019 * ipa-ref.c: Moved to...
7020 * ipa-ref.cc: ...here.
7021 * ipa-reference.c: Moved to...
7022 * ipa-reference.cc: ...here.
7023 * ipa-split.c: Moved to...
7024 * ipa-split.cc: ...here.
7025 * ipa-sra.c: Moved to...
7026 * ipa-sra.cc: ...here.
7027 * ipa-utils.c: Moved to...
7028 * ipa-utils.cc: ...here.
7029 * ipa-visibility.c: Moved to...
7030 * ipa-visibility.cc: ...here.
7031 * ipa.c: Moved to...
7033 * ira-build.c: Moved to...
7034 * ira-build.cc: ...here.
7035 * ira-color.c: Moved to...
7036 * ira-color.cc: ...here.
7037 * ira-conflicts.c: Moved to...
7038 * ira-conflicts.cc: ...here.
7039 * ira-costs.c: Moved to...
7040 * ira-costs.cc: ...here.
7041 * ira-emit.c: Moved to...
7042 * ira-emit.cc: ...here.
7043 * ira-lives.c: Moved to...
7044 * ira-lives.cc: ...here.
7045 * ira.c: Moved to...
7047 * jump.c: Moved to...
7049 * langhooks.c: Moved to...
7050 * langhooks.cc: ...here.
7051 * lcm.c: Moved to...
7053 * lists.c: Moved to...
7054 * lists.cc: ...here.
7055 * loop-doloop.c: Moved to...
7056 * loop-doloop.cc: ...here.
7057 * loop-init.c: Moved to...
7058 * loop-init.cc: ...here.
7059 * loop-invariant.c: Moved to...
7060 * loop-invariant.cc: ...here.
7061 * loop-iv.c: Moved to...
7062 * loop-iv.cc: ...here.
7063 * loop-unroll.c: Moved to...
7064 * loop-unroll.cc: ...here.
7065 * lower-subreg.c: Moved to...
7066 * lower-subreg.cc: ...here.
7067 * lra-assigns.c: Moved to...
7068 * lra-assigns.cc: ...here.
7069 * lra-coalesce.c: Moved to...
7070 * lra-coalesce.cc: ...here.
7071 * lra-constraints.c: Moved to...
7072 * lra-constraints.cc: ...here.
7073 * lra-eliminations.c: Moved to...
7074 * lra-eliminations.cc: ...here.
7075 * lra-lives.c: Moved to...
7076 * lra-lives.cc: ...here.
7077 * lra-remat.c: Moved to...
7078 * lra-remat.cc: ...here.
7079 * lra-spills.c: Moved to...
7080 * lra-spills.cc: ...here.
7081 * lra.c: Moved to...
7083 * lto-cgraph.c: Moved to...
7084 * lto-cgraph.cc: ...here.
7085 * lto-compress.c: Moved to...
7086 * lto-compress.cc: ...here.
7087 * lto-opts.c: Moved to...
7088 * lto-opts.cc: ...here.
7089 * lto-section-in.c: Moved to...
7090 * lto-section-in.cc: ...here.
7091 * lto-section-out.c: Moved to...
7092 * lto-section-out.cc: ...here.
7093 * lto-streamer-in.c: Moved to...
7094 * lto-streamer-in.cc: ...here.
7095 * lto-streamer-out.c: Moved to...
7096 * lto-streamer-out.cc: ...here.
7097 * lto-streamer.c: Moved to...
7098 * lto-streamer.cc: ...here.
7099 * lto-wrapper.c: Moved to...
7100 * lto-wrapper.cc: ...here.
7101 * main.c: Moved to...
7103 * mcf.c: Moved to...
7105 * mode-switching.c: Moved to...
7106 * mode-switching.cc: ...here.
7107 * modulo-sched.c: Moved to...
7108 * modulo-sched.cc: ...here.
7109 * multiple_target.c: Moved to...
7110 * multiple_target.cc: ...here.
7111 * omp-expand.c: Moved to...
7112 * omp-expand.cc: ...here.
7113 * omp-general.c: Moved to...
7114 * omp-general.cc: ...here.
7115 * omp-low.c: Moved to...
7116 * omp-low.cc: ...here.
7117 * omp-offload.c: Moved to...
7118 * omp-offload.cc: ...here.
7119 * omp-simd-clone.c: Moved to...
7120 * omp-simd-clone.cc: ...here.
7121 * opt-suggestions.c: Moved to...
7122 * opt-suggestions.cc: ...here.
7123 * optabs-libfuncs.c: Moved to...
7124 * optabs-libfuncs.cc: ...here.
7125 * optabs-query.c: Moved to...
7126 * optabs-query.cc: ...here.
7127 * optabs-tree.c: Moved to...
7128 * optabs-tree.cc: ...here.
7129 * optabs.c: Moved to...
7130 * optabs.cc: ...here.
7131 * opts-common.c: Moved to...
7132 * opts-common.cc: ...here.
7133 * opts-global.c: Moved to...
7134 * opts-global.cc: ...here.
7135 * opts.c: Moved to...
7137 * passes.c: Moved to...
7138 * passes.cc: ...here.
7139 * plugin.c: Moved to...
7140 * plugin.cc: ...here.
7141 * postreload-gcse.c: Moved to...
7142 * postreload-gcse.cc: ...here.
7143 * postreload.c: Moved to...
7144 * postreload.cc: ...here.
7145 * predict.c: Moved to...
7146 * predict.cc: ...here.
7147 * prefix.c: Moved to...
7148 * prefix.cc: ...here.
7149 * pretty-print.c: Moved to...
7150 * pretty-print.cc: ...here.
7151 * print-rtl-function.c: Moved to...
7152 * print-rtl-function.cc: ...here.
7153 * print-rtl.c: Moved to...
7154 * print-rtl.cc: ...here.
7155 * print-tree.c: Moved to...
7156 * print-tree.cc: ...here.
7157 * profile-count.c: Moved to...
7158 * profile-count.cc: ...here.
7159 * profile.c: Moved to...
7160 * profile.cc: ...here.
7161 * read-md.c: Moved to...
7162 * read-md.cc: ...here.
7163 * read-rtl-function.c: Moved to...
7164 * read-rtl-function.cc: ...here.
7165 * read-rtl.c: Moved to...
7166 * read-rtl.cc: ...here.
7167 * real.c: Moved to...
7169 * realmpfr.c: Moved to...
7170 * realmpfr.cc: ...here.
7171 * recog.c: Moved to...
7172 * recog.cc: ...here.
7173 * ree.c: Moved to...
7175 * reg-stack.c: Moved to...
7176 * reg-stack.cc: ...here.
7177 * regcprop.c: Moved to...
7178 * regcprop.cc: ...here.
7179 * reginfo.c: Moved to...
7180 * reginfo.cc: ...here.
7181 * regrename.c: Moved to...
7182 * regrename.cc: ...here.
7183 * regstat.c: Moved to...
7184 * regstat.cc: ...here.
7185 * reload.c: Moved to...
7186 * reload.cc: ...here.
7187 * reload1.c: Moved to...
7188 * reload1.cc: ...here.
7189 * reorg.c: Moved to...
7190 * reorg.cc: ...here.
7191 * resource.c: Moved to...
7192 * resource.cc: ...here.
7193 * rtl-error.c: Moved to...
7194 * rtl-error.cc: ...here.
7195 * rtl-tests.c: Moved to...
7196 * rtl-tests.cc: ...here.
7197 * rtl.c: Moved to...
7199 * rtlanal.c: Moved to...
7200 * rtlanal.cc: ...here.
7201 * rtlhash.c: Moved to...
7202 * rtlhash.cc: ...here.
7203 * rtlhooks.c: Moved to...
7204 * rtlhooks.cc: ...here.
7205 * rtx-vector-builder.c: Moved to...
7206 * rtx-vector-builder.cc: ...here.
7207 * run-rtl-passes.c: Moved to...
7208 * run-rtl-passes.cc: ...here.
7209 * sancov.c: Moved to...
7210 * sancov.cc: ...here.
7211 * sanopt.c: Moved to...
7212 * sanopt.cc: ...here.
7213 * sbitmap.c: Moved to...
7214 * sbitmap.cc: ...here.
7215 * sched-deps.c: Moved to...
7216 * sched-deps.cc: ...here.
7217 * sched-ebb.c: Moved to...
7218 * sched-ebb.cc: ...here.
7219 * sched-rgn.c: Moved to...
7220 * sched-rgn.cc: ...here.
7221 * sel-sched-dump.c: Moved to...
7222 * sel-sched-dump.cc: ...here.
7223 * sel-sched-ir.c: Moved to...
7224 * sel-sched-ir.cc: ...here.
7225 * sel-sched.c: Moved to...
7226 * sel-sched.cc: ...here.
7227 * selftest-diagnostic.c: Moved to...
7228 * selftest-diagnostic.cc: ...here.
7229 * selftest-rtl.c: Moved to...
7230 * selftest-rtl.cc: ...here.
7231 * selftest-run-tests.c: Moved to...
7232 * selftest-run-tests.cc: ...here.
7233 * selftest.c: Moved to...
7234 * selftest.cc: ...here.
7235 * sese.c: Moved to...
7237 * shrink-wrap.c: Moved to...
7238 * shrink-wrap.cc: ...here.
7239 * simplify-rtx.c: Moved to...
7240 * simplify-rtx.cc: ...here.
7241 * sparseset.c: Moved to...
7242 * sparseset.cc: ...here.
7243 * spellcheck-tree.c: Moved to...
7244 * spellcheck-tree.cc: ...here.
7245 * spellcheck.c: Moved to...
7246 * spellcheck.cc: ...here.
7247 * sreal.c: Moved to...
7248 * sreal.cc: ...here.
7249 * stack-ptr-mod.c: Moved to...
7250 * stack-ptr-mod.cc: ...here.
7251 * statistics.c: Moved to...
7252 * statistics.cc: ...here.
7253 * stmt.c: Moved to...
7255 * stor-layout.c: Moved to...
7256 * stor-layout.cc: ...here.
7257 * store-motion.c: Moved to...
7258 * store-motion.cc: ...here.
7259 * streamer-hooks.c: Moved to...
7260 * streamer-hooks.cc: ...here.
7261 * stringpool.c: Moved to...
7262 * stringpool.cc: ...here.
7263 * substring-locations.c: Moved to...
7264 * substring-locations.cc: ...here.
7265 * symtab.c: Moved to...
7266 * symtab.cc: ...here.
7267 * target-globals.c: Moved to...
7268 * target-globals.cc: ...here.
7269 * targhooks.c: Moved to...
7270 * targhooks.cc: ...here.
7271 * timevar.c: Moved to...
7272 * timevar.cc: ...here.
7273 * toplev.c: Moved to...
7274 * toplev.cc: ...here.
7275 * tracer.c: Moved to...
7276 * tracer.cc: ...here.
7277 * trans-mem.c: Moved to...
7278 * trans-mem.cc: ...here.
7279 * tree-affine.c: Moved to...
7280 * tree-affine.cc: ...here.
7281 * tree-call-cdce.c: Moved to...
7282 * tree-call-cdce.cc: ...here.
7283 * tree-cfg.c: Moved to...
7284 * tree-cfg.cc: ...here.
7285 * tree-cfgcleanup.c: Moved to...
7286 * tree-cfgcleanup.cc: ...here.
7287 * tree-chrec.c: Moved to...
7288 * tree-chrec.cc: ...here.
7289 * tree-complex.c: Moved to...
7290 * tree-complex.cc: ...here.
7291 * tree-data-ref.c: Moved to...
7292 * tree-data-ref.cc: ...here.
7293 * tree-dfa.c: Moved to...
7294 * tree-dfa.cc: ...here.
7295 * tree-diagnostic.c: Moved to...
7296 * tree-diagnostic.cc: ...here.
7297 * tree-dump.c: Moved to...
7298 * tree-dump.cc: ...here.
7299 * tree-eh.c: Moved to...
7300 * tree-eh.cc: ...here.
7301 * tree-emutls.c: Moved to...
7302 * tree-emutls.cc: ...here.
7303 * tree-if-conv.c: Moved to...
7304 * tree-if-conv.cc: ...here.
7305 * tree-inline.c: Moved to...
7306 * tree-inline.cc: ...here.
7307 * tree-into-ssa.c: Moved to...
7308 * tree-into-ssa.cc: ...here.
7309 * tree-iterator.c: Moved to...
7310 * tree-iterator.cc: ...here.
7311 * tree-loop-distribution.c: Moved to...
7312 * tree-loop-distribution.cc: ...here.
7313 * tree-nested.c: Moved to...
7314 * tree-nested.cc: ...here.
7315 * tree-nrv.c: Moved to...
7316 * tree-nrv.cc: ...here.
7317 * tree-object-size.c: Moved to...
7318 * tree-object-size.cc: ...here.
7319 * tree-outof-ssa.c: Moved to...
7320 * tree-outof-ssa.cc: ...here.
7321 * tree-parloops.c: Moved to...
7322 * tree-parloops.cc: ...here.
7323 * tree-phinodes.c: Moved to...
7324 * tree-phinodes.cc: ...here.
7325 * tree-predcom.c: Moved to...
7326 * tree-predcom.cc: ...here.
7327 * tree-pretty-print.c: Moved to...
7328 * tree-pretty-print.cc: ...here.
7329 * tree-profile.c: Moved to...
7330 * tree-profile.cc: ...here.
7331 * tree-scalar-evolution.c: Moved to...
7332 * tree-scalar-evolution.cc: ...here.
7333 * tree-sra.c: Moved to...
7334 * tree-sra.cc: ...here.
7335 * tree-ssa-address.c: Moved to...
7336 * tree-ssa-address.cc: ...here.
7337 * tree-ssa-alias.c: Moved to...
7338 * tree-ssa-alias.cc: ...here.
7339 * tree-ssa-ccp.c: Moved to...
7340 * tree-ssa-ccp.cc: ...here.
7341 * tree-ssa-coalesce.c: Moved to...
7342 * tree-ssa-coalesce.cc: ...here.
7343 * tree-ssa-copy.c: Moved to...
7344 * tree-ssa-copy.cc: ...here.
7345 * tree-ssa-dce.c: Moved to...
7346 * tree-ssa-dce.cc: ...here.
7347 * tree-ssa-dom.c: Moved to...
7348 * tree-ssa-dom.cc: ...here.
7349 * tree-ssa-dse.c: Moved to...
7350 * tree-ssa-dse.cc: ...here.
7351 * tree-ssa-forwprop.c: Moved to...
7352 * tree-ssa-forwprop.cc: ...here.
7353 * tree-ssa-ifcombine.c: Moved to...
7354 * tree-ssa-ifcombine.cc: ...here.
7355 * tree-ssa-live.c: Moved to...
7356 * tree-ssa-live.cc: ...here.
7357 * tree-ssa-loop-ch.c: Moved to...
7358 * tree-ssa-loop-ch.cc: ...here.
7359 * tree-ssa-loop-im.c: Moved to...
7360 * tree-ssa-loop-im.cc: ...here.
7361 * tree-ssa-loop-ivcanon.c: Moved to...
7362 * tree-ssa-loop-ivcanon.cc: ...here.
7363 * tree-ssa-loop-ivopts.c: Moved to...
7364 * tree-ssa-loop-ivopts.cc: ...here.
7365 * tree-ssa-loop-manip.c: Moved to...
7366 * tree-ssa-loop-manip.cc: ...here.
7367 * tree-ssa-loop-niter.c: Moved to...
7368 * tree-ssa-loop-niter.cc: ...here.
7369 * tree-ssa-loop-prefetch.c: Moved to...
7370 * tree-ssa-loop-prefetch.cc: ...here.
7371 * tree-ssa-loop-split.c: Moved to...
7372 * tree-ssa-loop-split.cc: ...here.
7373 * tree-ssa-loop-unswitch.c: Moved to...
7374 * tree-ssa-loop-unswitch.cc: ...here.
7375 * tree-ssa-loop.c: Moved to...
7376 * tree-ssa-loop.cc: ...here.
7377 * tree-ssa-math-opts.c: Moved to...
7378 * tree-ssa-math-opts.cc: ...here.
7379 * tree-ssa-operands.c: Moved to...
7380 * tree-ssa-operands.cc: ...here.
7381 * tree-ssa-phiopt.c: Moved to...
7382 * tree-ssa-phiopt.cc: ...here.
7383 * tree-ssa-phiprop.c: Moved to...
7384 * tree-ssa-phiprop.cc: ...here.
7385 * tree-ssa-pre.c: Moved to...
7386 * tree-ssa-pre.cc: ...here.
7387 * tree-ssa-propagate.c: Moved to...
7388 * tree-ssa-propagate.cc: ...here.
7389 * tree-ssa-reassoc.c: Moved to...
7390 * tree-ssa-reassoc.cc: ...here.
7391 * tree-ssa-sccvn.c: Moved to...
7392 * tree-ssa-sccvn.cc: ...here.
7393 * tree-ssa-scopedtables.c: Moved to...
7394 * tree-ssa-scopedtables.cc: ...here.
7395 * tree-ssa-sink.c: Moved to...
7396 * tree-ssa-sink.cc: ...here.
7397 * tree-ssa-strlen.c: Moved to...
7398 * tree-ssa-strlen.cc: ...here.
7399 * tree-ssa-structalias.c: Moved to...
7400 * tree-ssa-structalias.cc: ...here.
7401 * tree-ssa-tail-merge.c: Moved to...
7402 * tree-ssa-tail-merge.cc: ...here.
7403 * tree-ssa-ter.c: Moved to...
7404 * tree-ssa-ter.cc: ...here.
7405 * tree-ssa-threadbackward.c: Moved to...
7406 * tree-ssa-threadbackward.cc: ...here.
7407 * tree-ssa-threadedge.c: Moved to...
7408 * tree-ssa-threadedge.cc: ...here.
7409 * tree-ssa-threadupdate.c: Moved to...
7410 * tree-ssa-threadupdate.cc: ...here.
7411 * tree-ssa-uncprop.c: Moved to...
7412 * tree-ssa-uncprop.cc: ...here.
7413 * tree-ssa-uninit.c: Moved to...
7414 * tree-ssa-uninit.cc: ...here.
7415 * tree-ssa.c: Moved to...
7416 * tree-ssa.cc: ...here.
7417 * tree-ssanames.c: Moved to...
7418 * tree-ssanames.cc: ...here.
7419 * tree-stdarg.c: Moved to...
7420 * tree-stdarg.cc: ...here.
7421 * tree-streamer-in.c: Moved to...
7422 * tree-streamer-in.cc: ...here.
7423 * tree-streamer-out.c: Moved to...
7424 * tree-streamer-out.cc: ...here.
7425 * tree-streamer.c: Moved to...
7426 * tree-streamer.cc: ...here.
7427 * tree-switch-conversion.c: Moved to...
7428 * tree-switch-conversion.cc: ...here.
7429 * tree-tailcall.c: Moved to...
7430 * tree-tailcall.cc: ...here.
7431 * tree-vect-data-refs.c: Moved to...
7432 * tree-vect-data-refs.cc: ...here.
7433 * tree-vect-generic.c: Moved to...
7434 * tree-vect-generic.cc: ...here.
7435 * tree-vect-loop-manip.c: Moved to...
7436 * tree-vect-loop-manip.cc: ...here.
7437 * tree-vect-loop.c: Moved to...
7438 * tree-vect-loop.cc: ...here.
7439 * tree-vect-patterns.c: Moved to...
7440 * tree-vect-patterns.cc: ...here.
7441 * tree-vect-slp-patterns.c: Moved to...
7442 * tree-vect-slp-patterns.cc: ...here.
7443 * tree-vect-slp.c: Moved to...
7444 * tree-vect-slp.cc: ...here.
7445 * tree-vect-stmts.c: Moved to...
7446 * tree-vect-stmts.cc: ...here.
7447 * tree-vector-builder.c: Moved to...
7448 * tree-vector-builder.cc: ...here.
7449 * tree-vectorizer.c: Moved to...
7450 * tree-vectorizer.cc: ...here.
7451 * tree-vrp.c: Moved to...
7452 * tree-vrp.cc: ...here.
7453 * tree.c: Moved to...
7455 * tsan.c: Moved to...
7457 * typed-splay-tree.c: Moved to...
7458 * typed-splay-tree.cc: ...here.
7459 * ubsan.c: Moved to...
7460 * ubsan.cc: ...here.
7461 * valtrack.c: Moved to...
7462 * valtrack.cc: ...here.
7463 * value-prof.c: Moved to...
7464 * value-prof.cc: ...here.
7465 * var-tracking.c: Moved to...
7466 * var-tracking.cc: ...here.
7467 * varasm.c: Moved to...
7468 * varasm.cc: ...here.
7469 * varpool.c: Moved to...
7470 * varpool.cc: ...here.
7471 * vec-perm-indices.c: Moved to...
7472 * vec-perm-indices.cc: ...here.
7473 * vec.c: Moved to...
7475 * vmsdbgout.c: Moved to...
7476 * vmsdbgout.cc: ...here.
7477 * vr-values.c: Moved to...
7478 * vr-values.cc: ...here.
7479 * vtable-verify.c: Moved to...
7480 * vtable-verify.cc: ...here.
7481 * web.c: Moved to...
7483 * xcoffout.c: Moved to...
7484 * xcoffout.cc: ...here.
7486 2022-01-17 qing zhao <qing.zhao@oracle.com>
7488 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
7489 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
7490 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
7492 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
7493 (warn_uninitialized_vars): Likewise.
7494 (warn_uninitialized_phi): Likewise.
7496 2022-01-17 Jason Merrill <jason@redhat.com>
7498 * diagnostic.h (struct diagnostic_context): Add includes_seen.
7499 * diagnostic.c (diagnostic_initialize): Initialize it.
7500 (diagnostic_finish): Clean it up.
7501 (includes_seen): New function.
7502 (diagnostic_report_current_module): Use it.
7504 2022-01-17 Richard Biener <rguenther@suse.de>
7506 PR middle-end/101292
7507 * diagnostic-spec.c (copy_warning): Make sure to not
7508 reference old hashtable content on possible resize.
7509 * warning-control.cc (copy_warning): Likewise.
7511 2022-01-17 Jakub Jelinek <jakub@redhat.com>
7514 * tree-cfg.h (cond_only_block_p): Declare.
7515 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
7516 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
7517 * optabs.def (spaceship_optab): New optab.
7518 * internal-fn.def (SPACESHIP): New internal function.
7519 * internal-fn.h (expand_SPACESHIP): Declare.
7520 * internal-fn.c (expand_PHI): Formatting fix.
7521 (expand_SPACESHIP): New function.
7522 * tree-ssa-math-opts.c (optimize_spaceship): New function.
7523 (math_opts_dom_walker::after_dom_children): Use it.
7524 * config/i386/i386.md (spaceship<mode>3): New define_expand.
7525 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
7526 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
7527 * doc/md.texi (spaceship@var{m}3): Document.
7529 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
7531 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
7532 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
7533 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
7534 known constant values to simplify code.
7536 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
7539 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
7541 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
7543 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
7544 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
7545 Insert zero-idiom in output template when attr enabled, set new attribute to
7546 true for non-mask/maskz insn.
7547 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
7549 (avx512dq_mul<mode>3<mask_name>): Likewise.
7550 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
7551 (avx2_perm<mode>_1<mask_name>): Likewise.
7552 (avx512f_perm<mode>_1<mask_name>): Likewise.
7553 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
7554 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
7556 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
7557 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
7559 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
7561 (mask4_dest_false_dep_for_glc_cond): Likewise.
7562 (mask6_dest_false_dep_for_glc_cond): Likewise.
7563 (mask10_dest_false_dep_for_glc_cond): Likewise.
7564 (maskc_dest_false_dep_for_glc_cond): Likewise.
7565 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
7566 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
7567 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
7568 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
7570 2022-01-15 Martin Sebor <msebor@redhat.com>
7573 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
7575 * doc/invoke.texi (-Wdangling-pointer): Document new option.
7576 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
7577 (pass_waccess::check_pointer_uses): New function.
7578 (pass_waccess::gimple_call_return_arg): New function.
7579 (pass_waccess::gimple_call_return_arg_ref): New function.
7580 (pass_waccess::check_call_dangling): New function.
7581 (pass_waccess::check_dangling_uses): New function overloads.
7582 (pass_waccess::check_dangling_stores): New function.
7583 (pass_waccess::check_dangling_stores): New function.
7584 (pass_waccess::m_clobbers): New data member.
7585 (pass_waccess::m_func): New data member.
7586 (pass_waccess::m_run_number): New data member.
7587 (pass_waccess::m_check_dangling_p): New data member.
7588 (pass_waccess::check_alloca): Check m_early_checks_p.
7589 (pass_waccess::check_alloc_size_call): Same.
7590 (pass_waccess::check_strcat): Same.
7591 (pass_waccess::check_strncat): Same.
7592 (pass_waccess::check_stxcpy): Same.
7593 (pass_waccess::check_stxncpy): Same.
7594 (pass_waccess::check_strncmp): Same.
7595 (pass_waccess::check_memop_access): Same.
7596 (pass_waccess::check_read_access): Same.
7597 (pass_waccess::check_builtin): Call check_pointer_uses.
7598 (pass_waccess::warn_invalid_pointer): Add arguments.
7599 (is_auto_decl): New function.
7600 (pass_waccess::check_stmt): New function.
7601 (pass_waccess::check_block): Call check_stmt.
7602 (pass_waccess::execute): Call check_dangling_uses,
7603 check_dangling_stores. Empty m_clobbers.
7604 * passes.def (pass_warn_access): Invoke pass two more times.
7606 2022-01-15 Martin Sebor <msebor@redhat.com>
7608 PR tree-optimization/80532
7609 * common.opt (-Wuse-after-free): New options.
7610 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
7611 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
7612 * diagnostic-spec.h (NW_DANGLING): New enumerator.
7613 * doc/invoke.texi (-Wuse-after-free): Document new option.
7614 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
7615 (pass_waccess::check_call_access): ...to this.
7616 (pass_waccess::check): Rename...
7617 (pass_waccess::check_block): ...to this.
7618 (pass_waccess::check_pointer_uses): New function.
7619 (pass_waccess::gimple_call_return_arg): New function.
7620 (pass_waccess::warn_invalid_pointer): New function.
7621 (pass_waccess::check_builtin): Handle free and realloc.
7622 (gimple_use_after_inval_p): New function.
7623 (get_realloc_lhs): New function.
7624 (maybe_warn_mismatched_realloc): New function.
7625 (pointers_related_p): New function.
7626 (pass_waccess::check_call): Call check_pointer_uses.
7627 (pass_waccess::execute): Compute and free dominance info.
7629 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
7631 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
7632 expand_simple_unop and expand_simple_binop instead of manually
7633 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
7634 consistently. Eliminate common subexpressions and simplify code.
7635 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
7636 (<any_logic:code><MODEF:mode>3): Make public.
7638 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
7640 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
7641 reverse flag as "reverse" for the sake of consistency.
7642 * ipa-sra.c: Fix copyright year.
7643 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
7644 (dump_isra_access): Tweak dump line.
7645 (isra_write_node_summary): Write the reverse flag.
7646 (isra_read_node_info): Read it.
7647 (pull_accesses_from_callee): Test its consistency and copy it.
7649 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
7651 PR middle-end/104026
7652 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
7653 partial_load_store_bias.
7655 2022-01-14 Martin Sebor <msebor@redhat.com>
7657 PR middle-end/101475
7658 * pointer-query.cc (handle_component_ref): Use the size of
7659 the enclosing object if it's smaller than the member.
7661 2022-01-14 Martin Liska <mliska@suse.cz>
7663 * configure: Regenerate.
7665 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
7667 * config/i386/i386.md (*add<mode>_1_slp"):
7668 Mark alternative 1 output operand earlyclobbered.
7669 (*sub<mode>_1_slp): Ditto.
7670 (*and<mode>_1_slp): Ditto.
7671 (*<code><mode>_1_slp): Ditto.
7672 (*neg<mode>_1_slp): Ditto.
7673 (*one_cmpl<mode>_1_slp): Ditto.
7674 (*ashl<mode>3_1_slp): Ditto.
7675 (*<insn><mode>3_1_slp): Ditto.
7676 (*<insn><mode>3_1_slp): Ditto.
7678 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
7680 PR tree-optimization/104015
7681 * tree-vect-loop.c (vect_analyze_loop): Check
7682 param_vect_partial_vector_usage for supports_partial_vectors.
7684 2022-01-14 Jakub Jelinek <jakub@redhat.com>
7687 * fold-const.c (address_compare): Punt on comparison of address of
7688 one object with address of end of another object if
7689 folding_initializer.
7691 2022-01-14 Jakub Jelinek <jakub@redhat.com>
7694 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
7695 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
7696 and __atomic_op_fetch (p, x, y) iop x into
7697 __atomic_fetch_op (p, x, y).
7699 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
7701 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
7702 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
7703 (INCOMING_RETURN_ADDR_RTX): Likewise.
7704 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
7706 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
7708 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
7709 computin checking accumulator regs.
7710 (arc_expand_prologue): Update comments.
7711 (arc_expand_epilogue): Likewise.
7713 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
7714 Uroš Bizjak <ubizjak@gmail.com>
7716 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
7717 (ix86_expand_ti_to_v1ti): Use force_reg.
7718 (ix86_expand_v1ti_shift): Use force_reg.
7719 (ix86_expand_v1ti_rotate): Use force_reg.
7720 (ix86_expand_v1ti_ashiftrt): Provide new three operation
7721 implementations for shifts by 111..126 bits. Use force_reg.
7723 2022-01-14 Martin Liska <mliska@suse.cz>
7725 * common/config/arm/arm-common.c (arm_target_mode): Fix
7726 warning: unterminated quoting directive [-Wformat=].
7728 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
7730 PR tree-optimization/104009
7731 * tree-object-size.c (compute_builtin_object_size): Bail out on
7733 (plus_stmt_object_size): Return maximum of wholesize and minimum
7734 of 0 for negative offset.
7736 2022-01-14 liuhongt <hongtao.liu@intel.com>
7741 * config/i386/i386.md (*xor2andn): Refine predicate of
7742 operands[0] from nonimmediate_operand to
7743 register_operand, remove TARGET_AVX512BW from condition.
7745 2022-01-14 David Malcolm <dmalcolm@redhat.com>
7747 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
7748 be used on field decls.
7749 (Common Function Attributes): Add entry on "tainted_args" attribute.
7751 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
7752 Jason Merrill <jason@redhat.com>
7755 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
7757 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
7760 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
7761 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
7762 * config/i386/mmx.md (<any_shift:insn>v2qi):
7763 New insn_and_split pattern.
7765 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
7767 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
7768 (expand_partial_store_optab_fn): Likewise.
7769 (internal_len_load_store_bias): New function.
7770 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
7771 (internal_len_load_store_bias): New function.
7772 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
7773 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
7774 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
7775 (vect_estimate_min_profitable_iters): Account for bias.
7776 (vect_get_loop_len): Add bias-adjusted length.
7777 * tree-vect-stmts.c (vectorizable_store): Use.
7778 (vectorizable_load): Use.
7779 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
7780 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
7781 * config/rs6000/vsx.md: Use const0 bias predicate.
7782 * doc/md.texi: Document bias value.
7784 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
7786 PR tree-optimization/83072
7787 PR tree-optimization/83073
7788 PR tree-optimization/97909
7789 * fold-const.c (expr_not_equal_to): Use a multi-range class.
7791 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
7793 PR tree-optimization/96707
7794 * range-op.cc (operator_rshift::lhs_op1_relation): New.
7796 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
7798 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
7799 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
7800 (negv2qi splitters): Use lowpart_subreg instead of
7801 gen_lowpart to create subreg.
7802 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
7803 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
7804 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
7805 gen_lowpart to create subreg.
7806 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
7808 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
7811 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
7813 2022-01-13 Martin Liska <mliska@suse.cz>
7815 * common/config/arm/arm-common.c (arm_target_mode): Wrap
7816 keywords with %<, %> and remove trailing punctuation char.
7817 (arm_canon_arch_option_1): Likewise.
7818 (arm_asm_auto_mfpu): Likewise.
7819 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
7820 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
7821 (use_vfp_abi): Likewise.
7822 (aapcs_vfp_is_call_or_return_candidate): Likewise.
7823 (arm_handle_cmse_nonsecure_entry): Likewise.
7824 (arm_handle_cmse_nonsecure_call): Likewise.
7825 (thumb1_md_asm_adjust): Likewise.
7827 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
7829 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
7830 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
7831 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
7832 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
7833 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
7834 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
7835 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
7836 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
7839 2022-01-13 Jakub Jelinek <jakub@redhat.com>
7841 PR tree-optimization/103989
7842 * tree-inline.c (setup_one_parameter): Don't copy parms with
7845 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
7847 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
7848 'TYPE_ADDR_SPACE' for offloading.
7849 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
7850 'TYPE_ADDR_SPACE' for offloading.
7852 2022-01-13 Julian Brown <julian@codesourcery.com>
7853 Thomas Schwinge <thomas@codesourcery.com>
7855 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
7857 (add_async_clauses_and_wait): ...here. Call new outlined function.
7858 (decompose_kernels_region_body): Add wait at the end of
7859 explicitly-asynchronous kernels regions.
7861 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
7863 PR middle-end/100280
7864 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
7865 Mark variables used in synthesized data clauses as addressable.
7867 2022-01-13 Martin Liska <mliska@suse.cz>
7869 * config/epiphany/epiphany.c (epiphany_mode_priority):
7870 Use gcc_unreachable for not handled cases.
7872 2022-01-13 Martin Liska <mliska@suse.cz>
7874 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
7875 Use %qs format specifier.
7876 (epiphany_override_options): Wrap keyword in %<, %>.
7878 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
7881 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
7883 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
7885 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
7887 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
7891 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
7892 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
7893 when constructing vector logic RTXes.
7894 (expand_vec_perm_pshufb2): Ditto.
7895 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
7896 (<plusminus:insn>v2qi3): Ditto.
7897 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
7898 (vcondu<mode><mode>): Ditto.
7899 (vcond_mask_<mode><mode>): Ditto.
7900 (one_cmpl<VI_32:mode>2): Remove expander.
7901 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
7902 Use VI_16_32 mode iterator.
7903 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
7904 Use lowpart_subreg instead of gen_lowpart to create subreg.
7905 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
7906 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
7907 Disparage GPR alternative a bit. Add CC clobber.
7908 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
7909 Use lowpart_subreg instead of gen_lowpart to create subreg.
7910 (*<any_logic:code><VI_16_32:mode>3): Merge from
7911 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
7912 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
7914 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
7915 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
7917 2022-01-12 Clément Chigot <clement.chigot@atos.net>
7919 * configure.ac: Check sizeof ino_t and dev_t.
7920 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
7921 syscall being able to handle 64bit inodes.
7922 * config.in: Regenerate.
7923 * configure: Regenerate.
7924 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
7925 (remove_duplicates): Use it.
7927 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
7929 PR tree-optimization/103551
7930 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
7932 2022-01-12 Richard Biener <rguenther@suse.de>
7934 PR tree-optimization/103990
7935 * tree-pass.h (tail_merge_optimize): Drop unused argument.
7936 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
7937 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
7938 and adjust call to tail_merge_optimize.
7940 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
7942 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
7943 does not add autovectorize_vector_modes.
7945 2022-01-12 Martin Liska <mliska@suse.cz>
7947 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
7949 (aarch64_parse_sve_width_string): Likewise.
7950 (aarch64_override_options_internal): Likewise.
7951 (aarch64_print_hint_for_extensions): Likewise.
7952 (aarch64_validate_sls_mitigation): Likewise.
7953 (aarch64_handle_attr_arch): Likewise.
7954 (aarch64_handle_attr_cpu): Likewise.
7955 (aarch64_handle_attr_tune): Likewise.
7956 (aarch64_handle_attr_isa_flags): Likewise.
7958 2022-01-12 Martin Liska <mliska@suse.cz>
7960 * config.gcc: Include elfos.h before ${tm_file}.
7962 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
7964 * config/cris/cris.c: Quote identifiers in parameters to error
7965 and internal_error, and remove extraneous spaces with punctuation.
7966 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
7967 expression to internal_error, pass it as a parameter instead of
7968 appending it to the format part.
7970 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
7972 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
7975 2022-01-11 qing zhao <qing.zhao@oracle.com>
7977 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
7978 Change the 3rd argument of function .DEFERRED_INIT to the name of the
7980 (gimplify_decl_expr): Delete the 3rd argument when call
7981 gimple_add_init_for_auto_var.
7982 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
7983 the 3rd argument change of function .DEFERRED_INIT.
7984 * tree-cfg.c (verify_gimple_call): Update comments and verification
7985 to reflect the 3rd argument change of function .DEFERRED_INIT.
7986 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
7987 (sra_modify_deferred_init): Change the 3rd argument of function
7988 .DEFERRED_INIT to the name of the decl.
7990 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
7992 * flag-types.h (enum gfc_convert): Add flags for
7995 2022-01-11 Michael Meissner <meissner@the-meissners.org>
7997 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
7998 checks for only C/C++ front ends before allowing the long double
7999 format to change without a warning.
8001 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
8003 PR rtl-optimization/103974
8004 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
8005 extra argument, default true, that says whether old-reload
8006 targets should be excluded.
8007 * ira-color.c (color_pass): Pass false.
8009 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
8012 * config/i386/mmx.md (vcond<mode><mode>):
8013 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
8014 (vcondu<mode><mode>): Ditto.
8015 (vcond_mask_<mode><mode>): Ditto.
8016 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
8017 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
8018 Use VI_16_32 mode iterator.
8019 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
8020 Update for rename. Handle V2QImode.
8021 (expand_vec_perm_blend): Update for rename.
8023 2022-01-11 Jakub Jelinek <jakub@redhat.com>
8026 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
8028 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
8031 * tree-object-size.c (size_valid_p): New function.
8032 (size_for_offset): Remove OFFSET constness assertion.
8033 (addr_object_size): Build dynamic expressions for object
8034 sizes and use size_valid_p to decide if it is valid for the
8035 given OBJECT_SIZE_TYPE.
8036 (compute_builtin_object_size): Allow dynamic offsets when
8037 computing size at O0.
8038 (call_object_size): Call size_valid_p.
8039 (plus_stmt_object_size): Allow non-constant offset and use
8040 size_valid_p to decide if it is valid for the given
8043 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
8046 * tree-object-size.c (alloc_object_size): Make and return
8047 non-constant size expression.
8048 (call_object_size): Return expression or unknown based on
8049 whether dynamic object size is requested.
8051 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
8054 * tree-object-size.c: Include tree-dfa.h.
8055 (parm_object_size): New function.
8056 (collect_object_sizes_for): Call it.
8058 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
8061 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
8063 * tree-object-size.c: Include gimplify-me.h.
8064 (struct object_size_info): New member UNKNOWNS.
8065 (size_initval_p, size_usable_p, object_sizes_get_raw): New
8067 (object_sizes_get): Return suitable gimple variable for
8069 (bundle_sizes): New function.
8070 (object_sizes_set): Use it and handle dynamic object size
8072 (object_sizes_set_temp): New function.
8073 (size_for_offset): Adjust for dynamic size expressions.
8074 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
8076 (compute_builtin_object_size): Call gimplify_size_expressions
8078 (dynamic_object_size): New function.
8079 (cond_expr_object_size): Use it.
8080 (phi_dynamic_object_size): New function.
8081 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
8082 accommodate dynamic object sizes.
8084 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
8085 Jakub Jelinek <jakub@redhat.com>
8087 PR tree-optimization/103961
8088 * tree-object-size.c (plus_stmt_object_size): Always avoid
8089 computing offset for -1 size.
8091 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
8093 PR tree-optimization/103821
8094 * range-op.cc (range_operator::fold_range): Only do precise ranges
8095 when there are not too many subranges.
8097 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
8099 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
8100 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
8102 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
8103 Richard Biener <rguenther@suse.de>
8105 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
8106 highpart_mults_inserted field.
8107 (convert_mult_to_highpart): New function to convert right shift
8108 of a widening multiply into a MULT_HIGHPART_EXPR.
8109 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
8110 Call new convert_mult_to_highpart function.
8111 (pass_optimize_widening_mul::execute): Add a statistics counter
8112 for tracking "highpart multiplications inserted" events.
8114 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
8117 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
8119 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
8121 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
8123 2022-01-11 Olivier Hainque <hainque@adacore.com>
8125 * gcc.c (driver_handle_option): State --sysroot as
8128 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
8130 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
8131 useless related to option -mno-power10.
8133 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
8136 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
8137 operands[1] from register_operand to vector_operand.
8139 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
8142 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
8144 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
8145 Use VI1_16_32 mode iterator.
8146 (*eq<mode>3): Ditto.
8147 (*gt<mode>3): Ditto.
8148 (*xop_maskcmp<mode>3): Ditto.
8149 (*xop_maskcmp_uns<mode>3): Ditto.
8150 (vec_cmp<mode><mode>): Ditto.
8151 (vec_cmpu<mode><mode>): Ditto.
8153 2022-01-10 Richard Biener <rguenther@suse.de>
8155 PR tree-optimization/103948
8156 * tree-vect-generic.c (expand_vector_condition): Return true if
8157 all ones vector is returned for true, all zeros vector for false
8158 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
8160 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
8162 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
8163 when _ARCH_PWR10. Use signed types.
8164 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
8165 (_mm_blendv_pd): Likewise.
8167 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
8169 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
8171 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
8172 epilogues, unless we are guaranteed that we can't have partial vectors.
8173 * genopinit.c: (partial_vectors_supported): Generate new function.
8175 2022-01-10 Jakub Jelinek <jakub@redhat.com>
8178 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
8179 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
8180 always ignore them, when seeing other zero sized bitfields, either
8181 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
8182 it. Pass it to recursive calls. Add wrapper
8183 with old arguments and diagnose ABI differences for C structures
8184 with zero width bitfields. Formatting fixes.
8186 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
8188 PR rtl-optimization/98782
8189 * ira-int.h (ira_soft_conflict): Declare.
8190 * ira-color.c (max_soft_conflict_loop_depth): New constant.
8191 (ira_soft_conflict): New function.
8192 (spill_soft_conflicts): Likewise.
8193 (assign_hard_reg): Use them to handle the case described by
8194 the comment above ira_soft_conflict.
8195 (improve_allocation): Likewise.
8196 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
8197 to share the same register.
8199 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
8201 PR rtl-optimization/98782
8202 * ira-int.h (ira_caller_save_cost): New function.
8203 (ira_caller_save_loop_spill_p): Likewise.
8204 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
8205 cheaper to spill a call-clobbered register throughout a loop rather
8206 than spill it around each individual call. If so, treat all
8207 call-clobbered registers as conflicts and...
8208 (propagate_allocno_info): ...do not propagate call information
8209 from the child to the parent.
8210 * ira-color.c (move_spill_restore): Update accordingly.
8211 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
8213 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
8215 PR rtl-optimization/98782
8216 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
8217 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
8218 (ira_single_region_allocno_p): New function.
8219 (ira_total_conflict_hard_regs): Likewise.
8220 * ira-build.c (ira_create_allocno): Initialize
8221 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
8222 (ira_propagate_hard_reg_costs): New function.
8223 (propagate_allocno_info): Use it. Try to avoid propagating
8224 hard register conflicts to parent allocnos if we can handle
8225 the conflicts by spilling instead. Limit the propagated
8226 register costs to the cost of spilling throughout the child loop.
8227 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
8228 test whether a child and parent allocno can share the same
8230 (move_spill_restore): Adjust for the new behavior of
8231 propagate_allocno_info.
8233 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
8235 PR rtl-optimization/98782
8236 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
8238 * ira-color.c (color_pass): ...here.
8240 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
8242 PR rtl-optimization/98782
8243 * ira-color.c (color_pass): Add comments to describe the spill costs.
8244 (move_spill_restore): Likewise. Fix reversed calculation.
8246 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
8248 PR rtl-optimization/98782
8249 * ira-int.h (ira_loop_border_costs): New class.
8250 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
8252 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
8253 (color_pass): Likewise.
8254 (move_spill_restore): Likewise.
8256 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
8259 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
8261 2022-01-10 Richard Biener <rguenther@suse.de>
8263 PR tree-optimization/100359
8264 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
8265 Allow non-growing peeling with !allow_peel and UL_ALL.
8267 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
8269 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
8270 special case for TImode to V1TImode moves, going via V2DImode.
8272 2022-01-08 Jakub Jelinek <jakub@redhat.com>
8275 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
8278 2022-01-08 David Malcolm <dmalcolm@redhat.com>
8281 (Special Functions for Debugging the Analyzer): Document
8282 __analyzer_dump_escaped.
8284 2022-01-08 David Malcolm <dmalcolm@redhat.com>
8286 * doc/analyzer.texi (Other Debugging Techniques): Document
8287 region::is_named_decl_p.
8289 2022-01-07 Andrew Pinski <apinski@marvell.com>
8292 * config/arm/aarch-common.c (arm_md_asm_adjust):
8293 Use a temp if !REG_P.
8295 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
8297 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
8298 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
8300 2022-01-07 liuhongt <hongtao.liu@intel.com>
8302 PR rtl-optimization/103750
8303 * fwprop.c (forward_propagate_into): Allow propagations from
8304 inner loop to outer loop.
8306 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
8308 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
8310 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
8312 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
8313 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
8314 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
8316 2022-01-07 liuhongt <hongtao.liu@intel.com>
8318 * config/i386/sse.md
8319 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
8320 UNSPEC_PCMP_UNSIGNED.
8322 2022-01-07 liuhongt <hongtao.liu@intel.com>
8325 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
8326 gen_avx2_pblendph_1 when elt == 0.
8327 * config/i386/sse.md (avx2_pblendph): Rename to ..
8328 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
8329 (*avx2_pblendw): Rename to ..
8330 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
8331 (avx2_pblendw): Rename to ..
8332 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
8333 (blendsuf): Removed.
8334 (sse4_1_pblend<blendsuf>): Renamed to ..
8335 (sse4_1_pblend<ssemodesuffix>): .. this.
8337 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
8340 * config/i386/i386.c (ix86_output_indirect_function_return):
8341 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
8343 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
8346 * config/i386/i386-opts.h (harden_sls): Replace
8347 harden_sls_indirect_branch with harden_sls_indirect_jmp.
8348 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
8350 (ix86_output_indirect_jmp): Likewise.
8351 (ix86_output_call_insn): Likewise.
8352 * config/i386/i386.opt: Replace indirect-branch with
8353 indirect-jmp. Replace harden_sls_indirect_branch with
8354 harden_sls_indirect_jmp.
8355 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
8358 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
8360 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
8361 Add %q modifier for operands in general registers.
8362 <MODE_SI>: Add %q modifier for operands in general registers.
8363 * config/i386/i386.md (*movhi_internal): Change type attribute of
8364 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
8365 to SImode for non-avx512fp16 targets.
8366 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
8367 * config/i386/mmx.md (*movv2qi_internal):
8368 Ditto for xmm-gpr interunit alternatives 8,9.
8370 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
8372 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
8374 (riscv_ext_version_table): Add version info for vector extensions.
8375 (riscv_ext_flag_table): Add option mask for vector extensions.
8376 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
8377 (MASK_VECTOR_EEW_64): New.
8378 (MASK_VECTOR_EEW_FP_32): New.
8379 (MASK_VECTOR_EEW_FP_64): New.
8382 (MASK_ZVL128B): New.
8383 (MASK_ZVL256B): New.
8384 (MASK_ZVL512B): New.
8385 (MASK_ZVL1024B): New.
8386 (MASK_ZVL2048B): New.
8387 (MASK_ZVL4096B): New.
8388 (MASK_ZVL8192B): New.
8389 (MASK_ZVL16384B): New.
8390 (MASK_ZVL32768B): New.
8391 (MASK_ZVL65536B): New.
8392 (TARGET_ZVL32B): New.
8393 (TARGET_ZVL64B): New.
8394 (TARGET_ZVL128B): New.
8395 (TARGET_ZVL256B): New.
8396 (TARGET_ZVL512B): New.
8397 (TARGET_ZVL1024B): New.
8398 (TARGET_ZVL2048B): New.
8399 (TARGET_ZVL4096B): New.
8400 (TARGET_ZVL8192B): New.
8401 (TARGET_ZVL16384B): New.
8402 (TARGET_ZVL32768B): New.
8403 (TARGET_ZVL65536B): New.
8404 * config/riscv/riscv.opt (Mask(VECTOR)): New.
8405 (riscv_vector_eew_flags): New.
8406 (riscv_zvl_flags): New.
8408 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
8410 * common/config/riscv/riscv-common.c
8411 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
8414 2022-01-06 Jakub Jelinek <jakub@redhat.com>
8416 PR tree-optimization/103899
8417 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
8418 warning by moving context variable to the only spot where it is used
8419 and moving gcc_assert into if body.
8421 2022-01-06 Jakub Jelinek <jakub@redhat.com>
8423 PR rtl-optimization/103908
8424 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
8427 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
8430 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
8431 Skip over instances with undefined function types.
8433 2022-01-05 Andrew Pinski <apinski@marvell.com>
8436 * config/i386/i386.h (x86_mfence): Mark with GTY.
8438 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
8441 * config/i386/mmx.md (VI_16_32): New mode iterator.
8443 (mmxvecsize): Handle V2QI mode.
8444 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
8445 Use VI1_16_32 mode iterator.
8446 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
8447 Use VI1_16_32 mode iterator.
8448 (abs<mode>2): Use VI_16_32 mode iterator.
8449 (uavgv2qi3_ceil): New insn pattern.
8451 2022-01-05 Martin Sebor <msebor@redhat.com>
8453 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
8454 %qs to avoid -Wformat-diag.
8456 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
8459 * config/i386/mmx.md (one_cmplv2qi2): Change
8460 alternatives 1,2 type from sselog to sselog1.
8462 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
8465 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
8466 narrow mode remapped elements for !one_operand_p case.
8468 2022-01-05 Richard Biener <rguenther@suse.de>
8470 PR tree-optimization/103816
8471 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
8472 check DR_GROUP_GAP compute for overflow and representability.
8474 2022-01-05 Jakub Jelinek <jakub@redhat.com>
8477 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
8478 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
8479 it can do unwanted rhs folding like &a[0] into &2.0 etc.
8481 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
8484 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
8485 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
8486 (rs6000_need_ipa_fn_target_info): New function.
8487 (rs6000_update_ipa_fn_target_info): Likewise.
8488 (rs6000_can_inline_p): Adjust for ipa function summary target info.
8489 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
8490 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
8491 summary target info.
8492 (analyze_function_body): Adjust for ipa function summary target info
8493 and call hook rs6000_need_ipa_fn_target_info and
8494 rs6000_update_ipa_fn_target_info.
8495 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
8497 (inline_read_section): Likewise.
8498 (ipa_fn_summary_write): Likewise.
8499 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
8500 * doc/tm.texi: Regenerate.
8501 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
8502 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
8503 * target.def (update_ipa_fn_target_info): New hook.
8504 (need_ipa_fn_target_info): Likewise.
8505 * targhooks.c (default_need_ipa_fn_target_info): New function.
8506 (default_update_ipa_fn_target_info): Likewise.
8507 * targhooks.h (default_update_ipa_fn_target_info): New declare.
8508 (default_need_ipa_fn_target_info): Likewise.
8510 2022-01-04 Martin Sebor <msebor@redhat.com>
8513 * builtins.c (get_memmodel): Move warning code to
8514 gimple-ssa-warn-access.cc.
8515 (expand_builtin_atomic_compare_exchange): Same.
8516 (expand_ifn_atomic_compare_exchange): Same.
8517 (expand_builtin_atomic_load): Same.
8518 (expand_builtin_atomic_store): Same.
8519 (expand_builtin_atomic_clear): Same.
8520 * doc/extend.texi (__atomic_exchange_n): Update valid memory
8522 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
8523 (struct memmodel_pair): New struct.
8524 (memmodel_name): New function.
8525 (pass_waccess::maybe_warn_memmodel): New function.
8526 (pass_waccess::check_atomic_memmodel): New function.
8527 (pass_waccess::check_atomic_builtin): Handle memory model.
8528 * input.c (expansion_point_location_if_in_system_header): Return
8529 original location if expansion location is in a system header.
8531 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
8534 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
8535 (one_cmplv2qi3 splitters): New post-reload splitters.
8536 (*andnotv2qi3): New insn pattern.
8537 (andnotv2qi3 splitters): New post-reload splitters.
8538 (<any_logic:code>v2qi3): New insn pattern.
8539 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
8541 2022-01-04 Richard Biener <rguenther@suse.de>
8543 PR tree-optimization/103800
8544 * tree-vect-loop.c (vectorizable_phi): Remove assert and
8547 2022-01-04 Richard Biener <rguenther@suse.de>
8549 PR tree-optimization/103690
8550 * tree-pass.h (tail_merge_optimize): Adjust.
8551 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
8552 to re-split critical edges, move CFG cleanup ...
8553 * tree-ssa-pre.c (pass_pre::execute): ... here, before
8554 simple_dce_from_worklist and delay freeing inserted_exprs from
8556 (fini_pre): .. here.
8558 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
8560 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
8561 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
8562 (setcc_from_bi): Remove SImode specific pattern.
8563 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
8564 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
8565 for sign- and zero-extending BImode predicates to integers.
8566 (setcc_int<mode>): Remove previous (-1-based) instructions.
8567 (cstorebi4): Remove BImode to SImode specific expander.
8568 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
8569 (cstore<mode>4): For both integer and floating point modes.
8571 2022-01-04 Olivier Hainque <hainque@adacore.com>
8573 * gcc.c (driver_handle_option): do_save --sysroot.
8575 2022-01-04 Richard Biener <rguenther@suse.de>
8577 PR tree-optimization/103864
8578 PR tree-optimization/103544
8579 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
8580 reductions wrapped in conversions from SLP handling.
8581 (vect_analyze_slp): Revert PR103544 change.
8583 2022-01-04 Jakub Jelinek <jakub@redhat.com>
8585 PR rtl-optimization/103860
8586 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
8587 uselessly for blocks for which it has been called already.
8589 2022-01-04 Cui,Lili <lili.cui@intel.com>
8591 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
8592 to Alderlake and Rocketlake.
8594 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
8596 PR middle-end/103643
8597 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
8598 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
8600 2022-01-04 liuhongt <hongtao.liu@intel.com>
8603 * config/i386/sse.md (*bit_and_float_vector_all_ones):
8604 Force_reg operand 1 to avoid ICE.
8606 2022-01-04 Jason Merrill <jason@redhat.com>
8608 * tree-pretty-print.c (do_niy): Add spc parameter.
8610 (print_call_name): Add spc local variable.
8612 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
8615 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
8616 (mov<V_32:mode>_internal): Ditto.
8617 (*push<V_32:mode>_rex64): Ditto.
8618 (movmisalign<V_32:mode>): Ditto.
8619 (*push<V_32:mode>_rex64 splitter): Enable for
8620 TARGET_64BIT && TARGET_SSE.
8621 (*push<V_32:mode>2): Remove insn pattern.
8623 2022-01-03 Andrew Pinski <apinski@marvell.com>
8626 * doc/extend.texi: Extend the documentation about Complex
8627 types for casting and also rewrite the __real__/__imag__
8628 expression portion to use tables.
8629 Move __builtin_complex to the Complex type section.
8631 2022-01-03 Jakub Jelinek <jakub@redhat.com>
8634 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
8635 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
8637 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
8638 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
8639 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
8640 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
8641 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
8642 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
8644 * optabs.def (atomic_add_fetch_cmp_0_optab,
8645 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
8646 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
8648 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
8649 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
8650 * tree-ssa-ccp.c: Include internal-fn.h.
8651 (optimize_atomic_bit_test_and): Add . before internal fn call
8652 in function comment. Change return type from void to bool and
8653 return true only if successfully replaced.
8654 (optimize_atomic_op_fetch_cmp_0): New function.
8655 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
8656 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
8657 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
8658 for *XOR* ones only if optimize_atomic_bit_test_and failed.
8659 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
8660 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
8661 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
8662 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
8663 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
8664 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
8665 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
8668 2022-01-03 Richard Biener <rguenther@suse.de>
8670 PR middle-end/103851
8671 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
8673 2022-01-03 Jakub Jelinek <jakub@redhat.com>
8676 * symtab.c: Include fold-const.h.
8677 (symtab_node::equal_address_to): If folding_initializer is true,
8678 handle it like memory_accessed. Simplify.
8680 2022-01-03 Martin Liska <mliska@suse.cz>
8682 * doc/extend.texi: Use ; for function declarations.
8684 2022-01-03 Jakub Jelinek <jakub@redhat.com>
8687 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
8688 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
8690 2022-01-03 Jakub Jelinek <jakub@redhat.com>
8692 * gcc.c (process_command): Update copyright notice dates.
8693 * gcov-dump.c (print_version): Ditto.
8694 * gcov.c (print_version): Ditto.
8695 * gcov-tool.c (print_version): Ditto.
8696 * gengtype.c (create_file): Ditto.
8697 * doc/cpp.texi: Bump @copying's copyright year.
8698 * doc/cppinternals.texi: Ditto.
8699 * doc/gcc.texi: Ditto.
8700 * doc/gccint.texi: Ditto.
8701 * doc/gcov.texi: Ditto.
8702 * doc/install.texi: Ditto.
8703 * doc/invoke.texi: Ditto.
8705 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
8708 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
8709 (VALID_INT_MODE_P): Ditto.
8710 * config/i386/i386.c (ix86_secondary_reload): Handle
8711 V2QImode reloads from SSE register to memory.
8712 (vector_mode_supported_p): Always return true for V2QImode.
8713 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
8714 (*negqi_ext<mode>_2): Ditto.
8715 * config/i386/mmx.md (movv2qi): New expander.
8716 (movmisalignv2qi): Ditto.
8717 (*movv2qi_internal): New insn pattern.
8718 (*pushv2qi2): Ditto.
8719 (negv2qi2 and splitters): Ditto.
8720 (<plusminus:insn>v2qi3 and splitters): Ditto.
8722 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
8724 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
8725 sync_lock_test_and_set libfunc. Call convert_memory_address to
8726 convert memory address to Pmode.
8727 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
8730 Copyright (C) 2022 Free Software Foundation, Inc.
8732 Copying and distribution of this file, with or without modification,
8733 are permitted in any medium without royalty provided the copyright
8734 notice and this notice are preserved.