1 2022-09-09 Richard Biener <rguenther@suse.de>
3 Backported from master:
4 2022-09-07 Richard Biener <rguenther@suse.de>
6 PR tree-optimization/106860
7 * tree-ssa-loop-split.cc (split_loop): Find the exit to
8 latch edge from the loop exit edge instead of from the
9 latch. Verify we're going to find it.
11 2022-09-09 Richard Biener <rguenther@suse.de>
13 Backported from master:
14 2022-09-06 Richard Biener <rguenther@suse.de>
16 PR tree-optimization/106841
17 * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
18 scatter/gather offset.
20 2022-09-09 Richard Biener <rguenther@suse.de>
22 Backported from master:
23 2022-09-02 Richard Biener <rguenther@suse.de>
25 PR tree-optimization/106809
26 * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
27 more than one successor before doing extra work.
29 2022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
31 * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
33 * config/rs6000/t-rtems: Add -mvrsave multilib variants for
36 2022-09-03 Peter Bergner <bergner@linux.ibm.com>
38 Backported from master:
39 2022-09-01 Peter Bergner <bergner@linux.ibm.com>
42 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
43 Enforce the use of a valid MMA pointer type.
45 2022-09-02 Richard Earnshaw <rearnsha@arm.com>
47 Backported from master:
48 2022-08-03 Richard Earnshaw <rearnsha@arm.com>
50 PR rtl-optimization/106187
51 * alias.h (mems_same_for_tbaa_p): Declare.
52 * alias.cc (mems_same_for_tbaa_p): New function.
53 * dse.cc (record_store): Use it instead of open-coding
55 * cselib.h (cselib_redundant_set_p): Declare.
56 * cselib.cc: Include alias.h
57 (cselib_redundant_set_p): New function.
58 * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
59 of rtx_equal_for_cselib_p.
60 * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
61 (reload_cse_noop_set_p): Delete.
63 2022-09-02 Richard Earnshaw <rearnsha@arm.com>
65 Backported from master:
66 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
69 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
71 (*movmisalign<mode>_mve_load): Likewise.
72 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
74 (@movmisalign<mode>): ... thus. Use generic predicates and then
75 rework operands if they are not valid. For MVE rework to a
76 narrower element size if the alignment is not high enough.
78 2022-09-02 Tamar Christina <tamar.christina@arm.com>
80 Backported from master:
81 2022-09-01 Tamar Christina <tamar.christina@arm.com>
84 * config/aarch64/aarch64.cc
85 (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
86 HOST_WIDE_INT_PRINT_UNSIGNED.
88 2022-09-01 Jakub Jelinek <jakub@redhat.com>
90 Backported from master:
91 2022-09-01 Jakub Jelinek <jakub@redhat.com>
94 * tree-vect-slp.cc (vect_print_slp_tree): Use
95 HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
96 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Use
97 HOST_WIDE_INT_PRINT_UNSIGNED instead of %d.
98 * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
99 instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
100 instead of SLP_TREE_DEF_TYPE (node).
102 2022-08-30 Tamar Christina <tamar.christina@arm.com>
104 Backported from master:
105 2022-08-12 Tamar Christina <tamar.christina@arm.com>
108 * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
109 *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
111 2022-08-29 Peter Bergner <bergner@linux.ibm.com>
113 Backported from master:
114 2022-08-28 Peter Bergner <bergner@linux.ibm.com>
117 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
118 of MMA pointer conversions.
120 2022-08-29 H.J. Lu <hjl.tools@gmail.com>
122 Backported from master:
123 2022-08-23 H.J. Lu <hjl.tools@gmail.com>
126 * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
128 (_tile_stream_loadd_internal): Likewise.
129 (_tile_stored_internal): Likewise.
131 2022-08-29 Jakub Jelinek <jakub@redhat.com>
133 Backported from master:
134 2022-08-24 Jakub Jelinek <jakub@redhat.com>
137 * config/i386/sse.md (i128vldq): Add V16HF entry.
138 (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
139 mask_opernad3 -> mask_operand3.
141 2022-08-29 Jakub Jelinek <jakub@redhat.com>
143 Backported from master:
144 2022-08-15 Jakub Jelinek <jakub@redhat.com>
146 PR rtl-optimization/106590
147 * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
148 (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
149 mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
150 further conditional moves.
152 2022-08-26 liuhongt <hongtao.liu@intel.com>
155 * config/i386/i386-builtin.def (BDESC): Add
156 CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
157 corresponding builtins.
158 * config/i386/i386.cc (ix86_gimple_fold_builtin):
159 Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
160 IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
162 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn>
164 Backported from master:
165 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn>
168 * config/loongarch/loongarch.cc (loongarch_build_integer):
170 * config/loongarch/loongarch.h (IMM_REACH): Likewise.
171 (HWIT_1U): New Defined.
172 (LU12I_OPERAND): Use HOST_WIDE_INT.
173 (LU32I_OPERAND): Likewise.
174 (LU52I_OPERAND): Likewise.
175 (HWIT_UC_0xFFF): Likwise.
177 2022-08-24 Kewen Lin <linkw@linux.ibm.com>
179 Backported from master:
180 2022-08-16 Kewen Lin <linkw@linux.ibm.com>
182 PR tree-optimization/106322
183 * tree-vect-stmts.cc (vectorizable_call): Don't allow
184 vect_emulated_vector_p type for both vectype_in and vectype_out.
186 2022-08-24 Kewen.Lin <linkw@gcc.gnu.org>
188 Backported from master:
189 2022-08-16 Kewen.Lin <linkw@gcc.gnu.org>
192 * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
193 check to preparation statements and add handlings for !TARGET_MMA.
194 (define_expand movxo): Likewise.
196 2022-08-23 Tobias Burnus <tobias@codesourcery.com>
198 Backported from master:
199 2022-08-19 Tobias Burnus <tobias@codesourcery.com>
201 * config/gcn/mkoffload.cc (main): Add dbgobj to files_to_cleanup.
203 2022-08-23 Tobias Burnus <tobias@codesourcery.com>
205 Backported from master:
206 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
209 * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
210 for 'simd' linear-step values that are variable.
212 2022-08-19 Release Manager
214 * GCC 12.2.0 released.
216 2022-08-17 Ilya Leoshkevich <iii@linux.ibm.com>
218 Backported from master:
219 2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com>
221 * config/s390/vector.md (V_HW_FT): New iterator.
222 * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
225 2022-08-12 Peter Bergner <bergner@linux.ibm.com>
227 Backported from master:
228 2022-07-26 Peter Bergner <bergner@linux.ibm.com>
231 * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
233 2022-08-11 Andre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com>
235 Backported from master:
236 2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com>
238 * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
239 (@aarch64_rbit<mode>): ... to this and change it in...
240 (ffs<mode>2,ctz<mode>2): ... here.
241 (@aarch64_rev16<mode>): New.
242 * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
243 Define the following enum AARCH64_REV16, AARCH64_REV16L,
244 AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
245 (aarch64_init_data_intrinsics): New.
246 (aarch64_general_init_builtins): Add call to
247 aarch64_init_data_intrinsics.
248 (aarch64_expand_builtin_data_intrinsic): New.
249 (aarch64_general_expand_builtin): Add call to
250 aarch64_expand_builtin_data_intrinsic.
251 * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
252 __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
253 __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
255 2022-08-10 Tobias Burnus <tobias@codesourcery.com>
257 Backported from master:
258 2022-08-09 Tobias Burnus <tobias@codesourcery.com>
261 * omp-low.cc (lower_rec_input_clauses): Add missing folding
262 to data type of linear-clause list item.
264 2022-08-10 Richard Biener <rguenther@suse.de>
266 Backported from master:
267 2022-08-10 Richard Biener <rguenther@suse.de>
269 PR tree-optimization/106513
270 * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
273 2022-08-10 Richard Biener <rguenther@suse.de>
275 Backported from master:
276 2022-08-08 Richard Biener <rguenther@suse.de>
280 * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
281 to input DECL_INITIAL, avoiding to commit drefs.
283 2022-08-05 Michael Meissner <meissner@linux.ibm.com>
285 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
286 setting -mblock-ops-vector-pair. Back port patch from trunk on 8/3.
288 2022-08-02 Peter Bergner <bergner@linux.ibm.com>
290 Backported from master:
291 2022-07-25 Peter Bergner <bergner@linux.ibm.com>
292 Kewen Lin <linkw@linux.ibm.com>
295 * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
296 to filter out all -mtune options.
298 2022-08-02 Kewen Lin <linkw@linux.ibm.com>
300 Backported from master:
301 2022-07-26 Kewen Lin <linkw@linux.ibm.com>
304 * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
305 REG_EH_REGION when replacing one store insn having it.
306 (replace_swapped_aligned_load): Likewise.
308 2022-07-30 Jakub Jelinek <jakub@redhat.com>
310 Backported from master:
311 2022-07-29 Jakub Jelinek <jakub@redhat.com>
314 * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
315 iterators in non-rectangular simd loops. Unshare fd->loops[i].n2
316 or n2 before regimplifying it inside of a condition.
318 2022-07-30 Jakub Jelinek <jakub@redhat.com>
320 Backported from master:
321 2022-07-27 Jakub Jelinek <jakub@redhat.com>
324 * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
325 output asm thunks for -dx.
327 2022-07-30 Jakub Jelinek <jakub@redhat.com>
329 Backported from master:
330 2022-07-01 Jakub Jelinek <jakub@redhat.com>
333 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
334 emitting element for shift or if shift is 0 first element after start.
335 (wide_int_cc_tests): Add tests for equivalency of wi::mask and
336 wi::shifted_mask with 0 start.
338 2022-07-27 David Malcolm <dmalcolm@redhat.com>
340 * json.cc (string::print): Fix escaping of '\'.
342 2022-07-27 David Malcolm <dmalcolm@redhat.com>
344 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
347 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
349 Backported from master:
350 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
352 * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
353 duplicate backslashes.
355 2022-07-27 Richard Biener <rguenther@suse.de>
357 Backported from master:
358 2022-07-26 Richard Biener <rguenther@suse.de>
360 PR tree-optimization/106189
361 * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
362 Divide using offset_ints.
364 2022-07-27 Joseph Myers <joseph@codesourcery.com>
366 Backported from master:
367 2022-06-30 Joseph Myers <joseph@codesourcery.com>
370 * lto-wrapper.cc (find_option): Add argument start.
371 (merge_and_complain): Loop over existing_opt_index and
372 existing_opt2_index for Xassembler check. Update calls to
374 (find_and_merge_options): Add argument first to determine whether
375 to merge options with those passed in *opts.
376 (run_gcc): Update calls to find_and_merge_options.
378 2022-07-27 Andrew Pinski <apinski@marvell.com>
380 Backported from master:
381 2022-07-09 Andrew Pinski <apinski@marvell.com>
383 PR tree-optimization/106087
384 * tree-ssa-dce.cc (simple_dce_from_worklist): Check
385 to make sure the statement is only defining one operand.
387 2022-07-27 Tamar Christina <tamar.christina@arm.com>
389 Backported from master:
390 2022-07-08 Tamar Christina <tamar.christina@arm.com>
392 PR tree-optimization/106063
393 * match.pd: Do not apply pattern after veclower is not supported.
395 2022-07-27 Alexandre Oliva <oliva@adacore.com>
397 Backported from master:
398 2022-06-03 Alexandre Oliva <oliva@adacore.com>
400 PR tree-optimization/105665
401 PR tree-optimization/100810
402 * tree-ssa-loop-ivopts.cc
403 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
404 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
405 (find_ssa_undef): Check precomputed flag and intervening uses.
406 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
408 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
410 Backported from master:
411 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
413 * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
415 2022-07-19 Richard Biener <rguenther@suse.de>
417 Backported from master:
418 2022-07-19 Richard Biener <rguenther@suse.de>
421 * builtins.cc (get_memory_rtx): Compute alignment from
422 the original address and set MEM_OFFSET to unknown when
423 we create a MEM_EXPR from the base object of the address.
425 2022-07-19 Richard Biener <rguenther@suse.de>
427 Backported from master:
428 2022-07-01 Richard Biener <rguenther@suse.de>
430 PR tree-optimization/106131
431 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
432 zero when offsetting the read looking through an aggregate
435 2022-07-19 Richard Biener <rguenther@suse.de>
437 Backported from master:
438 2022-06-29 Richard Biener <rguenther@suse.de>
440 PR tree-optimization/106112
441 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
442 a constant operand according to its type.
444 2022-07-19 Richard Biener <rguenther@suse.de>
446 Backported from master:
447 2022-06-20 Richard Biener <rguenther@suse.de>
450 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
451 type of the prevailing comparison for the new comparison type.
452 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
453 to A < X && A >= Y folding.
455 2022-07-19 Richard Biener <rguenther@suse.de>
457 Backported from master:
458 2022-06-15 Richard Biener <rguenther@suse.de>
460 PR tree-optimization/105971
461 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
462 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
463 to leak less surprising alias results.
465 2022-07-19 Richard Biener <rguenther@suse.de>
467 Backported from master:
468 2022-06-15 Richard Biener <rguenther@suse.de>
470 PR tree-optimization/105969
471 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
472 by zero in overflow check.
474 2022-07-19 Richard Biener <rguenther@suse.de>
476 Backported from master:
477 2022-06-14 Richard Biener <rguenther@suse.de>
480 * match.pd (view_convert CONSTRUCTOR): Handle single-element
483 2022-07-19 Richard Biener <rguenther@suse.de>
485 Backported from master:
486 2022-06-14 Richard Biener <rguenther@suse.de>
488 PR tree-optimization/105946
489 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
490 Do not look at arguments not specified in the function call.
492 2022-07-19 Richard Biener <rguenther@suse.de>
494 Backported from master:
495 2022-07-11 Richard Biener <rguenthert@suse.de>
498 * config/i386/i386-options.cc (ix86_set_current_function):
499 Rebuild the target optimization node whenever necessary,
500 not only when the optimization node didn't change.
502 2022-07-14 Michael Meissner <meissner@linux.ibm.com>
504 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
505 not generate block copies with vector pair instructions if we are
506 tuning for power10. Back port from master branch.
508 2022-07-14 Surya Kumari Jangala <jskumari@linux.vnet.ibm.com>
510 Backported from master:
511 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
513 PR rtl-optimization/105041
514 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
516 2022-07-11 Martin Jambor <mjambor@suse.cz>
518 Backported from master:
519 2022-07-04 Martin Jambor <mjambor@suse.cz>
521 PR tree-optimization/105860
522 * tree-sra.cc (build_reconstructed_reference): Start expr
523 traversal only just below the outermost union.
525 2022-07-10 Xi Ruoyao <xry111@xry111.site>
527 Backported from master:
528 2022-07-10 Xi Ruoyao <xry111@xry111.site>
530 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
533 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
534 Uroš Bizjak <ubizjak@gmail.com>
537 * config/i386/i386.md (*<any_or>di3_doubleword): Split after
538 reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
539 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
541 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
543 Backported from master:
544 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
546 * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
547 Modify fp_sp_offset and gp_sp_offset's calculation method,
548 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
551 2022-07-04 Andrew MacLeod <amacleod@redhat.com>
553 PR tree-optimization/106114
554 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
555 statement operands instead of GORI cache.
557 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
558 Marek Polacek <polacek@redhat.com>
559 Segher Boessenkool <segher@kernel.crashing.org>
560 Kewen Lin <linkw@linux.ibm.com>
563 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
564 exact_log2 doesn't return -1 (or zero).
565 (plus_xor): New code iterator.
566 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
568 2022-07-04 Xi Ruoyao <xry111@xry111.site>
570 Backported from master:
571 2022-07-03 Xi Ruoyao <xry111@xry111.site>
572 Lulu Cheng <chenglulu@loongson.cn>
574 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
576 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
577 of TARGET_CHECK_ZERO_DIV.
578 (loongarch_output_division): Likewise.
579 * common/config/loongarch/loongarch-common.cc
580 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
581 * doc/invoke.texi: Update to match the new behavior.
583 2022-07-03 Roger Sayle <roger@nextmovesoftware.com>
586 * config/i386/i386.md (peephole2): Avoid generating pop %esp
587 when optimizing for size.
589 2022-07-02 Sergei Trofimovich <siarheit@google.com>
591 Backported from master:
592 2022-06-29 Sergei Trofimovich <siarheit@google.com>
595 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
597 2022-07-01 Vladimir Makarov <vmakarov@gcc.gnu.org>
599 Backported from master:
600 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
603 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
604 is special) for various scenarios.
606 2022-06-29 Richard Biener <rguenther@suse.de>
608 Backported from master:
609 2022-05-11 Richard Biener <rguenther@suse.de>
612 * opts.cc (finish_options): Also disable var-tracking if
613 !DWARF2_DEBUGGING_INFO.
615 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
617 Backported from master:
618 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
621 * config/loongarch/loongarch.cc (loongarch_build_integer):
622 Remove undefined behavior from code.
624 2022-06-28 Jakub Jelinek <jakub@redhat.com>
626 Backported from master:
627 2022-06-21 Jakub Jelinek <jakub@redhat.com>
629 PR rtl-optimization/106032
630 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
631 t may_trap_or_fault_p, even if it is cheap.
633 2022-06-28 Jakub Jelinek <jakub@redhat.com>
635 Backported from master:
636 2022-06-21 Jakub Jelinek <jakub@redhat.com>
639 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
640 temp to expand_operands if mode has been promoted.
642 2022-06-28 Xi Ruoyao <xry111@xry111.site>
644 Backported from master:
645 2022-06-28 Xi Ruoyao <xry111@xry111.site>
648 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
649 $r13 from SIBCALL_REGS.
650 * config/loongarch/loongarch.cc (loongarch_regno_to_class):
651 Change $r13 to JIRL_REGS.
653 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
655 Backported from master:
656 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
658 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
659 condition to avoid overflow.
661 2022-06-23 Martin Liska <mliska@suse.cz>
663 Backported from master:
664 2022-06-23 Martin Liska <mliska@suse.cz>
667 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
668 Skip variables with body_removed.
670 2022-06-23 Siddhesh Poyarekar <siddhesh@gotplt.org>
672 Backported from master:
673 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
675 PR tree-optimization/105736
676 * tree-object-size.cc (addr_object_size): Return size_unknown
677 when object offset computation returns an error.
679 2022-06-23 Richard Sandiford <richard.sandiford@arm.com>
681 Backported from master:
682 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
684 PR tree-optimization/105254
685 PR tree-optimization/105940
687 * config/aarch64/aarch64.cc
688 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
689 loop_vec_info as argument. Restrict the unroll factor to values
691 (aarch64_vector_costs::finish_cost): Update call accordingly.
693 2022-06-23 Kewen Lin <linkw@linux.ibm.com>
695 Backported from master:
696 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
698 PR tree-optimization/105940
699 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
700 applying suggested_unroll_factor after start_over.
702 2022-06-21 H.J. Lu <hjl.tools@gmail.com>
704 Backported from master:
705 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
708 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
709 false if PIC register is used when calling ifunc functions.
711 2022-06-20 Uros Bizjak <ubizjak@gmail.com>
713 Backported from master:
714 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
717 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
718 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
719 (alpha_store_data_bypass_p_1): Ditto.
720 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
721 of generic store_data_bypass_p.
722 (ev4_ist_c): Remove insn reservation.
724 2022-06-20 Uros Bizjak <ubizjak@gmail.com>
726 Backported from master:
727 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
730 * config/i386/i386.cc (ix86_function_arg): Assert that
731 the mode of pointer argumet is equal to ptr_mode, not Pmode.
733 2022-06-19 Jakub Jelinek <jakub@redhat.com>
735 Backported from master:
736 2022-06-18 Jakub Jelinek <jakub@redhat.com>
739 * varasm.cc (narrowing_initializer_constant_valid_p): Check
740 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
741 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
743 2022-06-19 Jakub Jelinek <jakub@redhat.com>
745 Backported from master:
746 2022-06-16 Jakub Jelinek <jakub@redhat.com>
749 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
750 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
751 as last argument to the internal functions.
752 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
753 extra call argument to ifns. If expand_atomic_fetch_op fails for the
754 lhs == NULL_TREE case, fall through into the optab code with
755 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
756 fails, construct a CALL_EXPR and expand that.
757 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
758 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
761 2022-06-19 Jan Hubicka <jh@suse.cz>
763 Backported from master:
764 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
767 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
769 2022-06-16 Richard Earnshaw <rearnsha@arm.com>
771 Backported from master:
772 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
775 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
776 to first_reg and second_reg respectively. Initialize them correctly
777 when generating big-endian code.
779 2022-06-15 Simon Wright <simon@pushface.org>
781 Backported from master:
782 2022-06-12 Simon Wright <simon@pushface.org>
785 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
786 version is darwin20 (macOS 11) or greater, truncate the version to the
789 2022-06-15 Mark Mentovai <mark@mentovai.com>
791 Backported from master:
792 2022-06-12 Mark Mentovai <mark@mentovai.com>
794 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
796 2022-06-15 Iain Sandoe <iain@sandoe.co.uk>
798 Backported from master:
799 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
802 * config/darwin.h: Move versions-specific handling of multiply_defined
803 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
805 2022-06-15 liuhongt <hongtao.liu@intel.com>
808 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
811 2022-06-14 H.J. Lu <hjl.tools@gmail.com>
813 Backported from master:
814 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
816 * common/config/i386/cpuinfo.h (get_available_features): Require
817 AVX for F16C and VAES.
819 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
821 Backported from master:
822 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
824 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
825 (-1 << 31) for the single-bit case, when operating on (1 << 31)
827 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
828 any single-bit value, moving the special case for (1 << 31) to
829 riscv_build_integer_1 (in riscv.c).
831 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
833 Backported from master:
834 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
837 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
838 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
839 'gen_highpart' bitwise semantics and fix order of highpart and
840 lowpart depending on target endianness.
842 2022-06-08 liuhongt <hongtao.liu@intel.com>
845 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
848 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
850 Backported from master:
851 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
852 Manolis Tsamis <manolis.tsamis@vrull.eu>
854 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
855 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
856 * doc/sourcebuild.texi: add documentation for RISC-V specific
859 2022-06-02 Richard Biener <rguenther@suse.de>
861 Backported from master:
862 2022-06-01 Richard Biener <rguenther@suse.de>
864 PR tree-optimization/105786
865 * tree-loop-distribution.cc
866 (loop_distribution::transform_reduction_loop): Only do strlen
867 replacement for integer type reductions.
869 2022-06-02 Richard Biener <rguenther@suse.de>
871 Backported from master:
872 2022-05-27 Richard Biener <rguenther@suse.de>
874 PR tree-optimization/105726
875 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
876 Constrain array-of-flexarray case more.
878 2022-06-02 Richard Biener <rguenther@suse.de>
880 Backported from master:
881 2022-05-24 Richard Biener <rguenther@suse.de>
884 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
886 (extract_bit_field_1): Pass down the mode of op0 to
887 extract_bit_field_as_subreg.
889 2022-06-02 Martin Sebor <msebor@redhat.com>
891 Backported from master:
892 2022-05-24 Martin Sebor <msebor@redhat.com>
893 Richard Biener <rguenther@suse.de>
896 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
897 (get_origin_and_offset_r): Remove null handling. Handle variable array
899 (get_origin_and_offset): Handle null argument here. Simplify.
900 (alias_offset): Update comment.
901 * pointer-query.cc (field_at_offset): Update comment. Handle members
902 of variable-length types.
904 2022-06-02 Vineet Gupta <vineetg@rivosinc.com>
906 Backported from master:
907 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
909 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
911 (rocket_tune_info): Add default fmv_cost 8.
912 (sifive_7_tune_info): Ditto.
913 (thead_c906_tune_info): Ditto.
914 (optimize_size_tune_info): Ditto.
915 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
917 2022-05-30 Martin Jambor <mjambor@suse.cz>
919 Backported from master:
920 2022-05-27 Martin Jambor <mjambor@suse.cz>
923 * ipa-prop.cc (propagate_controlled_uses): Check type of the
924 constant before adding a LOAD reference.
926 2022-05-30 Jakub Jelinek <jakub@redhat.com>
928 Backported from master:
929 2022-05-27 Jakub Jelinek <jakub@redhat.com>
932 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
933 to (X &) z + w if -fsanitize=null during GENERIC folding.
935 2022-05-30 Jakub Jelinek <jakub@redhat.com>
937 Backported from master:
938 2022-05-25 Jakub Jelinek <jakub@redhat.com>
941 * asan.cc (has_stmt_been_instrumented_p): For assignments which
942 are both stores and loads, return true only if both destination
943 and source have been instrumented.
945 2022-05-30 Jakub Jelinek <jakub@redhat.com>
947 Backported from master:
948 2022-05-19 Jakub Jelinek <jakub@redhat.com>
951 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
952 doesn't have pointer or reference type.
954 2022-05-26 Simon Cook <simon.cook@embecosm.com>
956 Backported from master:
957 2022-05-25 Simon Cook <simon.cook@embecosm.com>
959 * config/riscv/arch-canonicalize: Only add mafd extension if
962 2022-05-26 Kito Cheng <kito.cheng@sifive.com>
964 Backported from master:
965 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
967 * config/riscv/arch-canonicalize: Handle g correctly.
969 2022-05-24 Qing Zhao <qing.zhao@oracle.com>
971 Backported from master:
972 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
975 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
976 as a generic MMX mode instead of V4HImode.
977 (zero_all_mm_registers): Use SET to zero instead of MOV for
978 zeroing scratch registers.
979 (ix86_zero_call_used_regs): Likewise.
981 2022-05-24 Bruno Haible <bruno@clisp.org>
983 Backported from master:
984 2022-05-24 Bruno Haible <bruno@clisp.org>
987 * doc/install.texi (Configuration): Add more details about --with-zstd.
988 Document --with-zstd-include and --with-zstd-lib
990 2022-05-24 Martin Liska <mliska@suse.cz>
992 Backported from master:
993 2022-05-11 Martin Liska <mliska@suse.cz>
996 * doc/install.texi: Document the configure option --with-zstd.
998 2022-05-20 Peter Bergner <bergner@linux.ibm.com>
1000 Backported from master:
1001 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
1002 Segher Boessenkool <segher@kernel.crashing.org>
1005 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
1006 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
1007 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
1008 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
1009 Update other operands accordingly.
1011 2022-05-20 Richard Biener <rguenther@suse.de>
1013 Backported from master:
1014 2022-05-04 Richard Biener <rguenther@suse.de>
1016 PR tree-optimization/103116
1017 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
1018 case we need peeling for gaps even though GROUP_GAP is zero.
1020 2022-05-19 Richard Biener <rguenther@suse.de>
1022 Backported from master:
1023 2022-05-17 Richard Biener <rguenther@suse.de>
1025 PR tree-optimization/105618
1026 * tree-ssa-sink.cc (statement_sink_location): For virtual
1027 PHI uses ignore those defining the used virtual operand.
1029 2022-05-19 Richard Biener <rguenther@suse.de>
1031 Backported from master:
1032 2022-05-12 Richard Biener <rguenther@suse.de>
1034 PR rtl-optimization/105577
1035 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
1036 edges before running fast DCE via df_analyze.
1038 2022-05-19 Richard Biener <rguenther@suse.de>
1040 Backported from master:
1041 2022-05-12 Richard Biener <rguenther@suse.de>
1043 PR tree-optimization/105562
1044 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
1045 against all CLOBBER defs if there's not an obvious must-alias
1046 and we are not doing redundant store elimination.
1047 (vn_walk_cb_data::redundant_store_removal_p): New field.
1048 (vn_reference_lookup_pieces): Initialize it.
1049 (vn_reference_lookup): Add argument to specify if we are
1050 doing redundant store removal.
1051 (eliminate_dom_walker::eliminate_stmt): Specify we do.
1052 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
1054 2022-05-19 Richard Biener <rguenther@suse.de>
1056 Backported from master:
1057 2022-05-11 Richard Biener <rguenther@suse.de>
1059 PR rtl-optimization/105559
1060 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
1061 for non-debug insns.
1063 2022-05-19 Richard Biener <rguenther@suse.de>
1065 Backported from master:
1066 2022-05-10 Richard Biener <rguenther@suse.de>
1068 PR middle-end/105537
1069 * toplev.cc (process_options): Move flag_var_tracking
1071 * opts.cc (finish_options): ... here.
1073 2022-05-19 Richard Biener <rguenther@suse.de>
1075 Backported from master:
1076 2022-05-10 Richard Biener <rguenther@suse.de>
1078 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
1079 API with !GENERATOR_FILE.
1080 * opts.cc (global_options): Poison.
1081 (global_options_set): Likewise.
1082 (finish_options): Refer to options via opts.
1084 2022-05-19 Richard Biener <rguenther@suse.de>
1086 Backported from master:
1087 2022-04-29 Richard Biener <rguenther@suse.de>
1089 PR tree-optimization/105431
1090 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
1091 (powi_as_mults): Use absu_hwi.
1092 (gimple_expand_builtin_powi): Remove now pointless n != -n
1095 2022-05-18 Andrew MacLeod <amacleod@redhat.com>
1097 PR tree-optimization/105458
1098 * value-relation.cc (path_oracle::register_relation): Merge, then check
1101 2022-05-16 Sebastian Pop <spop@amazon.com>
1104 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
1106 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
1107 memmodel_from_int and handle MEMMODEL_SYNC_*.
1108 (DEF0): Add __aarch64_*_sync functions.
1110 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
1112 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
1113 instead of a bitwise negation.
1114 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
1116 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
1118 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
1119 is the same on the LHS and RHS before rewriting one with the model
1122 2022-05-13 Alexandre Oliva <oliva@adacore.com>
1124 Backported from master:
1125 2022-05-13 Alexandre Oliva <oliva@adacore.com>
1127 PR rtl-optimization/105455
1128 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
1129 probabilities for newly-conditional edges.
1131 2022-05-11 Martin Jambor <mjambor@suse.cz>
1133 Backported from master:
1134 2022-04-29 Martin Jambor <mjambor@suse.cz>
1137 * cgraph.cc (cgraph_node::remove): Release body of the node this
1138 is clone_of if appropriate.
1140 2022-05-10 Jakub Jelinek <jakub@redhat.com>
1142 Backported from master:
1143 2022-05-10 Jakub Jelinek <jakub@redhat.com>
1145 PR tree-optimization/105528
1146 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
1147 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
1149 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
1152 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
1153 true only for 8-byte vector modes.
1155 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
1157 Backported from master:
1158 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
1161 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
1162 and -mpower10-fusion options for inlining purposes.
1164 2022-05-06 Richard Biener <rguenther@suse.de>
1166 Backported from master:
1167 2022-04-29 Richard Biener <rguenther@suse.de>
1169 PR middle-end/105376
1170 * tree.cc (build_real): Special case dconst* arguments
1171 for decimal floating point types.
1173 2022-05-06 Richard Biener <rguenther@suse.de>
1175 Backported from master:
1176 2022-05-05 Richard Biener <rguenther@suse.de>
1178 PR tree-optimization/105484
1179 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
1180 whether the CFG changed.
1181 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
1183 2022-05-06 Richard Biener <rguenther@suse.de>
1185 Backported from master:
1186 2022-05-03 Richard Biener <rguenther@suse.de>
1188 PR middle-end/105461
1189 * opts.cc (finish_options): Match the condition to
1190 disable flag_var_tracking to that of process_options.
1192 2022-05-06 Richard Biener <rguenther@suse.de>
1194 Backported from master:
1195 2022-05-03 Richard Biener <rguenther@suse.de>
1197 * opts.cc: #undef OPTIONS_SET_P.
1198 (finish_options): Use opts_set instead of OPTIONS_SET_P.
1200 2022-05-06 Richard Biener <rguenther@suse.de>
1202 Backported from master:
1203 2022-05-02 Richard Biener <rguenther@suse.de>
1205 PR tree-optimization/105437
1206 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
1207 case where last_stmt alters control flow.
1209 2022-05-06 Richard Biener <rguenther@suse.de>
1211 Backported from master:
1212 2022-05-03 Richard Biener <rguenther@suse.de>
1214 PR tree-optimization/105394
1215 * tree-vect-generic.cc (expand_vector_condition): Adjust
1216 comp_width for non-integer mode masks as well.
1218 2022-05-06 Release Manager
1220 * GCC 12.1.0 released.
1222 2022-05-02 Jakub Jelinek <jakub@redhat.com>
1224 Backported from master:
1225 2022-05-02 Jakub Jelinek <jakub@redhat.com>
1227 * system.h: Include initializer_list.
1229 2022-04-28 Jakub Jelinek <jakub@redhat.com>
1232 * cgraph.cc (cgraph_node::verify_node): Don't verify
1233 semantic_interposition flag against
1234 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
1236 2022-04-28 Jakub Jelinek <jakub@redhat.com>
1239 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
1240 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
1243 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
1245 * doc/install.texi (Configuration): Remove misleading text
1246 around LE PowerPC Linux multilibs.
1248 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1251 * doc/install.texi (Tools/packages necessary for building GCC)
1252 (GDC): Document libphobos requirement.
1253 (Host/target specific installation notes for GCC, *-*-solaris2*):
1254 Document libphobos and GDC specifics.
1256 2022-04-28 Richard Biener <rguenther@suse.de>
1258 PR tree-optimization/105219
1259 * tree-vect-loop.cc (vect_transform_loop): Disable
1260 special code narrowing the vectorized epilogue max
1261 iterations when peeling for alignment or gaps was in effect.
1263 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
1265 * config/loongarch/loongarch.cc
1266 (loongarch_flatten_aggregate_field): Ignore empty fields for
1269 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
1271 * config/loongarch/loongarch.md: Add fdiv define_expand template,
1272 then generate floating-point division and floating-point reciprocal
1275 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
1277 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
1278 to PLV instruction templates.
1280 2022-04-27 Richard Biener <rguenther@suse.de>
1282 PR middle-end/104492
1283 * gimple-ssa-warn-access.cc
1284 (pass_waccess::warn_invalid_pointer): Exclude equality compare
1285 diagnostics for all kind of invalidations.
1286 (pass_waccess::check_dangling_uses): Fix post-dominator query.
1287 (pass_waccess::check_pointer_uses): Likewise.
1289 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
1292 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
1294 * config/s390/s390.cc (s390_single_field_struct_p): New function.
1295 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
1296 (s390_function_arg_float): Likewise.
1298 2022-04-27 Jakub Jelinek <jakub@redhat.com>
1301 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
1302 where offset is bigger than off but smaller than m_prev_offset + 32
1303 bits by pushing one or more 0 bytes. Sink the
1304 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
1305 all cases to the end of the function.
1307 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
1310 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
1313 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
1315 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
1316 data-share memory exhausted" error more verbose.
1318 2022-04-26 Martin Liska <mliska@suse.cz>
1321 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
1322 (run_gcc): Parse OPT_fdiagnostics_urls_.
1323 (main): Initialize global_dc.
1325 2022-04-26 Jakub Jelinek <jakub@redhat.com>
1327 PR rtl-optimization/105314
1328 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
1329 operand is equal to if_info->x, instead use the non-zero operand
1330 as one of the operands of AND with if_info->x as target.
1332 2022-04-26 Jakub Jelinek <jakub@redhat.com>
1334 PR tree-optimization/105374
1335 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
1336 !fold_convertible_p rather than assuming fold_convert must succeed.
1338 2022-04-26 Jakub Jelinek <jakub@redhat.com>
1341 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
1342 el_mode == DFmode ? double_type_node : float_type_node instead of
1343 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
1345 2022-04-25 David Malcolm <dmalcolm@redhat.com>
1348 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
1349 the location of new_stmt in all places that don't already set it,
1350 whether explicitly, or via a call to gsi_replace.
1352 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
1354 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
1356 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
1358 PR tree-optimization/105276
1359 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
1360 existing global range with calculated value.
1362 2022-04-25 Richard Biener <rguenther@suse.de>
1364 PR tree-optimization/105368
1365 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
1367 2022-04-25 Richard Biener <rguenther@suse.de>
1369 PR tree-optimization/100810
1370 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
1371 (find_ssa_undef): New function.
1372 (add_candidate_1): Avoid adding derived candidates with
1373 undefined SSA names and mark the original ones.
1374 (determine_group_iv_cost_generic): Reject rewriting
1375 uses with a different IV when that involves undefined SSA names.
1377 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
1380 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
1381 bsd_libc_has_function.
1382 * targhooks.cc (bsd_libc_has_function): New function.
1383 Expand the supported math functions to inclue C99 libm.
1384 * targhooks.h (bsd_libc_has_function): New Prototype.
1386 2022-04-25 Richard Biener <rguenther@suse.de>
1388 PR rtl-optimization/105231
1389 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
1390 with landing pad > 0 is from i3. Put any REG_EH_REGION note
1391 on i3 or drop it if the insn can not trap.
1392 (try_combine): Ensure that we can merge REG_EH_REGION notes
1393 with non-call exceptions. Ensure we are not splitting a
1394 trapping part of an insn with non-call exceptions when there
1395 is any REG_EH_REGION note to preserve.
1397 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
1400 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
1401 Add parentheses for parameters and djust format.
1402 (_mm512_mask_scalef_round_pd): Ditto.
1403 (_mm512_maskz_scalef_round_pd): Ditto.
1404 (_mm512_scalef_round_ps): Ditto.
1405 (_mm512_mask_scalef_round_ps): Ditto.
1406 (_mm512_maskz_scalef_round_ps): Ditto.
1407 (_mm_scalef_round_sd): Use _mm_undefined_pd.
1408 (_mm_scalef_round_ss): Use _mm_undefined_ps.
1409 (_mm_mask_scalef_round_sd): New macro.
1410 (_mm_mask_scalef_round_ss): Ditto.
1411 (_mm_maskz_scalef_round_sd): Ditto.
1412 (_mm_maskz_scalef_round_ss): Ditto.
1414 2022-04-23 Jakub Jelinek <jakub@redhat.com>
1417 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
1418 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
1421 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
1424 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
1425 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
1426 (pack<mode>_hard for FMOVE128): ... this...
1427 (pack<mode>_soft for FMOVE128): ... and this.
1429 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
1431 * doc/extend.texi: Correct "This" to "These".
1433 2022-04-22 Jakub Jelinek <jakub@redhat.com>
1435 PR rtl-optimization/105333
1436 * rtlanal.cc (replace_rtx): Use simplify_subreg or
1437 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
1440 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
1444 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
1445 the "Z" alternatives in {l,st}{f,xs}iwzx.
1446 (zero_extendhi<mode>2 for EXTHI): Ditto.
1447 (zero_extendsi<mode>2 for EXTSI): Ditto.
1448 (*movsi_internal1): Ditto.
1449 (*mov<mode>_internal1 for QHI): Ditto.
1450 (movsd_hardfloat): Ditto.
1452 2022-04-21 Martin Liska <mliska@suse.cz>
1454 * configure.ac: Enable compressed debug sections for mold
1456 * configure: Regenerate.
1458 2022-04-21 Jakub Jelinek <jakub@redhat.com>
1461 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
1464 2022-04-20 Richard Biener <rguenther@suse.de>
1466 PR tree-optimization/104912
1467 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
1468 the cost model check to a separate BB to make sure it is
1469 checked first and not combined with other version checks.
1471 2022-04-20 Richard Biener <rguenther@suse.de>
1473 PR tree-optimization/105312
1474 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
1475 VCOND and VCONDU for EQ and NE.
1477 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
1480 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
1481 poly_offset_int to avoid overflow.
1482 (modref_access_node::update2): likewise.
1484 2022-04-20 Jakub Jelinek <jakub@redhat.com>
1487 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
1488 to opt_for_fn (decl, flag_semantic_interposition).
1489 * cgraphclones.cc (cgraph_node::create_clone): Copy over
1490 semantic_interposition flag.
1492 2022-04-19 Sergei Trofimovich <siarheit@google.com>
1494 PR gcov-profile/105282
1495 * value-prof.cc (stream_out_histogram_value): Allow negative counts
1496 on HIST_TYPE_INDIR_CALL.
1498 2022-04-19 Jakub Jelinek <jakub@redhat.com>
1501 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
1502 use gen_raw_REG instead of gen_rtx_REG and copy over also
1503 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
1505 2022-04-19 Richard Biener <rguenther@suse.de>
1507 PR tree-optimization/104010
1508 PR tree-optimization/103941
1509 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
1510 we run into stmts in patterns continue walking those
1511 for uses outside of the vectorized region instead of
1512 marking the lane live.
1514 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
1516 * doc/install.texi <CRIS>: Remove references to removed websites and
1517 adjust for cris-*-elf being the only remaining toolchain.
1519 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
1521 * doc/invoke.texi <CRIS>: Remove references to options for removed
1522 subtarget cris-axis-linux-gnu and tweak wording accordingly.
1524 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
1526 * doc/install.texi (Specific): Adjust mingw-w64 download link.
1528 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
1530 * config/i386/smmintrin.h: Correct target pragma from sse4.1
1531 and sse4.2 to crc32 for crc32 intrinsics.
1533 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
1536 * ctfc.cc (ctf_dvd_ignore_insert): New function.
1537 (ctf_dvd_ignore_lookup): Likewise.
1538 (ctf_add_variable): Keep track of non-defining decl DIEs.
1539 (new_ctf_container): Initialize the new hash-table.
1540 (ctfc_delete_container): Empty hash-table.
1541 * ctfc.h (struct ctf_container): Add new hash-table.
1542 (ctf_dvd_ignore_lookup): New declaration.
1543 (ctf_add_variable): Add additional argument.
1544 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
1545 record for non-defining decl for which a defining decl exists
1547 (ctf_preprocess): Defer updating the number of global objts
1549 (output_ctf_header): Use ctfc_vars_list_count as some CTF
1550 variables may not make it to the final output.
1551 (output_ctf_vars): Likewise.
1552 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
1553 if this is known to be a non-defining decl DIE.
1555 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
1557 * ctfc.h (struct ctf_container): Introduce a new member.
1558 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
1561 2022-04-14 Jakub Jelinek <jakub@redhat.com>
1564 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
1565 or rotates by VOIDmode constant integer shift count use word_mode
1566 for the operand if int_mode is narrower than word.
1568 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
1570 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
1571 (s390_get_unit_mask): Likewise.
1572 (s390_is_fpd): Likewise.
1573 (s390_is_fxd): Likewise.
1574 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
1575 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
1577 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
1579 * config/s390/3931.md: New file.
1581 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
1583 PR tree-optimization/105254
1584 * config/aarch64/aarch64.cc
1585 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
1586 loop_vec_info as argument. Restrict the unroll factor to values
1588 (aarch64_vector_costs::finish_cost): Update call accordingly.
1590 2022-04-13 Richard Biener <rguenther@suse.de>
1592 PR tree-optimization/105263
1593 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
1594 negates in multiplication chains with DFP.
1596 2022-04-13 Jakub Jelinek <jakub@redhat.com>
1598 PR middle-end/105253
1599 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
1600 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
1601 comparisons or tree_nop_conversion_p checks.
1603 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
1606 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
1607 Add missing set to target_val at pause label.
1609 2022-04-13 Jakub Jelinek <jakub@redhat.com>
1612 * attribs.cc (decl_attributes): Don't set
1613 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
1616 2022-04-13 Richard Biener <rguenther@suse.de>
1618 PR tree-optimization/105250
1619 * fold-const.cc (fold_convertible_p): Revert
1620 r12-7979-geaaf77dd85c333, instead check for size equality
1621 of the vector types involved.
1623 2022-04-13 Richard Biener <rguenther@suse.de>
1626 2022-04-13 Richard Biener <rguenther@suse.de>
1628 PR tree-optimization/104912
1629 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
1630 the cost model check to a separate BB to make sure it is
1631 checked first and not combined with other version checks.
1633 2022-04-13 Richard Biener <rguenther@suse.de>
1635 PR tree-optimization/104912
1636 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
1637 the cost model check to a separate BB to make sure it is
1638 checked first and not combined with other version checks.
1640 2022-04-13 Jakub Jelinek <jakub@redhat.com>
1642 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
1644 2022-04-12 Antoni Boucher <bouanto@zoho.com>
1647 * reginfo.cc: New functions (clear_global_regs_cache,
1648 reginfo_cc_finalize) to avoid an issue where compiling the same
1649 code multiple times gives an error about assigning the same
1650 register to 2 global variables.
1651 * rtl.h: New function (reginfo_cc_finalize).
1652 * toplev.cc: Call it.
1654 2022-04-12 Antoni Boucher <bouanto@zoho.com>
1657 * toplev.cc: Call the new function tree_cc_finalize in
1659 * tree.cc: New functions (clear_nonstandard_integer_type_cache
1660 and tree_cc_finalize) to clear the cache of non-standard integer
1661 types to avoid having issues with some optimizations of
1662 bitcast where the SSA_NAME will have a size of a cached
1663 integer type that should have been invalidated, causing a
1664 comparison of integer constant to fail.
1665 * tree.h: New function (tree_cc_finalize).
1667 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
1670 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
1671 * config/nvptx/nvptx.opt (misa): Adjust comment.
1673 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
1676 2022-03-03 Tom de Vries <tdevries@suse.de>
1678 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
1680 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
1683 2022-03-31 Tom de Vries <tdevries@suse.de>
1685 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
1687 2022-04-12 Richard Biener <rguenther@suse.de>
1690 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
1691 include local escaped memory as obviously necessary stores.
1693 2022-04-12 Richard Biener <rguenther@suse.de>
1695 PR tree-optimization/105235
1696 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
1697 return whether the CFG changed.
1698 (execute_cse_sincos_1): Adjust.
1700 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
1703 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
1704 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
1705 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
1706 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
1707 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
1708 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
1709 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
1711 2022-04-12 Richard Biener <rguenther@suse.de>
1713 PR tree-optimization/105232
1714 * tree.cc (component_ref_size): Bail out for too large
1715 or non-constant sizes.
1717 2022-04-12 Richard Biener <rguenther@suse.de>
1719 PR tree-optimization/105226
1720 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
1721 we can split the exit of an outer loop we choose to version.
1723 2022-04-12 Jakub Jelinek <jakub@redhat.com>
1725 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
1726 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
1727 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
1728 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
1729 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
1731 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
1733 2022-04-12 Jakub Jelinek <jakub@redhat.com>
1736 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
1737 do_pending_stack_adjust.
1739 2022-04-12 Jakub Jelinek <jakub@redhat.com>
1741 PR rtl-optimization/105211
1742 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
1743 fails for TREE_TYPE (arg), retry it with
1744 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
1745 fails, emit call normally.
1747 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
1749 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
1750 * config.gcc: Add z16 as march/mtune switch.
1751 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
1752 Recognize z16 with -march=native.
1753 * config/s390/s390-opts.h (enum processor_type): Rename
1754 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
1755 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
1756 (PROCESSOR_3931_Z16): ... throughout the file.
1757 (s390_processor processor_table): Add z16 as cpu string.
1758 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
1760 (TARGET_CPU_ARCH14): Rename to ...
1761 (TARGET_CPU_Z16): ... this.
1762 (TARGET_CPU_ARCH14_P): Rename to ...
1763 (TARGET_CPU_Z16_P): ... this.
1764 (TARGET_ARCH14): Rename to ...
1765 (TARGET_Z16): ... this.
1766 (TARGET_ARCH14_P): Rename to ...
1767 (TARGET_Z16_P): ... this.
1768 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
1769 check TARGET_Z16 instead of TARGET_ARCH14.
1770 * config/s390/s390.opt: Add z16 to processor_type.
1771 * doc/invoke.texi: Document z16 and arch14.
1773 2022-04-12 chenglulu <chenglulu@loongson.cn>
1775 * config/loongarch/loongarch.cc: Fix bug for
1776 tmpdir-g++.dg-struct-layout-1/t033.
1778 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
1781 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
1782 to longcall functions.
1784 2022-04-11 Jason Merrill <jason@redhat.com>
1786 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
1788 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
1792 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
1794 2022-04-11 Jakub Jelinek <jakub@redhat.com>
1796 PR tree-optimization/105218
1797 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
1798 more than one predecessor or phi's bb more than 2 predecessors,
1799 reset phi result uses instead of adding a debug temp.
1801 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
1804 * config.gcc: Pass -misa-spec to arch-canonicalize and
1806 * config/riscv/arch-canonicalize: Adding -misa-spec option.
1807 (SUPPORTED_ISA_SPEC): New.
1808 (arch_canonicalize): New argument `isa_spec`.
1809 Handle multiple ISA spec versions.
1810 * config/riscv/multilib-generator: Adding -misa-spec option.
1812 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
1814 * config/riscv/arch-canonicalize: Add TODO item.
1815 (IMPLIED_EXT): Sync.
1816 (arch_canonicalize): Checking until no change.
1818 2022-04-11 Tamar Christina <tamar.christina@arm.com>
1821 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
1824 2022-04-11 Jason Merrill <jason@redhat.com>
1827 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
1830 2022-04-11 Jakub Jelinek <jakub@redhat.com>
1832 PR tree-optimization/104639
1833 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
1834 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
1837 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
1839 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
1840 sign bit of the source ends up in CC.
1842 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
1845 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
1848 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
1850 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
1851 nondeterministic and side_effects flags.
1853 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
1856 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
1857 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
1858 (TARGET_CPU_MASK): Likewise.
1859 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
1860 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
1861 (aarch64_get_arch): Likewise.
1862 (aarch64_override_options): Use TARGET_CPU_NBITS.
1864 2022-04-08 Richard Biener <rguenther@suse.de>
1866 PR tree-optimization/105198
1867 * tree-predcom.cc (find_looparound_phi): Check whether
1868 the found memory location of the entry value is clobbered
1869 inbetween the value we want to use and loop entry.
1871 2022-04-08 Jakub Jelinek <jakub@redhat.com>
1873 PR tree-optimization/105189
1874 * fold-const.cc (make_range_step): Fix up handling of
1875 (unsigned) x +[low, -] ranges for signed x if low fits into
1878 2022-04-08 Richard Biener <rguenther@suse.de>
1880 PR tree-optimization/105175
1881 * tree-vect-stmts.cc (vectorizable_operation): Suppress
1882 -Wvector-operation-performance if using emulated vectors.
1883 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
1884 -Wvector-operation-performance when suppressed.
1885 (expand_vector_parallel): Likewise.
1886 (expand_vector_comparison): Likewise.
1887 (expand_vector_condition): Likewise.
1888 (lower_vec_perm): Likewise.
1889 (expand_vector_conversion): Likewise.
1891 2022-04-07 Tamar Christina <tamar.christina@arm.com>
1894 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
1895 (aarch64_general_init_builtins): Move LS64 code.
1896 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
1898 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
1899 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
1901 2022-04-07 Richard Biener <rguenther@suse.de>
1902 Jan Hubicka <hubicka@ucw.cz>
1905 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
1906 ref_may_alias_global_p, ref_may_alias_global_p,
1907 stmt_may_clobber_global_p, pt_solution_includes_global): Add
1908 bool parameters indicating whether escaped locals should be
1910 * tree-ssa-structalias.cc (pt_solution_includes_global):
1911 When the new escaped_nonlocal_p flag is true also consider
1912 pt->vars_contains_escaped.
1913 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
1914 Pass down new escaped_nonlocal_p flag.
1915 (ref_may_alias_global_p): Likewise.
1916 (stmt_may_clobber_global_p): Likewise.
1917 (ref_may_alias_global_p_1): Likewise. For decls also
1918 query the escaped solution if true.
1919 (ref_may_access_global_memory_p): Remove.
1920 (modref_may_conflict): Use ref_may_alias_global_p with
1921 escaped locals considered global.
1922 (ref_maybe_used_by_stmt_p): Adjust.
1923 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
1925 * tree-ssa-dse.cc (dse_classify_store): Likewise.
1926 * trans-mem.cc (thread_private_new_memory): Likewise, but
1927 consider escaped locals global.
1928 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
1930 2022-04-07 Richard Biener <rguenther@suse.de>
1932 PR tree-optimization/105185
1933 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
1936 2022-04-07 Tamar Christina <tamar.christina@arm.com>
1939 * config/aarch64/aarch64-simd.md
1940 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
1941 (reduc_plus_scal_<mode>): ... This.
1942 (reduc_plus_scal_v4sf): Moved.
1943 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
1944 (reduc_plus_scal_v2si): ... This.
1946 2022-04-07 Jakub Jelinek <jakub@redhat.com>
1948 PR tree-optimization/102586
1949 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
1951 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
1952 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
1953 * gimple-fold.cc (clear_padding_type): Use ftype instead of
1954 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
1955 name try the lang_hooks.types.classtype_as_base langhook and
1956 if it returns non-NULL, use that instead of ftype for recursive call.
1958 2022-04-07 Jakub Jelinek <jakub@redhat.com>
1960 PR tree-optimization/105150
1961 * tree.cc (tree_builtin_call_types_compatible_p): New function.
1962 (get_call_combined_fn): Use it.
1964 2022-04-07 Richard Biener <rguenther@suse.de>
1966 PR middle-end/105165
1967 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
1970 2022-04-07 liuhongt <hongtao.liu@intel.com>
1972 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
1974 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
1976 (<code><mode>3<mask_name>): Ditto.
1977 (*<code><mode>3<mask_name>): Ditto.
1978 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
1983 2022-04-06 Jakub Jelinek <jakub@redhat.com>
1985 PR rtl-optimization/104985
1986 * combine.cc (struct undo): Add where.regno member.
1987 (do_SUBST_MODE): Rename to ...
1988 (subst_mode): ... this. Change first argument from rtx * into int,
1989 operate on regno_reg_rtx[regno] and save regno into where.regno.
1990 (SUBST_MODE): Remove.
1991 (try_combine): Use subst_mode instead of SUBST_MODE, change first
1992 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
1993 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
1994 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
1995 instead of *undo->where.r.
1996 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
1997 argument from regno_reg_rtx[whatever] to whatever.
1999 2022-04-06 Jakub Jelinek <jakub@redhat.com>
2002 * config/sh/sh.opt (mdiv=): Add Save.
2004 2022-04-06 Martin Liska <mliska@suse.cz>
2007 * common.opt: Document properly based on what it does.
2008 * gcc.cc (display_help): Unify with what we have in common.opt.
2009 * opts.cc (common_handle_option): Do not print undocumented
2012 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
2014 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
2015 cxx17_empty_base_field_p fields and set an indicator.
2016 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
2017 (mips_function_value_1): Inform psABI change about C++17 empty
2020 2022-04-06 Jakub Jelinek <jakub@redhat.com>
2022 PR tree-optimization/105150
2023 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
2024 builtin_decl_explicit here...
2025 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
2028 2022-04-06 Richard Biener <rguenther@suse.de>
2030 PR tree-optimization/105173
2031 * tree-ssa-reassoc.cc (find_insert_point): Get extra
2032 insert_before output argument and compute it.
2033 (insert_stmt_before_use): Adjust.
2034 (rewrite_expr_tree): Likewise.
2036 2022-04-06 Richard Biener <rguenther@suse.de>
2039 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
2040 out for non-pointer arguments.
2042 2022-04-06 Richard Biener <rguenther@suse.de>
2044 PR tree-optimization/105163
2045 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
2048 2022-04-06 Jakub Jelinek <jakub@redhat.com>
2050 PR tree-optimization/105150
2051 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
2052 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
2053 preferrably on builtin_decl_explicit decl rather than fndecl.
2054 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
2055 gimple_builtin_call_types_compatible_p here.
2057 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
2059 PR tree-optimization/103761
2060 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
2061 the ncopies parameter with an slp_node parameter. Calculate the
2062 number of vectors based on it and vectype. Rename lambda to
2063 group_memory_nvectors.
2064 (vectorizable_store, vectorizable_load): Update calls accordingly.
2066 2022-04-06 Martin Liska <mliska@suse.cz>
2068 * doc/invoke.texi: Document it.
2070 2022-04-06 Richard Biener <rguenther@suse.de>
2072 PR tree-optimization/105148
2073 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
2074 2 and 3 of ARRAY_REFs.
2076 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
2078 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
2079 (*andnottf3): Replace with...
2080 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
2082 2022-04-06 Richard Biener <rguenther@suse.de>
2084 PR tree-optimization/105142
2085 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
2086 basic-block parameter.
2087 (maybe_fold_or_comparisons): Likewise.
2088 * gimple-fold.cc (follow_outer_ssa_edges): New.
2089 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
2090 when an outer condition basic-block is specified.
2091 (and_comparisons_1, and_var_with_comparison,
2092 and_var_with_comparison_1, or_comparisons_1,
2093 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
2094 down the outer condition basic-block.
2095 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
2096 basic-block of the outer condition.
2098 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
2101 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
2102 comparison codes UNLT/UNLE/UNGT/UNGE.
2104 2022-04-05 David Malcolm <dmalcolm@redhat.com>
2106 * doc/extend.texi (Common Function Attributes): Document that
2107 'access' does not imply 'nonnull'.
2109 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
2112 * config/i386/mmx.md (*movv2qi_internal):
2113 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
2115 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
2117 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
2118 define_expand and turn operands 0 and 1 from REGs to MEMs.
2119 (*aarch64_cpymemdi): New pattern.
2120 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
2121 from a REG to a MEM.
2122 (*aarch64_setmemdi): New pattern.
2123 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
2124 copy_to_mode_reg on all three registers. Replace the original
2125 MEM addresses rather than creating wild reads and writes.
2126 (aarch64_expand_setmem_mops): Likewise for the size and for the
2127 destination memory and address.
2129 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
2132 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
2133 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
2134 from aarch64_simd_switcher.
2135 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
2137 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
2138 (register_tuple_type): Add more asserts. Expect the alignment
2139 of the structure to be subject to flag_pack_struct and
2140 maximum_field_alignment. Set aarch64_simd_tuple_modes.
2141 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
2142 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
2143 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
2144 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
2145 while calling aarch64_init_simd_builtins.
2146 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
2147 (sve_switcher::~sve_switcher): Remove code now performed by
2148 aarch64_simd_switcher.
2150 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
2153 * config/aarch64/aarch64-sve-builtins.cc
2154 (function_resolver::infer_vector_or_tuple_type): Use error_n
2155 for "%d vectors" messages.
2157 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
2159 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
2160 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
2163 2022-04-05 Richard Biener <rguenther@suse.de>
2166 * passes.def (pass_walloca): Move early instance into
2167 pass_build_ssa_passes to make SSA form available.
2169 2022-04-05 liuhongt <hongtao.liu@intel.com>
2172 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
2174 (ix86_reorg): Call ix86_split_stlf_stall_load.
2175 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
2178 2022-04-05 Alexandre Oliva <oliva@adacore.com>
2180 * targhooks.cc (default_zero_call_used_regs): Attempt to group
2181 regs that the target refuses to use in their natural modes.
2182 (zcur_select_mode_rtx): New.
2183 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
2184 (hard_regno_max_nregs): Define.
2185 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
2187 2022-04-04 Alex Coplan <alex.coplan@arm.com>
2189 * doc/match-and-simplify.texi: Fix typos.
2191 2022-04-04 Jakub Jelinek <jakub@redhat.com>
2194 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
2195 only if configured with --enable-maintainer-mode, otherwise compare
2196 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
2197 if they differ, emit a message and fail.
2199 2022-04-04 Jakub Jelinek <jakub@redhat.com>
2202 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
2203 * config/aarch64/aarch64-tune.md: Regenerated.
2205 2022-04-04 Richard Biener <rguenther@suse.de>
2207 PR tree-optimization/105132
2208 * tree-vect-stmts.cc (vectorizable_operation): Check that
2209 the input vectors have the same number of elements.
2211 2022-04-04 Richard Biener <rguenther@suse.de>
2213 PR middle-end/105140
2214 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
2216 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
2219 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
2220 (delay slot descripts): Use different delay slot description when
2221 the insn as the "bbi" attribute.
2222 (bbi, bbin patterns): Set the bbi attribute to yes.
2224 2022-04-03 Jakub Jelinek <jakub@redhat.com>
2227 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
2228 using word as target for expand_simple_binop when doing ASHIFT and
2231 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
2233 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
2234 NULL before dereferencing it.
2236 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
2238 * config/i386/i386.cc (zero_all_st_registers): Return the value of
2240 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
2241 the return value of zero_all_st_registers.
2242 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
2243 * function.cc (gen_call_used_regs_seq): Add an assertion.
2244 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
2246 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
2249 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
2250 fields, and inform if it causes a psABI change.
2252 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
2255 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
2256 zero-width bit-fields and set up an indicator.
2257 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
2258 (mips_function_value_1): Diagnose when the presense of a C++
2259 zero-width bit-field changes function returning in GCC 12.
2261 2022-04-01 Jakub Jelinek <jakub@redhat.com>
2263 PR tree-optimization/104645
2264 * tree-ssa-phiopt.cc (value_replacement): If assign has
2265 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
2266 statement with constant evaluation.
2268 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
2270 * config/mips/mips.cc (mips_expand_prologue):
2271 IPL is 8bit for MCU ASE.
2273 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
2276 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
2279 (SET_FPSCR_RN): Likewise.
2280 (SET_FPSCR_DRN): Mark nosoft and no32bit.
2282 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
2284 * doc/options.texi (Option file format): Clarifications around
2285 option definition records' help texts.
2287 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
2289 * optc-gen.awk <END>: Fix "Multiple different help strings" error
2292 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
2294 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
2295 determine_suggested_unroll_factor and m_has_avg.
2296 (determine_suggested_unroll_factor): New function.
2297 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
2298 to set m_nosve_pattern.
2299 (aarch64_vector_costs::finish_costs): Use
2300 determine_suggested_unroll_factor.
2301 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
2302 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
2304 2022-03-31 Martin Jambor <mjambor@suse.cz>
2307 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
2308 (ipa_get_jf_ancestor_keep_null): New function.
2309 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
2311 (compute_complex_assign_jump_func): Pass false to keep_null
2312 parameter of ipa_set_ancestor_jf.
2313 (compute_complex_ancestor_jump_func): Pass true to keep_null
2314 parameter of ipa_set_ancestor_jf.
2315 (update_jump_functions_after_inlining): Carry over keep_null from the
2316 original ancestor jump-function or merge them.
2317 (ipa_write_jump_function): Stream keep_null flag.
2318 (ipa_read_jump_function): Likewise.
2319 (ipa_print_node_jump_functions_for_edge): Print the new flag.
2320 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
2321 member function known_nonzero_p.
2322 (ipcp_bits_lattice::known_nonzero_p): New.
2323 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
2325 (ipcp_bits_lattice::meet_with): Likewise.
2326 (propagate_bits_across_jump_function): Simplify. Pass true in
2327 drop_all_ones when it is necessary.
2328 (propagate_aggs_across_jump_function): Take care of keep_null
2330 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
2333 2022-03-31 Martin Jambor <mjambor@suse.cz>
2336 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
2337 which do not fit the known value_range.
2339 2022-03-31 Martin Jambor <mjambor@suse.cz>
2342 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
2343 always when an ADDR_EXPR constant is known to reach a load because
2344 of inlining, not just when removing an ADDR reference.
2346 2022-03-31 Richard Biener <rguenther@suse.de>
2348 PR tree-optimization/105109
2349 * tree-ssa.cc (execute_update_addresses_taken): Suppress
2350 diagnostics on the load of the other complex component.
2352 2022-03-31 Tom de Vries <tdevries@suse.de>
2354 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
2356 2022-03-31 Richard Biener <rguenther@suse.de>
2358 PR rtl-optimization/105091
2359 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
2362 2022-03-31 Richard Biener <rguenther@suse.de>
2365 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
2368 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
2369 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
2371 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
2373 * gcov-io.cc (gcov_read_string): Reword documentation comment.
2375 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
2377 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
2379 (NEG_V4SF): Likewise.
2380 (NEG_V4SI): Likewise.
2381 (NEG_V8HI): Likewise.
2382 (NEG_V2DF): Move to [vsx] stanza.
2383 (NEG_V2DI): Likewise.
2385 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
2387 PR middle-end/105032
2388 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
2390 2022-03-30 Tom de Vries <tdevries@suse.de>
2391 Tobias Burnus <tobias@codesourcery.com>
2393 * doc/invoke.texi (march): Document __PTX_SM__.
2394 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
2395 __PTX_ISA_VERSION_MINOR__.
2397 2022-03-30 Jakub Jelinek <jakub@redhat.com>
2400 * ubsan.cc (instrument_object_size): If t is equal to inner and
2401 is a decl other than global var, punt. When emitting call to
2402 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
2404 2022-03-30 Jakub Jelinek <jakub@redhat.com>
2406 PR tree-optimization/105094
2407 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
2408 bitsize <= 0 rather than just == 0.
2410 2022-03-30 Tom de Vries <tdevries@suse.de>
2412 * doc/invoke.texi (misa, mptx): Update.
2413 (march, march-map): Add.
2415 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
2417 * opt-functions.awk (n_args): New function.
2418 (lang_enabled_by): Merge function into...
2419 * optc-gen.awk <END>: ... sole user here.
2420 Improve diagnostics.
2422 2022-03-29 Marek Polacek <polacek@redhat.com>
2423 Jakub Jelinek <jakub@redhat.com>
2425 PR middle-end/103597
2426 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
2427 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
2428 (gimplify_cond_expr): Set UNUSED_LABEL_P.
2429 * tree.h (UNUSED_LABEL_P): New.
2431 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
2433 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
2434 be any VSX register.
2436 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
2439 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
2440 zero-sized bit-fields. Detect cases where a warning may be needed.
2441 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
2442 zero-sized bit-field has caused parameter passing to change.
2444 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
2447 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
2448 bit-fields. Detect cases where a warning may be needed.
2449 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
2450 a zero-sized bit-field has caused parameter passing to change.
2452 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
2455 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
2456 ARM_PCS_AAPCS_LOCAL.
2458 2022-03-29 Tom de Vries <tdevries@suse.de>
2461 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
2462 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
2463 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
2464 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
2466 2022-03-29 Tom de Vries <tdevries@suse.de>
2468 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
2471 2022-03-29 Tom de Vries <tdevries@suse.de>
2474 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
2476 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
2478 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
2479 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
2480 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
2481 (TARGET_USE_GATHER_4PARTS): New macro.
2482 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
2483 (X86_TUNE_USE_GATHER_4PARTS): New tune
2485 2022-03-29 Tom de Vries <tdevries@suse.de>
2487 * config/nvptx/nvptx.opt (march): Add alias of misa.
2489 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2490 Lulu Cheng <chenglulu@loongson.cn>
2492 * doc/install.texi: Add LoongArch options section.
2493 * doc/invoke.texi: Add LoongArch options section.
2494 * doc/md.texi: Add LoongArch options section.
2496 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2497 Lulu Cheng <chenglulu@loongson.cn>
2499 * config/loongarch/loongarch-c.cc
2501 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2502 Lulu Cheng <chenglulu@loongson.cn>
2504 * config/loongarch/larchintrin.h: New file.
2505 * config/loongarch/loongarch-builtins.cc: New file.
2507 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2508 Lulu Cheng <chenglulu@loongson.cn>
2510 * config/host-linux.cc: Add LoongArch support.
2511 * config/loongarch/loongarch-protos.h: New file.
2512 * config/loongarch/loongarch-tune.h: Likewise.
2513 * config/loongarch/loongarch.cc: Likewise.
2514 * config/loongarch/loongarch.h: Likewise.
2516 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2517 Lulu Cheng <chenglulu@loongson.cn>
2519 * config/loongarch/constraints.md: New file.
2520 * config/loongarch/generic.md: New file.
2521 * config/loongarch/la464.md: New file.
2522 * config/loongarch/loongarch-ftypes.def: New file.
2523 * config/loongarch/loongarch-modes.def: New file.
2524 * config/loongarch/loongarch.md: New file.
2525 * config/loongarch/predicates.md: New file.
2526 * config/loongarch/sync.md: New file.
2528 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2529 Lulu Cheng <chenglulu@loongson.cn>
2531 * configure: Regenerate file.
2533 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2534 Lulu Cheng <chenglulu@loongson.cn>
2536 * common/config/loongarch/loongarch-common.cc: New file.
2537 * config/loongarch/genopts/genstr.sh: New file.
2538 * config/loongarch/genopts/loongarch-strings: New file.
2539 * config/loongarch/genopts/loongarch.opt.in: New file.
2540 * config/loongarch/loongarch-str.h: New file.
2541 * config/loongarch/gnu-user.h: New file.
2542 * config/loongarch/linux.h: New file.
2543 * config/loongarch/loongarch-cpu.cc: New file.
2544 * config/loongarch/loongarch-cpu.h: New file.
2545 * config/loongarch/loongarch-def.c: New file.
2546 * config/loongarch/loongarch-def.h: New file.
2547 * config/loongarch/loongarch-driver.cc: New file.
2548 * config/loongarch/loongarch-driver.h: New file.
2549 * config/loongarch/loongarch-opts.cc: New file.
2550 * config/loongarch/loongarch-opts.h: New file.
2551 * config/loongarch/loongarch.opt: New file.
2552 * config/loongarch/t-linux: New file.
2553 * config/loongarch/t-loongarch: New file.
2554 * config.gcc: Add LoongArch support.
2555 * configure.ac: Add LoongArch support.
2557 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
2559 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
2562 2022-03-29 Richard Biener <rguenther@suse.de>
2564 PR tree-optimization/105080
2565 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
2568 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
2570 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
2571 (output_ctf_vars): Likewise.
2573 2022-03-28 Jason Merrill <jason@redhat.com>
2576 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
2578 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
2581 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
2584 2022-03-28 Tom de Vries <tdevries@suse.de>
2587 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
2588 * config/nvptx/nvptx-gen.opt: Regenerate.
2589 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
2590 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
2593 2022-03-28 David Malcolm <dmalcolm@redhat.com>
2596 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
2597 to loads then stores, set the location of the new load stmt.
2599 2022-03-28 Richard Biener <rguenther@suse.de>
2601 PR tree-optimization/105070
2602 * tree-switch-conversion.h
2603 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
2605 * tree-switch-conversion.cc
2606 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
2608 (bit_test_cluster::emit): Annotate all generated expressions
2611 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
2613 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
2615 2022-03-28 liuhongt <hongtao.liu@intel.com>
2618 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
2619 alternative 4 from sse4_noavx to noavx.
2621 2022-03-28 Jakub Jelinek <jakub@redhat.com>
2623 PR tree-optimization/105056
2624 * tree-predcom.cc (component::component): Initialize also comp_step.
2626 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
2629 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
2632 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
2634 PR middle-end/104885
2635 * calls.cc (mark_stack_region_used): Check that the region
2636 is within the allocated size of stack_usage_map.
2638 2022-03-26 Jakub Jelinek <jakub@redhat.com>
2640 PR rtl-optimization/103775
2641 * recog.cc (check_invalid_inc_dec): New function.
2642 (insn_invalid_p): Return 1 if REG_INC operand overlaps
2645 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
2648 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
2649 (aes<aesklvariant>u8): Likewise.
2651 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
2654 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
2655 Replace "Yv" with "x".
2656 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
2657 (ssse3_psign<mode>3): Likewise.
2659 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
2661 * reload.cc (find_reloads): Align comment with code where
2662 considering the intersection of register classes then tweaking the
2663 regclass for the current alternative or rejecting it.
2665 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
2669 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
2671 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
2672 (mve_vec_unpack<US>_hi_<mode>): Delete.
2673 (@mve_vec_pack_trunc_lo_<mode>): Delete.
2674 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
2675 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
2677 (vec_unpack<US>_lo_<mode>): Likewise.
2678 (vec_pack_trunc_<mode>): Rename from
2679 neon_quad_vec_pack_trunc_<mode>.
2680 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
2681 (vec_unpack<US>_lo_<mode>): Delete.
2682 (vec_pack_trunc_<mode>): Delete.
2684 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
2686 PR middle-end/104971
2687 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
2688 regs to clear remove_p flag.
2690 2022-03-25 Richard Biener <rguenther@suse.de>
2692 PR tree-optimization/105053
2693 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
2694 the correct live-out stmt for a reduction chain.
2696 2022-03-25 Richard Biener <rguenther@suse.de>
2698 PR middle-end/105049
2699 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
2700 CONSTRUCTOR first elements.
2702 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
2705 * doc/invoke.texi (Static Analyzer Options): Move
2706 @ignore block after @gccoptlist's '}' for 'make pdf'.
2708 2022-03-25 David Malcolm <dmalcolm@redhat.com>
2711 * doc/invoke.texi (Static Analyzer Options): Add
2712 -fdump-analyzer-untracked.
2714 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
2717 * doc/invoke.texi: Document that enabling taint analyzer
2718 checker disables some warnings from `-fanalyzer`.
2720 2022-03-24 Alexandre Oliva <oliva@adacore.com>
2723 * gimple-harden-conditionals.cc (detach_value): Keep temps
2726 2022-03-24 Alexandre Oliva <oliva@adacore.com>
2728 PR middle-end/104975
2729 * gimple-harden-conditionals.cc
2730 (pass_harden_compares::execute): Force split in case of
2733 2022-03-24 Jakub Jelinek <jakub@redhat.com>
2736 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
2737 field0 or field1 is not a FIELD_DECL, return false.
2739 2022-03-24 Richard Biener <rguenther@suse.de>
2741 * tree-predcom.cc (chain::chain): Add CTOR.
2742 (component::component): Likewise.
2743 (pcom_worker::release_chain): Use delete.
2744 (release_components): Likewise.
2745 (pcom_worker::filter_suitable_components): Likewise.
2746 (pcom_worker::split_data_refs_to_components): Use new.
2747 (make_invariant_chain): Likewise.
2748 (make_rooted_chain): Likewise.
2749 (pcom_worker::combine_chains): Likewise.
2750 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
2751 Make sure to release previously constructed scalar_results.
2752 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
2754 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
2755 Release m_flag_set_edges.
2757 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
2759 PR tree-optimization/104970
2760 * tree-object-size.cc (parm_object_size): Restrict size
2761 computation scenarios to explicit access attributes.
2763 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
2766 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
2769 2022-03-23 Richard Biener <rguenther@suse.de>
2772 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
2773 use of movmisalign when either the source or destination
2774 decl is properly aligned.
2776 2022-03-23 Richard Biener <rguenther@suse.de>
2778 PR rtl-optimization/105028
2779 * ira-color.cc (form_threads_from_copies): Remove unnecessary
2780 copying of the sorted_copies tail.
2782 2022-03-23 Martin Liska <mliska@suse.cz>
2784 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
2786 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
2787 Reword the error message.
2789 2022-03-23 liuhongt <hongtao.liu@intel.com>
2792 * config/i386/sse.md (ssePSmodelower): New.
2793 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
2794 lowpart_subreg to avoid NULL_RTX.
2795 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
2796 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
2797 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
2798 <avx512>_<complexopname>_<mode>_mask<round_name>,
2799 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
2800 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
2801 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
2802 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
2803 float<floatunssuffix><mode>v4hf2,
2804 float<floatunssuffix>v2div2hf2,
2805 fix<fixunssuffix>_truncv4hf<mode>2,
2806 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
2808 trunc<mode>v4hf2,truncv2dfv2hf2,
2809 *avx512bw_permvar_truncv16siv16hi_1,
2810 *avx512bw_permvar_truncv16siv16hi_1_hf,
2811 *avx512f_permvar_truncv8siv8hi_1,
2812 *avx512f_permvar_truncv8siv8hi_1_hf,
2813 *avx512f_vpermvar_truncv8div8si_1,
2814 *avx512f_permvar_truncv32hiv32qi_1,
2815 *avx512f_permvar_truncv16hiv16qi_1,
2816 *avx512f_permvar_truncv4div4si_1,
2817 *avx512f_pshufb_truncv8hiv8qi_1,
2818 *avx512f_pshufb_truncv4siv4hi_1,
2819 *avx512f_pshufd_truncv2div2si_1,
2820 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
2821 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
2823 2022-03-22 Tom de Vries <tdevries@suse.de>
2826 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
2827 Use % as register prefix.
2829 2022-03-22 Tom de Vries <tdevries@suse.de>
2831 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
2832 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
2835 2022-03-22 Tom de Vries <tdevries@suse.de>
2837 * config/nvptx/nvptx.opt (mexperimental): New option.
2839 2022-03-22 Tom de Vries <tdevries@suse.de>
2842 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
2843 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
2845 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
2846 (nvptx_asm_output_def_from_decls): New function.
2847 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
2849 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
2850 nvptx_asm_output_def_from_decls.
2851 * config/nvptx/nvptx.opt (malias): New opt.
2853 2022-03-22 Tom de Vries <tdevries@suse.de>
2857 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
2858 sync (or uniform warp check for mptx < 6.0).
2860 2022-03-22 Richard Biener <rguenther@suse.de>
2862 PR tree-optimization/105012
2863 * tree-if-conv.cc (ifcvt_local_dce): Only call
2864 dse_classify_store when we have a VDEF.
2866 2022-03-22 Martin Liska <mliska@suse.cz>
2869 * config/nvptx/nvptx.cc (handle_ptx_version_option):
2870 Fix option wrapping in an error message.
2872 2022-03-22 Martin Liska <mliska@suse.cz>
2875 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
2878 2022-03-22 Martin Liska <mliska@suse.cz>
2880 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
2883 2022-03-22 Martin Liska <mliska@suse.cz>
2886 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
2887 Use %qs instead of (%qs).
2889 2022-03-22 Martin Liska <mliska@suse.cz>
2892 * config/i386/i386-options.cc (ix86_option_override_internal):
2893 Use '%qs' instead of '(%qs)'.
2895 2022-03-22 Martin Liska <mliska@suse.cz>
2898 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
2899 Use 'qs' and remove usage '(%qs)'.
2900 (aarch64_handle_attr_cpu): Likewise.
2901 (aarch64_handle_attr_tune): Likewise.
2902 (aarch64_handle_attr_isa_flags): Likewise.
2904 2022-03-22 Tamar Christina <tamar.christina@arm.com>
2905 Andre Vieira <andre.simoesdiasvieira@arm.com>
2907 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
2909 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
2911 (neoverse512tvb_tunings): Likewise.
2913 2022-03-22 Tamar Christina <tamar.christina@arm.com>
2914 Andre Vieira <andre.simoesdiasvieira@arm.com>
2916 * config/aarch64/aarch64.cc (demeter_addrcost_table,
2917 demeter_regmove_cost, demeter_advsimd_vector_cost,
2918 demeter_sve_vector_cost, demeter_scalar_issue_info,
2919 demeter_advsimd_issue_info, demeter_sve_issue_info,
2920 demeter_vec_issue_info, demeter_vector_cost,
2921 demeter_tunings): New tuning structs.
2922 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
2924 * config/aarch64/aarch64-cores.def: Add entry for demeter.
2925 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
2927 2022-03-22 Tamar Christina <tamar.christina@arm.com>
2928 Andre Vieira <andre.simoesdiasvieira@arm.com>
2930 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
2931 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
2932 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
2933 tunings to use cpu_memmov_cost struct.
2935 2022-03-22 Tamar Christina <tamar.christina@arm.com>
2936 Andre Vieira <andre.simoesdiasvieira@arm.com>
2938 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
2939 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
2940 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
2941 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
2942 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
2943 (neoversen2_tunings): Use new structs and update tuning flags.
2944 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
2947 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
2949 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
2952 2022-03-22 liuhongt <hongtao.liu@intel.com>
2955 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
2956 following splitter to reversed condition.
2958 2022-03-22 Jakub Jelinek <jakub@redhat.com>
2960 PR rtl-optimization/104989
2961 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
2962 sorry for passing too large argument, instead set sibcall_failure
2963 for pass == 0, or a new normal_failure flag otherwise. If
2964 normal_failure is set, don't assert all stack has been deallocated
2965 at the end and throw away the whole insn sequence.
2967 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
2969 * print-tree.cc: Change array length
2971 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
2974 * config/i386/sse.md
2975 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
2976 Use avx512f_movsf_mask instead of vmovaps or vblend, and
2977 force_reg before lowpart_subreg.
2978 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
2980 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
2983 * common/config/i386/i386-common.cc
2984 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
2985 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
2987 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
2990 * common/config/i386/cpuinfo.h (get_available_features): Pass
2991 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
2994 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
2996 PR middle-end/104869
2997 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
2998 (clobber_group::next_clobber): Likewise.
2999 (def_lookup::prev_def): Rename to...
3000 (def_lookup::last_def_of_prev_group): ...this.
3001 (def_lookup::next_def): Rename to...
3002 (def_lookup::first_def_of_next_group): ...this.
3003 (def_lookup::matching_or_prev_def): Rename to...
3004 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
3005 (def_lookup::matching_or_next_def): Rename to...
3006 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
3007 (def_lookup::prev_def): New function, taking the lookup insn as
3009 (def_lookup::next_def): Likewise.
3010 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
3011 (def_lookup::last_def_of_prev_group): ...this.
3012 (def_lookup::next_def): Rename to...
3013 (def_lookup::first_def_of_next_group): ...this.
3014 (def_lookup::matching_or_prev_def): Rename to...
3015 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
3016 (def_lookup::matching_or_next_def): Rename to...
3017 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
3018 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
3020 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
3021 (clobber_group::next_clobber): Likewise.
3022 (def_lookup::prev_def): Likewise.
3023 (def_lookup::next_def): Likewise.
3024 (function_info::make_use_available): Pass the lookup insn to
3025 def_lookup::prev_def and def_lookup::next_def.
3027 2022-03-21 Martin Liska <mliska@suse.cz>
3029 * doc/invoke.texi: Document min-pagesize parameter.
3031 2022-03-21 Richard Biener <rguenther@suse.de>
3033 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
3034 we are estimating niter of loop.
3036 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
3038 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
3039 Update flag name and mask name.
3040 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
3041 misc macro for vector extensions.
3042 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
3043 (MASK_VECTOR_ELEN_32): ... this.
3044 (MASK_VECTOR_EEW_64): Rename to ...
3045 (MASK_VECTOR_ELEN_64): ... this.
3046 (MASK_VECTOR_EEW_FP_32): Rename to ...
3047 (MASK_VECTOR_ELEN_FP_32): ... this.
3048 (MASK_VECTOR_EEW_FP_64): Rename to ...
3049 (MASK_VECTOR_ELEN_FP_64): ... this.
3050 (TARGET_VECTOR_ELEN_32): New.
3051 (TARGET_VECTOR_ELEN_64): Ditto.
3052 (TARGET_VECTOR_ELEN_FP_32): Ditto.
3053 (TARGET_VECTOR_ELEN_FP_64): Ditto.
3054 (TARGET_MIN_VLEN): Ditto.
3055 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
3056 (riscv_vector_elen_flags): ... this.
3058 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
3061 * config/i386/sse.md
3062 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
3063 Correct round operand for intel dialect.
3065 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
3067 * diagnostic.cc (diagnostic_cc_tests): Rename to...
3068 (c_diagnostic_cc_tests): ...this.
3069 * opt-problem.cc (opt_problem_cc_tests): Rename to...
3070 (c_opt_problem_cc_tests): ...this.
3071 * selftest-run-tests.cc (selftest::run_tests): No longer run
3072 opt_problem_cc_tests or diagnostic_cc_tests.
3073 * selftest.h (diagnostic_cc_tests): Remove declaration.
3074 (opt_problem_cc_tests): Likewise.
3076 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
3079 * hash-traits.h (struct typed_const_free_remove): New.
3080 (struct free_string_hash): New.
3081 * pass_manager.h: Use free_string_hash.
3082 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
3083 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
3085 2022-03-19 Jakub Jelinek <jakub@redhat.com>
3087 PR middle-end/104971
3088 * config/i386/i386-expand.cc
3089 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
3090 don't push/pop anything and just return const0_rtx.
3092 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
3094 PR rtl-optimization/104961
3095 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
3097 2022-03-18 Jason Merrill <jason@redhat.com>
3099 * tree.h (IDENTIFIER_LENGTH): Add comment.
3101 2022-03-18 Jakub Jelinek <jakub@redhat.com>
3104 PR middle-end/100680
3105 PR tree-optimization/100834
3106 * params.opt (--param=min-pagesize=): New parameter.
3108 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
3109 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
3110 of zero for pointer constants equal or larger than min-pagesize.
3112 2022-03-18 Tom de Vries <tdevries@suse.de>
3114 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
3115 Set gfor location only when dealing with a OMP_TASKLOOP.
3117 2022-03-18 Tom de Vries <tdevries@suse.de>
3119 * gimplify.cc (gimplify_omp_for): Set taskloop location.
3121 2022-03-18 Tom de Vries <tdevries@suse.de>
3124 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
3125 is executed unconditionally.
3127 2022-03-18 liuhongt <hongtao.liu@intel.com>
3130 * config/i386/i386.md (*movhi_internal): Set attr type from HI
3131 to HF for alternative 12 under TARGET_AVX512FP16.
3133 2022-03-18 Cui,Lili <lili.cui@intel.com>
3136 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
3137 * doc/invoke.texi: Update documents for Intel sapphirerapids.
3139 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
3142 PR tree-optimization/90356
3143 * config/i386/i386.md (*movtf_internal): Don't guard
3144 standard_sse_constant_p clause by optimize_function_for_size_p.
3145 (*movdf_internal): Likewise.
3146 (*movsf_internal): Likewise.
3148 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
3150 PR tree-optimization/102943
3151 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
3152 dominators and apply intermediary outgoing edge ranges.
3154 2022-03-17 Richard Biener <rguenther@suse.de>
3156 PR tree-optimization/104960
3157 * passes.def: Add pass parameter to pass_sink_code, mark
3158 last one to unsplit edges.
3159 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
3160 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
3161 when we need to unsplit edges.
3163 2022-03-17 Jakub Jelinek <jakub@redhat.com>
3165 PR middle-end/103984
3166 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
3167 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
3168 and asan unpoisioning, then append the temporary sequence and
3169 finally the TARGET_EXPR_CLEANUP clobbers.
3171 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
3173 * config/i386/sse.md: Delete corrupt character/typo.
3175 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
3178 * config/i386/sse.md (sse2_movq128): New define_expand to
3179 preserve previous named instruction.
3180 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
3181 generalized to VI8F_128 (both V2DI and V2DF).
3183 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
3185 PR tree-optimization/104941
3186 * tree-object-size.cc (size_for_offset): Make useless conversion
3187 check lighter and assign result of fold_convert to OFFSET.
3189 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
3192 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
3193 pushing target("general-regs-only").
3195 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
3197 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
3198 Add version info for zk, zks and zkn.
3200 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
3202 * common/config/riscv/riscv-common.cc
3203 (riscv_combine_info): New.
3204 (riscv_subset_list::handle_combine_ext): Combine back into zk to
3205 maintain the canonical order in isa strings.
3206 (riscv_subset_list::parse): Ditto.
3207 * config/riscv/riscv-subset.h (handle_combine_ext): New.
3209 2022-03-16 Richard Biener <rguenther@suse.de>
3211 PR tree-optimization/102008
3212 * passes.def: Move the added code sinking pass before the
3213 preceeding phiopt pass.
3215 2022-03-16 Patrick Palka <ppalka@redhat.com>
3218 * doc/invoke.texi (C++ Dialect Options): Document
3219 -ffold-simple-inlines.
3221 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
3223 PR tree-optimization/104942
3224 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
3226 2022-03-16 Jakub Jelinek <jakub@redhat.com>
3229 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
3232 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
3233 Richard Biener <rguenther@suse.de>
3235 * gimple-match-head.cc (single_use): Implement inline using a
3238 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
3240 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
3241 instead of HONOR_NANS.
3242 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
3243 this can't trap/signal.
3245 2022-03-16 liuhongt <hongtao.liu@intel.com>
3248 * config/i386/i386-builtin.def (BDESC): Add
3249 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
3250 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
3251 __builtin_ia32_blendvpd w/o sse4.2
3253 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
3256 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
3257 acceptable MEM addresses.
3259 2022-03-15 Jakub Jelinek <jakub@redhat.com>
3262 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
3263 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
3266 2022-03-15 Jakub Jelinek <jakub@redhat.com>
3269 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
3270 instead of general-regs-only.
3272 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
3273 Marc Glisse <marc.glisse@inria.fr>
3274 Richard Biener <rguenther@suse.de>
3276 PR tree-optimization/101895
3277 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
3278 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
3280 2022-03-15 Jakub Jelinek <jakub@redhat.com>
3282 PR rtl-optimization/104814
3283 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
3284 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
3286 2022-03-15 Martin Sebor <msebor@redhat.com>
3288 PR middle-end/104436
3289 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
3290 Check for warning suppression. Avoid by-value arguments transformed
3291 into by-transparent-reference.
3293 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
3294 Uroš Bizjak <ubizjak@gmail.com>
3296 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
3297 transformation when *zero_extend<mode>si2 is not available.
3299 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
3301 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
3302 * config/mips/mips.cc (mips_option_override): Make
3303 -fsanitize=address imply -fasynchronous-unwind-tables. This is
3304 needed by libasan for stack backtrace on MIPS.
3305 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
3307 2022-03-14 Jakub Jelinek <jakub@redhat.com>
3310 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
3311 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
3312 call simplified the first operand into VOIDmode constant.
3314 2022-03-14 Jakub Jelinek <jakub@redhat.com>
3316 PR tree-optimization/102586
3317 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
3318 argument type should be pointer to trivially-copyable type unless it
3319 is address of a variable or parameter.
3321 2022-03-14 Jakub Jelinek <jakub@redhat.com>
3324 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
3325 first rather than last element of the vector, use __m32_u to do
3326 a really unaligned load, use just 0 instead of (int)0.
3327 (_mm_loadu_si16): Put loaded value into first rather than last
3328 element of the vector, use __m16_u to do a really unaligned load,
3329 use just 0 instead of (short)0.
3331 2022-03-14 Jakub Jelinek <jakub@redhat.com>
3334 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
3335 in diagnostic message - cannott -> cannot. Use %< and %> around
3336 names of attribute. Avoid too long line.
3337 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
3338 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
3340 2022-03-14 liuhongt <hongtao.liu@intel.com>
3343 * config/i386/i386-expand.cc
3344 (ix86_check_builtin_isa_match): New func.
3345 (ix86_expand_builtin): Move code to
3346 ix86_check_builtin_isa_match and call it.
3347 * config/i386/i386-protos.h
3348 (ix86_check_builtin_isa_match): Declare.
3349 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
3350 builtin into gimple when isa mismatches.
3352 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
3354 * doc/invoke.texi: Fix typos.
3355 * doc/tm.texi.in: Remove duplicated word.
3356 * doc/tm.texi: Regenerate.
3358 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
3361 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
3362 "ppc" and "ppc64" based on rs6000_cpu.
3364 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3366 PR middle-end/100280
3367 PR middle-end/104892
3368 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
3369 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
3371 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3373 PR middle-end/100280
3374 PR middle-end/104086
3375 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
3376 Mark variables used in 'present' clauses as addressable.
3377 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
3378 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
3380 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3383 * tree-core.h (user_omp_claus_code_name): Declare function.
3384 * tree.cc (user_omp_clause_code_name): New function.
3386 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
3389 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
3390 (the defaut) or -fno-signed-zeros.
3392 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
3395 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
3396 moving from a GPR register to an Altivec register.
3398 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
3400 PR tree-optimization/98335
3401 * config/i386/i386.md (peephole2): Eliminate redundant insv.
3402 Combine movl followed by movb. Transform xorl followed by
3403 a suitable movb or movw into the equivalent movz[bw]l.
3405 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
3406 Richard Biener <rguenther@suse.de>
3408 PR tree-optimization/98335
3409 * builtins.cc (get_object_alignment_2): Export.
3410 * builtins.h (get_object_alignment_2): Likewise.
3411 * tree-ssa-alias.cc (ao_ref_alignment): New.
3412 * tree-ssa-alias.h (ao_ref_alignment): Declare.
3413 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
3414 to align head/tail, writing more bytes but using fewer store insns.
3416 2022-03-11 Richard Biener <rguenther@suse.de>
3418 PR tree-optimization/104880
3419 * tree-ssa.cc (execute_update_address_taken): Remember if we
3420 optimistically made something not addressable and
3423 2022-03-11 Richard Biener <rguenther@suse.de>
3426 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
3427 cost the first lane of SSE pieces as inserts for vec_construct.
3429 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
3432 * calls.cc (expand_call): Ignore stack adjustments after sorry.
3434 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
3437 * lra-constraints.cc (split_reg): Set up
3438 check_and_force_assignment_correctness_p when splitting hard
3439 register live range.
3441 2022-03-10 Martin Jambor <mjambor@suse.cz>
3444 * ipa-cp.cc (create_specialized_node): Move removal of
3445 self-recursive calls from callers vector before refrence
3448 2022-03-10 Richard Biener <rguenther@suse.de>
3450 PR tree-optimization/102943
3451 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
3453 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
3455 (sbr_sparse_bitmap::set_bb_range): Adjust.
3456 (sbr_sparse_bitmap::get_bb_range): Likewise.
3458 2022-03-10 Richard Biener <rguenther@suse.de>
3460 PR tree-optimization/102943
3461 * tree-ssa-dom.cc (back_propagate_equivalences): Only
3462 populate the dominance bitmap if fast queries are not
3463 available. Use a tree view bitmap.
3464 (record_temporary_equivalences): Cache the dominance bitmap
3465 across all equivalences on the edge.
3467 2022-03-10 Tom de Vries <tdevries@suse.de>
3470 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
3473 2022-03-10 Tom de Vries <tdevries@suse.de>
3476 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
3477 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
3478 (nvptx_get_unisimt_outside_simt_predicate): New function.
3479 (predicate_insn): New function, factored out of ...
3480 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
3481 * config/nvptx/nvptx.h (struct machine_function): Add
3482 unisimt_outside_simt_predicate field.
3483 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
3484 (define_insn "nvptx_uniform_warp_check"): Make predicable.
3486 2022-03-10 Tom de Vries <tdevries@suse.de>
3488 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
3491 2022-03-10 Tom de Vries <tdevries@suse.de>
3494 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
3496 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
3498 2022-03-10 Tom de Vries <tdevries@suse.de>
3500 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
3501 Emit atom.and.b64 instead of atom.b64.and.
3503 2022-03-10 Tom de Vries <tdevries@suse.de>
3505 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
3506 (MULTILIB_OPTIONS): ... here.
3508 2022-03-10 Tom de Vries <tdevries@suse.de>
3511 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
3512 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
3514 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3517 PR middle-end/102330
3518 PR middle-end/104774
3519 * omp-low.cc (oacc_privatization_candidate_p)
3520 (oacc_privatization_scan_clause_chain)
3521 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
3522 Analyze 'lookup_decl'-translated DECL.
3524 2022-03-10 Jakub Jelinek <jakub@redhat.com>
3527 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
3528 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
3529 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
3530 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
3531 "**NULL**" if type_node is NULL first. Handle
3532 ieee128_float_type_node.
3533 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
3534 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
3535 ieee128_float_type_node to NULL rather than long_double_type_node if
3536 they aren't supported. Do support __ibm128 even if
3537 !TARGET_FLOAT128_TYPE when long double is double double.
3538 (rs6000_expand_builtin): Error if bif_is_ibm128 and
3539 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
3540 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
3542 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
3543 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
3544 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
3545 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
3547 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
3548 (struct attrinfo): Add isibm128 member.
3549 (TYPE_MAP_SIZE): Remove.
3550 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
3551 ibm128_float_type_node only if it is non-NULL, otherwise fall back
3552 to long_double_type_node. Remove "pif" entry.
3553 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
3554 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
3555 (write_type_node): Use sizeof type_map / sizeof type_map[0]
3556 instead of TYPE_MAP_SIZE.
3557 (write_bif_static_init): Handle isibm128.
3558 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
3559 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
3562 2022-03-09 Richard Biener <rguenther@suse.de>
3564 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
3565 with non-decl operand, avoiding a copy.
3567 2022-03-09 Jakub Jelinek <jakub@redhat.com>
3570 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
3572 2022-03-09 Richard Biener <rguenther@suse.de>
3574 PR middle-end/104786
3575 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
3576 for VLAs without an upper size bound.
3578 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
3580 PR tree-optimization/104851
3581 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
3584 2022-03-09 Jakub Jelinek <jakub@redhat.com>
3587 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
3588 is enabled by it only for C++11 to C++17 rather than for C++03 or
3590 (-Wshift-negative-value): Similarly (except here we stated
3591 that it is enabled for C++11 or later).
3593 2022-03-09 Jakub Jelinek <jakub@redhat.com>
3595 PR rtl-optimization/104839
3596 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
3597 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
3598 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
3599 instead of incorrect 0 in SUBREG_PROMOTED_SET.
3601 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
3604 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
3605 value before adding an offset.
3607 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
3609 * config/arm/arm-builtins.cc
3610 (arm_binop_none_none_unone_qualifiers): Delete.
3611 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
3613 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
3615 PR translation/104552
3616 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
3617 the PCH out of memory error message punctuation and wording.
3619 2022-03-08 Marek Polacek <polacek@redhat.com>
3621 PR rtl-optimization/104777
3622 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
3623 ASM_OPERANDS_LABEL_VEC has at least one element.
3625 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
3628 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
3629 stack realignment or regparm nested function with EH return.
3631 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
3634 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
3635 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
3636 register for non widening loads or narrowing stores.
3638 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
3640 PR translation/104552
3641 * params.opt: Fix typo.
3643 2022-03-08 Richard Biener <rguenther@suse.de>
3645 PR tree-optimization/84201
3646 * params.opt (-param=vect-induction-float): Add.
3647 * doc/invoke.texi (vect-induction-float): Document.
3648 * tree-vect-loop.cc (vectorizable_induction): Honor
3649 param_vect_induction_float.
3651 2022-03-08 Martin Jambor <mjambor@suse.cz>
3653 PR translation/104552
3654 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
3655 "that" in the description.
3657 2022-03-08 Richard Biener <rguenther@suse.de>
3659 PR tree-optimization/104825
3660 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
3661 guard modref get_ao_ref on a pointer typed argument.
3663 2022-03-08 liuhongt <hongtao.liu@intel.com>
3665 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
3666 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
3668 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
3670 * doc/invoke.texi (C++ Modules): Remove anachronism.
3672 2022-03-07 Martin Liska <mliska@suse.cz>
3674 PR middle-end/104381
3675 * opts.cc (finish_options): If debug info is disabled
3676 (debug_info_level) and -fvar-tracking is unset, disable it.
3678 2022-03-07 Jakub Jelinek <jakub@redhat.com>
3680 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
3681 * config/riscv/riscv.cc: Likewise.
3682 * config/darwin.h: Likewise.
3683 * config/i386/i386.cc: Likewise.
3684 * config/aarch64/thunderx3t110.md: Likewise.
3685 * config/aarch64/fractional-cost.h: Likewise.
3686 * config/vax/vax.cc: Likewise.
3687 * config/rs6000/pcrel-opt.md: Likewise.
3688 * config/rs6000/predicates.md: Likewise.
3690 * tree-ssa-uninit.cc: Likewise.
3691 * value-relation.h: Likewise.
3692 * gimple-range-gori.cc: Likewise.
3693 * ipa-polymorphic-call.cc: Likewise.
3694 * pointer-query.cc: Likewise.
3695 * ipa-sra.cc: Likewise.
3696 * internal-fn.cc: Likewise.
3697 * varasm.cc: Likewise.
3698 * gimple-ssa-warn-access.cc: Likewise.
3700 2022-03-07 Martin Liska <mliska@suse.cz>
3703 * config/arm/arm.cc (arm_option_override_internal): Add missing
3706 2022-03-07 Richard Biener <rguenther@suse.de>
3708 PR tree-optimization/104782
3709 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
3710 Re-instantiate r10-5979 fix, add comment.
3712 2022-03-07 Martin Liska <mliska@suse.cz>
3715 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
3716 parenthesis from built-in name.
3718 2022-03-07 Martin Liska <mliska@suse.cz>
3721 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
3722 of options in error messages.
3723 (arm_option_reconfigure_globals): Likewise.
3725 2022-03-07 Martin Liska <mliska@suse.cz>
3728 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
3729 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
3730 have only range [0,32].
3732 2022-03-07 Jakub Jelinek <jakub@redhat.com>
3735 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
3736 S constraint instead of T in the last alternative.
3738 2022-03-07 Martin Liska <mliska@suse.cz>
3740 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
3743 2022-03-07 Martin Liska <mliska@suse.cz>
3745 PR translation/90148
3746 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
3747 quote to a proper place.
3748 * plugin.cc (default_plugin_dir_name): Likewise.
3750 2022-03-07 Martin Liska <mliska@suse.cz>
3753 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
3756 2022-03-07 Jakub Jelinek <jakub@redhat.com>
3759 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
3760 define_expand pattern. Rename define_insn to ...
3761 (*avx512dq_mul<mode>3<mask_name>): ... this.
3762 (<code><mode>3_mask): New any_logic define_expand pattern.
3763 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
3764 (*<code><mode>3<mask_name>): ... this.
3766 2022-03-05 Jakub Jelinek <jakub@redhat.com>
3768 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
3769 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
3771 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
3772 Uroš Bizjak <ubizjak@gmail.com>
3775 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
3776 Include DI mode unconditionally.
3777 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
3778 i.e. always split on !TARGET_64BIT.
3779 (*<any_or>di3_doubleword): Likewise.
3780 (*one_cmpldi2_doubleword): Likewise.
3781 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
3782 (<any_or><mode>3 expander): Likewise.
3783 (one_cmpl<mode>2 expander): Likewise.
3785 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
3788 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
3789 (mtvsrdd_diti_w1): Delete.
3790 (extendditi2): Convert from define_expand to
3791 define_insn_and_split. Replace with code to deal with both GPR
3792 registers and with altivec registers.
3794 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
3796 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
3797 bit. Handle most older CPUs.
3799 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
3801 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
3802 avoid a mismatch with DECL_MD_FUNCTION_CODE().
3804 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
3807 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
3808 (@machopic_low_<mode>): New.
3809 * config/rs6000/predicates.md (macho_pic_address): New.
3810 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
3811 apply the TLS processing to Darwin.
3812 * lra-constraints.cc (process_address_1): Revert the changes
3815 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
3819 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
3820 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
3822 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
3824 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
3827 2022-03-04 Jakub Jelinek <jakub@redhat.com>
3829 PR middle-end/104529
3830 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
3831 on automatic objects which will be runtime initialized.
3833 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3835 PR middle-end/100280
3836 PR middle-end/104132
3837 PR middle-end/104133
3838 * omp-low.cc (task_shared_vars): Rename to
3839 'make_addressable_vars'. Adjust all users.
3840 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
3841 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
3843 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3845 PR middle-end/100280
3846 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
3847 * tree-core.h: Document it.
3848 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
3849 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
3850 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
3851 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
3854 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3856 PR middle-end/100280
3857 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
3858 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
3859 '[...]' declared in block made addressable".
3861 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3863 PR middle-end/100400
3864 PR middle-end/103836
3865 PR middle-end/104061
3866 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
3867 Catch 'GIMPLE_DEBUG'.
3869 2022-03-04 Jakub Jelinek <jakub@redhat.com>
3872 * tree.cc (warn_deprecated_use): For types prefer to use node
3873 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
3876 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
3879 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
3882 2022-03-03 Martin Sebor <msebor@redhat.com>
3884 PR middle-end/104761
3885 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
3886 mark_dfs_back_edges.
3888 2022-03-03 Martin Liska <mliska@suse.cz>
3890 * configure.ac: Use linker plug-in by default.
3891 * configure: Regenerate.
3893 2022-03-03 Martin Liska <mliska@suse.cz>
3895 * configure.ac: Now ld.mold support LTO plugin API, use it.
3896 * configure: Regenerate.
3898 2022-03-03 Tom de Vries <tdevries@suse.de>
3900 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
3902 2022-03-03 Tom de Vries <tdevries@suse.de>
3905 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
3907 2022-03-03 Tom de Vries <tdevries@suse.de>
3909 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
3911 2022-03-03 Jakub Jelinek <jakub@redhat.com>
3913 PR middle-end/104757
3914 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
3916 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
3917 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
3919 2022-03-03 Jakub Jelinek <jakub@redhat.com>
3921 PR middle-end/104558
3922 * calls.cc (store_one_arg): When not calling emit_push_insn
3923 because size_rtx is const0_rtx, call at least anti_adjust_stack
3924 on arg->locate.alignment_pad if !argblock and the alignment might
3927 2022-03-02 Alexandre Oliva <oliva@adacore.com>
3929 * lra-constraints.cc (undo_optional_reloads): Recognize and
3930 drop insns of multi-word move sequences, tolerate removal
3931 iteration on an already-removed clobber, and refuse to
3932 substitute original pseudos into clobbers.
3934 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
3936 PR middle-end/102276
3937 * common.opt (-Wtrivial-auto-var-init): New option.
3938 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
3939 (-ftrivial-auto-var-init): Update option;
3940 * gimplify.cc (emit_warn_switch_unreachable): New function.
3941 (warn_switch_unreachable_r): Rename to ...
3942 (warn_switch_unreachable_and_auto_init_r): This.
3943 (maybe_warn_switch_unreachable): Rename to ...
3944 (maybe_warn_switch_unreachable_and_auto_init): This.
3945 (gimplify_switch_expr): Update calls to renamed function.
3947 2022-03-02 Richard Biener <rguenther@suse.de>
3949 PR rtl-optimization/104686
3950 * ira-color.cc (object_conflicts_with_allocno_p): New function
3951 using a bitvector test instead of iterating when possible.
3952 (allocnos_conflict_p): Choose the best allocno to iterate over
3954 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
3957 2022-03-02 Jakub Jelinek <jakub@redhat.com>
3959 * cfg.cc (dump_edge_info): Dump goto_locus if present.
3961 2022-03-02 Jakub Jelinek <jakub@redhat.com>
3963 PR rtl-optimization/104589
3964 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
3965 INSN_LOCATION comparison with goto_locus.
3967 2022-03-02 Jakub Jelinek <jakub@redhat.com>
3969 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
3970 strlen_pass::before_dom_children): Comment spelling fixes.
3972 2022-03-02 Jakub Jelinek <jakub@redhat.com>
3974 * ipa-modref-tree.cc (modref_access_node::contains,
3975 modref_access_node::closer_pair_p, modref_access_node::insert,
3976 modref_access_node::insert_kill): Comment spelling fixes.
3977 * ipa-modref.cc: Likewise.
3978 (modref_summary::finalize, ignore_nondeterminism_p,
3979 class modref_access_analysis,
3980 modref_access_analysis::set_side_effects,
3981 modref_access_analysis::set_nondeterministic,
3982 modref_access_analysis::record_global_memory_load,
3983 modref_access_analysis::propagate, modref_access_analysis::analyze,
3984 struct escape_point, class modref_lattice, modref_lattice::merge,
3985 modref_lattice::merge_deref, class modref_eaf_analysis,
3986 modref_eaf_analysis::merge_call_lhs_flags,
3987 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
3988 modref_eaf_analysis::record_escape_points, remap_kills,
3989 update_escape_summary, remove_useless_summaries,
3990 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
3992 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
3994 * ipa-modref-tree.h (enum modref_special_parms,
3995 struct modref_access_node): Likewise.
3997 2022-03-01 Jakub Jelinek <jakub@redhat.com>
3999 PR tree-optimization/104715
4000 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
4001 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
4002 of a call if gimple_call_return_arg is equal to ptr, not just when it
4005 2022-03-01 Jakub Jelinek <jakub@redhat.com>
4007 * gimple-ssa-warn-access.cc (warn_string_no_nul,
4008 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
4009 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
4010 pass_waccess::check_alloca, pass_waccess::check_strcat,
4011 memmodel_to_uhwi, fntype_argno_type,
4012 pass_waccess::maybe_check_access_sizes,
4013 pass_waccess::check_call_access,
4014 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
4015 Comment spelling fixes.
4017 2022-03-01 Richard Biener <rguenther@suse.de>
4019 PR tree-optimization/104716
4020 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
4021 Check if we can copy the loop.
4023 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
4025 PR middle-end/104721
4026 * cfgexpand.cc (expand_gimple_basic_block): Clear
4027 currently_expanding_gimple_stmt when returning inside the loop.
4029 2022-03-01 Martin Liska <mliska@suse.cz>
4032 * multiple_target.cc (get_attr_len): Move to tree.c.
4033 (expand_target_clones): Remove single value checking.
4034 * tree.cc (get_target_clone_attr_len): New fn.
4035 * tree.h (get_target_clone_attr_len): Likewise.
4037 2022-03-01 Martin Liska <mliska@suse.cz>
4039 PR gcov-profile/104677
4040 * doc/invoke.texi: Document more .gcda file name generation.
4042 2022-03-01 Tom de Vries <tdevries@suse.de>
4045 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
4046 * config/nvptx/nvptx.md
4047 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
4049 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
4050 Use nvptx_register_or_complex_di_df_register_operand.
4052 2022-03-01 Tom de Vries <tdevries@suse.de>
4054 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
4055 * config/nvptx/gen-copyright.sh: New file.
4056 * config/nvptx/gen-h.sh: New file.
4057 * config/nvptx/gen-opt.sh: New file.
4058 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
4059 (TARGET_SM75, TARGET_SM80): Move ...
4060 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
4061 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
4062 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
4063 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
4064 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
4066 2022-03-01 Tom de Vries <tdevries@suse.de>
4068 * config/nvptx/gen-omp-device-properties.sh: New file.
4069 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
4071 2022-03-01 Tom de Vries <tdevries@suse.de>
4073 * config/nvptx/nvptx-sm.def: New file.
4074 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
4075 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
4076 * config/nvptx/nvptx.cc (sm_version_to_string)
4077 (nvptx_omp_device_kind_arch_isa): Same.
4079 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
4081 PR rtl-optimization/104154
4082 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
4083 comparison ifcvt passed us.
4085 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
4088 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
4089 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
4091 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
4093 PR tree-optimization/91384
4094 * config/i386/i386.md (peephole2): Eliminate final testl insn
4095 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
4096 transforming using *negsi_2 for the negation.
4098 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
4099 Eric Botcazou <ebotcazou@adacore.com>
4102 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
4103 register, copy it to a pseudo before calling simplify_gen_subreg.
4105 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
4107 PR rtl-optimization/104637
4108 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
4109 as possible on one subpass.
4111 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
4113 PR middle-end/104550
4114 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
4117 2022-02-28 Martin Liska <mliska@suse.cz>
4120 * main.cc (main): Use flag_checking instead of CHECKING_P
4121 and run toplev::finalize only if there is not error seen.
4123 2022-02-28 Richard Biener <rguenther@suse.de>
4125 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
4127 2022-02-28 Richard Biener <rguenther@suse.de>
4129 PR tree-optimization/104700
4130 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
4132 (find_or_generate_expression): ... here, simplifying code.
4134 2022-02-28 Tom de Vries <tdevries@suse.de>
4136 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
4137 PTX_VERSION_default.
4138 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
4139 PTX_VERSION_default.
4140 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
4142 2022-02-28 Richard Biener <rguenther@suse.de>
4144 PR rtl-optimization/104686
4145 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
4146 skipping bits that are zero.
4147 (ira_object_conflict_iter_cond): Likewise.
4149 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
4151 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
4152 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
4153 char to avoid error when using ~enum as parameter.
4154 (_mm512_mask_ternarylogic_epi64): Likewise.
4155 (_mm512_maskz_ternarylogic_epi64): Likewise.
4156 (_mm512_ternarylogic_epi32): Likewise.
4157 (_mm512_mask_ternarylogic_epi32): Likewise.
4158 (_mm512_maskz_ternarylogic_epi32): Likewise.
4159 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
4160 Adjust imm param type to unsigned char.
4161 (_mm256_mask_ternarylogic_epi64): Likewise.
4162 (_mm256_maskz_ternarylogic_epi64): Likewise.
4163 (_mm256_ternarylogic_epi32): Likewise.
4164 (_mm256_mask_ternarylogic_epi32): Likewise.
4165 (_mm256_maskz_ternarylogic_epi32): Likewise.
4166 (_mm_ternarylogic_epi64): Likewise.
4167 (_mm_mask_ternarylogic_epi64): Likewise.
4168 (_mm_maskz_ternarylogic_epi64): Likewise.
4169 (_mm_ternarylogic_epi32): Likewise.
4170 (_mm_mask_ternarylogic_epi32): Likewise.
4171 (_mm_maskz_ternarylogic_epi32): Likewise.
4173 2022-02-25 Jakub Jelinek <jakub@redhat.com>
4174 Marc Glisse <marc.glisse@inria.fr>
4176 PR tree-optimization/104675
4177 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
4178 Restrict simplifications to INTEGRAL_TYPE_P.
4180 2022-02-25 Jakub Jelinek <jakub@redhat.com>
4183 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
4185 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
4187 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
4188 comparison is not valid.
4189 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
4190 (movdicc): Likewise.
4191 (movsfcc): Likewise.
4192 (movdfcc): Likewise.
4194 2022-02-25 Richard Biener <rguenther@suse.de>
4196 PR tree-optimization/103037
4197 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
4198 (vn_nary_length_from_stmt): Likewise.
4199 (init_vn_nary_op_from_stmt): Likewise.
4200 (vn_nary_op_compute_hash): Likewise.
4201 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
4202 (vn_nary_length_from_stmt): Likewise.
4203 (init_vn_nary_op_from_stmt): Likewise.
4204 (vn_nary_op_compute_hash): Likewise.
4205 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
4206 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
4207 (re-)compute the hash value and if the expression is not
4208 found allocate it from pre_expr_obstack.
4209 (phi_translate_1): Do not insert the NARY found in the
4210 VN tables but build a PRE expression from the valueized
4211 NARY with the value-id we eventually found.
4212 (find_or_generate_expression): Assert we have an entry
4213 for constant values.
4214 (compute_avail): Insert not valueized expressions into
4215 EXP_GEN using the value-id from the VN tables.
4216 (init_pre): Allocate pre_expr_obstack.
4217 (fini_pre): Free pre_expr_obstack.
4219 2022-02-25 Jakub Jelinek <jakub@redhat.com>
4222 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
4223 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
4224 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
4226 2022-02-25 Jakub Jelinek <jakub@redhat.com>
4228 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
4230 2022-02-25 Jakub Jelinek <jakub@redhat.com>
4232 PR middle-end/104679
4233 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
4235 2022-02-25 Jakub Jelinek <jakub@redhat.com>
4237 PR tree-optimization/104675
4238 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
4241 2022-02-25 Alexandre Oliva <oliva@adacore.com>
4245 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
4247 2022-02-25 Alexandre Oliva <oliva@adacore.com>
4249 PR middle-end/104540
4250 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
4253 2022-02-25 Alexandre Oliva <oliva@adacore.com>
4255 PR tree-optimization/103856
4256 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
4257 eh edge to be requested through an extra parameter.
4258 (pass_harden_compares::execute): Copy PHI args in the EH dest
4259 block for the new EH edge added for the inverted compare.
4261 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
4263 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
4264 of position independence that -mcmodel=medany affords.
4266 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
4269 * configure.ac: --disable-gcov if targetting bpf-*.
4270 * configure: Regenerate.
4272 2022-02-24 Richard Biener <rguenther@suse.de>
4274 PR tree-optimization/104676
4275 * tree-loop-distribution.cc (loop_distribution::execute):
4276 Do a full scev_reset.
4278 2022-02-24 Jakub Jelinek <jakub@redhat.com>
4280 PR tree-optimization/104601
4281 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
4282 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
4285 2022-02-24 Tom de Vries <tdevries@suse.de>
4286 Tobias Burnus <tobias@codesourcery.com>
4288 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
4289 sm_70, sm_75 and sm_80.
4290 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
4292 2022-02-24 Tom de Vries <tdevries@suse.de>
4294 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
4295 "rotrsi3"): New define_insn.
4297 2022-02-24 Tom de Vries <tdevries@suse.de>
4299 * config/nvptx/nvptx.cc (gen_comment): Use
4300 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
4302 2022-02-24 liuhongt <hongtao.liu@intel.com>
4304 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
4305 isa attr of alternative 2 from avx to avx512vl.
4307 2022-02-23 Richard Biener <rguenther@suse.de>
4308 Jakub Jelinek <jakub@redhat.com>
4310 PR tree-optimization/104644
4311 * doc/match-and-simplify.texi: Amend ! documentation.
4312 * genmatch.cc (expr::gen_transform): Code-generate ! support
4314 (parser::parse_expr): Allow ! for GENERIC.
4315 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
4318 2022-02-23 Richard Biener <rguenther@suse.de>
4320 PR tree-optimization/101636
4321 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
4322 vector type of the node.
4323 (vect_slp_analyze_operations): Make sure the CTOR
4324 is vectorized with an expected type.
4325 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
4327 2022-02-23 Jakub Jelinek <jakub@redhat.com>
4330 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
4331 Don't warn about calls to corresponding builtin from extern inline
4332 gnu_inline wrappers.
4334 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
4337 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
4339 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
4343 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
4346 2022-02-23 Cui,Lili <lili.cui@intel.com>
4348 * doc/invoke.texi: Update documents for Intel architectures.
4350 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
4352 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
4355 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
4357 * omp-low.cc (omp_build_component_ref): Move function...
4358 * omp-general.cc (omp_build_component_ref): ... here. Remove
4360 * omp-general.h (omp_build_component_ref): Declare function.
4361 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
4363 (build_receiver_ref, build_sender_ref): Call
4364 'omp_build_component_ref' instead.
4366 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
4368 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
4369 simplify. Adjust all users.
4371 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
4374 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
4375 atomic_update_decl): Add GTY markup.
4377 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4379 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
4381 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4385 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
4387 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
4388 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
4389 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
4390 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
4391 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
4392 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
4393 * config/arm/mve.md: Use VxBI instead of HI.
4395 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4399 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
4401 (STRSBU_P_QUALIFIERS): Likewise.
4402 (LDRGBS_Z_QUALIFIERS): Likewise.
4403 (LDRGBU_Z_QUALIFIERS): Likewise.
4404 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
4405 (LDRGBWBS_Z_QUALIFIERS): Likewise.
4406 (LDRGBWBU_Z_QUALIFIERS): Likewise.
4407 (STRSBWBS_P_QUALIFIERS): Likewise.
4408 (STRSBWBU_P_QUALIFIERS): Likewise.
4409 * config/arm/mve.md: Use VxBI instead of HI.
4411 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4415 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
4416 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
4417 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
4418 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
4419 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
4420 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
4421 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
4422 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
4423 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
4424 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
4425 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
4426 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
4427 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
4428 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
4429 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
4430 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
4431 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
4432 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
4433 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
4434 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
4435 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
4436 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
4437 (STRS_P_QUALIFIERS): Use predicate qualifier.
4438 (STRU_P_QUALIFIERS): Likewise.
4439 (STRSU_P_QUALIFIERS): Likewise.
4440 (STRSS_P_QUALIFIERS): Likewise.
4441 (LDRGS_Z_QUALIFIERS): Likewise.
4442 (LDRGU_Z_QUALIFIERS): Likewise.
4443 (LDRS_Z_QUALIFIERS): Likewise.
4444 (LDRU_Z_QUALIFIERS): Likewise.
4445 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
4446 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
4447 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
4448 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
4449 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
4450 * config/arm/mve.md: Use MVE_VPRED instead of HI.
4452 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4456 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
4458 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
4459 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
4460 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
4461 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
4462 predicated qualifiers.
4463 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
4464 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
4466 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4469 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
4470 (arm_expand_vector_compare): Update prototype.
4471 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
4472 (arm_vector_mode_supported_p): Add support for VxBI modes.
4473 (arm_expand_vector_compare): Remove useless generation of vpsel.
4474 (arm_expand_vcond): Fix select operands.
4475 (arm_get_mask_mode): New.
4476 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
4477 (vec_cmpu<mode><MVE_vpred>): New.
4478 (vcond_mask_<mode><MVE_vpred>): New.
4479 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
4480 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
4481 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
4482 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
4483 and disable for MVE.
4484 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
4486 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4490 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
4491 (BINOP_PRED_NONE_NONE_QUALIFIERS)
4492 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
4493 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
4494 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
4495 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
4497 (arm_mode_to_pred_mode): New.
4498 (arm_expand_vector_compare): Use the right VxBI mode instead of
4500 (arm_expand_vcond): Likewise.
4501 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
4502 (mve_bool_vec_to_const): New.
4503 (neon_make_constant): Call mve_bool_vec_to_const when needed.
4504 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
4505 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
4506 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
4507 (vpselq_s, vpselq_f): Use new predicated qualifiers.
4508 * config/arm/constraints.md (DB): New.
4509 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
4510 (MVE_VPRED, MVE_vpred): New attribute iterators.
4511 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
4512 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
4513 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
4514 (@mve_vpselq_<supf>v2di): Define separately.
4515 (mov<mode>): New expander for VxBI modes.
4516 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
4517 MVE_7_HI iterator and add support for DB constraint.
4519 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4520 Richard Sandiford <richard.sandiford@arm.com>
4524 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
4525 VNx2BI): Update definition.
4526 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
4528 (arm_init_builtin): Map predicate vectors arguments to HImode.
4529 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
4530 rtx. Move return value to HImode rtx.
4531 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
4532 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
4533 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
4534 Pred2x8_t,Pred4x4_t): New.
4535 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
4536 * genmodes.cc (mode_data): Add boolean field.
4537 (blank_mode): Initialize it.
4538 (make_complex_modes): Fix handling of boolean modes.
4539 (make_vector_modes): Likewise.
4540 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
4541 (make_vector_bool_mode): Likewise.
4543 (make_bool_mode): New.
4544 (emit_insn_modes_h): Fix generation of boolean modes.
4545 (emit_class_narrowest_mode): Likewise.
4546 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
4547 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
4549 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
4550 Fix handling of constm1_rtx for VECTOR_BOOL.
4551 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
4552 (native_decode_vector_rtx): Likewise.
4553 (test_vector_ops_duplicate): Skip vec_merge test
4554 with vectors of booleans.
4555 * varasm.cc (output_constant_pool_2): Likewise.
4557 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4559 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
4562 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4564 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
4566 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4568 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
4569 (REG_CLASS_NAMES): Likewise.
4570 (REG_CLASS_CONTENTS): Likewise.
4571 (CLASS_MAX_NREGS): Handle VPR.
4572 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
4574 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
4575 Tom de Vries <tdevries@suse.de>
4577 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
4578 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
4580 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
4582 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
4583 Tom de Vries <tdevries@suse.de>
4585 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
4586 * doc/invoke.texi (-mptx): Update for new values and defaults.
4588 2022-02-22 Tom de Vries <tdevries@suse.de>
4590 * config/nvptx/nvptx.cc (gen_comment): New function.
4591 (workaround_uninit_method_1, workaround_uninit_method_2)
4592 (workaround_uninit_method_3): : Use gen_comment.
4593 * config/nvptx/nvptx.opt (mptx-comment): New option.
4595 2022-02-22 Richard Biener <rguenther@suse.de>
4597 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
4600 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
4601 Richard Biener <rguenther@suse.de>
4603 * fold-const.cc (ctor_single_nonzero_element): New function to
4604 return the single non-zero element of a (vector) constructor.
4605 * fold-const.h (ctor_single_nonzero_element): Prototype here.
4606 * match.pd (reduc (constructor@0)): Simplify reductions of a
4607 constructor containing a single non-zero element.
4608 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
4609 reductions of vector operations of the same operator with
4610 constant vector operands.
4612 2022-02-22 Jakub Jelinek <jakub@redhat.com>
4614 PR tree-optimization/104604
4615 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
4616 Only check if gimple_assign_rhs1 is COMPLEX_CST if
4617 gimple_assign_rhs_code is COMPLEX_CST.
4619 2022-02-22 Jakub Jelinek <jakub@redhat.com>
4622 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
4623 on input operands before calling lowpart_subreg on it. For output
4624 operand, use a vmode pseudo as destination and then move its lowpart
4625 subreg into operands[0] if lowpart_subreg fails on dest.
4626 (ix86_expand_xorsign): Likewise.
4628 2022-02-22 Richard Biener <rguenther@suse.de>
4630 PR tree-optimization/104582
4632 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
4633 Cost GPR to vector register moves for integer vector construction.
4635 2022-02-22 Richard Biener <rguenther@suse.de>
4637 PR tree-optimization/104582
4638 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
4639 (vector_costs::add_stmt_cost): Add SLP node parameter.
4640 (dump_stmt_cost): Likewise.
4641 (add_stmt_cost): Likewise, new overload and adjust.
4642 (add_stmt_costs): Adjust.
4643 (record_stmt_cost): New overload.
4644 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
4645 (vector_costs::add_stmt_cost): Adjust.
4646 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
4648 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
4649 the SLP node for costing.
4650 (vectorizable_slp_permutation): Likewise.
4651 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
4653 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
4655 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
4657 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
4659 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
4661 2022-02-22 Richard Biener <rguenther@suse.de>
4663 PR tree-optimization/104582
4664 * tree-vectorizer.h (add_stmt_cost): New overload.
4665 (record_stmt_cost): Likewise.
4666 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
4668 (vect_get_known_peeling_cost): Use new overloads.
4669 (vect_estimate_min_profitable_iters): Likewise. Consistently
4670 use scalar_stmt for costing versioning checks.
4671 * tree-vect-stmts.cc (record_stmt_cost): New overload.
4673 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
4676 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
4677 Split atomic fetch and loop part.
4678 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
4679 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
4681 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
4682 expander under TARGET_RELAX_CMPXCHG_LOOP.
4683 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
4685 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
4687 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
4688 Change wb_candidate[12] to wb_push_candidate[12].
4689 (aarch64_layout_frame): Likewise, and
4690 change callee_adjust when scs is enabled.
4691 (aarch64_save_callee_saves):
4692 Change wb_candidate[12] to wb_push_candidate[12].
4693 (aarch64_restore_callee_saves):
4694 Change wb_candidate[12] to wb_pop_candidate[12].
4695 (aarch64_get_separate_components):
4696 Change wb_candidate[12] to wb_push_candidate[12].
4697 (aarch64_expand_prologue): Push x30 onto SCS before it's
4699 (aarch64_expand_epilogue): Pop x30 frome SCS, while
4700 preventing it from being popped from the regular stack again.
4701 (aarch64_override_options_internal): Add SCS compile option check.
4702 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
4703 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
4704 wb_pop_candidate[12], and rename wb_candidate[12] to
4705 wb_push_candidate[12].
4706 * config/aarch64/aarch64.md (scs_push): New template.
4707 (scs_pop): Likewise.
4708 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
4709 * doc/tm.texi: Regenerate.
4710 * doc/tm.texi.in: Add hook have_shadow_call_stack.
4711 * flag-types.h (enum sanitize_code):
4712 Add SANITIZE_SHADOW_CALL_STACK.
4713 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
4714 and exclude SANITIZE_SHADOW_CALL_STACK.
4715 * target.def: New hook.
4716 * toplev.cc (process_options): Add SCS compile option check.
4717 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
4719 2022-02-21 Tom de Vries <tdevries@suse.de>
4722 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
4723 (workaround_uninit_method_2, workaround_uninit_method_3)
4724 (workaround_uninit): New function.
4725 (nvptx_reorg): Use workaround_uninit.
4726 * config/nvptx/nvptx.opt (minit-regs): New option.
4728 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
4730 PR rtl-optimization/104498
4731 * alias.cc (compare_base_symbol_refs): Correct distance computation
4732 when swapping x and y.
4734 2022-02-21 Andrew Pinski <apinski@marvell.com>
4737 * tree-ssa.cc (tree_ssa_useless_type_conversion):
4738 Check the inner type before calling useless_type_conversion_p.
4740 2022-02-19 Tom de Vries <tdevries@suse.de>
4742 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
4743 * config/nvptx/nvptx.md
4744 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
4745 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
4746 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
4747 (define_expand "atomic_store<mode>"): Handle rename. Use
4748 nvptx_atomic_store instead of atomic_exchange.
4750 2022-02-19 Tom de Vries <tdevries@suse.de>
4752 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
4753 insns with atomic attribute. Assert that all handled insns are
4755 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
4756 Set atomic attribute to false.
4758 2022-02-19 Tom de Vries <tdevries@suse.de>
4760 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
4762 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
4763 nvptx_warpsync, if necessary.
4765 2022-02-19 Jakub Jelinek <jakub@redhat.com>
4768 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
4769 known to be within bounds, treat it like automatic variables.
4770 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
4771 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
4774 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
4776 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
4777 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
4778 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
4779 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
4780 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
4781 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
4782 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
4783 power10_sched_reorder): Likewise.
4784 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
4785 gen_addadd): Likewise
4786 * config/rs6000/fusion.md: Regenerate.
4788 2022-02-18 Jakub Jelinek <jakub@redhat.com>
4792 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
4793 rather than __posix_memalign.
4795 2022-02-18 Richard Biener <rguenther@suse.de>
4798 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
4799 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
4800 of calling ix86_avx_u128_mode_source which would eventually
4801 have returned AVX_U128_ANY in some very special case.
4803 2022-02-18 Richard Biener <rguenther@suse.de>
4805 PR tree-optimization/96881
4806 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
4808 (control_parents_preserved_p): New function.
4809 (eliminate_unnecessary_stmts): Check that we preserved control
4810 parents before retaining a CLOBBER.
4811 (perform_tree_ssa_dce): Pass down aggressive flag
4812 to eliminate_unnecessary_stmts.
4814 2022-02-17 Jason Merrill <jason@redhat.com>
4816 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
4817 on TYPE_MAIN_VARIANT.
4819 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
4822 * config/rs6000/bmi2intrin.h: Uglify local variables.
4823 * config/rs6000/emmintrin.h: Likewise.
4824 * config/rs6000/mm_malloc.h: Likewise.
4825 * config/rs6000/mmintrin.h: Likewise.
4826 * config/rs6000/pmmintrin.h: Likewise.
4827 * config/rs6000/smmintrin.h: Likewise.
4828 * config/rs6000/tmmintrin.h: Likewise.
4829 * config/rs6000/xmmintrin.h: Likewise.
4831 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
4834 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
4835 if the expected comparison's first operand is of mode MODE_CC.
4837 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
4839 PR rtl-optimization/104447
4840 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
4841 hard reg set by lra_no_alloc_regs.
4843 2022-02-17 liuhongt <hongtao.liu@intel.com>
4845 PR tree-optimization/104551
4846 PR tree-optimization/103771
4847 * match.pd (cond_expr_convert_p): Add types_match check when
4848 convert is extension.
4849 * tree-vect-patterns.cc
4850 (gimple_cond_expr_convert_p): Adjust comments.
4851 (vect_recog_cond_expr_convert_pattern): Ditto.
4853 2022-02-17 Jakub Jelinek <jakub@redhat.com>
4856 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
4857 if expr has VOIDmode.
4859 2022-02-17 liuhongt <hongtao.liu@intel.com>
4861 * config/i386/cpuid.h (bit_MPX): Removed.
4862 (bit_BNDREGS): Ditto.
4863 (bit_BNDCSR): Ditto.
4865 2022-02-17 Michael Meissner <meissner@the-meissners.org>
4868 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
4869 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
4870 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
4873 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
4875 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
4876 range_compatible_p instead of direct type comparison.
4878 2022-02-16 Jakub Jelinek <jakub@redhat.com>
4880 PR rtl-optimization/104544
4881 * combine.cc (try_combine): When looking for insn whose links
4882 should be updated from i3 to i2, don't stop on debug insns, instead
4885 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
4888 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
4889 * config/aarch64/aarch64.md: Extend the PR100056 patterns
4890 to handle plus in the same way as ior, if the operands have
4891 no set bits in common.
4893 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
4895 PR tree-optimization/104526
4896 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
4898 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
4899 of dependency chain if there isn't one.
4900 (gori_compute::condexpr_adjust): New.
4901 * gimple-range-gori.h (class gori_compute): New prototype.
4903 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
4906 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
4908 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
4909 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
4911 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
4913 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
4914 (vect_scalar_ops_slice_hash): Likewise.
4915 (vect_scalar_ops_slice::op): New function.
4916 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
4917 (vect_scalar_ops_slice_hash::hash): Likewise.
4918 (vect_scalar_ops_slice_hash::equal): Likewise.
4919 (vect_prologue_cost_for_slp): Check for duplicate vectors.
4920 * config/aarch64/aarch64.cc
4921 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
4922 (aarch64_aligned_constant_offset_p): New function.
4923 (aarch64_stp_sequence_cost): Likewise.
4924 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
4925 (aarch64_vector_costs::finish_cost): Likewise.
4927 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
4929 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
4932 2022-02-15 Richard Biener <rguenther@suse.de>
4934 PR tree-optimization/104543
4935 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
4936 come after the inner loop.
4938 2022-02-15 Jakub Jelinek <jakub@redhat.com>
4941 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
4942 cannot instead of can%'t in diagnostics. Formatting fixes.
4944 2022-02-15 Jakub Jelinek <jakub@redhat.com>
4946 PR middle-end/104522
4947 * fold-const.h (native_interpret_real): Declare.
4948 * fold-const.cc (native_interpret_real): No longer static. Don't
4949 perform MODE_COMPOSITE_P verification here.
4950 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
4952 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
4953 instead of native_interpret_expr.
4954 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
4955 and comparison verification for all FLOAT_MODE_P modes, not just
4958 2022-02-15 Richard Biener <rguenther@suse.de>
4960 PR tree-optimization/104519
4961 * fold-const.cc (multiple_of_p): Remove never true condition.
4962 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
4963 the appropriate types for determining whether the difference
4964 of final and base is a multiple of the step.
4966 2022-02-15 Jakub Jelinek <jakub@redhat.com>
4969 * omp-low.cc (task_cpyfns): New variable.
4970 (delete_omp_context): Don't call finalize_task_copyfn from here.
4971 (create_task_copyfn): Push task_stmt into task_cpyfns.
4972 (execute_lower_omp): Call finalize_task_copyfn here on entries from
4973 task_cpyfns vector and release the vector.
4975 2022-02-14 Martin Sebor <msebor@redhat.com>
4977 PR middle-end/104355
4978 * doc/invoke.texi (-Warray-bounds): Update documentation.
4980 2022-02-14 Michael Meissner <meissner@the-meissners.org>
4983 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
4984 conversion functions used to convert IFmode types.
4986 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
4988 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
4990 2022-02-14 Richard Biener <rguenther@suse.de>
4992 PR tree-optimization/104528
4993 * tree-ssa.h (find_released_ssa_name): Declare.
4994 * tree-ssa.cc (find_released_ssa_name): Export.
4995 * cfgloop.cc (verify_loop_structure): Look for released
4996 SSA names in loops nb_iterations.
4997 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
5000 2022-02-14 Richard Biener <rguenther@suse.de>
5002 PR tree-optimization/104511
5003 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
5004 touching DFP <-> FP conversions.
5006 2022-02-14 Richard Biener <rguenther@suse.de>
5008 PR middle-end/104497
5009 * gimplify.cc (gimplify_compound_lval): Make sure the
5010 base is a non-register if needed and possible.
5012 2022-02-13 liuhongt <hongtao.liu@intel.com>
5015 * match.pd (cond_expr_convert_p): New match.
5016 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
5017 (vect_recog_cond_expr_convert_pattern): New.
5019 2022-02-12 Jakub Jelinek <jakub@redhat.com>
5022 * asan.cc: Include tree-eh.h.
5023 (handle_builtin_alloca): Handle the case when __builtin_alloca or
5024 __builtin_alloca_with_align can throw.
5026 2022-02-12 Jakub Jelinek <jakub@redhat.com>
5029 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
5030 and AVX512VL isn't available, move operands[1] to operands[0] first.
5032 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
5035 * config/i386/i386.cc (type_natural_mode):
5036 Skip decimal float vector modes.
5038 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
5039 Vladimir Makarov <vmakarov@redhat.com>
5042 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
5043 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
5045 (legitimate_lo_sum_address_p): Likewise.
5046 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
5047 load from an invalid lo_sum address.
5049 2022-02-11 Jakub Jelinek <jakub@redhat.com>
5051 PR tree-optimization/104499
5052 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
5055 2022-02-11 Jakub Jelinek <jakub@redhat.com>
5057 * tree.cc (build_common_builtin_nodes): Fix up formatting in
5058 __builtin_clear_padding decl creation.
5059 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
5060 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
5061 argument rather than in 3rd argument.
5062 (gimplify_call_expr): Likewise. Fix up comment formatting.
5063 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
5064 2 arguments instead of 3, take for_auto_init from the value
5067 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
5069 PR rtl-optimization/104400
5070 * lra-constraints.cc (process_alt_operands): Don't make union of
5071 this_alternative_exclude_start_hard_regs when reg class in insn
5072 alternative covers other reg classes in the same alternative.
5074 2022-02-11 Jakub Jelinek <jakub@redhat.com>
5076 PR middle-end/104446
5077 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
5080 2022-02-11 Richard Biener <rguenther@suse.de>
5082 PR middle-end/104496
5083 * internal-fn.cc (vectorized_internal_fn_supported_p):
5084 Bail out for integer mode vector types.
5086 2022-02-11 Jakub Jelinek <jakub@redhat.com>
5088 PR rtl-optimization/104459
5089 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
5090 moving DEBUG_INSNs between bbs.
5092 2022-02-11 liuhongt <hongtao.liu@intel.com>
5094 PR tree-optimization/104479
5095 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
5096 for the dest of uncond_op.
5098 2022-02-11 Tom de Vries <tdevries@suse.de>
5101 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
5104 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
5106 PR middle-end/100775
5107 * function.cc (gen_call_used_regs_seq): Call
5108 df_update_exit_block_uses when updating df.
5110 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
5113 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
5114 Change operand 1 constraint to register_operand.
5116 2022-02-10 Richard Biener <rguenther@suse.de>
5118 PR tree-optimization/104373
5119 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
5121 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
5122 walk kind as argument.
5123 (run_rpo_vn): Adjust.
5124 (pass_fre::execute): Likewise.
5125 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
5126 blocks not reachable.
5127 (execute_late_warn_uninitialized): Mark all edges as
5129 (execute_early_warn_uninitialized): Use VN to compute
5131 (pass_data_early_warn_uninitialized): Enable a dump file,
5132 change dump name to warn_uninit.
5134 2022-02-10 Richard Biener <rguenther@suse.de>
5136 PR middle-end/104467
5137 * match.pd (vector extract simplification): Multiply the
5138 number of CTOR elements with the number of element elements.
5140 2022-02-10 Richard Biener <rguenther@suse.de>
5142 PR tree-optimization/104466
5143 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
5144 for the MR_DEPENDENCE checks as intended.
5146 2022-02-10 Tom de Vries <tdevries@suse.de>
5148 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
5150 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
5152 (define_c_enum "unspecv"): Add UNSPECV_ST.
5154 2022-02-10 Tom de Vries <tdevries@suse.de>
5156 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
5157 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
5158 (nvptx_mem_maybe_shared_p): New function.
5159 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
5162 2022-02-10 Tom de Vries <tdevries@suse.de>
5165 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
5166 driver JIT bug by using sub.s16 instead of sub.u16.
5168 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
5170 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
5171 floating point constants as operands 1 and/or 2.
5173 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
5176 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
5177 (sel_false<mode>): Likewise.
5178 (define_code_iterator eqne): New code iterator for EQ and NE.
5179 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
5180 the negation of a selp instruction.
5181 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
5182 the bitwise not of a selp instruction.
5183 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
5185 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
5187 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
5188 in machine description.
5189 (logic): Move code attribute earlier in machine description.
5190 (ilogic): New code attribute, like logic but "ior" for IOR.
5191 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
5192 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
5193 (<ilogic>bi3): New define_insn for BI mode logic operations.
5194 (define_split): Lower logic operations from integer modes to
5195 BI mode predicate operations.
5197 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
5199 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
5200 (one_cmplbi2): New define_insn for not.pred.
5201 (mulditi3): New define_expand for signed widening multiply.
5202 (umulditi3): New define_expand for unsigned widening multiply.
5203 (smul<mode>3_highpart): New define_insn for signed highpart mult.
5204 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
5205 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
5206 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
5207 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
5208 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
5209 (*setcc<mode>_from_not_bi): New define_insn.
5210 (*setcc_isinf<mode>): New define_insn for testp.infinite.
5211 (isinf<mode>2): New define_expand.
5213 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
5215 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
5216 (setcc<mode>_from_bi): Additionally support QImode.
5217 (extendbi<mode>2): Additionally support QImode.
5218 (zero_extendbi<mode>2): Additionally support QImode.
5219 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
5220 iterators for signed and unsigned, binary and unary operations.
5221 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
5222 expanders to perform QImode operations using SImode instructions.
5223 (cstoreqi4): New define_expand.
5224 (*ext_truncsi2_qi): New define_insn.
5225 (*zext_truncsi2_qi): New define_insn.
5227 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
5229 * config/nvptx/nvptx.md (*cmpf): New define_insn.
5230 (cstorehf4): New define_expand.
5231 (fmahf4): New define_insn.
5232 (neghf2): New define_insn.
5233 (abshf2): New define_insn.
5235 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
5237 * doc/install.texi (Specific): Change the www.bitwizard.nl
5238 reference to use https.
5240 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
5242 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
5243 OMP_CLAUSE_HAS_DEVICE_ADDR
5244 and handle array sections.
5245 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
5246 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
5247 (lower_omp_target): Same.
5248 * tree-core.h (enum omp_clause_code): Same.
5249 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
5250 (convert_local_omp_clauses): Same.
5251 * tree-pretty-print.cc (dump_omp_clause): Same.
5254 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
5256 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
5257 that will result in direct recursive calls.
5259 2022-02-10 Andrew Pinski <apinski@marvell.com>
5262 * config/aarch64/aarch64.cc
5263 (aarch64_sve_expand_vector_init_handle_trailing_constants):
5264 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
5266 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
5269 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
5270 Also include OPTION_MASK_ISA2_AVX2_UNSET.
5272 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
5275 * config/i386/i386-expand.cc (ix86_split_idivmod):
5276 Force operands[2] and operands[3] into a register..
5278 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
5281 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
5282 (*v850_fnmssf4): Renamed from fnmssf4
5284 2022-02-09 Ian Lance Taylor <iant@golang.org>
5286 * godump.cc (go_force_record_alignment): Really name the alignment
5287 field "_" (complete 2021-12-29 change).
5289 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
5291 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
5293 (VREPLACE_UN_UV4SI): Likewise.
5294 (VREPLACE_UN_V2DF): Likewise.
5295 (VREPLACE_UN_V2DI): Likewise.
5296 (VREPLACE_UN_V4SF): Likewise.
5297 (VREPLACE_UN_V4SI): Likewise.
5298 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
5299 function prototypes.
5300 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
5301 (vreplace_un_<mode>): New define_insn.
5303 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5305 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
5307 (single_wx, single_type, single_dtype, dblq): New mode attributes.
5308 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
5310 (store_pair_lanes<mode>): Likewise.
5311 (*aarch64_combine_internal<mode>): Likewise.
5312 (*aarch64_combine_internal_be<mode>): Likewise.
5313 (*aarch64_combinez<mode>): Likewise.
5314 (*aarch64_combinez_be<mode>): Likewise.
5315 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
5316 8-byte modes for ADDR_QUERY_LDP_STP_N.
5317 (aarch64_print_operand): Likewise for %y.
5319 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5321 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
5322 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
5323 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
5324 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
5325 (vec_pack_trunc_<mode>): Take general_operand elements and use
5326 aarch64_combine rather than move_lo/hi_quad to combine them.
5327 (vec_pack_trunc_df): Likewise.
5329 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5331 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
5333 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
5335 (*aarch64_combinez<mode>): ...this.
5336 (@aarch64_combinez_be<mode>): Rename to...
5337 (*aarch64_combinez_be<mode>): ...this.
5338 (@aarch64_vec_concat<mode>): New expander.
5339 (aarch64_combine<mode>): Use it.
5340 (@aarch64_simd_combine<mode>): Delete.
5341 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
5342 (aarch64_expand_vector_init): Use aarch64_vec_concat.
5344 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5346 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
5348 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
5349 (*aarch64_combine_internal_be<mode>): New patterns.
5351 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5353 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
5354 (move_lo_quad_internal_be_<mode>): Delete.
5355 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
5357 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5359 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
5361 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
5362 aarch64_mergeable_load_pair_p instead of inline check.
5363 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
5364 (aarch64_check_consecutive_mems): Allow the reversed parameter
5366 (aarch64_mergeable_load_pair_p): New function.
5368 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5370 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
5371 element to be an aarch64_simd_nonimmediate_operand.
5373 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5375 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
5376 aarch64_simd_nonimmediate_operand instead of
5377 aarch64_simd_general_operand.
5378 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
5380 (@aarch64_combinez_be<mode>): Likewise.
5382 2022-02-09 Richard Biener <rguenther@suse.de>
5384 PR middle-end/104464
5385 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
5386 throwing check to after unproblematic replacement.
5388 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
5390 PR tree-optimization/104420
5391 * match.pd (mult @0 real_zerop): Tweak conditions for constant
5392 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
5394 2022-02-09 Jakub Jelinek <jakub@redhat.com>
5397 * dwarf2out.cc (mangle_referenced_decls): New function.
5398 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
5399 early_dwarf. Instead walk the initializer and try to mangle vars or
5400 functions referenced from it.
5402 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
5404 PR tree-optimization/104288
5405 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
5406 (non_null_ref::adjust_range): Move to header.
5407 (ranger_cache::range_of_def): Don't check non-null.
5408 (ranger_cache::entry_range): Don't check non-null.
5409 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
5410 (ranger_cache::update_to_nonnull): New.
5411 (non_null_loadstore): New.
5412 (ranger_cache::block_apply_nonnull): New.
5413 * gimple-range-cache.h (class non_null_ref): Update prototypes.
5414 (non_null_ref::adjust_range): Move to here and inline.
5415 (class ranger_cache): Update prototypes.
5416 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
5417 not search dominators.
5418 (path_range_query::adjust_for_non_null_uses): Ditto.
5419 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
5420 def overrides. Do not check nonnull.
5421 (gimple_ranger::range_on_entry): Check dominators for nonnull.
5422 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
5423 (gimple_ranger::register_side_effects): New.
5424 * gimple-range.h (gimple_ranger::register_side_effects): New.
5425 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
5427 2022-02-09 Richard Biener <rguenther@suse.de>
5429 PR tree-optimization/104445
5430 PR tree-optimization/102832
5431 * optabs-query.h (can_vec_extract): New.
5432 * optabs-query.cc (can_vec_extract): Likewise.
5433 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
5434 we can extract a hi/lo part from the larger vector, rework
5435 check iteration from larger to smaller sizes.
5437 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
5441 * config/i386/gnu-property.cc: Include "i386-protos.h".
5442 (file_end_indicate_exec_stack_and_gnu_property): Generate
5443 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
5444 nodirect_extern_access attribute.
5445 * config/i386/i386-options.cc
5446 (handle_nodirect_extern_access_attribute): New function.
5447 (ix86_attribute_table): Add nodirect_extern_access attribute.
5448 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
5450 (ix86_has_no_direct_extern_access): New.
5451 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
5452 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
5453 call operand. Force non-call load from GOT for
5454 -mno-direct-extern-access or nodirect_extern_access attribute.
5455 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
5456 for -mno-direct-extern-access or nodirect_extern_access attribute.
5457 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
5459 (asm_preferred_eh_data_format): Use PC-relative format for
5460 -mno-direct-extern-access to avoid copy relocation. Check
5461 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
5462 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
5463 true for -mno-direct-extern-access or nodirect_extern_access
5464 attribute. Don't treat protected data as extern and avoid copy
5465 relocation on common symbol with -mno-direct-extern-access or
5466 nodirect_extern_access attribute.
5467 (ix86_reloc_rw_mask): New to avoid copy relocation for
5468 -mno-direct-extern-access.
5469 (TARGET_ASM_RELOC_RW_MASK): New.
5470 * config/i386/i386.opt: Add -mdirect-extern-access.
5471 * doc/extend.texi: Document nodirect_extern_access attribute.
5472 * doc/invoke.texi: Document -m[no-]direct-extern-access.
5474 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
5477 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
5478 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
5479 Call ix86_avx_u128_mode_source to check mode for each component
5482 2022-02-09 liuhongt <hongtao.liu@intel.com>
5485 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
5486 operands[2] from SImode to QImode.
5488 2022-02-09 Richard Biener <rguenther@suse.de>
5490 PR middle-end/104450
5491 * gimple-isel.cc: Pass cfun around.
5492 (+gimple_expand_vec_cond_expr): Do not combine a throwing
5493 comparison with the select.
5495 2022-02-09 Richard Biener <rguenther@suse.de>
5498 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
5499 folding for NULL LHS.
5501 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
5503 PR rtl-optimization/104198
5504 PR rtl-optimization/104153
5505 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
5506 using it directly. Rework comparison handling and always
5507 perform a second pass.
5509 2022-02-08 Jakub Jelinek <jakub@redhat.com>
5512 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
5513 split1 pass has finished already.
5515 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
5517 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
5518 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
5519 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
5520 (vmsumcud): New define_insn.
5522 2022-02-08 Tom de Vries <tdevries@suse.de>
5524 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
5525 * config/nvptx/nvptx.h (TARGET_SM70): Define.
5527 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
5529 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
5531 * config/s390/s390.md: Use paradoxical subreg.
5533 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
5535 * combine.cc (reg_subword_p): Check for paradoxical subreg.
5537 2022-02-08 Tom de Vries <tdevries@suse.de>
5540 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
5541 and PTX_VERSION_4_2.
5542 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
5543 (default_ptx_version_option, ptx_version_to_string)
5544 (sm_version_to_string, handle_ptx_version_option): New function.
5545 (nvptx_option_override): Call handle_ptx_version_option.
5546 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
5547 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
5548 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
5549 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
5551 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
5553 * doc/install.texi (Configuration): Document `--with-isa-spec='
5555 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
5557 (RISC-V Options): Document it.
5559 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
5561 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
5563 2022-02-08 Tom de Vries <tdevries@suse.de>
5565 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
5567 2022-02-08 Tom de Vries <tdevries@suse.de>
5570 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
5571 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
5572 change is validated.
5573 (nvptx_mem_local_p): New function.
5574 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
5575 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
5576 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
5577 non-atomic, non-predicable define_insn, factored out of ...
5578 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
5579 Make predicable again.
5580 (define_expand "atomic_compare_and_swap<mode>"): Use
5581 atomic_compare_and_swap<mode>_1_local.
5583 2022-02-08 liuhongt <hongtao.liu@intel.com>
5585 PR rtl-optimization/104059
5586 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
5587 for a more expensive reg-reg move.
5589 2022-02-07 Tamar Christina <tamar.christina@arm.com>
5591 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
5592 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
5593 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
5594 (usdot_laneq, sudot_laneq): New.
5595 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
5596 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
5598 2022-02-07 Tamar Christina <tamar.christina@arm.com>
5600 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
5601 vdot_laneq_s32, vdotq_laneq_s32): New.
5602 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
5603 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
5604 (<sup>dot_prod<vsi2qi>): Re-order rtl.
5605 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
5606 (neon_<sup>dot_laneq<vsi2qi>): New.
5608 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
5611 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
5612 if always_inline is set. Don't inline when tune differs without
5615 2022-02-07 Richard Biener <rguenther@suse.de>
5617 PR middle-end/104402
5618 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
5619 compares are not valid.
5620 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
5621 check is_gimple_condexpr.
5623 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
5626 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
5627 hunk affecting VSX and ALTIVEC to appropriate place.
5629 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
5632 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
5635 2022-02-06 Jakub Jelinek <jakub@redhat.com>
5639 * fold-const.h (folding_initializer): Adjust comment.
5640 (folding_cxx_constexpr): Declare.
5641 * fold-const.cc (folding_initializer): Adjust comment.
5642 (folding_cxx_constexpr): New variable.
5643 (address_compare): Restrict the decl vs. STRING_CST
5644 or vice versa or STRING_CST vs. STRING_CST or
5645 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
5646 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
5647 assume non-aliased functions have non-zero size and have different
5648 addresses. For folding_cxx_constexpr, punt on comparisons of start
5649 of some object and end of another one, regardless whether it is a decl
5650 or string literal. Also punt for folding_cxx_constexpr on
5651 STRING_CST vs. STRING_CST comparisons if the two literals could be
5654 2022-02-05 Jakub Jelinek <jakub@redhat.com>
5656 PR tree-optimization/104389
5657 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
5660 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
5662 * configure.ac: Fix detection for zifencei support.
5663 * configure: Regenerate.
5665 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
5668 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
5669 (all_defaults): Add isa_spec.
5670 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
5672 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
5674 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
5675 parameters instead of arglist and nargs. Simplify accordingly. Remove
5676 unnecessary test for argument count mismatch.
5677 (resolve_vec_cmpne): Likewise.
5678 (resolve_vec_adde_sube): Likewise.
5679 (resolve_vec_addec_subec): Likewise.
5680 (altivec_resolve_overloaded_builtin): Move overload special handling
5681 after the gathering of arguments into args[] and types[] and the test
5682 for correct number of arguments. Don't perform the test for correct
5683 number of arguments for certain special cases. Call the other special
5684 cases with args and types instead of arglist and nargs.
5686 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
5689 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
5690 3.1): Provide consistent type names. Remove unnecessary semicolons.
5691 Fix bad line breaks.
5693 2022-02-04 Jakub Jelinek <jakub@redhat.com>
5696 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
5697 adjust mangling of __builtin*printf_chk.
5699 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
5701 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
5703 2022-02-04 Richard Biener <rguenther@suse.de>
5704 Bin Cheng <bin.cheng@linux.alibaba.com>
5706 PR tree-optimization/100499
5707 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
5709 * fold-const.cc (multiple_of_p): Likewise. Honor it for
5710 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
5711 switching to false for conversions.
5712 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
5713 claim the outermost expression does not wrap when calling
5714 multiple_of_p. Refactor the check done to check the
5715 original IV, avoiding a bias that might wrap.
5717 2022-02-04 Richard Biener <rguenther@suse.de>
5719 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
5722 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
5725 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
5726 (dwarf2out_early_finish): Likewise.
5728 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
5730 PR tree-optimization/104356
5731 * match.pd (X / bool_range_Y is X): Add guard.
5732 (X / X is one): Likewise.
5733 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
5734 (X / -X is -1): Likewise.
5735 (1 / X -> X == 1): Likewise.
5737 2022-02-04 Richard Biener <rguenther@suse.de>
5739 PR tree-optimization/103641
5740 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
5741 Pass the vector mode to choose_mult_variant.
5743 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
5745 PR rtl-optimization/101885
5746 * combine.cc (try_combine): When splitting a parallel into two
5747 sequential sets, check not only that the first doesn't clobber
5748 the second but also that the second doesn't clobber the first.
5750 2022-02-04 Richard Biener <rguenther@suse.de>
5753 PR middle-end/104092
5754 * tree-core.h (clobber_kind): New enum.
5755 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
5756 * tree.h (CLOBBER_KIND): Add.
5757 (build_clobber): Add clobber kind argument, defaulted to
5759 * tree.cc (build_clobber): Likewise.
5760 * gimple.h (gimple_clobber_p): New overload with specified kind.
5761 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
5763 * tree-streamer-out.cc (streamer_write_tree_bitfields):
5765 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
5766 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
5768 (gimplify_target_expr): Likewise.
5769 * tree-inline.cc (expand_call_inline): Likewise.
5770 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
5771 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
5772 CLOBBER_EOL clobbers as ending lifetime of storage.
5774 2022-02-04 Martin Sebor <msebor@redhat.com>
5776 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
5779 2022-02-03 Martin Sebor <msebor@redhat.com>
5781 PR middle-end/104260
5782 * passes.def (pass_warn_access): Adjust pass placement.
5784 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
5787 * config/i386/i386.cc (find_drap_reg): For 32bit targets
5788 return DI_REG if function uses __builtin_eh_return.
5790 2022-02-03 Martin Sebor <msebor@redhat.com>
5792 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
5793 (pass_wrestrict::m_ptr_qry): New member.
5794 (wrestrict_walk): Rename...
5795 (pass_wrestrict::check_block): ...to this.
5796 (pass_wrestrict::execute): Set up and tear down pointer_query and
5798 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
5799 (builtin_access::builtin_access): Same.
5800 (builtin_access::m_ptr_qry): New member.
5801 (check_call): Rename...
5802 (pass_wrestrict::check_call): ...to this.
5803 (check_bounds_or_overlap): Change argument.
5804 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
5806 2022-02-03 Martin Sebor <msebor@redhat.com>
5808 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
5810 (array_bounds_checker::get_value_range): Use new member.
5811 (array_bounds_checker::check_mem_ref): Same.
5812 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
5814 (array_bounds_checker::m_ptr_query): New member.
5816 2022-02-03 Martin Sebor <msebor@redhat.com>
5818 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
5819 pointer_query cache.
5820 * pointer-query.cc (pointer_query::pointer_query): Remove cache
5821 argument. Zero-initialize new cache member.
5822 (pointer_query::get_ref): Replace cache pointer with direct access.
5823 (pointer_query::put_ref): Same.
5824 (pointer_query::flush_cache): Same.
5825 (pointer_query::dump): Same.
5826 * pointer-query.h (class pointer_query): Remove cache argument from
5827 ctor. Change cache pointer to cache subobject member.
5828 * tree-ssa-strlen.cc: Remove pointer_query cache.
5830 2022-02-03 Martin Sebor <msebor@redhat.com>
5832 PR tree-optimization/104119
5833 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
5834 (format_none): Same.
5835 (format_percent): Same.
5836 (format_integer): Same.
5837 (format_floating): Same.
5838 (get_string_length): Same.
5839 (format_character): Same.
5840 (format_string): Same.
5841 (format_plain): Same.
5842 (format_directive): Same.
5843 (compute_format_length): Same.
5844 (handle_printf_call): Same.
5845 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
5847 (get_range_strlen_phi): Same.
5848 (get_maxbound): New function.
5849 (strlen_pass::get_len_or_size): Adjust to parameter change.
5850 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
5852 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
5855 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
5856 test for !rs6000_fold_gimple.
5857 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
5858 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
5860 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
5863 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
5864 endianness for vclzlsbb and vctzlsbb.
5865 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
5866 default pattern and indicate a different pattern will be used for
5868 (VCLZLSBB_V4SI): Likewise.
5869 (VCLZLSBB_V8HI): Likewise.
5870 (VCTZLSBB_V16QI): Likewise.
5871 (VCTZLSBB_V4SI): Likewise.
5872 (VCTZLSBB_V8HI): Likewise.
5874 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
5876 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
5877 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
5879 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
5881 (cpu_supports_info): Likewise.
5882 (rs6000_type_string): Likewise.
5883 (altivec_expand_predicate_builtin): Likewise.
5884 (rs6000_htm_spr_icode): Likewise.
5885 (altivec_expand_vec_init_builtin): Likewise.
5886 (get_element_number): Likewise.
5887 (altivec_expand_vec_set_builtin): Likewise.
5888 (altivec_expand_vec_ext_builtin): Likewise.
5889 (rs6000_invalid_builtin): Likewise.
5890 (rs6000_fold_builtin): Likewise.
5891 (fold_build_vec_cmp): Likewise.
5892 (fold_compare_helper): Likewise.
5893 (map_to_integral_tree_type): Likewise.
5894 (fold_mergehl_helper): Likewise.
5895 (fold_mergeeo_helper): Likewise.
5896 (rs6000_builtin_valid_without_lhs): Likewise.
5897 (rs6000_builtin_is_supported): Likewise.
5898 (rs6000_gimple_fold_mma_builtin): Likewise.
5899 (rs6000_gimple_fold_builtin): Likewise.
5900 (rs6000_expand_ldst_mask): Likewise.
5901 (cpu_expand_builtin): Likewise.
5902 (elemrev_icode): Likewise.
5903 (ldv_expand_builtin): Likewise.
5904 (lxvrse_expand_builtin): Likewise.
5905 (lxvrze_expand_builtin): Likewise.
5906 (stv_expand_builtin): Likewise.
5907 (mma_expand_builtin): Likewise.
5908 (htm_spr_num): Likewise.
5909 (htm_expand_builtin): Likewise.
5910 (rs6000_expand_builtin): Likewise.
5911 (rs6000_vector_type): Likewise.
5912 (rs6000_init_builtins): Likewise. Remove initialization of
5913 builtin_mode_to_type entries.
5914 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
5915 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
5916 external declaration.
5917 (rs6000_builtin_md_vectorized_function): Likewise.
5918 (rs6000_builtin_reciprocal): Likewise.
5919 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
5920 (rs6000_builtin_types): Likewise.
5921 (builtin_mode_to_type): Remove.
5922 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
5924 (rs6000_builtin_md_vectorized_function): Likewise.
5925 (rs6000_builtin_reciprocal): Likewise.
5926 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
5927 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
5929 2022-02-03 Richard Biener <rguenther@suse.de>
5932 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
5933 together via DECL_ABSTRACT_ORIGIN.
5935 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
5937 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
5938 message for RES_BITS case.
5940 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
5942 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
5944 2022-02-03 Jakub Jelinek <jakub@redhat.com>
5946 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
5947 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
5949 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
5951 * cfganal.cc (verify_marked_backedges): New.
5952 * cfganal.h (verify_marked_backedges): New.
5953 * gimple-range-path.cc (path_range_query::path_range_query):
5954 Verify freshness of back edges.
5955 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
5956 mark_dfs_back_edges.
5957 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
5958 path_range_query construction after backedges have been
5961 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
5963 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
5966 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
5968 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
5969 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
5972 2022-02-03 Martin Liska <mliska@suse.cz>
5974 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
5975 Change subject and object in the error message.
5976 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
5979 2022-02-03 Martin Liska <mliska@suse.cz>
5981 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
5982 Use the error message for i386 target.
5984 2022-02-03 Jakub Jelinek <jakub@redhat.com>
5986 PR tree-optimization/104334
5987 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
5988 and rh_range type to widest_int and subtract in widest_int. Remove
5989 ov_rh, ov_lh and sign vars, always perform comparisons as signed
5990 and use >, < and == operators for it.
5992 2022-02-03 Martin Sebor <msebor@redhat.com>
5994 * common.opt (-Wuse-after-free): Correct typos.
5996 2022-02-02 David Malcolm <dmalcolm@redhat.com>
5999 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
6000 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
6001 -ftrivial-auto-var-init= doesn't suppress warnings.
6003 2022-02-02 Martin Liska <mliska@suse.cz>
6005 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
6007 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
6010 * config/or1k/linux.h (CPP_SPEC): Define.
6012 2022-02-02 Tamar Christina <tamar.christina@arm.com>
6014 PR tree-optimization/102819
6015 PR tree-optimization/103169
6016 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
6019 2022-02-02 Tamar Christina <tamar.christina@arm.com>
6021 PR tree-optimization/102819
6022 PR tree-optimization/103169
6023 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
6025 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
6027 2022-02-02 Tamar Christina <tamar.christina@arm.com>
6029 PR tree-optimization/102819
6030 PR tree-optimization/103169
6031 * doc/md.texi: Update docs for cfms, cfma.
6032 * tree-data-ref.h (same_data_refs): Accept optional offset.
6033 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
6035 (vect_normalize_conj_loc): Remove.
6036 (is_eq_or_top): Change to take two nodes.
6037 (enum _conj_status, compatible_complex_nodes_p,
6038 vect_validate_multiplication): New.
6039 (class complex_add_pattern, complex_add_pattern::matches,
6040 complex_add_pattern::recognize, class complex_mul_pattern,
6041 complex_mul_pattern::recognize, class complex_fms_pattern,
6042 complex_fms_pattern::recognize, class complex_operations_pattern,
6043 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
6045 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
6046 cache and use new validation code.
6047 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
6048 vect_analyze_slp): Pass along cache.
6049 (compatible_calls_p): Expose.
6050 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
6051 slp_compat_nodes_map_t): New.
6052 (class vect_pattern): Update signatures include new cache.
6054 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
6056 * config/cris/cris.cc (cris_preferred_reload_class): Reject
6057 "eliminated" registers and small-enough constants unless
6058 reloaded into a class that is a subset of GENERAL_REGS.
6059 * config/cris/cris.md (attribute "cpu_variant"): New.
6060 (attribute "enabled"): Conditionalize on a matching attribute
6061 cpu_variant, if specified.
6062 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
6063 memory, add cpu-variant-enabled variants for "r" alternatives on
6064 the far side of the "x" alternatives, preferring the "x" ones
6065 only for variants where MOF is present (in addition to SRP).
6067 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
6069 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
6070 extra cost for ALL_REGS.
6072 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
6074 * config/cris/constraints.md (define_register_constraint "b"): Now
6076 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
6077 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
6078 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
6079 and SPEC_GENNONACR_REGS.
6080 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
6081 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
6083 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
6085 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
6086 Conditionalize on (sub-)register operands or operand 1 being 0.
6088 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
6090 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
6091 (MUL_BUG_ASM_DEFAULT): New macro.
6092 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
6093 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
6096 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
6098 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
6101 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
6103 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
6105 2022-02-01 Andrew Pinski <apinski@marvell.com>
6109 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
6111 * config/s390/s390.cc (s390_code_end): Do not switch back to
6114 2022-02-01 Jakub Jelinek <jakub@redhat.com>
6117 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
6118 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
6119 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
6120 GTY((user)) for struct bifdata and struct ovlddata. Instead add
6121 GTY((skip(""))) to members with pointer and enum types that don't need
6122 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
6123 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
6124 (write_extern_fntype, write_fntype): Remove.
6125 (write_fntype_init): Emit the fntype vars as automatic vars instead
6127 (write_header_file): Don't iterate with write_extern_fntype.
6128 (write_init_file): Don't iterate with write_fntype. Don't emit
6129 gt_ggc_mx and gt_pch_nx definitions.
6131 2022-02-01 Jason Merrill <jason@redhat.com>
6133 * tree.h (struct tree_vec_map_cache_hasher): Move from...
6134 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
6136 2022-02-01 Tom de Vries <tdevries@suse.de>
6138 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
6139 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
6140 UNSPECV_UNIFORM_WARP_CHECK.
6141 (define_insn "nvptx_uniform_warp_check"): New define_insn.
6143 2022-02-01 Tom de Vries <tdevries@suse.de>
6145 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
6146 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
6148 (define_insn "nvptx_warpsync"): New define_insn.
6150 2022-02-01 Tom de Vries <tdevries@suse.de>
6152 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
6154 2022-02-01 Tom de Vries <tdevries@suse.de>
6156 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
6157 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
6158 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
6159 insn for TARGET_PTX_6_0.
6161 2022-02-01 Tom de Vries <tdevries@suse.de>
6164 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
6167 2022-02-01 Tom de Vries <tdevries@suse.de>
6169 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
6170 (define_insn "atomic_exchange<mode>")
6171 (define_insn "atomic_fetch_add<mode>")
6172 (define_insn "atomic_fetch_addsf")
6173 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
6174 if memory operands is frame-relative.
6176 2022-02-01 Tom de Vries <tdevries@suse.de>
6178 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
6179 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
6181 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
6182 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
6183 NVPTX_BUILTIN_MEMBAR_CTA.
6184 (nvptx_lockfull_update): Add level parameter. Emit barriers.
6185 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
6186 nvptx_lockfull_update.
6187 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
6189 (define_expand "nvptx_membar_gl"): New expand.
6190 (define_insn "*nvptx_membar_gl"): New insn.
6192 2022-02-01 Martin Liska <mliska@suse.cz>
6194 * doc/install.texi: Remove option for GCC < 4.8.
6196 2022-02-01 Jakub Jelinek <jakub@redhat.com>
6198 PR middle-end/104307
6199 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
6200 stmts to uses vector, just set vec_cond_expr_only to false for
6201 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
6202 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
6203 like non-VEC_COND_EXPRs.
6205 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
6207 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
6208 (VEC_BLENDV): Likewise.
6209 (VEC_BPERM): Likewise.
6210 (VEC_CFUGE): Likewise.
6211 (VEC_CIPHER_BE): Likewise.
6212 (VEC_CIPHERLAST_BE): Likewise.
6213 (VEC_CLRL): Likewise.
6214 (VEC_CLRR): Likewise.
6215 (VEC_CMPNEZ): Likewise.
6216 (VEC_CNTLZ): Likewise.
6217 (VEC_CNTLZM): Likewise.
6218 (VEC_CNTTZM): Likewise.
6219 (VEC_CNTLZ_LSBB): Likewise.
6220 (VEC_CNTM): Likewise.
6221 (VEC_CNTTZ): Likewise.
6222 (VEC_CNTTZ_LSBB): Likewise.
6223 (VEC_CONVERT_4F32_8F16): Likewise.
6224 (VEC_DIV): Likewise.
6225 (VEC_DIVE): Likewise.
6226 (VEC_EQV): Likewise.
6227 (VEC_EXPANDM): Likewise.
6228 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
6229 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
6230 (VEC_EXTRACTH): Likewise.
6231 (VEC_EXTRACTL): Likewise.
6232 (VEC_EXTRACTM): Likewise.
6233 (VEC_EXTRACT4B): Likewise.
6234 (VEC_EXTULX): Likewise.
6235 (VEC_EXTURX): Likewise.
6236 (VEC_FIRSTMATCHINDEX): Likewise.
6237 (VEC_FIRSTMACHOREOSINDEX): Likewise.
6238 (VEC_FIRSTMISMATCHINDEX): Likewise.
6239 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
6241 (VEC_GENBM): Likewise.
6242 (VEC_GENHM): Likewise.
6243 (VEC_GENWM): Likewise.
6244 (VEC_GENDM): Likewise.
6245 (VEC_GENQM): Likewise.
6246 (VEC_GENPCVM): Likewise.
6247 (VEC_GNB): Likewise.
6248 (VEC_INSERTH): Likewise.
6249 (VEC_INSERTL): Likewise.
6250 (VEC_INSERT4B): Likewise.
6251 (VEC_LXVL): Likewise.
6252 (VEC_MERGEE): Likewise.
6253 (VEC_MERGEO): Likewise.
6254 (VEC_MOD): Likewise.
6255 (VEC_MSUB): Likewise.
6256 (VEC_MULH): Likewise.
6257 (VEC_NAND): Likewise.
6258 (VEC_NCIPHER_BE): Likewise.
6259 (VEC_NCIPHERLAST_BE): Likewise.
6260 (VEC_NEARBYINT): Likewise.
6261 (VEC_NMADD): Likewise.
6262 (VEC_ORC): Likewise.
6263 (VEC_PDEP): Likewise.
6264 (VEC_PERMX): Likewise.
6265 (VEC_PEXT): Likewise.
6266 (VEC_POPCNT): Likewise.
6267 (VEC_PARITY_LSBB): Likewise.
6268 (VEC_REPLACE_ELT): Likewise.
6269 (VEC_REPLACE_UN): Likewise.
6270 (VEC_REVB): Likewise.
6271 (VEC_RINT): Likewise.
6272 (VEC_RLMI): Likewise.
6273 (VEC_RLNM): Likewise.
6274 (VEC_SBOX_BE): Likewise.
6275 (VEC_SIGNEXTI): Likewise.
6276 (VEC_SIGNEXTLL): Likewise.
6277 (VEC_SIGNEXTQ): Likewise.
6278 (VEC_SLDB): Likewise.
6279 (VEC_SLV): Likewise.
6280 (VEC_SPLATI): Likewise.
6281 (VEC_SPLATID): Likewise.
6282 (VEC_SPLATI_INS): Likewise.
6283 (VEC_SQRT): Likewise.
6284 (VEC_SRDB): Likewise.
6285 (VEC_SRV): Likewise.
6286 (VEC_STRIL): Likewise.
6287 (VEC_STRIL_P): Likewise.
6288 (VEC_STRIR): Likewise.
6289 (VEC_STRIR_P): Likewise.
6290 (VEC_STXVL): Likewise.
6291 (VEC_TERNARYLOGIC): Likewise.
6292 (VEC_TEST_LSBB_ALL_ONES): Likewise.
6293 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
6294 (VEC_VEE): Likewise.
6295 (VEC_VES): Likewise.
6296 (VEC_VIE): Likewise.
6297 (VEC_VPRTYB): Likewise.
6298 (VEC_VSCEEQ): Likewise.
6299 (VEC_VSCEGT): Likewise.
6300 (VEC_VSCELT): Likewise.
6301 (VEC_VSCEUO): Likewise.
6302 (VEC_VSEE): Likewise.
6303 (VEC_VSES): Likewise.
6304 (VEC_VSIE): Likewise.
6305 (VEC_VSTDC): Likewise.
6306 (VEC_VSTDCN): Likewise.
6307 (VEC_VTDC): Likewise.
6309 (VEC_XL_BE): Likewise.
6310 (VEC_XL_LEN_R): Likewise.
6311 (VEC_XL_SEXT): Likewise.
6312 (VEC_XL_ZEXT): Likewise.
6313 (VEC_XST): Likewise.
6314 (VEC_XST_BE): Likewise.
6315 (VEC_XST_LEN_R): Likewise.
6316 (VEC_XST_TRUNC): Likewise.
6317 (VEC_XXPERMDI): Likewise.
6318 (VEC_XXSLDWI): Likewise.
6319 (VEC_TSTSFI_EQ_DD): Likewise.
6320 (VEC_TSTSFI_EQ_TD): Likewise.
6321 (VEC_TSTSFI_GT_DD): Likewise.
6322 (VEC_TSTSFI_GT_TD): Likewise.
6323 (VEC_TSTSFI_LT_DD): Likewise.
6324 (VEC_TSTSFI_LT_TD): Likewise.
6325 (VEC_TSTSFI_OV_DD): Likewise.
6326 (VEC_TSTSFI_OV_TD): Likewise.
6327 (VEC_VADDCUQ): Likewise.
6328 (VEC_VADDECUQ): Likewise.
6329 (VEC_VADDEUQM): Likewise.
6330 (VEC_VADDUDM): Likewise.
6331 (VEC_VADDUQM): Likewise.
6332 (VEC_VBPERMQ): Likewise.
6333 (VEC_VCLZB): Likewise.
6334 (VEC_VCLZD): Likewise.
6335 (VEC_VCLZH): Likewise.
6336 (VEC_VCLZW): Likewise.
6337 (VEC_VCTZB): Likewise.
6338 (VEC_VCTZD): Likewise.
6339 (VEC_VCTZH): Likewise.
6340 (VEC_VCTZW): Likewise.
6341 (VEC_VEEDP): Likewise.
6342 (VEC_VEESP): Likewise.
6343 (VEC_VESDP): Likewise.
6344 (VEC_VESSP): Likewise.
6345 (VEC_VIEDP): Likewise.
6346 (VEC_VIESP): Likewise.
6347 (VEC_VPKSDSS): Likewise.
6348 (VEC_VPKSDUS): Likewise.
6349 (VEC_VPKUDUM): Likewise.
6350 (VEC_VPKUDUS): Likewise.
6351 (VEC_VPOPCNT): Likewise.
6352 (VEC_VPOPCNTB): Likewise.
6353 (VEC_VPOPCNTD): Likewise.
6354 (VEC_VPOPCNTH): Likewise.
6355 (VEC_VPOPCNTW): Likewise.
6356 (VEC_VPRTYBD): Likewise.
6357 (VEC_VPRTYBQ): Likewise.
6358 (VEC_VPRTYBW): Likewise.
6359 (VEC_VRLD): Likewise.
6360 (VEC_VSLD): Likewise.
6361 (VEC_VSRAD): Likewise.
6362 (VEC_VSRD): Likewise.
6363 (VEC_VSTDCDP): Likewise.
6364 (VEC_VSTDCNDP): Likewise.
6365 (VEC_VSTDCNQP): Likewise.
6366 (VEC_VSTDCNSP): Likewise.
6367 (VEC_VSTDCQP): Likewise.
6368 (VEC_VSTDCSP): Likewise.
6369 (VEC_VSUBECUQ): Likewise.
6370 (VEC_VSUBEUQM): Likewise.
6371 (VEC_VSUBUDM): Likewise.
6372 (VEC_VSUBUQM): Likewise.
6373 (VEC_VTDCDP): Likewise.
6374 (VEC_VTDCSP): Likewise.
6375 (VEC_VUPKHSW): Likewise.
6376 (VEC_VUPKLSW): Likewise.
6378 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
6380 PR rtl-optimization/101260
6381 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
6384 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
6387 * fold-const.cc (const_binop): Do not fold NaN result from
6390 2022-02-01 Tom de Vries <tdevries@suse.de>
6392 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
6393 -ftree-loop-distribute-patterns.
6394 (loop_distribution::execute): Don't call transform_reduction_loop for
6395 -fno-tree-loop-distribute-patterns.
6397 2022-01-31 Andrew Pinski <apinski@marvell.com>
6399 * fold-const.h (operand_compare::operand_equal_p):
6400 Fix comment about OEP_* flags.
6402 2022-01-31 Jakub Jelinek <jakub@redhat.com>
6405 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
6406 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
6407 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
6408 if not already defined.
6410 2022-01-31 Martin Sebor <msebor@redhat.com>
6412 PR middle-end/104232
6413 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
6414 Handle PHIs. Add a synonymous overload.
6415 (pass_waccess::check_pointer_uses): Call pointers_related_p.
6417 2022-01-31 Richard Biener <rguenther@suse.de>
6419 PR tree-optimization/100499
6420 * fold-const.cc (multiple_of_p): Pass the correct type of
6421 the expression to the recursive invocation of multiple_of_p
6422 for conversions and use CASE_CONVERT.
6424 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
6427 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
6429 2022-01-31 Richard Biener <rguenther@suse.de>
6431 PR tree-optimization/100499
6432 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
6433 on poly-ints instead of multiple_of_p.
6434 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
6435 (non_rewritable_mem_ref_base): Likewise.
6436 (non_rewritable_lvalue_p): Likewise.
6437 (execute_update_addresses_taken): Likewise.
6439 2022-01-29 Jakub Jelinek <jakub@redhat.com>
6440 Andrew Pinski <apinski@marvell.com>
6442 PR tree-optimization/104279
6443 PR tree-optimization/104280
6444 PR tree-optimization/104281
6445 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
6446 boolean_type_node and convert to type. Formatting fixes.
6448 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
6450 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
6452 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
6454 PR tree-optimization/103514
6455 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
6456 (a & b) == (a ^ b) -> !(a | b): New optimization.
6458 2022-01-28 Marek Polacek <polacek@redhat.com>
6460 * doc/invoke.texi: Update -Wbidi-chars documentation.
6462 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
6464 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
6466 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
6468 PR tree-optimization/95424
6469 * match.pd: Simplify 1 / X where X is an integer.
6471 2022-01-28 Jakub Jelinek <jakub@redhat.com>
6473 PR tree-optimization/104263
6474 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
6475 cfun->can_throw_non_call_exceptions && cfun->eh test whether
6476 last non-debug stmt in the bb is store_valid_for_store_merging_p
6477 rather than last stmt.
6479 2022-01-28 Martin Liska <mliska@suse.cz>
6481 * diagnostic.cc (diagnostic_action_after_output): Remove extra
6484 2022-01-28 Martin Liska <mliska@suse.cz>
6486 * config/rs6000/host-darwin.cc (segv_crash_handler):
6487 Do not use leading capital letter.
6488 (segv_handler): Likewise.
6489 * ipa-sra.cc (verify_splitting_accesses): Likewise.
6490 * varasm.cc (get_section): Likewise.
6492 2022-01-28 Richard Biener <rguenther@suse.de>
6494 PR tree-optimization/104267
6495 * tree-vect-stmts.cc (vectorizable_call): Properly use the
6496 per-argument determined vector type for externals and
6499 2022-01-28 Richard Biener <rguenther@suse.de>
6501 PR tree-optimization/104263
6502 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
6503 Purge edges also when !cfun->has_nonlocal_label
6504 and !cfun->calls_setjmp.
6506 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
6508 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
6511 2022-01-28 Jakub Jelinek <jakub@redhat.com>
6514 * cfgrtl.cc (loc_equal): New function.
6515 (unique_locus_on_edge_between_p): Use it.
6517 2022-01-28 Richard Biener <rguenther@suse.de>
6519 * cfganal.h (mark_dfs_back_edges): Provide API with struct
6521 * cfganal.cc (mark_dfs_back_edges): Take a struct function
6522 to work on, add a wrapper passing cfun.
6523 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
6524 uses with fun which is already passed.
6525 (draw_cfg_edges): Likewise.
6526 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
6529 2022-01-27 Patrick Palka <ppalka@redhat.com>
6532 * tree.cc (build_call_vec): Add const to second parameter.
6533 * tree.h (build_call_vec): Likewise.
6535 2022-01-27 Martin Liska <mliska@suse.cz>
6538 * diagnostic.cc (diagnostic_initialize):
6539 Initialize report_bug flag.
6540 (diagnostic_action_after_output):
6541 Explain that -freport-bug option can be used for pre-processed
6542 file creation. Make the message shorter.
6543 (error_recursion): Rename Internal to internal.
6544 * diagnostic.h (struct diagnostic_context): New field.
6545 * opts.cc (common_handle_option): Init the field here.
6547 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
6550 * config/rs6000/rs6000.cc
6551 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
6552 assertion with early return.
6554 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
6556 PR middle-end/103642
6557 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
6558 for non-pointer or non-reference-to-pointer cases.
6560 2022-01-27 Jakub Jelinek <jakub@redhat.com>
6562 PR tree-optimization/104196
6563 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
6564 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
6565 return NULL and emit needed stmts before and after stmt.
6566 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
6567 pick as operand_entry that will hold the merged test the one feeding
6568 earliest condition, ensure that by swapping range->idx with some
6569 other range's idx if needed. If seq is non-NULL, don't actually swap
6570 it but instead rewrite stmts with undefined overflow in between
6572 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
6573 corresponding condition even if they have non-NULL ops[]->op.
6576 2022-01-26 Jakub Jelinek <jakub@redhat.com>
6579 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
6581 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
6582 before for loop instead of for init clause.
6583 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
6585 2022-01-26 Jakub Jelinek <jakub@redhat.com>
6588 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
6589 _X86INTRIN_H_INCLUDED and adjust #error wording.
6590 * config/rs6000/bmi2intrin.h: Likewise.
6592 2022-01-26 Jakub Jelinek <jakub@redhat.com>
6595 * dwarf2out.cc (long_double_as_float128): New function.
6596 (modified_type_die): For powerpc64le IEEE 754 quad long double
6597 and complex long double emit those as DW_TAG_typedef to
6598 _Float128 or complex _Float128 base type.
6600 2022-01-26 Marek Polacek <polacek@redhat.com>
6603 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
6604 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
6606 2022-01-26 Martin Liska <mliska@suse.cz>
6608 * ipa-modref-tree.cc (modref_access_node::update):
6609 Remove "--param param=foo" with "--param foo".
6610 (modref_access_node::insert): Likewise.
6611 (modref_access_node::insert_kill): Likewise.
6612 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
6613 (struct modref_base_node): Likewise.
6614 (struct modref_tree): Likewise.
6616 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
6619 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
6622 2022-01-25 Martin Sebor <msebor@redhat.com>
6624 PR tree-optimization/104203
6625 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
6627 * pointer-query.cc (access_ref::merge_ref): Change return type.
6628 Convert failure to a conservative success.
6629 (access_ref::get_ref): Adjust to the change above. Short-circuit
6630 PHI evaluation after first failure turned into conservative success.
6631 * pointer-query.h (access_ref::merge_ref): Change return type.
6632 * timevar.def (TV_WARN_ACCESS): New timer variable.
6634 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
6636 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
6638 2022-01-25 Richard Biener <rguenther@suse.de>
6640 PR tree-optimization/104214
6641 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
6642 stronger guarantees for relational pointer compares when
6643 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
6644 BASE0 + STEP0 - STEP1 cmp BASE1.
6646 2022-01-25 Jakub Jelinek <jakub@redhat.com>
6649 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
6651 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
6652 ieee128_mangling_gcc_8_1): Remove.
6653 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
6654 (rs6000_mangle_type): Return "u9__ieee128" instead of
6655 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
6656 (rs6000_globalize_decl_name): Remove.
6657 * config/rs6000/rs6000-call.cc (init_cumulative_args,
6658 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
6660 2022-01-24 Martin Sebor <msebor@redhat.com>
6662 * pointer-query.cc (pointer_query::dump): Remove duplicate
6665 2022-01-24 Marek Polacek <polacek@redhat.com>
6667 PR preprocessor/104030
6668 * doc/invoke.texi: Update documentation for -Wbidi-chars.
6670 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
6673 * builtins.cc (expand_builtin_fegetround): New function.
6674 (expand_builtin_feclear_feraise_except): New function.
6675 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
6676 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
6677 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
6678 (feclearexceptsi): New Pattern.
6679 (feraiseexceptsi): New Pattern.
6680 * doc/extend.texi: Add a new introductory paragraph about the
6682 * doc/md.texi: (fegetround@var{m}): Document new optab.
6683 (feclearexcept@var{m}): Document new optab.
6684 (feraiseexcept@var{m}): Document new optab.
6685 * optabs.def (fegetround_optab): New optab.
6686 (feclearexcept_optab): New optab.
6687 (feraiseexcept_optab): New optab.
6689 2022-01-24 Richard Biener <rguenther@suse.de>
6690 Jiufu Guo <guojiufu@linux.ibm.com>
6692 PR tree-optimization/100740
6693 PR tree-optimization/101508
6694 PR tree-optimization/101972
6695 PR tree-optimization/102131
6696 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
6697 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
6698 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
6700 2022-01-24 Jakub Jelinek <jakub@redhat.com>
6703 * opt-functions.awk (var_set): Handle EnumBitSet property.
6704 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
6706 * opts.h (enum cl_enum_var_value): New type.
6707 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
6709 (cmdline_handle_error): Handle CLEV_BITSET.
6710 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
6711 * doc/options.texi (EnumBitSet): Document.
6712 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
6714 (trace-pc, trace-cmp): Drop Set properties.
6716 2022-01-24 Jakub Jelinek <jakub@redhat.com>
6719 * common.opt (flag_sanitize_coverage): Remove Variable entry.
6720 (fsanitize-coverage=): Remove RejectNegative property, add
6721 Var(flag_sanitize_coverage) and EnumSet properties.
6722 (trace-pc): Add Set(1) property.
6723 (trace-cmp): Add Set(2) property.
6724 * opts.cc (common_handle_option): Don't handle
6725 OPT_fsanitize_coverage_.
6727 2022-01-24 Jakub Jelinek <jakub@redhat.com>
6730 * opt-functions.awk (var_set): Handle EnumSet property.
6731 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
6733 * opt-read.awk: Handle Set property.
6734 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
6735 (struct cl_decoded_option): Mention enum in value description.
6737 (set_option): Add mask argument defaulted to 0.
6738 * opts.cc (test_enum_sets): New function.
6739 (opts_cc_tests): Call it.
6740 * opts-common.cc (enum_arg_to_value): Change return argument
6741 from bool to int, on success return index into the cl_enum_arg
6742 array, on failure -1. Add len argument, if non-0, use strncmp
6744 (opt_enum_arg_to_value): Adjust caller.
6745 (decode_cmdline_option): Handle EnumSet represented as
6746 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
6747 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
6748 (handle_option): Pass decoded->mask to set_options last argument.
6749 (generate_option): Clear decoded->mask.
6750 (generate_option_input_file): Likewise.
6751 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
6752 (set_option): Add mask argument, use it for CLVC_ENUM.
6753 (control_warning_option): Adjust enum_arg_to_value caller.
6754 * doc/options.texi: Document Set and EnumSet properties.
6756 2022-01-24 Jakub Jelinek <jakub@redhat.com>
6759 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
6760 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
6761 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
6762 using OPTION_*_P macros.
6763 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
6764 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
6765 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
6766 using OPTION_*_P macros.
6767 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
6768 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
6769 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
6770 using OPTION_*_P macros.
6771 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
6772 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
6773 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
6774 using OPTION_*_P macros.
6775 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
6776 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
6777 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
6778 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
6779 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
6780 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
6781 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
6782 otherwise assume if (true).
6784 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
6786 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
6787 Skip zicsr and zifencei if I-ext is 2.0.
6789 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
6791 * config.gcc: Modify default isa_spec version.
6793 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
6795 PR tree-optimization/102087
6796 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
6797 Correct PLUS result type.
6799 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
6802 * config/i386/predicates.md (bcst_mem_operand): Also check mode
6803 of memory broadcast.
6805 2022-01-23 Andrew Pinski <apinski@marvell.com>
6808 * config/aarch64/aarch64-builtins.cc
6809 (aarch64_general_gimple_fold_builtin): Handle
6810 __builtin_aarch64_sqrt* and simplify into SQRT internal
6813 2022-01-22 Jakub Jelinek <jakub@redhat.com>
6816 * opts-global.cc (handle_common_deferred_options): Quote
6817 --enable-plugin in diagnostics to avoid -Werror=format-diag.
6819 2022-01-21 Michael Meissner <meissner@the-meissners.org>
6822 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
6823 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
6824 * config/rs6000/rs6000.md (prefixed attribute): Delete section
6825 that sets the prefixed attribute for xxspltiw, xxspltidp, and
6826 xxsplti32dx instructions.
6827 (movsf_hardfloat): Explicitly set the prefixed attribute
6828 when xxspltiw and xxspltidp instructions are generated.
6829 (mov<mode>_hardfloat32): Likewise.
6830 (mov<mode>_hardfloat64): Likewise.
6831 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
6832 prefixed attribute for xxspltiw and xxspltidp instructions.
6833 (vsx_mov<mode>_32bit): Likewise.
6835 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
6838 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
6839 Return true only on glibc.
6840 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
6841 Revert commit c163647ffbc.
6842 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
6844 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
6846 * common/config/s390/s390-common.cc (s390_supports_split_stack):
6847 Only support split-stack on glibc targets.
6848 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
6849 * config/i386/gnu.h (defined): Ditto.
6851 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
6853 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
6854 vector float and vector double.
6856 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
6858 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
6859 Fix mention of ifunc in string.
6861 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
6863 PR middle-end/104140
6864 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
6865 operands of the widening multiplication are either both signed or
6866 both unsigned, and abort the conversion if mismatched.
6867 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
6868 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
6870 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
6871 integer types with the same precision and signedness.
6872 (WIDEN_MULT_EXPR): Document that operands must have integer types
6873 with the same precision, but possibly differing signedness.
6874 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
6875 riscv_current_subset_list returning a NULL pointer (empty list).
6877 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
6880 * ira.h (struct target_ira): Add member
6881 x_ira_exclude_class_mode_regs.
6882 (ira_exclude_class_mode_regs): New macro.
6883 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
6885 * lra-int.h: ... to here.
6886 (lra_create_new_reg_with_unique_value): Add arg
6887 exclude_start_hard_regs.
6888 (class lra_reg): Add member exclude_start_hard_regs.
6889 * lra-assigns.cc (find_hard_regno_for_1): Setup
6890 impossible_start_hard_regs from exclude_start_hard_regs.
6891 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
6892 it lra_create_new_reg[_with_unique_value].
6893 (match_reload): Ditto.
6894 (check_and_process_move): Pass NULL
6895 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
6896 (goal_alt_exclude_start_hard_regs): New static variable.
6897 (process_addr_reg, simplify_operand_subreg): Pass NULL
6898 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
6900 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
6901 Use this_alternative_exclude_start_hard_regs additionally to find
6902 winning operand alternative.
6903 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
6904 exclude_start_hard_regs to lra_create_new_reg.
6905 (process_address_1, emit_inc): Ditto.
6906 (curr_insn_transform): Pass exclude_start_hard_regs value to
6907 lra_create_new_reg, get_reload_reg, match_reload.
6908 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
6909 to lra_create_new_reg.
6910 (process_invariant_for_inheritance): Ditto.
6911 * lra-remat.cc (update_scratch_ops): Ditto.
6912 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
6913 exclude_start_hard_regs. Setup the corresponding member of
6915 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
6916 to lra_create_new_reg_with_unique_value.
6917 (initialize_lra_reg_info_element): Initialize member
6918 exclude_start_hard_regs.
6919 (get_scratch_reg): Pass NULL to lra_create_new_reg.
6920 * ira.cc (setup_prohibited_class_mode_regs): Rename to
6921 setup_prohibited_and_exclude_class_mode_regs and calculate
6922 ira_exclude_class_mode_regs.
6924 2022-01-21 Martin Liska <mliska@suse.cz>
6926 * configure.ac: Detect ld_is_mold and use it for
6927 comdat_group=yes and gcc_cv_ld_hidden=yes.
6928 * configure: Regenerate.
6930 2022-01-21 Richard Biener <rguenther@suse.de>
6932 PR tree-optimization/100089
6933 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
6934 of if-converted loops with unvectorized COND_EXPRs for
6935 all but the unlimited cost models.
6937 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
6939 * config/arm/arm-opts.h (enum stack_protector_guard): New.
6940 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
6942 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
6943 (arm_option_override_internal): Handle and put in error checks.
6944 for stack protector guard options.
6945 (arm_option_reconfigure_globals): Likewise.
6946 (arm_stack_protect_tls_canary_mem): New.
6947 (arm_stack_protect_guard): New.
6948 * config/arm/arm.md (stack_protect_set): New.
6949 (stack_protect_set_tls): Likewise.
6950 (stack_protect_test): Likewise.
6951 (stack_protect_test_tls): Likewise.
6952 (reload_tp_hard): Likewise.
6953 * config/arm/arm.opt (-mstack-protector-guard): New
6954 (-mstack-protector-guard-offset): New.
6955 * doc/invoke.texi: Document new options.
6957 2022-01-21 Richard Biener <rguenther@suse.de>
6959 PR tree-optimization/104156
6960 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
6961 Collect and reset debug stmts with out-of-loop uses when
6963 (find_loop_guard): Adjust.
6964 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
6965 (used_outside_loop_p): Push debug uses to a vector of
6966 debug stmts to reset.
6967 (hoist_guard): Adjust -fopt-info category.
6969 2022-01-21 Richard Biener <rguenther@suse.de>
6971 PR tree-optimization/104152
6972 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
6973 can_duplicate_and_interleave_p check.
6975 2022-01-21 Jakub Jelinek <jakub@redhat.com>
6977 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
6978 Avoid passing var to warning_at when the format string doesn't
6981 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
6983 PR tree-optimization/103721
6984 * gimple-range-path.cc
6985 (path_range_query::relations_may_be_invalidated): New.
6986 (path_range_query::compute_ranges_in_block): Reset relations if
6987 they may be invalidated.
6988 (path_range_query::maybe_register_phi_relation): Exit if relations
6989 may be invalidated on incoming edge.
6990 (path_range_query::compute_phi_relations): Pass incoming PHI edge
6991 to maybe_register_phi_relation.
6992 * gimple-range-path.h (relations_may_be_invalidated): New.
6993 (maybe_register_phi_relation): Pass edge instead of tree.
6994 * tree-ssa-threadbackward.cc (back_threader::back_threader):
6996 * value-relation.cc (path_oracle::path_oracle): Call
6997 mark_dfs_back_edges.
6998 (path_oracle::register_relation): Add SSA names to m_registered
7000 (path_oracle::reset_path): Clear m_registered bitmap.
7001 * value-relation.h (path_oracle::set_root_oracle): New.
7003 2022-01-21 Jakub Jelinek <jakub@redhat.com>
7005 PR rtl-optimization/102478
7006 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
7007 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
7010 2022-01-20 Richard Biener <rguenther@suse.de>
7012 PR middle-end/100786
7013 * gimple-fold.cc (get_symbol_constant_value): Only return
7014 values of compatible type to the symbol.
7016 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
7018 * value-relation.cc (relation_oracle::valid_equivs): Query and add
7019 if valid members of a set.
7020 (equiv_oracle::register_equiv): Call valid_equivs rather than
7021 bitmap direct operations.
7022 (path_oracle::register_equiv): Ditto.
7023 * value-relation.h (relation_oracle::valid_equivs): New prototype.
7025 2022-01-20 Richard Biener <rguenther@suse.de>
7028 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
7029 LHS before folding __builtin_ia32_shufpd and friends.
7031 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
7033 * config/arm/crypto.md (aes_op_protect): Allow moves from core
7034 registers and from memory.
7035 (aes_op_protect_misalign_load): New pattern.
7036 (aes_op_protect_neon_vld1v16qi): New pattern.
7038 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
7040 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
7042 (aarch32_crypto_aese_fused_protected): Likewise.
7043 (aarch32_crypto_aesd_fused_protected): Likewise.
7045 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
7047 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
7048 to define_expand. Add mitigation for the Cortex-A AES erratum
7050 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
7051 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
7052 (aes_op_protect): New pattern.
7053 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
7055 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
7057 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
7058 (ALL_QUIRKS): Add it.
7059 (cortex-a57, cortex-a72): Enable it.
7060 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
7061 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
7063 (mfix-cortex-a72-aes-1655431): New option alias.
7064 * config/arm/arm.cc (arm_option_override): Handle default settings
7065 for AES erratum switch.
7066 * doc/invoke.texi (Arm Options): Document new options.
7068 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
7070 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
7071 <crypto_mode> rather than hard-coding the mode.
7072 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
7073 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
7074 (*aarch32_crypto_aese_fused): Likewise.
7075 (*aarch32_crypto_aesd_fused): Likewise.
7076 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
7077 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
7078 (crypto_sha1h_lb): Likewise.
7079 (crypto_vmullp64): Likewise.
7080 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
7081 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
7083 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
7085 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
7086 iterator to pattern name to disambiguate.
7087 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
7088 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
7089 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
7090 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
7091 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
7093 2022-01-20 Martin Liska <mliska@suse.cz>
7096 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
7097 * rtl.cc: Partially disable -Wformat-diag for RTL checking
7100 2022-01-20 Jakub Jelinek <jakub@redhat.com>
7103 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
7104 block_num > 0, index entry even if !have_multiple_function_sections.
7106 2022-01-20 liuhongt <hongtao.liu@intel.com>
7109 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
7110 integral mode mask pack by multi steps which takes
7111 vec_pack_sbool_trunc_optab as start when elements number is
7112 less than BITS_PER_UNITS.
7114 2022-01-20 Richard Biener <rguenther@suse.de>
7116 PR tree-optimization/104114
7117 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
7118 single element vector decomposition.
7120 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
7122 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
7123 (noce_convert_multiple_sets): Call function a second time if we can
7124 improve the first try.
7126 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
7128 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
7129 reversed comparison.
7130 (try_emit_cmove_seq): New function to facilitate creating a cmov
7132 (noce_convert_multiple_sets): Create two sequences and use the less
7135 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
7137 * rtl.h (struct rtx_comparison): New struct that holds an rtx
7139 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
7141 (rs6000_emit_swsqrt): Likewise.
7142 * expmed.cc (expand_sdiv_pow2): Likewise.
7143 (emit_store_flag): Likewise.
7144 * expr.cc (expand_cond_expr_using_cmove): Likewise.
7145 (expand_expr_real_2): Likewise.
7146 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
7148 * optabs.cc (emit_conditional_move_1): New function.
7149 (expand_doubleword_shift_condmove): Use struct.
7150 (emit_conditional_move): Use struct and allow to call directly
7151 without going through preparation steps.
7152 * optabs.h (emit_conditional_move): Use struct.
7154 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
7156 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
7157 (noce_process_if_block): Use potential costs.
7159 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
7161 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
7162 (bb_ok_for_noce_convert_multiple_sets): Likewise.
7164 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
7166 * ifcvt.cc (need_cmov_or_rewire): New function.
7167 (noce_convert_multiple_sets): Call it.
7169 2022-01-19 David Malcolm <dmalcolm@redhat.com>
7171 * attribs.cc (attribute_c_tests): Rename to...
7172 (attribs_cc_tests): ...this.
7173 * bitmap.cc (bitmap_c_tests): Rename to...
7174 (bitmap_cc_tests): ...this.
7175 * cgraph.cc (cgraph_c_finalize): Rename to...
7176 (cgraph_cc_finalize): ...this.
7177 (cgraph_c_tests): Rename to...
7178 (cgraph_cc_tests): ...this.
7179 * cgraph.h (cgraph_c_finalize): Rename to...
7180 (cgraph_cc_finalize): ...this.
7181 (cgraphunit_c_finalize): Rename to...
7182 (cgraphunit_cc_finalize): ...this.
7183 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
7184 (cgraphunit_cc_finalize): ...this.
7185 * convert.cc (convert_c_tests): Rename to...
7186 (convert_cc_tests): ...this.
7187 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
7188 (dbgcnt_cc_tests): ...this.
7189 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
7190 (diagnostic_show_locus_cc_tests): ...this.
7191 * diagnostic.cc (diagnostic_c_tests): Rename to...
7192 (diagnostic_cc_tests): ...this.
7193 * dumpfile.cc (dumpfile_c_tests): Rename to...
7194 (dumpfile_cc_tests): ...this.
7195 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
7196 (dwarf2out_cc_finalize): ...this.
7197 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
7198 (dwarf2out_cc_finalize): ...this.
7199 * edit-context.cc (edit_context_c_tests): Rename to...
7200 (edit_context_cc_tests): ...this.
7201 * et-forest.cc (et_forest_c_tests): Rename to...
7202 (et_forest_cc_tests): ...this.
7203 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
7204 (fibonacci_heap_cc_tests): ...this.
7205 * fold-const.cc (fold_const_c_tests): Rename to...
7206 (fold_const_cc_tests): ...this.
7207 * function-tests.cc (function_tests_c_tests): Rename to...
7208 (function_tests_cc_tests): ...this.
7209 * gcse.cc (gcse_c_finalize): Rename to...
7210 (gcse_cc_finalize): ...this.
7211 * gcse.h (gcse_c_finalize): Rename to...
7212 (gcse_cc_finalize): ...this.
7213 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
7214 (ggc_tests_cc_tests): ...this.
7215 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
7216 (store_merging_cc_tests): ...this.
7217 * gimple.cc (gimple_c_tests): Rename to...
7218 (gimple_cc_tests): ...this.
7219 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
7220 (hash_map_tests_cc_tests): ...this.
7221 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
7222 (hash_set_tests_cc_tests): ...this.
7223 * input.cc (input_c_tests): Rename to...
7224 (input_cc_tests): ...this.
7225 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
7226 (ipa_cp_cc_finalize): ...this.
7227 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
7228 (ipa_fnsummary_cc_finalize): ...this.
7229 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
7230 (ipa_fnsummary_cc_finalize): ...this.
7231 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
7232 (ipa_modref_tree_cc_tests): ...this.
7233 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
7234 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
7235 (ipa_modref_cc_finalize): ...this.
7236 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
7237 (ipa_modref_cc_finalize): ...this.
7238 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
7239 (ipa_cp_cc_finalize): ...this.
7240 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
7241 (ipa_reference_cc_finalize): ...this.
7242 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
7243 (ipa_reference_cc_finalize): ...this.
7244 * ira-costs.cc (ira_costs_c_finalize): Rename to...
7245 (ira_costs_cc_finalize): ...this.
7246 * ira.h (ira_costs_c_finalize): Rename to...
7247 (ira_costs_cc_finalize): ...this.
7248 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
7249 (opt_suggestions_cc_tests): ...this.
7250 * opts.cc (opts_c_tests): Rename to...
7251 (opts_cc_tests): ...this.
7252 * predict.cc (predict_c_tests): Rename to...
7253 (predict_cc_tests): ...this.
7254 * pretty-print.cc (pretty_print_c_tests): Rename to...
7255 (pretty_print_cc_tests): ...this.
7256 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
7257 (read_rtl_function_cc_tests): ...this.
7258 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
7259 (rtl_tests_cc_tests): ...this.
7260 * sbitmap.cc (sbitmap_c_tests): Rename to...
7261 (sbitmap_cc_tests): ...this.
7262 * selftest-run-tests.cc (selftest::run_tests): Update calls for
7263 _c_ to _cc_ function renamings; fix names of attribs and
7264 opt-suggestions tests.
7265 * selftest.cc (selftest_c_tests): Rename to...
7266 (selftest_cc_tests): ...this.
7267 * selftest.h (attribute_c_tests): Rename to...
7268 (attribs_cc_tests): ...this.
7269 (bitmap_c_tests): Rename to...
7270 (bitmap_cc_tests): ...this.
7271 (cgraph_c_tests): Rename to...
7272 (cgraph_cc_tests): ...this.
7273 (convert_c_tests): Rename to...
7274 (convert_cc_tests): ...this.
7275 (diagnostic_c_tests): Rename to...
7276 (diagnostic_cc_tests): ...this.
7277 (diagnostic_show_locus_c_tests): Rename to...
7278 (diagnostic_show_locus_cc_tests): ...this.
7279 (dumpfile_c_tests): Rename to...
7280 (dumpfile_cc_tests): ...this.
7281 (edit_context_c_tests): Rename to...
7282 (edit_context_cc_tests): ...this.
7283 (et_forest_c_tests): Rename to...
7284 (et_forest_cc_tests): ...this.
7285 (fibonacci_heap_c_tests): Rename to...
7286 (fibonacci_heap_cc_tests): ...this.
7287 (fold_const_c_tests): Rename to...
7288 (fold_const_cc_tests): ...this.
7289 (function_tests_c_tests): Rename to...
7290 (function_tests_cc_tests): ...this.
7291 (ggc_tests_c_tests): Rename to...
7292 (ggc_tests_cc_tests): ...this.
7293 (gimple_c_tests): Rename to...
7294 (gimple_cc_tests): ...this.
7295 (hash_map_tests_c_tests): Rename to...
7296 (hash_map_tests_cc_tests): ...this.
7297 (hash_set_tests_c_tests): Rename to...
7298 (hash_set_tests_cc_tests): ...this.
7299 (input_c_tests): Rename to...
7300 (input_cc_tests): ...this.
7301 (opts_c_tests): Rename to...
7302 (opts_cc_tests): ...this.
7303 (predict_c_tests): Rename to...
7304 (predict_cc_tests): ...this.
7305 (pretty_print_c_tests): Rename to...
7306 (pretty_print_cc_tests): ...this.
7307 (read_rtl_function_c_tests): Rename to...
7308 (read_rtl_function_cc_tests): ...this.
7309 (rtl_tests_c_tests): Rename to...
7310 (rtl_tests_cc_tests): ...this.
7311 (sbitmap_c_tests): Rename to...
7312 (sbitmap_cc_tests): ...this.
7313 (selftest_c_tests): Rename to...
7314 (selftest_cc_tests): ...this.
7315 (simplify_rtx_c_tests): Rename to...
7316 (simplify_rtx_cc_tests): ...this.
7317 (spellcheck_c_tests): Rename to...
7318 (spellcheck_cc_tests): ...this.
7319 (spellcheck_tree_c_tests): Rename to...
7320 (spellcheck_tree_cc_tests): ...this.
7321 (sreal_c_tests): Rename to...
7322 (sreal_cc_tests): ...this.
7323 (store_merging_c_tests): Rename to...
7324 (store_merging_cc_tests): ...this.
7325 (tree_c_tests): Rename to...
7326 (tree_cc_tests): ...this.
7327 (tree_cfg_c_tests): Rename to...
7328 (tree_cfg_cc_tests): ...this.
7329 (typed_splay_tree_c_tests): Rename to...
7330 (typed_splay_tree_cc_tests): ...this.
7331 (vec_c_tests): Rename to...
7332 (vec_cc_tests): ...this.
7333 (vec_perm_indices_c_tests): Rename to...
7334 (vec_perm_indices_cc_tests): ..this.
7335 (opt_proposer_c_tests): Rename to...
7336 (opt_suggestions_cc_tests): ...this.
7337 (dbgcnt_c_tests): Rename to...
7338 (dbgcnt_cc_tests): ...this.
7339 (ipa_modref_tree_c_tests): Rename to...
7340 (ipa_modref_tree_cc_tests): ...this.
7341 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
7342 (simplify_rtx_cc_tests): ...this.
7343 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
7344 (spellcheck_tree_cc_tests): ...this.
7345 * spellcheck.cc (spellcheck_c_tests): Rename to...
7346 (spellcheck_cc_tests): ...this.
7347 * sreal.cc (sreal_c_tests): Rename to...
7348 (sreal_cc_tests): ...this.
7349 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
7351 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
7352 (tree_cfg_cc_tests): ...this.
7353 * tree.cc (tree_c_tests): Rename to...
7354 (tree_cc_tests): ...this.
7355 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
7356 (typed_splay_tree_cc_tests): ...this.
7357 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
7358 (vec_perm_indices_cc_tests): ...this.
7359 * vec.cc (vec_c_tests): Rename to...
7360 (vec_cc_tests): ...this.
7362 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
7364 PR tree-optimization/103997
7365 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
7368 2022-01-19 Jakub Jelinek <jakub@redhat.com>
7370 PR middle-end/102860
7371 * match.pd (x %[fl] y -> x % y): New simplification for
7372 unsigned integral types.
7373 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
7374 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
7376 2022-01-19 Richard Biener <rguenther@suse.de>
7378 PR tree-optimization/104112
7379 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
7380 for required intermediate vector types.
7382 2022-01-19 Jakub Jelinek <jakub@redhat.com>
7384 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
7386 2022-01-19 Martin Liska <mliska@suse.cz>
7388 * configure.ac: Remove -Wno-error=format-diag.
7389 * configure: Regenerate.
7391 2022-01-19 Martin Liska <mliska@suse.cz>
7393 * config/riscv/riscv.cc (riscv_handle_type_attribute):
7394 Update one -Wformat-diag string in warning message.
7396 2022-01-19 Jakub Jelinek <jakub@redhat.com>
7398 PR middle-end/104103
7399 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
7402 2022-01-19 Jakub Jelinek <jakub@redhat.com>
7405 * fold-const.cc (address_compare): Consider different STRING_CSTs
7406 with the same lengths that memcmp the same as equal, not different.
7408 2022-01-19 Jakub Jelinek <jakub@redhat.com>
7410 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
7413 2022-01-19 Martin Liska <mliska@suse.cz>
7414 Thomas Schwinge <thomas@codesourcery.com>
7416 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
7419 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
7422 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
7425 2022-01-19 Jakub Jelinek <jakub@redhat.com>
7428 * config/i386/sse.md
7429 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
7430 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
7431 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
7432 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
7433 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
7434 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
7435 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
7436 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
7437 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
7439 2022-01-19 Martin Sebor <msebor@redhat.com>
7441 PR middle-end/104069
7442 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
7443 an unknown result as documented.
7445 2022-01-18 Andrew Pinski <apinski@marvell.com>
7447 * ipa-split.cc (visit_bb): Fix comment before the
7448 warning/error attribute checking code.
7450 2022-01-18 David Faust <david.faust@oracle.com>
7452 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
7453 for base strtab offset yet as it may change.
7454 (output_asm_btfext_core_reloc): Do so here instead.
7455 (output_btfext_core_sections): Likewise.
7457 2022-01-18 David Faust <david.faust@oracle.com>
7459 * config/bpf/coreout.cc (output_btfext_header): Account for
7460 4-byte record size in core_relo_len.
7461 (output_btfext_core_sections): Only write record size once.
7462 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
7465 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
7467 * common/config/riscv/riscv-common.cc
7468 (riscv_subset_list::parse_multiletter_ext): Move pointer
7469 arithmetic ahead of `free'.
7471 2022-01-18 Jason Merrill <jason@redhat.com>
7474 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
7477 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
7479 PR middle-end/103163
7480 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
7481 (init_emit_once): ...not here.
7483 2022-01-18 Martin Liska <mliska@suse.cz>
7485 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
7486 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
7487 * config/arc/arc.md: Likewise.
7488 * config/avr/avr.cc (avr_section_type_flags): Likewise.
7489 * config/bfin/bfin.cc (bfin_option_override): Likewise.
7490 (bfin_handle_longcall_attribute): Likewise.
7491 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
7492 * config/frv/frv.cc (frv_expand_builtin): Likewise.
7493 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
7494 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
7495 (iq2000_print_operand_address): Likewise.
7496 (iq2000_print_operand): Likewise.
7497 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
7498 (m32c_pragma_address): Likewise.
7499 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
7500 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
7501 (mips_set_compression_mode): Likewise.
7502 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
7503 (mmix_print_operand): Likewise.
7504 (mmix_output_shiftvalue_op_from_str): Likewise.
7505 (mmix_output_shifted_value): Likewise.
7506 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
7507 * config/msp430/msp430.cc (msp430_option_override): Likewise.
7508 (msp430_attr): Likewise.
7509 (msp430_expand_delay_cycles): Likewise.
7510 (msp430_expand_builtin): Likewise.
7511 * config/rs6000/aix73.h: Likewise.
7512 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
7513 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
7514 (valid_psw_flag): Likewise.
7515 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
7516 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
7517 (xstormy16_expand_builtin_va_start): Likewise.
7518 (xstormy16_handle_below100_attribute): Likewise.
7520 2022-01-18 Martin Liska <mliska@suse.cz>
7522 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
7524 (vms_pragma_standard): Likewise.
7525 (vms_pragma_extern_prefix): Likewise.
7527 2022-01-18 Martin Liska <mliska@suse.cz>
7529 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
7530 (print_operand_address): Likewise.
7531 (xtensa_multibss_section_type_flags): Likewise.
7533 2022-01-18 Martin Liska <mliska@suse.cz>
7535 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
7536 wording of an error message.
7538 2022-01-18 Martin Liska <mliska@suse.cz>
7540 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
7542 (ghs_pragma_section): Likewise.
7543 (ghs_pragma_interrupt): Likewise.
7544 (ghs_pragma_starttda): Likewise.
7545 (ghs_pragma_startsda): Likewise.
7546 (ghs_pragma_startzda): Likewise.
7547 (ghs_pragma_endtda): Likewise.
7548 (ghs_pragma_endsda): Likewise.
7549 (ghs_pragma_endzda): Likewise.
7551 2022-01-18 Martin Liska <mliska@suse.cz>
7553 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
7555 * config/nds32/nds32-intrinsic.md: Likewise.
7556 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
7557 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
7558 (nds32_insert_attributes): Likewise.
7560 2022-01-18 Martin Liska <mliska@suse.cz>
7562 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
7564 * config/nvptx/nvptx.md: Remove trailing dot.
7566 2022-01-18 Martin Liska <mliska@suse.cz>
7568 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
7569 Wrap keywords with quotes and remove trailing dots.
7570 (riscv_subset_list::parsing_subset_version): Likewise.
7571 (riscv_subset_list::parse_std_ext): Likewise.
7572 (riscv_subset_list::parse_multiletter_ext): Likewise.
7573 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
7575 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
7577 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
7578 argument suggested_unroll_factor.
7579 (vect_analyze_loop_costing): Likewise.
7580 (_loop_vec_info::_loop_vec_info): Initialize new member
7581 suggested_unroll_factor.
7582 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
7583 main loop use partial vectors.
7584 (vect_analyze_loop_2): Pass and use new argument
7585 suggested_unroll_factor.
7586 (vect_analyze_loop_1): Change to intialize local
7587 suggested_unroll_factor and use it.
7588 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
7589 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
7590 suggested_unroll_factor.
7591 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
7592 (vector_costs::suggested_unroll_factor): New getter function.
7593 (finish_cost): Set return argument suggested_unroll_factor.
7595 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
7597 PR tree-optimization/104038
7598 * doc/invoke.texi (relation-block-limit): New.
7599 * params.opt (relation-block-limit): New.
7600 * value-relation.cc (dom_oracle::register_relation): Check for NULL
7601 record before invoking transitive registery.
7602 (dom_oracle::set_one_relation): Check limit before creating record.
7603 (dom_oracle::register_transitives): Stop when no record created.
7604 * value-relation.h (relation_chain_head::m_num_relations): New.
7606 2022-01-18 Richard Biener <rguenther@suse.de>
7609 * ipa-inline.cc (inline_small_functions): Do not enqueue call
7610 edges originating in functions compiled with -Og.
7612 2022-01-18 Richard Biener <rguenther@suse.de>
7615 * passes.def (pass_all_optimizations_g): Remove pass_modref
7616 and pass_local_pure_const.
7618 2022-01-18 Martin Liska <mliska@suse.cz>
7620 * config/s390/s390.cc: Fix -Wformat-diag warnings.
7622 2022-01-18 Martin Liska <mliska@suse.cz>
7624 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
7626 (s390_resolve_overloaded_builtin): Remove trailing dot.
7627 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
7628 (s390_expand_builtin): Remove trailing dot.
7629 (s390_emit_prologue): Likewise, use semicolon.
7630 (s390_option_override_internal): Update keyword.
7631 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
7633 2022-01-18 Martin Liska <mliska@suse.cz>
7635 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
7636 keywords and use %qs instead of %<%s%>.
7638 2022-01-18 Richard Biener <rguenther@suse.de>
7640 PR tree-optimization/103987
7641 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
7642 query with a pointer check.
7644 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
7647 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
7648 When using MEM_EXPR, require the base to be a decl.
7650 2022-01-18 Richard Biener <rguenther@suse.de>
7652 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
7654 * function.h (struct function): Likewise.
7656 2022-01-18 Arnaud Charlet <charlet@adacore.com>
7658 * doc/install.texi: Update prerequisites for GNAT
7660 2022-01-18 Andrew Pinski <apinski@marvell.com>
7662 PR tree-optimization/101941
7663 * ipa-split.cc (visit_bb): Disallow function calls where
7664 the function has either error or warning attribute.
7666 2022-01-18 Richard Biener <rguenther@suse.de>
7668 PR tree-optimization/104064
7669 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
7670 DR_INIT fits in a signed HWI, represent the difference from the
7671 first DR in unsigned.
7673 2022-01-17 Martin Liska <mliska@suse.cz>
7675 * Makefile.in: Rename .c names to .cc.
7676 * config.gcc: Likewise.
7677 * configure: Regenerate. Likewise.
7678 * configure.ac: Likewise.
7679 * gengtype.cc (set_gc_used): Likewise.
7680 (source_dot_c_frul): Likewise.
7681 (source_dot_cc_frul): Likewise.
7682 (struct file_rule_st): Likewise.
7683 (close_output_files): Likewise.
7684 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
7686 2022-01-17 Martin Liska <mliska@suse.cz>
7688 * Makefile.in: Rename .c names to .cc.
7689 * alias.h: Likewise.
7690 * asan.cc: Likewise.
7691 * auto-profile.h: Likewise.
7692 * basic-block.h (struct basic_block_d): Likewise.
7693 * btfout.cc: Likewise.
7694 * builtins.cc (expand_builtin_longjmp): Likewise.
7695 (validate_arg): Likewise.
7696 (access_ref::offset_bounded): Likewise.
7697 * caller-save.cc (reg_restore_code): Likewise.
7698 (setup_save_areas): Likewise.
7699 * calls.cc (initialize_argument_information): Likewise.
7700 (expand_call): Likewise.
7701 (emit_library_call_value_1): Likewise.
7702 * cfg-flags.def (RTL): Likewise.
7703 (SIBCALL): Likewise.
7704 (CAN_FALLTHRU): Likewise.
7705 * cfganal.cc (post_order_compute): Likewise.
7706 * cfgcleanup.cc (try_simplify_condjump): Likewise.
7707 (merge_blocks_move_predecessor_nojumps): Likewise.
7708 (merge_blocks_move_successor_nojumps): Likewise.
7709 (merge_blocks_move): Likewise.
7710 (old_insns_match_p): Likewise.
7711 (try_crossjump_bb): Likewise.
7712 * cfgexpand.cc (expand_gimple_stmt): Likewise.
7713 * cfghooks.cc (split_block_before_cond_jump): Likewise.
7714 (profile_record_check_consistency): Likewise.
7715 * cfghooks.h: Likewise.
7716 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
7717 (rtl_can_merge_blocks): Likewise.
7718 (try_redirect_by_replacing_jump): Likewise.
7719 (make_pass_outof_cfg_layout_mode): Likewise.
7720 (cfg_layout_can_merge_blocks_p): Likewise.
7721 * cgraph.cc (release_function_body): Likewise.
7722 (cgraph_node::get_fun): Likewise.
7723 * cgraph.h (struct cgraph_node): Likewise.
7724 (asmname_hasher::equal): Likewise.
7725 (cgraph_inline_failed_type): Likewise.
7726 (thunk_adjust): Likewise.
7727 (dump_callgraph_transformation): Likewise.
7728 (record_references_in_initializer): Likewise.
7729 (ipa_discover_variable_flags): Likewise.
7730 * cgraphclones.cc (GTY): Likewise.
7731 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
7732 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
7733 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
7734 * collect2.cc (maybe_run_lto_and_relink): Likewise.
7735 * combine-stack-adj.cc: Likewise.
7736 * combine.cc (setup_incoming_promotions): Likewise.
7737 (combine_simplify_rtx): Likewise.
7738 (count_rtxs): Likewise.
7739 * common.opt: Likewise.
7740 * common/config/aarch64/aarch64-common.cc: Likewise.
7741 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
7742 * common/config/avr/avr-common.cc: Likewise.
7743 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
7744 * conditions.h: Likewise.
7745 * config.gcc: Likewise.
7746 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
7747 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
7748 (aarch64_get_extension_string_for_isa_flags): Likewise.
7749 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
7750 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
7751 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
7752 (aarch64_option_valid_attribute_p): Likewise.
7753 (aarch64_short_vector_p): Likewise.
7754 (aarch64_float_const_representable_p): Likewise.
7755 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
7756 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
7758 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
7759 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
7760 * config/aarch64/t-aarch64: Likewise.
7761 * config/aarch64/x-aarch64: Likewise.
7762 * config/aarch64/x-darwin: Likewise.
7763 * config/alpha/alpha-protos.h: Likewise.
7764 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
7765 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
7766 (enum reg_class): Likewise.
7767 * config/alpha/alpha.md: Likewise.
7768 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
7769 * config/alpha/x-alpha: Likewise.
7770 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
7771 * config/arc/arc.cc (ARC_OPT): Likewise.
7772 (arc_ccfsm_advance): Likewise.
7773 (arc_arg_partial_bytes): Likewise.
7774 (conditionalize_nonjump): Likewise.
7775 * config/arc/arc.md: Likewise.
7776 * config/arc/builtins.def: Likewise.
7777 * config/arc/t-arc: Likewise.
7778 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
7779 (arm_pragma_target_parse): Likewise.
7780 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
7781 (arm_cpu_cpp_builtins): Likewise.
7782 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
7783 (shift_op): Likewise.
7784 (thumb2_final_prescan_insn): Likewise.
7785 (arm_final_prescan_insn): Likewise.
7786 (arm_asm_output_labelref): Likewise.
7787 (arm_small_register_classes_for_mode_p): Likewise.
7788 * config/arm/arm.h: Likewise.
7789 * config/arm/arm.md: Likewise.
7790 * config/arm/driver-arm.cc: Likewise.
7791 * config/arm/symbian.h: Likewise.
7792 * config/arm/t-arm: Likewise.
7793 * config/arm/thumb1.md: Likewise.
7794 * config/arm/x-arm: Likewise.
7795 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
7796 * config/avr/avr-fixed.md: Likewise.
7797 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
7798 * config/avr/avr-mcus.def: Likewise.
7799 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
7800 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
7801 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
7802 * config/avr/avr.cc (avr_option_override): Likewise.
7803 (avr_build_builtin_va_list): Likewise.
7804 (avr_mode_dependent_address_p): Likewise.
7805 (avr_function_arg_advance): Likewise.
7806 (avr_asm_output_aligned_decl_common): Likewise.
7807 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
7808 (SUPPORTS_INIT_PRIORITY): Likewise.
7809 * config/avr/avr.md: Likewise.
7810 * config/avr/builtins.def: Likewise.
7811 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
7812 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
7814 * config/avr/t-avr: Likewise.
7815 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
7816 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
7817 * config/bpf/bpf.h (enum reg_class): Likewise.
7818 * config/bpf/t-bpf: Likewise.
7819 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
7820 * config/cr16/cr16-protos.h: Likewise.
7821 * config/cris/cris.cc (cris_address_cost): Likewise.
7822 (cris_side_effect_mode_ok): Likewise.
7823 (cris_init_machine_status): Likewise.
7824 (cris_emit_movem_store): Likewise.
7825 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
7826 (enum reg_class): Likewise.
7827 (struct cum_args): Likewise.
7828 * config/cris/cris.opt: Likewise.
7829 * config/cris/sync.md: Likewise.
7830 * config/csky/csky.cc (csky_expand_prologue): Likewise.
7831 * config/darwin-c.cc: Likewise.
7832 * config/darwin-f.cc: Likewise.
7833 * config/darwin-sections.def (zobj_const_section): Likewise.
7834 * config/darwin.cc (output_objc_section_asm_op): Likewise.
7835 (fprintf): Likewise.
7836 * config/darwin.h (GTY): Likewise.
7837 * config/elfos.h: Likewise.
7838 * config/epiphany/epiphany-sched.md: Likewise.
7839 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
7840 * config/epiphany/epiphany.h (GTY): Likewise.
7841 (NO_FUNCTION_CSE): Likewise.
7842 * config/epiphany/mode-switch-use.cc: Likewise.
7843 * config/epiphany/predicates.md: Likewise.
7844 * config/epiphany/t-epiphany: Likewise.
7845 * config/fr30/fr30-protos.h: Likewise.
7846 * config/frv/frv-protos.h: Likewise.
7847 * config/frv/frv.cc (TLS_BIAS): Likewise.
7848 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
7849 * config/ft32/ft32-protos.h: Likewise.
7850 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
7851 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
7852 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
7853 * config/gcn/t-gcn-hsa: Likewise.
7854 * config/gcn/t-omp-device: Likewise.
7855 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
7856 (same_cmp_following_p): Likewise.
7857 * config/h8300/h8300.cc (F): Likewise.
7858 * config/h8300/h8300.h (struct cum_arg): Likewise.
7859 (BRANCH_COST): Likewise.
7860 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
7861 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
7862 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
7863 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
7864 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
7865 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
7866 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
7867 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
7868 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
7869 (ix86_register_pragmas): Likewise.
7870 (ix86_d_has_stdcall_convention): Likewise.
7871 (i386_pe_seh_init_sections): Likewise.
7872 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
7873 (ix86_function_value_regno_p): Likewise.
7874 (ix86_compute_frame_layout): Likewise.
7875 (legitimize_pe_coff_symbol): Likewise.
7876 (output_pic_addr_const): Likewise.
7877 * config/i386/i386.h (defined): Likewise.
7878 (host_detect_local_cpu): Likewise.
7879 (CONSTANT_ADDRESS_P): Likewise.
7880 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
7881 (struct machine_frame_state): Likewise.
7882 * config/i386/i386.md: Likewise.
7883 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
7884 * config/i386/mmx.md: Likewise.
7885 * config/i386/sse.md: Likewise.
7886 * config/i386/t-cygming: Likewise.
7887 * config/i386/t-djgpp: Likewise.
7888 * config/i386/t-gnu-property: Likewise.
7889 * config/i386/t-i386: Likewise.
7890 * config/i386/t-intelmic: Likewise.
7891 * config/i386/t-omp-device: Likewise.
7892 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
7893 (i386_pe_adjust_class_at_definition): Likewise.
7894 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
7895 (i386_pe_mangle_decl_assembler_name): Likewise.
7896 (i386_pe_encode_section_info): Likewise.
7897 * config/i386/x-cygwin: Likewise.
7898 * config/i386/x-darwin: Likewise.
7899 * config/i386/x-i386: Likewise.
7900 * config/i386/x-mingw32: Likewise.
7901 * config/i386/x86-tune-sched-core.cc: Likewise.
7902 * config/i386/x86-tune.def: Likewise.
7903 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
7904 * config/ia64/freebsd.h: Likewise.
7905 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
7906 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
7907 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
7908 (ia64_secondary_reload_class): Likewise.
7909 (bundling): Likewise.
7910 * config/ia64/ia64.h: Likewise.
7911 * config/ia64/ia64.md: Likewise.
7912 * config/ia64/predicates.md: Likewise.
7913 * config/ia64/sysv4.h: Likewise.
7914 * config/ia64/t-ia64: Likewise.
7915 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
7916 * config/iq2000/iq2000.md: Likewise.
7917 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
7919 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
7920 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
7921 * config/m32c/t-m32c: Likewise.
7922 * config/m32r/m32r-protos.h: Likewise.
7923 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
7924 * config/m32r/m32r.h: Likewise.
7925 * config/m32r/m32r.md: Likewise.
7926 * config/m68k/m68k-isas.def: Likewise.
7927 * config/m68k/m68k-microarchs.def: Likewise.
7928 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
7929 (m68k_epilogue_uses): Likewise.
7930 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
7931 (m68k_sched_adjust_cost): Likewise.
7932 (m68k_sched_md_init): Likewise.
7933 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
7934 (enum m68k_function_kind): Likewise.
7935 * config/m68k/m68k.md: Likewise.
7936 * config/m68k/m68kemb.h: Likewise.
7937 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
7938 * config/mcore/mcore-protos.h: Likewise.
7939 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
7940 (mcore_expand_prolog): Likewise.
7941 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
7942 * config/mcore/mcore.md: Likewise.
7943 * config/microblaze/microblaze-protos.h: Likewise.
7944 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
7945 (microblaze_function_prologue): Likewise.
7946 (microblaze_function_epilogue): Likewise.
7947 (microblaze_select_section): Likewise.
7948 (microblaze_asm_output_mi_thunk): Likewise.
7949 (microblaze_eh_return): Likewise.
7950 * config/microblaze/microblaze.h: Likewise.
7951 * config/microblaze/microblaze.md: Likewise.
7952 * config/microblaze/t-microblaze: Likewise.
7953 * config/mips/driver-native.cc: Likewise.
7954 * config/mips/loongson2ef.md: Likewise.
7955 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
7956 * config/mips/mips.cc (mips_rtx_costs): Likewise.
7957 (mips_output_filename): Likewise.
7958 (mips_output_function_prologue): Likewise.
7959 (mips_output_function_epilogue): Likewise.
7960 (mips_output_mi_thunk): Likewise.
7961 * config/mips/mips.h: Likewise.
7962 * config/mips/mips.md: Likewise.
7963 * config/mips/t-mips: Likewise.
7964 * config/mips/x-native: Likewise.
7965 * config/mmix/mmix-protos.h: Likewise.
7966 * config/mmix/mmix.cc (mmix_option_override): Likewise.
7967 (mmix_dbx_register_number): Likewise.
7968 (mmix_expand_prologue): Likewise.
7969 * config/mmix/mmix.h: Likewise.
7970 * config/mmix/mmix.md: Likewise.
7971 * config/mmix/predicates.md: Likewise.
7972 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
7973 (mn10300_legitimate_pic_operand_p): Likewise.
7974 * config/mn10300/mn10300.h (enum reg_class): Likewise.
7975 (NO_FUNCTION_CSE): Likewise.
7976 * config/moxie/moxie-protos.h: Likewise.
7977 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
7978 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
7979 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
7980 (msp430_incoming_return_addr_rtx): Likewise.
7981 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
7982 * config/msp430/t-msp430: Likewise.
7983 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
7984 (nds32_rtx_costs_size_prefer): Likewise.
7985 (nds32_init_rtx_costs): Likewise.
7986 * config/nds32/nds32-doubleword.md: Likewise.
7987 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
7988 (nds32_builtin_decl): Likewise.
7989 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
7990 (enum nds32_isr_nested_type): Likewise.
7991 (enum reg_class): Likewise.
7992 * config/nds32/predicates.md: Likewise.
7993 * config/nds32/t-nds32: Likewise.
7994 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
7995 * config/nvptx/nvptx-protos.h: Likewise.
7996 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
7997 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
7998 * config/nvptx/t-nvptx: Likewise.
7999 * config/nvptx/t-omp-device: Likewise.
8000 * config/pa/elf.h: Likewise.
8001 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
8002 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
8003 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
8004 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
8005 (pa_legitimize_reload_address): Likewise.
8006 (pa_can_use_return_insn): Likewise.
8007 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
8008 (som_output_text_section_asm_op): Likewise.
8009 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
8010 * config/pa/pa.md: Likewise.
8011 * config/pa/som.h: Likewise.
8012 * config/pa/t-pa: Likewise.
8013 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
8014 * config/pdp11/pdp11.h: Likewise.
8015 * config/pdp11/pdp11.md: Likewise.
8016 * config/pdp11/t-pdp11: Likewise.
8017 * config/pru/pru.md: Likewise.
8018 * config/pru/t-pru: Likewise.
8019 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
8020 (riscv_gpr_save_operation_p): Likewise.
8021 (riscv_d_register_target_info): Likewise.
8022 (riscv_init_builtins): Likewise.
8023 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
8024 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
8025 * config/riscv/t-riscv: Likewise.
8026 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
8027 * config/rl78/t-rl78: Likewise.
8028 * config/rs6000/aix.h: Likewise.
8029 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
8030 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
8031 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
8032 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
8033 * config/rs6000/driver-rs6000.cc: Likewise.
8034 * config/rs6000/freebsd.h: Likewise.
8035 * config/rs6000/freebsd64.h: Likewise.
8036 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
8037 * config/rs6000/rbtree.cc: Likewise.
8038 * config/rs6000/rbtree.h: Likewise.
8039 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
8040 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
8041 (rs6000_expand_builtin): Likewise.
8042 (rs6000_init_builtins): Likewise.
8043 * config/rs6000/rs6000-cpus.def: Likewise.
8044 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
8045 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
8046 (quad_address_offset_p): Likewise.
8047 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
8048 (rs6000_emit_epilogue): Likewise.
8049 * config/rs6000/rs6000-overload.def: Likewise.
8050 * config/rs6000/rs6000-p8swap.cc: Likewise.
8051 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
8052 (rs6000_const_f32_to_i32): Likewise.
8053 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
8054 (rs6000_debug_legitimize_address): Likewise.
8055 (rs6000_mode_dependent_address): Likewise.
8056 (rs6000_adjust_priority): Likewise.
8057 (rs6000_c_mode_for_suffix): Likewise.
8058 * config/rs6000/rs6000.h (defined): Likewise.
8059 (LONG_DOUBLE_TYPE_SIZE): Likewise.
8060 * config/rs6000/rs6000.md: Likewise.
8061 * config/rs6000/sysv4.h: Likewise.
8062 * config/rs6000/t-linux: Likewise.
8063 * config/rs6000/t-linux64: Likewise.
8064 * config/rs6000/t-rs6000: Likewise.
8065 * config/rs6000/x-darwin: Likewise.
8066 * config/rs6000/x-darwin64: Likewise.
8067 * config/rs6000/x-rs6000: Likewise.
8068 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
8069 * config/rx/rx.cc (rx_expand_builtin): Likewise.
8070 * config/s390/constraints.md: Likewise.
8071 * config/s390/driver-native.cc: Likewise.
8072 * config/s390/htmxlintrin.h: Likewise.
8073 * config/s390/s390-builtins.def (B_DEF): Likewise.
8074 (OB_DEF_VAR): Likewise.
8075 * config/s390/s390-builtins.h: Likewise.
8076 * config/s390/s390-c.cc: Likewise.
8077 * config/s390/s390-opts.h: Likewise.
8078 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
8079 (s390_register_target_pragmas): Likewise.
8080 * config/s390/s390.cc (s390_init_builtins): Likewise.
8081 (s390_expand_plus_operand): Likewise.
8082 (s390_expand_atomic): Likewise.
8083 (s390_valid_target_attribute_inner_p): Likewise.
8084 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
8085 * config/s390/s390.md: Likewise.
8086 * config/s390/t-s390: Likewise.
8087 * config/s390/vx-builtins.md: Likewise.
8088 * config/s390/x-native: Likewise.
8089 * config/sh/divtab-sh4-300.cc (main): Likewise.
8090 * config/sh/divtab-sh4.cc (main): Likewise.
8091 * config/sh/divtab.cc (main): Likewise.
8092 * config/sh/elf.h: Likewise.
8093 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
8094 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
8095 (sh_struct_value_rtx): Likewise.
8096 (sh_remove_reg_dead_or_unused_notes): Likewise.
8097 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
8098 * config/sh/t-sh: Likewise.
8099 * config/sol2-protos.h (solaris_override_options): Likewise.
8100 * config/sol2.h: Likewise.
8101 * config/sparc/driver-sparc.cc: Likewise.
8102 * config/sparc/freebsd.h: Likewise.
8103 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
8104 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
8105 (sparc_asan_shadow_offset): Likewise.
8106 * config/sparc/sparc.h: Likewise.
8107 * config/sparc/sparc.md: Likewise.
8108 * config/sparc/t-sparc: Likewise.
8109 * config/sparc/x-sparc: Likewise.
8110 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
8111 * config/t-darwin: Likewise.
8112 * config/t-dragonfly: Likewise.
8113 * config/t-freebsd: Likewise.
8114 * config/t-glibc: Likewise.
8115 * config/t-linux: Likewise.
8116 * config/t-netbsd: Likewise.
8117 * config/t-openbsd: Likewise.
8118 * config/t-pnt16-warn: Likewise.
8119 * config/t-sol2: Likewise.
8120 * config/t-vxworks: Likewise.
8121 * config/t-winnt: Likewise.
8122 * config/tilegx/t-tilegx: Likewise.
8123 * config/tilegx/tilegx-c.cc: Likewise.
8124 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
8125 * config/tilegx/tilegx.md: Likewise.
8126 * config/tilepro/t-tilepro: Likewise.
8127 * config/tilepro/tilepro-c.cc: Likewise.
8128 * config/v850/t-v850: Likewise.
8129 * config/v850/v850-protos.h: Likewise.
8130 * config/v850/v850.cc (F): Likewise.
8131 * config/v850/v850.h (enum reg_class): Likewise.
8132 (SLOW_BYTE_ACCESS): Likewise.
8133 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
8134 * config/vax/vax.h (enum reg_class): Likewise.
8135 * config/vax/vax.md: Likewise.
8136 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
8137 * config/visium/visium.h: Likewise.
8138 * config/vms/t-vms: Likewise.
8139 * config/vms/vms-crtlmap.map: Likewise.
8140 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
8141 * config/vx-common.h: Likewise.
8142 * config/x-darwin: Likewise.
8143 * config/x-hpux: Likewise.
8144 * config/x-linux: Likewise.
8145 * config/x-netbsd: Likewise.
8146 * config/x-openbsd: Likewise.
8147 * config/x-solaris: Likewise.
8148 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
8149 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
8150 * config/xtensa/xtensa.h: Likewise.
8151 * configure.ac: Likewise.
8152 * context.cc: Likewise.
8153 * convert.h: Likewise.
8154 * coretypes.h: Likewise.
8155 * coverage.cc: Likewise.
8156 * coverage.h: Likewise.
8157 * cppdefault.h (struct default_include): Likewise.
8158 * cprop.cc (local_cprop_pass): Likewise.
8159 (one_cprop_pass): Likewise.
8160 * cse.cc (hash_rtx_cb): Likewise.
8161 (fold_rtx): Likewise.
8162 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
8163 * data-streamer.h (bp_unpack_var_len_int): Likewise.
8164 (streamer_write_widest_int): Likewise.
8165 * dbgcnt.def: Likewise.
8166 * dbxout.cc (dbxout_early_global_decl): Likewise.
8167 (dbxout_common_check): Likewise.
8168 * dbxout.h: Likewise.
8169 * debug.h (struct gcc_debug_hooks): Likewise.
8170 (dump_go_spec_init): Likewise.
8171 * df-core.cc: Likewise.
8172 * df-scan.cc (df_insn_info_delete): Likewise.
8173 (df_insn_delete): Likewise.
8174 * df.h (debug_df_chain): Likewise.
8175 (can_move_insns_across): Likewise.
8176 * dfp.cc (decimal_from_binary): Likewise.
8177 * diagnostic-color.cc: Likewise.
8178 * diagnostic-event-id.h: Likewise.
8179 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
8180 * diagnostic.cc (bt_callback): Likewise.
8181 (num_digits): Likewise.
8182 * doc/avr-mmcu.texi: Likewise.
8183 * doc/cfg.texi: Likewise.
8184 * doc/contrib.texi: Likewise.
8185 * doc/cppinternals.texi: Likewise.
8186 * doc/extend.texi: Likewise.
8187 * doc/generic.texi: Likewise.
8188 * doc/gimple.texi: Likewise.
8189 * doc/gty.texi: Likewise.
8190 * doc/invoke.texi: Likewise.
8191 * doc/loop.texi: Likewise.
8192 * doc/lto.texi: Likewise.
8193 * doc/match-and-simplify.texi: Likewise.
8194 * doc/md.texi: Likewise.
8195 * doc/optinfo.texi: Likewise.
8196 * doc/options.texi: Likewise.
8197 * doc/passes.texi: Likewise.
8198 * doc/plugins.texi: Likewise.
8199 * doc/rtl.texi: Likewise.
8200 * doc/sourcebuild.texi: Likewise.
8201 * doc/tm.texi: Likewise.
8202 * doc/tm.texi.in: Likewise.
8203 * doc/tree-ssa.texi: Likewise.
8204 * dojump.cc (do_jump): Likewise.
8205 * dojump.h: Likewise.
8206 * dumpfile.cc (test_impl_location): Likewise.
8207 (test_capture_of_dump_calls): Likewise.
8208 * dumpfile.h (enum dump_kind): Likewise.
8209 (class dump_location_t): Likewise.
8210 (dump_enabled_p): Likewise.
8211 (enable_rtl_dump_file): Likewise.
8212 (dump_combine_total_stats): Likewise.
8213 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
8214 * dwarf2ctf.h (ctf_debug_finish): Likewise.
8215 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
8216 (struct loc_descr_context): Likewise.
8217 (rtl_for_decl_location): Likewise.
8218 (gen_subprogram_die): Likewise.
8219 (gen_label_die): Likewise.
8220 (is_trivial_indirect_ref): Likewise.
8221 (dwarf2out_late_global_decl): Likewise.
8222 (dwarf_file_hasher::hash): Likewise.
8223 (dwarf2out_end_source_file): Likewise.
8224 (dwarf2out_define): Likewise.
8225 (dwarf2out_early_finish): Likewise.
8226 * dwarf2out.h (struct dw_fde_node): Likewise.
8227 (struct dw_discr_list_node): Likewise.
8228 (output_loc_sequence_raw): Likewise.
8229 * emit-rtl.cc (gen_raw_REG): Likewise.
8230 (maybe_set_max_label_num): Likewise.
8231 * emit-rtl.h (struct rtl_data): Likewise.
8232 * errors.cc (internal_error): Likewise.
8233 (trim_filename): Likewise.
8234 * et-forest.cc: Likewise.
8235 * except.cc (init_eh_for_function): Likewise.
8236 * explow.cc (promote_ssa_mode): Likewise.
8237 (get_dynamic_stack_size): Likewise.
8238 * explow.h: Likewise.
8239 * expmed.h: Likewise.
8240 * expr.cc (safe_from_p): Likewise.
8241 (expand_expr_real_2): Likewise.
8242 (expand_expr_real_1): Likewise.
8243 * file-prefix-map.cc (remap_filename): Likewise.
8244 * final.cc (app_enable): Likewise.
8245 (make_pass_compute_alignments): Likewise.
8246 (final_scan_insn_1): Likewise.
8247 (final_scan_insn): Likewise.
8248 * fixed-value.h (fixed_from_string): Likewise.
8249 * flag-types.h (NO_DEBUG): Likewise.
8250 (DWARF2_DEBUG): Likewise.
8251 (VMS_DEBUG): Likewise.
8252 (BTF_DEBUG): Likewise.
8253 (enum ctf_debug_info_levels): Likewise.
8254 * fold-const.cc (const_binop): Likewise.
8255 (fold_binary_loc): Likewise.
8256 (fold_checksum_tree): Likewise.
8257 * fp-test.cc: Likewise.
8258 * function.cc (expand_function_end): Likewise.
8259 * function.h (struct function): Likewise.
8260 * fwprop.cc (should_replace_address): Likewise.
8261 * gcc-main.cc: Likewise.
8262 * gcc-rich-location.h (class gcc_rich_location): Likewise.
8263 * gcc-symtab.h: Likewise.
8264 * gcc.cc (MIN_FATAL_STATUS): Likewise.
8265 (driver_handle_option): Likewise.
8266 (quote_spec_arg): Likewise.
8267 (driver::finalize): Likewise.
8268 * gcc.h (set_input): Likewise.
8269 * gcov-dump.cc: Likewise.
8270 * gcov.cc (solve_flow_graph): Likewise.
8271 * gcse-common.cc: Likewise.
8272 * gcse.cc (make_pass_rtl_hoist): Likewise.
8273 * genattr-common.cc: Likewise.
8274 * genattrtab.cc (min_fn): Likewise.
8275 (write_const_num_delay_slots): Likewise.
8276 * genautomata.cc: Likewise.
8277 * genconditions.cc (write_one_condition): Likewise.
8278 * genconstants.cc: Likewise.
8279 * genemit.cc (gen_exp): Likewise.
8280 * generic-match-head.cc: Likewise.
8281 * genextract.cc: Likewise.
8282 * gengenrtl.cc (always_void_p): Likewise.
8283 * gengtype-parse.cc (gtymarker_opt): Likewise.
8284 * gengtype-state.cc (state_writer::state_writer): Likewise.
8285 (write_state_trailer): Likewise.
8286 (equals_type_number): Likewise.
8287 (read_state): Likewise.
8288 * gengtype.cc (open_base_files): Likewise.
8289 (struct file_rule_st): Likewise.
8290 (header_dot_h_frul): Likewise.
8291 * gengtype.h: Likewise.
8292 * genmatch.cc (main): Likewise.
8293 * genmddeps.cc: Likewise.
8294 * genmodes.cc (emit_mode_inner): Likewise.
8295 (emit_mode_unit_size): Likewise.
8296 * genpeep.cc (gen_peephole): Likewise.
8297 * genpreds.cc (write_tm_preds_h): Likewise.
8298 * genrecog.cc (validate_pattern): Likewise.
8299 (write_header): Likewise.
8301 * gensupport.cc (change_subst_attribute): Likewise.
8302 (traverse_c_tests): Likewise.
8303 (add_predicate): Likewise.
8304 (init_predicate_table): Likewise.
8305 * gensupport.h (struct optab_pattern): Likewise.
8306 (get_num_insn_codes): Likewise.
8307 (maybe_eval_c_test): Likewise.
8308 (struct pred_data): Likewise.
8309 * ggc-internal.h: Likewise.
8310 * gimple-fold.cc (maybe_fold_reference): Likewise.
8311 (get_range_strlen_tree): Likewise.
8312 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
8313 * gimple-low.cc: Likewise.
8314 * gimple-match-head.cc (directly_supported_p): Likewise.
8315 * gimple-pretty-print.h: Likewise.
8316 * gimple-ssa-sprintf.cc (format_percent): Likewise.
8317 (adjust_range_for_overflow): Likewise.
8318 * gimple-streamer.h: Likewise.
8319 * gimple.h (struct GTY): Likewise.
8320 (is_gimple_resx): Likewise.
8321 * gimplify.cc (gimplify_expr): Likewise.
8322 (gimplify_init_constructor): Likewise.
8323 (omp_construct_selector_matches): Likewise.
8324 (gimplify_omp_target_update): Likewise.
8325 (gimplify_omp_ordered): Likewise.
8326 (gimplify_va_arg_expr): Likewise.
8327 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
8328 * haifa-sched.cc (increase_insn_priority): Likewise.
8329 (try_ready): Likewise.
8330 (sched_create_recovery_edges): Likewise.
8331 * ifcvt.cc (find_if_case_1): Likewise.
8332 (find_if_case_2): Likewise.
8333 * inchash.h: Likewise.
8334 * incpath.cc (add_env_var_paths): Likewise.
8335 * input.cc (dump_location_info): Likewise.
8336 (assert_loceq): Likewise.
8337 (test_lexer_string_locations_concatenation_1): Likewise.
8338 (test_lexer_string_locations_concatenation_2): Likewise.
8339 (test_lexer_string_locations_concatenation_3): Likewise.
8340 * input.h (BUILTINS_LOCATION): Likewise.
8341 (class string_concat_db): Likewise.
8342 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
8343 (expand_LOOP_VECTORIZED): Likewise.
8344 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
8345 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
8346 (ipa_fn_summary_t::duplicate): Likewise.
8347 (make_pass_ipa_fn_summary): Likewise.
8348 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
8349 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
8350 (free_lang_data_in_decl): Likewise.
8351 * ipa-inline.cc (compute_inlined_call_time): Likewise.
8352 (inline_always_inline_functions): Likewise.
8353 * ipa-inline.h (free_growth_caches): Likewise.
8354 (inline_account_function_p): Likewise.
8355 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
8356 (modref_eaf_analysis::analyze_ssa_name): Likewise.
8357 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
8358 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
8359 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
8360 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
8361 (unadjusted_ptr_and_unit_offset): Likewise.
8362 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
8363 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
8364 * ipa-split.cc (consider_split): Likewise.
8365 * ipa-sra.cc (isra_read_node_info): Likewise.
8366 * ipa-utils.h (struct ipa_dfs_info): Likewise.
8367 (recursive_call_p): Likewise.
8368 (ipa_make_function_pure): Likewise.
8369 * ira-build.cc (ira_create_allocno): Likewise.
8370 (ira_flattening): Likewise.
8371 * ira-color.cc (do_coloring): Likewise.
8372 (update_curr_costs): Likewise.
8373 * ira-conflicts.cc (process_regs_for_copy): Likewise.
8374 * ira-int.h (struct ira_emit_data): Likewise.
8375 (ira_prohibited_mode_move_regs): Likewise.
8376 (ira_get_dup_out_num): Likewise.
8377 (ira_destroy): Likewise.
8378 (ira_tune_allocno_costs): Likewise.
8379 (ira_implicitly_set_insn_hard_regs): Likewise.
8380 (ira_build_conflicts): Likewise.
8381 (ira_color): Likewise.
8382 * ira-lives.cc (process_bb_node_lives): Likewise.
8383 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
8384 (setup_uniform_class_p): Likewise.
8385 (def_dominates_uses): Likewise.
8386 * ira.h (ira_nullify_asm_goto): Likewise.
8387 * langhooks.cc (lhd_post_options): Likewise.
8388 * langhooks.h (class substring_loc): Likewise.
8389 (struct lang_hooks_for_tree_inlining): Likewise.
8390 (struct lang_hooks_for_types): Likewise.
8391 (struct lang_hooks): Likewise.
8392 * libfuncs.h (synchronize_libfunc): Likewise.
8393 * loop-doloop.cc (doloop_condition_get): Likewise.
8394 * loop-init.cc (fix_loop_structure): Likewise.
8395 * loop-invariant.cc: Likewise.
8396 * lower-subreg.h: Likewise.
8397 * lra-constraints.cc (curr_insn_transform): Likewise.
8398 * lra-int.h (struct lra_insn_reg): Likewise.
8399 (lra_undo_inheritance): Likewise.
8400 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
8401 (lra_split_hard_reg_for): Likewise.
8402 (lra_coalesce): Likewise.
8403 (lra_final_code_change): Likewise.
8404 * lra-spills.cc (lra_final_code_change): Likewise.
8405 * lra.cc (lra_process_new_insns): Likewise.
8406 * lto-compress.h (struct lto_compression_stream): Likewise.
8407 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
8408 (write_symbol): Likewise.
8409 * lto-streamer.h (enum LTO_tags): Likewise.
8410 (lto_value_range_error): Likewise.
8411 (lto_append_block): Likewise.
8412 (lto_streamer_hooks_init): Likewise.
8413 (stream_read_tree_ref): Likewise.
8414 (lto_prepare_function_for_streaming): Likewise.
8415 (select_what_to_stream): Likewise.
8416 (omp_lto_input_declare_variant_alt): Likewise.
8417 (cl_optimization_stream_in): Likewise.
8418 * lto-wrapper.cc (append_compiler_options): Likewise.
8419 * machmode.def: Likewise.
8420 * machmode.h (struct int_n_data_t): Likewise.
8421 * main.cc (main): Likewise.
8422 * match.pd: Likewise.
8423 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
8424 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
8425 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
8426 (make_pass_expand_omp_ssa): Likewise.
8427 * omp-low.cc (struct omp_context): Likewise.
8428 (struct omp_taskcopy_context): Likewise.
8429 (lower_omp): Likewise.
8430 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
8431 (mask_name): Likewise.
8432 (omp_sese_dump_pars): Likewise.
8433 (worker_single_simple): Likewise.
8434 * omp-offload.cc (omp_finish_file): Likewise.
8435 (execute_oacc_loop_designation): Likewise.
8436 * optabs-query.cc (lshift_cheap_p): Likewise.
8437 * optc-gen.awk: Likewise.
8438 * optc-save-gen.awk: Likewise.
8439 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
8440 * opts-common.cc: Likewise.
8441 * output.h (app_enable): Likewise.
8442 (output_operand_lossage): Likewise.
8443 (insn_current_reference_address): Likewise.
8444 (get_insn_template): Likewise.
8445 (output_quoted_string): Likewise.
8446 * pass_manager.h (struct register_pass_info): Likewise.
8447 * plugin.cc: Likewise.
8448 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
8449 * plugin.h (invoke_plugin_callbacks): Likewise.
8450 * pointer-query.cc (handle_mem_ref): Likewise.
8451 * postreload-gcse.cc (alloc_mem): Likewise.
8452 * predict.h (enum prediction): Likewise.
8453 (add_reg_br_prob_note): Likewise.
8454 * prefix.h: Likewise.
8455 * profile.h (get_working_sets): Likewise.
8456 * read-md.cc: Likewise.
8457 * read-md.h (struct mapping): Likewise.
8458 (class md_reader): Likewise.
8459 (class noop_reader): Likewise.
8460 * read-rtl-function.cc (function_reader::create_function): Likewise.
8461 (function_reader::extra_parsing_for_operand_code_0): Likewise.
8462 * read-rtl.cc (initialize_iterators): Likewise.
8463 * real.cc: Likewise.
8464 * real.h (struct real_value): Likewise.
8465 (format_helper::format_helper): Likewise.
8466 (real_hash): Likewise.
8467 (real_can_shorten_arithmetic): Likewise.
8468 * recog.cc (struct target_recog): Likewise.
8469 (offsettable_nonstrict_memref_p): Likewise.
8470 (constrain_operands): Likewise.
8471 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
8472 (which_op_alt): Likewise.
8473 (struct insn_gen_fn): Likewise.
8474 * reg-notes.def (REG_NOTE): Likewise.
8475 * reg-stack.cc: Likewise.
8476 * regs.h (reg_is_parm_p): Likewise.
8477 * regset.h: Likewise.
8478 * reload.cc (push_reload): Likewise.
8479 (find_reloads): Likewise.
8480 (find_reloads_address_1): Likewise.
8481 (find_replacement): Likewise.
8482 (refers_to_regno_for_reload_p): Likewise.
8483 (refers_to_mem_for_reload_p): Likewise.
8484 * reload.h (push_reload): Likewise.
8485 (deallocate_reload_reg): Likewise.
8486 * reload1.cc (emit_input_reload_insns): Likewise.
8487 * reorg.cc (relax_delay_slots): Likewise.
8488 * rtl.def (UNKNOWN): Likewise.
8489 (SEQUENCE): Likewise.
8490 (BARRIER): Likewise.
8491 (ASM_OPERANDS): Likewise.
8492 (EQ_ATTR_ALT): Likewise.
8493 * rtl.h (struct GTY): Likewise.
8494 (LABEL_NAME): Likewise.
8495 (LABEL_ALT_ENTRY_P): Likewise.
8496 (SUBREG_BYTE): Likewise.
8497 (get_stack_check_protect): Likewise.
8498 (dump_rtx_statistics): Likewise.
8499 (unwrap_const_vec_duplicate): Likewise.
8500 (subreg_promoted_mode): Likewise.
8501 (gen_lowpart_common): Likewise.
8502 (operand_subword): Likewise.
8503 (immed_wide_int_const): Likewise.
8504 (decide_function_section): Likewise.
8505 (active_insn_p): Likewise.
8506 (delete_related_insns): Likewise.
8507 (try_split): Likewise.
8508 (val_signbit_known_clear_p): Likewise.
8509 (simplifiable_subregs): Likewise.
8510 (set_insn_deleted): Likewise.
8511 (subreg_get_info): Likewise.
8512 (remove_free_EXPR_LIST_node): Likewise.
8513 (finish_subregs_of_mode): Likewise.
8514 (get_mem_attrs): Likewise.
8515 (lookup_constant_def): Likewise.
8516 (rtx_to_tree_code): Likewise.
8517 (hash_rtx): Likewise.
8518 (condjump_in_parallel_p): Likewise.
8519 (validate_subreg): Likewise.
8520 (make_compound_operation): Likewise.
8521 (schedule_ebbs): Likewise.
8522 (print_inline_rtx): Likewise.
8523 (fixup_args_size_notes): Likewise.
8524 (expand_dec): Likewise.
8525 (prepare_copy_insn): Likewise.
8526 (mark_elimination): Likewise.
8527 (valid_mode_changes_for_regno): Likewise.
8528 (make_debug_expr_from_rtl): Likewise.
8529 (delete_vta_debug_insns): Likewise.
8530 (simplify_using_condition): Likewise.
8531 (set_insn_locations): Likewise.
8532 (fatal_insn_not_found): Likewise.
8533 (word_register_operation_p): Likewise.
8534 * rtlanal.cc (get_call_fndecl): Likewise.
8535 (side_effects_p): Likewise.
8536 (subreg_nregs): Likewise.
8537 (rtx_cost): Likewise.
8538 (canonicalize_condition): Likewise.
8539 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
8540 * run-rtl-passes.cc (run_rtl_passes): Likewise.
8541 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
8542 * sched-deps.cc (add_dependence_1): Likewise.
8543 * sched-ebb.cc (begin_move_insn): Likewise.
8544 (add_deps_for_risky_insns): Likewise.
8545 (advance_target_bb): Likewise.
8546 * sched-int.h (reemit_notes): Likewise.
8547 (struct _haifa_insn_data): Likewise.
8549 (DEP_CANCELLED): Likewise.
8550 (debug_ds): Likewise.
8551 (number_in_ready): Likewise.
8552 (schedule_ebbs_finish): Likewise.
8553 (find_modifiable_mems): Likewise.
8554 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
8555 * sel-sched-dump.cc (dump_lv_set): Likewise.
8556 * sel-sched-dump.h: Likewise.
8557 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
8558 (setup_id_reg_sets): Likewise.
8559 (has_dependence_p): Likewise.
8560 (sel_num_cfg_preds_gt_1): Likewise.
8561 (bb_ends_ebb_p): Likewise.
8562 * sel-sched-ir.h (struct _list_node): Likewise.
8563 (struct idata_def): Likewise.
8564 (bb_next_bb): Likewise.
8565 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
8566 (choose_best_pseudo_reg): Likewise.
8567 (verify_target_availability): Likewise.
8568 (can_speculate_dep_p): Likewise.
8569 (sel_rank_for_schedule): Likewise.
8570 * selftest-run-tests.cc (selftest::run_tests): Likewise.
8571 * selftest.h (class auto_fix_quotes): Likewise.
8572 * shrink-wrap.cc (handle_simple_exit): Likewise.
8573 * shrink-wrap.h: Likewise.
8574 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
8575 (simplify_context::simplify_gen_vec_select): Likewise.
8576 * spellcheck-tree.h: Likewise.
8577 * spellcheck.h: Likewise.
8578 * statistics.h (struct function): Likewise.
8579 * stmt.cc (conditional_probability): Likewise.
8581 * stor-layout.h: Likewise.
8582 * streamer-hooks.h: Likewise.
8583 * stringpool.h: Likewise.
8584 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
8585 * target.def (HOOK_VECTOR_END): Likewise.
8587 * target.h (union cumulative_args_t): Likewise.
8588 (by_pieces_ninsns): Likewise.
8589 (class predefined_function_abi): Likewise.
8590 * targhooks.cc (default_translate_mode_attribute): Likewise.
8591 * timevar.def: Likewise.
8592 * timevar.h (class timer): Likewise.
8593 * toplev.h (enable_rtl_dump_file): Likewise.
8594 * trans-mem.cc (collect_bb2reg): Likewise.
8595 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
8596 * tree-cfg.cc (remove_bb): Likewise.
8597 (verify_gimple_debug): Likewise.
8598 (remove_edge_and_dominated_blocks): Likewise.
8599 (push_fndecl): Likewise.
8600 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
8601 * tree-complex.cc (expand_complex_multiplication): Likewise.
8602 (expand_complex_div_straight): Likewise.
8603 * tree-core.h (enum tree_index): Likewise.
8604 (enum operand_equal_flag): Likewise.
8605 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
8606 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
8607 * tree-inline.cc (initialize_inlined_parameters): Likewise.
8608 * tree-inline.h (force_value_to_type): Likewise.
8609 * tree-nested.cc (get_chain_decl): Likewise.
8610 (walk_all_functions): Likewise.
8611 * tree-object-size.h: Likewise.
8612 * tree-outof-ssa.cc: Likewise.
8613 * tree-parloops.cc (create_parallel_loop): Likewise.
8614 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
8615 (dump_generic_node): Likewise.
8616 * tree-profile.cc (tree_profiling): Likewise.
8617 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
8618 * tree-ssa-address.cc: Likewise.
8619 * tree-ssa-alias.cc: Likewise.
8620 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
8621 (dump_alias_stats): Likewise.
8622 * tree-ssa-ccp.cc: Likewise.
8623 * tree-ssa-coalesce.h: Likewise.
8624 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
8625 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
8626 * tree-ssa-loop-unswitch.cc: Likewise.
8627 * tree-ssa-math-opts.cc: Likewise.
8628 * tree-ssa-operands.cc (class operands_scanner): Likewise.
8629 * tree-ssa-pre.cc: Likewise.
8630 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
8631 (debug_range_entry): Likewise.
8632 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
8633 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
8634 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
8635 (equal_mem_array_ref_p): Likewise.
8636 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
8637 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
8638 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
8639 * tree-ssa-ter.h: Likewise.
8640 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
8641 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
8642 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
8643 (write_ts_block_tree_pointers): Likewise.
8644 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
8645 (streamer_read_tree_bitfields): Likewise.
8646 (streamer_write_integer_cst): Likewise.
8647 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
8648 (vect_synth_mult_by_constant): Likewise.
8649 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
8650 * tree-vectorizer.cc: Likewise.
8651 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
8652 (vect_update_inits_of_drs): Likewise.
8653 (vect_get_mask_type_for_stmt): Likewise.
8654 (vect_rgroup_iv_might_wrap_p): Likewise.
8655 (cse_and_gimplify_to_preheader): Likewise.
8656 (vect_free_slp_tree): Likewise.
8657 (vect_pattern_recog): Likewise.
8658 (vect_stmt_dominates_stmt_p): Likewise.
8659 * tree.cc (initialize_tree_contains_struct): Likewise.
8660 (need_assembler_name_p): Likewise.
8661 (type_with_interoperable_signedness): Likewise.
8662 * tree.def (SWITCH_EXPR): Likewise.
8663 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
8664 (poly_int_tree_p): Likewise.
8665 (inlined_function_outer_scope_p): Likewise.
8666 (tree_code_for_canonical_type_merging): Likewise.
8667 * value-prof.cc: Likewise.
8668 * value-prof.h (get_nth_most_common_value): Likewise.
8669 (find_func_by_profile_id): Likewise.
8670 * value-range.cc (vrp_operand_equal_p): Likewise.
8671 * value-range.h: Likewise.
8672 * var-tracking.cc: Likewise.
8673 * varasm.cc (default_function_section): Likewise.
8674 (function_section_1): Likewise.
8675 (assemble_variable): Likewise.
8676 (handle_vtv_comdat_section): Likewise.
8677 * vec.h (struct vec_prefix): Likewise.
8678 * vmsdbgout.cc (full_name): Likewise.
8679 * vtable-verify.cc: Likewise.
8680 * vtable-verify.h (struct vtv_graph_node): Likewise.
8681 * xcoffout.cc: Likewise.
8682 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
8684 2022-01-17 Martin Liska <mliska@suse.cz>
8686 * adjust-alignment.c: Moved to...
8687 * adjust-alignment.cc: ...here.
8688 * alias.c: Moved to...
8689 * alias.cc: ...here.
8690 * alloc-pool.c: Moved to...
8691 * alloc-pool.cc: ...here.
8692 * asan.c: Moved to...
8694 * attribs.c: Moved to...
8695 * attribs.cc: ...here.
8696 * auto-inc-dec.c: Moved to...
8697 * auto-inc-dec.cc: ...here.
8698 * auto-profile.c: Moved to...
8699 * auto-profile.cc: ...here.
8700 * bb-reorder.c: Moved to...
8701 * bb-reorder.cc: ...here.
8702 * bitmap.c: Moved to...
8703 * bitmap.cc: ...here.
8704 * btfout.c: Moved to...
8705 * btfout.cc: ...here.
8706 * builtins.c: Moved to...
8707 * builtins.cc: ...here.
8708 * caller-save.c: Moved to...
8709 * caller-save.cc: ...here.
8710 * calls.c: Moved to...
8711 * calls.cc: ...here.
8712 * ccmp.c: Moved to...
8714 * cfg.c: Moved to...
8716 * cfganal.c: Moved to...
8717 * cfganal.cc: ...here.
8718 * cfgbuild.c: Moved to...
8719 * cfgbuild.cc: ...here.
8720 * cfgcleanup.c: Moved to...
8721 * cfgcleanup.cc: ...here.
8722 * cfgexpand.c: Moved to...
8723 * cfgexpand.cc: ...here.
8724 * cfghooks.c: Moved to...
8725 * cfghooks.cc: ...here.
8726 * cfgloop.c: Moved to...
8727 * cfgloop.cc: ...here.
8728 * cfgloopanal.c: Moved to...
8729 * cfgloopanal.cc: ...here.
8730 * cfgloopmanip.c: Moved to...
8731 * cfgloopmanip.cc: ...here.
8732 * cfgrtl.c: Moved to...
8733 * cfgrtl.cc: ...here.
8734 * cgraph.c: Moved to...
8735 * cgraph.cc: ...here.
8736 * cgraphbuild.c: Moved to...
8737 * cgraphbuild.cc: ...here.
8738 * cgraphclones.c: Moved to...
8739 * cgraphclones.cc: ...here.
8740 * cgraphunit.c: Moved to...
8741 * cgraphunit.cc: ...here.
8742 * collect-utils.c: Moved to...
8743 * collect-utils.cc: ...here.
8744 * collect2-aix.c: Moved to...
8745 * collect2-aix.cc: ...here.
8746 * collect2.c: Moved to...
8747 * collect2.cc: ...here.
8748 * combine-stack-adj.c: Moved to...
8749 * combine-stack-adj.cc: ...here.
8750 * combine.c: Moved to...
8751 * combine.cc: ...here.
8752 * common/common-targhooks.c: Moved to...
8753 * common/common-targhooks.cc: ...here.
8754 * common/config/aarch64/aarch64-common.c: Moved to...
8755 * common/config/aarch64/aarch64-common.cc: ...here.
8756 * common/config/alpha/alpha-common.c: Moved to...
8757 * common/config/alpha/alpha-common.cc: ...here.
8758 * common/config/arc/arc-common.c: Moved to...
8759 * common/config/arc/arc-common.cc: ...here.
8760 * common/config/arm/arm-common.c: Moved to...
8761 * common/config/arm/arm-common.cc: ...here.
8762 * common/config/avr/avr-common.c: Moved to...
8763 * common/config/avr/avr-common.cc: ...here.
8764 * common/config/bfin/bfin-common.c: Moved to...
8765 * common/config/bfin/bfin-common.cc: ...here.
8766 * common/config/bpf/bpf-common.c: Moved to...
8767 * common/config/bpf/bpf-common.cc: ...here.
8768 * common/config/c6x/c6x-common.c: Moved to...
8769 * common/config/c6x/c6x-common.cc: ...here.
8770 * common/config/cr16/cr16-common.c: Moved to...
8771 * common/config/cr16/cr16-common.cc: ...here.
8772 * common/config/cris/cris-common.c: Moved to...
8773 * common/config/cris/cris-common.cc: ...here.
8774 * common/config/csky/csky-common.c: Moved to...
8775 * common/config/csky/csky-common.cc: ...here.
8776 * common/config/default-common.c: Moved to...
8777 * common/config/default-common.cc: ...here.
8778 * common/config/epiphany/epiphany-common.c: Moved to...
8779 * common/config/epiphany/epiphany-common.cc: ...here.
8780 * common/config/fr30/fr30-common.c: Moved to...
8781 * common/config/fr30/fr30-common.cc: ...here.
8782 * common/config/frv/frv-common.c: Moved to...
8783 * common/config/frv/frv-common.cc: ...here.
8784 * common/config/gcn/gcn-common.c: Moved to...
8785 * common/config/gcn/gcn-common.cc: ...here.
8786 * common/config/h8300/h8300-common.c: Moved to...
8787 * common/config/h8300/h8300-common.cc: ...here.
8788 * common/config/i386/i386-common.c: Moved to...
8789 * common/config/i386/i386-common.cc: ...here.
8790 * common/config/ia64/ia64-common.c: Moved to...
8791 * common/config/ia64/ia64-common.cc: ...here.
8792 * common/config/iq2000/iq2000-common.c: Moved to...
8793 * common/config/iq2000/iq2000-common.cc: ...here.
8794 * common/config/lm32/lm32-common.c: Moved to...
8795 * common/config/lm32/lm32-common.cc: ...here.
8796 * common/config/m32r/m32r-common.c: Moved to...
8797 * common/config/m32r/m32r-common.cc: ...here.
8798 * common/config/m68k/m68k-common.c: Moved to...
8799 * common/config/m68k/m68k-common.cc: ...here.
8800 * common/config/mcore/mcore-common.c: Moved to...
8801 * common/config/mcore/mcore-common.cc: ...here.
8802 * common/config/microblaze/microblaze-common.c: Moved to...
8803 * common/config/microblaze/microblaze-common.cc: ...here.
8804 * common/config/mips/mips-common.c: Moved to...
8805 * common/config/mips/mips-common.cc: ...here.
8806 * common/config/mmix/mmix-common.c: Moved to...
8807 * common/config/mmix/mmix-common.cc: ...here.
8808 * common/config/mn10300/mn10300-common.c: Moved to...
8809 * common/config/mn10300/mn10300-common.cc: ...here.
8810 * common/config/msp430/msp430-common.c: Moved to...
8811 * common/config/msp430/msp430-common.cc: ...here.
8812 * common/config/nds32/nds32-common.c: Moved to...
8813 * common/config/nds32/nds32-common.cc: ...here.
8814 * common/config/nios2/nios2-common.c: Moved to...
8815 * common/config/nios2/nios2-common.cc: ...here.
8816 * common/config/nvptx/nvptx-common.c: Moved to...
8817 * common/config/nvptx/nvptx-common.cc: ...here.
8818 * common/config/or1k/or1k-common.c: Moved to...
8819 * common/config/or1k/or1k-common.cc: ...here.
8820 * common/config/pa/pa-common.c: Moved to...
8821 * common/config/pa/pa-common.cc: ...here.
8822 * common/config/pdp11/pdp11-common.c: Moved to...
8823 * common/config/pdp11/pdp11-common.cc: ...here.
8824 * common/config/pru/pru-common.c: Moved to...
8825 * common/config/pru/pru-common.cc: ...here.
8826 * common/config/riscv/riscv-common.c: Moved to...
8827 * common/config/riscv/riscv-common.cc: ...here.
8828 * common/config/rs6000/rs6000-common.c: Moved to...
8829 * common/config/rs6000/rs6000-common.cc: ...here.
8830 * common/config/rx/rx-common.c: Moved to...
8831 * common/config/rx/rx-common.cc: ...here.
8832 * common/config/s390/s390-common.c: Moved to...
8833 * common/config/s390/s390-common.cc: ...here.
8834 * common/config/sh/sh-common.c: Moved to...
8835 * common/config/sh/sh-common.cc: ...here.
8836 * common/config/sparc/sparc-common.c: Moved to...
8837 * common/config/sparc/sparc-common.cc: ...here.
8838 * common/config/tilegx/tilegx-common.c: Moved to...
8839 * common/config/tilegx/tilegx-common.cc: ...here.
8840 * common/config/tilepro/tilepro-common.c: Moved to...
8841 * common/config/tilepro/tilepro-common.cc: ...here.
8842 * common/config/v850/v850-common.c: Moved to...
8843 * common/config/v850/v850-common.cc: ...here.
8844 * common/config/vax/vax-common.c: Moved to...
8845 * common/config/vax/vax-common.cc: ...here.
8846 * common/config/visium/visium-common.c: Moved to...
8847 * common/config/visium/visium-common.cc: ...here.
8848 * common/config/xstormy16/xstormy16-common.c: Moved to...
8849 * common/config/xstormy16/xstormy16-common.cc: ...here.
8850 * common/config/xtensa/xtensa-common.c: Moved to...
8851 * common/config/xtensa/xtensa-common.cc: ...here.
8852 * compare-elim.c: Moved to...
8853 * compare-elim.cc: ...here.
8854 * config/aarch64/aarch64-bti-insert.c: Moved to...
8855 * config/aarch64/aarch64-bti-insert.cc: ...here.
8856 * config/aarch64/aarch64-builtins.c: Moved to...
8857 * config/aarch64/aarch64-builtins.cc: ...here.
8858 * config/aarch64/aarch64-c.c: Moved to...
8859 * config/aarch64/aarch64-c.cc: ...here.
8860 * config/aarch64/aarch64-d.c: Moved to...
8861 * config/aarch64/aarch64-d.cc: ...here.
8862 * config/aarch64/aarch64.c: Moved to...
8863 * config/aarch64/aarch64.cc: ...here.
8864 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
8865 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
8866 * config/aarch64/driver-aarch64.c: Moved to...
8867 * config/aarch64/driver-aarch64.cc: ...here.
8868 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
8869 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
8870 * config/aarch64/host-aarch64-darwin.c: Moved to...
8871 * config/aarch64/host-aarch64-darwin.cc: ...here.
8872 * config/alpha/alpha.c: Moved to...
8873 * config/alpha/alpha.cc: ...here.
8874 * config/alpha/driver-alpha.c: Moved to...
8875 * config/alpha/driver-alpha.cc: ...here.
8876 * config/arc/arc-c.c: Moved to...
8877 * config/arc/arc-c.cc: ...here.
8878 * config/arc/arc.c: Moved to...
8879 * config/arc/arc.cc: ...here.
8880 * config/arc/driver-arc.c: Moved to...
8881 * config/arc/driver-arc.cc: ...here.
8882 * config/arm/aarch-common.c: Moved to...
8883 * config/arm/aarch-common.cc: ...here.
8884 * config/arm/arm-builtins.c: Moved to...
8885 * config/arm/arm-builtins.cc: ...here.
8886 * config/arm/arm-c.c: Moved to...
8887 * config/arm/arm-c.cc: ...here.
8888 * config/arm/arm-d.c: Moved to...
8889 * config/arm/arm-d.cc: ...here.
8890 * config/arm/arm.c: Moved to...
8891 * config/arm/arm.cc: ...here.
8892 * config/arm/driver-arm.c: Moved to...
8893 * config/arm/driver-arm.cc: ...here.
8894 * config/avr/avr-c.c: Moved to...
8895 * config/avr/avr-c.cc: ...here.
8896 * config/avr/avr-devices.c: Moved to...
8897 * config/avr/avr-devices.cc: ...here.
8898 * config/avr/avr-log.c: Moved to...
8899 * config/avr/avr-log.cc: ...here.
8900 * config/avr/avr.c: Moved to...
8901 * config/avr/avr.cc: ...here.
8902 * config/avr/driver-avr.c: Moved to...
8903 * config/avr/driver-avr.cc: ...here.
8904 * config/avr/gen-avr-mmcu-specs.c: Moved to...
8905 * config/avr/gen-avr-mmcu-specs.cc: ...here.
8906 * config/avr/gen-avr-mmcu-texi.c: Moved to...
8907 * config/avr/gen-avr-mmcu-texi.cc: ...here.
8908 * config/bfin/bfin.c: Moved to...
8909 * config/bfin/bfin.cc: ...here.
8910 * config/bpf/bpf.c: Moved to...
8911 * config/bpf/bpf.cc: ...here.
8912 * config/bpf/coreout.c: Moved to...
8913 * config/bpf/coreout.cc: ...here.
8914 * config/c6x/c6x.c: Moved to...
8915 * config/c6x/c6x.cc: ...here.
8916 * config/cr16/cr16.c: Moved to...
8917 * config/cr16/cr16.cc: ...here.
8918 * config/cris/cris.c: Moved to...
8919 * config/cris/cris.cc: ...here.
8920 * config/csky/csky.c: Moved to...
8921 * config/csky/csky.cc: ...here.
8922 * config/darwin-c.c: Moved to...
8923 * config/darwin-c.cc: ...here.
8924 * config/darwin-d.c: Moved to...
8925 * config/darwin-d.cc: ...here.
8926 * config/darwin-driver.c: Moved to...
8927 * config/darwin-driver.cc: ...here.
8928 * config/darwin-f.c: Moved to...
8929 * config/darwin-f.cc: ...here.
8930 * config/darwin.c: Moved to...
8931 * config/darwin.cc: ...here.
8932 * config/default-c.c: Moved to...
8933 * config/default-c.cc: ...here.
8934 * config/default-d.c: Moved to...
8935 * config/default-d.cc: ...here.
8936 * config/dragonfly-d.c: Moved to...
8937 * config/dragonfly-d.cc: ...here.
8938 * config/epiphany/epiphany.c: Moved to...
8939 * config/epiphany/epiphany.cc: ...here.
8940 * config/epiphany/mode-switch-use.c: Moved to...
8941 * config/epiphany/mode-switch-use.cc: ...here.
8942 * config/epiphany/resolve-sw-modes.c: Moved to...
8943 * config/epiphany/resolve-sw-modes.cc: ...here.
8944 * config/fr30/fr30.c: Moved to...
8945 * config/fr30/fr30.cc: ...here.
8946 * config/freebsd-d.c: Moved to...
8947 * config/freebsd-d.cc: ...here.
8948 * config/frv/frv.c: Moved to...
8949 * config/frv/frv.cc: ...here.
8950 * config/ft32/ft32.c: Moved to...
8951 * config/ft32/ft32.cc: ...here.
8952 * config/gcn/driver-gcn.c: Moved to...
8953 * config/gcn/driver-gcn.cc: ...here.
8954 * config/gcn/gcn-run.c: Moved to...
8955 * config/gcn/gcn-run.cc: ...here.
8956 * config/gcn/gcn-tree.c: Moved to...
8957 * config/gcn/gcn-tree.cc: ...here.
8958 * config/gcn/gcn.c: Moved to...
8959 * config/gcn/gcn.cc: ...here.
8960 * config/gcn/mkoffload.c: Moved to...
8961 * config/gcn/mkoffload.cc: ...here.
8962 * config/glibc-c.c: Moved to...
8963 * config/glibc-c.cc: ...here.
8964 * config/glibc-d.c: Moved to...
8965 * config/glibc-d.cc: ...here.
8966 * config/h8300/h8300.c: Moved to...
8967 * config/h8300/h8300.cc: ...here.
8968 * config/host-darwin.c: Moved to...
8969 * config/host-darwin.cc: ...here.
8970 * config/host-hpux.c: Moved to...
8971 * config/host-hpux.cc: ...here.
8972 * config/host-linux.c: Moved to...
8973 * config/host-linux.cc: ...here.
8974 * config/host-netbsd.c: Moved to...
8975 * config/host-netbsd.cc: ...here.
8976 * config/host-openbsd.c: Moved to...
8977 * config/host-openbsd.cc: ...here.
8978 * config/host-solaris.c: Moved to...
8979 * config/host-solaris.cc: ...here.
8980 * config/i386/djgpp.c: Moved to...
8981 * config/i386/djgpp.cc: ...here.
8982 * config/i386/driver-i386.c: Moved to...
8983 * config/i386/driver-i386.cc: ...here.
8984 * config/i386/driver-mingw32.c: Moved to...
8985 * config/i386/driver-mingw32.cc: ...here.
8986 * config/i386/gnu-property.c: Moved to...
8987 * config/i386/gnu-property.cc: ...here.
8988 * config/i386/host-cygwin.c: Moved to...
8989 * config/i386/host-cygwin.cc: ...here.
8990 * config/i386/host-i386-darwin.c: Moved to...
8991 * config/i386/host-i386-darwin.cc: ...here.
8992 * config/i386/host-mingw32.c: Moved to...
8993 * config/i386/host-mingw32.cc: ...here.
8994 * config/i386/i386-builtins.c: Moved to...
8995 * config/i386/i386-builtins.cc: ...here.
8996 * config/i386/i386-c.c: Moved to...
8997 * config/i386/i386-c.cc: ...here.
8998 * config/i386/i386-d.c: Moved to...
8999 * config/i386/i386-d.cc: ...here.
9000 * config/i386/i386-expand.c: Moved to...
9001 * config/i386/i386-expand.cc: ...here.
9002 * config/i386/i386-features.c: Moved to...
9003 * config/i386/i386-features.cc: ...here.
9004 * config/i386/i386-options.c: Moved to...
9005 * config/i386/i386-options.cc: ...here.
9006 * config/i386/i386.c: Moved to...
9007 * config/i386/i386.cc: ...here.
9008 * config/i386/intelmic-mkoffload.c: Moved to...
9009 * config/i386/intelmic-mkoffload.cc: ...here.
9010 * config/i386/msformat-c.c: Moved to...
9011 * config/i386/msformat-c.cc: ...here.
9012 * config/i386/winnt-cxx.c: Moved to...
9013 * config/i386/winnt-cxx.cc: ...here.
9014 * config/i386/winnt-d.c: Moved to...
9015 * config/i386/winnt-d.cc: ...here.
9016 * config/i386/winnt-stubs.c: Moved to...
9017 * config/i386/winnt-stubs.cc: ...here.
9018 * config/i386/winnt.c: Moved to...
9019 * config/i386/winnt.cc: ...here.
9020 * config/i386/x86-tune-sched-atom.c: Moved to...
9021 * config/i386/x86-tune-sched-atom.cc: ...here.
9022 * config/i386/x86-tune-sched-bd.c: Moved to...
9023 * config/i386/x86-tune-sched-bd.cc: ...here.
9024 * config/i386/x86-tune-sched-core.c: Moved to...
9025 * config/i386/x86-tune-sched-core.cc: ...here.
9026 * config/i386/x86-tune-sched.c: Moved to...
9027 * config/i386/x86-tune-sched.cc: ...here.
9028 * config/ia64/ia64-c.c: Moved to...
9029 * config/ia64/ia64-c.cc: ...here.
9030 * config/ia64/ia64.c: Moved to...
9031 * config/ia64/ia64.cc: ...here.
9032 * config/iq2000/iq2000.c: Moved to...
9033 * config/iq2000/iq2000.cc: ...here.
9034 * config/linux.c: Moved to...
9035 * config/linux.cc: ...here.
9036 * config/lm32/lm32.c: Moved to...
9037 * config/lm32/lm32.cc: ...here.
9038 * config/m32c/m32c-pragma.c: Moved to...
9039 * config/m32c/m32c-pragma.cc: ...here.
9040 * config/m32c/m32c.c: Moved to...
9041 * config/m32c/m32c.cc: ...here.
9042 * config/m32r/m32r.c: Moved to...
9043 * config/m32r/m32r.cc: ...here.
9044 * config/m68k/m68k.c: Moved to...
9045 * config/m68k/m68k.cc: ...here.
9046 * config/mcore/mcore.c: Moved to...
9047 * config/mcore/mcore.cc: ...here.
9048 * config/microblaze/microblaze-c.c: Moved to...
9049 * config/microblaze/microblaze-c.cc: ...here.
9050 * config/microblaze/microblaze.c: Moved to...
9051 * config/microblaze/microblaze.cc: ...here.
9052 * config/mips/driver-native.c: Moved to...
9053 * config/mips/driver-native.cc: ...here.
9054 * config/mips/frame-header-opt.c: Moved to...
9055 * config/mips/frame-header-opt.cc: ...here.
9056 * config/mips/mips-d.c: Moved to...
9057 * config/mips/mips-d.cc: ...here.
9058 * config/mips/mips.c: Moved to...
9059 * config/mips/mips.cc: ...here.
9060 * config/mmix/mmix.c: Moved to...
9061 * config/mmix/mmix.cc: ...here.
9062 * config/mn10300/mn10300.c: Moved to...
9063 * config/mn10300/mn10300.cc: ...here.
9064 * config/moxie/moxie.c: Moved to...
9065 * config/moxie/moxie.cc: ...here.
9066 * config/msp430/driver-msp430.c: Moved to...
9067 * config/msp430/driver-msp430.cc: ...here.
9068 * config/msp430/msp430-c.c: Moved to...
9069 * config/msp430/msp430-c.cc: ...here.
9070 * config/msp430/msp430-devices.c: Moved to...
9071 * config/msp430/msp430-devices.cc: ...here.
9072 * config/msp430/msp430.c: Moved to...
9073 * config/msp430/msp430.cc: ...here.
9074 * config/nds32/nds32-cost.c: Moved to...
9075 * config/nds32/nds32-cost.cc: ...here.
9076 * config/nds32/nds32-fp-as-gp.c: Moved to...
9077 * config/nds32/nds32-fp-as-gp.cc: ...here.
9078 * config/nds32/nds32-intrinsic.c: Moved to...
9079 * config/nds32/nds32-intrinsic.cc: ...here.
9080 * config/nds32/nds32-isr.c: Moved to...
9081 * config/nds32/nds32-isr.cc: ...here.
9082 * config/nds32/nds32-md-auxiliary.c: Moved to...
9083 * config/nds32/nds32-md-auxiliary.cc: ...here.
9084 * config/nds32/nds32-memory-manipulation.c: Moved to...
9085 * config/nds32/nds32-memory-manipulation.cc: ...here.
9086 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
9087 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
9088 * config/nds32/nds32-predicates.c: Moved to...
9089 * config/nds32/nds32-predicates.cc: ...here.
9090 * config/nds32/nds32-relax-opt.c: Moved to...
9091 * config/nds32/nds32-relax-opt.cc: ...here.
9092 * config/nds32/nds32-utils.c: Moved to...
9093 * config/nds32/nds32-utils.cc: ...here.
9094 * config/nds32/nds32.c: Moved to...
9095 * config/nds32/nds32.cc: ...here.
9096 * config/netbsd-d.c: Moved to...
9097 * config/netbsd-d.cc: ...here.
9098 * config/netbsd.c: Moved to...
9099 * config/netbsd.cc: ...here.
9100 * config/nios2/nios2.c: Moved to...
9101 * config/nios2/nios2.cc: ...here.
9102 * config/nvptx/mkoffload.c: Moved to...
9103 * config/nvptx/mkoffload.cc: ...here.
9104 * config/nvptx/nvptx-c.c: Moved to...
9105 * config/nvptx/nvptx-c.cc: ...here.
9106 * config/nvptx/nvptx.c: Moved to...
9107 * config/nvptx/nvptx.cc: ...here.
9108 * config/openbsd-d.c: Moved to...
9109 * config/openbsd-d.cc: ...here.
9110 * config/or1k/or1k.c: Moved to...
9111 * config/or1k/or1k.cc: ...here.
9112 * config/pa/pa-d.c: Moved to...
9113 * config/pa/pa-d.cc: ...here.
9114 * config/pa/pa.c: Moved to...
9115 * config/pa/pa.cc: ...here.
9116 * config/pdp11/pdp11.c: Moved to...
9117 * config/pdp11/pdp11.cc: ...here.
9118 * config/pru/pru-passes.c: Moved to...
9119 * config/pru/pru-passes.cc: ...here.
9120 * config/pru/pru-pragma.c: Moved to...
9121 * config/pru/pru-pragma.cc: ...here.
9122 * config/pru/pru.c: Moved to...
9123 * config/pru/pru.cc: ...here.
9124 * config/riscv/riscv-builtins.c: Moved to...
9125 * config/riscv/riscv-builtins.cc: ...here.
9126 * config/riscv/riscv-c.c: Moved to...
9127 * config/riscv/riscv-c.cc: ...here.
9128 * config/riscv/riscv-d.c: Moved to...
9129 * config/riscv/riscv-d.cc: ...here.
9130 * config/riscv/riscv-shorten-memrefs.c: Moved to...
9131 * config/riscv/riscv-shorten-memrefs.cc: ...here.
9132 * config/riscv/riscv-sr.c: Moved to...
9133 * config/riscv/riscv-sr.cc: ...here.
9134 * config/riscv/riscv.c: Moved to...
9135 * config/riscv/riscv.cc: ...here.
9136 * config/rl78/rl78-c.c: Moved to...
9137 * config/rl78/rl78-c.cc: ...here.
9138 * config/rl78/rl78.c: Moved to...
9139 * config/rl78/rl78.cc: ...here.
9140 * config/rs6000/driver-rs6000.c: Moved to...
9141 * config/rs6000/driver-rs6000.cc: ...here.
9142 * config/rs6000/host-darwin.c: Moved to...
9143 * config/rs6000/host-darwin.cc: ...here.
9144 * config/rs6000/host-ppc64-darwin.c: Moved to...
9145 * config/rs6000/host-ppc64-darwin.cc: ...here.
9146 * config/rs6000/rbtree.c: Moved to...
9147 * config/rs6000/rbtree.cc: ...here.
9148 * config/rs6000/rs6000-c.c: Moved to...
9149 * config/rs6000/rs6000-c.cc: ...here.
9150 * config/rs6000/rs6000-call.c: Moved to...
9151 * config/rs6000/rs6000-call.cc: ...here.
9152 * config/rs6000/rs6000-d.c: Moved to...
9153 * config/rs6000/rs6000-d.cc: ...here.
9154 * config/rs6000/rs6000-gen-builtins.c: Moved to...
9155 * config/rs6000/rs6000-gen-builtins.cc: ...here.
9156 * config/rs6000/rs6000-linux.c: Moved to...
9157 * config/rs6000/rs6000-linux.cc: ...here.
9158 * config/rs6000/rs6000-logue.c: Moved to...
9159 * config/rs6000/rs6000-logue.cc: ...here.
9160 * config/rs6000/rs6000-p8swap.c: Moved to...
9161 * config/rs6000/rs6000-p8swap.cc: ...here.
9162 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
9163 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
9164 * config/rs6000/rs6000-string.c: Moved to...
9165 * config/rs6000/rs6000-string.cc: ...here.
9166 * config/rs6000/rs6000.c: Moved to...
9167 * config/rs6000/rs6000.cc: ...here.
9168 * config/rx/rx.c: Moved to...
9169 * config/rx/rx.cc: ...here.
9170 * config/s390/driver-native.c: Moved to...
9171 * config/s390/driver-native.cc: ...here.
9172 * config/s390/s390-c.c: Moved to...
9173 * config/s390/s390-c.cc: ...here.
9174 * config/s390/s390-d.c: Moved to...
9175 * config/s390/s390-d.cc: ...here.
9176 * config/s390/s390.c: Moved to...
9177 * config/s390/s390.cc: ...here.
9178 * config/sh/divtab-sh4-300.c: Moved to...
9179 * config/sh/divtab-sh4-300.cc: ...here.
9180 * config/sh/divtab-sh4.c: Moved to...
9181 * config/sh/divtab-sh4.cc: ...here.
9182 * config/sh/divtab.c: Moved to...
9183 * config/sh/divtab.cc: ...here.
9184 * config/sh/sh-c.c: Moved to...
9185 * config/sh/sh-c.cc: ...here.
9186 * config/sh/sh.c: Moved to...
9187 * config/sh/sh.cc: ...here.
9188 * config/sol2-c.c: Moved to...
9189 * config/sol2-c.cc: ...here.
9190 * config/sol2-cxx.c: Moved to...
9191 * config/sol2-cxx.cc: ...here.
9192 * config/sol2-d.c: Moved to...
9193 * config/sol2-d.cc: ...here.
9194 * config/sol2-stubs.c: Moved to...
9195 * config/sol2-stubs.cc: ...here.
9196 * config/sol2.c: Moved to...
9197 * config/sol2.cc: ...here.
9198 * config/sparc/driver-sparc.c: Moved to...
9199 * config/sparc/driver-sparc.cc: ...here.
9200 * config/sparc/sparc-c.c: Moved to...
9201 * config/sparc/sparc-c.cc: ...here.
9202 * config/sparc/sparc-d.c: Moved to...
9203 * config/sparc/sparc-d.cc: ...here.
9204 * config/sparc/sparc.c: Moved to...
9205 * config/sparc/sparc.cc: ...here.
9206 * config/stormy16/stormy16.c: Moved to...
9207 * config/stormy16/stormy16.cc: ...here.
9208 * config/tilegx/mul-tables.c: Moved to...
9209 * config/tilegx/mul-tables.cc: ...here.
9210 * config/tilegx/tilegx-c.c: Moved to...
9211 * config/tilegx/tilegx-c.cc: ...here.
9212 * config/tilegx/tilegx.c: Moved to...
9213 * config/tilegx/tilegx.cc: ...here.
9214 * config/tilepro/mul-tables.c: Moved to...
9215 * config/tilepro/mul-tables.cc: ...here.
9216 * config/tilepro/tilepro-c.c: Moved to...
9217 * config/tilepro/tilepro-c.cc: ...here.
9218 * config/tilepro/tilepro.c: Moved to...
9219 * config/tilepro/tilepro.cc: ...here.
9220 * config/v850/v850-c.c: Moved to...
9221 * config/v850/v850-c.cc: ...here.
9222 * config/v850/v850.c: Moved to...
9223 * config/v850/v850.cc: ...here.
9224 * config/vax/vax.c: Moved to...
9225 * config/vax/vax.cc: ...here.
9226 * config/visium/visium.c: Moved to...
9227 * config/visium/visium.cc: ...here.
9228 * config/vms/vms-c.c: Moved to...
9229 * config/vms/vms-c.cc: ...here.
9230 * config/vms/vms-f.c: Moved to...
9231 * config/vms/vms-f.cc: ...here.
9232 * config/vms/vms.c: Moved to...
9233 * config/vms/vms.cc: ...here.
9234 * config/vxworks-c.c: Moved to...
9235 * config/vxworks-c.cc: ...here.
9236 * config/vxworks.c: Moved to...
9237 * config/vxworks.cc: ...here.
9238 * config/winnt-c.c: Moved to...
9239 * config/winnt-c.cc: ...here.
9240 * config/xtensa/xtensa.c: Moved to...
9241 * config/xtensa/xtensa.cc: ...here.
9242 * context.c: Moved to...
9243 * context.cc: ...here.
9244 * convert.c: Moved to...
9245 * convert.cc: ...here.
9246 * coverage.c: Moved to...
9247 * coverage.cc: ...here.
9248 * cppbuiltin.c: Moved to...
9249 * cppbuiltin.cc: ...here.
9250 * cppdefault.c: Moved to...
9251 * cppdefault.cc: ...here.
9252 * cprop.c: Moved to...
9253 * cprop.cc: ...here.
9254 * cse.c: Moved to...
9256 * cselib.c: Moved to...
9257 * cselib.cc: ...here.
9258 * ctfc.c: Moved to...
9260 * ctfout.c: Moved to...
9261 * ctfout.cc: ...here.
9262 * data-streamer-in.c: Moved to...
9263 * data-streamer-in.cc: ...here.
9264 * data-streamer-out.c: Moved to...
9265 * data-streamer-out.cc: ...here.
9266 * data-streamer.c: Moved to...
9267 * data-streamer.cc: ...here.
9268 * dbgcnt.c: Moved to...
9269 * dbgcnt.cc: ...here.
9270 * dbxout.c: Moved to...
9271 * dbxout.cc: ...here.
9272 * dce.c: Moved to...
9274 * ddg.c: Moved to...
9276 * debug.c: Moved to...
9277 * debug.cc: ...here.
9278 * df-core.c: Moved to...
9279 * df-core.cc: ...here.
9280 * df-problems.c: Moved to...
9281 * df-problems.cc: ...here.
9282 * df-scan.c: Moved to...
9283 * df-scan.cc: ...here.
9284 * dfp.c: Moved to...
9286 * diagnostic-color.c: Moved to...
9287 * diagnostic-color.cc: ...here.
9288 * diagnostic-show-locus.c: Moved to...
9289 * diagnostic-show-locus.cc: ...here.
9290 * diagnostic-spec.c: Moved to...
9291 * diagnostic-spec.cc: ...here.
9292 * diagnostic.c: Moved to...
9293 * diagnostic.cc: ...here.
9294 * dojump.c: Moved to...
9295 * dojump.cc: ...here.
9296 * dominance.c: Moved to...
9297 * dominance.cc: ...here.
9298 * domwalk.c: Moved to...
9299 * domwalk.cc: ...here.
9300 * double-int.c: Moved to...
9301 * double-int.cc: ...here.
9302 * dse.c: Moved to...
9304 * dumpfile.c: Moved to...
9305 * dumpfile.cc: ...here.
9306 * dwarf2asm.c: Moved to...
9307 * dwarf2asm.cc: ...here.
9308 * dwarf2cfi.c: Moved to...
9309 * dwarf2cfi.cc: ...here.
9310 * dwarf2ctf.c: Moved to...
9311 * dwarf2ctf.cc: ...here.
9312 * dwarf2out.c: Moved to...
9313 * dwarf2out.cc: ...here.
9314 * early-remat.c: Moved to...
9315 * early-remat.cc: ...here.
9316 * edit-context.c: Moved to...
9317 * edit-context.cc: ...here.
9318 * emit-rtl.c: Moved to...
9319 * emit-rtl.cc: ...here.
9320 * errors.c: Moved to...
9321 * errors.cc: ...here.
9322 * et-forest.c: Moved to...
9323 * et-forest.cc: ...here.
9324 * except.c: Moved to...
9325 * except.cc: ...here.
9326 * explow.c: Moved to...
9327 * explow.cc: ...here.
9328 * expmed.c: Moved to...
9329 * expmed.cc: ...here.
9330 * expr.c: Moved to...
9332 * fibonacci_heap.c: Moved to...
9333 * fibonacci_heap.cc: ...here.
9334 * file-find.c: Moved to...
9335 * file-find.cc: ...here.
9336 * file-prefix-map.c: Moved to...
9337 * file-prefix-map.cc: ...here.
9338 * final.c: Moved to...
9339 * final.cc: ...here.
9340 * fixed-value.c: Moved to...
9341 * fixed-value.cc: ...here.
9342 * fold-const-call.c: Moved to...
9343 * fold-const-call.cc: ...here.
9344 * fold-const.c: Moved to...
9345 * fold-const.cc: ...here.
9346 * fp-test.c: Moved to...
9347 * fp-test.cc: ...here.
9348 * function-tests.c: Moved to...
9349 * function-tests.cc: ...here.
9350 * function.c: Moved to...
9351 * function.cc: ...here.
9352 * fwprop.c: Moved to...
9353 * fwprop.cc: ...here.
9354 * gcc-ar.c: Moved to...
9355 * gcc-ar.cc: ...here.
9356 * gcc-main.c: Moved to...
9357 * gcc-main.cc: ...here.
9358 * gcc-rich-location.c: Moved to...
9359 * gcc-rich-location.cc: ...here.
9360 * gcc.c: Moved to...
9362 * gcov-dump.c: Moved to...
9363 * gcov-dump.cc: ...here.
9364 * gcov-io.c: Moved to...
9365 * gcov-io.cc: ...here.
9366 * gcov-tool.c: Moved to...
9367 * gcov-tool.cc: ...here.
9368 * gcov.c: Moved to...
9370 * gcse-common.c: Moved to...
9371 * gcse-common.cc: ...here.
9372 * gcse.c: Moved to...
9374 * genattr-common.c: Moved to...
9375 * genattr-common.cc: ...here.
9376 * genattr.c: Moved to...
9377 * genattr.cc: ...here.
9378 * genattrtab.c: Moved to...
9379 * genattrtab.cc: ...here.
9380 * genautomata.c: Moved to...
9381 * genautomata.cc: ...here.
9382 * gencfn-macros.c: Moved to...
9383 * gencfn-macros.cc: ...here.
9384 * gencheck.c: Moved to...
9385 * gencheck.cc: ...here.
9386 * genchecksum.c: Moved to...
9387 * genchecksum.cc: ...here.
9388 * gencodes.c: Moved to...
9389 * gencodes.cc: ...here.
9390 * genconditions.c: Moved to...
9391 * genconditions.cc: ...here.
9392 * genconfig.c: Moved to...
9393 * genconfig.cc: ...here.
9394 * genconstants.c: Moved to...
9395 * genconstants.cc: ...here.
9396 * genemit.c: Moved to...
9397 * genemit.cc: ...here.
9398 * genenums.c: Moved to...
9399 * genenums.cc: ...here.
9400 * generic-match-head.c: Moved to...
9401 * generic-match-head.cc: ...here.
9402 * genextract.c: Moved to...
9403 * genextract.cc: ...here.
9404 * genflags.c: Moved to...
9405 * genflags.cc: ...here.
9406 * gengenrtl.c: Moved to...
9407 * gengenrtl.cc: ...here.
9408 * gengtype-parse.c: Moved to...
9409 * gengtype-parse.cc: ...here.
9410 * gengtype-state.c: Moved to...
9411 * gengtype-state.cc: ...here.
9412 * gengtype.c: Moved to...
9413 * gengtype.cc: ...here.
9414 * genhooks.c: Moved to...
9415 * genhooks.cc: ...here.
9416 * genmatch.c: Moved to...
9417 * genmatch.cc: ...here.
9418 * genmddeps.c: Moved to...
9419 * genmddeps.cc: ...here.
9420 * genmddump.c: Moved to...
9421 * genmddump.cc: ...here.
9422 * genmodes.c: Moved to...
9423 * genmodes.cc: ...here.
9424 * genopinit.c: Moved to...
9425 * genopinit.cc: ...here.
9426 * genoutput.c: Moved to...
9427 * genoutput.cc: ...here.
9428 * genpeep.c: Moved to...
9429 * genpeep.cc: ...here.
9430 * genpreds.c: Moved to...
9431 * genpreds.cc: ...here.
9432 * genrecog.c: Moved to...
9433 * genrecog.cc: ...here.
9434 * gensupport.c: Moved to...
9435 * gensupport.cc: ...here.
9436 * gentarget-def.c: Moved to...
9437 * gentarget-def.cc: ...here.
9438 * genversion.c: Moved to...
9439 * genversion.cc: ...here.
9440 * ggc-common.c: Moved to...
9441 * ggc-common.cc: ...here.
9442 * ggc-none.c: Moved to...
9443 * ggc-none.cc: ...here.
9444 * ggc-page.c: Moved to...
9445 * ggc-page.cc: ...here.
9446 * ggc-tests.c: Moved to...
9447 * ggc-tests.cc: ...here.
9448 * gimple-builder.c: Moved to...
9449 * gimple-builder.cc: ...here.
9450 * gimple-expr.c: Moved to...
9451 * gimple-expr.cc: ...here.
9452 * gimple-fold.c: Moved to...
9453 * gimple-fold.cc: ...here.
9454 * gimple-iterator.c: Moved to...
9455 * gimple-iterator.cc: ...here.
9456 * gimple-laddress.c: Moved to...
9457 * gimple-laddress.cc: ...here.
9458 * gimple-loop-jam.c: Moved to...
9459 * gimple-loop-jam.cc: ...here.
9460 * gimple-low.c: Moved to...
9461 * gimple-low.cc: ...here.
9462 * gimple-match-head.c: Moved to...
9463 * gimple-match-head.cc: ...here.
9464 * gimple-pretty-print.c: Moved to...
9465 * gimple-pretty-print.cc: ...here.
9466 * gimple-ssa-backprop.c: Moved to...
9467 * gimple-ssa-backprop.cc: ...here.
9468 * gimple-ssa-evrp-analyze.c: Moved to...
9469 * gimple-ssa-evrp-analyze.cc: ...here.
9470 * gimple-ssa-evrp.c: Moved to...
9471 * gimple-ssa-evrp.cc: ...here.
9472 * gimple-ssa-isolate-paths.c: Moved to...
9473 * gimple-ssa-isolate-paths.cc: ...here.
9474 * gimple-ssa-nonnull-compare.c: Moved to...
9475 * gimple-ssa-nonnull-compare.cc: ...here.
9476 * gimple-ssa-split-paths.c: Moved to...
9477 * gimple-ssa-split-paths.cc: ...here.
9478 * gimple-ssa-sprintf.c: Moved to...
9479 * gimple-ssa-sprintf.cc: ...here.
9480 * gimple-ssa-store-merging.c: Moved to...
9481 * gimple-ssa-store-merging.cc: ...here.
9482 * gimple-ssa-strength-reduction.c: Moved to...
9483 * gimple-ssa-strength-reduction.cc: ...here.
9484 * gimple-ssa-warn-alloca.c: Moved to...
9485 * gimple-ssa-warn-alloca.cc: ...here.
9486 * gimple-ssa-warn-restrict.c: Moved to...
9487 * gimple-ssa-warn-restrict.cc: ...here.
9488 * gimple-streamer-in.c: Moved to...
9489 * gimple-streamer-in.cc: ...here.
9490 * gimple-streamer-out.c: Moved to...
9491 * gimple-streamer-out.cc: ...here.
9492 * gimple-walk.c: Moved to...
9493 * gimple-walk.cc: ...here.
9494 * gimple-warn-recursion.c: Moved to...
9495 * gimple-warn-recursion.cc: ...here.
9496 * gimple.c: Moved to...
9497 * gimple.cc: ...here.
9498 * gimplify-me.c: Moved to...
9499 * gimplify-me.cc: ...here.
9500 * gimplify.c: Moved to...
9501 * gimplify.cc: ...here.
9502 * godump.c: Moved to...
9503 * godump.cc: ...here.
9504 * graph.c: Moved to...
9505 * graph.cc: ...here.
9506 * graphds.c: Moved to...
9507 * graphds.cc: ...here.
9508 * graphite-dependences.c: Moved to...
9509 * graphite-dependences.cc: ...here.
9510 * graphite-isl-ast-to-gimple.c: Moved to...
9511 * graphite-isl-ast-to-gimple.cc: ...here.
9512 * graphite-optimize-isl.c: Moved to...
9513 * graphite-optimize-isl.cc: ...here.
9514 * graphite-poly.c: Moved to...
9515 * graphite-poly.cc: ...here.
9516 * graphite-scop-detection.c: Moved to...
9517 * graphite-scop-detection.cc: ...here.
9518 * graphite-sese-to-poly.c: Moved to...
9519 * graphite-sese-to-poly.cc: ...here.
9520 * graphite.c: Moved to...
9521 * graphite.cc: ...here.
9522 * haifa-sched.c: Moved to...
9523 * haifa-sched.cc: ...here.
9524 * hash-map-tests.c: Moved to...
9525 * hash-map-tests.cc: ...here.
9526 * hash-set-tests.c: Moved to...
9527 * hash-set-tests.cc: ...here.
9528 * hash-table.c: Moved to...
9529 * hash-table.cc: ...here.
9530 * hooks.c: Moved to...
9531 * hooks.cc: ...here.
9532 * host-default.c: Moved to...
9533 * host-default.cc: ...here.
9534 * hw-doloop.c: Moved to...
9535 * hw-doloop.cc: ...here.
9536 * hwint.c: Moved to...
9537 * hwint.cc: ...here.
9538 * ifcvt.c: Moved to...
9539 * ifcvt.cc: ...here.
9540 * inchash.c: Moved to...
9541 * inchash.cc: ...here.
9542 * incpath.c: Moved to...
9543 * incpath.cc: ...here.
9544 * init-regs.c: Moved to...
9545 * init-regs.cc: ...here.
9546 * input.c: Moved to...
9547 * input.cc: ...here.
9548 * internal-fn.c: Moved to...
9549 * internal-fn.cc: ...here.
9550 * intl.c: Moved to...
9552 * ipa-comdats.c: Moved to...
9553 * ipa-comdats.cc: ...here.
9554 * ipa-cp.c: Moved to...
9555 * ipa-cp.cc: ...here.
9556 * ipa-devirt.c: Moved to...
9557 * ipa-devirt.cc: ...here.
9558 * ipa-fnsummary.c: Moved to...
9559 * ipa-fnsummary.cc: ...here.
9560 * ipa-icf-gimple.c: Moved to...
9561 * ipa-icf-gimple.cc: ...here.
9562 * ipa-icf.c: Moved to...
9563 * ipa-icf.cc: ...here.
9564 * ipa-inline-analysis.c: Moved to...
9565 * ipa-inline-analysis.cc: ...here.
9566 * ipa-inline-transform.c: Moved to...
9567 * ipa-inline-transform.cc: ...here.
9568 * ipa-inline.c: Moved to...
9569 * ipa-inline.cc: ...here.
9570 * ipa-modref-tree.c: Moved to...
9571 * ipa-modref-tree.cc: ...here.
9572 * ipa-modref.c: Moved to...
9573 * ipa-modref.cc: ...here.
9574 * ipa-param-manipulation.c: Moved to...
9575 * ipa-param-manipulation.cc: ...here.
9576 * ipa-polymorphic-call.c: Moved to...
9577 * ipa-polymorphic-call.cc: ...here.
9578 * ipa-predicate.c: Moved to...
9579 * ipa-predicate.cc: ...here.
9580 * ipa-profile.c: Moved to...
9581 * ipa-profile.cc: ...here.
9582 * ipa-prop.c: Moved to...
9583 * ipa-prop.cc: ...here.
9584 * ipa-pure-const.c: Moved to...
9585 * ipa-pure-const.cc: ...here.
9586 * ipa-ref.c: Moved to...
9587 * ipa-ref.cc: ...here.
9588 * ipa-reference.c: Moved to...
9589 * ipa-reference.cc: ...here.
9590 * ipa-split.c: Moved to...
9591 * ipa-split.cc: ...here.
9592 * ipa-sra.c: Moved to...
9593 * ipa-sra.cc: ...here.
9594 * ipa-utils.c: Moved to...
9595 * ipa-utils.cc: ...here.
9596 * ipa-visibility.c: Moved to...
9597 * ipa-visibility.cc: ...here.
9598 * ipa.c: Moved to...
9600 * ira-build.c: Moved to...
9601 * ira-build.cc: ...here.
9602 * ira-color.c: Moved to...
9603 * ira-color.cc: ...here.
9604 * ira-conflicts.c: Moved to...
9605 * ira-conflicts.cc: ...here.
9606 * ira-costs.c: Moved to...
9607 * ira-costs.cc: ...here.
9608 * ira-emit.c: Moved to...
9609 * ira-emit.cc: ...here.
9610 * ira-lives.c: Moved to...
9611 * ira-lives.cc: ...here.
9612 * ira.c: Moved to...
9614 * jump.c: Moved to...
9616 * langhooks.c: Moved to...
9617 * langhooks.cc: ...here.
9618 * lcm.c: Moved to...
9620 * lists.c: Moved to...
9621 * lists.cc: ...here.
9622 * loop-doloop.c: Moved to...
9623 * loop-doloop.cc: ...here.
9624 * loop-init.c: Moved to...
9625 * loop-init.cc: ...here.
9626 * loop-invariant.c: Moved to...
9627 * loop-invariant.cc: ...here.
9628 * loop-iv.c: Moved to...
9629 * loop-iv.cc: ...here.
9630 * loop-unroll.c: Moved to...
9631 * loop-unroll.cc: ...here.
9632 * lower-subreg.c: Moved to...
9633 * lower-subreg.cc: ...here.
9634 * lra-assigns.c: Moved to...
9635 * lra-assigns.cc: ...here.
9636 * lra-coalesce.c: Moved to...
9637 * lra-coalesce.cc: ...here.
9638 * lra-constraints.c: Moved to...
9639 * lra-constraints.cc: ...here.
9640 * lra-eliminations.c: Moved to...
9641 * lra-eliminations.cc: ...here.
9642 * lra-lives.c: Moved to...
9643 * lra-lives.cc: ...here.
9644 * lra-remat.c: Moved to...
9645 * lra-remat.cc: ...here.
9646 * lra-spills.c: Moved to...
9647 * lra-spills.cc: ...here.
9648 * lra.c: Moved to...
9650 * lto-cgraph.c: Moved to...
9651 * lto-cgraph.cc: ...here.
9652 * lto-compress.c: Moved to...
9653 * lto-compress.cc: ...here.
9654 * lto-opts.c: Moved to...
9655 * lto-opts.cc: ...here.
9656 * lto-section-in.c: Moved to...
9657 * lto-section-in.cc: ...here.
9658 * lto-section-out.c: Moved to...
9659 * lto-section-out.cc: ...here.
9660 * lto-streamer-in.c: Moved to...
9661 * lto-streamer-in.cc: ...here.
9662 * lto-streamer-out.c: Moved to...
9663 * lto-streamer-out.cc: ...here.
9664 * lto-streamer.c: Moved to...
9665 * lto-streamer.cc: ...here.
9666 * lto-wrapper.c: Moved to...
9667 * lto-wrapper.cc: ...here.
9668 * main.c: Moved to...
9670 * mcf.c: Moved to...
9672 * mode-switching.c: Moved to...
9673 * mode-switching.cc: ...here.
9674 * modulo-sched.c: Moved to...
9675 * modulo-sched.cc: ...here.
9676 * multiple_target.c: Moved to...
9677 * multiple_target.cc: ...here.
9678 * omp-expand.c: Moved to...
9679 * omp-expand.cc: ...here.
9680 * omp-general.c: Moved to...
9681 * omp-general.cc: ...here.
9682 * omp-low.c: Moved to...
9683 * omp-low.cc: ...here.
9684 * omp-offload.c: Moved to...
9685 * omp-offload.cc: ...here.
9686 * omp-simd-clone.c: Moved to...
9687 * omp-simd-clone.cc: ...here.
9688 * opt-suggestions.c: Moved to...
9689 * opt-suggestions.cc: ...here.
9690 * optabs-libfuncs.c: Moved to...
9691 * optabs-libfuncs.cc: ...here.
9692 * optabs-query.c: Moved to...
9693 * optabs-query.cc: ...here.
9694 * optabs-tree.c: Moved to...
9695 * optabs-tree.cc: ...here.
9696 * optabs.c: Moved to...
9697 * optabs.cc: ...here.
9698 * opts-common.c: Moved to...
9699 * opts-common.cc: ...here.
9700 * opts-global.c: Moved to...
9701 * opts-global.cc: ...here.
9702 * opts.c: Moved to...
9704 * passes.c: Moved to...
9705 * passes.cc: ...here.
9706 * plugin.c: Moved to...
9707 * plugin.cc: ...here.
9708 * postreload-gcse.c: Moved to...
9709 * postreload-gcse.cc: ...here.
9710 * postreload.c: Moved to...
9711 * postreload.cc: ...here.
9712 * predict.c: Moved to...
9713 * predict.cc: ...here.
9714 * prefix.c: Moved to...
9715 * prefix.cc: ...here.
9716 * pretty-print.c: Moved to...
9717 * pretty-print.cc: ...here.
9718 * print-rtl-function.c: Moved to...
9719 * print-rtl-function.cc: ...here.
9720 * print-rtl.c: Moved to...
9721 * print-rtl.cc: ...here.
9722 * print-tree.c: Moved to...
9723 * print-tree.cc: ...here.
9724 * profile-count.c: Moved to...
9725 * profile-count.cc: ...here.
9726 * profile.c: Moved to...
9727 * profile.cc: ...here.
9728 * read-md.c: Moved to...
9729 * read-md.cc: ...here.
9730 * read-rtl-function.c: Moved to...
9731 * read-rtl-function.cc: ...here.
9732 * read-rtl.c: Moved to...
9733 * read-rtl.cc: ...here.
9734 * real.c: Moved to...
9736 * realmpfr.c: Moved to...
9737 * realmpfr.cc: ...here.
9738 * recog.c: Moved to...
9739 * recog.cc: ...here.
9740 * ree.c: Moved to...
9742 * reg-stack.c: Moved to...
9743 * reg-stack.cc: ...here.
9744 * regcprop.c: Moved to...
9745 * regcprop.cc: ...here.
9746 * reginfo.c: Moved to...
9747 * reginfo.cc: ...here.
9748 * regrename.c: Moved to...
9749 * regrename.cc: ...here.
9750 * regstat.c: Moved to...
9751 * regstat.cc: ...here.
9752 * reload.c: Moved to...
9753 * reload.cc: ...here.
9754 * reload1.c: Moved to...
9755 * reload1.cc: ...here.
9756 * reorg.c: Moved to...
9757 * reorg.cc: ...here.
9758 * resource.c: Moved to...
9759 * resource.cc: ...here.
9760 * rtl-error.c: Moved to...
9761 * rtl-error.cc: ...here.
9762 * rtl-tests.c: Moved to...
9763 * rtl-tests.cc: ...here.
9764 * rtl.c: Moved to...
9766 * rtlanal.c: Moved to...
9767 * rtlanal.cc: ...here.
9768 * rtlhash.c: Moved to...
9769 * rtlhash.cc: ...here.
9770 * rtlhooks.c: Moved to...
9771 * rtlhooks.cc: ...here.
9772 * rtx-vector-builder.c: Moved to...
9773 * rtx-vector-builder.cc: ...here.
9774 * run-rtl-passes.c: Moved to...
9775 * run-rtl-passes.cc: ...here.
9776 * sancov.c: Moved to...
9777 * sancov.cc: ...here.
9778 * sanopt.c: Moved to...
9779 * sanopt.cc: ...here.
9780 * sbitmap.c: Moved to...
9781 * sbitmap.cc: ...here.
9782 * sched-deps.c: Moved to...
9783 * sched-deps.cc: ...here.
9784 * sched-ebb.c: Moved to...
9785 * sched-ebb.cc: ...here.
9786 * sched-rgn.c: Moved to...
9787 * sched-rgn.cc: ...here.
9788 * sel-sched-dump.c: Moved to...
9789 * sel-sched-dump.cc: ...here.
9790 * sel-sched-ir.c: Moved to...
9791 * sel-sched-ir.cc: ...here.
9792 * sel-sched.c: Moved to...
9793 * sel-sched.cc: ...here.
9794 * selftest-diagnostic.c: Moved to...
9795 * selftest-diagnostic.cc: ...here.
9796 * selftest-rtl.c: Moved to...
9797 * selftest-rtl.cc: ...here.
9798 * selftest-run-tests.c: Moved to...
9799 * selftest-run-tests.cc: ...here.
9800 * selftest.c: Moved to...
9801 * selftest.cc: ...here.
9802 * sese.c: Moved to...
9804 * shrink-wrap.c: Moved to...
9805 * shrink-wrap.cc: ...here.
9806 * simplify-rtx.c: Moved to...
9807 * simplify-rtx.cc: ...here.
9808 * sparseset.c: Moved to...
9809 * sparseset.cc: ...here.
9810 * spellcheck-tree.c: Moved to...
9811 * spellcheck-tree.cc: ...here.
9812 * spellcheck.c: Moved to...
9813 * spellcheck.cc: ...here.
9814 * sreal.c: Moved to...
9815 * sreal.cc: ...here.
9816 * stack-ptr-mod.c: Moved to...
9817 * stack-ptr-mod.cc: ...here.
9818 * statistics.c: Moved to...
9819 * statistics.cc: ...here.
9820 * stmt.c: Moved to...
9822 * stor-layout.c: Moved to...
9823 * stor-layout.cc: ...here.
9824 * store-motion.c: Moved to...
9825 * store-motion.cc: ...here.
9826 * streamer-hooks.c: Moved to...
9827 * streamer-hooks.cc: ...here.
9828 * stringpool.c: Moved to...
9829 * stringpool.cc: ...here.
9830 * substring-locations.c: Moved to...
9831 * substring-locations.cc: ...here.
9832 * symtab.c: Moved to...
9833 * symtab.cc: ...here.
9834 * target-globals.c: Moved to...
9835 * target-globals.cc: ...here.
9836 * targhooks.c: Moved to...
9837 * targhooks.cc: ...here.
9838 * timevar.c: Moved to...
9839 * timevar.cc: ...here.
9840 * toplev.c: Moved to...
9841 * toplev.cc: ...here.
9842 * tracer.c: Moved to...
9843 * tracer.cc: ...here.
9844 * trans-mem.c: Moved to...
9845 * trans-mem.cc: ...here.
9846 * tree-affine.c: Moved to...
9847 * tree-affine.cc: ...here.
9848 * tree-call-cdce.c: Moved to...
9849 * tree-call-cdce.cc: ...here.
9850 * tree-cfg.c: Moved to...
9851 * tree-cfg.cc: ...here.
9852 * tree-cfgcleanup.c: Moved to...
9853 * tree-cfgcleanup.cc: ...here.
9854 * tree-chrec.c: Moved to...
9855 * tree-chrec.cc: ...here.
9856 * tree-complex.c: Moved to...
9857 * tree-complex.cc: ...here.
9858 * tree-data-ref.c: Moved to...
9859 * tree-data-ref.cc: ...here.
9860 * tree-dfa.c: Moved to...
9861 * tree-dfa.cc: ...here.
9862 * tree-diagnostic.c: Moved to...
9863 * tree-diagnostic.cc: ...here.
9864 * tree-dump.c: Moved to...
9865 * tree-dump.cc: ...here.
9866 * tree-eh.c: Moved to...
9867 * tree-eh.cc: ...here.
9868 * tree-emutls.c: Moved to...
9869 * tree-emutls.cc: ...here.
9870 * tree-if-conv.c: Moved to...
9871 * tree-if-conv.cc: ...here.
9872 * tree-inline.c: Moved to...
9873 * tree-inline.cc: ...here.
9874 * tree-into-ssa.c: Moved to...
9875 * tree-into-ssa.cc: ...here.
9876 * tree-iterator.c: Moved to...
9877 * tree-iterator.cc: ...here.
9878 * tree-loop-distribution.c: Moved to...
9879 * tree-loop-distribution.cc: ...here.
9880 * tree-nested.c: Moved to...
9881 * tree-nested.cc: ...here.
9882 * tree-nrv.c: Moved to...
9883 * tree-nrv.cc: ...here.
9884 * tree-object-size.c: Moved to...
9885 * tree-object-size.cc: ...here.
9886 * tree-outof-ssa.c: Moved to...
9887 * tree-outof-ssa.cc: ...here.
9888 * tree-parloops.c: Moved to...
9889 * tree-parloops.cc: ...here.
9890 * tree-phinodes.c: Moved to...
9891 * tree-phinodes.cc: ...here.
9892 * tree-predcom.c: Moved to...
9893 * tree-predcom.cc: ...here.
9894 * tree-pretty-print.c: Moved to...
9895 * tree-pretty-print.cc: ...here.
9896 * tree-profile.c: Moved to...
9897 * tree-profile.cc: ...here.
9898 * tree-scalar-evolution.c: Moved to...
9899 * tree-scalar-evolution.cc: ...here.
9900 * tree-sra.c: Moved to...
9901 * tree-sra.cc: ...here.
9902 * tree-ssa-address.c: Moved to...
9903 * tree-ssa-address.cc: ...here.
9904 * tree-ssa-alias.c: Moved to...
9905 * tree-ssa-alias.cc: ...here.
9906 * tree-ssa-ccp.c: Moved to...
9907 * tree-ssa-ccp.cc: ...here.
9908 * tree-ssa-coalesce.c: Moved to...
9909 * tree-ssa-coalesce.cc: ...here.
9910 * tree-ssa-copy.c: Moved to...
9911 * tree-ssa-copy.cc: ...here.
9912 * tree-ssa-dce.c: Moved to...
9913 * tree-ssa-dce.cc: ...here.
9914 * tree-ssa-dom.c: Moved to...
9915 * tree-ssa-dom.cc: ...here.
9916 * tree-ssa-dse.c: Moved to...
9917 * tree-ssa-dse.cc: ...here.
9918 * tree-ssa-forwprop.c: Moved to...
9919 * tree-ssa-forwprop.cc: ...here.
9920 * tree-ssa-ifcombine.c: Moved to...
9921 * tree-ssa-ifcombine.cc: ...here.
9922 * tree-ssa-live.c: Moved to...
9923 * tree-ssa-live.cc: ...here.
9924 * tree-ssa-loop-ch.c: Moved to...
9925 * tree-ssa-loop-ch.cc: ...here.
9926 * tree-ssa-loop-im.c: Moved to...
9927 * tree-ssa-loop-im.cc: ...here.
9928 * tree-ssa-loop-ivcanon.c: Moved to...
9929 * tree-ssa-loop-ivcanon.cc: ...here.
9930 * tree-ssa-loop-ivopts.c: Moved to...
9931 * tree-ssa-loop-ivopts.cc: ...here.
9932 * tree-ssa-loop-manip.c: Moved to...
9933 * tree-ssa-loop-manip.cc: ...here.
9934 * tree-ssa-loop-niter.c: Moved to...
9935 * tree-ssa-loop-niter.cc: ...here.
9936 * tree-ssa-loop-prefetch.c: Moved to...
9937 * tree-ssa-loop-prefetch.cc: ...here.
9938 * tree-ssa-loop-split.c: Moved to...
9939 * tree-ssa-loop-split.cc: ...here.
9940 * tree-ssa-loop-unswitch.c: Moved to...
9941 * tree-ssa-loop-unswitch.cc: ...here.
9942 * tree-ssa-loop.c: Moved to...
9943 * tree-ssa-loop.cc: ...here.
9944 * tree-ssa-math-opts.c: Moved to...
9945 * tree-ssa-math-opts.cc: ...here.
9946 * tree-ssa-operands.c: Moved to...
9947 * tree-ssa-operands.cc: ...here.
9948 * tree-ssa-phiopt.c: Moved to...
9949 * tree-ssa-phiopt.cc: ...here.
9950 * tree-ssa-phiprop.c: Moved to...
9951 * tree-ssa-phiprop.cc: ...here.
9952 * tree-ssa-pre.c: Moved to...
9953 * tree-ssa-pre.cc: ...here.
9954 * tree-ssa-propagate.c: Moved to...
9955 * tree-ssa-propagate.cc: ...here.
9956 * tree-ssa-reassoc.c: Moved to...
9957 * tree-ssa-reassoc.cc: ...here.
9958 * tree-ssa-sccvn.c: Moved to...
9959 * tree-ssa-sccvn.cc: ...here.
9960 * tree-ssa-scopedtables.c: Moved to...
9961 * tree-ssa-scopedtables.cc: ...here.
9962 * tree-ssa-sink.c: Moved to...
9963 * tree-ssa-sink.cc: ...here.
9964 * tree-ssa-strlen.c: Moved to...
9965 * tree-ssa-strlen.cc: ...here.
9966 * tree-ssa-structalias.c: Moved to...
9967 * tree-ssa-structalias.cc: ...here.
9968 * tree-ssa-tail-merge.c: Moved to...
9969 * tree-ssa-tail-merge.cc: ...here.
9970 * tree-ssa-ter.c: Moved to...
9971 * tree-ssa-ter.cc: ...here.
9972 * tree-ssa-threadbackward.c: Moved to...
9973 * tree-ssa-threadbackward.cc: ...here.
9974 * tree-ssa-threadedge.c: Moved to...
9975 * tree-ssa-threadedge.cc: ...here.
9976 * tree-ssa-threadupdate.c: Moved to...
9977 * tree-ssa-threadupdate.cc: ...here.
9978 * tree-ssa-uncprop.c: Moved to...
9979 * tree-ssa-uncprop.cc: ...here.
9980 * tree-ssa-uninit.c: Moved to...
9981 * tree-ssa-uninit.cc: ...here.
9982 * tree-ssa.c: Moved to...
9983 * tree-ssa.cc: ...here.
9984 * tree-ssanames.c: Moved to...
9985 * tree-ssanames.cc: ...here.
9986 * tree-stdarg.c: Moved to...
9987 * tree-stdarg.cc: ...here.
9988 * tree-streamer-in.c: Moved to...
9989 * tree-streamer-in.cc: ...here.
9990 * tree-streamer-out.c: Moved to...
9991 * tree-streamer-out.cc: ...here.
9992 * tree-streamer.c: Moved to...
9993 * tree-streamer.cc: ...here.
9994 * tree-switch-conversion.c: Moved to...
9995 * tree-switch-conversion.cc: ...here.
9996 * tree-tailcall.c: Moved to...
9997 * tree-tailcall.cc: ...here.
9998 * tree-vect-data-refs.c: Moved to...
9999 * tree-vect-data-refs.cc: ...here.
10000 * tree-vect-generic.c: Moved to...
10001 * tree-vect-generic.cc: ...here.
10002 * tree-vect-loop-manip.c: Moved to...
10003 * tree-vect-loop-manip.cc: ...here.
10004 * tree-vect-loop.c: Moved to...
10005 * tree-vect-loop.cc: ...here.
10006 * tree-vect-patterns.c: Moved to...
10007 * tree-vect-patterns.cc: ...here.
10008 * tree-vect-slp-patterns.c: Moved to...
10009 * tree-vect-slp-patterns.cc: ...here.
10010 * tree-vect-slp.c: Moved to...
10011 * tree-vect-slp.cc: ...here.
10012 * tree-vect-stmts.c: Moved to...
10013 * tree-vect-stmts.cc: ...here.
10014 * tree-vector-builder.c: Moved to...
10015 * tree-vector-builder.cc: ...here.
10016 * tree-vectorizer.c: Moved to...
10017 * tree-vectorizer.cc: ...here.
10018 * tree-vrp.c: Moved to...
10019 * tree-vrp.cc: ...here.
10020 * tree.c: Moved to...
10021 * tree.cc: ...here.
10022 * tsan.c: Moved to...
10023 * tsan.cc: ...here.
10024 * typed-splay-tree.c: Moved to...
10025 * typed-splay-tree.cc: ...here.
10026 * ubsan.c: Moved to...
10027 * ubsan.cc: ...here.
10028 * valtrack.c: Moved to...
10029 * valtrack.cc: ...here.
10030 * value-prof.c: Moved to...
10031 * value-prof.cc: ...here.
10032 * var-tracking.c: Moved to...
10033 * var-tracking.cc: ...here.
10034 * varasm.c: Moved to...
10035 * varasm.cc: ...here.
10036 * varpool.c: Moved to...
10037 * varpool.cc: ...here.
10038 * vec-perm-indices.c: Moved to...
10039 * vec-perm-indices.cc: ...here.
10040 * vec.c: Moved to...
10042 * vmsdbgout.c: Moved to...
10043 * vmsdbgout.cc: ...here.
10044 * vr-values.c: Moved to...
10045 * vr-values.cc: ...here.
10046 * vtable-verify.c: Moved to...
10047 * vtable-verify.cc: ...here.
10048 * web.c: Moved to...
10050 * xcoffout.c: Moved to...
10051 * xcoffout.cc: ...here.
10053 2022-01-17 qing zhao <qing.zhao@oracle.com>
10055 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
10056 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
10057 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
10059 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
10060 (warn_uninitialized_vars): Likewise.
10061 (warn_uninitialized_phi): Likewise.
10063 2022-01-17 Jason Merrill <jason@redhat.com>
10065 * diagnostic.h (struct diagnostic_context): Add includes_seen.
10066 * diagnostic.c (diagnostic_initialize): Initialize it.
10067 (diagnostic_finish): Clean it up.
10068 (includes_seen): New function.
10069 (diagnostic_report_current_module): Use it.
10071 2022-01-17 Richard Biener <rguenther@suse.de>
10073 PR middle-end/101292
10074 * diagnostic-spec.c (copy_warning): Make sure to not
10075 reference old hashtable content on possible resize.
10076 * warning-control.cc (copy_warning): Likewise.
10078 2022-01-17 Jakub Jelinek <jakub@redhat.com>
10081 * tree-cfg.h (cond_only_block_p): Declare.
10082 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
10083 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
10084 * optabs.def (spaceship_optab): New optab.
10085 * internal-fn.def (SPACESHIP): New internal function.
10086 * internal-fn.h (expand_SPACESHIP): Declare.
10087 * internal-fn.c (expand_PHI): Formatting fix.
10088 (expand_SPACESHIP): New function.
10089 * tree-ssa-math-opts.c (optimize_spaceship): New function.
10090 (math_opts_dom_walker::after_dom_children): Use it.
10091 * config/i386/i386.md (spaceship<mode>3): New define_expand.
10092 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
10093 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
10094 * doc/md.texi (spaceship@var{m}3): Document.
10096 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
10098 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
10099 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
10100 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
10101 known constant values to simplify code.
10103 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
10106 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
10108 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
10110 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
10111 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
10112 Insert zero-idiom in output template when attr enabled, set new attribute to
10113 true for non-mask/maskz insn.
10114 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
10116 (avx512dq_mul<mode>3<mask_name>): Likewise.
10117 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
10118 (avx2_perm<mode>_1<mask_name>): Likewise.
10119 (avx512f_perm<mode>_1<mask_name>): Likewise.
10120 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
10121 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
10123 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
10124 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
10126 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
10128 (mask4_dest_false_dep_for_glc_cond): Likewise.
10129 (mask6_dest_false_dep_for_glc_cond): Likewise.
10130 (mask10_dest_false_dep_for_glc_cond): Likewise.
10131 (maskc_dest_false_dep_for_glc_cond): Likewise.
10132 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
10133 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
10134 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
10135 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
10137 2022-01-15 Martin Sebor <msebor@redhat.com>
10140 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
10141 -Wdangling-pointer.
10142 * doc/invoke.texi (-Wdangling-pointer): Document new option.
10143 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
10144 (pass_waccess::check_pointer_uses): New function.
10145 (pass_waccess::gimple_call_return_arg): New function.
10146 (pass_waccess::gimple_call_return_arg_ref): New function.
10147 (pass_waccess::check_call_dangling): New function.
10148 (pass_waccess::check_dangling_uses): New function overloads.
10149 (pass_waccess::check_dangling_stores): New function.
10150 (pass_waccess::check_dangling_stores): New function.
10151 (pass_waccess::m_clobbers): New data member.
10152 (pass_waccess::m_func): New data member.
10153 (pass_waccess::m_run_number): New data member.
10154 (pass_waccess::m_check_dangling_p): New data member.
10155 (pass_waccess::check_alloca): Check m_early_checks_p.
10156 (pass_waccess::check_alloc_size_call): Same.
10157 (pass_waccess::check_strcat): Same.
10158 (pass_waccess::check_strncat): Same.
10159 (pass_waccess::check_stxcpy): Same.
10160 (pass_waccess::check_stxncpy): Same.
10161 (pass_waccess::check_strncmp): Same.
10162 (pass_waccess::check_memop_access): Same.
10163 (pass_waccess::check_read_access): Same.
10164 (pass_waccess::check_builtin): Call check_pointer_uses.
10165 (pass_waccess::warn_invalid_pointer): Add arguments.
10166 (is_auto_decl): New function.
10167 (pass_waccess::check_stmt): New function.
10168 (pass_waccess::check_block): Call check_stmt.
10169 (pass_waccess::execute): Call check_dangling_uses,
10170 check_dangling_stores. Empty m_clobbers.
10171 * passes.def (pass_warn_access): Invoke pass two more times.
10173 2022-01-15 Martin Sebor <msebor@redhat.com>
10175 PR tree-optimization/80532
10176 * common.opt (-Wuse-after-free): New options.
10177 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
10178 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
10179 * diagnostic-spec.h (NW_DANGLING): New enumerator.
10180 * doc/invoke.texi (-Wuse-after-free): Document new option.
10181 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
10182 (pass_waccess::check_call_access): ...to this.
10183 (pass_waccess::check): Rename...
10184 (pass_waccess::check_block): ...to this.
10185 (pass_waccess::check_pointer_uses): New function.
10186 (pass_waccess::gimple_call_return_arg): New function.
10187 (pass_waccess::warn_invalid_pointer): New function.
10188 (pass_waccess::check_builtin): Handle free and realloc.
10189 (gimple_use_after_inval_p): New function.
10190 (get_realloc_lhs): New function.
10191 (maybe_warn_mismatched_realloc): New function.
10192 (pointers_related_p): New function.
10193 (pass_waccess::check_call): Call check_pointer_uses.
10194 (pass_waccess::execute): Compute and free dominance info.
10196 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
10198 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
10199 expand_simple_unop and expand_simple_binop instead of manually
10200 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
10201 consistently. Eliminate common subexpressions and simplify code.
10202 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
10203 (<any_logic:code><MODEF:mode>3): Make public.
10205 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
10207 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
10208 reverse flag as "reverse" for the sake of consistency.
10209 * ipa-sra.c: Fix copyright year.
10210 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
10211 (dump_isra_access): Tweak dump line.
10212 (isra_write_node_summary): Write the reverse flag.
10213 (isra_read_node_info): Read it.
10214 (pull_accesses_from_callee): Test its consistency and copy it.
10216 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
10218 PR middle-end/104026
10219 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
10220 partial_load_store_bias.
10222 2022-01-14 Martin Sebor <msebor@redhat.com>
10224 PR middle-end/101475
10225 * pointer-query.cc (handle_component_ref): Use the size of
10226 the enclosing object if it's smaller than the member.
10228 2022-01-14 Martin Liska <mliska@suse.cz>
10230 * configure: Regenerate.
10232 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
10234 * config/i386/i386.md (*add<mode>_1_slp"):
10235 Mark alternative 1 output operand earlyclobbered.
10236 (*sub<mode>_1_slp): Ditto.
10237 (*and<mode>_1_slp): Ditto.
10238 (*<code><mode>_1_slp): Ditto.
10239 (*neg<mode>_1_slp): Ditto.
10240 (*one_cmpl<mode>_1_slp): Ditto.
10241 (*ashl<mode>3_1_slp): Ditto.
10242 (*<insn><mode>3_1_slp): Ditto.
10243 (*<insn><mode>3_1_slp): Ditto.
10245 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
10247 PR tree-optimization/104015
10248 * tree-vect-loop.c (vect_analyze_loop): Check
10249 param_vect_partial_vector_usage for supports_partial_vectors.
10251 2022-01-14 Jakub Jelinek <jakub@redhat.com>
10254 * fold-const.c (address_compare): Punt on comparison of address of
10255 one object with address of end of another object if
10256 folding_initializer.
10258 2022-01-14 Jakub Jelinek <jakub@redhat.com>
10261 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
10262 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
10263 and __atomic_op_fetch (p, x, y) iop x into
10264 __atomic_fetch_op (p, x, y).
10266 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
10268 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
10269 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
10270 (INCOMING_RETURN_ADDR_RTX): Likewise.
10271 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
10273 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
10275 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
10276 computin checking accumulator regs.
10277 (arc_expand_prologue): Update comments.
10278 (arc_expand_epilogue): Likewise.
10280 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
10281 Uroš Bizjak <ubizjak@gmail.com>
10283 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
10284 (ix86_expand_ti_to_v1ti): Use force_reg.
10285 (ix86_expand_v1ti_shift): Use force_reg.
10286 (ix86_expand_v1ti_rotate): Use force_reg.
10287 (ix86_expand_v1ti_ashiftrt): Provide new three operation
10288 implementations for shifts by 111..126 bits. Use force_reg.
10290 2022-01-14 Martin Liska <mliska@suse.cz>
10292 * common/config/arm/arm-common.c (arm_target_mode): Fix
10293 warning: unterminated quoting directive [-Wformat=].
10295 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
10297 PR tree-optimization/104009
10298 * tree-object-size.c (compute_builtin_object_size): Bail out on
10300 (plus_stmt_object_size): Return maximum of wholesize and minimum
10301 of 0 for negative offset.
10303 2022-01-14 liuhongt <hongtao.liu@intel.com>
10308 * config/i386/i386.md (*xor2andn): Refine predicate of
10309 operands[0] from nonimmediate_operand to
10310 register_operand, remove TARGET_AVX512BW from condition.
10312 2022-01-14 David Malcolm <dmalcolm@redhat.com>
10314 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
10315 be used on field decls.
10316 (Common Function Attributes): Add entry on "tainted_args" attribute.
10318 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
10319 Jason Merrill <jason@redhat.com>
10322 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
10324 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
10327 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
10328 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
10329 * config/i386/mmx.md (<any_shift:insn>v2qi):
10330 New insn_and_split pattern.
10332 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
10334 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
10335 (expand_partial_store_optab_fn): Likewise.
10336 (internal_len_load_store_bias): New function.
10337 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
10338 (internal_len_load_store_bias): New function.
10339 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
10340 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
10341 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
10342 (vect_estimate_min_profitable_iters): Account for bias.
10343 (vect_get_loop_len): Add bias-adjusted length.
10344 * tree-vect-stmts.c (vectorizable_store): Use.
10345 (vectorizable_load): Use.
10346 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
10347 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
10348 * config/rs6000/vsx.md: Use const0 bias predicate.
10349 * doc/md.texi: Document bias value.
10351 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
10353 PR tree-optimization/83072
10354 PR tree-optimization/83073
10355 PR tree-optimization/97909
10356 * fold-const.c (expr_not_equal_to): Use a multi-range class.
10358 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
10360 PR tree-optimization/96707
10361 * range-op.cc (operator_rshift::lhs_op1_relation): New.
10363 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
10365 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
10366 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
10367 (negv2qi splitters): Use lowpart_subreg instead of
10368 gen_lowpart to create subreg.
10369 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
10370 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
10371 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
10372 gen_lowpart to create subreg.
10373 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
10375 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
10378 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
10380 2022-01-13 Martin Liska <mliska@suse.cz>
10382 * common/config/arm/arm-common.c (arm_target_mode): Wrap
10383 keywords with %<, %> and remove trailing punctuation char.
10384 (arm_canon_arch_option_1): Likewise.
10385 (arm_asm_auto_mfpu): Likewise.
10386 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
10387 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
10388 (use_vfp_abi): Likewise.
10389 (aapcs_vfp_is_call_or_return_candidate): Likewise.
10390 (arm_handle_cmse_nonsecure_entry): Likewise.
10391 (arm_handle_cmse_nonsecure_call): Likewise.
10392 (thumb1_md_asm_adjust): Likewise.
10394 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
10396 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
10397 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
10398 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
10399 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
10400 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
10401 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
10402 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
10403 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
10406 2022-01-13 Jakub Jelinek <jakub@redhat.com>
10408 PR tree-optimization/103989
10409 * tree-inline.c (setup_one_parameter): Don't copy parms with
10412 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
10414 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
10415 'TYPE_ADDR_SPACE' for offloading.
10416 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
10417 'TYPE_ADDR_SPACE' for offloading.
10419 2022-01-13 Julian Brown <julian@codesourcery.com>
10420 Thomas Schwinge <thomas@codesourcery.com>
10422 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
10424 (add_async_clauses_and_wait): ...here. Call new outlined function.
10425 (decompose_kernels_region_body): Add wait at the end of
10426 explicitly-asynchronous kernels regions.
10428 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
10430 PR middle-end/100280
10431 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
10432 Mark variables used in synthesized data clauses as addressable.
10434 2022-01-13 Martin Liska <mliska@suse.cz>
10436 * config/epiphany/epiphany.c (epiphany_mode_priority):
10437 Use gcc_unreachable for not handled cases.
10439 2022-01-13 Martin Liska <mliska@suse.cz>
10441 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
10442 Use %qs format specifier.
10443 (epiphany_override_options): Wrap keyword in %<, %>.
10445 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
10448 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
10450 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
10452 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
10454 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
10458 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
10459 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
10460 when constructing vector logic RTXes.
10461 (expand_vec_perm_pshufb2): Ditto.
10462 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
10463 (<plusminus:insn>v2qi3): Ditto.
10464 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
10465 (vcondu<mode><mode>): Ditto.
10466 (vcond_mask_<mode><mode>): Ditto.
10467 (one_cmpl<VI_32:mode>2): Remove expander.
10468 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
10469 Use VI_16_32 mode iterator.
10470 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
10471 Use lowpart_subreg instead of gen_lowpart to create subreg.
10472 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
10473 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
10474 Disparage GPR alternative a bit. Add CC clobber.
10475 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
10476 Use lowpart_subreg instead of gen_lowpart to create subreg.
10477 (*<any_logic:code><VI_16_32:mode>3): Merge from
10478 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
10479 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
10481 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
10482 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
10484 2022-01-12 Clément Chigot <clement.chigot@atos.net>
10486 * configure.ac: Check sizeof ino_t and dev_t.
10487 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
10488 syscall being able to handle 64bit inodes.
10489 * config.in: Regenerate.
10490 * configure: Regenerate.
10491 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
10492 (remove_duplicates): Use it.
10494 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
10496 PR tree-optimization/103551
10497 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
10499 2022-01-12 Richard Biener <rguenther@suse.de>
10501 PR tree-optimization/103990
10502 * tree-pass.h (tail_merge_optimize): Drop unused argument.
10503 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
10504 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
10505 and adjust call to tail_merge_optimize.
10507 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
10509 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
10510 does not add autovectorize_vector_modes.
10512 2022-01-12 Martin Liska <mliska@suse.cz>
10514 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
10515 %qs where possible.
10516 (aarch64_parse_sve_width_string): Likewise.
10517 (aarch64_override_options_internal): Likewise.
10518 (aarch64_print_hint_for_extensions): Likewise.
10519 (aarch64_validate_sls_mitigation): Likewise.
10520 (aarch64_handle_attr_arch): Likewise.
10521 (aarch64_handle_attr_cpu): Likewise.
10522 (aarch64_handle_attr_tune): Likewise.
10523 (aarch64_handle_attr_isa_flags): Likewise.
10525 2022-01-12 Martin Liska <mliska@suse.cz>
10527 * config.gcc: Include elfos.h before ${tm_file}.
10529 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
10531 * config/cris/cris.c: Quote identifiers in parameters to error
10532 and internal_error, and remove extraneous spaces with punctuation.
10533 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
10534 expression to internal_error, pass it as a parameter instead of
10535 appending it to the format part.
10537 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
10539 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
10542 2022-01-11 qing zhao <qing.zhao@oracle.com>
10544 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
10545 Change the 3rd argument of function .DEFERRED_INIT to the name of the
10547 (gimplify_decl_expr): Delete the 3rd argument when call
10548 gimple_add_init_for_auto_var.
10549 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
10550 the 3rd argument change of function .DEFERRED_INIT.
10551 * tree-cfg.c (verify_gimple_call): Update comments and verification
10552 to reflect the 3rd argument change of function .DEFERRED_INIT.
10553 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
10554 (sra_modify_deferred_init): Change the 3rd argument of function
10555 .DEFERRED_INIT to the name of the decl.
10557 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
10559 * flag-types.h (enum gfc_convert): Add flags for
10562 2022-01-11 Michael Meissner <meissner@the-meissners.org>
10564 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
10565 checks for only C/C++ front ends before allowing the long double
10566 format to change without a warning.
10568 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
10570 PR rtl-optimization/103974
10571 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
10572 extra argument, default true, that says whether old-reload
10573 targets should be excluded.
10574 * ira-color.c (color_pass): Pass false.
10576 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
10579 * config/i386/mmx.md (vcond<mode><mode>):
10580 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
10581 (vcondu<mode><mode>): Ditto.
10582 (vcond_mask_<mode><mode>): Ditto.
10583 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
10584 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
10585 Use VI_16_32 mode iterator.
10586 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
10587 Update for rename. Handle V2QImode.
10588 (expand_vec_perm_blend): Update for rename.
10590 2022-01-11 Jakub Jelinek <jakub@redhat.com>
10593 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
10595 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
10597 PR middle-end/70090
10598 * tree-object-size.c (size_valid_p): New function.
10599 (size_for_offset): Remove OFFSET constness assertion.
10600 (addr_object_size): Build dynamic expressions for object
10601 sizes and use size_valid_p to decide if it is valid for the
10602 given OBJECT_SIZE_TYPE.
10603 (compute_builtin_object_size): Allow dynamic offsets when
10604 computing size at O0.
10605 (call_object_size): Call size_valid_p.
10606 (plus_stmt_object_size): Allow non-constant offset and use
10607 size_valid_p to decide if it is valid for the given
10610 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
10612 PR middle-end/70090
10613 * tree-object-size.c (alloc_object_size): Make and return
10614 non-constant size expression.
10615 (call_object_size): Return expression or unknown based on
10616 whether dynamic object size is requested.
10618 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
10620 PR middle-end/70090
10621 * tree-object-size.c: Include tree-dfa.h.
10622 (parm_object_size): New function.
10623 (collect_object_sizes_for): Call it.
10625 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
10627 PR middle-end/70090
10628 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
10630 * tree-object-size.c: Include gimplify-me.h.
10631 (struct object_size_info): New member UNKNOWNS.
10632 (size_initval_p, size_usable_p, object_sizes_get_raw): New
10634 (object_sizes_get): Return suitable gimple variable for
10636 (bundle_sizes): New function.
10637 (object_sizes_set): Use it and handle dynamic object size
10639 (object_sizes_set_temp): New function.
10640 (size_for_offset): Adjust for dynamic size expressions.
10641 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
10643 (compute_builtin_object_size): Call gimplify_size_expressions
10645 (dynamic_object_size): New function.
10646 (cond_expr_object_size): Use it.
10647 (phi_dynamic_object_size): New function.
10648 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
10649 accommodate dynamic object sizes.
10651 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
10652 Jakub Jelinek <jakub@redhat.com>
10654 PR tree-optimization/103961
10655 * tree-object-size.c (plus_stmt_object_size): Always avoid
10656 computing offset for -1 size.
10658 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
10660 PR tree-optimization/103821
10661 * range-op.cc (range_operator::fold_range): Only do precise ranges
10662 when there are not too many subranges.
10664 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
10666 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
10667 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
10669 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
10670 Richard Biener <rguenther@suse.de>
10672 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
10673 highpart_mults_inserted field.
10674 (convert_mult_to_highpart): New function to convert right shift
10675 of a widening multiply into a MULT_HIGHPART_EXPR.
10676 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
10677 Call new convert_mult_to_highpart function.
10678 (pass_optimize_widening_mul::execute): Add a statistics counter
10679 for tracking "highpart multiplications inserted" events.
10681 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
10684 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
10686 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
10688 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
10690 2022-01-11 Olivier Hainque <hainque@adacore.com>
10692 * gcc.c (driver_handle_option): State --sysroot as
10695 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
10697 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
10698 useless related to option -mno-power10.
10700 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
10703 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
10704 operands[1] from register_operand to vector_operand.
10706 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
10709 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
10711 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
10712 Use VI1_16_32 mode iterator.
10713 (*eq<mode>3): Ditto.
10714 (*gt<mode>3): Ditto.
10715 (*xop_maskcmp<mode>3): Ditto.
10716 (*xop_maskcmp_uns<mode>3): Ditto.
10717 (vec_cmp<mode><mode>): Ditto.
10718 (vec_cmpu<mode><mode>): Ditto.
10720 2022-01-10 Richard Biener <rguenther@suse.de>
10722 PR tree-optimization/103948
10723 * tree-vect-generic.c (expand_vector_condition): Return true if
10724 all ones vector is returned for true, all zeros vector for false
10725 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
10727 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
10729 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
10730 when _ARCH_PWR10. Use signed types.
10731 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
10732 (_mm_blendv_pd): Likewise.
10734 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
10736 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
10738 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
10739 epilogues, unless we are guaranteed that we can't have partial vectors.
10740 * genopinit.c: (partial_vectors_supported): Generate new function.
10742 2022-01-10 Jakub Jelinek <jakub@redhat.com>
10745 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
10746 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
10747 always ignore them, when seeing other zero sized bitfields, either
10748 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
10749 it. Pass it to recursive calls. Add wrapper
10750 with old arguments and diagnose ABI differences for C structures
10751 with zero width bitfields. Formatting fixes.
10753 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
10755 PR rtl-optimization/98782
10756 * ira-int.h (ira_soft_conflict): Declare.
10757 * ira-color.c (max_soft_conflict_loop_depth): New constant.
10758 (ira_soft_conflict): New function.
10759 (spill_soft_conflicts): Likewise.
10760 (assign_hard_reg): Use them to handle the case described by
10761 the comment above ira_soft_conflict.
10762 (improve_allocation): Likewise.
10763 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
10764 to share the same register.
10766 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
10768 PR rtl-optimization/98782
10769 * ira-int.h (ira_caller_save_cost): New function.
10770 (ira_caller_save_loop_spill_p): Likewise.
10771 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
10772 cheaper to spill a call-clobbered register throughout a loop rather
10773 than spill it around each individual call. If so, treat all
10774 call-clobbered registers as conflicts and...
10775 (propagate_allocno_info): ...do not propagate call information
10776 from the child to the parent.
10777 * ira-color.c (move_spill_restore): Update accordingly.
10778 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
10780 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
10782 PR rtl-optimization/98782
10783 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
10784 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
10785 (ira_single_region_allocno_p): New function.
10786 (ira_total_conflict_hard_regs): Likewise.
10787 * ira-build.c (ira_create_allocno): Initialize
10788 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
10789 (ira_propagate_hard_reg_costs): New function.
10790 (propagate_allocno_info): Use it. Try to avoid propagating
10791 hard register conflicts to parent allocnos if we can handle
10792 the conflicts by spilling instead. Limit the propagated
10793 register costs to the cost of spilling throughout the child loop.
10794 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
10795 test whether a child and parent allocno can share the same
10797 (move_spill_restore): Adjust for the new behavior of
10798 propagate_allocno_info.
10800 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
10802 PR rtl-optimization/98782
10803 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
10805 * ira-color.c (color_pass): ...here.
10807 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
10809 PR rtl-optimization/98782
10810 * ira-color.c (color_pass): Add comments to describe the spill costs.
10811 (move_spill_restore): Likewise. Fix reversed calculation.
10813 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
10815 PR rtl-optimization/98782
10816 * ira-int.h (ira_loop_border_costs): New class.
10817 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
10819 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
10820 (color_pass): Likewise.
10821 (move_spill_restore): Likewise.
10823 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
10826 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
10828 2022-01-10 Richard Biener <rguenther@suse.de>
10830 PR tree-optimization/100359
10831 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
10832 Allow non-growing peeling with !allow_peel and UL_ALL.
10834 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
10836 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
10837 special case for TImode to V1TImode moves, going via V2DImode.
10839 2022-01-08 Jakub Jelinek <jakub@redhat.com>
10842 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
10845 2022-01-08 David Malcolm <dmalcolm@redhat.com>
10847 * doc/analyzer.texi
10848 (Special Functions for Debugging the Analyzer): Document
10849 __analyzer_dump_escaped.
10851 2022-01-08 David Malcolm <dmalcolm@redhat.com>
10853 * doc/analyzer.texi (Other Debugging Techniques): Document
10854 region::is_named_decl_p.
10856 2022-01-07 Andrew Pinski <apinski@marvell.com>
10859 * config/arm/aarch-common.c (arm_md_asm_adjust):
10860 Use a temp if !REG_P.
10862 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
10864 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
10865 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
10867 2022-01-07 liuhongt <hongtao.liu@intel.com>
10869 PR rtl-optimization/103750
10870 * fwprop.c (forward_propagate_into): Allow propagations from
10871 inner loop to outer loop.
10873 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
10875 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
10877 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
10879 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
10880 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
10881 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
10883 2022-01-07 liuhongt <hongtao.liu@intel.com>
10885 * config/i386/sse.md
10886 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
10887 UNSPEC_PCMP_UNSIGNED.
10889 2022-01-07 liuhongt <hongtao.liu@intel.com>
10892 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
10893 gen_avx2_pblendph_1 when elt == 0.
10894 * config/i386/sse.md (avx2_pblendph): Rename to ..
10895 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
10896 (*avx2_pblendw): Rename to ..
10897 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
10898 (avx2_pblendw): Rename to ..
10899 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
10900 (blendsuf): Removed.
10901 (sse4_1_pblend<blendsuf>): Renamed to ..
10902 (sse4_1_pblend<ssemodesuffix>): .. this.
10904 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
10907 * config/i386/i386.c (ix86_output_indirect_function_return):
10908 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
10910 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
10913 * config/i386/i386-opts.h (harden_sls): Replace
10914 harden_sls_indirect_branch with harden_sls_indirect_jmp.
10915 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
10917 (ix86_output_indirect_jmp): Likewise.
10918 (ix86_output_call_insn): Likewise.
10919 * config/i386/i386.opt: Replace indirect-branch with
10920 indirect-jmp. Replace harden_sls_indirect_branch with
10921 harden_sls_indirect_jmp.
10922 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
10925 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
10927 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
10928 Add %q modifier for operands in general registers.
10929 <MODE_SI>: Add %q modifier for operands in general registers.
10930 * config/i386/i386.md (*movhi_internal): Change type attribute of
10931 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
10932 to SImode for non-avx512fp16 targets.
10933 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
10934 * config/i386/mmx.md (*movv2qi_internal):
10935 Ditto for xmm-gpr interunit alternatives 8,9.
10937 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
10939 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
10941 (riscv_ext_version_table): Add version info for vector extensions.
10942 (riscv_ext_flag_table): Add option mask for vector extensions.
10943 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
10944 (MASK_VECTOR_EEW_64): New.
10945 (MASK_VECTOR_EEW_FP_32): New.
10946 (MASK_VECTOR_EEW_FP_64): New.
10947 (MASK_ZVL32B): New.
10948 (MASK_ZVL64B): New.
10949 (MASK_ZVL128B): New.
10950 (MASK_ZVL256B): New.
10951 (MASK_ZVL512B): New.
10952 (MASK_ZVL1024B): New.
10953 (MASK_ZVL2048B): New.
10954 (MASK_ZVL4096B): New.
10955 (MASK_ZVL8192B): New.
10956 (MASK_ZVL16384B): New.
10957 (MASK_ZVL32768B): New.
10958 (MASK_ZVL65536B): New.
10959 (TARGET_ZVL32B): New.
10960 (TARGET_ZVL64B): New.
10961 (TARGET_ZVL128B): New.
10962 (TARGET_ZVL256B): New.
10963 (TARGET_ZVL512B): New.
10964 (TARGET_ZVL1024B): New.
10965 (TARGET_ZVL2048B): New.
10966 (TARGET_ZVL4096B): New.
10967 (TARGET_ZVL8192B): New.
10968 (TARGET_ZVL16384B): New.
10969 (TARGET_ZVL32768B): New.
10970 (TARGET_ZVL65536B): New.
10971 * config/riscv/riscv.opt (Mask(VECTOR)): New.
10972 (riscv_vector_eew_flags): New.
10973 (riscv_zvl_flags): New.
10975 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
10977 * common/config/riscv/riscv-common.c
10978 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
10981 2022-01-06 Jakub Jelinek <jakub@redhat.com>
10983 PR tree-optimization/103899
10984 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
10985 warning by moving context variable to the only spot where it is used
10986 and moving gcc_assert into if body.
10988 2022-01-06 Jakub Jelinek <jakub@redhat.com>
10990 PR rtl-optimization/103908
10991 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
10994 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
10997 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
10998 Skip over instances with undefined function types.
11000 2022-01-05 Andrew Pinski <apinski@marvell.com>
11003 * config/i386/i386.h (x86_mfence): Mark with GTY.
11005 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
11008 * config/i386/mmx.md (VI_16_32): New mode iterator.
11009 (VI1_16_32): Ditto.
11010 (mmxvecsize): Handle V2QI mode.
11011 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
11012 Use VI1_16_32 mode iterator.
11013 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
11014 Use VI1_16_32 mode iterator.
11015 (abs<mode>2): Use VI_16_32 mode iterator.
11016 (uavgv2qi3_ceil): New insn pattern.
11018 2022-01-05 Martin Sebor <msebor@redhat.com>
11020 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
11021 %qs to avoid -Wformat-diag.
11023 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
11026 * config/i386/mmx.md (one_cmplv2qi2): Change
11027 alternatives 1,2 type from sselog to sselog1.
11029 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
11032 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
11033 narrow mode remapped elements for !one_operand_p case.
11035 2022-01-05 Richard Biener <rguenther@suse.de>
11037 PR tree-optimization/103816
11038 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
11039 check DR_GROUP_GAP compute for overflow and representability.
11041 2022-01-05 Jakub Jelinek <jakub@redhat.com>
11044 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
11045 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
11046 it can do unwanted rhs folding like &a[0] into &2.0 etc.
11048 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
11051 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
11052 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
11053 (rs6000_need_ipa_fn_target_info): New function.
11054 (rs6000_update_ipa_fn_target_info): Likewise.
11055 (rs6000_can_inline_p): Adjust for ipa function summary target info.
11056 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
11057 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
11058 summary target info.
11059 (analyze_function_body): Adjust for ipa function summary target info
11060 and call hook rs6000_need_ipa_fn_target_info and
11061 rs6000_update_ipa_fn_target_info.
11062 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
11064 (inline_read_section): Likewise.
11065 (ipa_fn_summary_write): Likewise.
11066 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
11067 * doc/tm.texi: Regenerate.
11068 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
11069 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
11070 * target.def (update_ipa_fn_target_info): New hook.
11071 (need_ipa_fn_target_info): Likewise.
11072 * targhooks.c (default_need_ipa_fn_target_info): New function.
11073 (default_update_ipa_fn_target_info): Likewise.
11074 * targhooks.h (default_update_ipa_fn_target_info): New declare.
11075 (default_need_ipa_fn_target_info): Likewise.
11077 2022-01-04 Martin Sebor <msebor@redhat.com>
11079 PR middle-end/99612
11080 * builtins.c (get_memmodel): Move warning code to
11081 gimple-ssa-warn-access.cc.
11082 (expand_builtin_atomic_compare_exchange): Same.
11083 (expand_ifn_atomic_compare_exchange): Same.
11084 (expand_builtin_atomic_load): Same.
11085 (expand_builtin_atomic_store): Same.
11086 (expand_builtin_atomic_clear): Same.
11087 * doc/extend.texi (__atomic_exchange_n): Update valid memory
11089 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
11090 (struct memmodel_pair): New struct.
11091 (memmodel_name): New function.
11092 (pass_waccess::maybe_warn_memmodel): New function.
11093 (pass_waccess::check_atomic_memmodel): New function.
11094 (pass_waccess::check_atomic_builtin): Handle memory model.
11095 * input.c (expansion_point_location_if_in_system_header): Return
11096 original location if expansion location is in a system header.
11098 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
11101 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
11102 (one_cmplv2qi3 splitters): New post-reload splitters.
11103 (*andnotv2qi3): New insn pattern.
11104 (andnotv2qi3 splitters): New post-reload splitters.
11105 (<any_logic:code>v2qi3): New insn pattern.
11106 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
11108 2022-01-04 Richard Biener <rguenther@suse.de>
11110 PR tree-optimization/103800
11111 * tree-vect-loop.c (vectorizable_phi): Remove assert and
11114 2022-01-04 Richard Biener <rguenther@suse.de>
11116 PR tree-optimization/103690
11117 * tree-pass.h (tail_merge_optimize): Adjust.
11118 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
11119 to re-split critical edges, move CFG cleanup ...
11120 * tree-ssa-pre.c (pass_pre::execute): ... here, before
11121 simple_dce_from_worklist and delay freeing inserted_exprs from
11123 (fini_pre): .. here.
11125 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
11127 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
11128 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
11129 (setcc_from_bi): Remove SImode specific pattern.
11130 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
11131 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
11132 for sign- and zero-extending BImode predicates to integers.
11133 (setcc_int<mode>): Remove previous (-1-based) instructions.
11134 (cstorebi4): Remove BImode to SImode specific expander.
11135 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
11136 (cstore<mode>4): For both integer and floating point modes.
11138 2022-01-04 Olivier Hainque <hainque@adacore.com>
11140 * gcc.c (driver_handle_option): do_save --sysroot.
11142 2022-01-04 Richard Biener <rguenther@suse.de>
11144 PR tree-optimization/103864
11145 PR tree-optimization/103544
11146 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
11147 reductions wrapped in conversions from SLP handling.
11148 (vect_analyze_slp): Revert PR103544 change.
11150 2022-01-04 Jakub Jelinek <jakub@redhat.com>
11152 PR rtl-optimization/103860
11153 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
11154 uselessly for blocks for which it has been called already.
11156 2022-01-04 Cui,Lili <lili.cui@intel.com>
11158 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
11159 to Alderlake and Rocketlake.
11161 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
11163 PR middle-end/103643
11164 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
11165 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
11167 2022-01-04 liuhongt <hongtao.liu@intel.com>
11170 * config/i386/sse.md (*bit_and_float_vector_all_ones):
11171 Force_reg operand 1 to avoid ICE.
11173 2022-01-04 Jason Merrill <jason@redhat.com>
11175 * tree-pretty-print.c (do_niy): Add spc parameter.
11177 (print_call_name): Add spc local variable.
11179 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
11182 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
11183 (mov<V_32:mode>_internal): Ditto.
11184 (*push<V_32:mode>_rex64): Ditto.
11185 (movmisalign<V_32:mode>): Ditto.
11186 (*push<V_32:mode>_rex64 splitter): Enable for
11187 TARGET_64BIT && TARGET_SSE.
11188 (*push<V_32:mode>2): Remove insn pattern.
11190 2022-01-03 Andrew Pinski <apinski@marvell.com>
11193 * doc/extend.texi: Extend the documentation about Complex
11194 types for casting and also rewrite the __real__/__imag__
11195 expression portion to use tables.
11196 Move __builtin_complex to the Complex type section.
11198 2022-01-03 Jakub Jelinek <jakub@redhat.com>
11201 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
11202 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
11204 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
11205 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
11206 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
11207 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
11208 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
11209 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
11211 * optabs.def (atomic_add_fetch_cmp_0_optab,
11212 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
11213 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
11215 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
11216 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
11217 * tree-ssa-ccp.c: Include internal-fn.h.
11218 (optimize_atomic_bit_test_and): Add . before internal fn call
11219 in function comment. Change return type from void to bool and
11220 return true only if successfully replaced.
11221 (optimize_atomic_op_fetch_cmp_0): New function.
11222 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
11223 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
11224 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
11225 for *XOR* ones only if optimize_atomic_bit_test_and failed.
11226 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
11227 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
11228 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
11229 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
11230 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
11231 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
11232 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
11233 new named patterns.
11235 2022-01-03 Richard Biener <rguenther@suse.de>
11237 PR middle-end/103851
11238 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
11240 2022-01-03 Jakub Jelinek <jakub@redhat.com>
11243 * symtab.c: Include fold-const.h.
11244 (symtab_node::equal_address_to): If folding_initializer is true,
11245 handle it like memory_accessed. Simplify.
11247 2022-01-03 Martin Liska <mliska@suse.cz>
11249 * doc/extend.texi: Use ; for function declarations.
11251 2022-01-03 Jakub Jelinek <jakub@redhat.com>
11254 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
11255 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
11257 2022-01-03 Jakub Jelinek <jakub@redhat.com>
11259 * gcc.c (process_command): Update copyright notice dates.
11260 * gcov-dump.c (print_version): Ditto.
11261 * gcov.c (print_version): Ditto.
11262 * gcov-tool.c (print_version): Ditto.
11263 * gengtype.c (create_file): Ditto.
11264 * doc/cpp.texi: Bump @copying's copyright year.
11265 * doc/cppinternals.texi: Ditto.
11266 * doc/gcc.texi: Ditto.
11267 * doc/gccint.texi: Ditto.
11268 * doc/gcov.texi: Ditto.
11269 * doc/install.texi: Ditto.
11270 * doc/invoke.texi: Ditto.
11272 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
11275 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
11276 (VALID_INT_MODE_P): Ditto.
11277 * config/i386/i386.c (ix86_secondary_reload): Handle
11278 V2QImode reloads from SSE register to memory.
11279 (vector_mode_supported_p): Always return true for V2QImode.
11280 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
11281 (*negqi_ext<mode>_2): Ditto.
11282 * config/i386/mmx.md (movv2qi): New expander.
11283 (movmisalignv2qi): Ditto.
11284 (*movv2qi_internal): New insn pattern.
11285 (*pushv2qi2): Ditto.
11286 (negv2qi2 and splitters): Ditto.
11287 (<plusminus:insn>v2qi3 and splitters): Ditto.
11289 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
11291 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
11292 sync_lock_test_and_set libfunc. Call convert_memory_address to
11293 convert memory address to Pmode.
11294 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
11297 Copyright (C) 2022 Free Software Foundation, Inc.
11299 Copying and distribution of this file, with or without modification,
11300 are permitted in any medium without royalty provided the copyright
11301 notice and this notice are preserved.