1 2022-08-19 Release Manager
5 2022-08-17 Ilya Leoshkevich <iii@linux.ibm.com>
7 Backported from master:
8 2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com>
10 * config/s390/vector.md (V_HW_FT): New iterator.
11 * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
14 2022-08-12 Peter Bergner <bergner@linux.ibm.com>
16 Backported from master:
17 2022-07-26 Peter Bergner <bergner@linux.ibm.com>
20 * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
22 2022-08-11 Andre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com>
24 Backported from master:
25 2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com>
27 * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
28 (@aarch64_rbit<mode>): ... to this and change it in...
29 (ffs<mode>2,ctz<mode>2): ... here.
30 (@aarch64_rev16<mode>): New.
31 * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
32 Define the following enum AARCH64_REV16, AARCH64_REV16L,
33 AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
34 (aarch64_init_data_intrinsics): New.
35 (aarch64_general_init_builtins): Add call to
36 aarch64_init_data_intrinsics.
37 (aarch64_expand_builtin_data_intrinsic): New.
38 (aarch64_general_expand_builtin): Add call to
39 aarch64_expand_builtin_data_intrinsic.
40 * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
41 __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
42 __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
44 2022-08-10 Tobias Burnus <tobias@codesourcery.com>
46 Backported from master:
47 2022-08-09 Tobias Burnus <tobias@codesourcery.com>
50 * omp-low.cc (lower_rec_input_clauses): Add missing folding
51 to data type of linear-clause list item.
53 2022-08-10 Richard Biener <rguenther@suse.de>
55 Backported from master:
56 2022-08-10 Richard Biener <rguenther@suse.de>
58 PR tree-optimization/106513
59 * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
62 2022-08-10 Richard Biener <rguenther@suse.de>
64 Backported from master:
65 2022-08-08 Richard Biener <rguenther@suse.de>
69 * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
70 to input DECL_INITIAL, avoiding to commit drefs.
72 2022-08-05 Michael Meissner <meissner@linux.ibm.com>
74 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
75 setting -mblock-ops-vector-pair. Back port patch from trunk on 8/3.
77 2022-08-02 Peter Bergner <bergner@linux.ibm.com>
79 Backported from master:
80 2022-07-25 Peter Bergner <bergner@linux.ibm.com>
81 Kewen Lin <linkw@linux.ibm.com>
84 * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
85 to filter out all -mtune options.
87 2022-08-02 Kewen Lin <linkw@linux.ibm.com>
89 Backported from master:
90 2022-07-26 Kewen Lin <linkw@linux.ibm.com>
93 * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
94 REG_EH_REGION when replacing one store insn having it.
95 (replace_swapped_aligned_load): Likewise.
97 2022-07-30 Jakub Jelinek <jakub@redhat.com>
99 Backported from master:
100 2022-07-29 Jakub Jelinek <jakub@redhat.com>
103 * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
104 iterators in non-rectangular simd loops. Unshare fd->loops[i].n2
105 or n2 before regimplifying it inside of a condition.
107 2022-07-30 Jakub Jelinek <jakub@redhat.com>
109 Backported from master:
110 2022-07-27 Jakub Jelinek <jakub@redhat.com>
113 * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
114 output asm thunks for -dx.
116 2022-07-30 Jakub Jelinek <jakub@redhat.com>
118 Backported from master:
119 2022-07-01 Jakub Jelinek <jakub@redhat.com>
122 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
123 emitting element for shift or if shift is 0 first element after start.
124 (wide_int_cc_tests): Add tests for equivalency of wi::mask and
125 wi::shifted_mask with 0 start.
127 2022-07-27 David Malcolm <dmalcolm@redhat.com>
129 * json.cc (string::print): Fix escaping of '\'.
131 2022-07-27 David Malcolm <dmalcolm@redhat.com>
133 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
136 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
138 Backported from master:
139 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
141 * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
142 duplicate backslashes.
144 2022-07-27 Richard Biener <rguenther@suse.de>
146 Backported from master:
147 2022-07-26 Richard Biener <rguenther@suse.de>
149 PR tree-optimization/106189
150 * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
151 Divide using offset_ints.
153 2022-07-27 Joseph Myers <joseph@codesourcery.com>
155 Backported from master:
156 2022-06-30 Joseph Myers <joseph@codesourcery.com>
159 * lto-wrapper.cc (find_option): Add argument start.
160 (merge_and_complain): Loop over existing_opt_index and
161 existing_opt2_index for Xassembler check. Update calls to
163 (find_and_merge_options): Add argument first to determine whether
164 to merge options with those passed in *opts.
165 (run_gcc): Update calls to find_and_merge_options.
167 2022-07-27 Andrew Pinski <apinski@marvell.com>
169 Backported from master:
170 2022-07-09 Andrew Pinski <apinski@marvell.com>
172 PR tree-optimization/106087
173 * tree-ssa-dce.cc (simple_dce_from_worklist): Check
174 to make sure the statement is only defining one operand.
176 2022-07-27 Tamar Christina <tamar.christina@arm.com>
178 Backported from master:
179 2022-07-08 Tamar Christina <tamar.christina@arm.com>
181 PR tree-optimization/106063
182 * match.pd: Do not apply pattern after veclower is not supported.
184 2022-07-27 Alexandre Oliva <oliva@adacore.com>
186 Backported from master:
187 2022-06-03 Alexandre Oliva <oliva@adacore.com>
189 PR tree-optimization/105665
190 PR tree-optimization/100810
191 * tree-ssa-loop-ivopts.cc
192 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
193 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
194 (find_ssa_undef): Check precomputed flag and intervening uses.
195 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
197 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
199 Backported from master:
200 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
202 * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
204 2022-07-19 Richard Biener <rguenther@suse.de>
206 Backported from master:
207 2022-07-19 Richard Biener <rguenther@suse.de>
210 * builtins.cc (get_memory_rtx): Compute alignment from
211 the original address and set MEM_OFFSET to unknown when
212 we create a MEM_EXPR from the base object of the address.
214 2022-07-19 Richard Biener <rguenther@suse.de>
216 Backported from master:
217 2022-07-01 Richard Biener <rguenther@suse.de>
219 PR tree-optimization/106131
220 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
221 zero when offsetting the read looking through an aggregate
224 2022-07-19 Richard Biener <rguenther@suse.de>
226 Backported from master:
227 2022-06-29 Richard Biener <rguenther@suse.de>
229 PR tree-optimization/106112
230 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
231 a constant operand according to its type.
233 2022-07-19 Richard Biener <rguenther@suse.de>
235 Backported from master:
236 2022-06-20 Richard Biener <rguenther@suse.de>
239 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
240 type of the prevailing comparison for the new comparison type.
241 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
242 to A < X && A >= Y folding.
244 2022-07-19 Richard Biener <rguenther@suse.de>
246 Backported from master:
247 2022-06-15 Richard Biener <rguenther@suse.de>
249 PR tree-optimization/105971
250 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
251 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
252 to leak less surprising alias results.
254 2022-07-19 Richard Biener <rguenther@suse.de>
256 Backported from master:
257 2022-06-15 Richard Biener <rguenther@suse.de>
259 PR tree-optimization/105969
260 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
261 by zero in overflow check.
263 2022-07-19 Richard Biener <rguenther@suse.de>
265 Backported from master:
266 2022-06-14 Richard Biener <rguenther@suse.de>
269 * match.pd (view_convert CONSTRUCTOR): Handle single-element
272 2022-07-19 Richard Biener <rguenther@suse.de>
274 Backported from master:
275 2022-06-14 Richard Biener <rguenther@suse.de>
277 PR tree-optimization/105946
278 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
279 Do not look at arguments not specified in the function call.
281 2022-07-19 Richard Biener <rguenther@suse.de>
283 Backported from master:
284 2022-07-11 Richard Biener <rguenthert@suse.de>
287 * config/i386/i386-options.cc (ix86_set_current_function):
288 Rebuild the target optimization node whenever necessary,
289 not only when the optimization node didn't change.
291 2022-07-14 Michael Meissner <meissner@linux.ibm.com>
293 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
294 not generate block copies with vector pair instructions if we are
295 tuning for power10. Back port from master branch.
297 2022-07-14 Surya Kumari Jangala <jskumari@linux.vnet.ibm.com>
299 Backported from master:
300 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
302 PR rtl-optimization/105041
303 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
305 2022-07-11 Martin Jambor <mjambor@suse.cz>
307 Backported from master:
308 2022-07-04 Martin Jambor <mjambor@suse.cz>
310 PR tree-optimization/105860
311 * tree-sra.cc (build_reconstructed_reference): Start expr
312 traversal only just below the outermost union.
314 2022-07-10 Xi Ruoyao <xry111@xry111.site>
316 Backported from master:
317 2022-07-10 Xi Ruoyao <xry111@xry111.site>
319 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
322 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
323 Uroš Bizjak <ubizjak@gmail.com>
326 * config/i386/i386.md (*<any_or>di3_doubleword): Split after
327 reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
328 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
330 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
332 Backported from master:
333 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
335 * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
336 Modify fp_sp_offset and gp_sp_offset's calculation method,
337 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
340 2022-07-04 Andrew MacLeod <amacleod@redhat.com>
342 PR tree-optimization/106114
343 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
344 statement operands instead of GORI cache.
346 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
347 Marek Polacek <polacek@redhat.com>
348 Segher Boessenkool <segher@kernel.crashing.org>
349 Kewen Lin <linkw@linux.ibm.com>
352 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
353 exact_log2 doesn't return -1 (or zero).
354 (plus_xor): New code iterator.
355 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
357 2022-07-04 Xi Ruoyao <xry111@xry111.site>
359 Backported from master:
360 2022-07-03 Xi Ruoyao <xry111@xry111.site>
361 Lulu Cheng <chenglulu@loongson.cn>
363 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
365 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
366 of TARGET_CHECK_ZERO_DIV.
367 (loongarch_output_division): Likewise.
368 * common/config/loongarch/loongarch-common.cc
369 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
370 * doc/invoke.texi: Update to match the new behavior.
372 2022-07-03 Roger Sayle <roger@nextmovesoftware.com>
375 * config/i386/i386.md (peephole2): Avoid generating pop %esp
376 when optimizing for size.
378 2022-07-02 Sergei Trofimovich <siarheit@google.com>
380 Backported from master:
381 2022-06-29 Sergei Trofimovich <siarheit@google.com>
384 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
386 2022-07-01 Vladimir Makarov <vmakarov@gcc.gnu.org>
388 Backported from master:
389 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
392 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
393 is special) for various scenarios.
395 2022-06-29 Richard Biener <rguenther@suse.de>
397 Backported from master:
398 2022-05-11 Richard Biener <rguenther@suse.de>
401 * opts.cc (finish_options): Also disable var-tracking if
402 !DWARF2_DEBUGGING_INFO.
404 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
406 Backported from master:
407 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
410 * config/loongarch/loongarch.cc (loongarch_build_integer):
411 Remove undefined behavior from code.
413 2022-06-28 Jakub Jelinek <jakub@redhat.com>
415 Backported from master:
416 2022-06-21 Jakub Jelinek <jakub@redhat.com>
418 PR rtl-optimization/106032
419 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
420 t may_trap_or_fault_p, even if it is cheap.
422 2022-06-28 Jakub Jelinek <jakub@redhat.com>
424 Backported from master:
425 2022-06-21 Jakub Jelinek <jakub@redhat.com>
428 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
429 temp to expand_operands if mode has been promoted.
431 2022-06-28 Xi Ruoyao <xry111@xry111.site>
433 Backported from master:
434 2022-06-28 Xi Ruoyao <xry111@xry111.site>
437 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
438 $r13 from SIBCALL_REGS.
439 * config/loongarch/loongarch.cc (loongarch_regno_to_class):
440 Change $r13 to JIRL_REGS.
442 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
444 Backported from master:
445 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
447 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
448 condition to avoid overflow.
450 2022-06-23 Martin Liska <mliska@suse.cz>
452 Backported from master:
453 2022-06-23 Martin Liska <mliska@suse.cz>
456 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
457 Skip variables with body_removed.
459 2022-06-23 Siddhesh Poyarekar <siddhesh@gotplt.org>
461 Backported from master:
462 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
464 PR tree-optimization/105736
465 * tree-object-size.cc (addr_object_size): Return size_unknown
466 when object offset computation returns an error.
468 2022-06-23 Richard Sandiford <richard.sandiford@arm.com>
470 Backported from master:
471 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
473 PR tree-optimization/105254
474 PR tree-optimization/105940
476 * config/aarch64/aarch64.cc
477 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
478 loop_vec_info as argument. Restrict the unroll factor to values
480 (aarch64_vector_costs::finish_cost): Update call accordingly.
482 2022-06-23 Kewen Lin <linkw@linux.ibm.com>
484 Backported from master:
485 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
487 PR tree-optimization/105940
488 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
489 applying suggested_unroll_factor after start_over.
491 2022-06-21 H.J. Lu <hjl.tools@gmail.com>
493 Backported from master:
494 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
497 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
498 false if PIC register is used when calling ifunc functions.
500 2022-06-20 Uros Bizjak <ubizjak@gmail.com>
502 Backported from master:
503 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
506 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
507 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
508 (alpha_store_data_bypass_p_1): Ditto.
509 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
510 of generic store_data_bypass_p.
511 (ev4_ist_c): Remove insn reservation.
513 2022-06-20 Uros Bizjak <ubizjak@gmail.com>
515 Backported from master:
516 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
519 * config/i386/i386.cc (ix86_function_arg): Assert that
520 the mode of pointer argumet is equal to ptr_mode, not Pmode.
522 2022-06-19 Jakub Jelinek <jakub@redhat.com>
524 Backported from master:
525 2022-06-18 Jakub Jelinek <jakub@redhat.com>
528 * varasm.cc (narrowing_initializer_constant_valid_p): Check
529 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
530 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
532 2022-06-19 Jakub Jelinek <jakub@redhat.com>
534 Backported from master:
535 2022-06-16 Jakub Jelinek <jakub@redhat.com>
538 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
539 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
540 as last argument to the internal functions.
541 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
542 extra call argument to ifns. If expand_atomic_fetch_op fails for the
543 lhs == NULL_TREE case, fall through into the optab code with
544 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
545 fails, construct a CALL_EXPR and expand that.
546 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
547 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
550 2022-06-19 Jan Hubicka <jh@suse.cz>
552 Backported from master:
553 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
556 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
558 2022-06-16 Richard Earnshaw <rearnsha@arm.com>
560 Backported from master:
561 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
564 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
565 to first_reg and second_reg respectively. Initialize them correctly
566 when generating big-endian code.
568 2022-06-15 Simon Wright <simon@pushface.org>
570 Backported from master:
571 2022-06-12 Simon Wright <simon@pushface.org>
574 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
575 version is darwin20 (macOS 11) or greater, truncate the version to the
578 2022-06-15 Mark Mentovai <mark@mentovai.com>
580 Backported from master:
581 2022-06-12 Mark Mentovai <mark@mentovai.com>
583 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
585 2022-06-15 Iain Sandoe <iain@sandoe.co.uk>
587 Backported from master:
588 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
591 * config/darwin.h: Move versions-specific handling of multiply_defined
592 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
594 2022-06-15 liuhongt <hongtao.liu@intel.com>
597 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
600 2022-06-14 H.J. Lu <hjl.tools@gmail.com>
602 Backported from master:
603 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
605 * common/config/i386/cpuinfo.h (get_available_features): Require
606 AVX for F16C and VAES.
608 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
610 Backported from master:
611 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
613 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
614 (-1 << 31) for the single-bit case, when operating on (1 << 31)
616 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
617 any single-bit value, moving the special case for (1 << 31) to
618 riscv_build_integer_1 (in riscv.c).
620 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
622 Backported from master:
623 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
626 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
627 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
628 'gen_highpart' bitwise semantics and fix order of highpart and
629 lowpart depending on target endianness.
631 2022-06-08 liuhongt <hongtao.liu@intel.com>
634 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
637 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
639 Backported from master:
640 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
641 Manolis Tsamis <manolis.tsamis@vrull.eu>
643 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
644 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
645 * doc/sourcebuild.texi: add documentation for RISC-V specific
648 2022-06-02 Richard Biener <rguenther@suse.de>
650 Backported from master:
651 2022-06-01 Richard Biener <rguenther@suse.de>
653 PR tree-optimization/105786
654 * tree-loop-distribution.cc
655 (loop_distribution::transform_reduction_loop): Only do strlen
656 replacement for integer type reductions.
658 2022-06-02 Richard Biener <rguenther@suse.de>
660 Backported from master:
661 2022-05-27 Richard Biener <rguenther@suse.de>
663 PR tree-optimization/105726
664 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
665 Constrain array-of-flexarray case more.
667 2022-06-02 Richard Biener <rguenther@suse.de>
669 Backported from master:
670 2022-05-24 Richard Biener <rguenther@suse.de>
673 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
675 (extract_bit_field_1): Pass down the mode of op0 to
676 extract_bit_field_as_subreg.
678 2022-06-02 Martin Sebor <msebor@redhat.com>
680 Backported from master:
681 2022-05-24 Martin Sebor <msebor@redhat.com>
682 Richard Biener <rguenther@suse.de>
685 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
686 (get_origin_and_offset_r): Remove null handling. Handle variable array
688 (get_origin_and_offset): Handle null argument here. Simplify.
689 (alias_offset): Update comment.
690 * pointer-query.cc (field_at_offset): Update comment. Handle members
691 of variable-length types.
693 2022-06-02 Vineet Gupta <vineetg@rivosinc.com>
695 Backported from master:
696 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
698 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
700 (rocket_tune_info): Add default fmv_cost 8.
701 (sifive_7_tune_info): Ditto.
702 (thead_c906_tune_info): Ditto.
703 (optimize_size_tune_info): Ditto.
704 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
706 2022-05-30 Martin Jambor <mjambor@suse.cz>
708 Backported from master:
709 2022-05-27 Martin Jambor <mjambor@suse.cz>
712 * ipa-prop.cc (propagate_controlled_uses): Check type of the
713 constant before adding a LOAD reference.
715 2022-05-30 Jakub Jelinek <jakub@redhat.com>
717 Backported from master:
718 2022-05-27 Jakub Jelinek <jakub@redhat.com>
721 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
722 to (X &) z + w if -fsanitize=null during GENERIC folding.
724 2022-05-30 Jakub Jelinek <jakub@redhat.com>
726 Backported from master:
727 2022-05-25 Jakub Jelinek <jakub@redhat.com>
730 * asan.cc (has_stmt_been_instrumented_p): For assignments which
731 are both stores and loads, return true only if both destination
732 and source have been instrumented.
734 2022-05-30 Jakub Jelinek <jakub@redhat.com>
736 Backported from master:
737 2022-05-19 Jakub Jelinek <jakub@redhat.com>
740 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
741 doesn't have pointer or reference type.
743 2022-05-26 Simon Cook <simon.cook@embecosm.com>
745 Backported from master:
746 2022-05-25 Simon Cook <simon.cook@embecosm.com>
748 * config/riscv/arch-canonicalize: Only add mafd extension if
751 2022-05-26 Kito Cheng <kito.cheng@sifive.com>
753 Backported from master:
754 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
756 * config/riscv/arch-canonicalize: Handle g correctly.
758 2022-05-24 Qing Zhao <qing.zhao@oracle.com>
760 Backported from master:
761 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
764 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
765 as a generic MMX mode instead of V4HImode.
766 (zero_all_mm_registers): Use SET to zero instead of MOV for
767 zeroing scratch registers.
768 (ix86_zero_call_used_regs): Likewise.
770 2022-05-24 Bruno Haible <bruno@clisp.org>
772 Backported from master:
773 2022-05-24 Bruno Haible <bruno@clisp.org>
776 * doc/install.texi (Configuration): Add more details about --with-zstd.
777 Document --with-zstd-include and --with-zstd-lib
779 2022-05-24 Martin Liska <mliska@suse.cz>
781 Backported from master:
782 2022-05-11 Martin Liska <mliska@suse.cz>
785 * doc/install.texi: Document the configure option --with-zstd.
787 2022-05-20 Peter Bergner <bergner@linux.ibm.com>
789 Backported from master:
790 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
791 Segher Boessenkool <segher@kernel.crashing.org>
794 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
795 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
796 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
797 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
798 Update other operands accordingly.
800 2022-05-20 Richard Biener <rguenther@suse.de>
802 Backported from master:
803 2022-05-04 Richard Biener <rguenther@suse.de>
805 PR tree-optimization/103116
806 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
807 case we need peeling for gaps even though GROUP_GAP is zero.
809 2022-05-19 Richard Biener <rguenther@suse.de>
811 Backported from master:
812 2022-05-17 Richard Biener <rguenther@suse.de>
814 PR tree-optimization/105618
815 * tree-ssa-sink.cc (statement_sink_location): For virtual
816 PHI uses ignore those defining the used virtual operand.
818 2022-05-19 Richard Biener <rguenther@suse.de>
820 Backported from master:
821 2022-05-12 Richard Biener <rguenther@suse.de>
823 PR rtl-optimization/105577
824 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
825 edges before running fast DCE via df_analyze.
827 2022-05-19 Richard Biener <rguenther@suse.de>
829 Backported from master:
830 2022-05-12 Richard Biener <rguenther@suse.de>
832 PR tree-optimization/105562
833 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
834 against all CLOBBER defs if there's not an obvious must-alias
835 and we are not doing redundant store elimination.
836 (vn_walk_cb_data::redundant_store_removal_p): New field.
837 (vn_reference_lookup_pieces): Initialize it.
838 (vn_reference_lookup): Add argument to specify if we are
839 doing redundant store removal.
840 (eliminate_dom_walker::eliminate_stmt): Specify we do.
841 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
843 2022-05-19 Richard Biener <rguenther@suse.de>
845 Backported from master:
846 2022-05-11 Richard Biener <rguenther@suse.de>
848 PR rtl-optimization/105559
849 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
852 2022-05-19 Richard Biener <rguenther@suse.de>
854 Backported from master:
855 2022-05-10 Richard Biener <rguenther@suse.de>
858 * toplev.cc (process_options): Move flag_var_tracking
860 * opts.cc (finish_options): ... here.
862 2022-05-19 Richard Biener <rguenther@suse.de>
864 Backported from master:
865 2022-05-10 Richard Biener <rguenther@suse.de>
867 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
868 API with !GENERATOR_FILE.
869 * opts.cc (global_options): Poison.
870 (global_options_set): Likewise.
871 (finish_options): Refer to options via opts.
873 2022-05-19 Richard Biener <rguenther@suse.de>
875 Backported from master:
876 2022-04-29 Richard Biener <rguenther@suse.de>
878 PR tree-optimization/105431
879 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
880 (powi_as_mults): Use absu_hwi.
881 (gimple_expand_builtin_powi): Remove now pointless n != -n
884 2022-05-18 Andrew MacLeod <amacleod@redhat.com>
886 PR tree-optimization/105458
887 * value-relation.cc (path_oracle::register_relation): Merge, then check
890 2022-05-16 Sebastian Pop <spop@amazon.com>
893 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
895 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
896 memmodel_from_int and handle MEMMODEL_SYNC_*.
897 (DEF0): Add __aarch64_*_sync functions.
899 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
901 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
902 instead of a bitwise negation.
903 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
905 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
907 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
908 is the same on the LHS and RHS before rewriting one with the model
911 2022-05-13 Alexandre Oliva <oliva@adacore.com>
913 Backported from master:
914 2022-05-13 Alexandre Oliva <oliva@adacore.com>
916 PR rtl-optimization/105455
917 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
918 probabilities for newly-conditional edges.
920 2022-05-11 Martin Jambor <mjambor@suse.cz>
922 Backported from master:
923 2022-04-29 Martin Jambor <mjambor@suse.cz>
926 * cgraph.cc (cgraph_node::remove): Release body of the node this
927 is clone_of if appropriate.
929 2022-05-10 Jakub Jelinek <jakub@redhat.com>
931 Backported from master:
932 2022-05-10 Jakub Jelinek <jakub@redhat.com>
934 PR tree-optimization/105528
935 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
936 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
938 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
941 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
942 true only for 8-byte vector modes.
944 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
946 Backported from master:
947 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
950 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
951 and -mpower10-fusion options for inlining purposes.
953 2022-05-06 Richard Biener <rguenther@suse.de>
955 Backported from master:
956 2022-04-29 Richard Biener <rguenther@suse.de>
959 * tree.cc (build_real): Special case dconst* arguments
960 for decimal floating point types.
962 2022-05-06 Richard Biener <rguenther@suse.de>
964 Backported from master:
965 2022-05-05 Richard Biener <rguenther@suse.de>
967 PR tree-optimization/105484
968 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
969 whether the CFG changed.
970 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
972 2022-05-06 Richard Biener <rguenther@suse.de>
974 Backported from master:
975 2022-05-03 Richard Biener <rguenther@suse.de>
978 * opts.cc (finish_options): Match the condition to
979 disable flag_var_tracking to that of process_options.
981 2022-05-06 Richard Biener <rguenther@suse.de>
983 Backported from master:
984 2022-05-03 Richard Biener <rguenther@suse.de>
986 * opts.cc: #undef OPTIONS_SET_P.
987 (finish_options): Use opts_set instead of OPTIONS_SET_P.
989 2022-05-06 Richard Biener <rguenther@suse.de>
991 Backported from master:
992 2022-05-02 Richard Biener <rguenther@suse.de>
994 PR tree-optimization/105437
995 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
996 case where last_stmt alters control flow.
998 2022-05-06 Richard Biener <rguenther@suse.de>
1000 Backported from master:
1001 2022-05-03 Richard Biener <rguenther@suse.de>
1003 PR tree-optimization/105394
1004 * tree-vect-generic.cc (expand_vector_condition): Adjust
1005 comp_width for non-integer mode masks as well.
1007 2022-05-06 Release Manager
1009 * GCC 12.1.0 released.
1011 2022-05-02 Jakub Jelinek <jakub@redhat.com>
1013 Backported from master:
1014 2022-05-02 Jakub Jelinek <jakub@redhat.com>
1016 * system.h: Include initializer_list.
1018 2022-04-28 Jakub Jelinek <jakub@redhat.com>
1021 * cgraph.cc (cgraph_node::verify_node): Don't verify
1022 semantic_interposition flag against
1023 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
1025 2022-04-28 Jakub Jelinek <jakub@redhat.com>
1028 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
1029 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
1032 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
1034 * doc/install.texi (Configuration): Remove misleading text
1035 around LE PowerPC Linux multilibs.
1037 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1040 * doc/install.texi (Tools/packages necessary for building GCC)
1041 (GDC): Document libphobos requirement.
1042 (Host/target specific installation notes for GCC, *-*-solaris2*):
1043 Document libphobos and GDC specifics.
1045 2022-04-28 Richard Biener <rguenther@suse.de>
1047 PR tree-optimization/105219
1048 * tree-vect-loop.cc (vect_transform_loop): Disable
1049 special code narrowing the vectorized epilogue max
1050 iterations when peeling for alignment or gaps was in effect.
1052 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
1054 * config/loongarch/loongarch.cc
1055 (loongarch_flatten_aggregate_field): Ignore empty fields for
1058 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
1060 * config/loongarch/loongarch.md: Add fdiv define_expand template,
1061 then generate floating-point division and floating-point reciprocal
1064 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
1066 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
1067 to PLV instruction templates.
1069 2022-04-27 Richard Biener <rguenther@suse.de>
1071 PR middle-end/104492
1072 * gimple-ssa-warn-access.cc
1073 (pass_waccess::warn_invalid_pointer): Exclude equality compare
1074 diagnostics for all kind of invalidations.
1075 (pass_waccess::check_dangling_uses): Fix post-dominator query.
1076 (pass_waccess::check_pointer_uses): Likewise.
1078 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
1081 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
1083 * config/s390/s390.cc (s390_single_field_struct_p): New function.
1084 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
1085 (s390_function_arg_float): Likewise.
1087 2022-04-27 Jakub Jelinek <jakub@redhat.com>
1090 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
1091 where offset is bigger than off but smaller than m_prev_offset + 32
1092 bits by pushing one or more 0 bytes. Sink the
1093 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
1094 all cases to the end of the function.
1096 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
1099 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
1102 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
1104 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
1105 data-share memory exhausted" error more verbose.
1107 2022-04-26 Martin Liska <mliska@suse.cz>
1110 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
1111 (run_gcc): Parse OPT_fdiagnostics_urls_.
1112 (main): Initialize global_dc.
1114 2022-04-26 Jakub Jelinek <jakub@redhat.com>
1116 PR rtl-optimization/105314
1117 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
1118 operand is equal to if_info->x, instead use the non-zero operand
1119 as one of the operands of AND with if_info->x as target.
1121 2022-04-26 Jakub Jelinek <jakub@redhat.com>
1123 PR tree-optimization/105374
1124 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
1125 !fold_convertible_p rather than assuming fold_convert must succeed.
1127 2022-04-26 Jakub Jelinek <jakub@redhat.com>
1130 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
1131 el_mode == DFmode ? double_type_node : float_type_node instead of
1132 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
1134 2022-04-25 David Malcolm <dmalcolm@redhat.com>
1137 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
1138 the location of new_stmt in all places that don't already set it,
1139 whether explicitly, or via a call to gsi_replace.
1141 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
1143 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
1145 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
1147 PR tree-optimization/105276
1148 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
1149 existing global range with calculated value.
1151 2022-04-25 Richard Biener <rguenther@suse.de>
1153 PR tree-optimization/105368
1154 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
1156 2022-04-25 Richard Biener <rguenther@suse.de>
1158 PR tree-optimization/100810
1159 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
1160 (find_ssa_undef): New function.
1161 (add_candidate_1): Avoid adding derived candidates with
1162 undefined SSA names and mark the original ones.
1163 (determine_group_iv_cost_generic): Reject rewriting
1164 uses with a different IV when that involves undefined SSA names.
1166 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
1169 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
1170 bsd_libc_has_function.
1171 * targhooks.cc (bsd_libc_has_function): New function.
1172 Expand the supported math functions to inclue C99 libm.
1173 * targhooks.h (bsd_libc_has_function): New Prototype.
1175 2022-04-25 Richard Biener <rguenther@suse.de>
1177 PR rtl-optimization/105231
1178 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
1179 with landing pad > 0 is from i3. Put any REG_EH_REGION note
1180 on i3 or drop it if the insn can not trap.
1181 (try_combine): Ensure that we can merge REG_EH_REGION notes
1182 with non-call exceptions. Ensure we are not splitting a
1183 trapping part of an insn with non-call exceptions when there
1184 is any REG_EH_REGION note to preserve.
1186 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
1189 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
1190 Add parentheses for parameters and djust format.
1191 (_mm512_mask_scalef_round_pd): Ditto.
1192 (_mm512_maskz_scalef_round_pd): Ditto.
1193 (_mm512_scalef_round_ps): Ditto.
1194 (_mm512_mask_scalef_round_ps): Ditto.
1195 (_mm512_maskz_scalef_round_ps): Ditto.
1196 (_mm_scalef_round_sd): Use _mm_undefined_pd.
1197 (_mm_scalef_round_ss): Use _mm_undefined_ps.
1198 (_mm_mask_scalef_round_sd): New macro.
1199 (_mm_mask_scalef_round_ss): Ditto.
1200 (_mm_maskz_scalef_round_sd): Ditto.
1201 (_mm_maskz_scalef_round_ss): Ditto.
1203 2022-04-23 Jakub Jelinek <jakub@redhat.com>
1206 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
1207 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
1210 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
1213 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
1214 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
1215 (pack<mode>_hard for FMOVE128): ... this...
1216 (pack<mode>_soft for FMOVE128): ... and this.
1218 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
1220 * doc/extend.texi: Correct "This" to "These".
1222 2022-04-22 Jakub Jelinek <jakub@redhat.com>
1224 PR rtl-optimization/105333
1225 * rtlanal.cc (replace_rtx): Use simplify_subreg or
1226 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
1229 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
1233 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
1234 the "Z" alternatives in {l,st}{f,xs}iwzx.
1235 (zero_extendhi<mode>2 for EXTHI): Ditto.
1236 (zero_extendsi<mode>2 for EXTSI): Ditto.
1237 (*movsi_internal1): Ditto.
1238 (*mov<mode>_internal1 for QHI): Ditto.
1239 (movsd_hardfloat): Ditto.
1241 2022-04-21 Martin Liska <mliska@suse.cz>
1243 * configure.ac: Enable compressed debug sections for mold
1245 * configure: Regenerate.
1247 2022-04-21 Jakub Jelinek <jakub@redhat.com>
1250 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
1253 2022-04-20 Richard Biener <rguenther@suse.de>
1255 PR tree-optimization/104912
1256 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
1257 the cost model check to a separate BB to make sure it is
1258 checked first and not combined with other version checks.
1260 2022-04-20 Richard Biener <rguenther@suse.de>
1262 PR tree-optimization/105312
1263 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
1264 VCOND and VCONDU for EQ and NE.
1266 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
1269 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
1270 poly_offset_int to avoid overflow.
1271 (modref_access_node::update2): likewise.
1273 2022-04-20 Jakub Jelinek <jakub@redhat.com>
1276 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
1277 to opt_for_fn (decl, flag_semantic_interposition).
1278 * cgraphclones.cc (cgraph_node::create_clone): Copy over
1279 semantic_interposition flag.
1281 2022-04-19 Sergei Trofimovich <siarheit@google.com>
1283 PR gcov-profile/105282
1284 * value-prof.cc (stream_out_histogram_value): Allow negative counts
1285 on HIST_TYPE_INDIR_CALL.
1287 2022-04-19 Jakub Jelinek <jakub@redhat.com>
1290 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
1291 use gen_raw_REG instead of gen_rtx_REG and copy over also
1292 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
1294 2022-04-19 Richard Biener <rguenther@suse.de>
1296 PR tree-optimization/104010
1297 PR tree-optimization/103941
1298 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
1299 we run into stmts in patterns continue walking those
1300 for uses outside of the vectorized region instead of
1301 marking the lane live.
1303 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
1305 * doc/install.texi <CRIS>: Remove references to removed websites and
1306 adjust for cris-*-elf being the only remaining toolchain.
1308 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
1310 * doc/invoke.texi <CRIS>: Remove references to options for removed
1311 subtarget cris-axis-linux-gnu and tweak wording accordingly.
1313 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
1315 * doc/install.texi (Specific): Adjust mingw-w64 download link.
1317 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
1319 * config/i386/smmintrin.h: Correct target pragma from sse4.1
1320 and sse4.2 to crc32 for crc32 intrinsics.
1322 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
1325 * ctfc.cc (ctf_dvd_ignore_insert): New function.
1326 (ctf_dvd_ignore_lookup): Likewise.
1327 (ctf_add_variable): Keep track of non-defining decl DIEs.
1328 (new_ctf_container): Initialize the new hash-table.
1329 (ctfc_delete_container): Empty hash-table.
1330 * ctfc.h (struct ctf_container): Add new hash-table.
1331 (ctf_dvd_ignore_lookup): New declaration.
1332 (ctf_add_variable): Add additional argument.
1333 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
1334 record for non-defining decl for which a defining decl exists
1336 (ctf_preprocess): Defer updating the number of global objts
1338 (output_ctf_header): Use ctfc_vars_list_count as some CTF
1339 variables may not make it to the final output.
1340 (output_ctf_vars): Likewise.
1341 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
1342 if this is known to be a non-defining decl DIE.
1344 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
1346 * ctfc.h (struct ctf_container): Introduce a new member.
1347 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
1350 2022-04-14 Jakub Jelinek <jakub@redhat.com>
1353 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
1354 or rotates by VOIDmode constant integer shift count use word_mode
1355 for the operand if int_mode is narrower than word.
1357 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
1359 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
1360 (s390_get_unit_mask): Likewise.
1361 (s390_is_fpd): Likewise.
1362 (s390_is_fxd): Likewise.
1363 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
1364 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
1366 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
1368 * config/s390/3931.md: New file.
1370 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
1372 PR tree-optimization/105254
1373 * config/aarch64/aarch64.cc
1374 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
1375 loop_vec_info as argument. Restrict the unroll factor to values
1377 (aarch64_vector_costs::finish_cost): Update call accordingly.
1379 2022-04-13 Richard Biener <rguenther@suse.de>
1381 PR tree-optimization/105263
1382 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
1383 negates in multiplication chains with DFP.
1385 2022-04-13 Jakub Jelinek <jakub@redhat.com>
1387 PR middle-end/105253
1388 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
1389 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
1390 comparisons or tree_nop_conversion_p checks.
1392 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
1395 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
1396 Add missing set to target_val at pause label.
1398 2022-04-13 Jakub Jelinek <jakub@redhat.com>
1401 * attribs.cc (decl_attributes): Don't set
1402 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
1405 2022-04-13 Richard Biener <rguenther@suse.de>
1407 PR tree-optimization/105250
1408 * fold-const.cc (fold_convertible_p): Revert
1409 r12-7979-geaaf77dd85c333, instead check for size equality
1410 of the vector types involved.
1412 2022-04-13 Richard Biener <rguenther@suse.de>
1415 2022-04-13 Richard Biener <rguenther@suse.de>
1417 PR tree-optimization/104912
1418 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
1419 the cost model check to a separate BB to make sure it is
1420 checked first and not combined with other version checks.
1422 2022-04-13 Richard Biener <rguenther@suse.de>
1424 PR tree-optimization/104912
1425 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
1426 the cost model check to a separate BB to make sure it is
1427 checked first and not combined with other version checks.
1429 2022-04-13 Jakub Jelinek <jakub@redhat.com>
1431 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
1433 2022-04-12 Antoni Boucher <bouanto@zoho.com>
1436 * reginfo.cc: New functions (clear_global_regs_cache,
1437 reginfo_cc_finalize) to avoid an issue where compiling the same
1438 code multiple times gives an error about assigning the same
1439 register to 2 global variables.
1440 * rtl.h: New function (reginfo_cc_finalize).
1441 * toplev.cc: Call it.
1443 2022-04-12 Antoni Boucher <bouanto@zoho.com>
1446 * toplev.cc: Call the new function tree_cc_finalize in
1448 * tree.cc: New functions (clear_nonstandard_integer_type_cache
1449 and tree_cc_finalize) to clear the cache of non-standard integer
1450 types to avoid having issues with some optimizations of
1451 bitcast where the SSA_NAME will have a size of a cached
1452 integer type that should have been invalidated, causing a
1453 comparison of integer constant to fail.
1454 * tree.h: New function (tree_cc_finalize).
1456 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
1459 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
1460 * config/nvptx/nvptx.opt (misa): Adjust comment.
1462 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
1465 2022-03-03 Tom de Vries <tdevries@suse.de>
1467 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
1469 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
1472 2022-03-31 Tom de Vries <tdevries@suse.de>
1474 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
1476 2022-04-12 Richard Biener <rguenther@suse.de>
1479 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
1480 include local escaped memory as obviously necessary stores.
1482 2022-04-12 Richard Biener <rguenther@suse.de>
1484 PR tree-optimization/105235
1485 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
1486 return whether the CFG changed.
1487 (execute_cse_sincos_1): Adjust.
1489 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
1492 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
1493 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
1494 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
1495 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
1496 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
1497 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
1498 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
1500 2022-04-12 Richard Biener <rguenther@suse.de>
1502 PR tree-optimization/105232
1503 * tree.cc (component_ref_size): Bail out for too large
1504 or non-constant sizes.
1506 2022-04-12 Richard Biener <rguenther@suse.de>
1508 PR tree-optimization/105226
1509 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
1510 we can split the exit of an outer loop we choose to version.
1512 2022-04-12 Jakub Jelinek <jakub@redhat.com>
1514 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
1515 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
1516 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
1517 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
1518 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
1520 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
1522 2022-04-12 Jakub Jelinek <jakub@redhat.com>
1525 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
1526 do_pending_stack_adjust.
1528 2022-04-12 Jakub Jelinek <jakub@redhat.com>
1530 PR rtl-optimization/105211
1531 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
1532 fails for TREE_TYPE (arg), retry it with
1533 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
1534 fails, emit call normally.
1536 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
1538 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
1539 * config.gcc: Add z16 as march/mtune switch.
1540 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
1541 Recognize z16 with -march=native.
1542 * config/s390/s390-opts.h (enum processor_type): Rename
1543 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
1544 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
1545 (PROCESSOR_3931_Z16): ... throughout the file.
1546 (s390_processor processor_table): Add z16 as cpu string.
1547 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
1549 (TARGET_CPU_ARCH14): Rename to ...
1550 (TARGET_CPU_Z16): ... this.
1551 (TARGET_CPU_ARCH14_P): Rename to ...
1552 (TARGET_CPU_Z16_P): ... this.
1553 (TARGET_ARCH14): Rename to ...
1554 (TARGET_Z16): ... this.
1555 (TARGET_ARCH14_P): Rename to ...
1556 (TARGET_Z16_P): ... this.
1557 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
1558 check TARGET_Z16 instead of TARGET_ARCH14.
1559 * config/s390/s390.opt: Add z16 to processor_type.
1560 * doc/invoke.texi: Document z16 and arch14.
1562 2022-04-12 chenglulu <chenglulu@loongson.cn>
1564 * config/loongarch/loongarch.cc: Fix bug for
1565 tmpdir-g++.dg-struct-layout-1/t033.
1567 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
1570 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
1571 to longcall functions.
1573 2022-04-11 Jason Merrill <jason@redhat.com>
1575 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
1577 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
1581 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
1583 2022-04-11 Jakub Jelinek <jakub@redhat.com>
1585 PR tree-optimization/105218
1586 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
1587 more than one predecessor or phi's bb more than 2 predecessors,
1588 reset phi result uses instead of adding a debug temp.
1590 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
1593 * config.gcc: Pass -misa-spec to arch-canonicalize and
1595 * config/riscv/arch-canonicalize: Adding -misa-spec option.
1596 (SUPPORTED_ISA_SPEC): New.
1597 (arch_canonicalize): New argument `isa_spec`.
1598 Handle multiple ISA spec versions.
1599 * config/riscv/multilib-generator: Adding -misa-spec option.
1601 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
1603 * config/riscv/arch-canonicalize: Add TODO item.
1604 (IMPLIED_EXT): Sync.
1605 (arch_canonicalize): Checking until no change.
1607 2022-04-11 Tamar Christina <tamar.christina@arm.com>
1610 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
1613 2022-04-11 Jason Merrill <jason@redhat.com>
1616 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
1619 2022-04-11 Jakub Jelinek <jakub@redhat.com>
1621 PR tree-optimization/104639
1622 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
1623 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
1626 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
1628 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
1629 sign bit of the source ends up in CC.
1631 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
1634 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
1637 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
1639 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
1640 nondeterministic and side_effects flags.
1642 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
1645 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
1646 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
1647 (TARGET_CPU_MASK): Likewise.
1648 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
1649 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
1650 (aarch64_get_arch): Likewise.
1651 (aarch64_override_options): Use TARGET_CPU_NBITS.
1653 2022-04-08 Richard Biener <rguenther@suse.de>
1655 PR tree-optimization/105198
1656 * tree-predcom.cc (find_looparound_phi): Check whether
1657 the found memory location of the entry value is clobbered
1658 inbetween the value we want to use and loop entry.
1660 2022-04-08 Jakub Jelinek <jakub@redhat.com>
1662 PR tree-optimization/105189
1663 * fold-const.cc (make_range_step): Fix up handling of
1664 (unsigned) x +[low, -] ranges for signed x if low fits into
1667 2022-04-08 Richard Biener <rguenther@suse.de>
1669 PR tree-optimization/105175
1670 * tree-vect-stmts.cc (vectorizable_operation): Suppress
1671 -Wvector-operation-performance if using emulated vectors.
1672 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
1673 -Wvector-operation-performance when suppressed.
1674 (expand_vector_parallel): Likewise.
1675 (expand_vector_comparison): Likewise.
1676 (expand_vector_condition): Likewise.
1677 (lower_vec_perm): Likewise.
1678 (expand_vector_conversion): Likewise.
1680 2022-04-07 Tamar Christina <tamar.christina@arm.com>
1683 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
1684 (aarch64_general_init_builtins): Move LS64 code.
1685 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
1687 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
1688 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
1690 2022-04-07 Richard Biener <rguenther@suse.de>
1691 Jan Hubicka <hubicka@ucw.cz>
1694 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
1695 ref_may_alias_global_p, ref_may_alias_global_p,
1696 stmt_may_clobber_global_p, pt_solution_includes_global): Add
1697 bool parameters indicating whether escaped locals should be
1699 * tree-ssa-structalias.cc (pt_solution_includes_global):
1700 When the new escaped_nonlocal_p flag is true also consider
1701 pt->vars_contains_escaped.
1702 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
1703 Pass down new escaped_nonlocal_p flag.
1704 (ref_may_alias_global_p): Likewise.
1705 (stmt_may_clobber_global_p): Likewise.
1706 (ref_may_alias_global_p_1): Likewise. For decls also
1707 query the escaped solution if true.
1708 (ref_may_access_global_memory_p): Remove.
1709 (modref_may_conflict): Use ref_may_alias_global_p with
1710 escaped locals considered global.
1711 (ref_maybe_used_by_stmt_p): Adjust.
1712 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
1714 * tree-ssa-dse.cc (dse_classify_store): Likewise.
1715 * trans-mem.cc (thread_private_new_memory): Likewise, but
1716 consider escaped locals global.
1717 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
1719 2022-04-07 Richard Biener <rguenther@suse.de>
1721 PR tree-optimization/105185
1722 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
1725 2022-04-07 Tamar Christina <tamar.christina@arm.com>
1728 * config/aarch64/aarch64-simd.md
1729 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
1730 (reduc_plus_scal_<mode>): ... This.
1731 (reduc_plus_scal_v4sf): Moved.
1732 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
1733 (reduc_plus_scal_v2si): ... This.
1735 2022-04-07 Jakub Jelinek <jakub@redhat.com>
1737 PR tree-optimization/102586
1738 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
1740 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
1741 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
1742 * gimple-fold.cc (clear_padding_type): Use ftype instead of
1743 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
1744 name try the lang_hooks.types.classtype_as_base langhook and
1745 if it returns non-NULL, use that instead of ftype for recursive call.
1747 2022-04-07 Jakub Jelinek <jakub@redhat.com>
1749 PR tree-optimization/105150
1750 * tree.cc (tree_builtin_call_types_compatible_p): New function.
1751 (get_call_combined_fn): Use it.
1753 2022-04-07 Richard Biener <rguenther@suse.de>
1755 PR middle-end/105165
1756 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
1759 2022-04-07 liuhongt <hongtao.liu@intel.com>
1761 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
1763 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
1765 (<code><mode>3<mask_name>): Ditto.
1766 (*<code><mode>3<mask_name>): Ditto.
1767 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
1772 2022-04-06 Jakub Jelinek <jakub@redhat.com>
1774 PR rtl-optimization/104985
1775 * combine.cc (struct undo): Add where.regno member.
1776 (do_SUBST_MODE): Rename to ...
1777 (subst_mode): ... this. Change first argument from rtx * into int,
1778 operate on regno_reg_rtx[regno] and save regno into where.regno.
1779 (SUBST_MODE): Remove.
1780 (try_combine): Use subst_mode instead of SUBST_MODE, change first
1781 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
1782 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
1783 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
1784 instead of *undo->where.r.
1785 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
1786 argument from regno_reg_rtx[whatever] to whatever.
1788 2022-04-06 Jakub Jelinek <jakub@redhat.com>
1791 * config/sh/sh.opt (mdiv=): Add Save.
1793 2022-04-06 Martin Liska <mliska@suse.cz>
1796 * common.opt: Document properly based on what it does.
1797 * gcc.cc (display_help): Unify with what we have in common.opt.
1798 * opts.cc (common_handle_option): Do not print undocumented
1801 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
1803 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
1804 cxx17_empty_base_field_p fields and set an indicator.
1805 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
1806 (mips_function_value_1): Inform psABI change about C++17 empty
1809 2022-04-06 Jakub Jelinek <jakub@redhat.com>
1811 PR tree-optimization/105150
1812 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
1813 builtin_decl_explicit here...
1814 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
1817 2022-04-06 Richard Biener <rguenther@suse.de>
1819 PR tree-optimization/105173
1820 * tree-ssa-reassoc.cc (find_insert_point): Get extra
1821 insert_before output argument and compute it.
1822 (insert_stmt_before_use): Adjust.
1823 (rewrite_expr_tree): Likewise.
1825 2022-04-06 Richard Biener <rguenther@suse.de>
1828 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
1829 out for non-pointer arguments.
1831 2022-04-06 Richard Biener <rguenther@suse.de>
1833 PR tree-optimization/105163
1834 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
1837 2022-04-06 Jakub Jelinek <jakub@redhat.com>
1839 PR tree-optimization/105150
1840 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
1841 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
1842 preferrably on builtin_decl_explicit decl rather than fndecl.
1843 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
1844 gimple_builtin_call_types_compatible_p here.
1846 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
1848 PR tree-optimization/103761
1849 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
1850 the ncopies parameter with an slp_node parameter. Calculate the
1851 number of vectors based on it and vectype. Rename lambda to
1852 group_memory_nvectors.
1853 (vectorizable_store, vectorizable_load): Update calls accordingly.
1855 2022-04-06 Martin Liska <mliska@suse.cz>
1857 * doc/invoke.texi: Document it.
1859 2022-04-06 Richard Biener <rguenther@suse.de>
1861 PR tree-optimization/105148
1862 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
1863 2 and 3 of ARRAY_REFs.
1865 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
1867 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
1868 (*andnottf3): Replace with...
1869 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
1871 2022-04-06 Richard Biener <rguenther@suse.de>
1873 PR tree-optimization/105142
1874 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
1875 basic-block parameter.
1876 (maybe_fold_or_comparisons): Likewise.
1877 * gimple-fold.cc (follow_outer_ssa_edges): New.
1878 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
1879 when an outer condition basic-block is specified.
1880 (and_comparisons_1, and_var_with_comparison,
1881 and_var_with_comparison_1, or_comparisons_1,
1882 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
1883 down the outer condition basic-block.
1884 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
1885 basic-block of the outer condition.
1887 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
1890 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
1891 comparison codes UNLT/UNLE/UNGT/UNGE.
1893 2022-04-05 David Malcolm <dmalcolm@redhat.com>
1895 * doc/extend.texi (Common Function Attributes): Document that
1896 'access' does not imply 'nonnull'.
1898 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
1901 * config/i386/mmx.md (*movv2qi_internal):
1902 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
1904 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
1906 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
1907 define_expand and turn operands 0 and 1 from REGs to MEMs.
1908 (*aarch64_cpymemdi): New pattern.
1909 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
1910 from a REG to a MEM.
1911 (*aarch64_setmemdi): New pattern.
1912 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
1913 copy_to_mode_reg on all three registers. Replace the original
1914 MEM addresses rather than creating wild reads and writes.
1915 (aarch64_expand_setmem_mops): Likewise for the size and for the
1916 destination memory and address.
1918 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
1921 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
1922 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
1923 from aarch64_simd_switcher.
1924 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
1926 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
1927 (register_tuple_type): Add more asserts. Expect the alignment
1928 of the structure to be subject to flag_pack_struct and
1929 maximum_field_alignment. Set aarch64_simd_tuple_modes.
1930 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
1931 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
1932 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
1933 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
1934 while calling aarch64_init_simd_builtins.
1935 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
1936 (sve_switcher::~sve_switcher): Remove code now performed by
1937 aarch64_simd_switcher.
1939 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
1942 * config/aarch64/aarch64-sve-builtins.cc
1943 (function_resolver::infer_vector_or_tuple_type): Use error_n
1944 for "%d vectors" messages.
1946 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
1948 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
1949 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
1952 2022-04-05 Richard Biener <rguenther@suse.de>
1955 * passes.def (pass_walloca): Move early instance into
1956 pass_build_ssa_passes to make SSA form available.
1958 2022-04-05 liuhongt <hongtao.liu@intel.com>
1961 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
1963 (ix86_reorg): Call ix86_split_stlf_stall_load.
1964 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
1967 2022-04-05 Alexandre Oliva <oliva@adacore.com>
1969 * targhooks.cc (default_zero_call_used_regs): Attempt to group
1970 regs that the target refuses to use in their natural modes.
1971 (zcur_select_mode_rtx): New.
1972 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
1973 (hard_regno_max_nregs): Define.
1974 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
1976 2022-04-04 Alex Coplan <alex.coplan@arm.com>
1978 * doc/match-and-simplify.texi: Fix typos.
1980 2022-04-04 Jakub Jelinek <jakub@redhat.com>
1983 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
1984 only if configured with --enable-maintainer-mode, otherwise compare
1985 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
1986 if they differ, emit a message and fail.
1988 2022-04-04 Jakub Jelinek <jakub@redhat.com>
1991 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
1992 * config/aarch64/aarch64-tune.md: Regenerated.
1994 2022-04-04 Richard Biener <rguenther@suse.de>
1996 PR tree-optimization/105132
1997 * tree-vect-stmts.cc (vectorizable_operation): Check that
1998 the input vectors have the same number of elements.
2000 2022-04-04 Richard Biener <rguenther@suse.de>
2002 PR middle-end/105140
2003 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
2005 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
2008 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
2009 (delay slot descripts): Use different delay slot description when
2010 the insn as the "bbi" attribute.
2011 (bbi, bbin patterns): Set the bbi attribute to yes.
2013 2022-04-03 Jakub Jelinek <jakub@redhat.com>
2016 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
2017 using word as target for expand_simple_binop when doing ASHIFT and
2020 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
2022 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
2023 NULL before dereferencing it.
2025 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
2027 * config/i386/i386.cc (zero_all_st_registers): Return the value of
2029 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
2030 the return value of zero_all_st_registers.
2031 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
2032 * function.cc (gen_call_used_regs_seq): Add an assertion.
2033 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
2035 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
2038 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
2039 fields, and inform if it causes a psABI change.
2041 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
2044 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
2045 zero-width bit-fields and set up an indicator.
2046 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
2047 (mips_function_value_1): Diagnose when the presense of a C++
2048 zero-width bit-field changes function returning in GCC 12.
2050 2022-04-01 Jakub Jelinek <jakub@redhat.com>
2052 PR tree-optimization/104645
2053 * tree-ssa-phiopt.cc (value_replacement): If assign has
2054 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
2055 statement with constant evaluation.
2057 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
2059 * config/mips/mips.cc (mips_expand_prologue):
2060 IPL is 8bit for MCU ASE.
2062 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
2065 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
2068 (SET_FPSCR_RN): Likewise.
2069 (SET_FPSCR_DRN): Mark nosoft and no32bit.
2071 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
2073 * doc/options.texi (Option file format): Clarifications around
2074 option definition records' help texts.
2076 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
2078 * optc-gen.awk <END>: Fix "Multiple different help strings" error
2081 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
2083 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
2084 determine_suggested_unroll_factor and m_has_avg.
2085 (determine_suggested_unroll_factor): New function.
2086 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
2087 to set m_nosve_pattern.
2088 (aarch64_vector_costs::finish_costs): Use
2089 determine_suggested_unroll_factor.
2090 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
2091 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
2093 2022-03-31 Martin Jambor <mjambor@suse.cz>
2096 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
2097 (ipa_get_jf_ancestor_keep_null): New function.
2098 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
2100 (compute_complex_assign_jump_func): Pass false to keep_null
2101 parameter of ipa_set_ancestor_jf.
2102 (compute_complex_ancestor_jump_func): Pass true to keep_null
2103 parameter of ipa_set_ancestor_jf.
2104 (update_jump_functions_after_inlining): Carry over keep_null from the
2105 original ancestor jump-function or merge them.
2106 (ipa_write_jump_function): Stream keep_null flag.
2107 (ipa_read_jump_function): Likewise.
2108 (ipa_print_node_jump_functions_for_edge): Print the new flag.
2109 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
2110 member function known_nonzero_p.
2111 (ipcp_bits_lattice::known_nonzero_p): New.
2112 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
2114 (ipcp_bits_lattice::meet_with): Likewise.
2115 (propagate_bits_across_jump_function): Simplify. Pass true in
2116 drop_all_ones when it is necessary.
2117 (propagate_aggs_across_jump_function): Take care of keep_null
2119 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
2122 2022-03-31 Martin Jambor <mjambor@suse.cz>
2125 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
2126 which do not fit the known value_range.
2128 2022-03-31 Martin Jambor <mjambor@suse.cz>
2131 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
2132 always when an ADDR_EXPR constant is known to reach a load because
2133 of inlining, not just when removing an ADDR reference.
2135 2022-03-31 Richard Biener <rguenther@suse.de>
2137 PR tree-optimization/105109
2138 * tree-ssa.cc (execute_update_addresses_taken): Suppress
2139 diagnostics on the load of the other complex component.
2141 2022-03-31 Tom de Vries <tdevries@suse.de>
2143 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
2145 2022-03-31 Richard Biener <rguenther@suse.de>
2147 PR rtl-optimization/105091
2148 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
2151 2022-03-31 Richard Biener <rguenther@suse.de>
2154 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
2157 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
2158 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
2160 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
2162 * gcov-io.cc (gcov_read_string): Reword documentation comment.
2164 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
2166 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
2168 (NEG_V4SF): Likewise.
2169 (NEG_V4SI): Likewise.
2170 (NEG_V8HI): Likewise.
2171 (NEG_V2DF): Move to [vsx] stanza.
2172 (NEG_V2DI): Likewise.
2174 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
2176 PR middle-end/105032
2177 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
2179 2022-03-30 Tom de Vries <tdevries@suse.de>
2180 Tobias Burnus <tobias@codesourcery.com>
2182 * doc/invoke.texi (march): Document __PTX_SM__.
2183 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
2184 __PTX_ISA_VERSION_MINOR__.
2186 2022-03-30 Jakub Jelinek <jakub@redhat.com>
2189 * ubsan.cc (instrument_object_size): If t is equal to inner and
2190 is a decl other than global var, punt. When emitting call to
2191 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
2193 2022-03-30 Jakub Jelinek <jakub@redhat.com>
2195 PR tree-optimization/105094
2196 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
2197 bitsize <= 0 rather than just == 0.
2199 2022-03-30 Tom de Vries <tdevries@suse.de>
2201 * doc/invoke.texi (misa, mptx): Update.
2202 (march, march-map): Add.
2204 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
2206 * opt-functions.awk (n_args): New function.
2207 (lang_enabled_by): Merge function into...
2208 * optc-gen.awk <END>: ... sole user here.
2209 Improve diagnostics.
2211 2022-03-29 Marek Polacek <polacek@redhat.com>
2212 Jakub Jelinek <jakub@redhat.com>
2214 PR middle-end/103597
2215 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
2216 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
2217 (gimplify_cond_expr): Set UNUSED_LABEL_P.
2218 * tree.h (UNUSED_LABEL_P): New.
2220 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
2222 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
2223 be any VSX register.
2225 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
2228 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
2229 zero-sized bit-fields. Detect cases where a warning may be needed.
2230 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
2231 zero-sized bit-field has caused parameter passing to change.
2233 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
2236 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
2237 bit-fields. Detect cases where a warning may be needed.
2238 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
2239 a zero-sized bit-field has caused parameter passing to change.
2241 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
2244 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
2245 ARM_PCS_AAPCS_LOCAL.
2247 2022-03-29 Tom de Vries <tdevries@suse.de>
2250 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
2251 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
2252 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
2253 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
2255 2022-03-29 Tom de Vries <tdevries@suse.de>
2257 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
2260 2022-03-29 Tom de Vries <tdevries@suse.de>
2263 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
2265 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
2267 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
2268 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
2269 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
2270 (TARGET_USE_GATHER_4PARTS): New macro.
2271 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
2272 (X86_TUNE_USE_GATHER_4PARTS): New tune
2274 2022-03-29 Tom de Vries <tdevries@suse.de>
2276 * config/nvptx/nvptx.opt (march): Add alias of misa.
2278 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2279 Lulu Cheng <chenglulu@loongson.cn>
2281 * doc/install.texi: Add LoongArch options section.
2282 * doc/invoke.texi: Add LoongArch options section.
2283 * doc/md.texi: Add LoongArch options section.
2285 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2286 Lulu Cheng <chenglulu@loongson.cn>
2288 * config/loongarch/loongarch-c.cc
2290 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2291 Lulu Cheng <chenglulu@loongson.cn>
2293 * config/loongarch/larchintrin.h: New file.
2294 * config/loongarch/loongarch-builtins.cc: New file.
2296 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2297 Lulu Cheng <chenglulu@loongson.cn>
2299 * config/host-linux.cc: Add LoongArch support.
2300 * config/loongarch/loongarch-protos.h: New file.
2301 * config/loongarch/loongarch-tune.h: Likewise.
2302 * config/loongarch/loongarch.cc: Likewise.
2303 * config/loongarch/loongarch.h: Likewise.
2305 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2306 Lulu Cheng <chenglulu@loongson.cn>
2308 * config/loongarch/constraints.md: New file.
2309 * config/loongarch/generic.md: New file.
2310 * config/loongarch/la464.md: New file.
2311 * config/loongarch/loongarch-ftypes.def: New file.
2312 * config/loongarch/loongarch-modes.def: New file.
2313 * config/loongarch/loongarch.md: New file.
2314 * config/loongarch/predicates.md: New file.
2315 * config/loongarch/sync.md: New file.
2317 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2318 Lulu Cheng <chenglulu@loongson.cn>
2320 * configure: Regenerate file.
2322 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2323 Lulu Cheng <chenglulu@loongson.cn>
2325 * common/config/loongarch/loongarch-common.cc: New file.
2326 * config/loongarch/genopts/genstr.sh: New file.
2327 * config/loongarch/genopts/loongarch-strings: New file.
2328 * config/loongarch/genopts/loongarch.opt.in: New file.
2329 * config/loongarch/loongarch-str.h: New file.
2330 * config/loongarch/gnu-user.h: New file.
2331 * config/loongarch/linux.h: New file.
2332 * config/loongarch/loongarch-cpu.cc: New file.
2333 * config/loongarch/loongarch-cpu.h: New file.
2334 * config/loongarch/loongarch-def.c: New file.
2335 * config/loongarch/loongarch-def.h: New file.
2336 * config/loongarch/loongarch-driver.cc: New file.
2337 * config/loongarch/loongarch-driver.h: New file.
2338 * config/loongarch/loongarch-opts.cc: New file.
2339 * config/loongarch/loongarch-opts.h: New file.
2340 * config/loongarch/loongarch.opt: New file.
2341 * config/loongarch/t-linux: New file.
2342 * config/loongarch/t-loongarch: New file.
2343 * config.gcc: Add LoongArch support.
2344 * configure.ac: Add LoongArch support.
2346 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
2348 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
2351 2022-03-29 Richard Biener <rguenther@suse.de>
2353 PR tree-optimization/105080
2354 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
2357 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
2359 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
2360 (output_ctf_vars): Likewise.
2362 2022-03-28 Jason Merrill <jason@redhat.com>
2365 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
2367 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
2370 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
2373 2022-03-28 Tom de Vries <tdevries@suse.de>
2376 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
2377 * config/nvptx/nvptx-gen.opt: Regenerate.
2378 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
2379 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
2382 2022-03-28 David Malcolm <dmalcolm@redhat.com>
2385 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
2386 to loads then stores, set the location of the new load stmt.
2388 2022-03-28 Richard Biener <rguenther@suse.de>
2390 PR tree-optimization/105070
2391 * tree-switch-conversion.h
2392 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
2394 * tree-switch-conversion.cc
2395 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
2397 (bit_test_cluster::emit): Annotate all generated expressions
2400 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
2402 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
2404 2022-03-28 liuhongt <hongtao.liu@intel.com>
2407 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
2408 alternative 4 from sse4_noavx to noavx.
2410 2022-03-28 Jakub Jelinek <jakub@redhat.com>
2412 PR tree-optimization/105056
2413 * tree-predcom.cc (component::component): Initialize also comp_step.
2415 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
2418 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
2421 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
2423 PR middle-end/104885
2424 * calls.cc (mark_stack_region_used): Check that the region
2425 is within the allocated size of stack_usage_map.
2427 2022-03-26 Jakub Jelinek <jakub@redhat.com>
2429 PR rtl-optimization/103775
2430 * recog.cc (check_invalid_inc_dec): New function.
2431 (insn_invalid_p): Return 1 if REG_INC operand overlaps
2434 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
2437 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
2438 (aes<aesklvariant>u8): Likewise.
2440 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
2443 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
2444 Replace "Yv" with "x".
2445 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
2446 (ssse3_psign<mode>3): Likewise.
2448 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
2450 * reload.cc (find_reloads): Align comment with code where
2451 considering the intersection of register classes then tweaking the
2452 regclass for the current alternative or rejecting it.
2454 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
2458 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
2460 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
2461 (mve_vec_unpack<US>_hi_<mode>): Delete.
2462 (@mve_vec_pack_trunc_lo_<mode>): Delete.
2463 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
2464 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
2466 (vec_unpack<US>_lo_<mode>): Likewise.
2467 (vec_pack_trunc_<mode>): Rename from
2468 neon_quad_vec_pack_trunc_<mode>.
2469 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
2470 (vec_unpack<US>_lo_<mode>): Delete.
2471 (vec_pack_trunc_<mode>): Delete.
2473 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
2475 PR middle-end/104971
2476 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
2477 regs to clear remove_p flag.
2479 2022-03-25 Richard Biener <rguenther@suse.de>
2481 PR tree-optimization/105053
2482 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
2483 the correct live-out stmt for a reduction chain.
2485 2022-03-25 Richard Biener <rguenther@suse.de>
2487 PR middle-end/105049
2488 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
2489 CONSTRUCTOR first elements.
2491 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
2494 * doc/invoke.texi (Static Analyzer Options): Move
2495 @ignore block after @gccoptlist's '}' for 'make pdf'.
2497 2022-03-25 David Malcolm <dmalcolm@redhat.com>
2500 * doc/invoke.texi (Static Analyzer Options): Add
2501 -fdump-analyzer-untracked.
2503 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
2506 * doc/invoke.texi: Document that enabling taint analyzer
2507 checker disables some warnings from `-fanalyzer`.
2509 2022-03-24 Alexandre Oliva <oliva@adacore.com>
2512 * gimple-harden-conditionals.cc (detach_value): Keep temps
2515 2022-03-24 Alexandre Oliva <oliva@adacore.com>
2517 PR middle-end/104975
2518 * gimple-harden-conditionals.cc
2519 (pass_harden_compares::execute): Force split in case of
2522 2022-03-24 Jakub Jelinek <jakub@redhat.com>
2525 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
2526 field0 or field1 is not a FIELD_DECL, return false.
2528 2022-03-24 Richard Biener <rguenther@suse.de>
2530 * tree-predcom.cc (chain::chain): Add CTOR.
2531 (component::component): Likewise.
2532 (pcom_worker::release_chain): Use delete.
2533 (release_components): Likewise.
2534 (pcom_worker::filter_suitable_components): Likewise.
2535 (pcom_worker::split_data_refs_to_components): Use new.
2536 (make_invariant_chain): Likewise.
2537 (make_rooted_chain): Likewise.
2538 (pcom_worker::combine_chains): Likewise.
2539 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
2540 Make sure to release previously constructed scalar_results.
2541 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
2543 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
2544 Release m_flag_set_edges.
2546 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
2548 PR tree-optimization/104970
2549 * tree-object-size.cc (parm_object_size): Restrict size
2550 computation scenarios to explicit access attributes.
2552 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
2555 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
2558 2022-03-23 Richard Biener <rguenther@suse.de>
2561 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
2562 use of movmisalign when either the source or destination
2563 decl is properly aligned.
2565 2022-03-23 Richard Biener <rguenther@suse.de>
2567 PR rtl-optimization/105028
2568 * ira-color.cc (form_threads_from_copies): Remove unnecessary
2569 copying of the sorted_copies tail.
2571 2022-03-23 Martin Liska <mliska@suse.cz>
2573 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
2575 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
2576 Reword the error message.
2578 2022-03-23 liuhongt <hongtao.liu@intel.com>
2581 * config/i386/sse.md (ssePSmodelower): New.
2582 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
2583 lowpart_subreg to avoid NULL_RTX.
2584 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
2585 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
2586 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
2587 <avx512>_<complexopname>_<mode>_mask<round_name>,
2588 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
2589 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
2590 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
2591 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
2592 float<floatunssuffix><mode>v4hf2,
2593 float<floatunssuffix>v2div2hf2,
2594 fix<fixunssuffix>_truncv4hf<mode>2,
2595 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
2597 trunc<mode>v4hf2,truncv2dfv2hf2,
2598 *avx512bw_permvar_truncv16siv16hi_1,
2599 *avx512bw_permvar_truncv16siv16hi_1_hf,
2600 *avx512f_permvar_truncv8siv8hi_1,
2601 *avx512f_permvar_truncv8siv8hi_1_hf,
2602 *avx512f_vpermvar_truncv8div8si_1,
2603 *avx512f_permvar_truncv32hiv32qi_1,
2604 *avx512f_permvar_truncv16hiv16qi_1,
2605 *avx512f_permvar_truncv4div4si_1,
2606 *avx512f_pshufb_truncv8hiv8qi_1,
2607 *avx512f_pshufb_truncv4siv4hi_1,
2608 *avx512f_pshufd_truncv2div2si_1,
2609 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
2610 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
2612 2022-03-22 Tom de Vries <tdevries@suse.de>
2615 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
2616 Use % as register prefix.
2618 2022-03-22 Tom de Vries <tdevries@suse.de>
2620 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
2621 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
2624 2022-03-22 Tom de Vries <tdevries@suse.de>
2626 * config/nvptx/nvptx.opt (mexperimental): New option.
2628 2022-03-22 Tom de Vries <tdevries@suse.de>
2631 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
2632 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
2634 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
2635 (nvptx_asm_output_def_from_decls): New function.
2636 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
2638 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
2639 nvptx_asm_output_def_from_decls.
2640 * config/nvptx/nvptx.opt (malias): New opt.
2642 2022-03-22 Tom de Vries <tdevries@suse.de>
2646 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
2647 sync (or uniform warp check for mptx < 6.0).
2649 2022-03-22 Richard Biener <rguenther@suse.de>
2651 PR tree-optimization/105012
2652 * tree-if-conv.cc (ifcvt_local_dce): Only call
2653 dse_classify_store when we have a VDEF.
2655 2022-03-22 Martin Liska <mliska@suse.cz>
2658 * config/nvptx/nvptx.cc (handle_ptx_version_option):
2659 Fix option wrapping in an error message.
2661 2022-03-22 Martin Liska <mliska@suse.cz>
2664 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
2667 2022-03-22 Martin Liska <mliska@suse.cz>
2669 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
2672 2022-03-22 Martin Liska <mliska@suse.cz>
2675 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
2676 Use %qs instead of (%qs).
2678 2022-03-22 Martin Liska <mliska@suse.cz>
2681 * config/i386/i386-options.cc (ix86_option_override_internal):
2682 Use '%qs' instead of '(%qs)'.
2684 2022-03-22 Martin Liska <mliska@suse.cz>
2687 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
2688 Use 'qs' and remove usage '(%qs)'.
2689 (aarch64_handle_attr_cpu): Likewise.
2690 (aarch64_handle_attr_tune): Likewise.
2691 (aarch64_handle_attr_isa_flags): Likewise.
2693 2022-03-22 Tamar Christina <tamar.christina@arm.com>
2694 Andre Vieira <andre.simoesdiasvieira@arm.com>
2696 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
2698 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
2700 (neoverse512tvb_tunings): Likewise.
2702 2022-03-22 Tamar Christina <tamar.christina@arm.com>
2703 Andre Vieira <andre.simoesdiasvieira@arm.com>
2705 * config/aarch64/aarch64.cc (demeter_addrcost_table,
2706 demeter_regmove_cost, demeter_advsimd_vector_cost,
2707 demeter_sve_vector_cost, demeter_scalar_issue_info,
2708 demeter_advsimd_issue_info, demeter_sve_issue_info,
2709 demeter_vec_issue_info, demeter_vector_cost,
2710 demeter_tunings): New tuning structs.
2711 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
2713 * config/aarch64/aarch64-cores.def: Add entry for demeter.
2714 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
2716 2022-03-22 Tamar Christina <tamar.christina@arm.com>
2717 Andre Vieira <andre.simoesdiasvieira@arm.com>
2719 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
2720 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
2721 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
2722 tunings to use cpu_memmov_cost struct.
2724 2022-03-22 Tamar Christina <tamar.christina@arm.com>
2725 Andre Vieira <andre.simoesdiasvieira@arm.com>
2727 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
2728 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
2729 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
2730 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
2731 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
2732 (neoversen2_tunings): Use new structs and update tuning flags.
2733 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
2736 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
2738 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
2741 2022-03-22 liuhongt <hongtao.liu@intel.com>
2744 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
2745 following splitter to reversed condition.
2747 2022-03-22 Jakub Jelinek <jakub@redhat.com>
2749 PR rtl-optimization/104989
2750 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
2751 sorry for passing too large argument, instead set sibcall_failure
2752 for pass == 0, or a new normal_failure flag otherwise. If
2753 normal_failure is set, don't assert all stack has been deallocated
2754 at the end and throw away the whole insn sequence.
2756 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
2758 * print-tree.cc: Change array length
2760 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
2763 * config/i386/sse.md
2764 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
2765 Use avx512f_movsf_mask instead of vmovaps or vblend, and
2766 force_reg before lowpart_subreg.
2767 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
2769 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
2772 * common/config/i386/i386-common.cc
2773 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
2774 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
2776 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
2779 * common/config/i386/cpuinfo.h (get_available_features): Pass
2780 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
2783 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
2785 PR middle-end/104869
2786 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
2787 (clobber_group::next_clobber): Likewise.
2788 (def_lookup::prev_def): Rename to...
2789 (def_lookup::last_def_of_prev_group): ...this.
2790 (def_lookup::next_def): Rename to...
2791 (def_lookup::first_def_of_next_group): ...this.
2792 (def_lookup::matching_or_prev_def): Rename to...
2793 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
2794 (def_lookup::matching_or_next_def): Rename to...
2795 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
2796 (def_lookup::prev_def): New function, taking the lookup insn as
2798 (def_lookup::next_def): Likewise.
2799 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
2800 (def_lookup::last_def_of_prev_group): ...this.
2801 (def_lookup::next_def): Rename to...
2802 (def_lookup::first_def_of_next_group): ...this.
2803 (def_lookup::matching_or_prev_def): Rename to...
2804 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
2805 (def_lookup::matching_or_next_def): Rename to...
2806 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
2807 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
2809 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
2810 (clobber_group::next_clobber): Likewise.
2811 (def_lookup::prev_def): Likewise.
2812 (def_lookup::next_def): Likewise.
2813 (function_info::make_use_available): Pass the lookup insn to
2814 def_lookup::prev_def and def_lookup::next_def.
2816 2022-03-21 Martin Liska <mliska@suse.cz>
2818 * doc/invoke.texi: Document min-pagesize parameter.
2820 2022-03-21 Richard Biener <rguenther@suse.de>
2822 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
2823 we are estimating niter of loop.
2825 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
2827 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
2828 Update flag name and mask name.
2829 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
2830 misc macro for vector extensions.
2831 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
2832 (MASK_VECTOR_ELEN_32): ... this.
2833 (MASK_VECTOR_EEW_64): Rename to ...
2834 (MASK_VECTOR_ELEN_64): ... this.
2835 (MASK_VECTOR_EEW_FP_32): Rename to ...
2836 (MASK_VECTOR_ELEN_FP_32): ... this.
2837 (MASK_VECTOR_EEW_FP_64): Rename to ...
2838 (MASK_VECTOR_ELEN_FP_64): ... this.
2839 (TARGET_VECTOR_ELEN_32): New.
2840 (TARGET_VECTOR_ELEN_64): Ditto.
2841 (TARGET_VECTOR_ELEN_FP_32): Ditto.
2842 (TARGET_VECTOR_ELEN_FP_64): Ditto.
2843 (TARGET_MIN_VLEN): Ditto.
2844 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
2845 (riscv_vector_elen_flags): ... this.
2847 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
2850 * config/i386/sse.md
2851 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
2852 Correct round operand for intel dialect.
2854 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
2856 * diagnostic.cc (diagnostic_cc_tests): Rename to...
2857 (c_diagnostic_cc_tests): ...this.
2858 * opt-problem.cc (opt_problem_cc_tests): Rename to...
2859 (c_opt_problem_cc_tests): ...this.
2860 * selftest-run-tests.cc (selftest::run_tests): No longer run
2861 opt_problem_cc_tests or diagnostic_cc_tests.
2862 * selftest.h (diagnostic_cc_tests): Remove declaration.
2863 (opt_problem_cc_tests): Likewise.
2865 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
2868 * hash-traits.h (struct typed_const_free_remove): New.
2869 (struct free_string_hash): New.
2870 * pass_manager.h: Use free_string_hash.
2871 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
2872 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
2874 2022-03-19 Jakub Jelinek <jakub@redhat.com>
2876 PR middle-end/104971
2877 * config/i386/i386-expand.cc
2878 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
2879 don't push/pop anything and just return const0_rtx.
2881 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
2883 PR rtl-optimization/104961
2884 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
2886 2022-03-18 Jason Merrill <jason@redhat.com>
2888 * tree.h (IDENTIFIER_LENGTH): Add comment.
2890 2022-03-18 Jakub Jelinek <jakub@redhat.com>
2893 PR middle-end/100680
2894 PR tree-optimization/100834
2895 * params.opt (--param=min-pagesize=): New parameter.
2897 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
2898 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
2899 of zero for pointer constants equal or larger than min-pagesize.
2901 2022-03-18 Tom de Vries <tdevries@suse.de>
2903 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
2904 Set gfor location only when dealing with a OMP_TASKLOOP.
2906 2022-03-18 Tom de Vries <tdevries@suse.de>
2908 * gimplify.cc (gimplify_omp_for): Set taskloop location.
2910 2022-03-18 Tom de Vries <tdevries@suse.de>
2913 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
2914 is executed unconditionally.
2916 2022-03-18 liuhongt <hongtao.liu@intel.com>
2919 * config/i386/i386.md (*movhi_internal): Set attr type from HI
2920 to HF for alternative 12 under TARGET_AVX512FP16.
2922 2022-03-18 Cui,Lili <lili.cui@intel.com>
2925 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
2926 * doc/invoke.texi: Update documents for Intel sapphirerapids.
2928 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
2931 PR tree-optimization/90356
2932 * config/i386/i386.md (*movtf_internal): Don't guard
2933 standard_sse_constant_p clause by optimize_function_for_size_p.
2934 (*movdf_internal): Likewise.
2935 (*movsf_internal): Likewise.
2937 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
2939 PR tree-optimization/102943
2940 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
2941 dominators and apply intermediary outgoing edge ranges.
2943 2022-03-17 Richard Biener <rguenther@suse.de>
2945 PR tree-optimization/104960
2946 * passes.def: Add pass parameter to pass_sink_code, mark
2947 last one to unsplit edges.
2948 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
2949 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
2950 when we need to unsplit edges.
2952 2022-03-17 Jakub Jelinek <jakub@redhat.com>
2954 PR middle-end/103984
2955 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
2956 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
2957 and asan unpoisioning, then append the temporary sequence and
2958 finally the TARGET_EXPR_CLEANUP clobbers.
2960 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
2962 * config/i386/sse.md: Delete corrupt character/typo.
2964 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
2967 * config/i386/sse.md (sse2_movq128): New define_expand to
2968 preserve previous named instruction.
2969 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
2970 generalized to VI8F_128 (both V2DI and V2DF).
2972 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
2974 PR tree-optimization/104941
2975 * tree-object-size.cc (size_for_offset): Make useless conversion
2976 check lighter and assign result of fold_convert to OFFSET.
2978 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
2981 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
2982 pushing target("general-regs-only").
2984 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
2986 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
2987 Add version info for zk, zks and zkn.
2989 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
2991 * common/config/riscv/riscv-common.cc
2992 (riscv_combine_info): New.
2993 (riscv_subset_list::handle_combine_ext): Combine back into zk to
2994 maintain the canonical order in isa strings.
2995 (riscv_subset_list::parse): Ditto.
2996 * config/riscv/riscv-subset.h (handle_combine_ext): New.
2998 2022-03-16 Richard Biener <rguenther@suse.de>
3000 PR tree-optimization/102008
3001 * passes.def: Move the added code sinking pass before the
3002 preceeding phiopt pass.
3004 2022-03-16 Patrick Palka <ppalka@redhat.com>
3007 * doc/invoke.texi (C++ Dialect Options): Document
3008 -ffold-simple-inlines.
3010 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
3012 PR tree-optimization/104942
3013 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
3015 2022-03-16 Jakub Jelinek <jakub@redhat.com>
3018 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
3021 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
3022 Richard Biener <rguenther@suse.de>
3024 * gimple-match-head.cc (single_use): Implement inline using a
3027 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
3029 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
3030 instead of HONOR_NANS.
3031 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
3032 this can't trap/signal.
3034 2022-03-16 liuhongt <hongtao.liu@intel.com>
3037 * config/i386/i386-builtin.def (BDESC): Add
3038 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
3039 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
3040 __builtin_ia32_blendvpd w/o sse4.2
3042 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
3045 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
3046 acceptable MEM addresses.
3048 2022-03-15 Jakub Jelinek <jakub@redhat.com>
3051 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
3052 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
3055 2022-03-15 Jakub Jelinek <jakub@redhat.com>
3058 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
3059 instead of general-regs-only.
3061 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
3062 Marc Glisse <marc.glisse@inria.fr>
3063 Richard Biener <rguenther@suse.de>
3065 PR tree-optimization/101895
3066 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
3067 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
3069 2022-03-15 Jakub Jelinek <jakub@redhat.com>
3071 PR rtl-optimization/104814
3072 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
3073 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
3075 2022-03-15 Martin Sebor <msebor@redhat.com>
3077 PR middle-end/104436
3078 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
3079 Check for warning suppression. Avoid by-value arguments transformed
3080 into by-transparent-reference.
3082 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
3083 Uroš Bizjak <ubizjak@gmail.com>
3085 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
3086 transformation when *zero_extend<mode>si2 is not available.
3088 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
3090 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
3091 * config/mips/mips.cc (mips_option_override): Make
3092 -fsanitize=address imply -fasynchronous-unwind-tables. This is
3093 needed by libasan for stack backtrace on MIPS.
3094 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
3096 2022-03-14 Jakub Jelinek <jakub@redhat.com>
3099 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
3100 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
3101 call simplified the first operand into VOIDmode constant.
3103 2022-03-14 Jakub Jelinek <jakub@redhat.com>
3105 PR tree-optimization/102586
3106 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
3107 argument type should be pointer to trivially-copyable type unless it
3108 is address of a variable or parameter.
3110 2022-03-14 Jakub Jelinek <jakub@redhat.com>
3113 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
3114 first rather than last element of the vector, use __m32_u to do
3115 a really unaligned load, use just 0 instead of (int)0.
3116 (_mm_loadu_si16): Put loaded value into first rather than last
3117 element of the vector, use __m16_u to do a really unaligned load,
3118 use just 0 instead of (short)0.
3120 2022-03-14 Jakub Jelinek <jakub@redhat.com>
3123 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
3124 in diagnostic message - cannott -> cannot. Use %< and %> around
3125 names of attribute. Avoid too long line.
3126 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
3127 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
3129 2022-03-14 liuhongt <hongtao.liu@intel.com>
3132 * config/i386/i386-expand.cc
3133 (ix86_check_builtin_isa_match): New func.
3134 (ix86_expand_builtin): Move code to
3135 ix86_check_builtin_isa_match and call it.
3136 * config/i386/i386-protos.h
3137 (ix86_check_builtin_isa_match): Declare.
3138 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
3139 builtin into gimple when isa mismatches.
3141 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
3143 * doc/invoke.texi: Fix typos.
3144 * doc/tm.texi.in: Remove duplicated word.
3145 * doc/tm.texi: Regenerate.
3147 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
3150 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
3151 "ppc" and "ppc64" based on rs6000_cpu.
3153 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3155 PR middle-end/100280
3156 PR middle-end/104892
3157 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
3158 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
3160 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3162 PR middle-end/100280
3163 PR middle-end/104086
3164 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
3165 Mark variables used in 'present' clauses as addressable.
3166 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
3167 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
3169 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3172 * tree-core.h (user_omp_claus_code_name): Declare function.
3173 * tree.cc (user_omp_clause_code_name): New function.
3175 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
3178 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
3179 (the defaut) or -fno-signed-zeros.
3181 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
3184 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
3185 moving from a GPR register to an Altivec register.
3187 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
3189 PR tree-optimization/98335
3190 * config/i386/i386.md (peephole2): Eliminate redundant insv.
3191 Combine movl followed by movb. Transform xorl followed by
3192 a suitable movb or movw into the equivalent movz[bw]l.
3194 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
3195 Richard Biener <rguenther@suse.de>
3197 PR tree-optimization/98335
3198 * builtins.cc (get_object_alignment_2): Export.
3199 * builtins.h (get_object_alignment_2): Likewise.
3200 * tree-ssa-alias.cc (ao_ref_alignment): New.
3201 * tree-ssa-alias.h (ao_ref_alignment): Declare.
3202 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
3203 to align head/tail, writing more bytes but using fewer store insns.
3205 2022-03-11 Richard Biener <rguenther@suse.de>
3207 PR tree-optimization/104880
3208 * tree-ssa.cc (execute_update_address_taken): Remember if we
3209 optimistically made something not addressable and
3212 2022-03-11 Richard Biener <rguenther@suse.de>
3215 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
3216 cost the first lane of SSE pieces as inserts for vec_construct.
3218 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
3221 * calls.cc (expand_call): Ignore stack adjustments after sorry.
3223 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
3226 * lra-constraints.cc (split_reg): Set up
3227 check_and_force_assignment_correctness_p when splitting hard
3228 register live range.
3230 2022-03-10 Martin Jambor <mjambor@suse.cz>
3233 * ipa-cp.cc (create_specialized_node): Move removal of
3234 self-recursive calls from callers vector before refrence
3237 2022-03-10 Richard Biener <rguenther@suse.de>
3239 PR tree-optimization/102943
3240 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
3242 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
3244 (sbr_sparse_bitmap::set_bb_range): Adjust.
3245 (sbr_sparse_bitmap::get_bb_range): Likewise.
3247 2022-03-10 Richard Biener <rguenther@suse.de>
3249 PR tree-optimization/102943
3250 * tree-ssa-dom.cc (back_propagate_equivalences): Only
3251 populate the dominance bitmap if fast queries are not
3252 available. Use a tree view bitmap.
3253 (record_temporary_equivalences): Cache the dominance bitmap
3254 across all equivalences on the edge.
3256 2022-03-10 Tom de Vries <tdevries@suse.de>
3259 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
3262 2022-03-10 Tom de Vries <tdevries@suse.de>
3265 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
3266 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
3267 (nvptx_get_unisimt_outside_simt_predicate): New function.
3268 (predicate_insn): New function, factored out of ...
3269 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
3270 * config/nvptx/nvptx.h (struct machine_function): Add
3271 unisimt_outside_simt_predicate field.
3272 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
3273 (define_insn "nvptx_uniform_warp_check"): Make predicable.
3275 2022-03-10 Tom de Vries <tdevries@suse.de>
3277 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
3280 2022-03-10 Tom de Vries <tdevries@suse.de>
3283 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
3285 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
3287 2022-03-10 Tom de Vries <tdevries@suse.de>
3289 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
3290 Emit atom.and.b64 instead of atom.b64.and.
3292 2022-03-10 Tom de Vries <tdevries@suse.de>
3294 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
3295 (MULTILIB_OPTIONS): ... here.
3297 2022-03-10 Tom de Vries <tdevries@suse.de>
3300 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
3301 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
3303 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3306 PR middle-end/102330
3307 PR middle-end/104774
3308 * omp-low.cc (oacc_privatization_candidate_p)
3309 (oacc_privatization_scan_clause_chain)
3310 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
3311 Analyze 'lookup_decl'-translated DECL.
3313 2022-03-10 Jakub Jelinek <jakub@redhat.com>
3316 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
3317 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
3318 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
3319 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
3320 "**NULL**" if type_node is NULL first. Handle
3321 ieee128_float_type_node.
3322 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
3323 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
3324 ieee128_float_type_node to NULL rather than long_double_type_node if
3325 they aren't supported. Do support __ibm128 even if
3326 !TARGET_FLOAT128_TYPE when long double is double double.
3327 (rs6000_expand_builtin): Error if bif_is_ibm128 and
3328 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
3329 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
3331 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
3332 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
3333 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
3334 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
3336 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
3337 (struct attrinfo): Add isibm128 member.
3338 (TYPE_MAP_SIZE): Remove.
3339 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
3340 ibm128_float_type_node only if it is non-NULL, otherwise fall back
3341 to long_double_type_node. Remove "pif" entry.
3342 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
3343 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
3344 (write_type_node): Use sizeof type_map / sizeof type_map[0]
3345 instead of TYPE_MAP_SIZE.
3346 (write_bif_static_init): Handle isibm128.
3347 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
3348 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
3351 2022-03-09 Richard Biener <rguenther@suse.de>
3353 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
3354 with non-decl operand, avoiding a copy.
3356 2022-03-09 Jakub Jelinek <jakub@redhat.com>
3359 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
3361 2022-03-09 Richard Biener <rguenther@suse.de>
3363 PR middle-end/104786
3364 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
3365 for VLAs without an upper size bound.
3367 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
3369 PR tree-optimization/104851
3370 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
3373 2022-03-09 Jakub Jelinek <jakub@redhat.com>
3376 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
3377 is enabled by it only for C++11 to C++17 rather than for C++03 or
3379 (-Wshift-negative-value): Similarly (except here we stated
3380 that it is enabled for C++11 or later).
3382 2022-03-09 Jakub Jelinek <jakub@redhat.com>
3384 PR rtl-optimization/104839
3385 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
3386 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
3387 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
3388 instead of incorrect 0 in SUBREG_PROMOTED_SET.
3390 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
3393 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
3394 value before adding an offset.
3396 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
3398 * config/arm/arm-builtins.cc
3399 (arm_binop_none_none_unone_qualifiers): Delete.
3400 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
3402 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
3404 PR translation/104552
3405 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
3406 the PCH out of memory error message punctuation and wording.
3408 2022-03-08 Marek Polacek <polacek@redhat.com>
3410 PR rtl-optimization/104777
3411 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
3412 ASM_OPERANDS_LABEL_VEC has at least one element.
3414 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
3417 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
3418 stack realignment or regparm nested function with EH return.
3420 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
3423 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
3424 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
3425 register for non widening loads or narrowing stores.
3427 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
3429 PR translation/104552
3430 * params.opt: Fix typo.
3432 2022-03-08 Richard Biener <rguenther@suse.de>
3434 PR tree-optimization/84201
3435 * params.opt (-param=vect-induction-float): Add.
3436 * doc/invoke.texi (vect-induction-float): Document.
3437 * tree-vect-loop.cc (vectorizable_induction): Honor
3438 param_vect_induction_float.
3440 2022-03-08 Martin Jambor <mjambor@suse.cz>
3442 PR translation/104552
3443 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
3444 "that" in the description.
3446 2022-03-08 Richard Biener <rguenther@suse.de>
3448 PR tree-optimization/104825
3449 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
3450 guard modref get_ao_ref on a pointer typed argument.
3452 2022-03-08 liuhongt <hongtao.liu@intel.com>
3454 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
3455 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
3457 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
3459 * doc/invoke.texi (C++ Modules): Remove anachronism.
3461 2022-03-07 Martin Liska <mliska@suse.cz>
3463 PR middle-end/104381
3464 * opts.cc (finish_options): If debug info is disabled
3465 (debug_info_level) and -fvar-tracking is unset, disable it.
3467 2022-03-07 Jakub Jelinek <jakub@redhat.com>
3469 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
3470 * config/riscv/riscv.cc: Likewise.
3471 * config/darwin.h: Likewise.
3472 * config/i386/i386.cc: Likewise.
3473 * config/aarch64/thunderx3t110.md: Likewise.
3474 * config/aarch64/fractional-cost.h: Likewise.
3475 * config/vax/vax.cc: Likewise.
3476 * config/rs6000/pcrel-opt.md: Likewise.
3477 * config/rs6000/predicates.md: Likewise.
3479 * tree-ssa-uninit.cc: Likewise.
3480 * value-relation.h: Likewise.
3481 * gimple-range-gori.cc: Likewise.
3482 * ipa-polymorphic-call.cc: Likewise.
3483 * pointer-query.cc: Likewise.
3484 * ipa-sra.cc: Likewise.
3485 * internal-fn.cc: Likewise.
3486 * varasm.cc: Likewise.
3487 * gimple-ssa-warn-access.cc: Likewise.
3489 2022-03-07 Martin Liska <mliska@suse.cz>
3492 * config/arm/arm.cc (arm_option_override_internal): Add missing
3495 2022-03-07 Richard Biener <rguenther@suse.de>
3497 PR tree-optimization/104782
3498 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
3499 Re-instantiate r10-5979 fix, add comment.
3501 2022-03-07 Martin Liska <mliska@suse.cz>
3504 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
3505 parenthesis from built-in name.
3507 2022-03-07 Martin Liska <mliska@suse.cz>
3510 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
3511 of options in error messages.
3512 (arm_option_reconfigure_globals): Likewise.
3514 2022-03-07 Martin Liska <mliska@suse.cz>
3517 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
3518 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
3519 have only range [0,32].
3521 2022-03-07 Jakub Jelinek <jakub@redhat.com>
3524 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
3525 S constraint instead of T in the last alternative.
3527 2022-03-07 Martin Liska <mliska@suse.cz>
3529 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
3532 2022-03-07 Martin Liska <mliska@suse.cz>
3534 PR translation/90148
3535 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
3536 quote to a proper place.
3537 * plugin.cc (default_plugin_dir_name): Likewise.
3539 2022-03-07 Martin Liska <mliska@suse.cz>
3542 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
3545 2022-03-07 Jakub Jelinek <jakub@redhat.com>
3548 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
3549 define_expand pattern. Rename define_insn to ...
3550 (*avx512dq_mul<mode>3<mask_name>): ... this.
3551 (<code><mode>3_mask): New any_logic define_expand pattern.
3552 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
3553 (*<code><mode>3<mask_name>): ... this.
3555 2022-03-05 Jakub Jelinek <jakub@redhat.com>
3557 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
3558 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
3560 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
3561 Uroš Bizjak <ubizjak@gmail.com>
3564 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
3565 Include DI mode unconditionally.
3566 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
3567 i.e. always split on !TARGET_64BIT.
3568 (*<any_or>di3_doubleword): Likewise.
3569 (*one_cmpldi2_doubleword): Likewise.
3570 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
3571 (<any_or><mode>3 expander): Likewise.
3572 (one_cmpl<mode>2 expander): Likewise.
3574 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
3577 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
3578 (mtvsrdd_diti_w1): Delete.
3579 (extendditi2): Convert from define_expand to
3580 define_insn_and_split. Replace with code to deal with both GPR
3581 registers and with altivec registers.
3583 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
3585 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
3586 bit. Handle most older CPUs.
3588 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
3590 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
3591 avoid a mismatch with DECL_MD_FUNCTION_CODE().
3593 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
3596 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
3597 (@machopic_low_<mode>): New.
3598 * config/rs6000/predicates.md (macho_pic_address): New.
3599 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
3600 apply the TLS processing to Darwin.
3601 * lra-constraints.cc (process_address_1): Revert the changes
3604 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
3608 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
3609 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
3611 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
3613 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
3616 2022-03-04 Jakub Jelinek <jakub@redhat.com>
3618 PR middle-end/104529
3619 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
3620 on automatic objects which will be runtime initialized.
3622 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3624 PR middle-end/100280
3625 PR middle-end/104132
3626 PR middle-end/104133
3627 * omp-low.cc (task_shared_vars): Rename to
3628 'make_addressable_vars'. Adjust all users.
3629 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
3630 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
3632 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3634 PR middle-end/100280
3635 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
3636 * tree-core.h: Document it.
3637 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
3638 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
3639 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
3640 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
3643 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3645 PR middle-end/100280
3646 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
3647 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
3648 '[...]' declared in block made addressable".
3650 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3652 PR middle-end/100400
3653 PR middle-end/103836
3654 PR middle-end/104061
3655 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
3656 Catch 'GIMPLE_DEBUG'.
3658 2022-03-04 Jakub Jelinek <jakub@redhat.com>
3661 * tree.cc (warn_deprecated_use): For types prefer to use node
3662 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
3665 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
3668 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
3671 2022-03-03 Martin Sebor <msebor@redhat.com>
3673 PR middle-end/104761
3674 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
3675 mark_dfs_back_edges.
3677 2022-03-03 Martin Liska <mliska@suse.cz>
3679 * configure.ac: Use linker plug-in by default.
3680 * configure: Regenerate.
3682 2022-03-03 Martin Liska <mliska@suse.cz>
3684 * configure.ac: Now ld.mold support LTO plugin API, use it.
3685 * configure: Regenerate.
3687 2022-03-03 Tom de Vries <tdevries@suse.de>
3689 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
3691 2022-03-03 Tom de Vries <tdevries@suse.de>
3694 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
3696 2022-03-03 Tom de Vries <tdevries@suse.de>
3698 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
3700 2022-03-03 Jakub Jelinek <jakub@redhat.com>
3702 PR middle-end/104757
3703 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
3705 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
3706 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
3708 2022-03-03 Jakub Jelinek <jakub@redhat.com>
3710 PR middle-end/104558
3711 * calls.cc (store_one_arg): When not calling emit_push_insn
3712 because size_rtx is const0_rtx, call at least anti_adjust_stack
3713 on arg->locate.alignment_pad if !argblock and the alignment might
3716 2022-03-02 Alexandre Oliva <oliva@adacore.com>
3718 * lra-constraints.cc (undo_optional_reloads): Recognize and
3719 drop insns of multi-word move sequences, tolerate removal
3720 iteration on an already-removed clobber, and refuse to
3721 substitute original pseudos into clobbers.
3723 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
3725 PR middle-end/102276
3726 * common.opt (-Wtrivial-auto-var-init): New option.
3727 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
3728 (-ftrivial-auto-var-init): Update option;
3729 * gimplify.cc (emit_warn_switch_unreachable): New function.
3730 (warn_switch_unreachable_r): Rename to ...
3731 (warn_switch_unreachable_and_auto_init_r): This.
3732 (maybe_warn_switch_unreachable): Rename to ...
3733 (maybe_warn_switch_unreachable_and_auto_init): This.
3734 (gimplify_switch_expr): Update calls to renamed function.
3736 2022-03-02 Richard Biener <rguenther@suse.de>
3738 PR rtl-optimization/104686
3739 * ira-color.cc (object_conflicts_with_allocno_p): New function
3740 using a bitvector test instead of iterating when possible.
3741 (allocnos_conflict_p): Choose the best allocno to iterate over
3743 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
3746 2022-03-02 Jakub Jelinek <jakub@redhat.com>
3748 * cfg.cc (dump_edge_info): Dump goto_locus if present.
3750 2022-03-02 Jakub Jelinek <jakub@redhat.com>
3752 PR rtl-optimization/104589
3753 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
3754 INSN_LOCATION comparison with goto_locus.
3756 2022-03-02 Jakub Jelinek <jakub@redhat.com>
3758 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
3759 strlen_pass::before_dom_children): Comment spelling fixes.
3761 2022-03-02 Jakub Jelinek <jakub@redhat.com>
3763 * ipa-modref-tree.cc (modref_access_node::contains,
3764 modref_access_node::closer_pair_p, modref_access_node::insert,
3765 modref_access_node::insert_kill): Comment spelling fixes.
3766 * ipa-modref.cc: Likewise.
3767 (modref_summary::finalize, ignore_nondeterminism_p,
3768 class modref_access_analysis,
3769 modref_access_analysis::set_side_effects,
3770 modref_access_analysis::set_nondeterministic,
3771 modref_access_analysis::record_global_memory_load,
3772 modref_access_analysis::propagate, modref_access_analysis::analyze,
3773 struct escape_point, class modref_lattice, modref_lattice::merge,
3774 modref_lattice::merge_deref, class modref_eaf_analysis,
3775 modref_eaf_analysis::merge_call_lhs_flags,
3776 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
3777 modref_eaf_analysis::record_escape_points, remap_kills,
3778 update_escape_summary, remove_useless_summaries,
3779 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
3781 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
3783 * ipa-modref-tree.h (enum modref_special_parms,
3784 struct modref_access_node): Likewise.
3786 2022-03-01 Jakub Jelinek <jakub@redhat.com>
3788 PR tree-optimization/104715
3789 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
3790 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
3791 of a call if gimple_call_return_arg is equal to ptr, not just when it
3794 2022-03-01 Jakub Jelinek <jakub@redhat.com>
3796 * gimple-ssa-warn-access.cc (warn_string_no_nul,
3797 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
3798 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
3799 pass_waccess::check_alloca, pass_waccess::check_strcat,
3800 memmodel_to_uhwi, fntype_argno_type,
3801 pass_waccess::maybe_check_access_sizes,
3802 pass_waccess::check_call_access,
3803 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
3804 Comment spelling fixes.
3806 2022-03-01 Richard Biener <rguenther@suse.de>
3808 PR tree-optimization/104716
3809 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
3810 Check if we can copy the loop.
3812 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
3814 PR middle-end/104721
3815 * cfgexpand.cc (expand_gimple_basic_block): Clear
3816 currently_expanding_gimple_stmt when returning inside the loop.
3818 2022-03-01 Martin Liska <mliska@suse.cz>
3821 * multiple_target.cc (get_attr_len): Move to tree.c.
3822 (expand_target_clones): Remove single value checking.
3823 * tree.cc (get_target_clone_attr_len): New fn.
3824 * tree.h (get_target_clone_attr_len): Likewise.
3826 2022-03-01 Martin Liska <mliska@suse.cz>
3828 PR gcov-profile/104677
3829 * doc/invoke.texi: Document more .gcda file name generation.
3831 2022-03-01 Tom de Vries <tdevries@suse.de>
3834 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
3835 * config/nvptx/nvptx.md
3836 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
3838 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
3839 Use nvptx_register_or_complex_di_df_register_operand.
3841 2022-03-01 Tom de Vries <tdevries@suse.de>
3843 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
3844 * config/nvptx/gen-copyright.sh: New file.
3845 * config/nvptx/gen-h.sh: New file.
3846 * config/nvptx/gen-opt.sh: New file.
3847 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
3848 (TARGET_SM75, TARGET_SM80): Move ...
3849 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
3850 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
3851 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
3852 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
3853 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
3855 2022-03-01 Tom de Vries <tdevries@suse.de>
3857 * config/nvptx/gen-omp-device-properties.sh: New file.
3858 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
3860 2022-03-01 Tom de Vries <tdevries@suse.de>
3862 * config/nvptx/nvptx-sm.def: New file.
3863 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
3864 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
3865 * config/nvptx/nvptx.cc (sm_version_to_string)
3866 (nvptx_omp_device_kind_arch_isa): Same.
3868 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
3870 PR rtl-optimization/104154
3871 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
3872 comparison ifcvt passed us.
3874 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
3877 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
3878 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
3880 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
3882 PR tree-optimization/91384
3883 * config/i386/i386.md (peephole2): Eliminate final testl insn
3884 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
3885 transforming using *negsi_2 for the negation.
3887 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
3888 Eric Botcazou <ebotcazou@adacore.com>
3891 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
3892 register, copy it to a pseudo before calling simplify_gen_subreg.
3894 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
3896 PR rtl-optimization/104637
3897 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
3898 as possible on one subpass.
3900 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
3902 PR middle-end/104550
3903 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
3906 2022-02-28 Martin Liska <mliska@suse.cz>
3909 * main.cc (main): Use flag_checking instead of CHECKING_P
3910 and run toplev::finalize only if there is not error seen.
3912 2022-02-28 Richard Biener <rguenther@suse.de>
3914 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
3916 2022-02-28 Richard Biener <rguenther@suse.de>
3918 PR tree-optimization/104700
3919 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
3921 (find_or_generate_expression): ... here, simplifying code.
3923 2022-02-28 Tom de Vries <tdevries@suse.de>
3925 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
3926 PTX_VERSION_default.
3927 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
3928 PTX_VERSION_default.
3929 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
3931 2022-02-28 Richard Biener <rguenther@suse.de>
3933 PR rtl-optimization/104686
3934 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
3935 skipping bits that are zero.
3936 (ira_object_conflict_iter_cond): Likewise.
3938 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
3940 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
3941 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
3942 char to avoid error when using ~enum as parameter.
3943 (_mm512_mask_ternarylogic_epi64): Likewise.
3944 (_mm512_maskz_ternarylogic_epi64): Likewise.
3945 (_mm512_ternarylogic_epi32): Likewise.
3946 (_mm512_mask_ternarylogic_epi32): Likewise.
3947 (_mm512_maskz_ternarylogic_epi32): Likewise.
3948 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
3949 Adjust imm param type to unsigned char.
3950 (_mm256_mask_ternarylogic_epi64): Likewise.
3951 (_mm256_maskz_ternarylogic_epi64): Likewise.
3952 (_mm256_ternarylogic_epi32): Likewise.
3953 (_mm256_mask_ternarylogic_epi32): Likewise.
3954 (_mm256_maskz_ternarylogic_epi32): Likewise.
3955 (_mm_ternarylogic_epi64): Likewise.
3956 (_mm_mask_ternarylogic_epi64): Likewise.
3957 (_mm_maskz_ternarylogic_epi64): Likewise.
3958 (_mm_ternarylogic_epi32): Likewise.
3959 (_mm_mask_ternarylogic_epi32): Likewise.
3960 (_mm_maskz_ternarylogic_epi32): Likewise.
3962 2022-02-25 Jakub Jelinek <jakub@redhat.com>
3963 Marc Glisse <marc.glisse@inria.fr>
3965 PR tree-optimization/104675
3966 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
3967 Restrict simplifications to INTEGRAL_TYPE_P.
3969 2022-02-25 Jakub Jelinek <jakub@redhat.com>
3972 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
3974 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
3976 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
3977 comparison is not valid.
3978 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
3979 (movdicc): Likewise.
3980 (movsfcc): Likewise.
3981 (movdfcc): Likewise.
3983 2022-02-25 Richard Biener <rguenther@suse.de>
3985 PR tree-optimization/103037
3986 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
3987 (vn_nary_length_from_stmt): Likewise.
3988 (init_vn_nary_op_from_stmt): Likewise.
3989 (vn_nary_op_compute_hash): Likewise.
3990 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
3991 (vn_nary_length_from_stmt): Likewise.
3992 (init_vn_nary_op_from_stmt): Likewise.
3993 (vn_nary_op_compute_hash): Likewise.
3994 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
3995 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
3996 (re-)compute the hash value and if the expression is not
3997 found allocate it from pre_expr_obstack.
3998 (phi_translate_1): Do not insert the NARY found in the
3999 VN tables but build a PRE expression from the valueized
4000 NARY with the value-id we eventually found.
4001 (find_or_generate_expression): Assert we have an entry
4002 for constant values.
4003 (compute_avail): Insert not valueized expressions into
4004 EXP_GEN using the value-id from the VN tables.
4005 (init_pre): Allocate pre_expr_obstack.
4006 (fini_pre): Free pre_expr_obstack.
4008 2022-02-25 Jakub Jelinek <jakub@redhat.com>
4011 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
4012 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
4013 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
4015 2022-02-25 Jakub Jelinek <jakub@redhat.com>
4017 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
4019 2022-02-25 Jakub Jelinek <jakub@redhat.com>
4021 PR middle-end/104679
4022 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
4024 2022-02-25 Jakub Jelinek <jakub@redhat.com>
4026 PR tree-optimization/104675
4027 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
4030 2022-02-25 Alexandre Oliva <oliva@adacore.com>
4034 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
4036 2022-02-25 Alexandre Oliva <oliva@adacore.com>
4038 PR middle-end/104540
4039 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
4042 2022-02-25 Alexandre Oliva <oliva@adacore.com>
4044 PR tree-optimization/103856
4045 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
4046 eh edge to be requested through an extra parameter.
4047 (pass_harden_compares::execute): Copy PHI args in the EH dest
4048 block for the new EH edge added for the inverted compare.
4050 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
4052 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
4053 of position independence that -mcmodel=medany affords.
4055 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
4058 * configure.ac: --disable-gcov if targetting bpf-*.
4059 * configure: Regenerate.
4061 2022-02-24 Richard Biener <rguenther@suse.de>
4063 PR tree-optimization/104676
4064 * tree-loop-distribution.cc (loop_distribution::execute):
4065 Do a full scev_reset.
4067 2022-02-24 Jakub Jelinek <jakub@redhat.com>
4069 PR tree-optimization/104601
4070 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
4071 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
4074 2022-02-24 Tom de Vries <tdevries@suse.de>
4075 Tobias Burnus <tobias@codesourcery.com>
4077 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
4078 sm_70, sm_75 and sm_80.
4079 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
4081 2022-02-24 Tom de Vries <tdevries@suse.de>
4083 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
4084 "rotrsi3"): New define_insn.
4086 2022-02-24 Tom de Vries <tdevries@suse.de>
4088 * config/nvptx/nvptx.cc (gen_comment): Use
4089 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
4091 2022-02-24 liuhongt <hongtao.liu@intel.com>
4093 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
4094 isa attr of alternative 2 from avx to avx512vl.
4096 2022-02-23 Richard Biener <rguenther@suse.de>
4097 Jakub Jelinek <jakub@redhat.com>
4099 PR tree-optimization/104644
4100 * doc/match-and-simplify.texi: Amend ! documentation.
4101 * genmatch.cc (expr::gen_transform): Code-generate ! support
4103 (parser::parse_expr): Allow ! for GENERIC.
4104 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
4107 2022-02-23 Richard Biener <rguenther@suse.de>
4109 PR tree-optimization/101636
4110 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
4111 vector type of the node.
4112 (vect_slp_analyze_operations): Make sure the CTOR
4113 is vectorized with an expected type.
4114 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
4116 2022-02-23 Jakub Jelinek <jakub@redhat.com>
4119 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
4120 Don't warn about calls to corresponding builtin from extern inline
4121 gnu_inline wrappers.
4123 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
4126 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
4128 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
4132 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
4135 2022-02-23 Cui,Lili <lili.cui@intel.com>
4137 * doc/invoke.texi: Update documents for Intel architectures.
4139 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
4141 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
4144 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
4146 * omp-low.cc (omp_build_component_ref): Move function...
4147 * omp-general.cc (omp_build_component_ref): ... here. Remove
4149 * omp-general.h (omp_build_component_ref): Declare function.
4150 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
4152 (build_receiver_ref, build_sender_ref): Call
4153 'omp_build_component_ref' instead.
4155 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
4157 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
4158 simplify. Adjust all users.
4160 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
4163 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
4164 atomic_update_decl): Add GTY markup.
4166 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4168 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
4170 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4174 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
4176 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
4177 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
4178 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
4179 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
4180 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
4181 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
4182 * config/arm/mve.md: Use VxBI instead of HI.
4184 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4188 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
4190 (STRSBU_P_QUALIFIERS): Likewise.
4191 (LDRGBS_Z_QUALIFIERS): Likewise.
4192 (LDRGBU_Z_QUALIFIERS): Likewise.
4193 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
4194 (LDRGBWBS_Z_QUALIFIERS): Likewise.
4195 (LDRGBWBU_Z_QUALIFIERS): Likewise.
4196 (STRSBWBS_P_QUALIFIERS): Likewise.
4197 (STRSBWBU_P_QUALIFIERS): Likewise.
4198 * config/arm/mve.md: Use VxBI instead of HI.
4200 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4204 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
4205 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
4206 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
4207 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
4208 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
4209 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
4210 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
4211 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
4212 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
4213 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
4214 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
4215 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
4216 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
4217 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
4218 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
4219 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
4220 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
4221 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
4222 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
4223 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
4224 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
4225 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
4226 (STRS_P_QUALIFIERS): Use predicate qualifier.
4227 (STRU_P_QUALIFIERS): Likewise.
4228 (STRSU_P_QUALIFIERS): Likewise.
4229 (STRSS_P_QUALIFIERS): Likewise.
4230 (LDRGS_Z_QUALIFIERS): Likewise.
4231 (LDRGU_Z_QUALIFIERS): Likewise.
4232 (LDRS_Z_QUALIFIERS): Likewise.
4233 (LDRU_Z_QUALIFIERS): Likewise.
4234 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
4235 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
4236 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
4237 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
4238 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
4239 * config/arm/mve.md: Use MVE_VPRED instead of HI.
4241 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4245 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
4247 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
4248 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
4249 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
4250 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
4251 predicated qualifiers.
4252 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
4253 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
4255 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4258 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
4259 (arm_expand_vector_compare): Update prototype.
4260 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
4261 (arm_vector_mode_supported_p): Add support for VxBI modes.
4262 (arm_expand_vector_compare): Remove useless generation of vpsel.
4263 (arm_expand_vcond): Fix select operands.
4264 (arm_get_mask_mode): New.
4265 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
4266 (vec_cmpu<mode><MVE_vpred>): New.
4267 (vcond_mask_<mode><MVE_vpred>): New.
4268 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
4269 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
4270 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
4271 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
4272 and disable for MVE.
4273 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
4275 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4279 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
4280 (BINOP_PRED_NONE_NONE_QUALIFIERS)
4281 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
4282 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
4283 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
4284 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
4286 (arm_mode_to_pred_mode): New.
4287 (arm_expand_vector_compare): Use the right VxBI mode instead of
4289 (arm_expand_vcond): Likewise.
4290 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
4291 (mve_bool_vec_to_const): New.
4292 (neon_make_constant): Call mve_bool_vec_to_const when needed.
4293 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
4294 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
4295 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
4296 (vpselq_s, vpselq_f): Use new predicated qualifiers.
4297 * config/arm/constraints.md (DB): New.
4298 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
4299 (MVE_VPRED, MVE_vpred): New attribute iterators.
4300 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
4301 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
4302 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
4303 (@mve_vpselq_<supf>v2di): Define separately.
4304 (mov<mode>): New expander for VxBI modes.
4305 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
4306 MVE_7_HI iterator and add support for DB constraint.
4308 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4309 Richard Sandiford <richard.sandiford@arm.com>
4313 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
4314 VNx2BI): Update definition.
4315 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
4317 (arm_init_builtin): Map predicate vectors arguments to HImode.
4318 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
4319 rtx. Move return value to HImode rtx.
4320 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
4321 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
4322 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
4323 Pred2x8_t,Pred4x4_t): New.
4324 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
4325 * genmodes.cc (mode_data): Add boolean field.
4326 (blank_mode): Initialize it.
4327 (make_complex_modes): Fix handling of boolean modes.
4328 (make_vector_modes): Likewise.
4329 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
4330 (make_vector_bool_mode): Likewise.
4332 (make_bool_mode): New.
4333 (emit_insn_modes_h): Fix generation of boolean modes.
4334 (emit_class_narrowest_mode): Likewise.
4335 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
4336 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
4338 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
4339 Fix handling of constm1_rtx for VECTOR_BOOL.
4340 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
4341 (native_decode_vector_rtx): Likewise.
4342 (test_vector_ops_duplicate): Skip vec_merge test
4343 with vectors of booleans.
4344 * varasm.cc (output_constant_pool_2): Likewise.
4346 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4348 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
4351 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4353 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
4355 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
4357 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
4358 (REG_CLASS_NAMES): Likewise.
4359 (REG_CLASS_CONTENTS): Likewise.
4360 (CLASS_MAX_NREGS): Handle VPR.
4361 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
4363 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
4364 Tom de Vries <tdevries@suse.de>
4366 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
4367 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
4369 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
4371 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
4372 Tom de Vries <tdevries@suse.de>
4374 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
4375 * doc/invoke.texi (-mptx): Update for new values and defaults.
4377 2022-02-22 Tom de Vries <tdevries@suse.de>
4379 * config/nvptx/nvptx.cc (gen_comment): New function.
4380 (workaround_uninit_method_1, workaround_uninit_method_2)
4381 (workaround_uninit_method_3): : Use gen_comment.
4382 * config/nvptx/nvptx.opt (mptx-comment): New option.
4384 2022-02-22 Richard Biener <rguenther@suse.de>
4386 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
4389 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
4390 Richard Biener <rguenther@suse.de>
4392 * fold-const.cc (ctor_single_nonzero_element): New function to
4393 return the single non-zero element of a (vector) constructor.
4394 * fold-const.h (ctor_single_nonzero_element): Prototype here.
4395 * match.pd (reduc (constructor@0)): Simplify reductions of a
4396 constructor containing a single non-zero element.
4397 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
4398 reductions of vector operations of the same operator with
4399 constant vector operands.
4401 2022-02-22 Jakub Jelinek <jakub@redhat.com>
4403 PR tree-optimization/104604
4404 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
4405 Only check if gimple_assign_rhs1 is COMPLEX_CST if
4406 gimple_assign_rhs_code is COMPLEX_CST.
4408 2022-02-22 Jakub Jelinek <jakub@redhat.com>
4411 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
4412 on input operands before calling lowpart_subreg on it. For output
4413 operand, use a vmode pseudo as destination and then move its lowpart
4414 subreg into operands[0] if lowpart_subreg fails on dest.
4415 (ix86_expand_xorsign): Likewise.
4417 2022-02-22 Richard Biener <rguenther@suse.de>
4419 PR tree-optimization/104582
4421 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
4422 Cost GPR to vector register moves for integer vector construction.
4424 2022-02-22 Richard Biener <rguenther@suse.de>
4426 PR tree-optimization/104582
4427 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
4428 (vector_costs::add_stmt_cost): Add SLP node parameter.
4429 (dump_stmt_cost): Likewise.
4430 (add_stmt_cost): Likewise, new overload and adjust.
4431 (add_stmt_costs): Adjust.
4432 (record_stmt_cost): New overload.
4433 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
4434 (vector_costs::add_stmt_cost): Adjust.
4435 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
4437 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
4438 the SLP node for costing.
4439 (vectorizable_slp_permutation): Likewise.
4440 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
4442 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
4444 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
4446 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
4448 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
4450 2022-02-22 Richard Biener <rguenther@suse.de>
4452 PR tree-optimization/104582
4453 * tree-vectorizer.h (add_stmt_cost): New overload.
4454 (record_stmt_cost): Likewise.
4455 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
4457 (vect_get_known_peeling_cost): Use new overloads.
4458 (vect_estimate_min_profitable_iters): Likewise. Consistently
4459 use scalar_stmt for costing versioning checks.
4460 * tree-vect-stmts.cc (record_stmt_cost): New overload.
4462 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
4465 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
4466 Split atomic fetch and loop part.
4467 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
4468 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
4470 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
4471 expander under TARGET_RELAX_CMPXCHG_LOOP.
4472 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
4474 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
4476 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
4477 Change wb_candidate[12] to wb_push_candidate[12].
4478 (aarch64_layout_frame): Likewise, and
4479 change callee_adjust when scs is enabled.
4480 (aarch64_save_callee_saves):
4481 Change wb_candidate[12] to wb_push_candidate[12].
4482 (aarch64_restore_callee_saves):
4483 Change wb_candidate[12] to wb_pop_candidate[12].
4484 (aarch64_get_separate_components):
4485 Change wb_candidate[12] to wb_push_candidate[12].
4486 (aarch64_expand_prologue): Push x30 onto SCS before it's
4488 (aarch64_expand_epilogue): Pop x30 frome SCS, while
4489 preventing it from being popped from the regular stack again.
4490 (aarch64_override_options_internal): Add SCS compile option check.
4491 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
4492 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
4493 wb_pop_candidate[12], and rename wb_candidate[12] to
4494 wb_push_candidate[12].
4495 * config/aarch64/aarch64.md (scs_push): New template.
4496 (scs_pop): Likewise.
4497 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
4498 * doc/tm.texi: Regenerate.
4499 * doc/tm.texi.in: Add hook have_shadow_call_stack.
4500 * flag-types.h (enum sanitize_code):
4501 Add SANITIZE_SHADOW_CALL_STACK.
4502 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
4503 and exclude SANITIZE_SHADOW_CALL_STACK.
4504 * target.def: New hook.
4505 * toplev.cc (process_options): Add SCS compile option check.
4506 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
4508 2022-02-21 Tom de Vries <tdevries@suse.de>
4511 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
4512 (workaround_uninit_method_2, workaround_uninit_method_3)
4513 (workaround_uninit): New function.
4514 (nvptx_reorg): Use workaround_uninit.
4515 * config/nvptx/nvptx.opt (minit-regs): New option.
4517 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
4519 PR rtl-optimization/104498
4520 * alias.cc (compare_base_symbol_refs): Correct distance computation
4521 when swapping x and y.
4523 2022-02-21 Andrew Pinski <apinski@marvell.com>
4526 * tree-ssa.cc (tree_ssa_useless_type_conversion):
4527 Check the inner type before calling useless_type_conversion_p.
4529 2022-02-19 Tom de Vries <tdevries@suse.de>
4531 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
4532 * config/nvptx/nvptx.md
4533 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
4534 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
4535 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
4536 (define_expand "atomic_store<mode>"): Handle rename. Use
4537 nvptx_atomic_store instead of atomic_exchange.
4539 2022-02-19 Tom de Vries <tdevries@suse.de>
4541 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
4542 insns with atomic attribute. Assert that all handled insns are
4544 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
4545 Set atomic attribute to false.
4547 2022-02-19 Tom de Vries <tdevries@suse.de>
4549 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
4551 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
4552 nvptx_warpsync, if necessary.
4554 2022-02-19 Jakub Jelinek <jakub@redhat.com>
4557 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
4558 known to be within bounds, treat it like automatic variables.
4559 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
4560 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
4563 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
4565 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
4566 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
4567 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
4568 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
4569 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
4570 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
4571 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
4572 power10_sched_reorder): Likewise.
4573 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
4574 gen_addadd): Likewise
4575 * config/rs6000/fusion.md: Regenerate.
4577 2022-02-18 Jakub Jelinek <jakub@redhat.com>
4581 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
4582 rather than __posix_memalign.
4584 2022-02-18 Richard Biener <rguenther@suse.de>
4587 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
4588 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
4589 of calling ix86_avx_u128_mode_source which would eventually
4590 have returned AVX_U128_ANY in some very special case.
4592 2022-02-18 Richard Biener <rguenther@suse.de>
4594 PR tree-optimization/96881
4595 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
4597 (control_parents_preserved_p): New function.
4598 (eliminate_unnecessary_stmts): Check that we preserved control
4599 parents before retaining a CLOBBER.
4600 (perform_tree_ssa_dce): Pass down aggressive flag
4601 to eliminate_unnecessary_stmts.
4603 2022-02-17 Jason Merrill <jason@redhat.com>
4605 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
4606 on TYPE_MAIN_VARIANT.
4608 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
4611 * config/rs6000/bmi2intrin.h: Uglify local variables.
4612 * config/rs6000/emmintrin.h: Likewise.
4613 * config/rs6000/mm_malloc.h: Likewise.
4614 * config/rs6000/mmintrin.h: Likewise.
4615 * config/rs6000/pmmintrin.h: Likewise.
4616 * config/rs6000/smmintrin.h: Likewise.
4617 * config/rs6000/tmmintrin.h: Likewise.
4618 * config/rs6000/xmmintrin.h: Likewise.
4620 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
4623 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
4624 if the expected comparison's first operand is of mode MODE_CC.
4626 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
4628 PR rtl-optimization/104447
4629 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
4630 hard reg set by lra_no_alloc_regs.
4632 2022-02-17 liuhongt <hongtao.liu@intel.com>
4634 PR tree-optimization/104551
4635 PR tree-optimization/103771
4636 * match.pd (cond_expr_convert_p): Add types_match check when
4637 convert is extension.
4638 * tree-vect-patterns.cc
4639 (gimple_cond_expr_convert_p): Adjust comments.
4640 (vect_recog_cond_expr_convert_pattern): Ditto.
4642 2022-02-17 Jakub Jelinek <jakub@redhat.com>
4645 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
4646 if expr has VOIDmode.
4648 2022-02-17 liuhongt <hongtao.liu@intel.com>
4650 * config/i386/cpuid.h (bit_MPX): Removed.
4651 (bit_BNDREGS): Ditto.
4652 (bit_BNDCSR): Ditto.
4654 2022-02-17 Michael Meissner <meissner@the-meissners.org>
4657 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
4658 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
4659 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
4662 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
4664 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
4665 range_compatible_p instead of direct type comparison.
4667 2022-02-16 Jakub Jelinek <jakub@redhat.com>
4669 PR rtl-optimization/104544
4670 * combine.cc (try_combine): When looking for insn whose links
4671 should be updated from i3 to i2, don't stop on debug insns, instead
4674 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
4677 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
4678 * config/aarch64/aarch64.md: Extend the PR100056 patterns
4679 to handle plus in the same way as ior, if the operands have
4680 no set bits in common.
4682 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
4684 PR tree-optimization/104526
4685 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
4687 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
4688 of dependency chain if there isn't one.
4689 (gori_compute::condexpr_adjust): New.
4690 * gimple-range-gori.h (class gori_compute): New prototype.
4692 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
4695 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
4697 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
4698 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
4700 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
4702 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
4703 (vect_scalar_ops_slice_hash): Likewise.
4704 (vect_scalar_ops_slice::op): New function.
4705 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
4706 (vect_scalar_ops_slice_hash::hash): Likewise.
4707 (vect_scalar_ops_slice_hash::equal): Likewise.
4708 (vect_prologue_cost_for_slp): Check for duplicate vectors.
4709 * config/aarch64/aarch64.cc
4710 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
4711 (aarch64_aligned_constant_offset_p): New function.
4712 (aarch64_stp_sequence_cost): Likewise.
4713 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
4714 (aarch64_vector_costs::finish_cost): Likewise.
4716 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
4718 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
4721 2022-02-15 Richard Biener <rguenther@suse.de>
4723 PR tree-optimization/104543
4724 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
4725 come after the inner loop.
4727 2022-02-15 Jakub Jelinek <jakub@redhat.com>
4730 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
4731 cannot instead of can%'t in diagnostics. Formatting fixes.
4733 2022-02-15 Jakub Jelinek <jakub@redhat.com>
4735 PR middle-end/104522
4736 * fold-const.h (native_interpret_real): Declare.
4737 * fold-const.cc (native_interpret_real): No longer static. Don't
4738 perform MODE_COMPOSITE_P verification here.
4739 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
4741 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
4742 instead of native_interpret_expr.
4743 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
4744 and comparison verification for all FLOAT_MODE_P modes, not just
4747 2022-02-15 Richard Biener <rguenther@suse.de>
4749 PR tree-optimization/104519
4750 * fold-const.cc (multiple_of_p): Remove never true condition.
4751 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
4752 the appropriate types for determining whether the difference
4753 of final and base is a multiple of the step.
4755 2022-02-15 Jakub Jelinek <jakub@redhat.com>
4758 * omp-low.cc (task_cpyfns): New variable.
4759 (delete_omp_context): Don't call finalize_task_copyfn from here.
4760 (create_task_copyfn): Push task_stmt into task_cpyfns.
4761 (execute_lower_omp): Call finalize_task_copyfn here on entries from
4762 task_cpyfns vector and release the vector.
4764 2022-02-14 Martin Sebor <msebor@redhat.com>
4766 PR middle-end/104355
4767 * doc/invoke.texi (-Warray-bounds): Update documentation.
4769 2022-02-14 Michael Meissner <meissner@the-meissners.org>
4772 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
4773 conversion functions used to convert IFmode types.
4775 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
4777 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
4779 2022-02-14 Richard Biener <rguenther@suse.de>
4781 PR tree-optimization/104528
4782 * tree-ssa.h (find_released_ssa_name): Declare.
4783 * tree-ssa.cc (find_released_ssa_name): Export.
4784 * cfgloop.cc (verify_loop_structure): Look for released
4785 SSA names in loops nb_iterations.
4786 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
4789 2022-02-14 Richard Biener <rguenther@suse.de>
4791 PR tree-optimization/104511
4792 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
4793 touching DFP <-> FP conversions.
4795 2022-02-14 Richard Biener <rguenther@suse.de>
4797 PR middle-end/104497
4798 * gimplify.cc (gimplify_compound_lval): Make sure the
4799 base is a non-register if needed and possible.
4801 2022-02-13 liuhongt <hongtao.liu@intel.com>
4804 * match.pd (cond_expr_convert_p): New match.
4805 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
4806 (vect_recog_cond_expr_convert_pattern): New.
4808 2022-02-12 Jakub Jelinek <jakub@redhat.com>
4811 * asan.cc: Include tree-eh.h.
4812 (handle_builtin_alloca): Handle the case when __builtin_alloca or
4813 __builtin_alloca_with_align can throw.
4815 2022-02-12 Jakub Jelinek <jakub@redhat.com>
4818 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
4819 and AVX512VL isn't available, move operands[1] to operands[0] first.
4821 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
4824 * config/i386/i386.cc (type_natural_mode):
4825 Skip decimal float vector modes.
4827 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
4828 Vladimir Makarov <vmakarov@redhat.com>
4831 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
4832 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
4834 (legitimate_lo_sum_address_p): Likewise.
4835 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
4836 load from an invalid lo_sum address.
4838 2022-02-11 Jakub Jelinek <jakub@redhat.com>
4840 PR tree-optimization/104499
4841 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
4844 2022-02-11 Jakub Jelinek <jakub@redhat.com>
4846 * tree.cc (build_common_builtin_nodes): Fix up formatting in
4847 __builtin_clear_padding decl creation.
4848 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
4849 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
4850 argument rather than in 3rd argument.
4851 (gimplify_call_expr): Likewise. Fix up comment formatting.
4852 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
4853 2 arguments instead of 3, take for_auto_init from the value
4856 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
4858 PR rtl-optimization/104400
4859 * lra-constraints.cc (process_alt_operands): Don't make union of
4860 this_alternative_exclude_start_hard_regs when reg class in insn
4861 alternative covers other reg classes in the same alternative.
4863 2022-02-11 Jakub Jelinek <jakub@redhat.com>
4865 PR middle-end/104446
4866 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
4869 2022-02-11 Richard Biener <rguenther@suse.de>
4871 PR middle-end/104496
4872 * internal-fn.cc (vectorized_internal_fn_supported_p):
4873 Bail out for integer mode vector types.
4875 2022-02-11 Jakub Jelinek <jakub@redhat.com>
4877 PR rtl-optimization/104459
4878 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
4879 moving DEBUG_INSNs between bbs.
4881 2022-02-11 liuhongt <hongtao.liu@intel.com>
4883 PR tree-optimization/104479
4884 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
4885 for the dest of uncond_op.
4887 2022-02-11 Tom de Vries <tdevries@suse.de>
4890 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
4893 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
4895 PR middle-end/100775
4896 * function.cc (gen_call_used_regs_seq): Call
4897 df_update_exit_block_uses when updating df.
4899 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
4902 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
4903 Change operand 1 constraint to register_operand.
4905 2022-02-10 Richard Biener <rguenther@suse.de>
4907 PR tree-optimization/104373
4908 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
4910 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
4911 walk kind as argument.
4912 (run_rpo_vn): Adjust.
4913 (pass_fre::execute): Likewise.
4914 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
4915 blocks not reachable.
4916 (execute_late_warn_uninitialized): Mark all edges as
4918 (execute_early_warn_uninitialized): Use VN to compute
4920 (pass_data_early_warn_uninitialized): Enable a dump file,
4921 change dump name to warn_uninit.
4923 2022-02-10 Richard Biener <rguenther@suse.de>
4925 PR middle-end/104467
4926 * match.pd (vector extract simplification): Multiply the
4927 number of CTOR elements with the number of element elements.
4929 2022-02-10 Richard Biener <rguenther@suse.de>
4931 PR tree-optimization/104466
4932 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
4933 for the MR_DEPENDENCE checks as intended.
4935 2022-02-10 Tom de Vries <tdevries@suse.de>
4937 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
4939 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
4941 (define_c_enum "unspecv"): Add UNSPECV_ST.
4943 2022-02-10 Tom de Vries <tdevries@suse.de>
4945 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
4946 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
4947 (nvptx_mem_maybe_shared_p): New function.
4948 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
4951 2022-02-10 Tom de Vries <tdevries@suse.de>
4954 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
4955 driver JIT bug by using sub.s16 instead of sub.u16.
4957 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4959 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
4960 floating point constants as operands 1 and/or 2.
4962 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4965 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
4966 (sel_false<mode>): Likewise.
4967 (define_code_iterator eqne): New code iterator for EQ and NE.
4968 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
4969 the negation of a selp instruction.
4970 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
4971 the bitwise not of a selp instruction.
4972 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
4974 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4976 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
4977 in machine description.
4978 (logic): Move code attribute earlier in machine description.
4979 (ilogic): New code attribute, like logic but "ior" for IOR.
4980 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
4981 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
4982 (<ilogic>bi3): New define_insn for BI mode logic operations.
4983 (define_split): Lower logic operations from integer modes to
4984 BI mode predicate operations.
4986 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
4988 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
4989 (one_cmplbi2): New define_insn for not.pred.
4990 (mulditi3): New define_expand for signed widening multiply.
4991 (umulditi3): New define_expand for unsigned widening multiply.
4992 (smul<mode>3_highpart): New define_insn for signed highpart mult.
4993 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
4994 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
4995 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
4996 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
4997 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
4998 (*setcc<mode>_from_not_bi): New define_insn.
4999 (*setcc_isinf<mode>): New define_insn for testp.infinite.
5000 (isinf<mode>2): New define_expand.
5002 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
5004 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
5005 (setcc<mode>_from_bi): Additionally support QImode.
5006 (extendbi<mode>2): Additionally support QImode.
5007 (zero_extendbi<mode>2): Additionally support QImode.
5008 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
5009 iterators for signed and unsigned, binary and unary operations.
5010 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
5011 expanders to perform QImode operations using SImode instructions.
5012 (cstoreqi4): New define_expand.
5013 (*ext_truncsi2_qi): New define_insn.
5014 (*zext_truncsi2_qi): New define_insn.
5016 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
5018 * config/nvptx/nvptx.md (*cmpf): New define_insn.
5019 (cstorehf4): New define_expand.
5020 (fmahf4): New define_insn.
5021 (neghf2): New define_insn.
5022 (abshf2): New define_insn.
5024 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
5026 * doc/install.texi (Specific): Change the www.bitwizard.nl
5027 reference to use https.
5029 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
5031 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
5032 OMP_CLAUSE_HAS_DEVICE_ADDR
5033 and handle array sections.
5034 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
5035 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
5036 (lower_omp_target): Same.
5037 * tree-core.h (enum omp_clause_code): Same.
5038 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
5039 (convert_local_omp_clauses): Same.
5040 * tree-pretty-print.cc (dump_omp_clause): Same.
5043 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
5045 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
5046 that will result in direct recursive calls.
5048 2022-02-10 Andrew Pinski <apinski@marvell.com>
5051 * config/aarch64/aarch64.cc
5052 (aarch64_sve_expand_vector_init_handle_trailing_constants):
5053 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
5055 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
5058 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
5059 Also include OPTION_MASK_ISA2_AVX2_UNSET.
5061 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
5064 * config/i386/i386-expand.cc (ix86_split_idivmod):
5065 Force operands[2] and operands[3] into a register..
5067 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
5070 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
5071 (*v850_fnmssf4): Renamed from fnmssf4
5073 2022-02-09 Ian Lance Taylor <iant@golang.org>
5075 * godump.cc (go_force_record_alignment): Really name the alignment
5076 field "_" (complete 2021-12-29 change).
5078 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
5080 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
5082 (VREPLACE_UN_UV4SI): Likewise.
5083 (VREPLACE_UN_V2DF): Likewise.
5084 (VREPLACE_UN_V2DI): Likewise.
5085 (VREPLACE_UN_V4SF): Likewise.
5086 (VREPLACE_UN_V4SI): Likewise.
5087 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
5088 function prototypes.
5089 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
5090 (vreplace_un_<mode>): New define_insn.
5092 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5094 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
5096 (single_wx, single_type, single_dtype, dblq): New mode attributes.
5097 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
5099 (store_pair_lanes<mode>): Likewise.
5100 (*aarch64_combine_internal<mode>): Likewise.
5101 (*aarch64_combine_internal_be<mode>): Likewise.
5102 (*aarch64_combinez<mode>): Likewise.
5103 (*aarch64_combinez_be<mode>): Likewise.
5104 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
5105 8-byte modes for ADDR_QUERY_LDP_STP_N.
5106 (aarch64_print_operand): Likewise for %y.
5108 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5110 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
5111 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
5112 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
5113 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
5114 (vec_pack_trunc_<mode>): Take general_operand elements and use
5115 aarch64_combine rather than move_lo/hi_quad to combine them.
5116 (vec_pack_trunc_df): Likewise.
5118 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5120 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
5122 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
5124 (*aarch64_combinez<mode>): ...this.
5125 (@aarch64_combinez_be<mode>): Rename to...
5126 (*aarch64_combinez_be<mode>): ...this.
5127 (@aarch64_vec_concat<mode>): New expander.
5128 (aarch64_combine<mode>): Use it.
5129 (@aarch64_simd_combine<mode>): Delete.
5130 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
5131 (aarch64_expand_vector_init): Use aarch64_vec_concat.
5133 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5135 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
5137 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
5138 (*aarch64_combine_internal_be<mode>): New patterns.
5140 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5142 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
5143 (move_lo_quad_internal_be_<mode>): Delete.
5144 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
5146 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5148 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
5150 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
5151 aarch64_mergeable_load_pair_p instead of inline check.
5152 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
5153 (aarch64_check_consecutive_mems): Allow the reversed parameter
5155 (aarch64_mergeable_load_pair_p): New function.
5157 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5159 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
5160 element to be an aarch64_simd_nonimmediate_operand.
5162 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
5164 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
5165 aarch64_simd_nonimmediate_operand instead of
5166 aarch64_simd_general_operand.
5167 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
5169 (@aarch64_combinez_be<mode>): Likewise.
5171 2022-02-09 Richard Biener <rguenther@suse.de>
5173 PR middle-end/104464
5174 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
5175 throwing check to after unproblematic replacement.
5177 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
5179 PR tree-optimization/104420
5180 * match.pd (mult @0 real_zerop): Tweak conditions for constant
5181 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
5183 2022-02-09 Jakub Jelinek <jakub@redhat.com>
5186 * dwarf2out.cc (mangle_referenced_decls): New function.
5187 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
5188 early_dwarf. Instead walk the initializer and try to mangle vars or
5189 functions referenced from it.
5191 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
5193 PR tree-optimization/104288
5194 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
5195 (non_null_ref::adjust_range): Move to header.
5196 (ranger_cache::range_of_def): Don't check non-null.
5197 (ranger_cache::entry_range): Don't check non-null.
5198 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
5199 (ranger_cache::update_to_nonnull): New.
5200 (non_null_loadstore): New.
5201 (ranger_cache::block_apply_nonnull): New.
5202 * gimple-range-cache.h (class non_null_ref): Update prototypes.
5203 (non_null_ref::adjust_range): Move to here and inline.
5204 (class ranger_cache): Update prototypes.
5205 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
5206 not search dominators.
5207 (path_range_query::adjust_for_non_null_uses): Ditto.
5208 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
5209 def overrides. Do not check nonnull.
5210 (gimple_ranger::range_on_entry): Check dominators for nonnull.
5211 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
5212 (gimple_ranger::register_side_effects): New.
5213 * gimple-range.h (gimple_ranger::register_side_effects): New.
5214 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
5216 2022-02-09 Richard Biener <rguenther@suse.de>
5218 PR tree-optimization/104445
5219 PR tree-optimization/102832
5220 * optabs-query.h (can_vec_extract): New.
5221 * optabs-query.cc (can_vec_extract): Likewise.
5222 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
5223 we can extract a hi/lo part from the larger vector, rework
5224 check iteration from larger to smaller sizes.
5226 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
5230 * config/i386/gnu-property.cc: Include "i386-protos.h".
5231 (file_end_indicate_exec_stack_and_gnu_property): Generate
5232 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
5233 nodirect_extern_access attribute.
5234 * config/i386/i386-options.cc
5235 (handle_nodirect_extern_access_attribute): New function.
5236 (ix86_attribute_table): Add nodirect_extern_access attribute.
5237 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
5239 (ix86_has_no_direct_extern_access): New.
5240 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
5241 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
5242 call operand. Force non-call load from GOT for
5243 -mno-direct-extern-access or nodirect_extern_access attribute.
5244 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
5245 for -mno-direct-extern-access or nodirect_extern_access attribute.
5246 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
5248 (asm_preferred_eh_data_format): Use PC-relative format for
5249 -mno-direct-extern-access to avoid copy relocation. Check
5250 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
5251 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
5252 true for -mno-direct-extern-access or nodirect_extern_access
5253 attribute. Don't treat protected data as extern and avoid copy
5254 relocation on common symbol with -mno-direct-extern-access or
5255 nodirect_extern_access attribute.
5256 (ix86_reloc_rw_mask): New to avoid copy relocation for
5257 -mno-direct-extern-access.
5258 (TARGET_ASM_RELOC_RW_MASK): New.
5259 * config/i386/i386.opt: Add -mdirect-extern-access.
5260 * doc/extend.texi: Document nodirect_extern_access attribute.
5261 * doc/invoke.texi: Document -m[no-]direct-extern-access.
5263 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
5266 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
5267 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
5268 Call ix86_avx_u128_mode_source to check mode for each component
5271 2022-02-09 liuhongt <hongtao.liu@intel.com>
5274 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
5275 operands[2] from SImode to QImode.
5277 2022-02-09 Richard Biener <rguenther@suse.de>
5279 PR middle-end/104450
5280 * gimple-isel.cc: Pass cfun around.
5281 (+gimple_expand_vec_cond_expr): Do not combine a throwing
5282 comparison with the select.
5284 2022-02-09 Richard Biener <rguenther@suse.de>
5287 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
5288 folding for NULL LHS.
5290 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
5292 PR rtl-optimization/104198
5293 PR rtl-optimization/104153
5294 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
5295 using it directly. Rework comparison handling and always
5296 perform a second pass.
5298 2022-02-08 Jakub Jelinek <jakub@redhat.com>
5301 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
5302 split1 pass has finished already.
5304 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
5306 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
5307 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
5308 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
5309 (vmsumcud): New define_insn.
5311 2022-02-08 Tom de Vries <tdevries@suse.de>
5313 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
5314 * config/nvptx/nvptx.h (TARGET_SM70): Define.
5316 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
5318 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
5320 * config/s390/s390.md: Use paradoxical subreg.
5322 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
5324 * combine.cc (reg_subword_p): Check for paradoxical subreg.
5326 2022-02-08 Tom de Vries <tdevries@suse.de>
5329 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
5330 and PTX_VERSION_4_2.
5331 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
5332 (default_ptx_version_option, ptx_version_to_string)
5333 (sm_version_to_string, handle_ptx_version_option): New function.
5334 (nvptx_option_override): Call handle_ptx_version_option.
5335 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
5336 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
5337 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
5338 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
5340 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
5342 * doc/install.texi (Configuration): Document `--with-isa-spec='
5344 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
5346 (RISC-V Options): Document it.
5348 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
5350 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
5352 2022-02-08 Tom de Vries <tdevries@suse.de>
5354 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
5356 2022-02-08 Tom de Vries <tdevries@suse.de>
5359 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
5360 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
5361 change is validated.
5362 (nvptx_mem_local_p): New function.
5363 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
5364 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
5365 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
5366 non-atomic, non-predicable define_insn, factored out of ...
5367 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
5368 Make predicable again.
5369 (define_expand "atomic_compare_and_swap<mode>"): Use
5370 atomic_compare_and_swap<mode>_1_local.
5372 2022-02-08 liuhongt <hongtao.liu@intel.com>
5374 PR rtl-optimization/104059
5375 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
5376 for a more expensive reg-reg move.
5378 2022-02-07 Tamar Christina <tamar.christina@arm.com>
5380 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
5381 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
5382 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
5383 (usdot_laneq, sudot_laneq): New.
5384 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
5385 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
5387 2022-02-07 Tamar Christina <tamar.christina@arm.com>
5389 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
5390 vdot_laneq_s32, vdotq_laneq_s32): New.
5391 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
5392 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
5393 (<sup>dot_prod<vsi2qi>): Re-order rtl.
5394 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
5395 (neon_<sup>dot_laneq<vsi2qi>): New.
5397 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
5400 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
5401 if always_inline is set. Don't inline when tune differs without
5404 2022-02-07 Richard Biener <rguenther@suse.de>
5406 PR middle-end/104402
5407 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
5408 compares are not valid.
5409 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
5410 check is_gimple_condexpr.
5412 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
5415 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
5416 hunk affecting VSX and ALTIVEC to appropriate place.
5418 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
5421 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
5424 2022-02-06 Jakub Jelinek <jakub@redhat.com>
5428 * fold-const.h (folding_initializer): Adjust comment.
5429 (folding_cxx_constexpr): Declare.
5430 * fold-const.cc (folding_initializer): Adjust comment.
5431 (folding_cxx_constexpr): New variable.
5432 (address_compare): Restrict the decl vs. STRING_CST
5433 or vice versa or STRING_CST vs. STRING_CST or
5434 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
5435 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
5436 assume non-aliased functions have non-zero size and have different
5437 addresses. For folding_cxx_constexpr, punt on comparisons of start
5438 of some object and end of another one, regardless whether it is a decl
5439 or string literal. Also punt for folding_cxx_constexpr on
5440 STRING_CST vs. STRING_CST comparisons if the two literals could be
5443 2022-02-05 Jakub Jelinek <jakub@redhat.com>
5445 PR tree-optimization/104389
5446 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
5449 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
5451 * configure.ac: Fix detection for zifencei support.
5452 * configure: Regenerate.
5454 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
5457 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
5458 (all_defaults): Add isa_spec.
5459 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
5461 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
5463 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
5464 parameters instead of arglist and nargs. Simplify accordingly. Remove
5465 unnecessary test for argument count mismatch.
5466 (resolve_vec_cmpne): Likewise.
5467 (resolve_vec_adde_sube): Likewise.
5468 (resolve_vec_addec_subec): Likewise.
5469 (altivec_resolve_overloaded_builtin): Move overload special handling
5470 after the gathering of arguments into args[] and types[] and the test
5471 for correct number of arguments. Don't perform the test for correct
5472 number of arguments for certain special cases. Call the other special
5473 cases with args and types instead of arglist and nargs.
5475 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
5478 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
5479 3.1): Provide consistent type names. Remove unnecessary semicolons.
5480 Fix bad line breaks.
5482 2022-02-04 Jakub Jelinek <jakub@redhat.com>
5485 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
5486 adjust mangling of __builtin*printf_chk.
5488 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
5490 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
5492 2022-02-04 Richard Biener <rguenther@suse.de>
5493 Bin Cheng <bin.cheng@linux.alibaba.com>
5495 PR tree-optimization/100499
5496 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
5498 * fold-const.cc (multiple_of_p): Likewise. Honor it for
5499 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
5500 switching to false for conversions.
5501 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
5502 claim the outermost expression does not wrap when calling
5503 multiple_of_p. Refactor the check done to check the
5504 original IV, avoiding a bias that might wrap.
5506 2022-02-04 Richard Biener <rguenther@suse.de>
5508 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
5511 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
5514 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
5515 (dwarf2out_early_finish): Likewise.
5517 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
5519 PR tree-optimization/104356
5520 * match.pd (X / bool_range_Y is X): Add guard.
5521 (X / X is one): Likewise.
5522 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
5523 (X / -X is -1): Likewise.
5524 (1 / X -> X == 1): Likewise.
5526 2022-02-04 Richard Biener <rguenther@suse.de>
5528 PR tree-optimization/103641
5529 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
5530 Pass the vector mode to choose_mult_variant.
5532 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
5534 PR rtl-optimization/101885
5535 * combine.cc (try_combine): When splitting a parallel into two
5536 sequential sets, check not only that the first doesn't clobber
5537 the second but also that the second doesn't clobber the first.
5539 2022-02-04 Richard Biener <rguenther@suse.de>
5542 PR middle-end/104092
5543 * tree-core.h (clobber_kind): New enum.
5544 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
5545 * tree.h (CLOBBER_KIND): Add.
5546 (build_clobber): Add clobber kind argument, defaulted to
5548 * tree.cc (build_clobber): Likewise.
5549 * gimple.h (gimple_clobber_p): New overload with specified kind.
5550 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
5552 * tree-streamer-out.cc (streamer_write_tree_bitfields):
5554 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
5555 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
5557 (gimplify_target_expr): Likewise.
5558 * tree-inline.cc (expand_call_inline): Likewise.
5559 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
5560 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
5561 CLOBBER_EOL clobbers as ending lifetime of storage.
5563 2022-02-04 Martin Sebor <msebor@redhat.com>
5565 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
5568 2022-02-03 Martin Sebor <msebor@redhat.com>
5570 PR middle-end/104260
5571 * passes.def (pass_warn_access): Adjust pass placement.
5573 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
5576 * config/i386/i386.cc (find_drap_reg): For 32bit targets
5577 return DI_REG if function uses __builtin_eh_return.
5579 2022-02-03 Martin Sebor <msebor@redhat.com>
5581 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
5582 (pass_wrestrict::m_ptr_qry): New member.
5583 (wrestrict_walk): Rename...
5584 (pass_wrestrict::check_block): ...to this.
5585 (pass_wrestrict::execute): Set up and tear down pointer_query and
5587 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
5588 (builtin_access::builtin_access): Same.
5589 (builtin_access::m_ptr_qry): New member.
5590 (check_call): Rename...
5591 (pass_wrestrict::check_call): ...to this.
5592 (check_bounds_or_overlap): Change argument.
5593 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
5595 2022-02-03 Martin Sebor <msebor@redhat.com>
5597 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
5599 (array_bounds_checker::get_value_range): Use new member.
5600 (array_bounds_checker::check_mem_ref): Same.
5601 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
5603 (array_bounds_checker::m_ptr_query): New member.
5605 2022-02-03 Martin Sebor <msebor@redhat.com>
5607 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
5608 pointer_query cache.
5609 * pointer-query.cc (pointer_query::pointer_query): Remove cache
5610 argument. Zero-initialize new cache member.
5611 (pointer_query::get_ref): Replace cache pointer with direct access.
5612 (pointer_query::put_ref): Same.
5613 (pointer_query::flush_cache): Same.
5614 (pointer_query::dump): Same.
5615 * pointer-query.h (class pointer_query): Remove cache argument from
5616 ctor. Change cache pointer to cache subobject member.
5617 * tree-ssa-strlen.cc: Remove pointer_query cache.
5619 2022-02-03 Martin Sebor <msebor@redhat.com>
5621 PR tree-optimization/104119
5622 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
5623 (format_none): Same.
5624 (format_percent): Same.
5625 (format_integer): Same.
5626 (format_floating): Same.
5627 (get_string_length): Same.
5628 (format_character): Same.
5629 (format_string): Same.
5630 (format_plain): Same.
5631 (format_directive): Same.
5632 (compute_format_length): Same.
5633 (handle_printf_call): Same.
5634 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
5636 (get_range_strlen_phi): Same.
5637 (get_maxbound): New function.
5638 (strlen_pass::get_len_or_size): Adjust to parameter change.
5639 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
5641 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
5644 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
5645 test for !rs6000_fold_gimple.
5646 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
5647 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
5649 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
5652 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
5653 endianness for vclzlsbb and vctzlsbb.
5654 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
5655 default pattern and indicate a different pattern will be used for
5657 (VCLZLSBB_V4SI): Likewise.
5658 (VCLZLSBB_V8HI): Likewise.
5659 (VCTZLSBB_V16QI): Likewise.
5660 (VCTZLSBB_V4SI): Likewise.
5661 (VCTZLSBB_V8HI): Likewise.
5663 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
5665 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
5666 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
5668 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
5670 (cpu_supports_info): Likewise.
5671 (rs6000_type_string): Likewise.
5672 (altivec_expand_predicate_builtin): Likewise.
5673 (rs6000_htm_spr_icode): Likewise.
5674 (altivec_expand_vec_init_builtin): Likewise.
5675 (get_element_number): Likewise.
5676 (altivec_expand_vec_set_builtin): Likewise.
5677 (altivec_expand_vec_ext_builtin): Likewise.
5678 (rs6000_invalid_builtin): Likewise.
5679 (rs6000_fold_builtin): Likewise.
5680 (fold_build_vec_cmp): Likewise.
5681 (fold_compare_helper): Likewise.
5682 (map_to_integral_tree_type): Likewise.
5683 (fold_mergehl_helper): Likewise.
5684 (fold_mergeeo_helper): Likewise.
5685 (rs6000_builtin_valid_without_lhs): Likewise.
5686 (rs6000_builtin_is_supported): Likewise.
5687 (rs6000_gimple_fold_mma_builtin): Likewise.
5688 (rs6000_gimple_fold_builtin): Likewise.
5689 (rs6000_expand_ldst_mask): Likewise.
5690 (cpu_expand_builtin): Likewise.
5691 (elemrev_icode): Likewise.
5692 (ldv_expand_builtin): Likewise.
5693 (lxvrse_expand_builtin): Likewise.
5694 (lxvrze_expand_builtin): Likewise.
5695 (stv_expand_builtin): Likewise.
5696 (mma_expand_builtin): Likewise.
5697 (htm_spr_num): Likewise.
5698 (htm_expand_builtin): Likewise.
5699 (rs6000_expand_builtin): Likewise.
5700 (rs6000_vector_type): Likewise.
5701 (rs6000_init_builtins): Likewise. Remove initialization of
5702 builtin_mode_to_type entries.
5703 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
5704 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
5705 external declaration.
5706 (rs6000_builtin_md_vectorized_function): Likewise.
5707 (rs6000_builtin_reciprocal): Likewise.
5708 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
5709 (rs6000_builtin_types): Likewise.
5710 (builtin_mode_to_type): Remove.
5711 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
5713 (rs6000_builtin_md_vectorized_function): Likewise.
5714 (rs6000_builtin_reciprocal): Likewise.
5715 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
5716 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
5718 2022-02-03 Richard Biener <rguenther@suse.de>
5721 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
5722 together via DECL_ABSTRACT_ORIGIN.
5724 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
5726 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
5727 message for RES_BITS case.
5729 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
5731 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
5733 2022-02-03 Jakub Jelinek <jakub@redhat.com>
5735 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
5736 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
5738 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
5740 * cfganal.cc (verify_marked_backedges): New.
5741 * cfganal.h (verify_marked_backedges): New.
5742 * gimple-range-path.cc (path_range_query::path_range_query):
5743 Verify freshness of back edges.
5744 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
5745 mark_dfs_back_edges.
5746 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
5747 path_range_query construction after backedges have been
5750 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
5752 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
5755 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
5757 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
5758 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
5761 2022-02-03 Martin Liska <mliska@suse.cz>
5763 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
5764 Change subject and object in the error message.
5765 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
5768 2022-02-03 Martin Liska <mliska@suse.cz>
5770 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
5771 Use the error message for i386 target.
5773 2022-02-03 Jakub Jelinek <jakub@redhat.com>
5775 PR tree-optimization/104334
5776 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
5777 and rh_range type to widest_int and subtract in widest_int. Remove
5778 ov_rh, ov_lh and sign vars, always perform comparisons as signed
5779 and use >, < and == operators for it.
5781 2022-02-03 Martin Sebor <msebor@redhat.com>
5783 * common.opt (-Wuse-after-free): Correct typos.
5785 2022-02-02 David Malcolm <dmalcolm@redhat.com>
5788 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
5789 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
5790 -ftrivial-auto-var-init= doesn't suppress warnings.
5792 2022-02-02 Martin Liska <mliska@suse.cz>
5794 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
5796 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
5799 * config/or1k/linux.h (CPP_SPEC): Define.
5801 2022-02-02 Tamar Christina <tamar.christina@arm.com>
5803 PR tree-optimization/102819
5804 PR tree-optimization/103169
5805 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
5808 2022-02-02 Tamar Christina <tamar.christina@arm.com>
5810 PR tree-optimization/102819
5811 PR tree-optimization/103169
5812 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
5814 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
5816 2022-02-02 Tamar Christina <tamar.christina@arm.com>
5818 PR tree-optimization/102819
5819 PR tree-optimization/103169
5820 * doc/md.texi: Update docs for cfms, cfma.
5821 * tree-data-ref.h (same_data_refs): Accept optional offset.
5822 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
5824 (vect_normalize_conj_loc): Remove.
5825 (is_eq_or_top): Change to take two nodes.
5826 (enum _conj_status, compatible_complex_nodes_p,
5827 vect_validate_multiplication): New.
5828 (class complex_add_pattern, complex_add_pattern::matches,
5829 complex_add_pattern::recognize, class complex_mul_pattern,
5830 complex_mul_pattern::recognize, class complex_fms_pattern,
5831 complex_fms_pattern::recognize, class complex_operations_pattern,
5832 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
5834 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
5835 cache and use new validation code.
5836 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
5837 vect_analyze_slp): Pass along cache.
5838 (compatible_calls_p): Expose.
5839 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
5840 slp_compat_nodes_map_t): New.
5841 (class vect_pattern): Update signatures include new cache.
5843 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
5845 * config/cris/cris.cc (cris_preferred_reload_class): Reject
5846 "eliminated" registers and small-enough constants unless
5847 reloaded into a class that is a subset of GENERAL_REGS.
5848 * config/cris/cris.md (attribute "cpu_variant"): New.
5849 (attribute "enabled"): Conditionalize on a matching attribute
5850 cpu_variant, if specified.
5851 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
5852 memory, add cpu-variant-enabled variants for "r" alternatives on
5853 the far side of the "x" alternatives, preferring the "x" ones
5854 only for variants where MOF is present (in addition to SRP).
5856 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
5858 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
5859 extra cost for ALL_REGS.
5861 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
5863 * config/cris/constraints.md (define_register_constraint "b"): Now
5865 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
5866 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
5867 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
5868 and SPEC_GENNONACR_REGS.
5869 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
5870 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
5872 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
5874 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
5875 Conditionalize on (sub-)register operands or operand 1 being 0.
5877 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
5879 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
5880 (MUL_BUG_ASM_DEFAULT): New macro.
5881 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
5882 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
5885 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
5887 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
5890 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
5892 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
5894 2022-02-01 Andrew Pinski <apinski@marvell.com>
5898 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
5900 * config/s390/s390.cc (s390_code_end): Do not switch back to
5903 2022-02-01 Jakub Jelinek <jakub@redhat.com>
5906 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
5907 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
5908 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
5909 GTY((user)) for struct bifdata and struct ovlddata. Instead add
5910 GTY((skip(""))) to members with pointer and enum types that don't need
5911 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
5912 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
5913 (write_extern_fntype, write_fntype): Remove.
5914 (write_fntype_init): Emit the fntype vars as automatic vars instead
5916 (write_header_file): Don't iterate with write_extern_fntype.
5917 (write_init_file): Don't iterate with write_fntype. Don't emit
5918 gt_ggc_mx and gt_pch_nx definitions.
5920 2022-02-01 Jason Merrill <jason@redhat.com>
5922 * tree.h (struct tree_vec_map_cache_hasher): Move from...
5923 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
5925 2022-02-01 Tom de Vries <tdevries@suse.de>
5927 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
5928 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
5929 UNSPECV_UNIFORM_WARP_CHECK.
5930 (define_insn "nvptx_uniform_warp_check"): New define_insn.
5932 2022-02-01 Tom de Vries <tdevries@suse.de>
5934 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
5935 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
5937 (define_insn "nvptx_warpsync"): New define_insn.
5939 2022-02-01 Tom de Vries <tdevries@suse.de>
5941 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
5943 2022-02-01 Tom de Vries <tdevries@suse.de>
5945 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
5946 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
5947 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
5948 insn for TARGET_PTX_6_0.
5950 2022-02-01 Tom de Vries <tdevries@suse.de>
5953 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
5956 2022-02-01 Tom de Vries <tdevries@suse.de>
5958 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
5959 (define_insn "atomic_exchange<mode>")
5960 (define_insn "atomic_fetch_add<mode>")
5961 (define_insn "atomic_fetch_addsf")
5962 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
5963 if memory operands is frame-relative.
5965 2022-02-01 Tom de Vries <tdevries@suse.de>
5967 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
5968 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
5970 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
5971 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
5972 NVPTX_BUILTIN_MEMBAR_CTA.
5973 (nvptx_lockfull_update): Add level parameter. Emit barriers.
5974 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
5975 nvptx_lockfull_update.
5976 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
5978 (define_expand "nvptx_membar_gl"): New expand.
5979 (define_insn "*nvptx_membar_gl"): New insn.
5981 2022-02-01 Martin Liska <mliska@suse.cz>
5983 * doc/install.texi: Remove option for GCC < 4.8.
5985 2022-02-01 Jakub Jelinek <jakub@redhat.com>
5987 PR middle-end/104307
5988 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
5989 stmts to uses vector, just set vec_cond_expr_only to false for
5990 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
5991 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
5992 like non-VEC_COND_EXPRs.
5994 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
5996 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
5997 (VEC_BLENDV): Likewise.
5998 (VEC_BPERM): Likewise.
5999 (VEC_CFUGE): Likewise.
6000 (VEC_CIPHER_BE): Likewise.
6001 (VEC_CIPHERLAST_BE): Likewise.
6002 (VEC_CLRL): Likewise.
6003 (VEC_CLRR): Likewise.
6004 (VEC_CMPNEZ): Likewise.
6005 (VEC_CNTLZ): Likewise.
6006 (VEC_CNTLZM): Likewise.
6007 (VEC_CNTTZM): Likewise.
6008 (VEC_CNTLZ_LSBB): Likewise.
6009 (VEC_CNTM): Likewise.
6010 (VEC_CNTTZ): Likewise.
6011 (VEC_CNTTZ_LSBB): Likewise.
6012 (VEC_CONVERT_4F32_8F16): Likewise.
6013 (VEC_DIV): Likewise.
6014 (VEC_DIVE): Likewise.
6015 (VEC_EQV): Likewise.
6016 (VEC_EXPANDM): Likewise.
6017 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
6018 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
6019 (VEC_EXTRACTH): Likewise.
6020 (VEC_EXTRACTL): Likewise.
6021 (VEC_EXTRACTM): Likewise.
6022 (VEC_EXTRACT4B): Likewise.
6023 (VEC_EXTULX): Likewise.
6024 (VEC_EXTURX): Likewise.
6025 (VEC_FIRSTMATCHINDEX): Likewise.
6026 (VEC_FIRSTMACHOREOSINDEX): Likewise.
6027 (VEC_FIRSTMISMATCHINDEX): Likewise.
6028 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
6030 (VEC_GENBM): Likewise.
6031 (VEC_GENHM): Likewise.
6032 (VEC_GENWM): Likewise.
6033 (VEC_GENDM): Likewise.
6034 (VEC_GENQM): Likewise.
6035 (VEC_GENPCVM): Likewise.
6036 (VEC_GNB): Likewise.
6037 (VEC_INSERTH): Likewise.
6038 (VEC_INSERTL): Likewise.
6039 (VEC_INSERT4B): Likewise.
6040 (VEC_LXVL): Likewise.
6041 (VEC_MERGEE): Likewise.
6042 (VEC_MERGEO): Likewise.
6043 (VEC_MOD): Likewise.
6044 (VEC_MSUB): Likewise.
6045 (VEC_MULH): Likewise.
6046 (VEC_NAND): Likewise.
6047 (VEC_NCIPHER_BE): Likewise.
6048 (VEC_NCIPHERLAST_BE): Likewise.
6049 (VEC_NEARBYINT): Likewise.
6050 (VEC_NMADD): Likewise.
6051 (VEC_ORC): Likewise.
6052 (VEC_PDEP): Likewise.
6053 (VEC_PERMX): Likewise.
6054 (VEC_PEXT): Likewise.
6055 (VEC_POPCNT): Likewise.
6056 (VEC_PARITY_LSBB): Likewise.
6057 (VEC_REPLACE_ELT): Likewise.
6058 (VEC_REPLACE_UN): Likewise.
6059 (VEC_REVB): Likewise.
6060 (VEC_RINT): Likewise.
6061 (VEC_RLMI): Likewise.
6062 (VEC_RLNM): Likewise.
6063 (VEC_SBOX_BE): Likewise.
6064 (VEC_SIGNEXTI): Likewise.
6065 (VEC_SIGNEXTLL): Likewise.
6066 (VEC_SIGNEXTQ): Likewise.
6067 (VEC_SLDB): Likewise.
6068 (VEC_SLV): Likewise.
6069 (VEC_SPLATI): Likewise.
6070 (VEC_SPLATID): Likewise.
6071 (VEC_SPLATI_INS): Likewise.
6072 (VEC_SQRT): Likewise.
6073 (VEC_SRDB): Likewise.
6074 (VEC_SRV): Likewise.
6075 (VEC_STRIL): Likewise.
6076 (VEC_STRIL_P): Likewise.
6077 (VEC_STRIR): Likewise.
6078 (VEC_STRIR_P): Likewise.
6079 (VEC_STXVL): Likewise.
6080 (VEC_TERNARYLOGIC): Likewise.
6081 (VEC_TEST_LSBB_ALL_ONES): Likewise.
6082 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
6083 (VEC_VEE): Likewise.
6084 (VEC_VES): Likewise.
6085 (VEC_VIE): Likewise.
6086 (VEC_VPRTYB): Likewise.
6087 (VEC_VSCEEQ): Likewise.
6088 (VEC_VSCEGT): Likewise.
6089 (VEC_VSCELT): Likewise.
6090 (VEC_VSCEUO): Likewise.
6091 (VEC_VSEE): Likewise.
6092 (VEC_VSES): Likewise.
6093 (VEC_VSIE): Likewise.
6094 (VEC_VSTDC): Likewise.
6095 (VEC_VSTDCN): Likewise.
6096 (VEC_VTDC): Likewise.
6098 (VEC_XL_BE): Likewise.
6099 (VEC_XL_LEN_R): Likewise.
6100 (VEC_XL_SEXT): Likewise.
6101 (VEC_XL_ZEXT): Likewise.
6102 (VEC_XST): Likewise.
6103 (VEC_XST_BE): Likewise.
6104 (VEC_XST_LEN_R): Likewise.
6105 (VEC_XST_TRUNC): Likewise.
6106 (VEC_XXPERMDI): Likewise.
6107 (VEC_XXSLDWI): Likewise.
6108 (VEC_TSTSFI_EQ_DD): Likewise.
6109 (VEC_TSTSFI_EQ_TD): Likewise.
6110 (VEC_TSTSFI_GT_DD): Likewise.
6111 (VEC_TSTSFI_GT_TD): Likewise.
6112 (VEC_TSTSFI_LT_DD): Likewise.
6113 (VEC_TSTSFI_LT_TD): Likewise.
6114 (VEC_TSTSFI_OV_DD): Likewise.
6115 (VEC_TSTSFI_OV_TD): Likewise.
6116 (VEC_VADDCUQ): Likewise.
6117 (VEC_VADDECUQ): Likewise.
6118 (VEC_VADDEUQM): Likewise.
6119 (VEC_VADDUDM): Likewise.
6120 (VEC_VADDUQM): Likewise.
6121 (VEC_VBPERMQ): Likewise.
6122 (VEC_VCLZB): Likewise.
6123 (VEC_VCLZD): Likewise.
6124 (VEC_VCLZH): Likewise.
6125 (VEC_VCLZW): Likewise.
6126 (VEC_VCTZB): Likewise.
6127 (VEC_VCTZD): Likewise.
6128 (VEC_VCTZH): Likewise.
6129 (VEC_VCTZW): Likewise.
6130 (VEC_VEEDP): Likewise.
6131 (VEC_VEESP): Likewise.
6132 (VEC_VESDP): Likewise.
6133 (VEC_VESSP): Likewise.
6134 (VEC_VIEDP): Likewise.
6135 (VEC_VIESP): Likewise.
6136 (VEC_VPKSDSS): Likewise.
6137 (VEC_VPKSDUS): Likewise.
6138 (VEC_VPKUDUM): Likewise.
6139 (VEC_VPKUDUS): Likewise.
6140 (VEC_VPOPCNT): Likewise.
6141 (VEC_VPOPCNTB): Likewise.
6142 (VEC_VPOPCNTD): Likewise.
6143 (VEC_VPOPCNTH): Likewise.
6144 (VEC_VPOPCNTW): Likewise.
6145 (VEC_VPRTYBD): Likewise.
6146 (VEC_VPRTYBQ): Likewise.
6147 (VEC_VPRTYBW): Likewise.
6148 (VEC_VRLD): Likewise.
6149 (VEC_VSLD): Likewise.
6150 (VEC_VSRAD): Likewise.
6151 (VEC_VSRD): Likewise.
6152 (VEC_VSTDCDP): Likewise.
6153 (VEC_VSTDCNDP): Likewise.
6154 (VEC_VSTDCNQP): Likewise.
6155 (VEC_VSTDCNSP): Likewise.
6156 (VEC_VSTDCQP): Likewise.
6157 (VEC_VSTDCSP): Likewise.
6158 (VEC_VSUBECUQ): Likewise.
6159 (VEC_VSUBEUQM): Likewise.
6160 (VEC_VSUBUDM): Likewise.
6161 (VEC_VSUBUQM): Likewise.
6162 (VEC_VTDCDP): Likewise.
6163 (VEC_VTDCSP): Likewise.
6164 (VEC_VUPKHSW): Likewise.
6165 (VEC_VUPKLSW): Likewise.
6167 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
6169 PR rtl-optimization/101260
6170 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
6173 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
6176 * fold-const.cc (const_binop): Do not fold NaN result from
6179 2022-02-01 Tom de Vries <tdevries@suse.de>
6181 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
6182 -ftree-loop-distribute-patterns.
6183 (loop_distribution::execute): Don't call transform_reduction_loop for
6184 -fno-tree-loop-distribute-patterns.
6186 2022-01-31 Andrew Pinski <apinski@marvell.com>
6188 * fold-const.h (operand_compare::operand_equal_p):
6189 Fix comment about OEP_* flags.
6191 2022-01-31 Jakub Jelinek <jakub@redhat.com>
6194 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
6195 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
6196 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
6197 if not already defined.
6199 2022-01-31 Martin Sebor <msebor@redhat.com>
6201 PR middle-end/104232
6202 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
6203 Handle PHIs. Add a synonymous overload.
6204 (pass_waccess::check_pointer_uses): Call pointers_related_p.
6206 2022-01-31 Richard Biener <rguenther@suse.de>
6208 PR tree-optimization/100499
6209 * fold-const.cc (multiple_of_p): Pass the correct type of
6210 the expression to the recursive invocation of multiple_of_p
6211 for conversions and use CASE_CONVERT.
6213 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
6216 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
6218 2022-01-31 Richard Biener <rguenther@suse.de>
6220 PR tree-optimization/100499
6221 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
6222 on poly-ints instead of multiple_of_p.
6223 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
6224 (non_rewritable_mem_ref_base): Likewise.
6225 (non_rewritable_lvalue_p): Likewise.
6226 (execute_update_addresses_taken): Likewise.
6228 2022-01-29 Jakub Jelinek <jakub@redhat.com>
6229 Andrew Pinski <apinski@marvell.com>
6231 PR tree-optimization/104279
6232 PR tree-optimization/104280
6233 PR tree-optimization/104281
6234 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
6235 boolean_type_node and convert to type. Formatting fixes.
6237 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
6239 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
6241 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
6243 PR tree-optimization/103514
6244 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
6245 (a & b) == (a ^ b) -> !(a | b): New optimization.
6247 2022-01-28 Marek Polacek <polacek@redhat.com>
6249 * doc/invoke.texi: Update -Wbidi-chars documentation.
6251 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
6253 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
6255 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
6257 PR tree-optimization/95424
6258 * match.pd: Simplify 1 / X where X is an integer.
6260 2022-01-28 Jakub Jelinek <jakub@redhat.com>
6262 PR tree-optimization/104263
6263 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
6264 cfun->can_throw_non_call_exceptions && cfun->eh test whether
6265 last non-debug stmt in the bb is store_valid_for_store_merging_p
6266 rather than last stmt.
6268 2022-01-28 Martin Liska <mliska@suse.cz>
6270 * diagnostic.cc (diagnostic_action_after_output): Remove extra
6273 2022-01-28 Martin Liska <mliska@suse.cz>
6275 * config/rs6000/host-darwin.cc (segv_crash_handler):
6276 Do not use leading capital letter.
6277 (segv_handler): Likewise.
6278 * ipa-sra.cc (verify_splitting_accesses): Likewise.
6279 * varasm.cc (get_section): Likewise.
6281 2022-01-28 Richard Biener <rguenther@suse.de>
6283 PR tree-optimization/104267
6284 * tree-vect-stmts.cc (vectorizable_call): Properly use the
6285 per-argument determined vector type for externals and
6288 2022-01-28 Richard Biener <rguenther@suse.de>
6290 PR tree-optimization/104263
6291 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
6292 Purge edges also when !cfun->has_nonlocal_label
6293 and !cfun->calls_setjmp.
6295 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
6297 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
6300 2022-01-28 Jakub Jelinek <jakub@redhat.com>
6303 * cfgrtl.cc (loc_equal): New function.
6304 (unique_locus_on_edge_between_p): Use it.
6306 2022-01-28 Richard Biener <rguenther@suse.de>
6308 * cfganal.h (mark_dfs_back_edges): Provide API with struct
6310 * cfganal.cc (mark_dfs_back_edges): Take a struct function
6311 to work on, add a wrapper passing cfun.
6312 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
6313 uses with fun which is already passed.
6314 (draw_cfg_edges): Likewise.
6315 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
6318 2022-01-27 Patrick Palka <ppalka@redhat.com>
6321 * tree.cc (build_call_vec): Add const to second parameter.
6322 * tree.h (build_call_vec): Likewise.
6324 2022-01-27 Martin Liska <mliska@suse.cz>
6327 * diagnostic.cc (diagnostic_initialize):
6328 Initialize report_bug flag.
6329 (diagnostic_action_after_output):
6330 Explain that -freport-bug option can be used for pre-processed
6331 file creation. Make the message shorter.
6332 (error_recursion): Rename Internal to internal.
6333 * diagnostic.h (struct diagnostic_context): New field.
6334 * opts.cc (common_handle_option): Init the field here.
6336 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
6339 * config/rs6000/rs6000.cc
6340 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
6341 assertion with early return.
6343 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
6345 PR middle-end/103642
6346 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
6347 for non-pointer or non-reference-to-pointer cases.
6349 2022-01-27 Jakub Jelinek <jakub@redhat.com>
6351 PR tree-optimization/104196
6352 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
6353 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
6354 return NULL and emit needed stmts before and after stmt.
6355 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
6356 pick as operand_entry that will hold the merged test the one feeding
6357 earliest condition, ensure that by swapping range->idx with some
6358 other range's idx if needed. If seq is non-NULL, don't actually swap
6359 it but instead rewrite stmts with undefined overflow in between
6361 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
6362 corresponding condition even if they have non-NULL ops[]->op.
6365 2022-01-26 Jakub Jelinek <jakub@redhat.com>
6368 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
6370 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
6371 before for loop instead of for init clause.
6372 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
6374 2022-01-26 Jakub Jelinek <jakub@redhat.com>
6377 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
6378 _X86INTRIN_H_INCLUDED and adjust #error wording.
6379 * config/rs6000/bmi2intrin.h: Likewise.
6381 2022-01-26 Jakub Jelinek <jakub@redhat.com>
6384 * dwarf2out.cc (long_double_as_float128): New function.
6385 (modified_type_die): For powerpc64le IEEE 754 quad long double
6386 and complex long double emit those as DW_TAG_typedef to
6387 _Float128 or complex _Float128 base type.
6389 2022-01-26 Marek Polacek <polacek@redhat.com>
6392 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
6393 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
6395 2022-01-26 Martin Liska <mliska@suse.cz>
6397 * ipa-modref-tree.cc (modref_access_node::update):
6398 Remove "--param param=foo" with "--param foo".
6399 (modref_access_node::insert): Likewise.
6400 (modref_access_node::insert_kill): Likewise.
6401 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
6402 (struct modref_base_node): Likewise.
6403 (struct modref_tree): Likewise.
6405 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
6408 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
6411 2022-01-25 Martin Sebor <msebor@redhat.com>
6413 PR tree-optimization/104203
6414 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
6416 * pointer-query.cc (access_ref::merge_ref): Change return type.
6417 Convert failure to a conservative success.
6418 (access_ref::get_ref): Adjust to the change above. Short-circuit
6419 PHI evaluation after first failure turned into conservative success.
6420 * pointer-query.h (access_ref::merge_ref): Change return type.
6421 * timevar.def (TV_WARN_ACCESS): New timer variable.
6423 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
6425 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
6427 2022-01-25 Richard Biener <rguenther@suse.de>
6429 PR tree-optimization/104214
6430 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
6431 stronger guarantees for relational pointer compares when
6432 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
6433 BASE0 + STEP0 - STEP1 cmp BASE1.
6435 2022-01-25 Jakub Jelinek <jakub@redhat.com>
6438 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
6440 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
6441 ieee128_mangling_gcc_8_1): Remove.
6442 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
6443 (rs6000_mangle_type): Return "u9__ieee128" instead of
6444 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
6445 (rs6000_globalize_decl_name): Remove.
6446 * config/rs6000/rs6000-call.cc (init_cumulative_args,
6447 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
6449 2022-01-24 Martin Sebor <msebor@redhat.com>
6451 * pointer-query.cc (pointer_query::dump): Remove duplicate
6454 2022-01-24 Marek Polacek <polacek@redhat.com>
6456 PR preprocessor/104030
6457 * doc/invoke.texi: Update documentation for -Wbidi-chars.
6459 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
6462 * builtins.cc (expand_builtin_fegetround): New function.
6463 (expand_builtin_feclear_feraise_except): New function.
6464 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
6465 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
6466 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
6467 (feclearexceptsi): New Pattern.
6468 (feraiseexceptsi): New Pattern.
6469 * doc/extend.texi: Add a new introductory paragraph about the
6471 * doc/md.texi: (fegetround@var{m}): Document new optab.
6472 (feclearexcept@var{m}): Document new optab.
6473 (feraiseexcept@var{m}): Document new optab.
6474 * optabs.def (fegetround_optab): New optab.
6475 (feclearexcept_optab): New optab.
6476 (feraiseexcept_optab): New optab.
6478 2022-01-24 Richard Biener <rguenther@suse.de>
6479 Jiufu Guo <guojiufu@linux.ibm.com>
6481 PR tree-optimization/100740
6482 PR tree-optimization/101508
6483 PR tree-optimization/101972
6484 PR tree-optimization/102131
6485 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
6486 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
6487 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
6489 2022-01-24 Jakub Jelinek <jakub@redhat.com>
6492 * opt-functions.awk (var_set): Handle EnumBitSet property.
6493 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
6495 * opts.h (enum cl_enum_var_value): New type.
6496 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
6498 (cmdline_handle_error): Handle CLEV_BITSET.
6499 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
6500 * doc/options.texi (EnumBitSet): Document.
6501 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
6503 (trace-pc, trace-cmp): Drop Set properties.
6505 2022-01-24 Jakub Jelinek <jakub@redhat.com>
6508 * common.opt (flag_sanitize_coverage): Remove Variable entry.
6509 (fsanitize-coverage=): Remove RejectNegative property, add
6510 Var(flag_sanitize_coverage) and EnumSet properties.
6511 (trace-pc): Add Set(1) property.
6512 (trace-cmp): Add Set(2) property.
6513 * opts.cc (common_handle_option): Don't handle
6514 OPT_fsanitize_coverage_.
6516 2022-01-24 Jakub Jelinek <jakub@redhat.com>
6519 * opt-functions.awk (var_set): Handle EnumSet property.
6520 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
6522 * opt-read.awk: Handle Set property.
6523 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
6524 (struct cl_decoded_option): Mention enum in value description.
6526 (set_option): Add mask argument defaulted to 0.
6527 * opts.cc (test_enum_sets): New function.
6528 (opts_cc_tests): Call it.
6529 * opts-common.cc (enum_arg_to_value): Change return argument
6530 from bool to int, on success return index into the cl_enum_arg
6531 array, on failure -1. Add len argument, if non-0, use strncmp
6533 (opt_enum_arg_to_value): Adjust caller.
6534 (decode_cmdline_option): Handle EnumSet represented as
6535 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
6536 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
6537 (handle_option): Pass decoded->mask to set_options last argument.
6538 (generate_option): Clear decoded->mask.
6539 (generate_option_input_file): Likewise.
6540 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
6541 (set_option): Add mask argument, use it for CLVC_ENUM.
6542 (control_warning_option): Adjust enum_arg_to_value caller.
6543 * doc/options.texi: Document Set and EnumSet properties.
6545 2022-01-24 Jakub Jelinek <jakub@redhat.com>
6548 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
6549 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
6550 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
6551 using OPTION_*_P macros.
6552 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
6553 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
6554 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
6555 using OPTION_*_P macros.
6556 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
6557 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
6558 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
6559 using OPTION_*_P macros.
6560 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
6561 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
6562 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
6563 using OPTION_*_P macros.
6564 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
6565 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
6566 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
6567 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
6568 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
6569 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
6570 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
6571 otherwise assume if (true).
6573 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
6575 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
6576 Skip zicsr and zifencei if I-ext is 2.0.
6578 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
6580 * config.gcc: Modify default isa_spec version.
6582 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
6584 PR tree-optimization/102087
6585 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
6586 Correct PLUS result type.
6588 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
6591 * config/i386/predicates.md (bcst_mem_operand): Also check mode
6592 of memory broadcast.
6594 2022-01-23 Andrew Pinski <apinski@marvell.com>
6597 * config/aarch64/aarch64-builtins.cc
6598 (aarch64_general_gimple_fold_builtin): Handle
6599 __builtin_aarch64_sqrt* and simplify into SQRT internal
6602 2022-01-22 Jakub Jelinek <jakub@redhat.com>
6605 * opts-global.cc (handle_common_deferred_options): Quote
6606 --enable-plugin in diagnostics to avoid -Werror=format-diag.
6608 2022-01-21 Michael Meissner <meissner@the-meissners.org>
6611 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
6612 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
6613 * config/rs6000/rs6000.md (prefixed attribute): Delete section
6614 that sets the prefixed attribute for xxspltiw, xxspltidp, and
6615 xxsplti32dx instructions.
6616 (movsf_hardfloat): Explicitly set the prefixed attribute
6617 when xxspltiw and xxspltidp instructions are generated.
6618 (mov<mode>_hardfloat32): Likewise.
6619 (mov<mode>_hardfloat64): Likewise.
6620 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
6621 prefixed attribute for xxspltiw and xxspltidp instructions.
6622 (vsx_mov<mode>_32bit): Likewise.
6624 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
6627 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
6628 Return true only on glibc.
6629 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
6630 Revert commit c163647ffbc.
6631 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
6633 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
6635 * common/config/s390/s390-common.cc (s390_supports_split_stack):
6636 Only support split-stack on glibc targets.
6637 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
6638 * config/i386/gnu.h (defined): Ditto.
6640 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
6642 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
6643 vector float and vector double.
6645 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
6647 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
6648 Fix mention of ifunc in string.
6650 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
6652 PR middle-end/104140
6653 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
6654 operands of the widening multiplication are either both signed or
6655 both unsigned, and abort the conversion if mismatched.
6656 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
6657 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
6659 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
6660 integer types with the same precision and signedness.
6661 (WIDEN_MULT_EXPR): Document that operands must have integer types
6662 with the same precision, but possibly differing signedness.
6663 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
6664 riscv_current_subset_list returning a NULL pointer (empty list).
6666 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
6669 * ira.h (struct target_ira): Add member
6670 x_ira_exclude_class_mode_regs.
6671 (ira_exclude_class_mode_regs): New macro.
6672 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
6674 * lra-int.h: ... to here.
6675 (lra_create_new_reg_with_unique_value): Add arg
6676 exclude_start_hard_regs.
6677 (class lra_reg): Add member exclude_start_hard_regs.
6678 * lra-assigns.cc (find_hard_regno_for_1): Setup
6679 impossible_start_hard_regs from exclude_start_hard_regs.
6680 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
6681 it lra_create_new_reg[_with_unique_value].
6682 (match_reload): Ditto.
6683 (check_and_process_move): Pass NULL
6684 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
6685 (goal_alt_exclude_start_hard_regs): New static variable.
6686 (process_addr_reg, simplify_operand_subreg): Pass NULL
6687 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
6689 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
6690 Use this_alternative_exclude_start_hard_regs additionally to find
6691 winning operand alternative.
6692 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
6693 exclude_start_hard_regs to lra_create_new_reg.
6694 (process_address_1, emit_inc): Ditto.
6695 (curr_insn_transform): Pass exclude_start_hard_regs value to
6696 lra_create_new_reg, get_reload_reg, match_reload.
6697 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
6698 to lra_create_new_reg.
6699 (process_invariant_for_inheritance): Ditto.
6700 * lra-remat.cc (update_scratch_ops): Ditto.
6701 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
6702 exclude_start_hard_regs. Setup the corresponding member of
6704 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
6705 to lra_create_new_reg_with_unique_value.
6706 (initialize_lra_reg_info_element): Initialize member
6707 exclude_start_hard_regs.
6708 (get_scratch_reg): Pass NULL to lra_create_new_reg.
6709 * ira.cc (setup_prohibited_class_mode_regs): Rename to
6710 setup_prohibited_and_exclude_class_mode_regs and calculate
6711 ira_exclude_class_mode_regs.
6713 2022-01-21 Martin Liska <mliska@suse.cz>
6715 * configure.ac: Detect ld_is_mold and use it for
6716 comdat_group=yes and gcc_cv_ld_hidden=yes.
6717 * configure: Regenerate.
6719 2022-01-21 Richard Biener <rguenther@suse.de>
6721 PR tree-optimization/100089
6722 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
6723 of if-converted loops with unvectorized COND_EXPRs for
6724 all but the unlimited cost models.
6726 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
6728 * config/arm/arm-opts.h (enum stack_protector_guard): New.
6729 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
6731 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
6732 (arm_option_override_internal): Handle and put in error checks.
6733 for stack protector guard options.
6734 (arm_option_reconfigure_globals): Likewise.
6735 (arm_stack_protect_tls_canary_mem): New.
6736 (arm_stack_protect_guard): New.
6737 * config/arm/arm.md (stack_protect_set): New.
6738 (stack_protect_set_tls): Likewise.
6739 (stack_protect_test): Likewise.
6740 (stack_protect_test_tls): Likewise.
6741 (reload_tp_hard): Likewise.
6742 * config/arm/arm.opt (-mstack-protector-guard): New
6743 (-mstack-protector-guard-offset): New.
6744 * doc/invoke.texi: Document new options.
6746 2022-01-21 Richard Biener <rguenther@suse.de>
6748 PR tree-optimization/104156
6749 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
6750 Collect and reset debug stmts with out-of-loop uses when
6752 (find_loop_guard): Adjust.
6753 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
6754 (used_outside_loop_p): Push debug uses to a vector of
6755 debug stmts to reset.
6756 (hoist_guard): Adjust -fopt-info category.
6758 2022-01-21 Richard Biener <rguenther@suse.de>
6760 PR tree-optimization/104152
6761 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
6762 can_duplicate_and_interleave_p check.
6764 2022-01-21 Jakub Jelinek <jakub@redhat.com>
6766 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
6767 Avoid passing var to warning_at when the format string doesn't
6770 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
6772 PR tree-optimization/103721
6773 * gimple-range-path.cc
6774 (path_range_query::relations_may_be_invalidated): New.
6775 (path_range_query::compute_ranges_in_block): Reset relations if
6776 they may be invalidated.
6777 (path_range_query::maybe_register_phi_relation): Exit if relations
6778 may be invalidated on incoming edge.
6779 (path_range_query::compute_phi_relations): Pass incoming PHI edge
6780 to maybe_register_phi_relation.
6781 * gimple-range-path.h (relations_may_be_invalidated): New.
6782 (maybe_register_phi_relation): Pass edge instead of tree.
6783 * tree-ssa-threadbackward.cc (back_threader::back_threader):
6785 * value-relation.cc (path_oracle::path_oracle): Call
6786 mark_dfs_back_edges.
6787 (path_oracle::register_relation): Add SSA names to m_registered
6789 (path_oracle::reset_path): Clear m_registered bitmap.
6790 * value-relation.h (path_oracle::set_root_oracle): New.
6792 2022-01-21 Jakub Jelinek <jakub@redhat.com>
6794 PR rtl-optimization/102478
6795 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
6796 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
6799 2022-01-20 Richard Biener <rguenther@suse.de>
6801 PR middle-end/100786
6802 * gimple-fold.cc (get_symbol_constant_value): Only return
6803 values of compatible type to the symbol.
6805 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
6807 * value-relation.cc (relation_oracle::valid_equivs): Query and add
6808 if valid members of a set.
6809 (equiv_oracle::register_equiv): Call valid_equivs rather than
6810 bitmap direct operations.
6811 (path_oracle::register_equiv): Ditto.
6812 * value-relation.h (relation_oracle::valid_equivs): New prototype.
6814 2022-01-20 Richard Biener <rguenther@suse.de>
6817 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
6818 LHS before folding __builtin_ia32_shufpd and friends.
6820 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
6822 * config/arm/crypto.md (aes_op_protect): Allow moves from core
6823 registers and from memory.
6824 (aes_op_protect_misalign_load): New pattern.
6825 (aes_op_protect_neon_vld1v16qi): New pattern.
6827 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
6829 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
6831 (aarch32_crypto_aese_fused_protected): Likewise.
6832 (aarch32_crypto_aesd_fused_protected): Likewise.
6834 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
6836 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
6837 to define_expand. Add mitigation for the Cortex-A AES erratum
6839 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
6840 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
6841 (aes_op_protect): New pattern.
6842 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
6844 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
6846 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
6847 (ALL_QUIRKS): Add it.
6848 (cortex-a57, cortex-a72): Enable it.
6849 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
6850 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
6852 (mfix-cortex-a72-aes-1655431): New option alias.
6853 * config/arm/arm.cc (arm_option_override): Handle default settings
6854 for AES erratum switch.
6855 * doc/invoke.texi (Arm Options): Document new options.
6857 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
6859 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
6860 <crypto_mode> rather than hard-coding the mode.
6861 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
6862 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
6863 (*aarch32_crypto_aese_fused): Likewise.
6864 (*aarch32_crypto_aesd_fused): Likewise.
6865 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
6866 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
6867 (crypto_sha1h_lb): Likewise.
6868 (crypto_vmullp64): Likewise.
6869 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
6870 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
6872 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
6874 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
6875 iterator to pattern name to disambiguate.
6876 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
6877 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
6878 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
6879 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
6880 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
6882 2022-01-20 Martin Liska <mliska@suse.cz>
6885 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
6886 * rtl.cc: Partially disable -Wformat-diag for RTL checking
6889 2022-01-20 Jakub Jelinek <jakub@redhat.com>
6892 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
6893 block_num > 0, index entry even if !have_multiple_function_sections.
6895 2022-01-20 liuhongt <hongtao.liu@intel.com>
6898 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
6899 integral mode mask pack by multi steps which takes
6900 vec_pack_sbool_trunc_optab as start when elements number is
6901 less than BITS_PER_UNITS.
6903 2022-01-20 Richard Biener <rguenther@suse.de>
6905 PR tree-optimization/104114
6906 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
6907 single element vector decomposition.
6909 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6911 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
6912 (noce_convert_multiple_sets): Call function a second time if we can
6913 improve the first try.
6915 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6917 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
6918 reversed comparison.
6919 (try_emit_cmove_seq): New function to facilitate creating a cmov
6921 (noce_convert_multiple_sets): Create two sequences and use the less
6924 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6926 * rtl.h (struct rtx_comparison): New struct that holds an rtx
6928 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
6930 (rs6000_emit_swsqrt): Likewise.
6931 * expmed.cc (expand_sdiv_pow2): Likewise.
6932 (emit_store_flag): Likewise.
6933 * expr.cc (expand_cond_expr_using_cmove): Likewise.
6934 (expand_expr_real_2): Likewise.
6935 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
6937 * optabs.cc (emit_conditional_move_1): New function.
6938 (expand_doubleword_shift_condmove): Use struct.
6939 (emit_conditional_move): Use struct and allow to call directly
6940 without going through preparation steps.
6941 * optabs.h (emit_conditional_move): Use struct.
6943 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6945 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
6946 (noce_process_if_block): Use potential costs.
6948 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6950 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
6951 (bb_ok_for_noce_convert_multiple_sets): Likewise.
6953 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
6955 * ifcvt.cc (need_cmov_or_rewire): New function.
6956 (noce_convert_multiple_sets): Call it.
6958 2022-01-19 David Malcolm <dmalcolm@redhat.com>
6960 * attribs.cc (attribute_c_tests): Rename to...
6961 (attribs_cc_tests): ...this.
6962 * bitmap.cc (bitmap_c_tests): Rename to...
6963 (bitmap_cc_tests): ...this.
6964 * cgraph.cc (cgraph_c_finalize): Rename to...
6965 (cgraph_cc_finalize): ...this.
6966 (cgraph_c_tests): Rename to...
6967 (cgraph_cc_tests): ...this.
6968 * cgraph.h (cgraph_c_finalize): Rename to...
6969 (cgraph_cc_finalize): ...this.
6970 (cgraphunit_c_finalize): Rename to...
6971 (cgraphunit_cc_finalize): ...this.
6972 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
6973 (cgraphunit_cc_finalize): ...this.
6974 * convert.cc (convert_c_tests): Rename to...
6975 (convert_cc_tests): ...this.
6976 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
6977 (dbgcnt_cc_tests): ...this.
6978 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
6979 (diagnostic_show_locus_cc_tests): ...this.
6980 * diagnostic.cc (diagnostic_c_tests): Rename to...
6981 (diagnostic_cc_tests): ...this.
6982 * dumpfile.cc (dumpfile_c_tests): Rename to...
6983 (dumpfile_cc_tests): ...this.
6984 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
6985 (dwarf2out_cc_finalize): ...this.
6986 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
6987 (dwarf2out_cc_finalize): ...this.
6988 * edit-context.cc (edit_context_c_tests): Rename to...
6989 (edit_context_cc_tests): ...this.
6990 * et-forest.cc (et_forest_c_tests): Rename to...
6991 (et_forest_cc_tests): ...this.
6992 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
6993 (fibonacci_heap_cc_tests): ...this.
6994 * fold-const.cc (fold_const_c_tests): Rename to...
6995 (fold_const_cc_tests): ...this.
6996 * function-tests.cc (function_tests_c_tests): Rename to...
6997 (function_tests_cc_tests): ...this.
6998 * gcse.cc (gcse_c_finalize): Rename to...
6999 (gcse_cc_finalize): ...this.
7000 * gcse.h (gcse_c_finalize): Rename to...
7001 (gcse_cc_finalize): ...this.
7002 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
7003 (ggc_tests_cc_tests): ...this.
7004 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
7005 (store_merging_cc_tests): ...this.
7006 * gimple.cc (gimple_c_tests): Rename to...
7007 (gimple_cc_tests): ...this.
7008 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
7009 (hash_map_tests_cc_tests): ...this.
7010 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
7011 (hash_set_tests_cc_tests): ...this.
7012 * input.cc (input_c_tests): Rename to...
7013 (input_cc_tests): ...this.
7014 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
7015 (ipa_cp_cc_finalize): ...this.
7016 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
7017 (ipa_fnsummary_cc_finalize): ...this.
7018 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
7019 (ipa_fnsummary_cc_finalize): ...this.
7020 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
7021 (ipa_modref_tree_cc_tests): ...this.
7022 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
7023 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
7024 (ipa_modref_cc_finalize): ...this.
7025 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
7026 (ipa_modref_cc_finalize): ...this.
7027 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
7028 (ipa_cp_cc_finalize): ...this.
7029 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
7030 (ipa_reference_cc_finalize): ...this.
7031 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
7032 (ipa_reference_cc_finalize): ...this.
7033 * ira-costs.cc (ira_costs_c_finalize): Rename to...
7034 (ira_costs_cc_finalize): ...this.
7035 * ira.h (ira_costs_c_finalize): Rename to...
7036 (ira_costs_cc_finalize): ...this.
7037 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
7038 (opt_suggestions_cc_tests): ...this.
7039 * opts.cc (opts_c_tests): Rename to...
7040 (opts_cc_tests): ...this.
7041 * predict.cc (predict_c_tests): Rename to...
7042 (predict_cc_tests): ...this.
7043 * pretty-print.cc (pretty_print_c_tests): Rename to...
7044 (pretty_print_cc_tests): ...this.
7045 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
7046 (read_rtl_function_cc_tests): ...this.
7047 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
7048 (rtl_tests_cc_tests): ...this.
7049 * sbitmap.cc (sbitmap_c_tests): Rename to...
7050 (sbitmap_cc_tests): ...this.
7051 * selftest-run-tests.cc (selftest::run_tests): Update calls for
7052 _c_ to _cc_ function renamings; fix names of attribs and
7053 opt-suggestions tests.
7054 * selftest.cc (selftest_c_tests): Rename to...
7055 (selftest_cc_tests): ...this.
7056 * selftest.h (attribute_c_tests): Rename to...
7057 (attribs_cc_tests): ...this.
7058 (bitmap_c_tests): Rename to...
7059 (bitmap_cc_tests): ...this.
7060 (cgraph_c_tests): Rename to...
7061 (cgraph_cc_tests): ...this.
7062 (convert_c_tests): Rename to...
7063 (convert_cc_tests): ...this.
7064 (diagnostic_c_tests): Rename to...
7065 (diagnostic_cc_tests): ...this.
7066 (diagnostic_show_locus_c_tests): Rename to...
7067 (diagnostic_show_locus_cc_tests): ...this.
7068 (dumpfile_c_tests): Rename to...
7069 (dumpfile_cc_tests): ...this.
7070 (edit_context_c_tests): Rename to...
7071 (edit_context_cc_tests): ...this.
7072 (et_forest_c_tests): Rename to...
7073 (et_forest_cc_tests): ...this.
7074 (fibonacci_heap_c_tests): Rename to...
7075 (fibonacci_heap_cc_tests): ...this.
7076 (fold_const_c_tests): Rename to...
7077 (fold_const_cc_tests): ...this.
7078 (function_tests_c_tests): Rename to...
7079 (function_tests_cc_tests): ...this.
7080 (ggc_tests_c_tests): Rename to...
7081 (ggc_tests_cc_tests): ...this.
7082 (gimple_c_tests): Rename to...
7083 (gimple_cc_tests): ...this.
7084 (hash_map_tests_c_tests): Rename to...
7085 (hash_map_tests_cc_tests): ...this.
7086 (hash_set_tests_c_tests): Rename to...
7087 (hash_set_tests_cc_tests): ...this.
7088 (input_c_tests): Rename to...
7089 (input_cc_tests): ...this.
7090 (opts_c_tests): Rename to...
7091 (opts_cc_tests): ...this.
7092 (predict_c_tests): Rename to...
7093 (predict_cc_tests): ...this.
7094 (pretty_print_c_tests): Rename to...
7095 (pretty_print_cc_tests): ...this.
7096 (read_rtl_function_c_tests): Rename to...
7097 (read_rtl_function_cc_tests): ...this.
7098 (rtl_tests_c_tests): Rename to...
7099 (rtl_tests_cc_tests): ...this.
7100 (sbitmap_c_tests): Rename to...
7101 (sbitmap_cc_tests): ...this.
7102 (selftest_c_tests): Rename to...
7103 (selftest_cc_tests): ...this.
7104 (simplify_rtx_c_tests): Rename to...
7105 (simplify_rtx_cc_tests): ...this.
7106 (spellcheck_c_tests): Rename to...
7107 (spellcheck_cc_tests): ...this.
7108 (spellcheck_tree_c_tests): Rename to...
7109 (spellcheck_tree_cc_tests): ...this.
7110 (sreal_c_tests): Rename to...
7111 (sreal_cc_tests): ...this.
7112 (store_merging_c_tests): Rename to...
7113 (store_merging_cc_tests): ...this.
7114 (tree_c_tests): Rename to...
7115 (tree_cc_tests): ...this.
7116 (tree_cfg_c_tests): Rename to...
7117 (tree_cfg_cc_tests): ...this.
7118 (typed_splay_tree_c_tests): Rename to...
7119 (typed_splay_tree_cc_tests): ...this.
7120 (vec_c_tests): Rename to...
7121 (vec_cc_tests): ...this.
7122 (vec_perm_indices_c_tests): Rename to...
7123 (vec_perm_indices_cc_tests): ..this.
7124 (opt_proposer_c_tests): Rename to...
7125 (opt_suggestions_cc_tests): ...this.
7126 (dbgcnt_c_tests): Rename to...
7127 (dbgcnt_cc_tests): ...this.
7128 (ipa_modref_tree_c_tests): Rename to...
7129 (ipa_modref_tree_cc_tests): ...this.
7130 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
7131 (simplify_rtx_cc_tests): ...this.
7132 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
7133 (spellcheck_tree_cc_tests): ...this.
7134 * spellcheck.cc (spellcheck_c_tests): Rename to...
7135 (spellcheck_cc_tests): ...this.
7136 * sreal.cc (sreal_c_tests): Rename to...
7137 (sreal_cc_tests): ...this.
7138 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
7140 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
7141 (tree_cfg_cc_tests): ...this.
7142 * tree.cc (tree_c_tests): Rename to...
7143 (tree_cc_tests): ...this.
7144 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
7145 (typed_splay_tree_cc_tests): ...this.
7146 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
7147 (vec_perm_indices_cc_tests): ...this.
7148 * vec.cc (vec_c_tests): Rename to...
7149 (vec_cc_tests): ...this.
7151 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
7153 PR tree-optimization/103997
7154 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
7157 2022-01-19 Jakub Jelinek <jakub@redhat.com>
7159 PR middle-end/102860
7160 * match.pd (x %[fl] y -> x % y): New simplification for
7161 unsigned integral types.
7162 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
7163 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
7165 2022-01-19 Richard Biener <rguenther@suse.de>
7167 PR tree-optimization/104112
7168 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
7169 for required intermediate vector types.
7171 2022-01-19 Jakub Jelinek <jakub@redhat.com>
7173 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
7175 2022-01-19 Martin Liska <mliska@suse.cz>
7177 * configure.ac: Remove -Wno-error=format-diag.
7178 * configure: Regenerate.
7180 2022-01-19 Martin Liska <mliska@suse.cz>
7182 * config/riscv/riscv.cc (riscv_handle_type_attribute):
7183 Update one -Wformat-diag string in warning message.
7185 2022-01-19 Jakub Jelinek <jakub@redhat.com>
7187 PR middle-end/104103
7188 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
7191 2022-01-19 Jakub Jelinek <jakub@redhat.com>
7194 * fold-const.cc (address_compare): Consider different STRING_CSTs
7195 with the same lengths that memcmp the same as equal, not different.
7197 2022-01-19 Jakub Jelinek <jakub@redhat.com>
7199 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
7202 2022-01-19 Martin Liska <mliska@suse.cz>
7203 Thomas Schwinge <thomas@codesourcery.com>
7205 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
7208 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
7211 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
7214 2022-01-19 Jakub Jelinek <jakub@redhat.com>
7217 * config/i386/sse.md
7218 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
7219 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
7220 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
7221 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
7222 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
7223 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
7224 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
7225 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
7226 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
7228 2022-01-19 Martin Sebor <msebor@redhat.com>
7230 PR middle-end/104069
7231 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
7232 an unknown result as documented.
7234 2022-01-18 Andrew Pinski <apinski@marvell.com>
7236 * ipa-split.cc (visit_bb): Fix comment before the
7237 warning/error attribute checking code.
7239 2022-01-18 David Faust <david.faust@oracle.com>
7241 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
7242 for base strtab offset yet as it may change.
7243 (output_asm_btfext_core_reloc): Do so here instead.
7244 (output_btfext_core_sections): Likewise.
7246 2022-01-18 David Faust <david.faust@oracle.com>
7248 * config/bpf/coreout.cc (output_btfext_header): Account for
7249 4-byte record size in core_relo_len.
7250 (output_btfext_core_sections): Only write record size once.
7251 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
7254 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
7256 * common/config/riscv/riscv-common.cc
7257 (riscv_subset_list::parse_multiletter_ext): Move pointer
7258 arithmetic ahead of `free'.
7260 2022-01-18 Jason Merrill <jason@redhat.com>
7263 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
7266 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
7268 PR middle-end/103163
7269 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
7270 (init_emit_once): ...not here.
7272 2022-01-18 Martin Liska <mliska@suse.cz>
7274 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
7275 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
7276 * config/arc/arc.md: Likewise.
7277 * config/avr/avr.cc (avr_section_type_flags): Likewise.
7278 * config/bfin/bfin.cc (bfin_option_override): Likewise.
7279 (bfin_handle_longcall_attribute): Likewise.
7280 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
7281 * config/frv/frv.cc (frv_expand_builtin): Likewise.
7282 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
7283 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
7284 (iq2000_print_operand_address): Likewise.
7285 (iq2000_print_operand): Likewise.
7286 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
7287 (m32c_pragma_address): Likewise.
7288 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
7289 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
7290 (mips_set_compression_mode): Likewise.
7291 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
7292 (mmix_print_operand): Likewise.
7293 (mmix_output_shiftvalue_op_from_str): Likewise.
7294 (mmix_output_shifted_value): Likewise.
7295 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
7296 * config/msp430/msp430.cc (msp430_option_override): Likewise.
7297 (msp430_attr): Likewise.
7298 (msp430_expand_delay_cycles): Likewise.
7299 (msp430_expand_builtin): Likewise.
7300 * config/rs6000/aix73.h: Likewise.
7301 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
7302 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
7303 (valid_psw_flag): Likewise.
7304 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
7305 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
7306 (xstormy16_expand_builtin_va_start): Likewise.
7307 (xstormy16_handle_below100_attribute): Likewise.
7309 2022-01-18 Martin Liska <mliska@suse.cz>
7311 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
7313 (vms_pragma_standard): Likewise.
7314 (vms_pragma_extern_prefix): Likewise.
7316 2022-01-18 Martin Liska <mliska@suse.cz>
7318 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
7319 (print_operand_address): Likewise.
7320 (xtensa_multibss_section_type_flags): Likewise.
7322 2022-01-18 Martin Liska <mliska@suse.cz>
7324 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
7325 wording of an error message.
7327 2022-01-18 Martin Liska <mliska@suse.cz>
7329 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
7331 (ghs_pragma_section): Likewise.
7332 (ghs_pragma_interrupt): Likewise.
7333 (ghs_pragma_starttda): Likewise.
7334 (ghs_pragma_startsda): Likewise.
7335 (ghs_pragma_startzda): Likewise.
7336 (ghs_pragma_endtda): Likewise.
7337 (ghs_pragma_endsda): Likewise.
7338 (ghs_pragma_endzda): Likewise.
7340 2022-01-18 Martin Liska <mliska@suse.cz>
7342 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
7344 * config/nds32/nds32-intrinsic.md: Likewise.
7345 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
7346 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
7347 (nds32_insert_attributes): Likewise.
7349 2022-01-18 Martin Liska <mliska@suse.cz>
7351 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
7353 * config/nvptx/nvptx.md: Remove trailing dot.
7355 2022-01-18 Martin Liska <mliska@suse.cz>
7357 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
7358 Wrap keywords with quotes and remove trailing dots.
7359 (riscv_subset_list::parsing_subset_version): Likewise.
7360 (riscv_subset_list::parse_std_ext): Likewise.
7361 (riscv_subset_list::parse_multiletter_ext): Likewise.
7362 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
7364 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
7366 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
7367 argument suggested_unroll_factor.
7368 (vect_analyze_loop_costing): Likewise.
7369 (_loop_vec_info::_loop_vec_info): Initialize new member
7370 suggested_unroll_factor.
7371 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
7372 main loop use partial vectors.
7373 (vect_analyze_loop_2): Pass and use new argument
7374 suggested_unroll_factor.
7375 (vect_analyze_loop_1): Change to intialize local
7376 suggested_unroll_factor and use it.
7377 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
7378 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
7379 suggested_unroll_factor.
7380 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
7381 (vector_costs::suggested_unroll_factor): New getter function.
7382 (finish_cost): Set return argument suggested_unroll_factor.
7384 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
7386 PR tree-optimization/104038
7387 * doc/invoke.texi (relation-block-limit): New.
7388 * params.opt (relation-block-limit): New.
7389 * value-relation.cc (dom_oracle::register_relation): Check for NULL
7390 record before invoking transitive registery.
7391 (dom_oracle::set_one_relation): Check limit before creating record.
7392 (dom_oracle::register_transitives): Stop when no record created.
7393 * value-relation.h (relation_chain_head::m_num_relations): New.
7395 2022-01-18 Richard Biener <rguenther@suse.de>
7398 * ipa-inline.cc (inline_small_functions): Do not enqueue call
7399 edges originating in functions compiled with -Og.
7401 2022-01-18 Richard Biener <rguenther@suse.de>
7404 * passes.def (pass_all_optimizations_g): Remove pass_modref
7405 and pass_local_pure_const.
7407 2022-01-18 Martin Liska <mliska@suse.cz>
7409 * config/s390/s390.cc: Fix -Wformat-diag warnings.
7411 2022-01-18 Martin Liska <mliska@suse.cz>
7413 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
7415 (s390_resolve_overloaded_builtin): Remove trailing dot.
7416 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
7417 (s390_expand_builtin): Remove trailing dot.
7418 (s390_emit_prologue): Likewise, use semicolon.
7419 (s390_option_override_internal): Update keyword.
7420 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
7422 2022-01-18 Martin Liska <mliska@suse.cz>
7424 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
7425 keywords and use %qs instead of %<%s%>.
7427 2022-01-18 Richard Biener <rguenther@suse.de>
7429 PR tree-optimization/103987
7430 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
7431 query with a pointer check.
7433 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
7436 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
7437 When using MEM_EXPR, require the base to be a decl.
7439 2022-01-18 Richard Biener <rguenther@suse.de>
7441 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
7443 * function.h (struct function): Likewise.
7445 2022-01-18 Arnaud Charlet <charlet@adacore.com>
7447 * doc/install.texi: Update prerequisites for GNAT
7449 2022-01-18 Andrew Pinski <apinski@marvell.com>
7451 PR tree-optimization/101941
7452 * ipa-split.cc (visit_bb): Disallow function calls where
7453 the function has either error or warning attribute.
7455 2022-01-18 Richard Biener <rguenther@suse.de>
7457 PR tree-optimization/104064
7458 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
7459 DR_INIT fits in a signed HWI, represent the difference from the
7460 first DR in unsigned.
7462 2022-01-17 Martin Liska <mliska@suse.cz>
7464 * Makefile.in: Rename .c names to .cc.
7465 * config.gcc: Likewise.
7466 * configure: Regenerate. Likewise.
7467 * configure.ac: Likewise.
7468 * gengtype.cc (set_gc_used): Likewise.
7469 (source_dot_c_frul): Likewise.
7470 (source_dot_cc_frul): Likewise.
7471 (struct file_rule_st): Likewise.
7472 (close_output_files): Likewise.
7473 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
7475 2022-01-17 Martin Liska <mliska@suse.cz>
7477 * Makefile.in: Rename .c names to .cc.
7478 * alias.h: Likewise.
7479 * asan.cc: Likewise.
7480 * auto-profile.h: Likewise.
7481 * basic-block.h (struct basic_block_d): Likewise.
7482 * btfout.cc: Likewise.
7483 * builtins.cc (expand_builtin_longjmp): Likewise.
7484 (validate_arg): Likewise.
7485 (access_ref::offset_bounded): Likewise.
7486 * caller-save.cc (reg_restore_code): Likewise.
7487 (setup_save_areas): Likewise.
7488 * calls.cc (initialize_argument_information): Likewise.
7489 (expand_call): Likewise.
7490 (emit_library_call_value_1): Likewise.
7491 * cfg-flags.def (RTL): Likewise.
7492 (SIBCALL): Likewise.
7493 (CAN_FALLTHRU): Likewise.
7494 * cfganal.cc (post_order_compute): Likewise.
7495 * cfgcleanup.cc (try_simplify_condjump): Likewise.
7496 (merge_blocks_move_predecessor_nojumps): Likewise.
7497 (merge_blocks_move_successor_nojumps): Likewise.
7498 (merge_blocks_move): Likewise.
7499 (old_insns_match_p): Likewise.
7500 (try_crossjump_bb): Likewise.
7501 * cfgexpand.cc (expand_gimple_stmt): Likewise.
7502 * cfghooks.cc (split_block_before_cond_jump): Likewise.
7503 (profile_record_check_consistency): Likewise.
7504 * cfghooks.h: Likewise.
7505 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
7506 (rtl_can_merge_blocks): Likewise.
7507 (try_redirect_by_replacing_jump): Likewise.
7508 (make_pass_outof_cfg_layout_mode): Likewise.
7509 (cfg_layout_can_merge_blocks_p): Likewise.
7510 * cgraph.cc (release_function_body): Likewise.
7511 (cgraph_node::get_fun): Likewise.
7512 * cgraph.h (struct cgraph_node): Likewise.
7513 (asmname_hasher::equal): Likewise.
7514 (cgraph_inline_failed_type): Likewise.
7515 (thunk_adjust): Likewise.
7516 (dump_callgraph_transformation): Likewise.
7517 (record_references_in_initializer): Likewise.
7518 (ipa_discover_variable_flags): Likewise.
7519 * cgraphclones.cc (GTY): Likewise.
7520 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
7521 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
7522 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
7523 * collect2.cc (maybe_run_lto_and_relink): Likewise.
7524 * combine-stack-adj.cc: Likewise.
7525 * combine.cc (setup_incoming_promotions): Likewise.
7526 (combine_simplify_rtx): Likewise.
7527 (count_rtxs): Likewise.
7528 * common.opt: Likewise.
7529 * common/config/aarch64/aarch64-common.cc: Likewise.
7530 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
7531 * common/config/avr/avr-common.cc: Likewise.
7532 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
7533 * conditions.h: Likewise.
7534 * config.gcc: Likewise.
7535 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
7536 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
7537 (aarch64_get_extension_string_for_isa_flags): Likewise.
7538 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
7539 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
7540 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
7541 (aarch64_option_valid_attribute_p): Likewise.
7542 (aarch64_short_vector_p): Likewise.
7543 (aarch64_float_const_representable_p): Likewise.
7544 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
7545 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
7547 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
7548 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
7549 * config/aarch64/t-aarch64: Likewise.
7550 * config/aarch64/x-aarch64: Likewise.
7551 * config/aarch64/x-darwin: Likewise.
7552 * config/alpha/alpha-protos.h: Likewise.
7553 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
7554 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
7555 (enum reg_class): Likewise.
7556 * config/alpha/alpha.md: Likewise.
7557 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
7558 * config/alpha/x-alpha: Likewise.
7559 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
7560 * config/arc/arc.cc (ARC_OPT): Likewise.
7561 (arc_ccfsm_advance): Likewise.
7562 (arc_arg_partial_bytes): Likewise.
7563 (conditionalize_nonjump): Likewise.
7564 * config/arc/arc.md: Likewise.
7565 * config/arc/builtins.def: Likewise.
7566 * config/arc/t-arc: Likewise.
7567 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
7568 (arm_pragma_target_parse): Likewise.
7569 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
7570 (arm_cpu_cpp_builtins): Likewise.
7571 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
7572 (shift_op): Likewise.
7573 (thumb2_final_prescan_insn): Likewise.
7574 (arm_final_prescan_insn): Likewise.
7575 (arm_asm_output_labelref): Likewise.
7576 (arm_small_register_classes_for_mode_p): Likewise.
7577 * config/arm/arm.h: Likewise.
7578 * config/arm/arm.md: Likewise.
7579 * config/arm/driver-arm.cc: Likewise.
7580 * config/arm/symbian.h: Likewise.
7581 * config/arm/t-arm: Likewise.
7582 * config/arm/thumb1.md: Likewise.
7583 * config/arm/x-arm: Likewise.
7584 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
7585 * config/avr/avr-fixed.md: Likewise.
7586 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
7587 * config/avr/avr-mcus.def: Likewise.
7588 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
7589 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
7590 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
7591 * config/avr/avr.cc (avr_option_override): Likewise.
7592 (avr_build_builtin_va_list): Likewise.
7593 (avr_mode_dependent_address_p): Likewise.
7594 (avr_function_arg_advance): Likewise.
7595 (avr_asm_output_aligned_decl_common): Likewise.
7596 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
7597 (SUPPORTS_INIT_PRIORITY): Likewise.
7598 * config/avr/avr.md: Likewise.
7599 * config/avr/builtins.def: Likewise.
7600 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
7601 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
7603 * config/avr/t-avr: Likewise.
7604 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
7605 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
7606 * config/bpf/bpf.h (enum reg_class): Likewise.
7607 * config/bpf/t-bpf: Likewise.
7608 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
7609 * config/cr16/cr16-protos.h: Likewise.
7610 * config/cris/cris.cc (cris_address_cost): Likewise.
7611 (cris_side_effect_mode_ok): Likewise.
7612 (cris_init_machine_status): Likewise.
7613 (cris_emit_movem_store): Likewise.
7614 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
7615 (enum reg_class): Likewise.
7616 (struct cum_args): Likewise.
7617 * config/cris/cris.opt: Likewise.
7618 * config/cris/sync.md: Likewise.
7619 * config/csky/csky.cc (csky_expand_prologue): Likewise.
7620 * config/darwin-c.cc: Likewise.
7621 * config/darwin-f.cc: Likewise.
7622 * config/darwin-sections.def (zobj_const_section): Likewise.
7623 * config/darwin.cc (output_objc_section_asm_op): Likewise.
7624 (fprintf): Likewise.
7625 * config/darwin.h (GTY): Likewise.
7626 * config/elfos.h: Likewise.
7627 * config/epiphany/epiphany-sched.md: Likewise.
7628 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
7629 * config/epiphany/epiphany.h (GTY): Likewise.
7630 (NO_FUNCTION_CSE): Likewise.
7631 * config/epiphany/mode-switch-use.cc: Likewise.
7632 * config/epiphany/predicates.md: Likewise.
7633 * config/epiphany/t-epiphany: Likewise.
7634 * config/fr30/fr30-protos.h: Likewise.
7635 * config/frv/frv-protos.h: Likewise.
7636 * config/frv/frv.cc (TLS_BIAS): Likewise.
7637 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
7638 * config/ft32/ft32-protos.h: Likewise.
7639 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
7640 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
7641 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
7642 * config/gcn/t-gcn-hsa: Likewise.
7643 * config/gcn/t-omp-device: Likewise.
7644 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
7645 (same_cmp_following_p): Likewise.
7646 * config/h8300/h8300.cc (F): Likewise.
7647 * config/h8300/h8300.h (struct cum_arg): Likewise.
7648 (BRANCH_COST): Likewise.
7649 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
7650 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
7651 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
7652 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
7653 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
7654 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
7655 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
7656 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
7657 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
7658 (ix86_register_pragmas): Likewise.
7659 (ix86_d_has_stdcall_convention): Likewise.
7660 (i386_pe_seh_init_sections): Likewise.
7661 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
7662 (ix86_function_value_regno_p): Likewise.
7663 (ix86_compute_frame_layout): Likewise.
7664 (legitimize_pe_coff_symbol): Likewise.
7665 (output_pic_addr_const): Likewise.
7666 * config/i386/i386.h (defined): Likewise.
7667 (host_detect_local_cpu): Likewise.
7668 (CONSTANT_ADDRESS_P): Likewise.
7669 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
7670 (struct machine_frame_state): Likewise.
7671 * config/i386/i386.md: Likewise.
7672 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
7673 * config/i386/mmx.md: Likewise.
7674 * config/i386/sse.md: Likewise.
7675 * config/i386/t-cygming: Likewise.
7676 * config/i386/t-djgpp: Likewise.
7677 * config/i386/t-gnu-property: Likewise.
7678 * config/i386/t-i386: Likewise.
7679 * config/i386/t-intelmic: Likewise.
7680 * config/i386/t-omp-device: Likewise.
7681 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
7682 (i386_pe_adjust_class_at_definition): Likewise.
7683 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
7684 (i386_pe_mangle_decl_assembler_name): Likewise.
7685 (i386_pe_encode_section_info): Likewise.
7686 * config/i386/x-cygwin: Likewise.
7687 * config/i386/x-darwin: Likewise.
7688 * config/i386/x-i386: Likewise.
7689 * config/i386/x-mingw32: Likewise.
7690 * config/i386/x86-tune-sched-core.cc: Likewise.
7691 * config/i386/x86-tune.def: Likewise.
7692 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
7693 * config/ia64/freebsd.h: Likewise.
7694 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
7695 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
7696 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
7697 (ia64_secondary_reload_class): Likewise.
7698 (bundling): Likewise.
7699 * config/ia64/ia64.h: Likewise.
7700 * config/ia64/ia64.md: Likewise.
7701 * config/ia64/predicates.md: Likewise.
7702 * config/ia64/sysv4.h: Likewise.
7703 * config/ia64/t-ia64: Likewise.
7704 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
7705 * config/iq2000/iq2000.md: Likewise.
7706 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
7708 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
7709 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
7710 * config/m32c/t-m32c: Likewise.
7711 * config/m32r/m32r-protos.h: Likewise.
7712 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
7713 * config/m32r/m32r.h: Likewise.
7714 * config/m32r/m32r.md: Likewise.
7715 * config/m68k/m68k-isas.def: Likewise.
7716 * config/m68k/m68k-microarchs.def: Likewise.
7717 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
7718 (m68k_epilogue_uses): Likewise.
7719 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
7720 (m68k_sched_adjust_cost): Likewise.
7721 (m68k_sched_md_init): Likewise.
7722 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
7723 (enum m68k_function_kind): Likewise.
7724 * config/m68k/m68k.md: Likewise.
7725 * config/m68k/m68kemb.h: Likewise.
7726 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
7727 * config/mcore/mcore-protos.h: Likewise.
7728 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
7729 (mcore_expand_prolog): Likewise.
7730 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
7731 * config/mcore/mcore.md: Likewise.
7732 * config/microblaze/microblaze-protos.h: Likewise.
7733 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
7734 (microblaze_function_prologue): Likewise.
7735 (microblaze_function_epilogue): Likewise.
7736 (microblaze_select_section): Likewise.
7737 (microblaze_asm_output_mi_thunk): Likewise.
7738 (microblaze_eh_return): Likewise.
7739 * config/microblaze/microblaze.h: Likewise.
7740 * config/microblaze/microblaze.md: Likewise.
7741 * config/microblaze/t-microblaze: Likewise.
7742 * config/mips/driver-native.cc: Likewise.
7743 * config/mips/loongson2ef.md: Likewise.
7744 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
7745 * config/mips/mips.cc (mips_rtx_costs): Likewise.
7746 (mips_output_filename): Likewise.
7747 (mips_output_function_prologue): Likewise.
7748 (mips_output_function_epilogue): Likewise.
7749 (mips_output_mi_thunk): Likewise.
7750 * config/mips/mips.h: Likewise.
7751 * config/mips/mips.md: Likewise.
7752 * config/mips/t-mips: Likewise.
7753 * config/mips/x-native: Likewise.
7754 * config/mmix/mmix-protos.h: Likewise.
7755 * config/mmix/mmix.cc (mmix_option_override): Likewise.
7756 (mmix_dbx_register_number): Likewise.
7757 (mmix_expand_prologue): Likewise.
7758 * config/mmix/mmix.h: Likewise.
7759 * config/mmix/mmix.md: Likewise.
7760 * config/mmix/predicates.md: Likewise.
7761 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
7762 (mn10300_legitimate_pic_operand_p): Likewise.
7763 * config/mn10300/mn10300.h (enum reg_class): Likewise.
7764 (NO_FUNCTION_CSE): Likewise.
7765 * config/moxie/moxie-protos.h: Likewise.
7766 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
7767 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
7768 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
7769 (msp430_incoming_return_addr_rtx): Likewise.
7770 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
7771 * config/msp430/t-msp430: Likewise.
7772 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
7773 (nds32_rtx_costs_size_prefer): Likewise.
7774 (nds32_init_rtx_costs): Likewise.
7775 * config/nds32/nds32-doubleword.md: Likewise.
7776 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
7777 (nds32_builtin_decl): Likewise.
7778 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
7779 (enum nds32_isr_nested_type): Likewise.
7780 (enum reg_class): Likewise.
7781 * config/nds32/predicates.md: Likewise.
7782 * config/nds32/t-nds32: Likewise.
7783 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
7784 * config/nvptx/nvptx-protos.h: Likewise.
7785 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
7786 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
7787 * config/nvptx/t-nvptx: Likewise.
7788 * config/nvptx/t-omp-device: Likewise.
7789 * config/pa/elf.h: Likewise.
7790 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
7791 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
7792 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
7793 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
7794 (pa_legitimize_reload_address): Likewise.
7795 (pa_can_use_return_insn): Likewise.
7796 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
7797 (som_output_text_section_asm_op): Likewise.
7798 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
7799 * config/pa/pa.md: Likewise.
7800 * config/pa/som.h: Likewise.
7801 * config/pa/t-pa: Likewise.
7802 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
7803 * config/pdp11/pdp11.h: Likewise.
7804 * config/pdp11/pdp11.md: Likewise.
7805 * config/pdp11/t-pdp11: Likewise.
7806 * config/pru/pru.md: Likewise.
7807 * config/pru/t-pru: Likewise.
7808 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
7809 (riscv_gpr_save_operation_p): Likewise.
7810 (riscv_d_register_target_info): Likewise.
7811 (riscv_init_builtins): Likewise.
7812 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
7813 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
7814 * config/riscv/t-riscv: Likewise.
7815 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
7816 * config/rl78/t-rl78: Likewise.
7817 * config/rs6000/aix.h: Likewise.
7818 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
7819 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
7820 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
7821 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
7822 * config/rs6000/driver-rs6000.cc: Likewise.
7823 * config/rs6000/freebsd.h: Likewise.
7824 * config/rs6000/freebsd64.h: Likewise.
7825 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
7826 * config/rs6000/rbtree.cc: Likewise.
7827 * config/rs6000/rbtree.h: Likewise.
7828 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
7829 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
7830 (rs6000_expand_builtin): Likewise.
7831 (rs6000_init_builtins): Likewise.
7832 * config/rs6000/rs6000-cpus.def: Likewise.
7833 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
7834 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
7835 (quad_address_offset_p): Likewise.
7836 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
7837 (rs6000_emit_epilogue): Likewise.
7838 * config/rs6000/rs6000-overload.def: Likewise.
7839 * config/rs6000/rs6000-p8swap.cc: Likewise.
7840 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
7841 (rs6000_const_f32_to_i32): Likewise.
7842 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
7843 (rs6000_debug_legitimize_address): Likewise.
7844 (rs6000_mode_dependent_address): Likewise.
7845 (rs6000_adjust_priority): Likewise.
7846 (rs6000_c_mode_for_suffix): Likewise.
7847 * config/rs6000/rs6000.h (defined): Likewise.
7848 (LONG_DOUBLE_TYPE_SIZE): Likewise.
7849 * config/rs6000/rs6000.md: Likewise.
7850 * config/rs6000/sysv4.h: Likewise.
7851 * config/rs6000/t-linux: Likewise.
7852 * config/rs6000/t-linux64: Likewise.
7853 * config/rs6000/t-rs6000: Likewise.
7854 * config/rs6000/x-darwin: Likewise.
7855 * config/rs6000/x-darwin64: Likewise.
7856 * config/rs6000/x-rs6000: Likewise.
7857 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
7858 * config/rx/rx.cc (rx_expand_builtin): Likewise.
7859 * config/s390/constraints.md: Likewise.
7860 * config/s390/driver-native.cc: Likewise.
7861 * config/s390/htmxlintrin.h: Likewise.
7862 * config/s390/s390-builtins.def (B_DEF): Likewise.
7863 (OB_DEF_VAR): Likewise.
7864 * config/s390/s390-builtins.h: Likewise.
7865 * config/s390/s390-c.cc: Likewise.
7866 * config/s390/s390-opts.h: Likewise.
7867 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
7868 (s390_register_target_pragmas): Likewise.
7869 * config/s390/s390.cc (s390_init_builtins): Likewise.
7870 (s390_expand_plus_operand): Likewise.
7871 (s390_expand_atomic): Likewise.
7872 (s390_valid_target_attribute_inner_p): Likewise.
7873 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
7874 * config/s390/s390.md: Likewise.
7875 * config/s390/t-s390: Likewise.
7876 * config/s390/vx-builtins.md: Likewise.
7877 * config/s390/x-native: Likewise.
7878 * config/sh/divtab-sh4-300.cc (main): Likewise.
7879 * config/sh/divtab-sh4.cc (main): Likewise.
7880 * config/sh/divtab.cc (main): Likewise.
7881 * config/sh/elf.h: Likewise.
7882 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
7883 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
7884 (sh_struct_value_rtx): Likewise.
7885 (sh_remove_reg_dead_or_unused_notes): Likewise.
7886 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
7887 * config/sh/t-sh: Likewise.
7888 * config/sol2-protos.h (solaris_override_options): Likewise.
7889 * config/sol2.h: Likewise.
7890 * config/sparc/driver-sparc.cc: Likewise.
7891 * config/sparc/freebsd.h: Likewise.
7892 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
7893 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
7894 (sparc_asan_shadow_offset): Likewise.
7895 * config/sparc/sparc.h: Likewise.
7896 * config/sparc/sparc.md: Likewise.
7897 * config/sparc/t-sparc: Likewise.
7898 * config/sparc/x-sparc: Likewise.
7899 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
7900 * config/t-darwin: Likewise.
7901 * config/t-dragonfly: Likewise.
7902 * config/t-freebsd: Likewise.
7903 * config/t-glibc: Likewise.
7904 * config/t-linux: Likewise.
7905 * config/t-netbsd: Likewise.
7906 * config/t-openbsd: Likewise.
7907 * config/t-pnt16-warn: Likewise.
7908 * config/t-sol2: Likewise.
7909 * config/t-vxworks: Likewise.
7910 * config/t-winnt: Likewise.
7911 * config/tilegx/t-tilegx: Likewise.
7912 * config/tilegx/tilegx-c.cc: Likewise.
7913 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
7914 * config/tilegx/tilegx.md: Likewise.
7915 * config/tilepro/t-tilepro: Likewise.
7916 * config/tilepro/tilepro-c.cc: Likewise.
7917 * config/v850/t-v850: Likewise.
7918 * config/v850/v850-protos.h: Likewise.
7919 * config/v850/v850.cc (F): Likewise.
7920 * config/v850/v850.h (enum reg_class): Likewise.
7921 (SLOW_BYTE_ACCESS): Likewise.
7922 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
7923 * config/vax/vax.h (enum reg_class): Likewise.
7924 * config/vax/vax.md: Likewise.
7925 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
7926 * config/visium/visium.h: Likewise.
7927 * config/vms/t-vms: Likewise.
7928 * config/vms/vms-crtlmap.map: Likewise.
7929 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
7930 * config/vx-common.h: Likewise.
7931 * config/x-darwin: Likewise.
7932 * config/x-hpux: Likewise.
7933 * config/x-linux: Likewise.
7934 * config/x-netbsd: Likewise.
7935 * config/x-openbsd: Likewise.
7936 * config/x-solaris: Likewise.
7937 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
7938 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
7939 * config/xtensa/xtensa.h: Likewise.
7940 * configure.ac: Likewise.
7941 * context.cc: Likewise.
7942 * convert.h: Likewise.
7943 * coretypes.h: Likewise.
7944 * coverage.cc: Likewise.
7945 * coverage.h: Likewise.
7946 * cppdefault.h (struct default_include): Likewise.
7947 * cprop.cc (local_cprop_pass): Likewise.
7948 (one_cprop_pass): Likewise.
7949 * cse.cc (hash_rtx_cb): Likewise.
7950 (fold_rtx): Likewise.
7951 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
7952 * data-streamer.h (bp_unpack_var_len_int): Likewise.
7953 (streamer_write_widest_int): Likewise.
7954 * dbgcnt.def: Likewise.
7955 * dbxout.cc (dbxout_early_global_decl): Likewise.
7956 (dbxout_common_check): Likewise.
7957 * dbxout.h: Likewise.
7958 * debug.h (struct gcc_debug_hooks): Likewise.
7959 (dump_go_spec_init): Likewise.
7960 * df-core.cc: Likewise.
7961 * df-scan.cc (df_insn_info_delete): Likewise.
7962 (df_insn_delete): Likewise.
7963 * df.h (debug_df_chain): Likewise.
7964 (can_move_insns_across): Likewise.
7965 * dfp.cc (decimal_from_binary): Likewise.
7966 * diagnostic-color.cc: Likewise.
7967 * diagnostic-event-id.h: Likewise.
7968 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
7969 * diagnostic.cc (bt_callback): Likewise.
7970 (num_digits): Likewise.
7971 * doc/avr-mmcu.texi: Likewise.
7972 * doc/cfg.texi: Likewise.
7973 * doc/contrib.texi: Likewise.
7974 * doc/cppinternals.texi: Likewise.
7975 * doc/extend.texi: Likewise.
7976 * doc/generic.texi: Likewise.
7977 * doc/gimple.texi: Likewise.
7978 * doc/gty.texi: Likewise.
7979 * doc/invoke.texi: Likewise.
7980 * doc/loop.texi: Likewise.
7981 * doc/lto.texi: Likewise.
7982 * doc/match-and-simplify.texi: Likewise.
7983 * doc/md.texi: Likewise.
7984 * doc/optinfo.texi: Likewise.
7985 * doc/options.texi: Likewise.
7986 * doc/passes.texi: Likewise.
7987 * doc/plugins.texi: Likewise.
7988 * doc/rtl.texi: Likewise.
7989 * doc/sourcebuild.texi: Likewise.
7990 * doc/tm.texi: Likewise.
7991 * doc/tm.texi.in: Likewise.
7992 * doc/tree-ssa.texi: Likewise.
7993 * dojump.cc (do_jump): Likewise.
7994 * dojump.h: Likewise.
7995 * dumpfile.cc (test_impl_location): Likewise.
7996 (test_capture_of_dump_calls): Likewise.
7997 * dumpfile.h (enum dump_kind): Likewise.
7998 (class dump_location_t): Likewise.
7999 (dump_enabled_p): Likewise.
8000 (enable_rtl_dump_file): Likewise.
8001 (dump_combine_total_stats): Likewise.
8002 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
8003 * dwarf2ctf.h (ctf_debug_finish): Likewise.
8004 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
8005 (struct loc_descr_context): Likewise.
8006 (rtl_for_decl_location): Likewise.
8007 (gen_subprogram_die): Likewise.
8008 (gen_label_die): Likewise.
8009 (is_trivial_indirect_ref): Likewise.
8010 (dwarf2out_late_global_decl): Likewise.
8011 (dwarf_file_hasher::hash): Likewise.
8012 (dwarf2out_end_source_file): Likewise.
8013 (dwarf2out_define): Likewise.
8014 (dwarf2out_early_finish): Likewise.
8015 * dwarf2out.h (struct dw_fde_node): Likewise.
8016 (struct dw_discr_list_node): Likewise.
8017 (output_loc_sequence_raw): Likewise.
8018 * emit-rtl.cc (gen_raw_REG): Likewise.
8019 (maybe_set_max_label_num): Likewise.
8020 * emit-rtl.h (struct rtl_data): Likewise.
8021 * errors.cc (internal_error): Likewise.
8022 (trim_filename): Likewise.
8023 * et-forest.cc: Likewise.
8024 * except.cc (init_eh_for_function): Likewise.
8025 * explow.cc (promote_ssa_mode): Likewise.
8026 (get_dynamic_stack_size): Likewise.
8027 * explow.h: Likewise.
8028 * expmed.h: Likewise.
8029 * expr.cc (safe_from_p): Likewise.
8030 (expand_expr_real_2): Likewise.
8031 (expand_expr_real_1): Likewise.
8032 * file-prefix-map.cc (remap_filename): Likewise.
8033 * final.cc (app_enable): Likewise.
8034 (make_pass_compute_alignments): Likewise.
8035 (final_scan_insn_1): Likewise.
8036 (final_scan_insn): Likewise.
8037 * fixed-value.h (fixed_from_string): Likewise.
8038 * flag-types.h (NO_DEBUG): Likewise.
8039 (DWARF2_DEBUG): Likewise.
8040 (VMS_DEBUG): Likewise.
8041 (BTF_DEBUG): Likewise.
8042 (enum ctf_debug_info_levels): Likewise.
8043 * fold-const.cc (const_binop): Likewise.
8044 (fold_binary_loc): Likewise.
8045 (fold_checksum_tree): Likewise.
8046 * fp-test.cc: Likewise.
8047 * function.cc (expand_function_end): Likewise.
8048 * function.h (struct function): Likewise.
8049 * fwprop.cc (should_replace_address): Likewise.
8050 * gcc-main.cc: Likewise.
8051 * gcc-rich-location.h (class gcc_rich_location): Likewise.
8052 * gcc-symtab.h: Likewise.
8053 * gcc.cc (MIN_FATAL_STATUS): Likewise.
8054 (driver_handle_option): Likewise.
8055 (quote_spec_arg): Likewise.
8056 (driver::finalize): Likewise.
8057 * gcc.h (set_input): Likewise.
8058 * gcov-dump.cc: Likewise.
8059 * gcov.cc (solve_flow_graph): Likewise.
8060 * gcse-common.cc: Likewise.
8061 * gcse.cc (make_pass_rtl_hoist): Likewise.
8062 * genattr-common.cc: Likewise.
8063 * genattrtab.cc (min_fn): Likewise.
8064 (write_const_num_delay_slots): Likewise.
8065 * genautomata.cc: Likewise.
8066 * genconditions.cc (write_one_condition): Likewise.
8067 * genconstants.cc: Likewise.
8068 * genemit.cc (gen_exp): Likewise.
8069 * generic-match-head.cc: Likewise.
8070 * genextract.cc: Likewise.
8071 * gengenrtl.cc (always_void_p): Likewise.
8072 * gengtype-parse.cc (gtymarker_opt): Likewise.
8073 * gengtype-state.cc (state_writer::state_writer): Likewise.
8074 (write_state_trailer): Likewise.
8075 (equals_type_number): Likewise.
8076 (read_state): Likewise.
8077 * gengtype.cc (open_base_files): Likewise.
8078 (struct file_rule_st): Likewise.
8079 (header_dot_h_frul): Likewise.
8080 * gengtype.h: Likewise.
8081 * genmatch.cc (main): Likewise.
8082 * genmddeps.cc: Likewise.
8083 * genmodes.cc (emit_mode_inner): Likewise.
8084 (emit_mode_unit_size): Likewise.
8085 * genpeep.cc (gen_peephole): Likewise.
8086 * genpreds.cc (write_tm_preds_h): Likewise.
8087 * genrecog.cc (validate_pattern): Likewise.
8088 (write_header): Likewise.
8090 * gensupport.cc (change_subst_attribute): Likewise.
8091 (traverse_c_tests): Likewise.
8092 (add_predicate): Likewise.
8093 (init_predicate_table): Likewise.
8094 * gensupport.h (struct optab_pattern): Likewise.
8095 (get_num_insn_codes): Likewise.
8096 (maybe_eval_c_test): Likewise.
8097 (struct pred_data): Likewise.
8098 * ggc-internal.h: Likewise.
8099 * gimple-fold.cc (maybe_fold_reference): Likewise.
8100 (get_range_strlen_tree): Likewise.
8101 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
8102 * gimple-low.cc: Likewise.
8103 * gimple-match-head.cc (directly_supported_p): Likewise.
8104 * gimple-pretty-print.h: Likewise.
8105 * gimple-ssa-sprintf.cc (format_percent): Likewise.
8106 (adjust_range_for_overflow): Likewise.
8107 * gimple-streamer.h: Likewise.
8108 * gimple.h (struct GTY): Likewise.
8109 (is_gimple_resx): Likewise.
8110 * gimplify.cc (gimplify_expr): Likewise.
8111 (gimplify_init_constructor): Likewise.
8112 (omp_construct_selector_matches): Likewise.
8113 (gimplify_omp_target_update): Likewise.
8114 (gimplify_omp_ordered): Likewise.
8115 (gimplify_va_arg_expr): Likewise.
8116 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
8117 * haifa-sched.cc (increase_insn_priority): Likewise.
8118 (try_ready): Likewise.
8119 (sched_create_recovery_edges): Likewise.
8120 * ifcvt.cc (find_if_case_1): Likewise.
8121 (find_if_case_2): Likewise.
8122 * inchash.h: Likewise.
8123 * incpath.cc (add_env_var_paths): Likewise.
8124 * input.cc (dump_location_info): Likewise.
8125 (assert_loceq): Likewise.
8126 (test_lexer_string_locations_concatenation_1): Likewise.
8127 (test_lexer_string_locations_concatenation_2): Likewise.
8128 (test_lexer_string_locations_concatenation_3): Likewise.
8129 * input.h (BUILTINS_LOCATION): Likewise.
8130 (class string_concat_db): Likewise.
8131 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
8132 (expand_LOOP_VECTORIZED): Likewise.
8133 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
8134 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
8135 (ipa_fn_summary_t::duplicate): Likewise.
8136 (make_pass_ipa_fn_summary): Likewise.
8137 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
8138 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
8139 (free_lang_data_in_decl): Likewise.
8140 * ipa-inline.cc (compute_inlined_call_time): Likewise.
8141 (inline_always_inline_functions): Likewise.
8142 * ipa-inline.h (free_growth_caches): Likewise.
8143 (inline_account_function_p): Likewise.
8144 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
8145 (modref_eaf_analysis::analyze_ssa_name): Likewise.
8146 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
8147 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
8148 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
8149 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
8150 (unadjusted_ptr_and_unit_offset): Likewise.
8151 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
8152 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
8153 * ipa-split.cc (consider_split): Likewise.
8154 * ipa-sra.cc (isra_read_node_info): Likewise.
8155 * ipa-utils.h (struct ipa_dfs_info): Likewise.
8156 (recursive_call_p): Likewise.
8157 (ipa_make_function_pure): Likewise.
8158 * ira-build.cc (ira_create_allocno): Likewise.
8159 (ira_flattening): Likewise.
8160 * ira-color.cc (do_coloring): Likewise.
8161 (update_curr_costs): Likewise.
8162 * ira-conflicts.cc (process_regs_for_copy): Likewise.
8163 * ira-int.h (struct ira_emit_data): Likewise.
8164 (ira_prohibited_mode_move_regs): Likewise.
8165 (ira_get_dup_out_num): Likewise.
8166 (ira_destroy): Likewise.
8167 (ira_tune_allocno_costs): Likewise.
8168 (ira_implicitly_set_insn_hard_regs): Likewise.
8169 (ira_build_conflicts): Likewise.
8170 (ira_color): Likewise.
8171 * ira-lives.cc (process_bb_node_lives): Likewise.
8172 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
8173 (setup_uniform_class_p): Likewise.
8174 (def_dominates_uses): Likewise.
8175 * ira.h (ira_nullify_asm_goto): Likewise.
8176 * langhooks.cc (lhd_post_options): Likewise.
8177 * langhooks.h (class substring_loc): Likewise.
8178 (struct lang_hooks_for_tree_inlining): Likewise.
8179 (struct lang_hooks_for_types): Likewise.
8180 (struct lang_hooks): Likewise.
8181 * libfuncs.h (synchronize_libfunc): Likewise.
8182 * loop-doloop.cc (doloop_condition_get): Likewise.
8183 * loop-init.cc (fix_loop_structure): Likewise.
8184 * loop-invariant.cc: Likewise.
8185 * lower-subreg.h: Likewise.
8186 * lra-constraints.cc (curr_insn_transform): Likewise.
8187 * lra-int.h (struct lra_insn_reg): Likewise.
8188 (lra_undo_inheritance): Likewise.
8189 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
8190 (lra_split_hard_reg_for): Likewise.
8191 (lra_coalesce): Likewise.
8192 (lra_final_code_change): Likewise.
8193 * lra-spills.cc (lra_final_code_change): Likewise.
8194 * lra.cc (lra_process_new_insns): Likewise.
8195 * lto-compress.h (struct lto_compression_stream): Likewise.
8196 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
8197 (write_symbol): Likewise.
8198 * lto-streamer.h (enum LTO_tags): Likewise.
8199 (lto_value_range_error): Likewise.
8200 (lto_append_block): Likewise.
8201 (lto_streamer_hooks_init): Likewise.
8202 (stream_read_tree_ref): Likewise.
8203 (lto_prepare_function_for_streaming): Likewise.
8204 (select_what_to_stream): Likewise.
8205 (omp_lto_input_declare_variant_alt): Likewise.
8206 (cl_optimization_stream_in): Likewise.
8207 * lto-wrapper.cc (append_compiler_options): Likewise.
8208 * machmode.def: Likewise.
8209 * machmode.h (struct int_n_data_t): Likewise.
8210 * main.cc (main): Likewise.
8211 * match.pd: Likewise.
8212 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
8213 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
8214 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
8215 (make_pass_expand_omp_ssa): Likewise.
8216 * omp-low.cc (struct omp_context): Likewise.
8217 (struct omp_taskcopy_context): Likewise.
8218 (lower_omp): Likewise.
8219 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
8220 (mask_name): Likewise.
8221 (omp_sese_dump_pars): Likewise.
8222 (worker_single_simple): Likewise.
8223 * omp-offload.cc (omp_finish_file): Likewise.
8224 (execute_oacc_loop_designation): Likewise.
8225 * optabs-query.cc (lshift_cheap_p): Likewise.
8226 * optc-gen.awk: Likewise.
8227 * optc-save-gen.awk: Likewise.
8228 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
8229 * opts-common.cc: Likewise.
8230 * output.h (app_enable): Likewise.
8231 (output_operand_lossage): Likewise.
8232 (insn_current_reference_address): Likewise.
8233 (get_insn_template): Likewise.
8234 (output_quoted_string): Likewise.
8235 * pass_manager.h (struct register_pass_info): Likewise.
8236 * plugin.cc: Likewise.
8237 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
8238 * plugin.h (invoke_plugin_callbacks): Likewise.
8239 * pointer-query.cc (handle_mem_ref): Likewise.
8240 * postreload-gcse.cc (alloc_mem): Likewise.
8241 * predict.h (enum prediction): Likewise.
8242 (add_reg_br_prob_note): Likewise.
8243 * prefix.h: Likewise.
8244 * profile.h (get_working_sets): Likewise.
8245 * read-md.cc: Likewise.
8246 * read-md.h (struct mapping): Likewise.
8247 (class md_reader): Likewise.
8248 (class noop_reader): Likewise.
8249 * read-rtl-function.cc (function_reader::create_function): Likewise.
8250 (function_reader::extra_parsing_for_operand_code_0): Likewise.
8251 * read-rtl.cc (initialize_iterators): Likewise.
8252 * real.cc: Likewise.
8253 * real.h (struct real_value): Likewise.
8254 (format_helper::format_helper): Likewise.
8255 (real_hash): Likewise.
8256 (real_can_shorten_arithmetic): Likewise.
8257 * recog.cc (struct target_recog): Likewise.
8258 (offsettable_nonstrict_memref_p): Likewise.
8259 (constrain_operands): Likewise.
8260 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
8261 (which_op_alt): Likewise.
8262 (struct insn_gen_fn): Likewise.
8263 * reg-notes.def (REG_NOTE): Likewise.
8264 * reg-stack.cc: Likewise.
8265 * regs.h (reg_is_parm_p): Likewise.
8266 * regset.h: Likewise.
8267 * reload.cc (push_reload): Likewise.
8268 (find_reloads): Likewise.
8269 (find_reloads_address_1): Likewise.
8270 (find_replacement): Likewise.
8271 (refers_to_regno_for_reload_p): Likewise.
8272 (refers_to_mem_for_reload_p): Likewise.
8273 * reload.h (push_reload): Likewise.
8274 (deallocate_reload_reg): Likewise.
8275 * reload1.cc (emit_input_reload_insns): Likewise.
8276 * reorg.cc (relax_delay_slots): Likewise.
8277 * rtl.def (UNKNOWN): Likewise.
8278 (SEQUENCE): Likewise.
8279 (BARRIER): Likewise.
8280 (ASM_OPERANDS): Likewise.
8281 (EQ_ATTR_ALT): Likewise.
8282 * rtl.h (struct GTY): Likewise.
8283 (LABEL_NAME): Likewise.
8284 (LABEL_ALT_ENTRY_P): Likewise.
8285 (SUBREG_BYTE): Likewise.
8286 (get_stack_check_protect): Likewise.
8287 (dump_rtx_statistics): Likewise.
8288 (unwrap_const_vec_duplicate): Likewise.
8289 (subreg_promoted_mode): Likewise.
8290 (gen_lowpart_common): Likewise.
8291 (operand_subword): Likewise.
8292 (immed_wide_int_const): Likewise.
8293 (decide_function_section): Likewise.
8294 (active_insn_p): Likewise.
8295 (delete_related_insns): Likewise.
8296 (try_split): Likewise.
8297 (val_signbit_known_clear_p): Likewise.
8298 (simplifiable_subregs): Likewise.
8299 (set_insn_deleted): Likewise.
8300 (subreg_get_info): Likewise.
8301 (remove_free_EXPR_LIST_node): Likewise.
8302 (finish_subregs_of_mode): Likewise.
8303 (get_mem_attrs): Likewise.
8304 (lookup_constant_def): Likewise.
8305 (rtx_to_tree_code): Likewise.
8306 (hash_rtx): Likewise.
8307 (condjump_in_parallel_p): Likewise.
8308 (validate_subreg): Likewise.
8309 (make_compound_operation): Likewise.
8310 (schedule_ebbs): Likewise.
8311 (print_inline_rtx): Likewise.
8312 (fixup_args_size_notes): Likewise.
8313 (expand_dec): Likewise.
8314 (prepare_copy_insn): Likewise.
8315 (mark_elimination): Likewise.
8316 (valid_mode_changes_for_regno): Likewise.
8317 (make_debug_expr_from_rtl): Likewise.
8318 (delete_vta_debug_insns): Likewise.
8319 (simplify_using_condition): Likewise.
8320 (set_insn_locations): Likewise.
8321 (fatal_insn_not_found): Likewise.
8322 (word_register_operation_p): Likewise.
8323 * rtlanal.cc (get_call_fndecl): Likewise.
8324 (side_effects_p): Likewise.
8325 (subreg_nregs): Likewise.
8326 (rtx_cost): Likewise.
8327 (canonicalize_condition): Likewise.
8328 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
8329 * run-rtl-passes.cc (run_rtl_passes): Likewise.
8330 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
8331 * sched-deps.cc (add_dependence_1): Likewise.
8332 * sched-ebb.cc (begin_move_insn): Likewise.
8333 (add_deps_for_risky_insns): Likewise.
8334 (advance_target_bb): Likewise.
8335 * sched-int.h (reemit_notes): Likewise.
8336 (struct _haifa_insn_data): Likewise.
8338 (DEP_CANCELLED): Likewise.
8339 (debug_ds): Likewise.
8340 (number_in_ready): Likewise.
8341 (schedule_ebbs_finish): Likewise.
8342 (find_modifiable_mems): Likewise.
8343 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
8344 * sel-sched-dump.cc (dump_lv_set): Likewise.
8345 * sel-sched-dump.h: Likewise.
8346 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
8347 (setup_id_reg_sets): Likewise.
8348 (has_dependence_p): Likewise.
8349 (sel_num_cfg_preds_gt_1): Likewise.
8350 (bb_ends_ebb_p): Likewise.
8351 * sel-sched-ir.h (struct _list_node): Likewise.
8352 (struct idata_def): Likewise.
8353 (bb_next_bb): Likewise.
8354 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
8355 (choose_best_pseudo_reg): Likewise.
8356 (verify_target_availability): Likewise.
8357 (can_speculate_dep_p): Likewise.
8358 (sel_rank_for_schedule): Likewise.
8359 * selftest-run-tests.cc (selftest::run_tests): Likewise.
8360 * selftest.h (class auto_fix_quotes): Likewise.
8361 * shrink-wrap.cc (handle_simple_exit): Likewise.
8362 * shrink-wrap.h: Likewise.
8363 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
8364 (simplify_context::simplify_gen_vec_select): Likewise.
8365 * spellcheck-tree.h: Likewise.
8366 * spellcheck.h: Likewise.
8367 * statistics.h (struct function): Likewise.
8368 * stmt.cc (conditional_probability): Likewise.
8370 * stor-layout.h: Likewise.
8371 * streamer-hooks.h: Likewise.
8372 * stringpool.h: Likewise.
8373 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
8374 * target.def (HOOK_VECTOR_END): Likewise.
8376 * target.h (union cumulative_args_t): Likewise.
8377 (by_pieces_ninsns): Likewise.
8378 (class predefined_function_abi): Likewise.
8379 * targhooks.cc (default_translate_mode_attribute): Likewise.
8380 * timevar.def: Likewise.
8381 * timevar.h (class timer): Likewise.
8382 * toplev.h (enable_rtl_dump_file): Likewise.
8383 * trans-mem.cc (collect_bb2reg): Likewise.
8384 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
8385 * tree-cfg.cc (remove_bb): Likewise.
8386 (verify_gimple_debug): Likewise.
8387 (remove_edge_and_dominated_blocks): Likewise.
8388 (push_fndecl): Likewise.
8389 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
8390 * tree-complex.cc (expand_complex_multiplication): Likewise.
8391 (expand_complex_div_straight): Likewise.
8392 * tree-core.h (enum tree_index): Likewise.
8393 (enum operand_equal_flag): Likewise.
8394 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
8395 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
8396 * tree-inline.cc (initialize_inlined_parameters): Likewise.
8397 * tree-inline.h (force_value_to_type): Likewise.
8398 * tree-nested.cc (get_chain_decl): Likewise.
8399 (walk_all_functions): Likewise.
8400 * tree-object-size.h: Likewise.
8401 * tree-outof-ssa.cc: Likewise.
8402 * tree-parloops.cc (create_parallel_loop): Likewise.
8403 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
8404 (dump_generic_node): Likewise.
8405 * tree-profile.cc (tree_profiling): Likewise.
8406 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
8407 * tree-ssa-address.cc: Likewise.
8408 * tree-ssa-alias.cc: Likewise.
8409 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
8410 (dump_alias_stats): Likewise.
8411 * tree-ssa-ccp.cc: Likewise.
8412 * tree-ssa-coalesce.h: Likewise.
8413 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
8414 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
8415 * tree-ssa-loop-unswitch.cc: Likewise.
8416 * tree-ssa-math-opts.cc: Likewise.
8417 * tree-ssa-operands.cc (class operands_scanner): Likewise.
8418 * tree-ssa-pre.cc: Likewise.
8419 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
8420 (debug_range_entry): Likewise.
8421 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
8422 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
8423 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
8424 (equal_mem_array_ref_p): Likewise.
8425 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
8426 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
8427 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
8428 * tree-ssa-ter.h: Likewise.
8429 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
8430 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
8431 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
8432 (write_ts_block_tree_pointers): Likewise.
8433 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
8434 (streamer_read_tree_bitfields): Likewise.
8435 (streamer_write_integer_cst): Likewise.
8436 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
8437 (vect_synth_mult_by_constant): Likewise.
8438 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
8439 * tree-vectorizer.cc: Likewise.
8440 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
8441 (vect_update_inits_of_drs): Likewise.
8442 (vect_get_mask_type_for_stmt): Likewise.
8443 (vect_rgroup_iv_might_wrap_p): Likewise.
8444 (cse_and_gimplify_to_preheader): Likewise.
8445 (vect_free_slp_tree): Likewise.
8446 (vect_pattern_recog): Likewise.
8447 (vect_stmt_dominates_stmt_p): Likewise.
8448 * tree.cc (initialize_tree_contains_struct): Likewise.
8449 (need_assembler_name_p): Likewise.
8450 (type_with_interoperable_signedness): Likewise.
8451 * tree.def (SWITCH_EXPR): Likewise.
8452 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
8453 (poly_int_tree_p): Likewise.
8454 (inlined_function_outer_scope_p): Likewise.
8455 (tree_code_for_canonical_type_merging): Likewise.
8456 * value-prof.cc: Likewise.
8457 * value-prof.h (get_nth_most_common_value): Likewise.
8458 (find_func_by_profile_id): Likewise.
8459 * value-range.cc (vrp_operand_equal_p): Likewise.
8460 * value-range.h: Likewise.
8461 * var-tracking.cc: Likewise.
8462 * varasm.cc (default_function_section): Likewise.
8463 (function_section_1): Likewise.
8464 (assemble_variable): Likewise.
8465 (handle_vtv_comdat_section): Likewise.
8466 * vec.h (struct vec_prefix): Likewise.
8467 * vmsdbgout.cc (full_name): Likewise.
8468 * vtable-verify.cc: Likewise.
8469 * vtable-verify.h (struct vtv_graph_node): Likewise.
8470 * xcoffout.cc: Likewise.
8471 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
8473 2022-01-17 Martin Liska <mliska@suse.cz>
8475 * adjust-alignment.c: Moved to...
8476 * adjust-alignment.cc: ...here.
8477 * alias.c: Moved to...
8478 * alias.cc: ...here.
8479 * alloc-pool.c: Moved to...
8480 * alloc-pool.cc: ...here.
8481 * asan.c: Moved to...
8483 * attribs.c: Moved to...
8484 * attribs.cc: ...here.
8485 * auto-inc-dec.c: Moved to...
8486 * auto-inc-dec.cc: ...here.
8487 * auto-profile.c: Moved to...
8488 * auto-profile.cc: ...here.
8489 * bb-reorder.c: Moved to...
8490 * bb-reorder.cc: ...here.
8491 * bitmap.c: Moved to...
8492 * bitmap.cc: ...here.
8493 * btfout.c: Moved to...
8494 * btfout.cc: ...here.
8495 * builtins.c: Moved to...
8496 * builtins.cc: ...here.
8497 * caller-save.c: Moved to...
8498 * caller-save.cc: ...here.
8499 * calls.c: Moved to...
8500 * calls.cc: ...here.
8501 * ccmp.c: Moved to...
8503 * cfg.c: Moved to...
8505 * cfganal.c: Moved to...
8506 * cfganal.cc: ...here.
8507 * cfgbuild.c: Moved to...
8508 * cfgbuild.cc: ...here.
8509 * cfgcleanup.c: Moved to...
8510 * cfgcleanup.cc: ...here.
8511 * cfgexpand.c: Moved to...
8512 * cfgexpand.cc: ...here.
8513 * cfghooks.c: Moved to...
8514 * cfghooks.cc: ...here.
8515 * cfgloop.c: Moved to...
8516 * cfgloop.cc: ...here.
8517 * cfgloopanal.c: Moved to...
8518 * cfgloopanal.cc: ...here.
8519 * cfgloopmanip.c: Moved to...
8520 * cfgloopmanip.cc: ...here.
8521 * cfgrtl.c: Moved to...
8522 * cfgrtl.cc: ...here.
8523 * cgraph.c: Moved to...
8524 * cgraph.cc: ...here.
8525 * cgraphbuild.c: Moved to...
8526 * cgraphbuild.cc: ...here.
8527 * cgraphclones.c: Moved to...
8528 * cgraphclones.cc: ...here.
8529 * cgraphunit.c: Moved to...
8530 * cgraphunit.cc: ...here.
8531 * collect-utils.c: Moved to...
8532 * collect-utils.cc: ...here.
8533 * collect2-aix.c: Moved to...
8534 * collect2-aix.cc: ...here.
8535 * collect2.c: Moved to...
8536 * collect2.cc: ...here.
8537 * combine-stack-adj.c: Moved to...
8538 * combine-stack-adj.cc: ...here.
8539 * combine.c: Moved to...
8540 * combine.cc: ...here.
8541 * common/common-targhooks.c: Moved to...
8542 * common/common-targhooks.cc: ...here.
8543 * common/config/aarch64/aarch64-common.c: Moved to...
8544 * common/config/aarch64/aarch64-common.cc: ...here.
8545 * common/config/alpha/alpha-common.c: Moved to...
8546 * common/config/alpha/alpha-common.cc: ...here.
8547 * common/config/arc/arc-common.c: Moved to...
8548 * common/config/arc/arc-common.cc: ...here.
8549 * common/config/arm/arm-common.c: Moved to...
8550 * common/config/arm/arm-common.cc: ...here.
8551 * common/config/avr/avr-common.c: Moved to...
8552 * common/config/avr/avr-common.cc: ...here.
8553 * common/config/bfin/bfin-common.c: Moved to...
8554 * common/config/bfin/bfin-common.cc: ...here.
8555 * common/config/bpf/bpf-common.c: Moved to...
8556 * common/config/bpf/bpf-common.cc: ...here.
8557 * common/config/c6x/c6x-common.c: Moved to...
8558 * common/config/c6x/c6x-common.cc: ...here.
8559 * common/config/cr16/cr16-common.c: Moved to...
8560 * common/config/cr16/cr16-common.cc: ...here.
8561 * common/config/cris/cris-common.c: Moved to...
8562 * common/config/cris/cris-common.cc: ...here.
8563 * common/config/csky/csky-common.c: Moved to...
8564 * common/config/csky/csky-common.cc: ...here.
8565 * common/config/default-common.c: Moved to...
8566 * common/config/default-common.cc: ...here.
8567 * common/config/epiphany/epiphany-common.c: Moved to...
8568 * common/config/epiphany/epiphany-common.cc: ...here.
8569 * common/config/fr30/fr30-common.c: Moved to...
8570 * common/config/fr30/fr30-common.cc: ...here.
8571 * common/config/frv/frv-common.c: Moved to...
8572 * common/config/frv/frv-common.cc: ...here.
8573 * common/config/gcn/gcn-common.c: Moved to...
8574 * common/config/gcn/gcn-common.cc: ...here.
8575 * common/config/h8300/h8300-common.c: Moved to...
8576 * common/config/h8300/h8300-common.cc: ...here.
8577 * common/config/i386/i386-common.c: Moved to...
8578 * common/config/i386/i386-common.cc: ...here.
8579 * common/config/ia64/ia64-common.c: Moved to...
8580 * common/config/ia64/ia64-common.cc: ...here.
8581 * common/config/iq2000/iq2000-common.c: Moved to...
8582 * common/config/iq2000/iq2000-common.cc: ...here.
8583 * common/config/lm32/lm32-common.c: Moved to...
8584 * common/config/lm32/lm32-common.cc: ...here.
8585 * common/config/m32r/m32r-common.c: Moved to...
8586 * common/config/m32r/m32r-common.cc: ...here.
8587 * common/config/m68k/m68k-common.c: Moved to...
8588 * common/config/m68k/m68k-common.cc: ...here.
8589 * common/config/mcore/mcore-common.c: Moved to...
8590 * common/config/mcore/mcore-common.cc: ...here.
8591 * common/config/microblaze/microblaze-common.c: Moved to...
8592 * common/config/microblaze/microblaze-common.cc: ...here.
8593 * common/config/mips/mips-common.c: Moved to...
8594 * common/config/mips/mips-common.cc: ...here.
8595 * common/config/mmix/mmix-common.c: Moved to...
8596 * common/config/mmix/mmix-common.cc: ...here.
8597 * common/config/mn10300/mn10300-common.c: Moved to...
8598 * common/config/mn10300/mn10300-common.cc: ...here.
8599 * common/config/msp430/msp430-common.c: Moved to...
8600 * common/config/msp430/msp430-common.cc: ...here.
8601 * common/config/nds32/nds32-common.c: Moved to...
8602 * common/config/nds32/nds32-common.cc: ...here.
8603 * common/config/nios2/nios2-common.c: Moved to...
8604 * common/config/nios2/nios2-common.cc: ...here.
8605 * common/config/nvptx/nvptx-common.c: Moved to...
8606 * common/config/nvptx/nvptx-common.cc: ...here.
8607 * common/config/or1k/or1k-common.c: Moved to...
8608 * common/config/or1k/or1k-common.cc: ...here.
8609 * common/config/pa/pa-common.c: Moved to...
8610 * common/config/pa/pa-common.cc: ...here.
8611 * common/config/pdp11/pdp11-common.c: Moved to...
8612 * common/config/pdp11/pdp11-common.cc: ...here.
8613 * common/config/pru/pru-common.c: Moved to...
8614 * common/config/pru/pru-common.cc: ...here.
8615 * common/config/riscv/riscv-common.c: Moved to...
8616 * common/config/riscv/riscv-common.cc: ...here.
8617 * common/config/rs6000/rs6000-common.c: Moved to...
8618 * common/config/rs6000/rs6000-common.cc: ...here.
8619 * common/config/rx/rx-common.c: Moved to...
8620 * common/config/rx/rx-common.cc: ...here.
8621 * common/config/s390/s390-common.c: Moved to...
8622 * common/config/s390/s390-common.cc: ...here.
8623 * common/config/sh/sh-common.c: Moved to...
8624 * common/config/sh/sh-common.cc: ...here.
8625 * common/config/sparc/sparc-common.c: Moved to...
8626 * common/config/sparc/sparc-common.cc: ...here.
8627 * common/config/tilegx/tilegx-common.c: Moved to...
8628 * common/config/tilegx/tilegx-common.cc: ...here.
8629 * common/config/tilepro/tilepro-common.c: Moved to...
8630 * common/config/tilepro/tilepro-common.cc: ...here.
8631 * common/config/v850/v850-common.c: Moved to...
8632 * common/config/v850/v850-common.cc: ...here.
8633 * common/config/vax/vax-common.c: Moved to...
8634 * common/config/vax/vax-common.cc: ...here.
8635 * common/config/visium/visium-common.c: Moved to...
8636 * common/config/visium/visium-common.cc: ...here.
8637 * common/config/xstormy16/xstormy16-common.c: Moved to...
8638 * common/config/xstormy16/xstormy16-common.cc: ...here.
8639 * common/config/xtensa/xtensa-common.c: Moved to...
8640 * common/config/xtensa/xtensa-common.cc: ...here.
8641 * compare-elim.c: Moved to...
8642 * compare-elim.cc: ...here.
8643 * config/aarch64/aarch64-bti-insert.c: Moved to...
8644 * config/aarch64/aarch64-bti-insert.cc: ...here.
8645 * config/aarch64/aarch64-builtins.c: Moved to...
8646 * config/aarch64/aarch64-builtins.cc: ...here.
8647 * config/aarch64/aarch64-c.c: Moved to...
8648 * config/aarch64/aarch64-c.cc: ...here.
8649 * config/aarch64/aarch64-d.c: Moved to...
8650 * config/aarch64/aarch64-d.cc: ...here.
8651 * config/aarch64/aarch64.c: Moved to...
8652 * config/aarch64/aarch64.cc: ...here.
8653 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
8654 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
8655 * config/aarch64/driver-aarch64.c: Moved to...
8656 * config/aarch64/driver-aarch64.cc: ...here.
8657 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
8658 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
8659 * config/aarch64/host-aarch64-darwin.c: Moved to...
8660 * config/aarch64/host-aarch64-darwin.cc: ...here.
8661 * config/alpha/alpha.c: Moved to...
8662 * config/alpha/alpha.cc: ...here.
8663 * config/alpha/driver-alpha.c: Moved to...
8664 * config/alpha/driver-alpha.cc: ...here.
8665 * config/arc/arc-c.c: Moved to...
8666 * config/arc/arc-c.cc: ...here.
8667 * config/arc/arc.c: Moved to...
8668 * config/arc/arc.cc: ...here.
8669 * config/arc/driver-arc.c: Moved to...
8670 * config/arc/driver-arc.cc: ...here.
8671 * config/arm/aarch-common.c: Moved to...
8672 * config/arm/aarch-common.cc: ...here.
8673 * config/arm/arm-builtins.c: Moved to...
8674 * config/arm/arm-builtins.cc: ...here.
8675 * config/arm/arm-c.c: Moved to...
8676 * config/arm/arm-c.cc: ...here.
8677 * config/arm/arm-d.c: Moved to...
8678 * config/arm/arm-d.cc: ...here.
8679 * config/arm/arm.c: Moved to...
8680 * config/arm/arm.cc: ...here.
8681 * config/arm/driver-arm.c: Moved to...
8682 * config/arm/driver-arm.cc: ...here.
8683 * config/avr/avr-c.c: Moved to...
8684 * config/avr/avr-c.cc: ...here.
8685 * config/avr/avr-devices.c: Moved to...
8686 * config/avr/avr-devices.cc: ...here.
8687 * config/avr/avr-log.c: Moved to...
8688 * config/avr/avr-log.cc: ...here.
8689 * config/avr/avr.c: Moved to...
8690 * config/avr/avr.cc: ...here.
8691 * config/avr/driver-avr.c: Moved to...
8692 * config/avr/driver-avr.cc: ...here.
8693 * config/avr/gen-avr-mmcu-specs.c: Moved to...
8694 * config/avr/gen-avr-mmcu-specs.cc: ...here.
8695 * config/avr/gen-avr-mmcu-texi.c: Moved to...
8696 * config/avr/gen-avr-mmcu-texi.cc: ...here.
8697 * config/bfin/bfin.c: Moved to...
8698 * config/bfin/bfin.cc: ...here.
8699 * config/bpf/bpf.c: Moved to...
8700 * config/bpf/bpf.cc: ...here.
8701 * config/bpf/coreout.c: Moved to...
8702 * config/bpf/coreout.cc: ...here.
8703 * config/c6x/c6x.c: Moved to...
8704 * config/c6x/c6x.cc: ...here.
8705 * config/cr16/cr16.c: Moved to...
8706 * config/cr16/cr16.cc: ...here.
8707 * config/cris/cris.c: Moved to...
8708 * config/cris/cris.cc: ...here.
8709 * config/csky/csky.c: Moved to...
8710 * config/csky/csky.cc: ...here.
8711 * config/darwin-c.c: Moved to...
8712 * config/darwin-c.cc: ...here.
8713 * config/darwin-d.c: Moved to...
8714 * config/darwin-d.cc: ...here.
8715 * config/darwin-driver.c: Moved to...
8716 * config/darwin-driver.cc: ...here.
8717 * config/darwin-f.c: Moved to...
8718 * config/darwin-f.cc: ...here.
8719 * config/darwin.c: Moved to...
8720 * config/darwin.cc: ...here.
8721 * config/default-c.c: Moved to...
8722 * config/default-c.cc: ...here.
8723 * config/default-d.c: Moved to...
8724 * config/default-d.cc: ...here.
8725 * config/dragonfly-d.c: Moved to...
8726 * config/dragonfly-d.cc: ...here.
8727 * config/epiphany/epiphany.c: Moved to...
8728 * config/epiphany/epiphany.cc: ...here.
8729 * config/epiphany/mode-switch-use.c: Moved to...
8730 * config/epiphany/mode-switch-use.cc: ...here.
8731 * config/epiphany/resolve-sw-modes.c: Moved to...
8732 * config/epiphany/resolve-sw-modes.cc: ...here.
8733 * config/fr30/fr30.c: Moved to...
8734 * config/fr30/fr30.cc: ...here.
8735 * config/freebsd-d.c: Moved to...
8736 * config/freebsd-d.cc: ...here.
8737 * config/frv/frv.c: Moved to...
8738 * config/frv/frv.cc: ...here.
8739 * config/ft32/ft32.c: Moved to...
8740 * config/ft32/ft32.cc: ...here.
8741 * config/gcn/driver-gcn.c: Moved to...
8742 * config/gcn/driver-gcn.cc: ...here.
8743 * config/gcn/gcn-run.c: Moved to...
8744 * config/gcn/gcn-run.cc: ...here.
8745 * config/gcn/gcn-tree.c: Moved to...
8746 * config/gcn/gcn-tree.cc: ...here.
8747 * config/gcn/gcn.c: Moved to...
8748 * config/gcn/gcn.cc: ...here.
8749 * config/gcn/mkoffload.c: Moved to...
8750 * config/gcn/mkoffload.cc: ...here.
8751 * config/glibc-c.c: Moved to...
8752 * config/glibc-c.cc: ...here.
8753 * config/glibc-d.c: Moved to...
8754 * config/glibc-d.cc: ...here.
8755 * config/h8300/h8300.c: Moved to...
8756 * config/h8300/h8300.cc: ...here.
8757 * config/host-darwin.c: Moved to...
8758 * config/host-darwin.cc: ...here.
8759 * config/host-hpux.c: Moved to...
8760 * config/host-hpux.cc: ...here.
8761 * config/host-linux.c: Moved to...
8762 * config/host-linux.cc: ...here.
8763 * config/host-netbsd.c: Moved to...
8764 * config/host-netbsd.cc: ...here.
8765 * config/host-openbsd.c: Moved to...
8766 * config/host-openbsd.cc: ...here.
8767 * config/host-solaris.c: Moved to...
8768 * config/host-solaris.cc: ...here.
8769 * config/i386/djgpp.c: Moved to...
8770 * config/i386/djgpp.cc: ...here.
8771 * config/i386/driver-i386.c: Moved to...
8772 * config/i386/driver-i386.cc: ...here.
8773 * config/i386/driver-mingw32.c: Moved to...
8774 * config/i386/driver-mingw32.cc: ...here.
8775 * config/i386/gnu-property.c: Moved to...
8776 * config/i386/gnu-property.cc: ...here.
8777 * config/i386/host-cygwin.c: Moved to...
8778 * config/i386/host-cygwin.cc: ...here.
8779 * config/i386/host-i386-darwin.c: Moved to...
8780 * config/i386/host-i386-darwin.cc: ...here.
8781 * config/i386/host-mingw32.c: Moved to...
8782 * config/i386/host-mingw32.cc: ...here.
8783 * config/i386/i386-builtins.c: Moved to...
8784 * config/i386/i386-builtins.cc: ...here.
8785 * config/i386/i386-c.c: Moved to...
8786 * config/i386/i386-c.cc: ...here.
8787 * config/i386/i386-d.c: Moved to...
8788 * config/i386/i386-d.cc: ...here.
8789 * config/i386/i386-expand.c: Moved to...
8790 * config/i386/i386-expand.cc: ...here.
8791 * config/i386/i386-features.c: Moved to...
8792 * config/i386/i386-features.cc: ...here.
8793 * config/i386/i386-options.c: Moved to...
8794 * config/i386/i386-options.cc: ...here.
8795 * config/i386/i386.c: Moved to...
8796 * config/i386/i386.cc: ...here.
8797 * config/i386/intelmic-mkoffload.c: Moved to...
8798 * config/i386/intelmic-mkoffload.cc: ...here.
8799 * config/i386/msformat-c.c: Moved to...
8800 * config/i386/msformat-c.cc: ...here.
8801 * config/i386/winnt-cxx.c: Moved to...
8802 * config/i386/winnt-cxx.cc: ...here.
8803 * config/i386/winnt-d.c: Moved to...
8804 * config/i386/winnt-d.cc: ...here.
8805 * config/i386/winnt-stubs.c: Moved to...
8806 * config/i386/winnt-stubs.cc: ...here.
8807 * config/i386/winnt.c: Moved to...
8808 * config/i386/winnt.cc: ...here.
8809 * config/i386/x86-tune-sched-atom.c: Moved to...
8810 * config/i386/x86-tune-sched-atom.cc: ...here.
8811 * config/i386/x86-tune-sched-bd.c: Moved to...
8812 * config/i386/x86-tune-sched-bd.cc: ...here.
8813 * config/i386/x86-tune-sched-core.c: Moved to...
8814 * config/i386/x86-tune-sched-core.cc: ...here.
8815 * config/i386/x86-tune-sched.c: Moved to...
8816 * config/i386/x86-tune-sched.cc: ...here.
8817 * config/ia64/ia64-c.c: Moved to...
8818 * config/ia64/ia64-c.cc: ...here.
8819 * config/ia64/ia64.c: Moved to...
8820 * config/ia64/ia64.cc: ...here.
8821 * config/iq2000/iq2000.c: Moved to...
8822 * config/iq2000/iq2000.cc: ...here.
8823 * config/linux.c: Moved to...
8824 * config/linux.cc: ...here.
8825 * config/lm32/lm32.c: Moved to...
8826 * config/lm32/lm32.cc: ...here.
8827 * config/m32c/m32c-pragma.c: Moved to...
8828 * config/m32c/m32c-pragma.cc: ...here.
8829 * config/m32c/m32c.c: Moved to...
8830 * config/m32c/m32c.cc: ...here.
8831 * config/m32r/m32r.c: Moved to...
8832 * config/m32r/m32r.cc: ...here.
8833 * config/m68k/m68k.c: Moved to...
8834 * config/m68k/m68k.cc: ...here.
8835 * config/mcore/mcore.c: Moved to...
8836 * config/mcore/mcore.cc: ...here.
8837 * config/microblaze/microblaze-c.c: Moved to...
8838 * config/microblaze/microblaze-c.cc: ...here.
8839 * config/microblaze/microblaze.c: Moved to...
8840 * config/microblaze/microblaze.cc: ...here.
8841 * config/mips/driver-native.c: Moved to...
8842 * config/mips/driver-native.cc: ...here.
8843 * config/mips/frame-header-opt.c: Moved to...
8844 * config/mips/frame-header-opt.cc: ...here.
8845 * config/mips/mips-d.c: Moved to...
8846 * config/mips/mips-d.cc: ...here.
8847 * config/mips/mips.c: Moved to...
8848 * config/mips/mips.cc: ...here.
8849 * config/mmix/mmix.c: Moved to...
8850 * config/mmix/mmix.cc: ...here.
8851 * config/mn10300/mn10300.c: Moved to...
8852 * config/mn10300/mn10300.cc: ...here.
8853 * config/moxie/moxie.c: Moved to...
8854 * config/moxie/moxie.cc: ...here.
8855 * config/msp430/driver-msp430.c: Moved to...
8856 * config/msp430/driver-msp430.cc: ...here.
8857 * config/msp430/msp430-c.c: Moved to...
8858 * config/msp430/msp430-c.cc: ...here.
8859 * config/msp430/msp430-devices.c: Moved to...
8860 * config/msp430/msp430-devices.cc: ...here.
8861 * config/msp430/msp430.c: Moved to...
8862 * config/msp430/msp430.cc: ...here.
8863 * config/nds32/nds32-cost.c: Moved to...
8864 * config/nds32/nds32-cost.cc: ...here.
8865 * config/nds32/nds32-fp-as-gp.c: Moved to...
8866 * config/nds32/nds32-fp-as-gp.cc: ...here.
8867 * config/nds32/nds32-intrinsic.c: Moved to...
8868 * config/nds32/nds32-intrinsic.cc: ...here.
8869 * config/nds32/nds32-isr.c: Moved to...
8870 * config/nds32/nds32-isr.cc: ...here.
8871 * config/nds32/nds32-md-auxiliary.c: Moved to...
8872 * config/nds32/nds32-md-auxiliary.cc: ...here.
8873 * config/nds32/nds32-memory-manipulation.c: Moved to...
8874 * config/nds32/nds32-memory-manipulation.cc: ...here.
8875 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
8876 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
8877 * config/nds32/nds32-predicates.c: Moved to...
8878 * config/nds32/nds32-predicates.cc: ...here.
8879 * config/nds32/nds32-relax-opt.c: Moved to...
8880 * config/nds32/nds32-relax-opt.cc: ...here.
8881 * config/nds32/nds32-utils.c: Moved to...
8882 * config/nds32/nds32-utils.cc: ...here.
8883 * config/nds32/nds32.c: Moved to...
8884 * config/nds32/nds32.cc: ...here.
8885 * config/netbsd-d.c: Moved to...
8886 * config/netbsd-d.cc: ...here.
8887 * config/netbsd.c: Moved to...
8888 * config/netbsd.cc: ...here.
8889 * config/nios2/nios2.c: Moved to...
8890 * config/nios2/nios2.cc: ...here.
8891 * config/nvptx/mkoffload.c: Moved to...
8892 * config/nvptx/mkoffload.cc: ...here.
8893 * config/nvptx/nvptx-c.c: Moved to...
8894 * config/nvptx/nvptx-c.cc: ...here.
8895 * config/nvptx/nvptx.c: Moved to...
8896 * config/nvptx/nvptx.cc: ...here.
8897 * config/openbsd-d.c: Moved to...
8898 * config/openbsd-d.cc: ...here.
8899 * config/or1k/or1k.c: Moved to...
8900 * config/or1k/or1k.cc: ...here.
8901 * config/pa/pa-d.c: Moved to...
8902 * config/pa/pa-d.cc: ...here.
8903 * config/pa/pa.c: Moved to...
8904 * config/pa/pa.cc: ...here.
8905 * config/pdp11/pdp11.c: Moved to...
8906 * config/pdp11/pdp11.cc: ...here.
8907 * config/pru/pru-passes.c: Moved to...
8908 * config/pru/pru-passes.cc: ...here.
8909 * config/pru/pru-pragma.c: Moved to...
8910 * config/pru/pru-pragma.cc: ...here.
8911 * config/pru/pru.c: Moved to...
8912 * config/pru/pru.cc: ...here.
8913 * config/riscv/riscv-builtins.c: Moved to...
8914 * config/riscv/riscv-builtins.cc: ...here.
8915 * config/riscv/riscv-c.c: Moved to...
8916 * config/riscv/riscv-c.cc: ...here.
8917 * config/riscv/riscv-d.c: Moved to...
8918 * config/riscv/riscv-d.cc: ...here.
8919 * config/riscv/riscv-shorten-memrefs.c: Moved to...
8920 * config/riscv/riscv-shorten-memrefs.cc: ...here.
8921 * config/riscv/riscv-sr.c: Moved to...
8922 * config/riscv/riscv-sr.cc: ...here.
8923 * config/riscv/riscv.c: Moved to...
8924 * config/riscv/riscv.cc: ...here.
8925 * config/rl78/rl78-c.c: Moved to...
8926 * config/rl78/rl78-c.cc: ...here.
8927 * config/rl78/rl78.c: Moved to...
8928 * config/rl78/rl78.cc: ...here.
8929 * config/rs6000/driver-rs6000.c: Moved to...
8930 * config/rs6000/driver-rs6000.cc: ...here.
8931 * config/rs6000/host-darwin.c: Moved to...
8932 * config/rs6000/host-darwin.cc: ...here.
8933 * config/rs6000/host-ppc64-darwin.c: Moved to...
8934 * config/rs6000/host-ppc64-darwin.cc: ...here.
8935 * config/rs6000/rbtree.c: Moved to...
8936 * config/rs6000/rbtree.cc: ...here.
8937 * config/rs6000/rs6000-c.c: Moved to...
8938 * config/rs6000/rs6000-c.cc: ...here.
8939 * config/rs6000/rs6000-call.c: Moved to...
8940 * config/rs6000/rs6000-call.cc: ...here.
8941 * config/rs6000/rs6000-d.c: Moved to...
8942 * config/rs6000/rs6000-d.cc: ...here.
8943 * config/rs6000/rs6000-gen-builtins.c: Moved to...
8944 * config/rs6000/rs6000-gen-builtins.cc: ...here.
8945 * config/rs6000/rs6000-linux.c: Moved to...
8946 * config/rs6000/rs6000-linux.cc: ...here.
8947 * config/rs6000/rs6000-logue.c: Moved to...
8948 * config/rs6000/rs6000-logue.cc: ...here.
8949 * config/rs6000/rs6000-p8swap.c: Moved to...
8950 * config/rs6000/rs6000-p8swap.cc: ...here.
8951 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
8952 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
8953 * config/rs6000/rs6000-string.c: Moved to...
8954 * config/rs6000/rs6000-string.cc: ...here.
8955 * config/rs6000/rs6000.c: Moved to...
8956 * config/rs6000/rs6000.cc: ...here.
8957 * config/rx/rx.c: Moved to...
8958 * config/rx/rx.cc: ...here.
8959 * config/s390/driver-native.c: Moved to...
8960 * config/s390/driver-native.cc: ...here.
8961 * config/s390/s390-c.c: Moved to...
8962 * config/s390/s390-c.cc: ...here.
8963 * config/s390/s390-d.c: Moved to...
8964 * config/s390/s390-d.cc: ...here.
8965 * config/s390/s390.c: Moved to...
8966 * config/s390/s390.cc: ...here.
8967 * config/sh/divtab-sh4-300.c: Moved to...
8968 * config/sh/divtab-sh4-300.cc: ...here.
8969 * config/sh/divtab-sh4.c: Moved to...
8970 * config/sh/divtab-sh4.cc: ...here.
8971 * config/sh/divtab.c: Moved to...
8972 * config/sh/divtab.cc: ...here.
8973 * config/sh/sh-c.c: Moved to...
8974 * config/sh/sh-c.cc: ...here.
8975 * config/sh/sh.c: Moved to...
8976 * config/sh/sh.cc: ...here.
8977 * config/sol2-c.c: Moved to...
8978 * config/sol2-c.cc: ...here.
8979 * config/sol2-cxx.c: Moved to...
8980 * config/sol2-cxx.cc: ...here.
8981 * config/sol2-d.c: Moved to...
8982 * config/sol2-d.cc: ...here.
8983 * config/sol2-stubs.c: Moved to...
8984 * config/sol2-stubs.cc: ...here.
8985 * config/sol2.c: Moved to...
8986 * config/sol2.cc: ...here.
8987 * config/sparc/driver-sparc.c: Moved to...
8988 * config/sparc/driver-sparc.cc: ...here.
8989 * config/sparc/sparc-c.c: Moved to...
8990 * config/sparc/sparc-c.cc: ...here.
8991 * config/sparc/sparc-d.c: Moved to...
8992 * config/sparc/sparc-d.cc: ...here.
8993 * config/sparc/sparc.c: Moved to...
8994 * config/sparc/sparc.cc: ...here.
8995 * config/stormy16/stormy16.c: Moved to...
8996 * config/stormy16/stormy16.cc: ...here.
8997 * config/tilegx/mul-tables.c: Moved to...
8998 * config/tilegx/mul-tables.cc: ...here.
8999 * config/tilegx/tilegx-c.c: Moved to...
9000 * config/tilegx/tilegx-c.cc: ...here.
9001 * config/tilegx/tilegx.c: Moved to...
9002 * config/tilegx/tilegx.cc: ...here.
9003 * config/tilepro/mul-tables.c: Moved to...
9004 * config/tilepro/mul-tables.cc: ...here.
9005 * config/tilepro/tilepro-c.c: Moved to...
9006 * config/tilepro/tilepro-c.cc: ...here.
9007 * config/tilepro/tilepro.c: Moved to...
9008 * config/tilepro/tilepro.cc: ...here.
9009 * config/v850/v850-c.c: Moved to...
9010 * config/v850/v850-c.cc: ...here.
9011 * config/v850/v850.c: Moved to...
9012 * config/v850/v850.cc: ...here.
9013 * config/vax/vax.c: Moved to...
9014 * config/vax/vax.cc: ...here.
9015 * config/visium/visium.c: Moved to...
9016 * config/visium/visium.cc: ...here.
9017 * config/vms/vms-c.c: Moved to...
9018 * config/vms/vms-c.cc: ...here.
9019 * config/vms/vms-f.c: Moved to...
9020 * config/vms/vms-f.cc: ...here.
9021 * config/vms/vms.c: Moved to...
9022 * config/vms/vms.cc: ...here.
9023 * config/vxworks-c.c: Moved to...
9024 * config/vxworks-c.cc: ...here.
9025 * config/vxworks.c: Moved to...
9026 * config/vxworks.cc: ...here.
9027 * config/winnt-c.c: Moved to...
9028 * config/winnt-c.cc: ...here.
9029 * config/xtensa/xtensa.c: Moved to...
9030 * config/xtensa/xtensa.cc: ...here.
9031 * context.c: Moved to...
9032 * context.cc: ...here.
9033 * convert.c: Moved to...
9034 * convert.cc: ...here.
9035 * coverage.c: Moved to...
9036 * coverage.cc: ...here.
9037 * cppbuiltin.c: Moved to...
9038 * cppbuiltin.cc: ...here.
9039 * cppdefault.c: Moved to...
9040 * cppdefault.cc: ...here.
9041 * cprop.c: Moved to...
9042 * cprop.cc: ...here.
9043 * cse.c: Moved to...
9045 * cselib.c: Moved to...
9046 * cselib.cc: ...here.
9047 * ctfc.c: Moved to...
9049 * ctfout.c: Moved to...
9050 * ctfout.cc: ...here.
9051 * data-streamer-in.c: Moved to...
9052 * data-streamer-in.cc: ...here.
9053 * data-streamer-out.c: Moved to...
9054 * data-streamer-out.cc: ...here.
9055 * data-streamer.c: Moved to...
9056 * data-streamer.cc: ...here.
9057 * dbgcnt.c: Moved to...
9058 * dbgcnt.cc: ...here.
9059 * dbxout.c: Moved to...
9060 * dbxout.cc: ...here.
9061 * dce.c: Moved to...
9063 * ddg.c: Moved to...
9065 * debug.c: Moved to...
9066 * debug.cc: ...here.
9067 * df-core.c: Moved to...
9068 * df-core.cc: ...here.
9069 * df-problems.c: Moved to...
9070 * df-problems.cc: ...here.
9071 * df-scan.c: Moved to...
9072 * df-scan.cc: ...here.
9073 * dfp.c: Moved to...
9075 * diagnostic-color.c: Moved to...
9076 * diagnostic-color.cc: ...here.
9077 * diagnostic-show-locus.c: Moved to...
9078 * diagnostic-show-locus.cc: ...here.
9079 * diagnostic-spec.c: Moved to...
9080 * diagnostic-spec.cc: ...here.
9081 * diagnostic.c: Moved to...
9082 * diagnostic.cc: ...here.
9083 * dojump.c: Moved to...
9084 * dojump.cc: ...here.
9085 * dominance.c: Moved to...
9086 * dominance.cc: ...here.
9087 * domwalk.c: Moved to...
9088 * domwalk.cc: ...here.
9089 * double-int.c: Moved to...
9090 * double-int.cc: ...here.
9091 * dse.c: Moved to...
9093 * dumpfile.c: Moved to...
9094 * dumpfile.cc: ...here.
9095 * dwarf2asm.c: Moved to...
9096 * dwarf2asm.cc: ...here.
9097 * dwarf2cfi.c: Moved to...
9098 * dwarf2cfi.cc: ...here.
9099 * dwarf2ctf.c: Moved to...
9100 * dwarf2ctf.cc: ...here.
9101 * dwarf2out.c: Moved to...
9102 * dwarf2out.cc: ...here.
9103 * early-remat.c: Moved to...
9104 * early-remat.cc: ...here.
9105 * edit-context.c: Moved to...
9106 * edit-context.cc: ...here.
9107 * emit-rtl.c: Moved to...
9108 * emit-rtl.cc: ...here.
9109 * errors.c: Moved to...
9110 * errors.cc: ...here.
9111 * et-forest.c: Moved to...
9112 * et-forest.cc: ...here.
9113 * except.c: Moved to...
9114 * except.cc: ...here.
9115 * explow.c: Moved to...
9116 * explow.cc: ...here.
9117 * expmed.c: Moved to...
9118 * expmed.cc: ...here.
9119 * expr.c: Moved to...
9121 * fibonacci_heap.c: Moved to...
9122 * fibonacci_heap.cc: ...here.
9123 * file-find.c: Moved to...
9124 * file-find.cc: ...here.
9125 * file-prefix-map.c: Moved to...
9126 * file-prefix-map.cc: ...here.
9127 * final.c: Moved to...
9128 * final.cc: ...here.
9129 * fixed-value.c: Moved to...
9130 * fixed-value.cc: ...here.
9131 * fold-const-call.c: Moved to...
9132 * fold-const-call.cc: ...here.
9133 * fold-const.c: Moved to...
9134 * fold-const.cc: ...here.
9135 * fp-test.c: Moved to...
9136 * fp-test.cc: ...here.
9137 * function-tests.c: Moved to...
9138 * function-tests.cc: ...here.
9139 * function.c: Moved to...
9140 * function.cc: ...here.
9141 * fwprop.c: Moved to...
9142 * fwprop.cc: ...here.
9143 * gcc-ar.c: Moved to...
9144 * gcc-ar.cc: ...here.
9145 * gcc-main.c: Moved to...
9146 * gcc-main.cc: ...here.
9147 * gcc-rich-location.c: Moved to...
9148 * gcc-rich-location.cc: ...here.
9149 * gcc.c: Moved to...
9151 * gcov-dump.c: Moved to...
9152 * gcov-dump.cc: ...here.
9153 * gcov-io.c: Moved to...
9154 * gcov-io.cc: ...here.
9155 * gcov-tool.c: Moved to...
9156 * gcov-tool.cc: ...here.
9157 * gcov.c: Moved to...
9159 * gcse-common.c: Moved to...
9160 * gcse-common.cc: ...here.
9161 * gcse.c: Moved to...
9163 * genattr-common.c: Moved to...
9164 * genattr-common.cc: ...here.
9165 * genattr.c: Moved to...
9166 * genattr.cc: ...here.
9167 * genattrtab.c: Moved to...
9168 * genattrtab.cc: ...here.
9169 * genautomata.c: Moved to...
9170 * genautomata.cc: ...here.
9171 * gencfn-macros.c: Moved to...
9172 * gencfn-macros.cc: ...here.
9173 * gencheck.c: Moved to...
9174 * gencheck.cc: ...here.
9175 * genchecksum.c: Moved to...
9176 * genchecksum.cc: ...here.
9177 * gencodes.c: Moved to...
9178 * gencodes.cc: ...here.
9179 * genconditions.c: Moved to...
9180 * genconditions.cc: ...here.
9181 * genconfig.c: Moved to...
9182 * genconfig.cc: ...here.
9183 * genconstants.c: Moved to...
9184 * genconstants.cc: ...here.
9185 * genemit.c: Moved to...
9186 * genemit.cc: ...here.
9187 * genenums.c: Moved to...
9188 * genenums.cc: ...here.
9189 * generic-match-head.c: Moved to...
9190 * generic-match-head.cc: ...here.
9191 * genextract.c: Moved to...
9192 * genextract.cc: ...here.
9193 * genflags.c: Moved to...
9194 * genflags.cc: ...here.
9195 * gengenrtl.c: Moved to...
9196 * gengenrtl.cc: ...here.
9197 * gengtype-parse.c: Moved to...
9198 * gengtype-parse.cc: ...here.
9199 * gengtype-state.c: Moved to...
9200 * gengtype-state.cc: ...here.
9201 * gengtype.c: Moved to...
9202 * gengtype.cc: ...here.
9203 * genhooks.c: Moved to...
9204 * genhooks.cc: ...here.
9205 * genmatch.c: Moved to...
9206 * genmatch.cc: ...here.
9207 * genmddeps.c: Moved to...
9208 * genmddeps.cc: ...here.
9209 * genmddump.c: Moved to...
9210 * genmddump.cc: ...here.
9211 * genmodes.c: Moved to...
9212 * genmodes.cc: ...here.
9213 * genopinit.c: Moved to...
9214 * genopinit.cc: ...here.
9215 * genoutput.c: Moved to...
9216 * genoutput.cc: ...here.
9217 * genpeep.c: Moved to...
9218 * genpeep.cc: ...here.
9219 * genpreds.c: Moved to...
9220 * genpreds.cc: ...here.
9221 * genrecog.c: Moved to...
9222 * genrecog.cc: ...here.
9223 * gensupport.c: Moved to...
9224 * gensupport.cc: ...here.
9225 * gentarget-def.c: Moved to...
9226 * gentarget-def.cc: ...here.
9227 * genversion.c: Moved to...
9228 * genversion.cc: ...here.
9229 * ggc-common.c: Moved to...
9230 * ggc-common.cc: ...here.
9231 * ggc-none.c: Moved to...
9232 * ggc-none.cc: ...here.
9233 * ggc-page.c: Moved to...
9234 * ggc-page.cc: ...here.
9235 * ggc-tests.c: Moved to...
9236 * ggc-tests.cc: ...here.
9237 * gimple-builder.c: Moved to...
9238 * gimple-builder.cc: ...here.
9239 * gimple-expr.c: Moved to...
9240 * gimple-expr.cc: ...here.
9241 * gimple-fold.c: Moved to...
9242 * gimple-fold.cc: ...here.
9243 * gimple-iterator.c: Moved to...
9244 * gimple-iterator.cc: ...here.
9245 * gimple-laddress.c: Moved to...
9246 * gimple-laddress.cc: ...here.
9247 * gimple-loop-jam.c: Moved to...
9248 * gimple-loop-jam.cc: ...here.
9249 * gimple-low.c: Moved to...
9250 * gimple-low.cc: ...here.
9251 * gimple-match-head.c: Moved to...
9252 * gimple-match-head.cc: ...here.
9253 * gimple-pretty-print.c: Moved to...
9254 * gimple-pretty-print.cc: ...here.
9255 * gimple-ssa-backprop.c: Moved to...
9256 * gimple-ssa-backprop.cc: ...here.
9257 * gimple-ssa-evrp-analyze.c: Moved to...
9258 * gimple-ssa-evrp-analyze.cc: ...here.
9259 * gimple-ssa-evrp.c: Moved to...
9260 * gimple-ssa-evrp.cc: ...here.
9261 * gimple-ssa-isolate-paths.c: Moved to...
9262 * gimple-ssa-isolate-paths.cc: ...here.
9263 * gimple-ssa-nonnull-compare.c: Moved to...
9264 * gimple-ssa-nonnull-compare.cc: ...here.
9265 * gimple-ssa-split-paths.c: Moved to...
9266 * gimple-ssa-split-paths.cc: ...here.
9267 * gimple-ssa-sprintf.c: Moved to...
9268 * gimple-ssa-sprintf.cc: ...here.
9269 * gimple-ssa-store-merging.c: Moved to...
9270 * gimple-ssa-store-merging.cc: ...here.
9271 * gimple-ssa-strength-reduction.c: Moved to...
9272 * gimple-ssa-strength-reduction.cc: ...here.
9273 * gimple-ssa-warn-alloca.c: Moved to...
9274 * gimple-ssa-warn-alloca.cc: ...here.
9275 * gimple-ssa-warn-restrict.c: Moved to...
9276 * gimple-ssa-warn-restrict.cc: ...here.
9277 * gimple-streamer-in.c: Moved to...
9278 * gimple-streamer-in.cc: ...here.
9279 * gimple-streamer-out.c: Moved to...
9280 * gimple-streamer-out.cc: ...here.
9281 * gimple-walk.c: Moved to...
9282 * gimple-walk.cc: ...here.
9283 * gimple-warn-recursion.c: Moved to...
9284 * gimple-warn-recursion.cc: ...here.
9285 * gimple.c: Moved to...
9286 * gimple.cc: ...here.
9287 * gimplify-me.c: Moved to...
9288 * gimplify-me.cc: ...here.
9289 * gimplify.c: Moved to...
9290 * gimplify.cc: ...here.
9291 * godump.c: Moved to...
9292 * godump.cc: ...here.
9293 * graph.c: Moved to...
9294 * graph.cc: ...here.
9295 * graphds.c: Moved to...
9296 * graphds.cc: ...here.
9297 * graphite-dependences.c: Moved to...
9298 * graphite-dependences.cc: ...here.
9299 * graphite-isl-ast-to-gimple.c: Moved to...
9300 * graphite-isl-ast-to-gimple.cc: ...here.
9301 * graphite-optimize-isl.c: Moved to...
9302 * graphite-optimize-isl.cc: ...here.
9303 * graphite-poly.c: Moved to...
9304 * graphite-poly.cc: ...here.
9305 * graphite-scop-detection.c: Moved to...
9306 * graphite-scop-detection.cc: ...here.
9307 * graphite-sese-to-poly.c: Moved to...
9308 * graphite-sese-to-poly.cc: ...here.
9309 * graphite.c: Moved to...
9310 * graphite.cc: ...here.
9311 * haifa-sched.c: Moved to...
9312 * haifa-sched.cc: ...here.
9313 * hash-map-tests.c: Moved to...
9314 * hash-map-tests.cc: ...here.
9315 * hash-set-tests.c: Moved to...
9316 * hash-set-tests.cc: ...here.
9317 * hash-table.c: Moved to...
9318 * hash-table.cc: ...here.
9319 * hooks.c: Moved to...
9320 * hooks.cc: ...here.
9321 * host-default.c: Moved to...
9322 * host-default.cc: ...here.
9323 * hw-doloop.c: Moved to...
9324 * hw-doloop.cc: ...here.
9325 * hwint.c: Moved to...
9326 * hwint.cc: ...here.
9327 * ifcvt.c: Moved to...
9328 * ifcvt.cc: ...here.
9329 * inchash.c: Moved to...
9330 * inchash.cc: ...here.
9331 * incpath.c: Moved to...
9332 * incpath.cc: ...here.
9333 * init-regs.c: Moved to...
9334 * init-regs.cc: ...here.
9335 * input.c: Moved to...
9336 * input.cc: ...here.
9337 * internal-fn.c: Moved to...
9338 * internal-fn.cc: ...here.
9339 * intl.c: Moved to...
9341 * ipa-comdats.c: Moved to...
9342 * ipa-comdats.cc: ...here.
9343 * ipa-cp.c: Moved to...
9344 * ipa-cp.cc: ...here.
9345 * ipa-devirt.c: Moved to...
9346 * ipa-devirt.cc: ...here.
9347 * ipa-fnsummary.c: Moved to...
9348 * ipa-fnsummary.cc: ...here.
9349 * ipa-icf-gimple.c: Moved to...
9350 * ipa-icf-gimple.cc: ...here.
9351 * ipa-icf.c: Moved to...
9352 * ipa-icf.cc: ...here.
9353 * ipa-inline-analysis.c: Moved to...
9354 * ipa-inline-analysis.cc: ...here.
9355 * ipa-inline-transform.c: Moved to...
9356 * ipa-inline-transform.cc: ...here.
9357 * ipa-inline.c: Moved to...
9358 * ipa-inline.cc: ...here.
9359 * ipa-modref-tree.c: Moved to...
9360 * ipa-modref-tree.cc: ...here.
9361 * ipa-modref.c: Moved to...
9362 * ipa-modref.cc: ...here.
9363 * ipa-param-manipulation.c: Moved to...
9364 * ipa-param-manipulation.cc: ...here.
9365 * ipa-polymorphic-call.c: Moved to...
9366 * ipa-polymorphic-call.cc: ...here.
9367 * ipa-predicate.c: Moved to...
9368 * ipa-predicate.cc: ...here.
9369 * ipa-profile.c: Moved to...
9370 * ipa-profile.cc: ...here.
9371 * ipa-prop.c: Moved to...
9372 * ipa-prop.cc: ...here.
9373 * ipa-pure-const.c: Moved to...
9374 * ipa-pure-const.cc: ...here.
9375 * ipa-ref.c: Moved to...
9376 * ipa-ref.cc: ...here.
9377 * ipa-reference.c: Moved to...
9378 * ipa-reference.cc: ...here.
9379 * ipa-split.c: Moved to...
9380 * ipa-split.cc: ...here.
9381 * ipa-sra.c: Moved to...
9382 * ipa-sra.cc: ...here.
9383 * ipa-utils.c: Moved to...
9384 * ipa-utils.cc: ...here.
9385 * ipa-visibility.c: Moved to...
9386 * ipa-visibility.cc: ...here.
9387 * ipa.c: Moved to...
9389 * ira-build.c: Moved to...
9390 * ira-build.cc: ...here.
9391 * ira-color.c: Moved to...
9392 * ira-color.cc: ...here.
9393 * ira-conflicts.c: Moved to...
9394 * ira-conflicts.cc: ...here.
9395 * ira-costs.c: Moved to...
9396 * ira-costs.cc: ...here.
9397 * ira-emit.c: Moved to...
9398 * ira-emit.cc: ...here.
9399 * ira-lives.c: Moved to...
9400 * ira-lives.cc: ...here.
9401 * ira.c: Moved to...
9403 * jump.c: Moved to...
9405 * langhooks.c: Moved to...
9406 * langhooks.cc: ...here.
9407 * lcm.c: Moved to...
9409 * lists.c: Moved to...
9410 * lists.cc: ...here.
9411 * loop-doloop.c: Moved to...
9412 * loop-doloop.cc: ...here.
9413 * loop-init.c: Moved to...
9414 * loop-init.cc: ...here.
9415 * loop-invariant.c: Moved to...
9416 * loop-invariant.cc: ...here.
9417 * loop-iv.c: Moved to...
9418 * loop-iv.cc: ...here.
9419 * loop-unroll.c: Moved to...
9420 * loop-unroll.cc: ...here.
9421 * lower-subreg.c: Moved to...
9422 * lower-subreg.cc: ...here.
9423 * lra-assigns.c: Moved to...
9424 * lra-assigns.cc: ...here.
9425 * lra-coalesce.c: Moved to...
9426 * lra-coalesce.cc: ...here.
9427 * lra-constraints.c: Moved to...
9428 * lra-constraints.cc: ...here.
9429 * lra-eliminations.c: Moved to...
9430 * lra-eliminations.cc: ...here.
9431 * lra-lives.c: Moved to...
9432 * lra-lives.cc: ...here.
9433 * lra-remat.c: Moved to...
9434 * lra-remat.cc: ...here.
9435 * lra-spills.c: Moved to...
9436 * lra-spills.cc: ...here.
9437 * lra.c: Moved to...
9439 * lto-cgraph.c: Moved to...
9440 * lto-cgraph.cc: ...here.
9441 * lto-compress.c: Moved to...
9442 * lto-compress.cc: ...here.
9443 * lto-opts.c: Moved to...
9444 * lto-opts.cc: ...here.
9445 * lto-section-in.c: Moved to...
9446 * lto-section-in.cc: ...here.
9447 * lto-section-out.c: Moved to...
9448 * lto-section-out.cc: ...here.
9449 * lto-streamer-in.c: Moved to...
9450 * lto-streamer-in.cc: ...here.
9451 * lto-streamer-out.c: Moved to...
9452 * lto-streamer-out.cc: ...here.
9453 * lto-streamer.c: Moved to...
9454 * lto-streamer.cc: ...here.
9455 * lto-wrapper.c: Moved to...
9456 * lto-wrapper.cc: ...here.
9457 * main.c: Moved to...
9459 * mcf.c: Moved to...
9461 * mode-switching.c: Moved to...
9462 * mode-switching.cc: ...here.
9463 * modulo-sched.c: Moved to...
9464 * modulo-sched.cc: ...here.
9465 * multiple_target.c: Moved to...
9466 * multiple_target.cc: ...here.
9467 * omp-expand.c: Moved to...
9468 * omp-expand.cc: ...here.
9469 * omp-general.c: Moved to...
9470 * omp-general.cc: ...here.
9471 * omp-low.c: Moved to...
9472 * omp-low.cc: ...here.
9473 * omp-offload.c: Moved to...
9474 * omp-offload.cc: ...here.
9475 * omp-simd-clone.c: Moved to...
9476 * omp-simd-clone.cc: ...here.
9477 * opt-suggestions.c: Moved to...
9478 * opt-suggestions.cc: ...here.
9479 * optabs-libfuncs.c: Moved to...
9480 * optabs-libfuncs.cc: ...here.
9481 * optabs-query.c: Moved to...
9482 * optabs-query.cc: ...here.
9483 * optabs-tree.c: Moved to...
9484 * optabs-tree.cc: ...here.
9485 * optabs.c: Moved to...
9486 * optabs.cc: ...here.
9487 * opts-common.c: Moved to...
9488 * opts-common.cc: ...here.
9489 * opts-global.c: Moved to...
9490 * opts-global.cc: ...here.
9491 * opts.c: Moved to...
9493 * passes.c: Moved to...
9494 * passes.cc: ...here.
9495 * plugin.c: Moved to...
9496 * plugin.cc: ...here.
9497 * postreload-gcse.c: Moved to...
9498 * postreload-gcse.cc: ...here.
9499 * postreload.c: Moved to...
9500 * postreload.cc: ...here.
9501 * predict.c: Moved to...
9502 * predict.cc: ...here.
9503 * prefix.c: Moved to...
9504 * prefix.cc: ...here.
9505 * pretty-print.c: Moved to...
9506 * pretty-print.cc: ...here.
9507 * print-rtl-function.c: Moved to...
9508 * print-rtl-function.cc: ...here.
9509 * print-rtl.c: Moved to...
9510 * print-rtl.cc: ...here.
9511 * print-tree.c: Moved to...
9512 * print-tree.cc: ...here.
9513 * profile-count.c: Moved to...
9514 * profile-count.cc: ...here.
9515 * profile.c: Moved to...
9516 * profile.cc: ...here.
9517 * read-md.c: Moved to...
9518 * read-md.cc: ...here.
9519 * read-rtl-function.c: Moved to...
9520 * read-rtl-function.cc: ...here.
9521 * read-rtl.c: Moved to...
9522 * read-rtl.cc: ...here.
9523 * real.c: Moved to...
9525 * realmpfr.c: Moved to...
9526 * realmpfr.cc: ...here.
9527 * recog.c: Moved to...
9528 * recog.cc: ...here.
9529 * ree.c: Moved to...
9531 * reg-stack.c: Moved to...
9532 * reg-stack.cc: ...here.
9533 * regcprop.c: Moved to...
9534 * regcprop.cc: ...here.
9535 * reginfo.c: Moved to...
9536 * reginfo.cc: ...here.
9537 * regrename.c: Moved to...
9538 * regrename.cc: ...here.
9539 * regstat.c: Moved to...
9540 * regstat.cc: ...here.
9541 * reload.c: Moved to...
9542 * reload.cc: ...here.
9543 * reload1.c: Moved to...
9544 * reload1.cc: ...here.
9545 * reorg.c: Moved to...
9546 * reorg.cc: ...here.
9547 * resource.c: Moved to...
9548 * resource.cc: ...here.
9549 * rtl-error.c: Moved to...
9550 * rtl-error.cc: ...here.
9551 * rtl-tests.c: Moved to...
9552 * rtl-tests.cc: ...here.
9553 * rtl.c: Moved to...
9555 * rtlanal.c: Moved to...
9556 * rtlanal.cc: ...here.
9557 * rtlhash.c: Moved to...
9558 * rtlhash.cc: ...here.
9559 * rtlhooks.c: Moved to...
9560 * rtlhooks.cc: ...here.
9561 * rtx-vector-builder.c: Moved to...
9562 * rtx-vector-builder.cc: ...here.
9563 * run-rtl-passes.c: Moved to...
9564 * run-rtl-passes.cc: ...here.
9565 * sancov.c: Moved to...
9566 * sancov.cc: ...here.
9567 * sanopt.c: Moved to...
9568 * sanopt.cc: ...here.
9569 * sbitmap.c: Moved to...
9570 * sbitmap.cc: ...here.
9571 * sched-deps.c: Moved to...
9572 * sched-deps.cc: ...here.
9573 * sched-ebb.c: Moved to...
9574 * sched-ebb.cc: ...here.
9575 * sched-rgn.c: Moved to...
9576 * sched-rgn.cc: ...here.
9577 * sel-sched-dump.c: Moved to...
9578 * sel-sched-dump.cc: ...here.
9579 * sel-sched-ir.c: Moved to...
9580 * sel-sched-ir.cc: ...here.
9581 * sel-sched.c: Moved to...
9582 * sel-sched.cc: ...here.
9583 * selftest-diagnostic.c: Moved to...
9584 * selftest-diagnostic.cc: ...here.
9585 * selftest-rtl.c: Moved to...
9586 * selftest-rtl.cc: ...here.
9587 * selftest-run-tests.c: Moved to...
9588 * selftest-run-tests.cc: ...here.
9589 * selftest.c: Moved to...
9590 * selftest.cc: ...here.
9591 * sese.c: Moved to...
9593 * shrink-wrap.c: Moved to...
9594 * shrink-wrap.cc: ...here.
9595 * simplify-rtx.c: Moved to...
9596 * simplify-rtx.cc: ...here.
9597 * sparseset.c: Moved to...
9598 * sparseset.cc: ...here.
9599 * spellcheck-tree.c: Moved to...
9600 * spellcheck-tree.cc: ...here.
9601 * spellcheck.c: Moved to...
9602 * spellcheck.cc: ...here.
9603 * sreal.c: Moved to...
9604 * sreal.cc: ...here.
9605 * stack-ptr-mod.c: Moved to...
9606 * stack-ptr-mod.cc: ...here.
9607 * statistics.c: Moved to...
9608 * statistics.cc: ...here.
9609 * stmt.c: Moved to...
9611 * stor-layout.c: Moved to...
9612 * stor-layout.cc: ...here.
9613 * store-motion.c: Moved to...
9614 * store-motion.cc: ...here.
9615 * streamer-hooks.c: Moved to...
9616 * streamer-hooks.cc: ...here.
9617 * stringpool.c: Moved to...
9618 * stringpool.cc: ...here.
9619 * substring-locations.c: Moved to...
9620 * substring-locations.cc: ...here.
9621 * symtab.c: Moved to...
9622 * symtab.cc: ...here.
9623 * target-globals.c: Moved to...
9624 * target-globals.cc: ...here.
9625 * targhooks.c: Moved to...
9626 * targhooks.cc: ...here.
9627 * timevar.c: Moved to...
9628 * timevar.cc: ...here.
9629 * toplev.c: Moved to...
9630 * toplev.cc: ...here.
9631 * tracer.c: Moved to...
9632 * tracer.cc: ...here.
9633 * trans-mem.c: Moved to...
9634 * trans-mem.cc: ...here.
9635 * tree-affine.c: Moved to...
9636 * tree-affine.cc: ...here.
9637 * tree-call-cdce.c: Moved to...
9638 * tree-call-cdce.cc: ...here.
9639 * tree-cfg.c: Moved to...
9640 * tree-cfg.cc: ...here.
9641 * tree-cfgcleanup.c: Moved to...
9642 * tree-cfgcleanup.cc: ...here.
9643 * tree-chrec.c: Moved to...
9644 * tree-chrec.cc: ...here.
9645 * tree-complex.c: Moved to...
9646 * tree-complex.cc: ...here.
9647 * tree-data-ref.c: Moved to...
9648 * tree-data-ref.cc: ...here.
9649 * tree-dfa.c: Moved to...
9650 * tree-dfa.cc: ...here.
9651 * tree-diagnostic.c: Moved to...
9652 * tree-diagnostic.cc: ...here.
9653 * tree-dump.c: Moved to...
9654 * tree-dump.cc: ...here.
9655 * tree-eh.c: Moved to...
9656 * tree-eh.cc: ...here.
9657 * tree-emutls.c: Moved to...
9658 * tree-emutls.cc: ...here.
9659 * tree-if-conv.c: Moved to...
9660 * tree-if-conv.cc: ...here.
9661 * tree-inline.c: Moved to...
9662 * tree-inline.cc: ...here.
9663 * tree-into-ssa.c: Moved to...
9664 * tree-into-ssa.cc: ...here.
9665 * tree-iterator.c: Moved to...
9666 * tree-iterator.cc: ...here.
9667 * tree-loop-distribution.c: Moved to...
9668 * tree-loop-distribution.cc: ...here.
9669 * tree-nested.c: Moved to...
9670 * tree-nested.cc: ...here.
9671 * tree-nrv.c: Moved to...
9672 * tree-nrv.cc: ...here.
9673 * tree-object-size.c: Moved to...
9674 * tree-object-size.cc: ...here.
9675 * tree-outof-ssa.c: Moved to...
9676 * tree-outof-ssa.cc: ...here.
9677 * tree-parloops.c: Moved to...
9678 * tree-parloops.cc: ...here.
9679 * tree-phinodes.c: Moved to...
9680 * tree-phinodes.cc: ...here.
9681 * tree-predcom.c: Moved to...
9682 * tree-predcom.cc: ...here.
9683 * tree-pretty-print.c: Moved to...
9684 * tree-pretty-print.cc: ...here.
9685 * tree-profile.c: Moved to...
9686 * tree-profile.cc: ...here.
9687 * tree-scalar-evolution.c: Moved to...
9688 * tree-scalar-evolution.cc: ...here.
9689 * tree-sra.c: Moved to...
9690 * tree-sra.cc: ...here.
9691 * tree-ssa-address.c: Moved to...
9692 * tree-ssa-address.cc: ...here.
9693 * tree-ssa-alias.c: Moved to...
9694 * tree-ssa-alias.cc: ...here.
9695 * tree-ssa-ccp.c: Moved to...
9696 * tree-ssa-ccp.cc: ...here.
9697 * tree-ssa-coalesce.c: Moved to...
9698 * tree-ssa-coalesce.cc: ...here.
9699 * tree-ssa-copy.c: Moved to...
9700 * tree-ssa-copy.cc: ...here.
9701 * tree-ssa-dce.c: Moved to...
9702 * tree-ssa-dce.cc: ...here.
9703 * tree-ssa-dom.c: Moved to...
9704 * tree-ssa-dom.cc: ...here.
9705 * tree-ssa-dse.c: Moved to...
9706 * tree-ssa-dse.cc: ...here.
9707 * tree-ssa-forwprop.c: Moved to...
9708 * tree-ssa-forwprop.cc: ...here.
9709 * tree-ssa-ifcombine.c: Moved to...
9710 * tree-ssa-ifcombine.cc: ...here.
9711 * tree-ssa-live.c: Moved to...
9712 * tree-ssa-live.cc: ...here.
9713 * tree-ssa-loop-ch.c: Moved to...
9714 * tree-ssa-loop-ch.cc: ...here.
9715 * tree-ssa-loop-im.c: Moved to...
9716 * tree-ssa-loop-im.cc: ...here.
9717 * tree-ssa-loop-ivcanon.c: Moved to...
9718 * tree-ssa-loop-ivcanon.cc: ...here.
9719 * tree-ssa-loop-ivopts.c: Moved to...
9720 * tree-ssa-loop-ivopts.cc: ...here.
9721 * tree-ssa-loop-manip.c: Moved to...
9722 * tree-ssa-loop-manip.cc: ...here.
9723 * tree-ssa-loop-niter.c: Moved to...
9724 * tree-ssa-loop-niter.cc: ...here.
9725 * tree-ssa-loop-prefetch.c: Moved to...
9726 * tree-ssa-loop-prefetch.cc: ...here.
9727 * tree-ssa-loop-split.c: Moved to...
9728 * tree-ssa-loop-split.cc: ...here.
9729 * tree-ssa-loop-unswitch.c: Moved to...
9730 * tree-ssa-loop-unswitch.cc: ...here.
9731 * tree-ssa-loop.c: Moved to...
9732 * tree-ssa-loop.cc: ...here.
9733 * tree-ssa-math-opts.c: Moved to...
9734 * tree-ssa-math-opts.cc: ...here.
9735 * tree-ssa-operands.c: Moved to...
9736 * tree-ssa-operands.cc: ...here.
9737 * tree-ssa-phiopt.c: Moved to...
9738 * tree-ssa-phiopt.cc: ...here.
9739 * tree-ssa-phiprop.c: Moved to...
9740 * tree-ssa-phiprop.cc: ...here.
9741 * tree-ssa-pre.c: Moved to...
9742 * tree-ssa-pre.cc: ...here.
9743 * tree-ssa-propagate.c: Moved to...
9744 * tree-ssa-propagate.cc: ...here.
9745 * tree-ssa-reassoc.c: Moved to...
9746 * tree-ssa-reassoc.cc: ...here.
9747 * tree-ssa-sccvn.c: Moved to...
9748 * tree-ssa-sccvn.cc: ...here.
9749 * tree-ssa-scopedtables.c: Moved to...
9750 * tree-ssa-scopedtables.cc: ...here.
9751 * tree-ssa-sink.c: Moved to...
9752 * tree-ssa-sink.cc: ...here.
9753 * tree-ssa-strlen.c: Moved to...
9754 * tree-ssa-strlen.cc: ...here.
9755 * tree-ssa-structalias.c: Moved to...
9756 * tree-ssa-structalias.cc: ...here.
9757 * tree-ssa-tail-merge.c: Moved to...
9758 * tree-ssa-tail-merge.cc: ...here.
9759 * tree-ssa-ter.c: Moved to...
9760 * tree-ssa-ter.cc: ...here.
9761 * tree-ssa-threadbackward.c: Moved to...
9762 * tree-ssa-threadbackward.cc: ...here.
9763 * tree-ssa-threadedge.c: Moved to...
9764 * tree-ssa-threadedge.cc: ...here.
9765 * tree-ssa-threadupdate.c: Moved to...
9766 * tree-ssa-threadupdate.cc: ...here.
9767 * tree-ssa-uncprop.c: Moved to...
9768 * tree-ssa-uncprop.cc: ...here.
9769 * tree-ssa-uninit.c: Moved to...
9770 * tree-ssa-uninit.cc: ...here.
9771 * tree-ssa.c: Moved to...
9772 * tree-ssa.cc: ...here.
9773 * tree-ssanames.c: Moved to...
9774 * tree-ssanames.cc: ...here.
9775 * tree-stdarg.c: Moved to...
9776 * tree-stdarg.cc: ...here.
9777 * tree-streamer-in.c: Moved to...
9778 * tree-streamer-in.cc: ...here.
9779 * tree-streamer-out.c: Moved to...
9780 * tree-streamer-out.cc: ...here.
9781 * tree-streamer.c: Moved to...
9782 * tree-streamer.cc: ...here.
9783 * tree-switch-conversion.c: Moved to...
9784 * tree-switch-conversion.cc: ...here.
9785 * tree-tailcall.c: Moved to...
9786 * tree-tailcall.cc: ...here.
9787 * tree-vect-data-refs.c: Moved to...
9788 * tree-vect-data-refs.cc: ...here.
9789 * tree-vect-generic.c: Moved to...
9790 * tree-vect-generic.cc: ...here.
9791 * tree-vect-loop-manip.c: Moved to...
9792 * tree-vect-loop-manip.cc: ...here.
9793 * tree-vect-loop.c: Moved to...
9794 * tree-vect-loop.cc: ...here.
9795 * tree-vect-patterns.c: Moved to...
9796 * tree-vect-patterns.cc: ...here.
9797 * tree-vect-slp-patterns.c: Moved to...
9798 * tree-vect-slp-patterns.cc: ...here.
9799 * tree-vect-slp.c: Moved to...
9800 * tree-vect-slp.cc: ...here.
9801 * tree-vect-stmts.c: Moved to...
9802 * tree-vect-stmts.cc: ...here.
9803 * tree-vector-builder.c: Moved to...
9804 * tree-vector-builder.cc: ...here.
9805 * tree-vectorizer.c: Moved to...
9806 * tree-vectorizer.cc: ...here.
9807 * tree-vrp.c: Moved to...
9808 * tree-vrp.cc: ...here.
9809 * tree.c: Moved to...
9811 * tsan.c: Moved to...
9813 * typed-splay-tree.c: Moved to...
9814 * typed-splay-tree.cc: ...here.
9815 * ubsan.c: Moved to...
9816 * ubsan.cc: ...here.
9817 * valtrack.c: Moved to...
9818 * valtrack.cc: ...here.
9819 * value-prof.c: Moved to...
9820 * value-prof.cc: ...here.
9821 * var-tracking.c: Moved to...
9822 * var-tracking.cc: ...here.
9823 * varasm.c: Moved to...
9824 * varasm.cc: ...here.
9825 * varpool.c: Moved to...
9826 * varpool.cc: ...here.
9827 * vec-perm-indices.c: Moved to...
9828 * vec-perm-indices.cc: ...here.
9829 * vec.c: Moved to...
9831 * vmsdbgout.c: Moved to...
9832 * vmsdbgout.cc: ...here.
9833 * vr-values.c: Moved to...
9834 * vr-values.cc: ...here.
9835 * vtable-verify.c: Moved to...
9836 * vtable-verify.cc: ...here.
9837 * web.c: Moved to...
9839 * xcoffout.c: Moved to...
9840 * xcoffout.cc: ...here.
9842 2022-01-17 qing zhao <qing.zhao@oracle.com>
9844 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
9845 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
9846 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
9848 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
9849 (warn_uninitialized_vars): Likewise.
9850 (warn_uninitialized_phi): Likewise.
9852 2022-01-17 Jason Merrill <jason@redhat.com>
9854 * diagnostic.h (struct diagnostic_context): Add includes_seen.
9855 * diagnostic.c (diagnostic_initialize): Initialize it.
9856 (diagnostic_finish): Clean it up.
9857 (includes_seen): New function.
9858 (diagnostic_report_current_module): Use it.
9860 2022-01-17 Richard Biener <rguenther@suse.de>
9862 PR middle-end/101292
9863 * diagnostic-spec.c (copy_warning): Make sure to not
9864 reference old hashtable content on possible resize.
9865 * warning-control.cc (copy_warning): Likewise.
9867 2022-01-17 Jakub Jelinek <jakub@redhat.com>
9870 * tree-cfg.h (cond_only_block_p): Declare.
9871 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
9872 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
9873 * optabs.def (spaceship_optab): New optab.
9874 * internal-fn.def (SPACESHIP): New internal function.
9875 * internal-fn.h (expand_SPACESHIP): Declare.
9876 * internal-fn.c (expand_PHI): Formatting fix.
9877 (expand_SPACESHIP): New function.
9878 * tree-ssa-math-opts.c (optimize_spaceship): New function.
9879 (math_opts_dom_walker::after_dom_children): Use it.
9880 * config/i386/i386.md (spaceship<mode>3): New define_expand.
9881 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
9882 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
9883 * doc/md.texi (spaceship@var{m}3): Document.
9885 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
9887 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
9888 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
9889 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
9890 known constant values to simplify code.
9892 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
9895 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
9897 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
9899 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
9900 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
9901 Insert zero-idiom in output template when attr enabled, set new attribute to
9902 true for non-mask/maskz insn.
9903 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
9905 (avx512dq_mul<mode>3<mask_name>): Likewise.
9906 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
9907 (avx2_perm<mode>_1<mask_name>): Likewise.
9908 (avx512f_perm<mode>_1<mask_name>): Likewise.
9909 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
9910 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
9912 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
9913 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
9915 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
9917 (mask4_dest_false_dep_for_glc_cond): Likewise.
9918 (mask6_dest_false_dep_for_glc_cond): Likewise.
9919 (mask10_dest_false_dep_for_glc_cond): Likewise.
9920 (maskc_dest_false_dep_for_glc_cond): Likewise.
9921 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
9922 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
9923 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
9924 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
9926 2022-01-15 Martin Sebor <msebor@redhat.com>
9929 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
9931 * doc/invoke.texi (-Wdangling-pointer): Document new option.
9932 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
9933 (pass_waccess::check_pointer_uses): New function.
9934 (pass_waccess::gimple_call_return_arg): New function.
9935 (pass_waccess::gimple_call_return_arg_ref): New function.
9936 (pass_waccess::check_call_dangling): New function.
9937 (pass_waccess::check_dangling_uses): New function overloads.
9938 (pass_waccess::check_dangling_stores): New function.
9939 (pass_waccess::check_dangling_stores): New function.
9940 (pass_waccess::m_clobbers): New data member.
9941 (pass_waccess::m_func): New data member.
9942 (pass_waccess::m_run_number): New data member.
9943 (pass_waccess::m_check_dangling_p): New data member.
9944 (pass_waccess::check_alloca): Check m_early_checks_p.
9945 (pass_waccess::check_alloc_size_call): Same.
9946 (pass_waccess::check_strcat): Same.
9947 (pass_waccess::check_strncat): Same.
9948 (pass_waccess::check_stxcpy): Same.
9949 (pass_waccess::check_stxncpy): Same.
9950 (pass_waccess::check_strncmp): Same.
9951 (pass_waccess::check_memop_access): Same.
9952 (pass_waccess::check_read_access): Same.
9953 (pass_waccess::check_builtin): Call check_pointer_uses.
9954 (pass_waccess::warn_invalid_pointer): Add arguments.
9955 (is_auto_decl): New function.
9956 (pass_waccess::check_stmt): New function.
9957 (pass_waccess::check_block): Call check_stmt.
9958 (pass_waccess::execute): Call check_dangling_uses,
9959 check_dangling_stores. Empty m_clobbers.
9960 * passes.def (pass_warn_access): Invoke pass two more times.
9962 2022-01-15 Martin Sebor <msebor@redhat.com>
9964 PR tree-optimization/80532
9965 * common.opt (-Wuse-after-free): New options.
9966 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
9967 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
9968 * diagnostic-spec.h (NW_DANGLING): New enumerator.
9969 * doc/invoke.texi (-Wuse-after-free): Document new option.
9970 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
9971 (pass_waccess::check_call_access): ...to this.
9972 (pass_waccess::check): Rename...
9973 (pass_waccess::check_block): ...to this.
9974 (pass_waccess::check_pointer_uses): New function.
9975 (pass_waccess::gimple_call_return_arg): New function.
9976 (pass_waccess::warn_invalid_pointer): New function.
9977 (pass_waccess::check_builtin): Handle free and realloc.
9978 (gimple_use_after_inval_p): New function.
9979 (get_realloc_lhs): New function.
9980 (maybe_warn_mismatched_realloc): New function.
9981 (pointers_related_p): New function.
9982 (pass_waccess::check_call): Call check_pointer_uses.
9983 (pass_waccess::execute): Compute and free dominance info.
9985 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
9987 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
9988 expand_simple_unop and expand_simple_binop instead of manually
9989 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
9990 consistently. Eliminate common subexpressions and simplify code.
9991 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
9992 (<any_logic:code><MODEF:mode>3): Make public.
9994 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
9996 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
9997 reverse flag as "reverse" for the sake of consistency.
9998 * ipa-sra.c: Fix copyright year.
9999 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
10000 (dump_isra_access): Tweak dump line.
10001 (isra_write_node_summary): Write the reverse flag.
10002 (isra_read_node_info): Read it.
10003 (pull_accesses_from_callee): Test its consistency and copy it.
10005 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
10007 PR middle-end/104026
10008 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
10009 partial_load_store_bias.
10011 2022-01-14 Martin Sebor <msebor@redhat.com>
10013 PR middle-end/101475
10014 * pointer-query.cc (handle_component_ref): Use the size of
10015 the enclosing object if it's smaller than the member.
10017 2022-01-14 Martin Liska <mliska@suse.cz>
10019 * configure: Regenerate.
10021 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
10023 * config/i386/i386.md (*add<mode>_1_slp"):
10024 Mark alternative 1 output operand earlyclobbered.
10025 (*sub<mode>_1_slp): Ditto.
10026 (*and<mode>_1_slp): Ditto.
10027 (*<code><mode>_1_slp): Ditto.
10028 (*neg<mode>_1_slp): Ditto.
10029 (*one_cmpl<mode>_1_slp): Ditto.
10030 (*ashl<mode>3_1_slp): Ditto.
10031 (*<insn><mode>3_1_slp): Ditto.
10032 (*<insn><mode>3_1_slp): Ditto.
10034 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
10036 PR tree-optimization/104015
10037 * tree-vect-loop.c (vect_analyze_loop): Check
10038 param_vect_partial_vector_usage for supports_partial_vectors.
10040 2022-01-14 Jakub Jelinek <jakub@redhat.com>
10043 * fold-const.c (address_compare): Punt on comparison of address of
10044 one object with address of end of another object if
10045 folding_initializer.
10047 2022-01-14 Jakub Jelinek <jakub@redhat.com>
10050 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
10051 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
10052 and __atomic_op_fetch (p, x, y) iop x into
10053 __atomic_fetch_op (p, x, y).
10055 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
10057 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
10058 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
10059 (INCOMING_RETURN_ADDR_RTX): Likewise.
10060 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
10062 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
10064 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
10065 computin checking accumulator regs.
10066 (arc_expand_prologue): Update comments.
10067 (arc_expand_epilogue): Likewise.
10069 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
10070 Uroš Bizjak <ubizjak@gmail.com>
10072 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
10073 (ix86_expand_ti_to_v1ti): Use force_reg.
10074 (ix86_expand_v1ti_shift): Use force_reg.
10075 (ix86_expand_v1ti_rotate): Use force_reg.
10076 (ix86_expand_v1ti_ashiftrt): Provide new three operation
10077 implementations for shifts by 111..126 bits. Use force_reg.
10079 2022-01-14 Martin Liska <mliska@suse.cz>
10081 * common/config/arm/arm-common.c (arm_target_mode): Fix
10082 warning: unterminated quoting directive [-Wformat=].
10084 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
10086 PR tree-optimization/104009
10087 * tree-object-size.c (compute_builtin_object_size): Bail out on
10089 (plus_stmt_object_size): Return maximum of wholesize and minimum
10090 of 0 for negative offset.
10092 2022-01-14 liuhongt <hongtao.liu@intel.com>
10097 * config/i386/i386.md (*xor2andn): Refine predicate of
10098 operands[0] from nonimmediate_operand to
10099 register_operand, remove TARGET_AVX512BW from condition.
10101 2022-01-14 David Malcolm <dmalcolm@redhat.com>
10103 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
10104 be used on field decls.
10105 (Common Function Attributes): Add entry on "tainted_args" attribute.
10107 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
10108 Jason Merrill <jason@redhat.com>
10111 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
10113 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
10116 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
10117 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
10118 * config/i386/mmx.md (<any_shift:insn>v2qi):
10119 New insn_and_split pattern.
10121 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
10123 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
10124 (expand_partial_store_optab_fn): Likewise.
10125 (internal_len_load_store_bias): New function.
10126 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
10127 (internal_len_load_store_bias): New function.
10128 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
10129 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
10130 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
10131 (vect_estimate_min_profitable_iters): Account for bias.
10132 (vect_get_loop_len): Add bias-adjusted length.
10133 * tree-vect-stmts.c (vectorizable_store): Use.
10134 (vectorizable_load): Use.
10135 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
10136 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
10137 * config/rs6000/vsx.md: Use const0 bias predicate.
10138 * doc/md.texi: Document bias value.
10140 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
10142 PR tree-optimization/83072
10143 PR tree-optimization/83073
10144 PR tree-optimization/97909
10145 * fold-const.c (expr_not_equal_to): Use a multi-range class.
10147 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
10149 PR tree-optimization/96707
10150 * range-op.cc (operator_rshift::lhs_op1_relation): New.
10152 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
10154 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
10155 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
10156 (negv2qi splitters): Use lowpart_subreg instead of
10157 gen_lowpart to create subreg.
10158 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
10159 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
10160 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
10161 gen_lowpart to create subreg.
10162 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
10164 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
10167 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
10169 2022-01-13 Martin Liska <mliska@suse.cz>
10171 * common/config/arm/arm-common.c (arm_target_mode): Wrap
10172 keywords with %<, %> and remove trailing punctuation char.
10173 (arm_canon_arch_option_1): Likewise.
10174 (arm_asm_auto_mfpu): Likewise.
10175 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
10176 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
10177 (use_vfp_abi): Likewise.
10178 (aapcs_vfp_is_call_or_return_candidate): Likewise.
10179 (arm_handle_cmse_nonsecure_entry): Likewise.
10180 (arm_handle_cmse_nonsecure_call): Likewise.
10181 (thumb1_md_asm_adjust): Likewise.
10183 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
10185 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
10186 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
10187 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
10188 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
10189 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
10190 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
10191 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
10192 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
10195 2022-01-13 Jakub Jelinek <jakub@redhat.com>
10197 PR tree-optimization/103989
10198 * tree-inline.c (setup_one_parameter): Don't copy parms with
10201 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
10203 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
10204 'TYPE_ADDR_SPACE' for offloading.
10205 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
10206 'TYPE_ADDR_SPACE' for offloading.
10208 2022-01-13 Julian Brown <julian@codesourcery.com>
10209 Thomas Schwinge <thomas@codesourcery.com>
10211 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
10213 (add_async_clauses_and_wait): ...here. Call new outlined function.
10214 (decompose_kernels_region_body): Add wait at the end of
10215 explicitly-asynchronous kernels regions.
10217 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
10219 PR middle-end/100280
10220 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
10221 Mark variables used in synthesized data clauses as addressable.
10223 2022-01-13 Martin Liska <mliska@suse.cz>
10225 * config/epiphany/epiphany.c (epiphany_mode_priority):
10226 Use gcc_unreachable for not handled cases.
10228 2022-01-13 Martin Liska <mliska@suse.cz>
10230 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
10231 Use %qs format specifier.
10232 (epiphany_override_options): Wrap keyword in %<, %>.
10234 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
10237 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
10239 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
10241 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
10243 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
10247 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
10248 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
10249 when constructing vector logic RTXes.
10250 (expand_vec_perm_pshufb2): Ditto.
10251 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
10252 (<plusminus:insn>v2qi3): Ditto.
10253 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
10254 (vcondu<mode><mode>): Ditto.
10255 (vcond_mask_<mode><mode>): Ditto.
10256 (one_cmpl<VI_32:mode>2): Remove expander.
10257 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
10258 Use VI_16_32 mode iterator.
10259 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
10260 Use lowpart_subreg instead of gen_lowpart to create subreg.
10261 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
10262 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
10263 Disparage GPR alternative a bit. Add CC clobber.
10264 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
10265 Use lowpart_subreg instead of gen_lowpart to create subreg.
10266 (*<any_logic:code><VI_16_32:mode>3): Merge from
10267 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
10268 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
10270 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
10271 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
10273 2022-01-12 Clément Chigot <clement.chigot@atos.net>
10275 * configure.ac: Check sizeof ino_t and dev_t.
10276 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
10277 syscall being able to handle 64bit inodes.
10278 * config.in: Regenerate.
10279 * configure: Regenerate.
10280 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
10281 (remove_duplicates): Use it.
10283 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
10285 PR tree-optimization/103551
10286 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
10288 2022-01-12 Richard Biener <rguenther@suse.de>
10290 PR tree-optimization/103990
10291 * tree-pass.h (tail_merge_optimize): Drop unused argument.
10292 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
10293 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
10294 and adjust call to tail_merge_optimize.
10296 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
10298 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
10299 does not add autovectorize_vector_modes.
10301 2022-01-12 Martin Liska <mliska@suse.cz>
10303 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
10304 %qs where possible.
10305 (aarch64_parse_sve_width_string): Likewise.
10306 (aarch64_override_options_internal): Likewise.
10307 (aarch64_print_hint_for_extensions): Likewise.
10308 (aarch64_validate_sls_mitigation): Likewise.
10309 (aarch64_handle_attr_arch): Likewise.
10310 (aarch64_handle_attr_cpu): Likewise.
10311 (aarch64_handle_attr_tune): Likewise.
10312 (aarch64_handle_attr_isa_flags): Likewise.
10314 2022-01-12 Martin Liska <mliska@suse.cz>
10316 * config.gcc: Include elfos.h before ${tm_file}.
10318 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
10320 * config/cris/cris.c: Quote identifiers in parameters to error
10321 and internal_error, and remove extraneous spaces with punctuation.
10322 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
10323 expression to internal_error, pass it as a parameter instead of
10324 appending it to the format part.
10326 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
10328 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
10331 2022-01-11 qing zhao <qing.zhao@oracle.com>
10333 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
10334 Change the 3rd argument of function .DEFERRED_INIT to the name of the
10336 (gimplify_decl_expr): Delete the 3rd argument when call
10337 gimple_add_init_for_auto_var.
10338 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
10339 the 3rd argument change of function .DEFERRED_INIT.
10340 * tree-cfg.c (verify_gimple_call): Update comments and verification
10341 to reflect the 3rd argument change of function .DEFERRED_INIT.
10342 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
10343 (sra_modify_deferred_init): Change the 3rd argument of function
10344 .DEFERRED_INIT to the name of the decl.
10346 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
10348 * flag-types.h (enum gfc_convert): Add flags for
10351 2022-01-11 Michael Meissner <meissner@the-meissners.org>
10353 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
10354 checks for only C/C++ front ends before allowing the long double
10355 format to change without a warning.
10357 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
10359 PR rtl-optimization/103974
10360 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
10361 extra argument, default true, that says whether old-reload
10362 targets should be excluded.
10363 * ira-color.c (color_pass): Pass false.
10365 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
10368 * config/i386/mmx.md (vcond<mode><mode>):
10369 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
10370 (vcondu<mode><mode>): Ditto.
10371 (vcond_mask_<mode><mode>): Ditto.
10372 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
10373 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
10374 Use VI_16_32 mode iterator.
10375 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
10376 Update for rename. Handle V2QImode.
10377 (expand_vec_perm_blend): Update for rename.
10379 2022-01-11 Jakub Jelinek <jakub@redhat.com>
10382 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
10384 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
10386 PR middle-end/70090
10387 * tree-object-size.c (size_valid_p): New function.
10388 (size_for_offset): Remove OFFSET constness assertion.
10389 (addr_object_size): Build dynamic expressions for object
10390 sizes and use size_valid_p to decide if it is valid for the
10391 given OBJECT_SIZE_TYPE.
10392 (compute_builtin_object_size): Allow dynamic offsets when
10393 computing size at O0.
10394 (call_object_size): Call size_valid_p.
10395 (plus_stmt_object_size): Allow non-constant offset and use
10396 size_valid_p to decide if it is valid for the given
10399 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
10401 PR middle-end/70090
10402 * tree-object-size.c (alloc_object_size): Make and return
10403 non-constant size expression.
10404 (call_object_size): Return expression or unknown based on
10405 whether dynamic object size is requested.
10407 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
10409 PR middle-end/70090
10410 * tree-object-size.c: Include tree-dfa.h.
10411 (parm_object_size): New function.
10412 (collect_object_sizes_for): Call it.
10414 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
10416 PR middle-end/70090
10417 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
10419 * tree-object-size.c: Include gimplify-me.h.
10420 (struct object_size_info): New member UNKNOWNS.
10421 (size_initval_p, size_usable_p, object_sizes_get_raw): New
10423 (object_sizes_get): Return suitable gimple variable for
10425 (bundle_sizes): New function.
10426 (object_sizes_set): Use it and handle dynamic object size
10428 (object_sizes_set_temp): New function.
10429 (size_for_offset): Adjust for dynamic size expressions.
10430 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
10432 (compute_builtin_object_size): Call gimplify_size_expressions
10434 (dynamic_object_size): New function.
10435 (cond_expr_object_size): Use it.
10436 (phi_dynamic_object_size): New function.
10437 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
10438 accommodate dynamic object sizes.
10440 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
10441 Jakub Jelinek <jakub@redhat.com>
10443 PR tree-optimization/103961
10444 * tree-object-size.c (plus_stmt_object_size): Always avoid
10445 computing offset for -1 size.
10447 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
10449 PR tree-optimization/103821
10450 * range-op.cc (range_operator::fold_range): Only do precise ranges
10451 when there are not too many subranges.
10453 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
10455 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
10456 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
10458 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
10459 Richard Biener <rguenther@suse.de>
10461 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
10462 highpart_mults_inserted field.
10463 (convert_mult_to_highpart): New function to convert right shift
10464 of a widening multiply into a MULT_HIGHPART_EXPR.
10465 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
10466 Call new convert_mult_to_highpart function.
10467 (pass_optimize_widening_mul::execute): Add a statistics counter
10468 for tracking "highpart multiplications inserted" events.
10470 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
10473 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
10475 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
10477 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
10479 2022-01-11 Olivier Hainque <hainque@adacore.com>
10481 * gcc.c (driver_handle_option): State --sysroot as
10484 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
10486 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
10487 useless related to option -mno-power10.
10489 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
10492 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
10493 operands[1] from register_operand to vector_operand.
10495 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
10498 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
10500 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
10501 Use VI1_16_32 mode iterator.
10502 (*eq<mode>3): Ditto.
10503 (*gt<mode>3): Ditto.
10504 (*xop_maskcmp<mode>3): Ditto.
10505 (*xop_maskcmp_uns<mode>3): Ditto.
10506 (vec_cmp<mode><mode>): Ditto.
10507 (vec_cmpu<mode><mode>): Ditto.
10509 2022-01-10 Richard Biener <rguenther@suse.de>
10511 PR tree-optimization/103948
10512 * tree-vect-generic.c (expand_vector_condition): Return true if
10513 all ones vector is returned for true, all zeros vector for false
10514 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
10516 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
10518 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
10519 when _ARCH_PWR10. Use signed types.
10520 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
10521 (_mm_blendv_pd): Likewise.
10523 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
10525 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
10527 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
10528 epilogues, unless we are guaranteed that we can't have partial vectors.
10529 * genopinit.c: (partial_vectors_supported): Generate new function.
10531 2022-01-10 Jakub Jelinek <jakub@redhat.com>
10534 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
10535 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
10536 always ignore them, when seeing other zero sized bitfields, either
10537 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
10538 it. Pass it to recursive calls. Add wrapper
10539 with old arguments and diagnose ABI differences for C structures
10540 with zero width bitfields. Formatting fixes.
10542 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
10544 PR rtl-optimization/98782
10545 * ira-int.h (ira_soft_conflict): Declare.
10546 * ira-color.c (max_soft_conflict_loop_depth): New constant.
10547 (ira_soft_conflict): New function.
10548 (spill_soft_conflicts): Likewise.
10549 (assign_hard_reg): Use them to handle the case described by
10550 the comment above ira_soft_conflict.
10551 (improve_allocation): Likewise.
10552 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
10553 to share the same register.
10555 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
10557 PR rtl-optimization/98782
10558 * ira-int.h (ira_caller_save_cost): New function.
10559 (ira_caller_save_loop_spill_p): Likewise.
10560 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
10561 cheaper to spill a call-clobbered register throughout a loop rather
10562 than spill it around each individual call. If so, treat all
10563 call-clobbered registers as conflicts and...
10564 (propagate_allocno_info): ...do not propagate call information
10565 from the child to the parent.
10566 * ira-color.c (move_spill_restore): Update accordingly.
10567 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
10569 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
10571 PR rtl-optimization/98782
10572 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
10573 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
10574 (ira_single_region_allocno_p): New function.
10575 (ira_total_conflict_hard_regs): Likewise.
10576 * ira-build.c (ira_create_allocno): Initialize
10577 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
10578 (ira_propagate_hard_reg_costs): New function.
10579 (propagate_allocno_info): Use it. Try to avoid propagating
10580 hard register conflicts to parent allocnos if we can handle
10581 the conflicts by spilling instead. Limit the propagated
10582 register costs to the cost of spilling throughout the child loop.
10583 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
10584 test whether a child and parent allocno can share the same
10586 (move_spill_restore): Adjust for the new behavior of
10587 propagate_allocno_info.
10589 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
10591 PR rtl-optimization/98782
10592 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
10594 * ira-color.c (color_pass): ...here.
10596 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
10598 PR rtl-optimization/98782
10599 * ira-color.c (color_pass): Add comments to describe the spill costs.
10600 (move_spill_restore): Likewise. Fix reversed calculation.
10602 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
10604 PR rtl-optimization/98782
10605 * ira-int.h (ira_loop_border_costs): New class.
10606 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
10608 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
10609 (color_pass): Likewise.
10610 (move_spill_restore): Likewise.
10612 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
10615 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
10617 2022-01-10 Richard Biener <rguenther@suse.de>
10619 PR tree-optimization/100359
10620 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
10621 Allow non-growing peeling with !allow_peel and UL_ALL.
10623 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
10625 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
10626 special case for TImode to V1TImode moves, going via V2DImode.
10628 2022-01-08 Jakub Jelinek <jakub@redhat.com>
10631 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
10634 2022-01-08 David Malcolm <dmalcolm@redhat.com>
10636 * doc/analyzer.texi
10637 (Special Functions for Debugging the Analyzer): Document
10638 __analyzer_dump_escaped.
10640 2022-01-08 David Malcolm <dmalcolm@redhat.com>
10642 * doc/analyzer.texi (Other Debugging Techniques): Document
10643 region::is_named_decl_p.
10645 2022-01-07 Andrew Pinski <apinski@marvell.com>
10648 * config/arm/aarch-common.c (arm_md_asm_adjust):
10649 Use a temp if !REG_P.
10651 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
10653 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
10654 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
10656 2022-01-07 liuhongt <hongtao.liu@intel.com>
10658 PR rtl-optimization/103750
10659 * fwprop.c (forward_propagate_into): Allow propagations from
10660 inner loop to outer loop.
10662 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
10664 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
10666 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
10668 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
10669 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
10670 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
10672 2022-01-07 liuhongt <hongtao.liu@intel.com>
10674 * config/i386/sse.md
10675 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
10676 UNSPEC_PCMP_UNSIGNED.
10678 2022-01-07 liuhongt <hongtao.liu@intel.com>
10681 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
10682 gen_avx2_pblendph_1 when elt == 0.
10683 * config/i386/sse.md (avx2_pblendph): Rename to ..
10684 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
10685 (*avx2_pblendw): Rename to ..
10686 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
10687 (avx2_pblendw): Rename to ..
10688 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
10689 (blendsuf): Removed.
10690 (sse4_1_pblend<blendsuf>): Renamed to ..
10691 (sse4_1_pblend<ssemodesuffix>): .. this.
10693 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
10696 * config/i386/i386.c (ix86_output_indirect_function_return):
10697 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
10699 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
10702 * config/i386/i386-opts.h (harden_sls): Replace
10703 harden_sls_indirect_branch with harden_sls_indirect_jmp.
10704 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
10706 (ix86_output_indirect_jmp): Likewise.
10707 (ix86_output_call_insn): Likewise.
10708 * config/i386/i386.opt: Replace indirect-branch with
10709 indirect-jmp. Replace harden_sls_indirect_branch with
10710 harden_sls_indirect_jmp.
10711 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
10714 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
10716 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
10717 Add %q modifier for operands in general registers.
10718 <MODE_SI>: Add %q modifier for operands in general registers.
10719 * config/i386/i386.md (*movhi_internal): Change type attribute of
10720 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
10721 to SImode for non-avx512fp16 targets.
10722 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
10723 * config/i386/mmx.md (*movv2qi_internal):
10724 Ditto for xmm-gpr interunit alternatives 8,9.
10726 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
10728 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
10730 (riscv_ext_version_table): Add version info for vector extensions.
10731 (riscv_ext_flag_table): Add option mask for vector extensions.
10732 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
10733 (MASK_VECTOR_EEW_64): New.
10734 (MASK_VECTOR_EEW_FP_32): New.
10735 (MASK_VECTOR_EEW_FP_64): New.
10736 (MASK_ZVL32B): New.
10737 (MASK_ZVL64B): New.
10738 (MASK_ZVL128B): New.
10739 (MASK_ZVL256B): New.
10740 (MASK_ZVL512B): New.
10741 (MASK_ZVL1024B): New.
10742 (MASK_ZVL2048B): New.
10743 (MASK_ZVL4096B): New.
10744 (MASK_ZVL8192B): New.
10745 (MASK_ZVL16384B): New.
10746 (MASK_ZVL32768B): New.
10747 (MASK_ZVL65536B): New.
10748 (TARGET_ZVL32B): New.
10749 (TARGET_ZVL64B): New.
10750 (TARGET_ZVL128B): New.
10751 (TARGET_ZVL256B): New.
10752 (TARGET_ZVL512B): New.
10753 (TARGET_ZVL1024B): New.
10754 (TARGET_ZVL2048B): New.
10755 (TARGET_ZVL4096B): New.
10756 (TARGET_ZVL8192B): New.
10757 (TARGET_ZVL16384B): New.
10758 (TARGET_ZVL32768B): New.
10759 (TARGET_ZVL65536B): New.
10760 * config/riscv/riscv.opt (Mask(VECTOR)): New.
10761 (riscv_vector_eew_flags): New.
10762 (riscv_zvl_flags): New.
10764 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
10766 * common/config/riscv/riscv-common.c
10767 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
10770 2022-01-06 Jakub Jelinek <jakub@redhat.com>
10772 PR tree-optimization/103899
10773 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
10774 warning by moving context variable to the only spot where it is used
10775 and moving gcc_assert into if body.
10777 2022-01-06 Jakub Jelinek <jakub@redhat.com>
10779 PR rtl-optimization/103908
10780 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
10783 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
10786 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
10787 Skip over instances with undefined function types.
10789 2022-01-05 Andrew Pinski <apinski@marvell.com>
10792 * config/i386/i386.h (x86_mfence): Mark with GTY.
10794 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
10797 * config/i386/mmx.md (VI_16_32): New mode iterator.
10798 (VI1_16_32): Ditto.
10799 (mmxvecsize): Handle V2QI mode.
10800 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
10801 Use VI1_16_32 mode iterator.
10802 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
10803 Use VI1_16_32 mode iterator.
10804 (abs<mode>2): Use VI_16_32 mode iterator.
10805 (uavgv2qi3_ceil): New insn pattern.
10807 2022-01-05 Martin Sebor <msebor@redhat.com>
10809 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
10810 %qs to avoid -Wformat-diag.
10812 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
10815 * config/i386/mmx.md (one_cmplv2qi2): Change
10816 alternatives 1,2 type from sselog to sselog1.
10818 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
10821 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
10822 narrow mode remapped elements for !one_operand_p case.
10824 2022-01-05 Richard Biener <rguenther@suse.de>
10826 PR tree-optimization/103816
10827 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
10828 check DR_GROUP_GAP compute for overflow and representability.
10830 2022-01-05 Jakub Jelinek <jakub@redhat.com>
10833 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
10834 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
10835 it can do unwanted rhs folding like &a[0] into &2.0 etc.
10837 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
10840 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
10841 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
10842 (rs6000_need_ipa_fn_target_info): New function.
10843 (rs6000_update_ipa_fn_target_info): Likewise.
10844 (rs6000_can_inline_p): Adjust for ipa function summary target info.
10845 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
10846 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
10847 summary target info.
10848 (analyze_function_body): Adjust for ipa function summary target info
10849 and call hook rs6000_need_ipa_fn_target_info and
10850 rs6000_update_ipa_fn_target_info.
10851 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
10853 (inline_read_section): Likewise.
10854 (ipa_fn_summary_write): Likewise.
10855 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
10856 * doc/tm.texi: Regenerate.
10857 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
10858 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
10859 * target.def (update_ipa_fn_target_info): New hook.
10860 (need_ipa_fn_target_info): Likewise.
10861 * targhooks.c (default_need_ipa_fn_target_info): New function.
10862 (default_update_ipa_fn_target_info): Likewise.
10863 * targhooks.h (default_update_ipa_fn_target_info): New declare.
10864 (default_need_ipa_fn_target_info): Likewise.
10866 2022-01-04 Martin Sebor <msebor@redhat.com>
10868 PR middle-end/99612
10869 * builtins.c (get_memmodel): Move warning code to
10870 gimple-ssa-warn-access.cc.
10871 (expand_builtin_atomic_compare_exchange): Same.
10872 (expand_ifn_atomic_compare_exchange): Same.
10873 (expand_builtin_atomic_load): Same.
10874 (expand_builtin_atomic_store): Same.
10875 (expand_builtin_atomic_clear): Same.
10876 * doc/extend.texi (__atomic_exchange_n): Update valid memory
10878 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
10879 (struct memmodel_pair): New struct.
10880 (memmodel_name): New function.
10881 (pass_waccess::maybe_warn_memmodel): New function.
10882 (pass_waccess::check_atomic_memmodel): New function.
10883 (pass_waccess::check_atomic_builtin): Handle memory model.
10884 * input.c (expansion_point_location_if_in_system_header): Return
10885 original location if expansion location is in a system header.
10887 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
10890 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
10891 (one_cmplv2qi3 splitters): New post-reload splitters.
10892 (*andnotv2qi3): New insn pattern.
10893 (andnotv2qi3 splitters): New post-reload splitters.
10894 (<any_logic:code>v2qi3): New insn pattern.
10895 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
10897 2022-01-04 Richard Biener <rguenther@suse.de>
10899 PR tree-optimization/103800
10900 * tree-vect-loop.c (vectorizable_phi): Remove assert and
10903 2022-01-04 Richard Biener <rguenther@suse.de>
10905 PR tree-optimization/103690
10906 * tree-pass.h (tail_merge_optimize): Adjust.
10907 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
10908 to re-split critical edges, move CFG cleanup ...
10909 * tree-ssa-pre.c (pass_pre::execute): ... here, before
10910 simple_dce_from_worklist and delay freeing inserted_exprs from
10912 (fini_pre): .. here.
10914 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
10916 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
10917 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
10918 (setcc_from_bi): Remove SImode specific pattern.
10919 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
10920 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
10921 for sign- and zero-extending BImode predicates to integers.
10922 (setcc_int<mode>): Remove previous (-1-based) instructions.
10923 (cstorebi4): Remove BImode to SImode specific expander.
10924 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
10925 (cstore<mode>4): For both integer and floating point modes.
10927 2022-01-04 Olivier Hainque <hainque@adacore.com>
10929 * gcc.c (driver_handle_option): do_save --sysroot.
10931 2022-01-04 Richard Biener <rguenther@suse.de>
10933 PR tree-optimization/103864
10934 PR tree-optimization/103544
10935 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
10936 reductions wrapped in conversions from SLP handling.
10937 (vect_analyze_slp): Revert PR103544 change.
10939 2022-01-04 Jakub Jelinek <jakub@redhat.com>
10941 PR rtl-optimization/103860
10942 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
10943 uselessly for blocks for which it has been called already.
10945 2022-01-04 Cui,Lili <lili.cui@intel.com>
10947 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
10948 to Alderlake and Rocketlake.
10950 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
10952 PR middle-end/103643
10953 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
10954 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
10956 2022-01-04 liuhongt <hongtao.liu@intel.com>
10959 * config/i386/sse.md (*bit_and_float_vector_all_ones):
10960 Force_reg operand 1 to avoid ICE.
10962 2022-01-04 Jason Merrill <jason@redhat.com>
10964 * tree-pretty-print.c (do_niy): Add spc parameter.
10966 (print_call_name): Add spc local variable.
10968 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
10971 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
10972 (mov<V_32:mode>_internal): Ditto.
10973 (*push<V_32:mode>_rex64): Ditto.
10974 (movmisalign<V_32:mode>): Ditto.
10975 (*push<V_32:mode>_rex64 splitter): Enable for
10976 TARGET_64BIT && TARGET_SSE.
10977 (*push<V_32:mode>2): Remove insn pattern.
10979 2022-01-03 Andrew Pinski <apinski@marvell.com>
10982 * doc/extend.texi: Extend the documentation about Complex
10983 types for casting and also rewrite the __real__/__imag__
10984 expression portion to use tables.
10985 Move __builtin_complex to the Complex type section.
10987 2022-01-03 Jakub Jelinek <jakub@redhat.com>
10990 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
10991 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
10993 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
10994 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
10995 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
10996 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
10997 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
10998 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
11000 * optabs.def (atomic_add_fetch_cmp_0_optab,
11001 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
11002 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
11004 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
11005 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
11006 * tree-ssa-ccp.c: Include internal-fn.h.
11007 (optimize_atomic_bit_test_and): Add . before internal fn call
11008 in function comment. Change return type from void to bool and
11009 return true only if successfully replaced.
11010 (optimize_atomic_op_fetch_cmp_0): New function.
11011 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
11012 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
11013 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
11014 for *XOR* ones only if optimize_atomic_bit_test_and failed.
11015 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
11016 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
11017 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
11018 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
11019 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
11020 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
11021 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
11022 new named patterns.
11024 2022-01-03 Richard Biener <rguenther@suse.de>
11026 PR middle-end/103851
11027 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
11029 2022-01-03 Jakub Jelinek <jakub@redhat.com>
11032 * symtab.c: Include fold-const.h.
11033 (symtab_node::equal_address_to): If folding_initializer is true,
11034 handle it like memory_accessed. Simplify.
11036 2022-01-03 Martin Liska <mliska@suse.cz>
11038 * doc/extend.texi: Use ; for function declarations.
11040 2022-01-03 Jakub Jelinek <jakub@redhat.com>
11043 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
11044 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
11046 2022-01-03 Jakub Jelinek <jakub@redhat.com>
11048 * gcc.c (process_command): Update copyright notice dates.
11049 * gcov-dump.c (print_version): Ditto.
11050 * gcov.c (print_version): Ditto.
11051 * gcov-tool.c (print_version): Ditto.
11052 * gengtype.c (create_file): Ditto.
11053 * doc/cpp.texi: Bump @copying's copyright year.
11054 * doc/cppinternals.texi: Ditto.
11055 * doc/gcc.texi: Ditto.
11056 * doc/gccint.texi: Ditto.
11057 * doc/gcov.texi: Ditto.
11058 * doc/install.texi: Ditto.
11059 * doc/invoke.texi: Ditto.
11061 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
11064 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
11065 (VALID_INT_MODE_P): Ditto.
11066 * config/i386/i386.c (ix86_secondary_reload): Handle
11067 V2QImode reloads from SSE register to memory.
11068 (vector_mode_supported_p): Always return true for V2QImode.
11069 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
11070 (*negqi_ext<mode>_2): Ditto.
11071 * config/i386/mmx.md (movv2qi): New expander.
11072 (movmisalignv2qi): Ditto.
11073 (*movv2qi_internal): New insn pattern.
11074 (*pushv2qi2): Ditto.
11075 (negv2qi2 and splitters): Ditto.
11076 (<plusminus:insn>v2qi3 and splitters): Ditto.
11078 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
11080 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
11081 sync_lock_test_and_set libfunc. Call convert_memory_address to
11082 convert memory address to Pmode.
11083 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
11086 Copyright (C) 2022 Free Software Foundation, Inc.
11088 Copying and distribution of this file, with or without modification,
11089 are permitted in any medium without royalty provided the copyright
11090 notice and this notice are preserved.