1 2023-05-08 Release Manager
5 2023-04-27 Jakub Jelinek <jakub@redhat.com>
7 Backported from master:
8 2023-04-08 Jakub Jelinek <jakub@redhat.com>
10 PR tree-optimization/109392
11 * tree-vect-generic.cc (tree_vec_extract): Handle failure
12 of maybe_push_res_to_seq better.
14 2023-04-27 Richard Biener <rguenther@suse.de>
16 Backported from master:
17 2023-02-16 Richard Biener <rguenther@suse.de>
19 PR tree-optimization/108791
20 * tree-ssa-forwprop.cc (optimize_vector_load): Build
21 the ADDR_EXPR of a TARGET_MEM_REF using a more meaningful
24 2023-04-27 Roger Sayle <roger@nextmovesoftware.com>
26 Backported from master:
27 2023-01-10 Roger Sayle <roger@nextmovesoftware.com>
29 PR rtl-optimization/106421
30 * cprop.cc (bypass_block): Check that DEST is local to this
31 function (non-NULL) before calling find_edge.
33 2023-04-27 H.J. Lu <hjl.tools@gmail.com>
35 Backported from master:
36 2023-01-16 H.J. Lu <hjl.tools@gmail.com>
39 * config/i386/i386.cc (x86_output_mi_thunk): Disable
40 -mforce-indirect-call for PIC in 32-bit mode.
42 2023-04-27 Jan Hubicka <jh@suse.cz>
44 Backported from master:
45 2022-08-12 Jan Hubicka <hubicka@ucw.cz>
48 * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
50 (possible_polymorphic_call_targets): Use it.
52 2023-04-26 Martin Jambor <mjambor@suse.cz>
54 Backported from master:
55 2023-04-17 Martin Jambor <mjambor@suse.cz>
59 * cgraph.h (symtab_node::find_reference): Add parameter use_type.
60 * ipa-prop.h (ipa_pass_through_data): New flag refdesc_decremented.
61 (ipa_zap_jf_refdesc): New function.
62 (ipa_get_jf_pass_through_refdesc_decremented): Likewise.
63 (ipa_set_jf_pass_through_refdesc_decremented): Likewise.
64 * ipa-cp.cc (ipcp_discover_new_direct_edges): Provide a value for
65 the new parameter of find_reference.
66 (adjust_references_in_caller): Likewise. Make sure the constant jump
67 function is not used to decrement a refdec counter again. Only
68 decrement refdesc counters when the pass_through jump function allows
69 it. Added a detailed dump when decrementing refdesc counters.
70 * ipa-prop.cc (ipa_print_node_jump_functions_for_edge): Dump new flag.
71 (ipa_set_jf_simple_pass_through): Initialize the new flag.
72 (ipa_set_jf_unary_pass_through): Likewise.
73 (ipa_set_jf_arith_pass_through): Likewise.
74 (remove_described_reference): Provide a value for the new parameter of
76 (update_jump_functions_after_inlining): Zap refdesc of new jfunc if
77 the previous pass_through had a flag mandating that we do so.
78 (propagate_controlled_uses): Likewise. Only decrement refdesc
79 counters when the pass_through jump function allows it.
80 (ipa_edge_args_sum_t::duplicate): Provide a value for the new
81 parameter of find_reference.
82 (ipa_write_jump_function): Assert the new flag does not have to be
84 * symtab.cc (symtab_node::find_reference): Add parameter use_type, use
87 2023-04-26 Jakub Jelinek <jakub@redhat.com>
89 Backported from master:
90 2023-04-25 Jakub Jelinek <jakub@redhat.com>
93 * config/rs6000/rs6000.cc (rs6000_is_valid_rotate_dot_mask): For
94 !TARGET_64BIT, don't return true if UINTVAL (mask) << (63 - nb)
95 is larger than signed int maximum.
97 2023-04-26 Richard Biener <rguenther@suse.de>
99 Backported from master:
100 2023-04-25 Richard Biener <rguenther@suse.de>
102 PR tree-optimization/109609
103 * attr-fnspec.h (arg_max_access_size_given_by_arg_p):
105 * tree-ssa-alias.cc (check_fnspec): Correctly interpret
106 the size given by arg_max_access_size_given_by_arg_p as
107 maximum, not exact, size.
109 2023-04-26 Richard Biener <rguenther@suse.de>
111 Backported from master:
112 2023-04-25 Richard Biener <rguenther@suse.de>
114 PR rtl-optimization/109585
115 * tree-ssa-alias.cc (aliasing_component_refs_p): Fix typo.
117 2023-04-26 Richard Biener <rguenther@suse.de>
119 Backported from master:
120 2023-04-21 Richard Biener <rguenther@suse.de>
122 PR tree-optimization/109573
123 * tree-vect-loop.cc (vectorizable_live_operation): Allow
124 unhandled SSA copy as well. Demote assert to checking only.
126 2023-04-21 John David Anglin <danglin@gcc.gnu.org>
129 * config/pa/pa-protos.h (pa_function_arg_size): Update prototype.
130 * config/pa/pa.cc (pa_function_arg): Return NULL_RTX if argument
132 (pa_arg_partial_bytes): Don't call pa_function_arg_size twice.
133 (pa_function_arg_size): Change return type to int. Return zero
134 for arguments larger than 1 GB. Update comments.
136 2023-04-21 Haochen Gui <guihaoc@gcc.gnu.org>
138 Backported from master:
139 2023-04-11 Haochen Gui <guihaoc@gcc.gnu.org>
142 * config/rs6000/vsx.md (vsx_sign_extend_qi_<mode>): Rename to...
143 (vsx_sign_extend_v16qi_<mode>): ... this.
144 (vsx_sign_extend_hi_<mode>): Rename to...
145 (vsx_sign_extend_v8hi_<mode>): ... this.
146 (vsx_sign_extend_si_v2di): Rename to...
147 (vsx_sign_extend_v4si_v2di): ... this.
148 (vsignextend_qi_<mode>): Remove.
149 (vsignextend_hi_<mode>): Remove.
150 (vsignextend_si_v2di): Remove.
151 (vsignextend_v2di_v1ti): Remove.
152 (*xxspltib_<mode>_split): Replace gen_vsx_sign_extend_qi_v2di with
153 gen_vsx_sign_extend_v16qi_v2di and gen_vsx_sign_extend_qi_v4si
154 with gen_vsx_sign_extend_v16qi_v4si.
155 * config/rs6000/rs6000.md (split for DI constant generation):
156 Replace gen_vsx_sign_extend_qi_si with gen_vsx_sign_extend_v16qi_si.
157 (split for HSDI constant generation): Replace gen_vsx_sign_extend_qi_di
158 with gen_vsx_sign_extend_v16qi_di and gen_vsx_sign_extend_qi_si
159 with gen_vsx_sign_extend_v16qi_si.
160 * config/rs6000/rs6000-builtins.def (__builtin_altivec_vsignextsb2d):
161 Set bif-pattern to vsx_sign_extend_v16qi_v2di.
162 (__builtin_altivec_vsignextsb2w): Set bif-pattern to
163 vsx_sign_extend_v16qi_v4si.
164 (__builtin_altivec_visgnextsh2d): Set bif-pattern to
165 vsx_sign_extend_v8hi_v2di.
166 (__builtin_altivec_vsignextsh2w): Set bif-pattern to
167 vsx_sign_extend_v8hi_v4si.
168 (__builtin_altivec_vsignextsw2d): Set bif-pattern to
169 vsx_sign_extend_si_v2di.
170 (__builtin_altivec_vsignext): Set bif-pattern to
171 vsx_sign_extend_v2di_v1ti.
172 * config/rs6000/rs6000-builtin.cc (lxvrse_expand_builtin): Replace
173 gen_vsx_sign_extend_qi_v2di with gen_vsx_sign_extend_v16qi_v2di,
174 gen_vsx_sign_extend_hi_v2di with gen_vsx_sign_extend_v8hi_v2di and
175 gen_vsx_sign_extend_si_v2di with gen_vsx_sign_extend_v4si_v2di.
177 2023-04-18 Jakub Jelinek <jakub@redhat.com>
179 Backported from master:
180 2023-04-12 Jakub Jelinek <jakub@redhat.com>
182 PR tree-optimization/109410
183 * tree-ssa-reassoc.cc (build_and_add_sum): Split edge from entry
184 block if first statement of the function is a call to returns_twice
187 2023-04-18 Jakub Jelinek <jakub@redhat.com>
189 Backported from master:
190 2023-03-28 Jakub Jelinek <jakub@redhat.com>
193 * sanopt.cc (pass_sanopt::execute): Return TODO_cleanup_cfg if any
194 of the IFN_{UB,HWA,A}SAN_* internal fns are lowered.
196 2023-04-18 Jakub Jelinek <jakub@redhat.com>
198 Backported from master:
199 2023-03-28 Jakub Jelinek <jakub@redhat.com>
202 * config/i386/i386.cc (assign_386_stack_local): For DImode
203 with SLOT_FLOATxFDI_387 and -m32 -mpreferred-stack-boundary=2 pass
204 align 32 rather than 0 to assign_stack_local.
206 2023-04-18 Jakub Jelinek <jakub@redhat.com>
208 Backported from master:
209 2023-03-26 Jakub Jelinek <jakub@redhat.com>
212 * predict.cc (compute_function_frequency): Don't call
213 warn_function_cold if function already has cold attribute.
215 2023-04-18 Jakub Jelinek <jakub@redhat.com>
217 Backported from master:
218 2023-03-23 Jakub Jelinek <jakub@redhat.com>
220 PR tree-optimization/109176
221 * tree-vect-generic.cc (expand_vector_condition): If a has
222 vector boolean type and is a comparison, also check if both
223 the comparison and VEC_COND_EXPR could be successfully expanded
226 2023-04-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
228 Backported from master:
229 2023-01-31 Philipp Tomsich <philipp.tomsich@vrull.eu>
232 * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Check
235 2023-04-17 Philipp Tomsich <philipp.tomsich@vrull.eu>
237 Backported from master:
238 2023-04-17 Philipp Tomsich <philipp.tomsich@vrull.eu>
239 Di Zhao <di.zhao@amperecomputing.com>
241 * config/aarch64/aarch64-tuning-flags.def (AARCH64_EXTRA_TUNING_OPTION):
242 Add AARCH64_EXTRA_TUNE_NO_LDP_COMBINE.
243 * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp):
244 Check for the above tuning option when processing loads.
246 2023-04-17 Richard Sandiford <richard.sandiford@arm.com>
248 Backported from master:
249 2023-04-13 Richard Sandiford <richard.sandiford@arm.com>
252 * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Do
253 not trust TYPE_ALIGN for pointer types; use POINTER_SIZE instead.
255 2023-04-17 Richard Biener <rguenther@suse.de>
257 PR tree-optimization/109434
258 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Properly
259 handle possibly throwing calls when processing the LHS
260 and may-defs are not OK. Add mode to initialize a may-def.
261 (dse_optimize_stmt): Query may-defs.
263 2023-04-17 Richard Biener <rguenther@suse.de>
265 Backported from master:
266 2023-04-14 Richard Biener <rguenther@suse.de>
268 PR tree-optimization/109502
269 * tree-vect-stmts.cc (vectorizable_assignment): Fix
270 check for conversion between mask and non-mask types.
272 2023-04-17 Richard Biener <rguenther@suse.de>
274 Backported from master:
275 2023-04-13 Richard Biener <rguenther@suse.de>
277 PR tree-optimization/109491
278 * tree-ssa-sccvn.cc (expressions_equal_p): Restore the
281 2023-04-17 Richard Biener <rguenther@suse.de>
283 Backported from master:
284 2023-04-12 Richard Biener <rguenther@suse.de>
286 PR tree-optimization/109473
287 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
288 Convert scalar result to the computation type before performing
289 the reduction adjustment.
291 2023-04-17 Richard Biener <rguenther@suse.de>
293 Backported from master:
294 2023-04-12 Richard Biener <rguenther@suse.de>
296 PR tree-optimization/109469
297 * tree-vect-slp.cc (vect_slp_function): Skip region starts with
298 a returns-twice call.
300 2023-04-17 Richard Biener <rguenther@suse.de>
302 Backported from master:
303 2023-03-27 Richard Biener <rguenther@suse.de>
306 * lto-wrapper.cc (run_gcc): Parse alternate debug options
307 as well, they always enable debug.
309 2023-04-17 Richard Biener <rguenther@suse.de>
311 Backported from master:
312 2023-03-21 Richard Biener <rguenther@suse.de>
314 PR tree-optimization/109219
315 * tree-vect-loop.cc (vectorizable_reduction): Check
316 slp_node, not STMT_SLP_TYPE.
317 * tree-vect-stmts.cc (vectorizable_condition): Likewise.
318 * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
319 Remove assertion on STMT_SLP_TYPE.
321 2023-04-17 Richard Biener <rguenther@suse.de>
323 Backported from master:
324 2023-03-29 Richard Biener <rguenther@suse.de>
327 * dwarf2out.cc (lookup_type_die): Reset TREE_ASM_WRITTEN
328 so we can re-create the DIE for the type if required.
330 2023-04-17 Richard Biener <rguenther@suse.de>
332 Backported from master:
333 2022-12-07 Richard Biener <rguenther@suse.de>
336 * ipa-pure-const.cc (ipa_make_function_pure): Skip also
337 for functions already being const.
339 2023-04-17 Kewen Lin <linkw@linux.ibm.com>
341 Backported from master:
342 2023-04-04 Kewen Lin <linkw@linux.ibm.com>
345 * config/rs6000/altivec.md (*p9v_parity<mode>2): Rename to ...
346 (rs6000_vprtyb<mode>2): ... this.
347 * config/rs6000/rs6000-builtins.def (VPRTYBD): Replace parityv2di2 with
349 (VPRTYBW): Replace parityv4si2 with rs6000_vprtybv4si2.
350 (VPRTYBQ): Replace parityv1ti2 with rs6000_vprtybv1ti2.
351 * config/rs6000/vector.md (parity<mode>2 with VEC_IP): Expand with
352 popcountv16qi2 and the corresponding rs6000_vprtyb<mode>2.
354 2023-04-17 Kewen Lin <linkw@linux.ibm.com>
356 Backported from master:
357 2023-04-04 Kewen Lin <linkw@linux.ibm.com>
360 * config/rs6000/rs6000.cc (rs6000_expand_vector_set_var_p9): Fix gen
361 function for permutation control vector by considering big endianness.
363 2023-04-14 Jan Hubicka <hubicka@ucw.cz>
366 * config/i386/x86-tune.def (X86_TUNE_AVX256_MOVE_BY_PIECES):
368 (X86_TUNE_AVX256_STORE_BY_PIECES): Remove znver1-3.
370 2023-04-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
372 Backported from master:
373 2023-03-27 Philipp Tomsich <philipp.tomsich@vrull.eu>
374 Jiangning Liu <jiangning.liu@amperecomputing.com>
375 Manolis Tsamis <manolis.tsamis@vrull.eu>
377 * config/aarch64/aarch64.cc: Update vector costs for ampere1.
379 2023-04-11 Michael Meissner <meissner@linux.ibm.com>
382 * config/rs6000/rs6000.cc (create_complex_muldiv): Delete.
383 (init_float128_ieee): Delete code to switch complex multiply and divide
384 for long double. Backport from master, 3/20/2023.
385 (complex_multiply_builtin_code): New helper function.
386 (complex_divide_builtin_code): Likewise.
387 (rs6000_mangle_decl_assembler_name): Add support for mangling the name
388 of complex 128-bit multiply and divide built-in functions.
390 2023-04-06 Andrew Pinski <apinski@marvell.com>
392 Backported from master:
393 2023-04-06 Andrew Pinski <apinski@marvell.com>
395 PR tree-optimization/109427
396 * params.opt (-param=vect-induction-float=):
397 Fix option attribute typo for IntegerRange.
399 2023-04-03 Richard Sandiford <richard.sandiford@arm.com>
401 PR tree-optimization/96373
402 PR tree-optimization/108979
403 * tree-vect-stmts.cc (vectorizable_operation): Predicate trapping
404 operations on the loop mask. Reject partial vectors if this isn't
405 possible. Don't mask operations on invariants.
407 2023-04-03 Richard Sandiford <richard.sandiford@arm.com>
409 Backported from master:
410 2023-03-28 Richard Sandiford <richard.sandiford@arm.com>
413 * config/aarch64/aarch64-protos.h (aarch64_vector_load_decl): Declare.
414 * config/aarch64/aarch64.h (machine_function::vector_load_decls): New
416 * config/aarch64/aarch64-builtins.cc (aarch64_record_vector_load_arg):
418 (aarch64_general_gimple_fold_builtin): Delay folding of vld1 until
419 after inlining. Record which decls are loaded from. Fix handling
420 of vops for loads and stores.
421 * config/aarch64/aarch64.cc (aarch64_vector_load_decl): New function.
422 (aarch64_accesses_vector_load_decl_p): Likewise.
423 (aarch64_vector_costs::m_stores_to_vector_load_decl): New member
425 (aarch64_vector_costs::add_stmt_cost): If the function has a vld1
426 that loads from a decl, treat vector stores to those decls as
428 (aarch64_vector_costs::finish_cost): ...and in that case,
429 if the vector code does nothing more than a store, give the
430 prologue a zero cost as well.
432 2023-04-03 Richard Sandiford <richard.sandiford@arm.com>
434 Backported from master:
435 2023-02-13 Richard Sandiford <richard.sandiford@arm.com>
437 PR rtl-optimization/108681
438 * lra-spills.cc (lra_final_code_change): Extend subreg replacement
439 code to handle bare uses and clobbers.
441 2023-04-03 Richard Sandiford <richard.sandiford@arm.com>
443 Backported from master:
444 2023-01-31 Richard Sandiford <richard.sandiford@arm.com>
446 PR tree-optimization/108608
447 * tree-vect-loop.cc (vect_transform_reduction): Handle single
448 def-use cycles that involve function calls rather than tree codes.
450 2023-04-03 Richard Sandiford <richard.sandiford@arm.com>
452 Backported from master:
453 2023-03-02 Richard Sandiford <richard.sandiford@arm.com>
455 PR tree-optimization/108603
456 * explow.cc (convert_memory_address_addr_space_1): Only wrap
457 the result of a recursive call in a CONST if no instructions
460 2023-04-03 Richard Sandiford <richard.sandiford@arm.com>
462 Backported from master:
463 2023-02-02 Richard Sandiford <richard.sandiford@arm.com>
465 PR rtl-optimization/108508
466 * rtl-ssa/accesses.cc (function_info::split_clobber_group): When
467 the splay tree search gives the first clobber in the second group,
468 make sure that the root of the first clobber group is updated
469 correctly. Enter the new clobber group into the definition splay
472 2023-04-03 Richard Sandiford <richard.sandiford@arm.com>
474 Backported from master:
475 2023-03-02 Richard Sandiford <richard.sandiford@arm.com>
477 PR tree-optimization/108430
478 * tree-vect-stmts.cc (vectorizable_condition): Fix handling
479 of inverted condition.
481 2023-04-03 Richard Sandiford <richard.sandiford@arm.com>
483 Backported from master:
484 2023-02-02 Richard Sandiford <richard.sandiford@arm.com>
486 PR rtl-optimization/108086
487 * rtl-ssa/insns.h (insn_info): Make m_num_defs a full unsigned int.
488 Adjust size-related commentary accordingly.
490 2023-03-31 Vladimir N. Makarov <vmakarov@redhat.com>
492 * ira-costs.cc: Include print-rtl.h.
493 (record_reg_classes, scan_one_insn): Add code to print debug info.
494 (record_operand_costs): Find and use smaller cost for hard reg
497 2023-03-29 David Malcolm <dmalcolm@redhat.com>
499 * doc/invoke.texi (Static Analyzer Options): Add notes about
500 limitations of -fanalyzer.
502 2023-03-29 David Malcolm <dmalcolm@redhat.com>
504 * doc/analyzer.texi: Drop out-of-date ideas for other checkers.
506 2023-03-28 Eric Botcazou <ebotcazou@adacore.com>
509 * config/sparc/sparc.cc (sparc_expand_vcond): Call signed_condition
510 on operand #3 to get the final condition code. Use std::swap.
511 * config/sparc/sparc.md (vcondv8qiv8qi): New VIS 4 expander.
512 (fucmp<gcond:code>8<P:mode>_vis): Move around.
513 (fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis): Likewise.
514 (vcondu<GCM:mode><GCM:mode>): New VIS 4 expander.
516 2023-03-22 Martin Jambor <mjambor@suse.cz>
518 Backported from master:
519 2023-03-14 Martin Jambor <mjambor@suse.cz>
522 * ipa-cp.cc (update_specialized_profile): Drop orig_node_count to
523 ipa count, remove assert, lenient_count_portion_handling, dump
524 also orig_node_count.
526 2023-03-20 Peter Bergner <bergner@linux.ibm.com>
528 Backported from master:
529 2023-03-20 Peter Bergner <bergner@linux.ibm.com>
532 * config/rs6000/rs6000-builtin.cc (stv_expand_builtin): Use tmode.
534 2023-03-19 Jakub Jelinek <jakub@redhat.com>
536 Backported from master:
537 2023-03-17 Jakub Jelinek <jakub@redhat.com>
540 * function.h (push_struct_function): Add ABSTRACT_P argument defaulted
542 * function.cc (push_struct_function): Add ABSTRACT_P argument, pass it
543 to allocate_struct_function instead of false.
544 * tree-inline.cc (initialize_cfun): Don't copy DECL_ARGUMENTS
545 nor DECL_RESULT here. Pass true as ABSTRACT_P to
546 push_struct_function. Call targetm.target_option.relayout_function
548 (tree_function_versioning): Formatting fix.
550 2023-03-19 Jakub Jelinek <jakub@redhat.com>
552 Backported from master:
553 2023-03-17 Jakub Jelinek <jakub@redhat.com>
556 * omp-expand.cc (expand_omp_for_ordered_loops): Add L0_BB argument,
557 use its loop_father rather than BODY_BB's loop_father.
558 (expand_omp_for_generic): Adjust expand_omp_for_ordered_loops caller.
559 If broken_loop with ordered > collapse and at least one of those
560 extra loops aren't guaranteed to have at least one iteration, change
561 l0_bb's loop_father to entry_bb's loop_father. Set cont_bb's
562 loop_father to l0_bb's loop_father rather than l1_bb's.
564 2023-03-19 Jakub Jelinek <jakub@redhat.com>
566 Backported from master:
567 2023-03-10 Jakub Jelinek <jakub@redhat.com>
570 * cgraphunit.cc (check_global_declaration): Don't warn for unused
571 variables which have OPT_Wunused_variable warning suppressed.
573 2023-03-19 Jakub Jelinek <jakub@redhat.com>
575 Backported from master:
576 2023-03-04 Jakub Jelinek <jakub@redhat.com>
579 * selftest-diagnostic.cc
580 (test_diagnostic_context::test_diagnostic_context): Set
581 caret_max_width to 80.
583 2023-03-19 Jakub Jelinek <jakub@redhat.com>
585 Backported from master:
586 2023-03-03 Jakub Jelinek <jakub@redhat.com>
589 * gimple-ssa-warn-access.cc (pass_waccess::maybe_check_access_sizes):
590 Return immediately if OPT_Wnonnull or OPT_Wstringop_overflow_ is
591 suppressed on stmt. For [static %E] warning, print access_nelts
592 rather than access_size. Fix up comment wording.
594 2023-03-19 Jakub Jelinek <jakub@redhat.com>
596 Backported from master:
597 2023-03-02 Jakub Jelinek <jakub@redhat.com>
600 * fold-const.cc (native_interpret_expr) <case REAL_CST>: Before memcmp
601 comparison copy the bytes from ptr to a temporary buffer and clearing
602 padding bits in there.
604 2023-03-19 Jakub Jelinek <jakub@redhat.com>
606 Backported from master:
607 2023-03-01 Jakub Jelinek <jakub@redhat.com>
610 * cfgexpand.cc (expand_debug_expr): Handle WIDEN_{PLUS,MINUS}_EXPR
611 and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR.
613 2023-03-19 Jakub Jelinek <jakub@redhat.com>
615 Backported from master:
616 2023-02-24 Jakub Jelinek <jakub@redhat.com>
619 * cgraphclones.cc (duplicate_thunk_for_node): If no parameter
620 changes are needed, copy at least DECL_ARGUMENTS PARM_DECL
621 nodes and adjust their DECL_CONTEXT.
623 2023-03-19 Jakub Jelinek <jakub@redhat.com>
625 Backported from master:
626 2023-02-24 Jakub Jelinek <jakub@redhat.com>
629 * config/i386/i386-builtin.def (__builtin_ia32_cvtne2ps2bf16_v16hi,
630 __builtin_ia32_cvtne2ps2bf16_v16hi_mask,
631 __builtin_ia32_cvtne2ps2bf16_v16hi_maskz,
632 __builtin_ia32_cvtne2ps2bf16_v8hi,
633 __builtin_ia32_cvtne2ps2bf16_v8hi_mask,
634 __builtin_ia32_cvtne2ps2bf16_v8hi_maskz,
635 __builtin_ia32_cvtneps2bf16_v8sf_mask,
636 __builtin_ia32_cvtneps2bf16_v8sf_maskz,
637 __builtin_ia32_cvtneps2bf16_v4sf_mask,
638 __builtin_ia32_cvtneps2bf16_v4sf_maskz,
639 __builtin_ia32_dpbf16ps_v8sf, __builtin_ia32_dpbf16ps_v8sf_mask,
640 __builtin_ia32_dpbf16ps_v8sf_maskz, __builtin_ia32_dpbf16ps_v4sf,
641 __builtin_ia32_dpbf16ps_v4sf_mask,
642 __builtin_ia32_dpbf16ps_v4sf_maskz): Require also
643 OPTION_MASK_ISA_AVX512VL.
645 2023-03-19 Jakub Jelinek <jakub@redhat.com>
647 Backported from master:
648 2023-02-18 Jakub Jelinek <jakub@redhat.com>
650 PR tree-optimization/108819
651 * tree-ssa-reassoc.cc (update_ops): Fold new stmt in place.
653 2023-03-19 Jakub Jelinek <jakub@redhat.com>
655 Backported from master:
656 2023-02-09 Jakub Jelinek <jakub@redhat.com>
659 * common/config/i386/cpuinfo.h (cpu_indicator_init): Call
660 get_available_features for all CPUs with max_level >= 1, rather
661 than just Intel or AMD.
663 2023-03-15 Richard Biener <rguenther@suse.de>
665 Backported from master:
666 2023-03-01 Richard Biener <rguenther@suse.de>
668 PR tree-optimization/108950
669 * tree-vect-patterns.cc (vect_recog_widen_sum_pattern):
670 Check oprnd0 is defined in the loop.
671 * tree-vect-loop.cc (vectorizable_reduction): Record all
672 operands vector types, compute that of invariants and
673 properly update their SLP nodes.
675 2023-03-15 Richard Biener <rguenther@suse.de>
677 Backported from master:
678 2023-02-17 Richard Biener <rguenther@suse.de>
680 PR tree-optimization/108821
681 * tree-ssa-loop-im.cc (sm_seq_valid_bb): We can also not
682 move volatile accesses.
684 2023-03-15 Richard Biener <rguenther@suse.de>
686 Backported from master:
687 2023-02-20 Richard Biener <rguenther@suse.de>
689 PR tree-optimization/108816
690 * tree-vect-loop-manip.cc (vect_loop_versioning): Adjust
691 versioning condition split prerequesite, assert required
694 2023-03-15 Richard Biener <rguenther@suse.de>
696 Backported from master:
697 2023-02-21 Richard Biener <rguenther@suse.de>
699 PR tree-optimization/108793
700 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
701 Use convert operands to niter_type when computing num.
703 2023-03-15 Richard Biener <rguenther@suse.de>
705 Backported from master:
706 2023-02-10 Richard Biener <rguenther@suse.de>
708 PR tree-optimization/108724
709 * tree-vect-stmts.cc (vectorizable_operation): Avoid
710 using word_mode vectors when vector lowering will
711 decompose them to elementwise operations.
713 2023-03-15 Richard Biener <rguenther@suse.de>
715 Backported from master:
716 2023-02-02 Richard Biener <rguenther@suse.de>
719 * genmatch.cc (expr::gen_transform): Also disallow resimplification
720 from pushing to lseq with force_leaf.
721 (dt_simplify::gen_1): Likewise.
723 2023-03-15 Richard Biener <rguenther@suse.de>
725 Backported from master:
726 2023-02-01 Richard Biener <rguenther@suse.de>
729 * dominance.cc (assign_dfs_numbers): Replace recursive DFS
730 with tree traversal algorithm.
732 2023-03-15 Richard Biener <rguenther@suse.de>
734 Backported from master:
735 2022-12-22 Richard Biener <rguenther@suse.de>
737 PR tree-optimization/107451
738 * tree-vect-stmts.cc (vectorizable_load): Avoid loading
739 SLP group members from group numbers in excess of the
740 vectorization factor.
742 2023-03-15 Richard Biener <rguenther@suse.de>
744 Backported from master:
745 2022-12-11 Richard Biener <rguenther@suse.de>
747 PR tree-optimization/106904
748 * tree.h (strip_zero_offset_components): Declare.
749 * tree.cc (strip_zero_offset_components): Define.
750 * tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref):
751 Strip zero offset components before building the address.
753 2023-03-14 Jan Hubicka <jh@suse.cz>
755 Backported from master:
756 2023-03-06 Jan Hubicka <hubicka@ucw.cz>
759 * config/i386/x86-tune.def (X86_TUNE_USE_SCATTER_2PARTS): Enable for
761 (X86_TUNE_USE_SCATTER_4PARTS): Likewise.
762 (X86_TUNE_USE_SCATTER): Likewise.
764 2023-03-14 Jan Hubicka <jh@suse.cz>
766 Backported from master:
767 2023-02-07 Jan Hubicka <jh@suse.cz>
769 * config/i386/x86-tune.def (X86_TUNE_AVX256_OPTIMAL): Turn off
772 2023-03-11 Andrew Pinski <apinski@marvell.com>
774 Backported from master:
775 2022-12-21 Andrew Pinski <apinski@marvell.com>
777 PR tree-optimization/105532
778 * match.pd (~(X >> Y) -> ~X >> Y): Check if it is an integral
779 type before calling tree_nonzero_bits.
780 (popcount(X) + popcount(Y)): Likewise.
781 (popcount(X&C1)): Likewise.
783 2023-03-10 Andrew Pinski <apinski@marvell.com>
785 Backported from master:
786 2023-02-10 Andrew Pinski <apinski@marvell.com>
787 Andrew Macleod <amacleod@redhat.com>
789 PR tree-optimization/108684
790 * tree-ssa-dce.cc (simple_dce_from_worklist):
791 Check all ssa names and not just non-vdef ones
792 before accepting the inline-asm.
793 Call unlink_stmt_vdef on the statement before
796 2023-03-08 Tobias Burnus <tobias@codesourcery.com>
798 Backported from master:
799 2023-03-01 Tobias Burnus <tobias@codesourcery.com>
802 * omp-low.cc (lower_omp_target): Remove optional handling
803 on the receiver side, i.e. inside target (data), for
806 2023-03-06 Xi Ruoyao <xry111@xry111.site>
808 Backported from master:
809 2023-03-06 Xi Ruoyao <xry111@xry111.site>
812 * config/loongarch/loongarch.h (FP_RETURN): Use
813 TARGET_*_FLOAT_ABI instead of TARGET_*_FLOAT.
814 (UNITS_PER_FP_ARG): Likewise.
816 2023-02-27 Martin Liska <mliska@suse.cz>
818 Backported from master:
819 2023-02-24 Martin Liska <mliska@suse.cz>
822 * asan.cc (asan_add_global): Use proper TU name for normal
823 global variables (and aux_base_name for the artificial one).
825 2023-02-24 Sebastian Huber <sebastian.huber@embedded-brains.de>
827 Backported from master:
828 2023-02-24 Sebastian Huber <sebastian.huber@embedded-brains.de>
830 * config/riscv/t-rtems: Keep only -mcmodel=medany 64-bit multilibs.
831 Add non-compact 32-bit multilibs.
833 2023-02-20 Alex Coplan <alex.coplan@arm.com>
835 Backported from master:
836 2023-02-06 Alex Coplan <alex.coplan@arm.com>
839 * config/aarch64/aarch64-simd.md (aarch64_bfmlal<bt>_lane<q>v4sf):
840 Use correct constraint for operand 3.
842 2023-02-18 Xi Ruoyao <xry111@xry111.site>
844 Backported from master:
845 2023-02-18 Xi Ruoyao <xry111@xry111.site>
847 * config.gcc (triplet_abi): Set its value based on $with_abi,
849 (la_canonical_triplet): Set it after $triplet_abi is set
851 * config/loongarch/t-linux (MULTILIB_OSDIRNAMES): Make the
852 multiarch tuple for lp64d "loongarch64-linux-gnu" (without
855 2023-02-15 Eric Botcazou <ebotcazou@adacore.com>
858 * config/i386/i386.cc (ix86_compute_frame_layout): Disable the
859 effects of -fstack-clash-protection for TARGET_STACK_PROBE.
860 (ix86_expand_prologue): Likewise.
862 2023-02-15 Marek Polacek <polacek@redhat.com>
864 Backported from master:
865 2023-02-15 Marek Polacek <polacek@redhat.com>
868 * gimple-ssa-warn-access.cc (is_auto_decl): Remove. Use auto_var_p
871 2023-02-14 Eric Botcazou <ebotcazou@adacore.com>
873 * gimplify.cc (gimplify_save_expr): Add missing guard.
875 2023-02-13 Kewen Lin <linkw@linux.ibm.com>
877 Backported from master:
878 2023-01-18 Kewen Lin <linkw@linux.ibm.com>
879 Andrew Pinski <apinski@marvell.com>
882 * config/rs6000/rs6000-overload.def (VEC_VSUBCUQ): Fix typo
883 vec_vsubcuqP with vec_vsubcuq.
885 2023-02-13 Kewen Lin <linkw@linux.ibm.com>
887 Backported from master:
888 2023-01-18 Kewen Lin <linkw@linux.ibm.com>
891 * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
892 support for invalid uses of MMA opaque type in function arguments.
894 2023-02-13 Kewen Lin <linkw@linux.ibm.com>
896 Backported from master:
897 2023-01-16 Kewen Lin <linkw@linux.ibm.com>
900 * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): Add the
901 support for invalid uses in inline asm, factor out the checking and
902 erroring to lambda function check_and_error_invalid_use.
904 2023-02-11 John David Anglin <danglin@gcc.gnu.org>
906 * config/pa/pa.cc (pa_option_override): Disable -fstack-protector.
908 2023-02-10 Jakub Jelinek <jakub@redhat.com>
910 Backported from master:
911 2023-01-31 Jakub Jelinek <jakub@redhat.com>
914 * config/i386/avx512erintrin.h (_mm512_exp2a23_round_pd,
915 _mm512_exp2a23_round_ps, _mm512_rcp28_round_pd, _mm512_rcp28_round_ps,
916 _mm512_rsqrt28_round_pd, _mm512_rsqrt28_round_ps): Use
917 _mm512_undefined_pd () or _mm512_undefined_ps () instead of using
918 uninitialized automatic variable __W.
920 2023-02-10 Jakub Jelinek <jakub@redhat.com>
922 Backported from master:
923 2023-01-16 Jakub Jelinek <jakub@redhat.com>
926 * config/i386/xmmintrin.h (_mm_undefined_ps): Temporarily
927 disable -Winit-self using pragma GCC diagnostic ignored.
928 * config/i386/emmintrin.h (_mm_undefined_pd, _mm_undefined_si128):
930 * config/i386/avxintrin.h (_mm256_undefined_pd, _mm256_undefined_ps,
931 _mm256_undefined_si256): Likewise.
932 * config/i386/avx512fintrin.h (_mm512_undefined_pd,
933 _mm512_undefined_ps, _mm512_undefined_epi32): Likewise.
934 * config/i386/avx512fp16intrin.h (_mm_undefined_ph,
935 _mm256_undefined_ph, _mm512_undefined_ph): Likewise.
937 2023-02-10 Jakub Jelinek <jakub@redhat.com>
939 Backported from master:
940 2023-01-19 Jakub Jelinek <jakub@redhat.com>
942 PR tree-optimization/108440
943 * tree-ssa-forwprop.cc: Include gimple-range.h.
944 (simplify_rotate): For the forms with T2 wider than T and shift counts of
945 Y and B - Y add & (B - 1) masking for the rotate count if Y could be equal
946 to B. For the forms with T2 wider than T and shift counts of
947 Y and (-Y) & (B - 1), don't punt if range could be [B, B2], but only if
948 range doesn't guarantee Y < B or Y = N * B. If range doesn't guarantee
949 Y < B, also add & (B - 1) masking for the rotate count. Use lazily created
950 pass specific ranger instead of get_global_range_query.
951 (pass_forwprop::execute): Disable that ranger at the end of pass if it has
954 2023-02-10 Jakub Jelinek <jakub@redhat.com>
956 Backported from master:
957 2023-01-17 Jakub Jelinek <jakub@redhat.com>
959 PR tree-optimization/106523
960 * tree-ssa-forwprop.cc (simplify_rotate): For the
961 patterns with (-Y) & (B - 1) in one operand's shift
962 count and Y in another, if T2 has wider precision than T,
963 punt if Y could have a value in [B, B2 - 1] range.
965 2023-02-10 Andrew Pinski <apinski@marvell.com>
967 Backported from master:
968 2023-02-09 Andrew Pinski <apinski@marvell.com>
970 PR tree-optimization/108688
971 * match.pd (bit_field_ref [bit_insert]): Avoid generating
972 BIT_FIELD_REFs of non-mode-precision integral operands.
974 2023-02-10 Jakub Jelinek <jakub@redhat.com>
976 Backported from master:
977 2023-02-08 Jakub Jelinek <jakub@redhat.com>
979 PR tree-optimization/108692
980 * tree-vect-patterns.cc (vect_widened_op_tree): If rhs_code is
981 widened_code which is different from code, don't call
982 vect_look_through_possible_promotion but instead just check op is
983 SSA_NAME with integral type for which vect_is_simple_use is true
984 and call set_op on this_unprom.
986 2023-02-10 Jakub Jelinek <jakub@redhat.com>
988 Backported from master:
989 2023-02-02 Jakub Jelinek <jakub@redhat.com>
992 * tree-nested.cc (convert_nonlocal_omp_clauses)
993 <case OMP_CLAUSE_LASTPRIVATE>: If info->new_local_var_chain and *seq
994 is not a GIMPLE_BIND, wrap the sequence into a new GIMPLE_BIND
995 before calling declare_vars.
996 (convert_nonlocal_omp_clauses) <case OMP_CLAUSE_LINEAR>: Merge
997 with the OMP_CLAUSE_LASTPRIVATE handling except for whether
998 seq is initialized to &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (clause)
999 or &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (clause).
1001 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1003 Backported from master:
1004 2023-02-01 Jakub Jelinek <jakub@redhat.com>
1007 * ree.cc (combine_reaching_defs): Don't return false for paradoxical
1008 subregs in DEBUG_INSNs.
1010 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1012 Backported from master:
1013 2023-01-31 Jakub Jelinek <jakub@redhat.com>
1016 * config/i386/i386-expand.cc
1017 (ix86_convert_const_wide_int_to_broadcast): Return nullptr if
1018 CONST_WIDE_INT_NUNITS (op) times HOST_BITS_PER_WIDE_INT isn't
1019 equal to bitsize of mode.
1021 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1023 Backported from master:
1024 2023-01-31 Jakub Jelinek <jakub@redhat.com>
1026 PR rtl-optimization/108596
1027 * bb-reorder.cc (fix_up_fall_thru_edges): Handle the case where cur_bb
1028 ends with asm goto and has a crossing fallthrough edge to the same bb
1029 that contains at least one of its labels by restoring EDGE_CROSSING
1030 flag even on possible edge from cur_bb to new_bb successor.
1032 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1034 Backported from master:
1035 2023-01-27 Jakub Jelinek <jakub@redhat.com>
1038 * doc/extend.texi: Fix up return type of __builtin_va_arg_pack_len
1041 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1043 Backported from master:
1044 2023-01-25 Jakub Jelinek <jakub@redhat.com>
1046 PR tree-optimization/108498
1047 * gimple-ssa-store-merging.cc (class store_operand_info):
1048 End coment with full stop rather than comma.
1049 (split_group): Likewise.
1050 (merged_store_group::apply_stores): Clear string_concatenation if
1051 start or end aren't on a byte boundary.
1053 2023-02-10 Eric Biggers <ebiggers@google.com>
1055 Backported from master:
1056 2023-01-24 Eric Biggers <ebiggers@google.com>
1059 * optc-save-gen.awk: Fix copy-and-paste error.
1061 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1063 Backported from master:
1064 2023-01-19 Jakub Jelinek <jakub@redhat.com>
1066 PR middle-end/108459
1067 * omp-expand.cc (expand_omp_for_init_counts): Use fold_build1 rather
1068 than fold_unary for NEGATE_EXPR.
1070 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1072 Backported from master:
1073 2023-01-04 Jakub Jelinek <jakub@redhat.com>
1075 PR middle-end/108237
1076 * generic-match-head.cc: Include tree-pass.h.
1077 (canonicalize_math_p, optimize_vectors_before_lowering_p): Define
1078 to false if cfun and cfun->curr_properties has PROP_gimple_opt_math
1079 resp. PROP_gimple_lvec property set.
1081 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1083 Backported from master:
1084 2023-01-03 Jakub Jelinek <jakub@redhat.com>
1086 PR middle-end/108264
1087 * expr.cc (store_expr): For stores into SUBREG_PROMOTED_* targets
1088 from source which doesn't have scalar integral mode first convert
1091 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1093 Backported from master:
1094 2022-12-23 Jakub Jelinek <jakub@redhat.com>
1096 PR tree-optimization/108068
1097 * tree.h (real_maybe_zerop): Declare.
1098 * tree.cc (real_maybe_zerop): Define.
1099 * tree-ssa-dom.cc (record_edge_info): Use it instead of
1100 real_zerop or TREE_CODE (op1) == SSA_NAME || real_zerop. Always set
1101 can_infer_simple_equiv to false for decimal floating point types.
1103 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1105 Backported from master:
1106 2022-12-22 Jakub Jelinek <jakub@redhat.com>
1108 PR tree-optimization/108166
1109 * tree-ssa-phiopt.cc (value_replacement): For the maybe_equal_p
1110 case turned into equal_p reset SSA_NAME_RANGE_INFO of phi result.
1112 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1114 Backported from master:
1115 2022-12-22 Jakub Jelinek <jakub@redhat.com>
1117 PR rtl-optimization/108193
1118 * cse.cc (compute_const_anchors): Change n type to
1119 unsigned HOST_WIDE_INT, adjust comparison against it to avoid
1120 warnings. Formatting fix.
1121 (insert_const_anchor): Use gen_int_mode instead of GEN_INT.
1123 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1125 Backported from master:
1126 2022-12-16 Jakub Jelinek <jakub@redhat.com>
1128 PR rtl-optimization/106751
1129 * loop-invariant.cc (move_invariant_reg): If preheader bb ends
1130 with a JUMP_INSN, split the preheader edge and emit invariants
1131 into the new preheader basic block.
1133 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1135 Backported from master:
1136 2022-12-15 Jakub Jelinek <jakub@redhat.com>
1138 PR tree-optimization/108095
1139 * tree-into-ssa.cc (maybe_register_def): Insert debug stmt
1140 on all non-EH edges from asm goto if they have a single
1141 predecessor rather than asserting there is at most one such edge.
1142 Test whether there are no PHI nodes next to the single predecessor
1145 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1147 Backported from master:
1148 2022-12-10 Jakub Jelinek <jakub@redhat.com>
1150 PR tree-optimization/107997
1151 * tree-ssa-loop-ivopts.cc: Include cfganal.h.
1152 (create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends
1153 with a stmt which ends bb, instead of adding iv update after it split
1154 the latch edge and insert iterator into the new latch bb.
1156 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1158 Backported from master:
1159 2022-12-08 Jakub Jelinek <jakub@redhat.com>
1162 * cfgbuild.cc (find_bb_boundaries): If there are NOTEs in between
1163 debug_insn (seen after flow_transfer_insn) and insn, move NOTEs
1164 before all the DEBUG_INSNs and split after NOTEs. If there are
1165 other insns like jump table data, clear debug_insn.
1167 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1169 Backported from master:
1170 2022-11-28 Jakub Jelinek <jakub@redhat.com>
1173 * config/i386/i386.opt (x_ix86_abi): Remove TargetSave.
1174 (ix86_abi): Replace it with TargetVariable.
1175 * config/i386/i386-options.cc (ix86_function_specific_save,
1176 ix86_function_specific_restore): Don't save and restore x_ix86_abi.
1178 2023-02-10 Jakub Jelinek <jakub@redhat.com>
1180 Backported from master:
1181 2022-11-24 Jakub Jelinek <jakub@redhat.com>
1183 PR middle-end/107317
1184 * asan.cc: Include diagnostic-core.h.
1185 (asan_emit_stack_protection): Return NULL early if seen_error ().
1187 2023-02-07 Andrew Pinski <apinski@marvell.com>
1189 Backported from master:
1190 2023-01-30 Andrew Pinski <apinski@marvell.com>
1192 PR tree-optimization/108582
1193 * tree-ssa-phiopt.cc (match_simplify_replacement): Add check
1194 for middlebb to have no phi nodes.
1196 2023-02-07 Siddhesh Poyarekar <siddhesh@gotplt.org>
1198 Backported from master:
1199 2023-01-26 Siddhesh Poyarekar <siddhesh@gotplt.org>
1201 PR tree-optimization/108522
1202 * tree-object-size.cc (compute_object_offset): Make EXPR
1203 argument non-const. Call component_ref_field_offset.
1205 2023-02-07 Siddhesh Poyarekar <siddhesh@gotplt.org>
1207 Backported from master:
1208 2023-01-25 Siddhesh Poyarekar <siddhesh@gotplt.org>
1209 Jakub Jelinek <jakub@redhat.com>
1211 PR tree-optimization/108522
1212 * tree-object-size.cc (compute_object_offset): Use
1213 TREE_OPERAND(ref, 2) for COMPONENT_REF when available.
1215 2023-02-01 Martin Jambor <mjambor@suse.cz>
1217 Backported from master:
1218 2023-01-18 Martin Jambor <mjambor@suse.cz>
1221 * cgraph.cc (cgraph_node::remove): Check whether nodes up the
1222 lcone_of chain also do not need the body.
1224 2023-01-30 Andrew MacLeod <amacleod@redhat.com>
1226 PR tree-optimization/108306
1227 * range-op.cc (operator_lshift::fold_range): Return [0, 0] not
1228 varying for shifts that are always out of void range.
1229 (operator_rshift::fold_range): Return [0, 0] not
1230 varying for shifts that are always out of void range.
1232 2023-01-30 liuhongt <hongtao.liu@intel.com>
1234 * config/i386/i386.opt: Change AVX512FP16 to AVX512-FP16.
1235 * doc/invoke.texi: Ditto.
1237 2023-01-29 Jan Hubicka <jh@suse.cz>
1239 Backported from master:
1240 2023-01-16 Jan Hubicka <jh@suse.cz>
1242 * config/i386/i386.cc (ix86_vectorize_builtin_scatter): Guard scatter
1243 by TARGET_USE_SCATTER.
1244 * config/i386/i386.h (TARGET_USE_SCATTER_2PARTS,
1245 TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New macros.
1246 * config/i386/x86-tune.def (TARGET_USE_SCATTER_2PARTS,
1247 TARGET_USE_SCATTER_4PARTS, TARGET_USE_SCATTER): New tunes.
1248 (X86_TUNE_AVOID_256FMA_CHAINS, X86_TUNE_AVOID_512FMA_CHAINS): Disable
1249 for znver4. (X86_TUNE_USE_GATHER): Disable for zen4.
1251 2023-01-29 Jan Hubicka <jh@suse.cz>
1253 Backported from master:
1254 2022-12-22 Jan Hubicka <hubicka@ucw.cz>
1256 * config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Add
1257 TARGET_AVX512_SPLIT_REGS
1258 * config/i386/i386-options.cc (ix86_option_override_internal):
1259 Honor x86_TONE_AVOID_256FMA_CHAINS.
1260 * config/i386/i386.cc (ix86_vec_cost): Honor TARGET_AVX512_SPLIT_REGS.
1261 (ix86_reassociation_width): Likewise.
1262 * config/i386/i386.h (TARGET_AVX512_SPLIT_REGS): New tune.
1263 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable
1265 (X86_TUNE_USE_GATHER_4PARTS): Likewise.
1266 (X86_TUNE_AVOID_256FMA_CHAINS): Set for znver4.
1267 (X86_TUNE_AVOID_512FMA_CHAINS): New utne; set for znver4.
1268 (X86_TUNE_AVX256_OPTIMAL): Add znver4.
1269 (X86_TUNE_AVX512_SPLIT_REGS): New tune.
1270 (X86_TUNE_AVX256_MOVE_BY_PIECES): Add znver1-3.
1271 (X86_TUNE_AVX256_STORE_BY_PIECES): Add znver1-3.
1272 (X86_TUNE_AVX512_MOVE_BY_PIECES): Add znver4.
1273 (X86_TUNE_AVX512_STORE_BY_PIECES): Add znver4.
1275 2023-01-29 Jan Hubicka <jh@suse.cz>
1277 Backported from master:
1278 2022-12-22 Jan Hubicka <hubicka@ucw.cz>
1280 * config/i386/x86-tune-costs.h (znver4_cost): Upate costs of FP and SSE
1281 moves, division multiplication, gathers, L2 cache size, and more
1282 complex FP instrutions.
1284 2023-01-28 Tejas Joshi <TejasSanjay.Joshi@amd.com>
1286 Backported from master:
1287 2023-01-05 Tejas Joshi <TejasSanjay.Joshi@amd.com>
1289 * common/config/i386/i386-common.cc (processor_alias_table):
1290 Use CPU_ZNVER4 for znver4.
1291 * config/i386/i386.md: Add znver4.md.
1292 * config/i386/znver4.md: New.
1294 2023-01-28 Tejas Joshi <TejasSanjay.Joshi@amd.com>
1296 Backported from master:
1297 2022-10-25 Tejas Joshi <TejasSanjay.Joshi@amd.com>
1299 * common/config/i386/i386-common.cc (processor_alias_table): Use
1300 CPU_ZNVER3 for znver4.
1301 * config/i386/znver.md: Remove znver4 reservations.
1303 2023-01-28 Tejas Joshi <TejasSanjay.Joshi@amd.com>
1305 Backported from master:
1306 2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com>
1308 * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
1309 * common/config/i386/i386-common.cc (processor_names): Add znver4.
1310 (processor_alias_table): Add znver4 and modularize old znvers.
1311 * common/config/i386/i386-cpuinfo.h (processor_subtypes):
1313 * config.gcc (x86_64-*-* |...): Likewise.
1314 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
1315 -march=native recognize znver4 cpus.
1316 * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
1317 * config/i386/i386-options.cc (m_ZNVER4): New definition.
1318 (m_ZNVER): Include m_ZNVER4.
1319 (processor_cost_table): Add znver4.
1320 * config/i386/i386.cc (ix86_reassociation_width): Likewise.
1321 * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
1322 (PTA_ZNVER1): New definition.
1323 (PTA_ZNVER2): Likewise.
1324 (PTA_ZNVER3): Likewise.
1325 (PTA_ZNVER4): Likewise.
1326 * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
1328 * config/i386/x86-tune-costs.h (znver4_cost): New definition.
1329 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
1330 (ix86_adjust_cost): Likewise.
1331 * config/i386/znver1.md: Rename to znver.md.
1332 * config/i386/znver.md: Add new reservations for znver4.
1333 * doc/extend.texi: Add details about znver4.
1334 * doc/invoke.texi: Likewise.
1336 2023-01-27 Andre Vieira <andre.simoesdiasvieira@arm.com>
1338 Backported from master:
1339 2022-12-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
1342 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>,
1343 @mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar
1346 2023-01-26 Marek Polacek <polacek@redhat.com>
1348 Backported from master:
1349 2023-01-26 Marek Polacek <polacek@redhat.com>
1351 PR middle-end/108543
1352 * opts.cc (parse_sanitizer_options): Don't always clear SANITIZE_ADDRESS
1353 if it was previously set.
1355 2023-01-26 Dimitar Dimitrov <dimitar@dinux.eu>
1357 Backported from master:
1358 2023-01-22 Dimitar Dimitrov <dimitar@dinux.eu>
1360 * config/pru/pru.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix value for QI
1362 * config/pru/pru.md (clz): Fix generated code for QI and HI
1365 2023-01-25 Christophe Lyon <christophe.lyon@arm.com>
1367 Backported from master:
1368 2023-01-12 Christophe Lyon <christophe.lyon@arm.com>
1369 Richard Sandiford <richard.sandiford@arm.com>
1371 * config/aarch64/aarch64.cc (aarch64_function_arg_alignment): Fix
1373 (aarch64_layout_arg): Factorize warning conditions.
1374 (aarch64_function_arg_boundary): Fix typo.
1375 * function.cc (currently_expanding_function_start): New variable.
1376 (expand_function_start): Handle
1377 currently_expanding_function_start.
1378 * function.h (currently_expanding_function_start): Declare.
1380 2023-01-24 Richard Biener <rguenther@suse.de>
1382 Backported from master:
1383 2022-12-19 Richard Biener <rguenther@suse.de>
1385 PR tree-optimization/108164
1386 * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
1387 Perform vect_step_op_add update in the appropriate type.
1389 2023-01-24 Richard Biener <rguenther@suse.de>
1391 Backported from master:
1392 2022-12-13 Richard Biener <rguenther@suse.de>
1394 PR tree-optimization/108076
1395 * tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks
1396 with non-local or forced labels that we later remove
1399 2023-01-24 Richard Biener <rguenther@suse.de>
1401 Backported from master:
1402 2022-12-21 Richard Biener <rguenther@suse.de>
1404 PR middle-end/107994
1405 * gimplify.cc (gimplify_expr): Catch errorneous comparison
1408 2023-01-24 Richard Biener <rguenther@suse.de>
1410 Backported from master:
1411 2022-11-11 Richard Biener <rguenther@suse.de>
1412 Nikita Voronov <nik_1357@mail.ru>
1414 PR tree-optimization/107554
1415 * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
1416 Use unsigned HOST_WIDE_INT type for the strlen.
1418 2023-01-24 Sergei Trofimovich <siarheit@google.com>
1420 Backported from master:
1421 2022-08-16 Sergei Trofimovich <siarheit@google.com>
1424 * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
1425 argument using xstrdup().
1427 2023-01-23 Andreas Krebbel <krebbel@linux.ibm.com>
1429 Backported from master:
1430 2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com>
1433 * config/s390/predicates.md (subreg_register_operand): New
1435 * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
1437 * config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
1438 (s390_expand_insv): Use s390_gen_lowpart_subreg instead of
1440 * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
1441 ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
1442 ("movstrictqi", "movstricthi", "movstrictsi"): Use the
1443 subreg_register_operand predicate instead of register_operand.
1445 2023-01-11 Eric Botcazou <ebotcazou@adacore.com>
1447 PR tree-optimization/108199
1448 * tree-sra.cc (sra_modify_expr): Deal with reverse storage order
1449 for bit-field references.
1451 2023-01-11 Martin Liska <mliska@suse.cz>
1453 Backported from master:
1454 2022-12-28 Martin Liska <mliska@suse.cz>
1456 PR tree-optimization/108137
1457 * tree-ssa-strlen.cc (get_range_strlen_phi): Reject anything
1458 different from INTEGER_CST.
1460 2023-01-10 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1462 Backported from master:
1463 2022-12-30 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1466 * config/arm/arm-protos.h (mve_struct_mem_operand): New protoype.
1467 * config/arm/arm.cc (mve_struct_mem_operand): New function.
1468 * config/arm/constraints.md (Ug): New constraint.
1469 * config/arm/mve.md (mve_vst4q<mode>): Change constraint.
1470 (mve_vst2q<mode>): Likewise.
1471 (mve_vld4q<mode>): Likewise.
1472 (mve_vld2q<mode>): Likewise.
1473 * config/arm/predicates.md (mve_struct_operand): New predicate.
1475 2023-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1477 Backported from master:
1478 2022-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1481 * config/aarch64/aarch64-builtins.cc
1482 (aarch64_expand_builtin_data_intrinsic): Handle NULL target.
1484 2023-01-05 Kewen Lin <linkw@linux.ibm.com>
1487 * config/rs6000/mma.md (define_expand movoo): Call function
1488 rs6000_opaque_type_invalid_use_p to check and emit error message for
1489 the invalid use of opaque type.
1490 (define_expand movxo): Likewise.
1491 * config/rs6000/rs6000-protos.h
1492 (rs6000_opaque_type_invalid_use_p): New function declaration.
1493 (currently_expanding_gimple_stmt): New extern declaration.
1494 * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): New
1497 2022-12-22 Richard Biener <rguenther@suse.de>
1499 Backported from master:
1500 2022-12-22 Richard Biener <rguenther@suse.de>
1503 * doc/install.texi (ISO C++11 Compiler): Document GCC version
1506 2022-12-22 Martin Liska <mliska@suse.cz>
1508 Backported from master:
1509 2022-08-10 Martin Liska <mliska@suse.cz>
1511 * opts-jobserver.h: Add one member.
1512 * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
1513 format of --jobserver-auth.
1515 2022-12-22 Martin Liska <mliska@suse.cz>
1517 Backported from master:
1518 2022-08-10 Martin Liska <mliska@suse.cz>
1520 * gcc.cc (driver::detect_jobserver): Remove and move to
1522 * lto-wrapper.cc (jobserver_active_p): Likewise.
1523 (run_gcc): Likewise.
1524 * opts-jobserver.h: New file.
1525 * opts-common.cc (jobserver_info::jobserver_info): New function.
1527 2022-12-20 Richard Biener <rguenther@suse.de>
1529 Backported from master:
1530 2022-12-20 Richard Biener <rguenther@suse.de>
1533 * doc/install.texi (GDC): Document GDC 9.4 or later is required
1534 to build the D language frontend.
1536 2022-12-20 Hongyu Wang <hongyu.wang@intel.com>
1538 * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add
1539 m_SAPPHIRERAPIDS, m_ALDERLAKE.
1541 2022-12-15 Sebastian Pop <spop@amazon.com>
1544 * config/aarch64/aarch64-protos.h (aarch64_output_patchable_area):
1546 * config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry):
1547 Emit an UNSPECV_PATCHABLE_AREA pseudo instruction.
1548 (aarch64_output_patchable_area): New.
1549 * config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New.
1550 (patchable_area): Define.
1552 2022-12-13 Alex Coplan <alex.coplan@arm.com>
1554 Backported from master:
1555 2022-12-01 Alex Coplan <alex.coplan@arm.com>
1557 * varasm.cc (assemble_variable): Fix type confusion bug when
1558 checking for ".vtable_map_vars" section.
1560 2022-12-12 Richard Biener <rguenther@suse.de>
1562 Backported from master:
1563 2022-11-29 Richard Biener <rguenther@suse.de>
1565 PR tree-optimization/107898
1566 * gimple-ssa-warn-alloca.cc (alloca_call_type): Check
1567 the type of the alloca argument is compatible with size_t
1568 before querying ranges.
1570 2022-12-12 Richard Biener <rguenther@suse.de>
1572 Backported from master:
1573 2022-11-25 Richard Biener <rguenther@suse.de>
1575 PR tree-optimization/107865
1576 * tree-cfg.cc (move_sese_region_to_fn): Free the number of
1577 iterations of moved loops.
1579 2022-12-12 Richard Biener <rguenther@suse.de>
1581 Backported from master:
1582 2022-12-05 Richard Biener <rguenther@suse.de>
1584 PR tree-optimization/107833
1585 PR tree-optimization/107839
1586 * cfghooks.cc: Include tree.h.
1587 * tree-ssa-loop-im.cc (movement_possibility): Wrap and
1588 make stmts using any ssa_name_maybe_undef_p operand
1589 to preserve execution.
1590 (loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs
1591 to init maybe-undefined status.
1592 * tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p,
1593 ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p,
1594 mark_ssa_maybe_undefs): Move ...
1595 * tree-ssa.cc: ... here.
1596 * tree-ssa.h (ssa_name_any_use_dominates_bb_p,
1597 mark_ssa_maybe_undefs): Declare.
1598 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define.
1600 2022-12-12 Richard Biener <rguenther@suse.de>
1602 Backported from master:
1603 2022-11-16 Richard Biener <rguenther@suse.de>
1605 PR tree-optimization/107686
1606 * tree-ssa-forwprop.cc (optimize_vector_load): Restrict
1607 VEC_UNPACK support to integral typed bitfield refs.
1609 2022-12-12 Richard Biener <rguenther@suse.de>
1611 Backported from master:
1612 2022-11-22 Richard Biener <rguenther@suse.de>
1614 PR tree-optimization/107766
1615 * tree-vect-slp-patterns.cc (complex_mul_pattern::matches):
1616 Use *node to check for FP vector types.
1618 2022-12-12 Richard Biener <rguenther@suse.de>
1620 Backported from master:
1621 2022-11-18 Richard Biener <rguenther@suse.de>
1623 PR tree-optimization/107647
1624 * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only
1625 allow FMA generation with -ffp-contract=fast for FP types.
1626 (complex_mul_pattern::matches): Likewise.
1628 2022-12-12 Richard Biener <rguenther@suse.de>
1630 Backported from master:
1631 2022-10-28 Richard Biener <rguenther@suse.de>
1633 PR tree-optimization/107407
1634 * tree-ssa-dse.cc (dse_classify_store): Perform backedge
1635 varying index check when collecting PHI uses rather than
1636 after optimizing processing of the candidate defs.
1638 2022-12-12 Richard Biener <rguenther@suse.de>
1640 Backported from master:
1641 2022-12-05 Richard Biener <rguenther@suse.de>
1643 PR tree-optimization/106868
1644 * gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref):
1645 Inline into single user ...
1646 (pass_waccess::check_dangling_uses): ... here and adjust the
1647 call and the PHI case to require that ref.aref is the address
1650 2022-12-09 Martin Liska <mliska@suse.cz>
1652 Backported from master:
1653 2022-12-09 Martin Liska <mliska@suse.cz>
1655 * config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path
1657 * doc/extend.texi: Fix "x86-64" use.
1659 2022-12-09 Martin Liska <mliska@suse.cz>
1661 Backported from master:
1662 2022-05-11 Martin Liska <mliska@suse.cz>
1664 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
1665 compute index in cpu_features2.
1666 (set_cpu_feature): Likewise.
1667 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
1668 loop for cpu_features2 and use NOP_EXPRs.
1670 2022-12-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1672 Backported from master:
1673 2022-11-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1675 * config/aarch64/aarch64.md (aarch64_cpymemdi): Specify clobber of CC reg.
1676 (*aarch64_cpymemdi): Likewise.
1677 (aarch64_movmemdi): Likewise.
1678 (aarch64_setmemdi): Likewise.
1679 (*aarch64_setmemdi): Likewise.
1681 2022-12-05 Andrew Pinski <pinskia@gmail.com>
1683 Backported from master:
1684 2022-12-05 Andrew Pinski <pinskia@gmail.com>
1686 PR tree-optimization/107956
1687 * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern):
1688 Check for NULL LHS on masked loads.
1690 2022-12-01 liuhongt <hongtao.liu@intel.com>
1693 * config/i386/i386-expand.cc (ix86_expand_vec_set_builtin):
1694 Convert op1 to target mode whenever mode mismatch.
1696 2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
1698 Backported from master:
1699 2022-09-08 Iain Buclaw <ibuclaw@gdcproject.org>
1701 * config/darwin-d.cc: Include tm.h.
1702 * config/dragonfly-d.cc: Likewise.
1703 * config/freebsd-d.cc: Remove memmodel.h.
1704 * config/glibc-d.cc: Likewise.
1705 * config/netbsd-d.cc: Include tm.h.
1706 * config/openbsd-d.cc: Likewise.
1707 * config/sol2-d.cc: Likewise.
1709 2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
1711 Backported from master:
1712 2022-09-02 Iain Buclaw <ibuclaw@gdcproject.org>
1715 * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
1716 * config/aarch64/aarch64-d.cc: Include tm_d.h.
1717 * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
1718 config/aarch64/aarch64-d.h.
1719 (aarch64_d_register_target_info): Likewise.
1720 * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
1721 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1722 * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
1724 * config/arm/arm-protos.h (arm_d_target_versions): Move to
1726 (arm_d_register_target_info): Likewise.
1727 * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
1728 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1729 * config/default-d.cc: Remove memmodel.h include.
1730 * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
1731 * config/glibc-d.cc: Likewise.
1732 * config/i386/i386-d.cc: Include tm_d.h.
1733 * config/i386/i386-protos.h (ix86_d_target_versions): Move to
1734 config/i386/i386-d.h.
1735 (ix86_d_register_target_info): Likewise.
1736 (ix86_d_has_stdcall_convention): Likewise.
1737 * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
1738 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1739 (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
1740 * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
1741 * config/mips/mips-d.cc: Include tm_d.h.
1742 * config/mips/mips-protos.h (mips_d_target_versions): Move to
1743 config/mips/mips-d.h.
1744 (mips_d_register_target_info): Likewise.
1745 * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
1746 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1747 * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
1748 * config/openbsd-d.cc: Likewise.
1749 * config/pa/pa-d.cc: Include tm_d.h.
1750 * config/pa/pa-protos.h (pa_d_target_versions): Move to
1752 (pa_d_register_target_info): Likewise.
1753 * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
1754 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1755 * config/riscv/riscv-d.cc: Include tm_d.h.
1756 * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
1757 config/riscv/riscv-d.h.
1758 (riscv_d_register_target_info): Likewise.
1759 * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
1760 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1761 * config/rs6000/rs6000-d.cc: Include tm_d.h.
1762 * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
1763 config/rs6000/rs6000-d.h.
1764 (rs6000_d_register_target_info): Likewise.
1765 * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
1766 (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
1767 * config/s390/s390-d.cc: Include tm_d.h.
1768 * config/s390/s390-protos.h (s390_d_target_versions): Move to
1769 config/s390/s390-d.h.
1770 (s390_d_register_target_info): Likewise.
1771 * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
1772 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1773 * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
1774 * config/sparc/sparc-d.cc: Include tm_d.h.
1775 * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
1776 config/sparc/sparc-d.h.
1777 (sparc_d_register_target_info): Likewise.
1778 * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
1779 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
1780 * configure: Regenerate.
1781 * configure.ac (tm_d_file): Remove defaults.h.
1782 (tm_d_include_list): Remove options.h and insn-constants.h.
1783 * config/aarch64/aarch64-d.h: New file.
1784 * config/arm/arm-d.h: New file.
1785 * config/i386/i386-d.h: New file.
1786 * config/mips/mips-d.h: New file.
1787 * config/pa/pa-d.h: New file.
1788 * config/riscv/riscv-d.h: New file.
1789 * config/rs6000/rs6000-d.h: New file.
1790 * config/s390/s390-d.h: New file.
1791 * config/sparc/sparc-d.h: New file.
1793 2022-11-30 John David Anglin <danglin@gcc.gnu.org>
1795 * config/pa/pa.md (addvdi3): Force operand 2 to a register.
1796 Remove "addi,tsv,*" instruction from unamed pattern.
1797 (subvdi3): Force operand 1 to a register.
1798 Remove "subi,tsv" instruction from from unamed pattern.
1800 2022-11-29 Max Filippov <jcmvbkbc@gmail.com>
1802 Backported from master:
1803 2022-11-08 Max Filippov <jcmvbkbc@gmail.com>
1805 PR rtl-optimization/107482
1806 * ira-color.cc (assign_hard_reg): Only call
1807 update_costs_from_copies when retry_p is false.
1809 2022-11-25 Eric Botcazou <ebotcazou@adacore.com>
1811 * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko.
1813 2022-11-25 Eric Botcazou <ebotcazou@adacore.com>
1815 * tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst):
1816 Bail out if source and destination do not have the same storage order.
1818 2022-11-21 Jakub Jelinek <jakub@redhat.com>
1820 Backported from master:
1821 2022-11-21 Jakub Jelinek <jakub@redhat.com>
1824 * config/i386/avx512fp16intrin.h (_mm512_castph512_ph128,
1825 _mm512_castph512_ph256, _mm512_castph128_ph512,
1826 _mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local
1827 variables and union members.
1828 * config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128,
1829 _mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise.
1830 * config/i386/smmintrin.h (_mm_extract_ps): Likewise.
1831 * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Likewise.
1833 2022-11-20 Jakub Jelinek <jakub@redhat.com>
1835 Backported from master:
1836 2022-11-20 Jakub Jelinek <jakub@redhat.com>
1839 * reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument.
1840 If >= 0 and a DEBUG_INSN would be otherwise returned, set
1841 DEBUG_SEEN to 1 and ignore it.
1842 (swap_rtx_condition): Add DEBUG_SEEN argument. In >= 0
1843 mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs
1844 were seen and revert all changes on success in that case.
1845 Don't try to recog_memoized DEBUG_INSNs.
1846 (compare_for_stack_reg): Adjust swap_rtx_condition caller.
1847 If it returns true and debug_seen is 1, call swap_rtx_condition
1848 again with debug_seen -1.
1850 2022-11-19 Thomas Schwinge <thomas@codesourcery.com>
1852 Backported from master:
1853 2022-11-19 Thomas Schwinge <thomas@codesourcery.com>
1855 * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for
1858 2022-11-19 Jinyang He <hejinyang@loongson.cn>
1860 Backported from master:
1861 2022-11-18 Jinyang He <hejinyang@loongson.cn>
1864 * config/loongarch/sync.md
1865 (atomic_cas_value_exchange_7_<mode>): New define_insn.
1866 (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of
1867 atomic_cas_value_cmp_and_7_si.
1869 2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu>
1871 Backported from master:
1872 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
1874 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a.
1875 * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs.
1876 * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
1877 Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two
1878 registers and then +1/-1).
1879 * config/aarch64/aarch64-tune.md: Regenerate.
1880 * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement
1881 idiom-matcher for the new fusion pair.
1882 * doc/invoke.texi: Add ampere1a.
1884 2022-11-16 Martin Jambor <mjambor@suse.cz>
1886 Backported from master:
1887 2022-10-19 Martin Jambor <mjambor@suse.cz>
1889 PR tree-optimization/107206
1890 * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
1891 (analyze_access_subtree): Do not create replacements for accesses with
1892 this flag when not toally scalarizing.
1893 (propagate_subaccesses_from_lhs): Set the new flag.
1895 2022-11-09 Eric Botcazou <ebotcazou@adacore.com>
1897 * alias.cc (init_alias_analysis): Do not record sets to the hard
1898 frame pointer if the frame pointer has not been eliminated.
1900 2022-11-08 H.J. Lu <hjl.tools@gmail.com>
1902 Backported from master:
1903 2022-10-25 H.J. Lu <hjl.tools@gmail.com>
1906 * expr.cc (get_inner_reference): Always use TYPE_MODE for vector
1907 field with vector raw mode.
1909 2022-11-07 Cui,Lili <lili.cui@intel.com>
1911 * config/i386/driver-i386.cc (host_detect_local_cpu):
1912 Move sapphirerapids out of AVX512_VP2INTERSECT.
1913 * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
1914 * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
1916 2022-11-05 Jonathan Wakely <jwakely@redhat.com>
1918 Backported from master:
1919 2022-11-05 Jonathan Wakely <jwakely@redhat.com>
1922 * doc/cppopts.texi: Document -fwide-exec-charset defaults
1925 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
1927 * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
1928 Do not take into account operand 2.
1929 (operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
1931 2022-11-03 Uros Bizjak <ubizjak@gmail.com>
1933 Backported from master:
1934 2022-11-03 Uroš Bizjak <ubizjak@gmail.com>
1937 * config/i386/i386.md (eliminate reg-reg move by inverting the
1938 condition of a cmove #2 peephole2): Check if eliminated move
1939 initialized a register, used in the moved instruction.
1941 2022-11-03 Jakub Jelinek <jakub@redhat.com>
1943 Backported from master:
1944 2022-10-02 Jakub Jelinek <jakub@redhat.com>
1946 PR tree-optimization/107121
1947 * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
1948 DEFFERED_INIT -> DEFERRED_INIT.
1950 2022-11-03 Jakub Jelinek <jakub@redhat.com>
1952 Backported from master:
1953 2022-09-24 Jakub Jelinek <jakub@redhat.com>
1956 * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
1958 * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
1959 is not stand-alone directive. For GIMPLE_OMP_TASKGROUP, also don't
1961 (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
1962 cur_region back after new_omp_region.
1964 2022-10-28 Julian Brown <julian@codesourcery.com>
1966 Backported from master:
1967 2022-10-28 Julian Brown <julian@codesourcery.com>
1968 Thomas Schwinge <thomas@codesourcery.com>
1971 * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
1972 privatization candidates.
1974 2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
1976 Backported from master:
1977 2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
1978 Yvan ROUX <yvan.roux@foss.st.com>
1980 * ira.cc: Resize array after reg number increased.
1982 2022-10-26 Philipp Tomsich <philipp.tomsich@vrull.eu>
1984 Backported from master:
1985 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
1987 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
1988 Ampere-1 core entry.
1990 2022-10-26 Philipp Tomsich <philipp.tomsich@vrull.eu>
1992 Backported from master:
1993 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
1995 * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
1997 2022-10-25 Eric Botcazou <ebotcazou@adacore.com>
1999 * profile.cc (branch_prob): Be prepared for ignored functions with
2000 DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
2002 2022-10-25 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
2004 Backported from master:
2005 2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
2008 * config/s390/s390.cc (s390_call_saved_register_used): For a
2009 parameter with BLKmode fix determining number of consecutive
2012 2022-10-25 Martin Liska <mliska@suse.cz>
2014 Backported from master:
2015 2022-10-25 Martin Liska <mliska@suse.cz>
2018 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
2019 Fix pedantic warning.
2021 2022-10-25 Martin Liska <mliska@suse.cz>
2023 Backported from master:
2024 2022-10-24 Martin Liska <mliska@suse.cz>
2027 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
2028 Reorder enum values as BUILTIN_VENDOR_MAX should not point
2029 in the middle of the valid enum values.
2031 2022-10-21 Julian Brown <julian@codesourcery.com>
2033 Backported from master:
2034 2022-10-20 Julian Brown <julian@codesourcery.com>
2037 * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
2038 argument forces FLAT addressing mode, not just
2039 pointer-to-non-aggregate.
2041 2022-10-21 Richard Biener <rguenther@suse.de>
2043 Backported from master:
2044 2022-10-21 Richard Biener <rguenther@suse.de>
2046 PR tree-optimization/107323
2047 * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
2049 (loop_distribution::break_alias_scc_partitions): Revert
2050 postorder save/restore from the PR94125 fix. Instead
2051 make sure to not ignore edges from SCCs we are going to
2054 2022-10-20 Thomas Schwinge <thomas@codesourcery.com>
2056 Backported from master:
2057 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
2059 PR middle-end/100400
2060 * omp-oacc-kernels-decompose.cc
2061 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
2062 call 'internal_error'.
2064 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
2066 Backported from master:
2067 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
2069 * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
2070 merging alternative.
2071 (*aarch64_brk<brk_op>_ptest): Likewise.
2073 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
2075 Backported from master:
2076 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
2078 * config/aarch64/iterators.md (SVE_BRKP): New iterator.
2079 * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
2080 (*aarch64_brkn_ptest): Likewise.
2081 (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
2082 (*aarch64_brk<brk_op>_ptest): Likewise.
2084 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
2086 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_3): Add
2088 (AARCH64_ISA_RCPC): New macro.
2089 * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
2090 (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
2091 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
2092 __ARM_FEATURE_RCPC when appropriate.
2094 2022-10-19 Kewen Lin <linkw@linux.ibm.com>
2096 Backported from master:
2097 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
2100 * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
2101 condition for adding REG_CFA_DEF_CFA reg note with
2102 frame_pointer_needed_indeed.
2104 2022-10-19 Kewen Lin <linkw@linux.ibm.com>
2106 Backported from master:
2107 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
2110 * config/rs6000/vector.md (vec_shr_<mode>): Replace condition
2111 TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
2113 2022-10-17 Pat Haugen <pthaugen@linux.ibm.com>
2115 Backported from master:
2116 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
2119 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
2120 register count when not splitting IEEE 128-bit Complex.
2122 2022-10-17 Richard Biener <rguenther@suse.de>
2124 Backported from master:
2125 2022-10-14 Richard Biener <rguenther@suse.de>
2127 PR tree-optimization/107254
2128 * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
2129 For permutes also analyze live lanes.
2130 (vect_schedule_slp_node): For permutes also code generate
2133 2022-10-17 Richard Biener <rguenther@suse.de>
2135 Backported from master:
2136 2022-10-11 Richard Biener <rguenther@suse.de>
2138 PR tree-optimization/107212
2139 * tree-vect-loop.cc (vectorizable_reduction): Make sure to
2140 set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
2142 (vectorizable_live_operation): Do not pun to the SLP
2143 node representative for reduction epilogue generation.
2145 2022-10-17 Richard Biener <rguenther@suse.de>
2147 Backported from master:
2148 2022-10-13 Richard Biener <rguenther@suse.de>
2150 PR tree-optimization/107160
2151 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
2152 Do not register accumulator if we failed to reduce it
2155 2022-10-17 Richard Biener <rguenther@suse.de>
2157 Backported from master:
2158 2022-10-06 Richard Biener <rguenther@suse.de>
2160 PR tree-optimization/107107
2161 * tree-ssa-sccvn.cc (visit_reference_op_store): Do not
2162 affect value-numbering when doing the tail merging
2165 2022-10-17 Richard Biener <rguenther@suse.de>
2167 Backported from master:
2168 2022-09-23 Richard Biener <rguenther@suse.de>
2170 PR tree-optimization/106922
2171 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
2172 an arbitrary number of same valued skipped stores.
2174 2022-10-17 Richard Biener <rguenther@suse.de>
2176 Backported from master:
2177 2022-09-22 Richard Biener <rguenther@suse.de>
2179 PR tree-optimization/106922
2180 * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
2181 (vn_walk_cb_data::finish): Perform delayed verification of
2182 a skipped may-alias.
2183 (vn_reference_lookup_pieces): Likewise.
2184 (vn_reference_lookup): Likewise.
2185 (vn_reference_lookup_3): When skipping stores of the same
2186 value also handle constant stores that are more than a
2187 single VDEF away by delaying the verification.
2189 2022-10-14 Eric Botcazou <ebotcazou@adacore.com>
2192 * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
2193 blockage for leaf functions.
2194 (sparc_flat_expand_prologue): Emit frame instead of full blockage.
2195 (sparc_expand_epilogue): Emit a frame blockage for leaf functions.
2196 (sparc_flat_expand_epilogue): Emit frame instead of full blockage.
2198 2022-10-13 Tobias Burnus <tobias@codesourcery.com>
2200 Backported from master:
2201 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
2203 * doc/install.texi (Specific): Add missing items to bullet list.
2204 (amdgcn): Update LLVM requirements, use version not date for newlib.
2205 (nvptx): Use version not git hash for newlib.
2207 2022-10-11 Christophe Lyon <christophe.lyon@arm.com>
2209 * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
2210 MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
2211 (mve_vqshluq_m_n_s<mode>): Likewise.
2212 (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
2213 instead of mve_imm_8/Rb.
2214 (mve_vqrshrunbq_n_s<mode>): Likewise.
2215 (mve_vqrshrntq_n_<supf><mode>): Likewise.
2216 (mve_vqrshruntq_n_s<mode>): Likewise.
2217 (mve_vrshrnbq_n_<supf><mode>): Likewise.
2218 (mve_vrshrntq_n_<supf><mode>): Likewise.
2219 (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
2220 (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
2221 (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
2222 (mve_vrshrntq_m_n_<supf><mode>): Likewise.
2223 (mve_vqrshrunbq_m_n_s<mode>): Likewise.
2224 (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
2225 of mve_imm_selective_upto_8/Rg.
2226 (mve_vsriq_m_n_<supf><mode>): Likewise.
2227 (cherry-picked from c3fb6658c7670e446f2fd00984404d971e416b3c)
2229 2022-10-11 Richard Biener <rguenther@suse.de>
2231 Backported from master:
2232 2022-09-14 Richard Biener <rguenther@suse.de>
2234 PR tree-optimization/106934
2235 * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
2237 (maybe_rewrite_mem_ref_base): Likewise.
2239 2022-10-11 Richard Biener <rguenther@suse.de>
2241 Backported from master:
2242 2022-09-15 Richard Biener <rguenther@suse.de>
2244 PR tree-optimization/106922
2245 * tree-ssa-pre.cc (translate_vuse_through_block): Only
2246 keep the VUSE if its def dominates PHIBLOCK.
2247 (prune_clobbered_mems): Rewrite logic so we check whether
2248 a value dies in a block when the VUSE def doesn't dominate it.
2250 2022-10-11 Richard Biener <rguenther@suse.de>
2252 Backported from master:
2253 2022-09-09 Richard Biener <rguenther@suse.de>
2255 PR tree-optimization/106892
2256 * tree-predcom.cc (ref_at_iteration): Do not associate the
2257 constant part of the offset into the MEM_REF offset
2258 operand, across a non-zero offset.
2260 2022-10-11 Richard Biener <rguenther@suse.de>
2262 Backported from master:
2263 2022-08-22 Richard Biener <rguenther@suse.de>
2265 PR tree-optimization/105937
2266 * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
2268 (execute_late_warn_uninitialized): Mark backedges.
2270 2022-10-03 Sergei Trofimovich <siarheit@google.com>
2272 Backported from master:
2273 2022-10-03 Sergei Trofimovich <siarheit@google.com>
2276 * config/i386/t-i386: Add build-time dependencies against
2277 i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
2280 2022-09-29 H.J. Lu <hjl.tools@gmail.com>
2282 Backported from master:
2283 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
2286 * config/i386/predicates.md (encodekey128_operation): Check
2287 XMM4-XMM6 as clobbered.
2288 (encodekey256_operation): Likewise.
2289 * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
2290 (encodekey256u32): Likewise.
2292 2022-09-29 Tobias Burnus <tobias@codesourcery.com>
2294 Backported from master:
2295 2022-09-26 Tobias Burnus <tobias@codesourcery.com>
2297 PR middle-end/106982
2298 * omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
2300 2022-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2302 Backported from master:
2303 2022-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2305 * config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
2306 (demeter): Update tunings to neoversev2.
2307 * config/aarch64/aarch64-tune.md: Regenerate.
2308 * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
2309 neoversev2_addrcost_table.
2310 (demeter_regmove_cost): Rename to neoversev2_addrcost_table.
2311 (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
2312 (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
2313 (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
2314 (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
2315 (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
2316 (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
2317 Update references to above.
2318 (demeter_vector_cost): Rename to neoversev2_vector_cost.
2319 (demeter_tunings): Rename to neoversev2_tunings.
2320 (aarch64_vec_op_count::rename_cycles_per_iter): Use
2321 neoversev2_sve_issue_info instead of demeter_sve_issue_info.
2322 * doc/invoke.texi (AArch64 Options): Document neoverse-v2.
2324 2022-09-21 Richard Sandiford <richard.sandiford@arm.com>
2326 Backported from master:
2327 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
2330 * config/aarch64/aarch64-sve-builtins.cc (scalar_types)
2331 (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
2332 markup to (new) extern declarations instead of to the main
2335 2022-09-21 Kewen Lin <linkw@linux.ibm.com>
2337 Backported from master:
2338 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
2341 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
2342 the equality check for argument number, and move this hunk ahead.
2344 2022-09-21 Kewen.Lin <linkw@gcc.gnu.org>
2346 Backported from master:
2347 2022-09-13 Kewen.Lin <linkw@gcc.gnu.org>
2350 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
2351 the handling for unresolved overloaded builtin function.
2352 (rs6000_expand_builtin): Likewise.
2354 2022-09-09 Richard Biener <rguenther@suse.de>
2356 Backported from master:
2357 2022-09-07 Richard Biener <rguenther@suse.de>
2359 PR tree-optimization/106860
2360 * tree-ssa-loop-split.cc (split_loop): Find the exit to
2361 latch edge from the loop exit edge instead of from the
2362 latch. Verify we're going to find it.
2364 2022-09-09 Richard Biener <rguenther@suse.de>
2366 Backported from master:
2367 2022-09-06 Richard Biener <rguenther@suse.de>
2369 PR tree-optimization/106841
2370 * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
2371 scatter/gather offset.
2373 2022-09-09 Richard Biener <rguenther@suse.de>
2375 Backported from master:
2376 2022-09-02 Richard Biener <rguenther@suse.de>
2378 PR tree-optimization/106809
2379 * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
2380 more than one successor before doing extra work.
2382 2022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
2384 * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
2385 -mvrsave is present.
2386 * config/rs6000/t-rtems: Add -mvrsave multilib variants for
2389 2022-09-03 Peter Bergner <bergner@linux.ibm.com>
2391 Backported from master:
2392 2022-09-01 Peter Bergner <bergner@linux.ibm.com>
2395 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
2396 Enforce the use of a valid MMA pointer type.
2398 2022-09-02 Richard Earnshaw <rearnsha@arm.com>
2400 Backported from master:
2401 2022-08-03 Richard Earnshaw <rearnsha@arm.com>
2403 PR rtl-optimization/106187
2404 * alias.h (mems_same_for_tbaa_p): Declare.
2405 * alias.cc (mems_same_for_tbaa_p): New function.
2406 * dse.cc (record_store): Use it instead of open-coding
2408 * cselib.h (cselib_redundant_set_p): Declare.
2409 * cselib.cc: Include alias.h
2410 (cselib_redundant_set_p): New function.
2411 * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
2412 of rtx_equal_for_cselib_p.
2413 * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
2414 (reload_cse_noop_set_p): Delete.
2416 2022-09-02 Richard Earnshaw <rearnsha@arm.com>
2418 Backported from master:
2419 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
2422 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
2424 (*movmisalign<mode>_mve_load): Likewise.
2425 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
2427 (@movmisalign<mode>): ... thus. Use generic predicates and then
2428 rework operands if they are not valid. For MVE rework to a
2429 narrower element size if the alignment is not high enough.
2431 2022-09-02 Tamar Christina <tamar.christina@arm.com>
2433 Backported from master:
2434 2022-09-01 Tamar Christina <tamar.christina@arm.com>
2437 * config/aarch64/aarch64.cc
2438 (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
2439 HOST_WIDE_INT_PRINT_UNSIGNED.
2441 2022-09-01 Jakub Jelinek <jakub@redhat.com>
2443 Backported from master:
2444 2022-09-01 Jakub Jelinek <jakub@redhat.com>
2447 * tree-vect-slp.cc (vect_print_slp_tree): Use
2448 HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
2449 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Use
2450 HOST_WIDE_INT_PRINT_UNSIGNED instead of %d.
2451 * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
2452 instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
2453 instead of SLP_TREE_DEF_TYPE (node).
2455 2022-08-30 Tamar Christina <tamar.christina@arm.com>
2457 Backported from master:
2458 2022-08-12 Tamar Christina <tamar.christina@arm.com>
2461 * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
2462 *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
2464 2022-08-29 Peter Bergner <bergner@linux.ibm.com>
2466 Backported from master:
2467 2022-08-28 Peter Bergner <bergner@linux.ibm.com>
2470 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
2471 of MMA pointer conversions.
2473 2022-08-29 H.J. Lu <hjl.tools@gmail.com>
2475 Backported from master:
2476 2022-08-23 H.J. Lu <hjl.tools@gmail.com>
2479 * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
2481 (_tile_stream_loadd_internal): Likewise.
2482 (_tile_stored_internal): Likewise.
2484 2022-08-29 Jakub Jelinek <jakub@redhat.com>
2486 Backported from master:
2487 2022-08-24 Jakub Jelinek <jakub@redhat.com>
2490 * config/i386/sse.md (i128vldq): Add V16HF entry.
2491 (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
2492 mask_opernad3 -> mask_operand3.
2494 2022-08-29 Jakub Jelinek <jakub@redhat.com>
2496 Backported from master:
2497 2022-08-15 Jakub Jelinek <jakub@redhat.com>
2499 PR rtl-optimization/106590
2500 * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
2501 (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
2502 mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
2503 further conditional moves.
2505 2022-08-26 liuhongt <hongtao.liu@intel.com>
2508 * config/i386/i386-builtin.def (BDESC): Add
2509 CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
2510 corresponding builtins.
2511 * config/i386/i386.cc (ix86_gimple_fold_builtin):
2512 Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
2513 IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
2515 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn>
2517 Backported from master:
2518 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn>
2521 * config/loongarch/loongarch.cc (loongarch_build_integer):
2523 * config/loongarch/loongarch.h (IMM_REACH): Likewise.
2524 (HWIT_1U): New Defined.
2525 (LU12I_OPERAND): Use HOST_WIDE_INT.
2526 (LU32I_OPERAND): Likewise.
2527 (LU52I_OPERAND): Likewise.
2528 (HWIT_UC_0xFFF): Likwise.
2530 2022-08-24 Kewen Lin <linkw@linux.ibm.com>
2532 Backported from master:
2533 2022-08-16 Kewen Lin <linkw@linux.ibm.com>
2535 PR tree-optimization/106322
2536 * tree-vect-stmts.cc (vectorizable_call): Don't allow
2537 vect_emulated_vector_p type for both vectype_in and vectype_out.
2539 2022-08-24 Kewen.Lin <linkw@gcc.gnu.org>
2541 Backported from master:
2542 2022-08-16 Kewen.Lin <linkw@gcc.gnu.org>
2545 * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
2546 check to preparation statements and add handlings for !TARGET_MMA.
2547 (define_expand movxo): Likewise.
2549 2022-08-23 Tobias Burnus <tobias@codesourcery.com>
2551 Backported from master:
2552 2022-08-19 Tobias Burnus <tobias@codesourcery.com>
2554 * config/gcn/mkoffload.cc (main): Add dbgobj to files_to_cleanup.
2556 2022-08-23 Tobias Burnus <tobias@codesourcery.com>
2558 Backported from master:
2559 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
2561 PR middle-end/106548
2562 * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
2563 for 'simd' linear-step values that are variable.
2565 2022-08-19 Release Manager
2567 * GCC 12.2.0 released.
2569 2022-08-17 Ilya Leoshkevich <iii@linux.ibm.com>
2571 Backported from master:
2572 2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com>
2574 * config/s390/vector.md (V_HW_FT): New iterator.
2575 * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
2578 2022-08-12 Peter Bergner <bergner@linux.ibm.com>
2580 Backported from master:
2581 2022-07-26 Peter Bergner <bergner@linux.ibm.com>
2584 * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
2586 2022-08-11 Andre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com>
2588 Backported from master:
2589 2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com>
2591 * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
2592 (@aarch64_rbit<mode>): ... to this and change it in...
2593 (ffs<mode>2,ctz<mode>2): ... here.
2594 (@aarch64_rev16<mode>): New.
2595 * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
2596 Define the following enum AARCH64_REV16, AARCH64_REV16L,
2597 AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
2598 (aarch64_init_data_intrinsics): New.
2599 (aarch64_general_init_builtins): Add call to
2600 aarch64_init_data_intrinsics.
2601 (aarch64_expand_builtin_data_intrinsic): New.
2602 (aarch64_general_expand_builtin): Add call to
2603 aarch64_expand_builtin_data_intrinsic.
2604 * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
2605 __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
2606 __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
2608 2022-08-10 Tobias Burnus <tobias@codesourcery.com>
2610 Backported from master:
2611 2022-08-09 Tobias Burnus <tobias@codesourcery.com>
2613 PR middle-end/106492
2614 * omp-low.cc (lower_rec_input_clauses): Add missing folding
2615 to data type of linear-clause list item.
2617 2022-08-10 Richard Biener <rguenther@suse.de>
2619 Backported from master:
2620 2022-08-10 Richard Biener <rguenther@suse.de>
2622 PR tree-optimization/106513
2623 * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
2626 2022-08-10 Richard Biener <rguenther@suse.de>
2628 Backported from master:
2629 2022-08-08 Richard Biener <rguenther@suse.de>
2633 * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
2634 to input DECL_INITIAL, avoiding to commit drefs.
2636 2022-08-05 Michael Meissner <meissner@linux.ibm.com>
2638 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
2639 setting -mblock-ops-vector-pair. Back port patch from trunk on 8/3.
2641 2022-08-02 Peter Bergner <bergner@linux.ibm.com>
2643 Backported from master:
2644 2022-07-25 Peter Bergner <bergner@linux.ibm.com>
2645 Kewen Lin <linkw@linux.ibm.com>
2648 * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
2649 to filter out all -mtune options.
2651 2022-08-02 Kewen Lin <linkw@linux.ibm.com>
2653 Backported from master:
2654 2022-07-26 Kewen Lin <linkw@linux.ibm.com>
2657 * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
2658 REG_EH_REGION when replacing one store insn having it.
2659 (replace_swapped_aligned_load): Likewise.
2661 2022-07-30 Jakub Jelinek <jakub@redhat.com>
2663 Backported from master:
2664 2022-07-29 Jakub Jelinek <jakub@redhat.com>
2666 PR middle-end/106449
2667 * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
2668 iterators in non-rectangular simd loops. Unshare fd->loops[i].n2
2669 or n2 before regimplifying it inside of a condition.
2671 2022-07-30 Jakub Jelinek <jakub@redhat.com>
2673 Backported from master:
2674 2022-07-27 Jakub Jelinek <jakub@redhat.com>
2677 * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
2678 output asm thunks for -dx.
2680 2022-07-30 Jakub Jelinek <jakub@redhat.com>
2682 Backported from master:
2683 2022-07-01 Jakub Jelinek <jakub@redhat.com>
2685 PR middle-end/106144
2686 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
2687 emitting element for shift or if shift is 0 first element after start.
2688 (wide_int_cc_tests): Add tests for equivalency of wi::mask and
2689 wi::shifted_mask with 0 start.
2691 2022-07-27 David Malcolm <dmalcolm@redhat.com>
2693 * json.cc (string::print): Fix escaping of '\'.
2695 2022-07-27 David Malcolm <dmalcolm@redhat.com>
2697 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
2700 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
2702 Backported from master:
2703 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
2705 * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
2706 duplicate backslashes.
2708 2022-07-27 Richard Biener <rguenther@suse.de>
2710 Backported from master:
2711 2022-07-26 Richard Biener <rguenther@suse.de>
2713 PR tree-optimization/106189
2714 * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
2715 Divide using offset_ints.
2717 2022-07-27 Joseph Myers <joseph@codesourcery.com>
2719 Backported from master:
2720 2022-06-30 Joseph Myers <joseph@codesourcery.com>
2723 * lto-wrapper.cc (find_option): Add argument start.
2724 (merge_and_complain): Loop over existing_opt_index and
2725 existing_opt2_index for Xassembler check. Update calls to
2727 (find_and_merge_options): Add argument first to determine whether
2728 to merge options with those passed in *opts.
2729 (run_gcc): Update calls to find_and_merge_options.
2731 2022-07-27 Andrew Pinski <apinski@marvell.com>
2733 Backported from master:
2734 2022-07-09 Andrew Pinski <apinski@marvell.com>
2736 PR tree-optimization/106087
2737 * tree-ssa-dce.cc (simple_dce_from_worklist): Check
2738 to make sure the statement is only defining one operand.
2740 2022-07-27 Tamar Christina <tamar.christina@arm.com>
2742 Backported from master:
2743 2022-07-08 Tamar Christina <tamar.christina@arm.com>
2745 PR tree-optimization/106063
2746 * match.pd: Do not apply pattern after veclower is not supported.
2748 2022-07-27 Alexandre Oliva <oliva@adacore.com>
2750 Backported from master:
2751 2022-06-03 Alexandre Oliva <oliva@adacore.com>
2753 PR tree-optimization/105665
2754 PR tree-optimization/100810
2755 * tree-ssa-loop-ivopts.cc
2756 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
2757 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
2758 (find_ssa_undef): Check precomputed flag and intervening uses.
2759 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
2761 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
2763 Backported from master:
2764 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
2766 * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
2768 2022-07-19 Richard Biener <rguenther@suse.de>
2770 Backported from master:
2771 2022-07-19 Richard Biener <rguenther@suse.de>
2773 PR middle-end/106331
2774 * builtins.cc (get_memory_rtx): Compute alignment from
2775 the original address and set MEM_OFFSET to unknown when
2776 we create a MEM_EXPR from the base object of the address.
2778 2022-07-19 Richard Biener <rguenther@suse.de>
2780 Backported from master:
2781 2022-07-01 Richard Biener <rguenther@suse.de>
2783 PR tree-optimization/106131
2784 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
2785 zero when offsetting the read looking through an aggregate
2788 2022-07-19 Richard Biener <rguenther@suse.de>
2790 Backported from master:
2791 2022-06-29 Richard Biener <rguenther@suse.de>
2793 PR tree-optimization/106112
2794 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
2795 a constant operand according to its type.
2797 2022-07-19 Richard Biener <rguenther@suse.de>
2799 Backported from master:
2800 2022-06-20 Richard Biener <rguenther@suse.de>
2802 PR middle-end/106027
2803 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
2804 type of the prevailing comparison for the new comparison type.
2805 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
2806 to A < X && A >= Y folding.
2808 2022-07-19 Richard Biener <rguenther@suse.de>
2810 Backported from master:
2811 2022-06-15 Richard Biener <rguenther@suse.de>
2813 PR tree-optimization/105971
2814 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
2815 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
2816 to leak less surprising alias results.
2818 2022-07-19 Richard Biener <rguenther@suse.de>
2820 Backported from master:
2821 2022-06-15 Richard Biener <rguenther@suse.de>
2823 PR tree-optimization/105969
2824 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
2825 by zero in overflow check.
2827 2022-07-19 Richard Biener <rguenther@suse.de>
2829 Backported from master:
2830 2022-06-14 Richard Biener <rguenther@suse.de>
2832 PR middle-end/105965
2833 * match.pd (view_convert CONSTRUCTOR): Handle single-element
2836 2022-07-19 Richard Biener <rguenther@suse.de>
2838 Backported from master:
2839 2022-06-14 Richard Biener <rguenther@suse.de>
2841 PR tree-optimization/105946
2842 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
2843 Do not look at arguments not specified in the function call.
2845 2022-07-19 Richard Biener <rguenther@suse.de>
2847 Backported from master:
2848 2022-07-11 Richard Biener <rguenthert@suse.de>
2851 * config/i386/i386-options.cc (ix86_set_current_function):
2852 Rebuild the target optimization node whenever necessary,
2853 not only when the optimization node didn't change.
2855 2022-07-14 Michael Meissner <meissner@linux.ibm.com>
2857 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
2858 not generate block copies with vector pair instructions if we are
2859 tuning for power10. Back port from master branch.
2861 2022-07-14 Surya Kumari Jangala <jskumari@linux.vnet.ibm.com>
2863 Backported from master:
2864 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
2866 PR rtl-optimization/105041
2867 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
2869 2022-07-11 Martin Jambor <mjambor@suse.cz>
2871 Backported from master:
2872 2022-07-04 Martin Jambor <mjambor@suse.cz>
2874 PR tree-optimization/105860
2875 * tree-sra.cc (build_reconstructed_reference): Start expr
2876 traversal only just below the outermost union.
2878 2022-07-10 Xi Ruoyao <xry111@xry111.site>
2880 Backported from master:
2881 2022-07-10 Xi Ruoyao <xry111@xry111.site>
2883 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
2886 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
2887 Uroš Bizjak <ubizjak@gmail.com>
2890 * config/i386/i386.md (*<any_or>di3_doubleword): Split after
2891 reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
2892 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
2894 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
2896 Backported from master:
2897 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
2899 * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
2900 Modify fp_sp_offset and gp_sp_offset's calculation method,
2901 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
2902 or UNITS_PER_FP_REG.
2904 2022-07-04 Andrew MacLeod <amacleod@redhat.com>
2906 PR tree-optimization/106114
2907 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
2908 statement operands instead of GORI cache.
2910 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
2911 Marek Polacek <polacek@redhat.com>
2912 Segher Boessenkool <segher@kernel.crashing.org>
2913 Kewen Lin <linkw@linux.ibm.com>
2916 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
2917 exact_log2 doesn't return -1 (or zero).
2918 (plus_xor): New code iterator.
2919 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
2921 2022-07-04 Xi Ruoyao <xry111@xry111.site>
2923 Backported from master:
2924 2022-07-03 Xi Ruoyao <xry111@xry111.site>
2925 Lulu Cheng <chenglulu@loongson.cn>
2927 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
2928 New static function.
2929 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
2930 of TARGET_CHECK_ZERO_DIV.
2931 (loongarch_output_division): Likewise.
2932 * common/config/loongarch/loongarch-common.cc
2933 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
2934 * doc/invoke.texi: Update to match the new behavior.
2936 2022-07-03 Roger Sayle <roger@nextmovesoftware.com>
2939 * config/i386/i386.md (peephole2): Avoid generating pop %esp
2940 when optimizing for size.
2942 2022-07-02 Sergei Trofimovich <siarheit@google.com>
2944 Backported from master:
2945 2022-06-29 Sergei Trofimovich <siarheit@google.com>
2948 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
2950 2022-07-01 Vladimir Makarov <vmakarov@gcc.gnu.org>
2952 Backported from master:
2953 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
2956 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
2957 is special) for various scenarios.
2959 2022-06-29 Richard Biener <rguenther@suse.de>
2961 Backported from master:
2962 2022-05-11 Richard Biener <rguenther@suse.de>
2965 * opts.cc (finish_options): Also disable var-tracking if
2966 !DWARF2_DEBUGGING_INFO.
2968 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
2970 Backported from master:
2971 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
2974 * config/loongarch/loongarch.cc (loongarch_build_integer):
2975 Remove undefined behavior from code.
2977 2022-06-28 Jakub Jelinek <jakub@redhat.com>
2979 Backported from master:
2980 2022-06-21 Jakub Jelinek <jakub@redhat.com>
2982 PR rtl-optimization/106032
2983 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
2984 t may_trap_or_fault_p, even if it is cheap.
2986 2022-06-28 Jakub Jelinek <jakub@redhat.com>
2988 Backported from master:
2989 2022-06-21 Jakub Jelinek <jakub@redhat.com>
2991 PR middle-end/106030
2992 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
2993 temp to expand_operands if mode has been promoted.
2995 2022-06-28 Xi Ruoyao <xry111@xry111.site>
2997 Backported from master:
2998 2022-06-28 Xi Ruoyao <xry111@xry111.site>
3001 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
3002 $r13 from SIBCALL_REGS.
3003 * config/loongarch/loongarch.cc (loongarch_regno_to_class):
3004 Change $r13 to JIRL_REGS.
3006 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
3008 Backported from master:
3009 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
3011 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
3012 condition to avoid overflow.
3014 2022-06-23 Martin Liska <mliska@suse.cz>
3016 Backported from master:
3017 2022-06-23 Martin Liska <mliska@suse.cz>
3020 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
3021 Skip variables with body_removed.
3023 2022-06-23 Siddhesh Poyarekar <siddhesh@gotplt.org>
3025 Backported from master:
3026 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
3028 PR tree-optimization/105736
3029 * tree-object-size.cc (addr_object_size): Return size_unknown
3030 when object offset computation returns an error.
3032 2022-06-23 Richard Sandiford <richard.sandiford@arm.com>
3034 Backported from master:
3035 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
3037 PR tree-optimization/105254
3038 PR tree-optimization/105940
3040 * config/aarch64/aarch64.cc
3041 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
3042 loop_vec_info as argument. Restrict the unroll factor to values
3044 (aarch64_vector_costs::finish_cost): Update call accordingly.
3046 2022-06-23 Kewen Lin <linkw@linux.ibm.com>
3048 Backported from master:
3049 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
3051 PR tree-optimization/105940
3052 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
3053 applying suggested_unroll_factor after start_over.
3055 2022-06-21 H.J. Lu <hjl.tools@gmail.com>
3057 Backported from master:
3058 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
3061 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
3062 false if PIC register is used when calling ifunc functions.
3064 2022-06-20 Uros Bizjak <ubizjak@gmail.com>
3066 Backported from master:
3067 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
3070 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
3071 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
3072 (alpha_store_data_bypass_p_1): Ditto.
3073 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
3074 of generic store_data_bypass_p.
3075 (ev4_ist_c): Remove insn reservation.
3077 2022-06-20 Uros Bizjak <ubizjak@gmail.com>
3079 Backported from master:
3080 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
3083 * config/i386/i386.cc (ix86_function_arg): Assert that
3084 the mode of pointer argumet is equal to ptr_mode, not Pmode.
3086 2022-06-19 Jakub Jelinek <jakub@redhat.com>
3088 Backported from master:
3089 2022-06-18 Jakub Jelinek <jakub@redhat.com>
3091 PR middle-end/105998
3092 * varasm.cc (narrowing_initializer_constant_valid_p): Check
3093 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
3094 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
3096 2022-06-19 Jakub Jelinek <jakub@redhat.com>
3098 Backported from master:
3099 2022-06-16 Jakub Jelinek <jakub@redhat.com>
3101 PR middle-end/105951
3102 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
3103 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
3104 as last argument to the internal functions.
3105 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
3106 extra call argument to ifns. If expand_atomic_fetch_op fails for the
3107 lhs == NULL_TREE case, fall through into the optab code with
3108 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
3109 fails, construct a CALL_EXPR and expand that.
3110 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
3111 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
3114 2022-06-19 Jan Hubicka <jh@suse.cz>
3116 Backported from master:
3117 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
3120 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
3122 2022-06-16 Richard Earnshaw <rearnsha@arm.com>
3124 Backported from master:
3125 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
3128 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
3129 to first_reg and second_reg respectively. Initialize them correctly
3130 when generating big-endian code.
3132 2022-06-15 Simon Wright <simon@pushface.org>
3134 Backported from master:
3135 2022-06-12 Simon Wright <simon@pushface.org>
3138 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
3139 version is darwin20 (macOS 11) or greater, truncate the version to the
3142 2022-06-15 Mark Mentovai <mark@mentovai.com>
3144 Backported from master:
3145 2022-06-12 Mark Mentovai <mark@mentovai.com>
3147 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
3149 2022-06-15 Iain Sandoe <iain@sandoe.co.uk>
3151 Backported from master:
3152 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
3155 * config/darwin.h: Move versions-specific handling of multiply_defined
3156 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
3158 2022-06-15 liuhongt <hongtao.liu@intel.com>
3161 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
3164 2022-06-14 H.J. Lu <hjl.tools@gmail.com>
3166 Backported from master:
3167 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
3169 * common/config/i386/cpuinfo.h (get_available_features): Require
3170 AVX for F16C and VAES.
3172 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
3174 Backported from master:
3175 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
3177 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
3178 (-1 << 31) for the single-bit case, when operating on (1 << 31)
3180 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
3181 any single-bit value, moving the special case for (1 << 31) to
3182 riscv_build_integer_1 (in riscv.c).
3184 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
3186 Backported from master:
3187 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
3190 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
3191 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
3192 'gen_highpart' bitwise semantics and fix order of highpart and
3193 lowpart depending on target endianness.
3195 2022-06-08 liuhongt <hongtao.liu@intel.com>
3198 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
3201 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
3203 Backported from master:
3204 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
3205 Manolis Tsamis <manolis.tsamis@vrull.eu>
3207 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
3208 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
3209 * doc/sourcebuild.texi: add documentation for RISC-V specific
3210 test target keywords
3212 2022-06-02 Richard Biener <rguenther@suse.de>
3214 Backported from master:
3215 2022-06-01 Richard Biener <rguenther@suse.de>
3217 PR tree-optimization/105786
3218 * tree-loop-distribution.cc
3219 (loop_distribution::transform_reduction_loop): Only do strlen
3220 replacement for integer type reductions.
3222 2022-06-02 Richard Biener <rguenther@suse.de>
3224 Backported from master:
3225 2022-05-27 Richard Biener <rguenther@suse.de>
3227 PR tree-optimization/105726
3228 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
3229 Constrain array-of-flexarray case more.
3231 2022-06-02 Richard Biener <rguenther@suse.de>
3233 Backported from master:
3234 2022-05-24 Richard Biener <rguenther@suse.de>
3236 PR middle-end/105711
3237 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
3239 (extract_bit_field_1): Pass down the mode of op0 to
3240 extract_bit_field_as_subreg.
3242 2022-06-02 Martin Sebor <msebor@redhat.com>
3244 Backported from master:
3245 2022-05-24 Martin Sebor <msebor@redhat.com>
3246 Richard Biener <rguenther@suse.de>
3248 PR middle-end/105604
3249 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
3250 (get_origin_and_offset_r): Remove null handling. Handle variable array
3252 (get_origin_and_offset): Handle null argument here. Simplify.
3253 (alias_offset): Update comment.
3254 * pointer-query.cc (field_at_offset): Update comment. Handle members
3255 of variable-length types.
3257 2022-06-02 Vineet Gupta <vineetg@rivosinc.com>
3259 Backported from master:
3260 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
3262 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
3264 (rocket_tune_info): Add default fmv_cost 8.
3265 (sifive_7_tune_info): Ditto.
3266 (thead_c906_tune_info): Ditto.
3267 (optimize_size_tune_info): Ditto.
3268 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
3270 2022-05-30 Martin Jambor <mjambor@suse.cz>
3272 Backported from master:
3273 2022-05-27 Martin Jambor <mjambor@suse.cz>
3276 * ipa-prop.cc (propagate_controlled_uses): Check type of the
3277 constant before adding a LOAD reference.
3279 2022-05-30 Jakub Jelinek <jakub@redhat.com>
3281 Backported from master:
3282 2022-05-27 Jakub Jelinek <jakub@redhat.com>
3285 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
3286 to (X &) z + w if -fsanitize=null during GENERIC folding.
3288 2022-05-30 Jakub Jelinek <jakub@redhat.com>
3290 Backported from master:
3291 2022-05-25 Jakub Jelinek <jakub@redhat.com>
3294 * asan.cc (has_stmt_been_instrumented_p): For assignments which
3295 are both stores and loads, return true only if both destination
3296 and source have been instrumented.
3298 2022-05-30 Jakub Jelinek <jakub@redhat.com>
3300 Backported from master:
3301 2022-05-19 Jakub Jelinek <jakub@redhat.com>
3304 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
3305 doesn't have pointer or reference type.
3307 2022-05-26 Simon Cook <simon.cook@embecosm.com>
3309 Backported from master:
3310 2022-05-25 Simon Cook <simon.cook@embecosm.com>
3312 * config/riscv/arch-canonicalize: Only add mafd extension if
3313 base was rv32/rv64g.
3315 2022-05-26 Kito Cheng <kito.cheng@sifive.com>
3317 Backported from master:
3318 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
3320 * config/riscv/arch-canonicalize: Handle g correctly.
3322 2022-05-24 Qing Zhao <qing.zhao@oracle.com>
3324 Backported from master:
3325 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
3328 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
3329 as a generic MMX mode instead of V4HImode.
3330 (zero_all_mm_registers): Use SET to zero instead of MOV for
3331 zeroing scratch registers.
3332 (ix86_zero_call_used_regs): Likewise.
3334 2022-05-24 Bruno Haible <bruno@clisp.org>
3336 Backported from master:
3337 2022-05-24 Bruno Haible <bruno@clisp.org>
3340 * doc/install.texi (Configuration): Add more details about --with-zstd.
3341 Document --with-zstd-include and --with-zstd-lib
3343 2022-05-24 Martin Liska <mliska@suse.cz>
3345 Backported from master:
3346 2022-05-11 Martin Liska <mliska@suse.cz>
3349 * doc/install.texi: Document the configure option --with-zstd.
3351 2022-05-20 Peter Bergner <bergner@linux.ibm.com>
3353 Backported from master:
3354 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
3355 Segher Boessenkool <segher@kernel.crashing.org>
3358 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
3359 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
3360 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
3361 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
3362 Update other operands accordingly.
3364 2022-05-20 Richard Biener <rguenther@suse.de>
3366 Backported from master:
3367 2022-05-04 Richard Biener <rguenther@suse.de>
3369 PR tree-optimization/103116
3370 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
3371 case we need peeling for gaps even though GROUP_GAP is zero.
3373 2022-05-19 Richard Biener <rguenther@suse.de>
3375 Backported from master:
3376 2022-05-17 Richard Biener <rguenther@suse.de>
3378 PR tree-optimization/105618
3379 * tree-ssa-sink.cc (statement_sink_location): For virtual
3380 PHI uses ignore those defining the used virtual operand.
3382 2022-05-19 Richard Biener <rguenther@suse.de>
3384 Backported from master:
3385 2022-05-12 Richard Biener <rguenther@suse.de>
3387 PR rtl-optimization/105577
3388 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
3389 edges before running fast DCE via df_analyze.
3391 2022-05-19 Richard Biener <rguenther@suse.de>
3393 Backported from master:
3394 2022-05-12 Richard Biener <rguenther@suse.de>
3396 PR tree-optimization/105562
3397 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
3398 against all CLOBBER defs if there's not an obvious must-alias
3399 and we are not doing redundant store elimination.
3400 (vn_walk_cb_data::redundant_store_removal_p): New field.
3401 (vn_reference_lookup_pieces): Initialize it.
3402 (vn_reference_lookup): Add argument to specify if we are
3403 doing redundant store removal.
3404 (eliminate_dom_walker::eliminate_stmt): Specify we do.
3405 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
3407 2022-05-19 Richard Biener <rguenther@suse.de>
3409 Backported from master:
3410 2022-05-11 Richard Biener <rguenther@suse.de>
3412 PR rtl-optimization/105559
3413 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
3414 for non-debug insns.
3416 2022-05-19 Richard Biener <rguenther@suse.de>
3418 Backported from master:
3419 2022-05-10 Richard Biener <rguenther@suse.de>
3421 PR middle-end/105537
3422 * toplev.cc (process_options): Move flag_var_tracking
3424 * opts.cc (finish_options): ... here.
3426 2022-05-19 Richard Biener <rguenther@suse.de>
3428 Backported from master:
3429 2022-05-10 Richard Biener <rguenther@suse.de>
3431 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
3432 API with !GENERATOR_FILE.
3433 * opts.cc (global_options): Poison.
3434 (global_options_set): Likewise.
3435 (finish_options): Refer to options via opts.
3437 2022-05-19 Richard Biener <rguenther@suse.de>
3439 Backported from master:
3440 2022-04-29 Richard Biener <rguenther@suse.de>
3442 PR tree-optimization/105431
3443 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
3444 (powi_as_mults): Use absu_hwi.
3445 (gimple_expand_builtin_powi): Remove now pointless n != -n
3448 2022-05-18 Andrew MacLeod <amacleod@redhat.com>
3450 PR tree-optimization/105458
3451 * value-relation.cc (path_oracle::register_relation): Merge, then check
3454 2022-05-16 Sebastian Pop <spop@amazon.com>
3457 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
3459 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
3460 memmodel_from_int and handle MEMMODEL_SYNC_*.
3461 (DEF0): Add __aarch64_*_sync functions.
3463 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
3465 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
3466 instead of a bitwise negation.
3467 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
3469 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
3471 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
3472 is the same on the LHS and RHS before rewriting one with the model
3475 2022-05-13 Alexandre Oliva <oliva@adacore.com>
3477 Backported from master:
3478 2022-05-13 Alexandre Oliva <oliva@adacore.com>
3480 PR rtl-optimization/105455
3481 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
3482 probabilities for newly-conditional edges.
3484 2022-05-11 Martin Jambor <mjambor@suse.cz>
3486 Backported from master:
3487 2022-04-29 Martin Jambor <mjambor@suse.cz>
3490 * cgraph.cc (cgraph_node::remove): Release body of the node this
3491 is clone_of if appropriate.
3493 2022-05-10 Jakub Jelinek <jakub@redhat.com>
3495 Backported from master:
3496 2022-05-10 Jakub Jelinek <jakub@redhat.com>
3498 PR tree-optimization/105528
3499 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
3500 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
3502 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
3505 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
3506 true only for 8-byte vector modes.
3508 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
3510 Backported from master:
3511 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
3514 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
3515 and -mpower10-fusion options for inlining purposes.
3517 2022-05-06 Richard Biener <rguenther@suse.de>
3519 Backported from master:
3520 2022-04-29 Richard Biener <rguenther@suse.de>
3522 PR middle-end/105376
3523 * tree.cc (build_real): Special case dconst* arguments
3524 for decimal floating point types.
3526 2022-05-06 Richard Biener <rguenther@suse.de>
3528 Backported from master:
3529 2022-05-05 Richard Biener <rguenther@suse.de>
3531 PR tree-optimization/105484
3532 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
3533 whether the CFG changed.
3534 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
3536 2022-05-06 Richard Biener <rguenther@suse.de>
3538 Backported from master:
3539 2022-05-03 Richard Biener <rguenther@suse.de>
3541 PR middle-end/105461
3542 * opts.cc (finish_options): Match the condition to
3543 disable flag_var_tracking to that of process_options.
3545 2022-05-06 Richard Biener <rguenther@suse.de>
3547 Backported from master:
3548 2022-05-03 Richard Biener <rguenther@suse.de>
3550 * opts.cc: #undef OPTIONS_SET_P.
3551 (finish_options): Use opts_set instead of OPTIONS_SET_P.
3553 2022-05-06 Richard Biener <rguenther@suse.de>
3555 Backported from master:
3556 2022-05-02 Richard Biener <rguenther@suse.de>
3558 PR tree-optimization/105437
3559 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
3560 case where last_stmt alters control flow.
3562 2022-05-06 Richard Biener <rguenther@suse.de>
3564 Backported from master:
3565 2022-05-03 Richard Biener <rguenther@suse.de>
3567 PR tree-optimization/105394
3568 * tree-vect-generic.cc (expand_vector_condition): Adjust
3569 comp_width for non-integer mode masks as well.
3571 2022-05-06 Release Manager
3573 * GCC 12.1.0 released.
3575 2022-05-02 Jakub Jelinek <jakub@redhat.com>
3577 Backported from master:
3578 2022-05-02 Jakub Jelinek <jakub@redhat.com>
3580 * system.h: Include initializer_list.
3582 2022-04-28 Jakub Jelinek <jakub@redhat.com>
3585 * cgraph.cc (cgraph_node::verify_node): Don't verify
3586 semantic_interposition flag against
3587 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
3589 2022-04-28 Jakub Jelinek <jakub@redhat.com>
3592 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
3593 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
3596 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
3598 * doc/install.texi (Configuration): Remove misleading text
3599 around LE PowerPC Linux multilibs.
3601 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3604 * doc/install.texi (Tools/packages necessary for building GCC)
3605 (GDC): Document libphobos requirement.
3606 (Host/target specific installation notes for GCC, *-*-solaris2*):
3607 Document libphobos and GDC specifics.
3609 2022-04-28 Richard Biener <rguenther@suse.de>
3611 PR tree-optimization/105219
3612 * tree-vect-loop.cc (vect_transform_loop): Disable
3613 special code narrowing the vectorized epilogue max
3614 iterations when peeling for alignment or gaps was in effect.
3616 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
3618 * config/loongarch/loongarch.cc
3619 (loongarch_flatten_aggregate_field): Ignore empty fields for
3622 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
3624 * config/loongarch/loongarch.md: Add fdiv define_expand template,
3625 then generate floating-point division and floating-point reciprocal
3628 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
3630 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
3631 to PLV instruction templates.
3633 2022-04-27 Richard Biener <rguenther@suse.de>
3635 PR middle-end/104492
3636 * gimple-ssa-warn-access.cc
3637 (pass_waccess::warn_invalid_pointer): Exclude equality compare
3638 diagnostics for all kind of invalidations.
3639 (pass_waccess::check_dangling_uses): Fix post-dominator query.
3640 (pass_waccess::check_pointer_uses): Likewise.
3642 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
3645 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
3647 * config/s390/s390.cc (s390_single_field_struct_p): New function.
3648 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
3649 (s390_function_arg_float): Likewise.
3651 2022-04-27 Jakub Jelinek <jakub@redhat.com>
3654 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
3655 where offset is bigger than off but smaller than m_prev_offset + 32
3656 bits by pushing one or more 0 bytes. Sink the
3657 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
3658 all cases to the end of the function.
3660 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
3663 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
3666 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
3668 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
3669 data-share memory exhausted" error more verbose.
3671 2022-04-26 Martin Liska <mliska@suse.cz>
3674 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
3675 (run_gcc): Parse OPT_fdiagnostics_urls_.
3676 (main): Initialize global_dc.
3678 2022-04-26 Jakub Jelinek <jakub@redhat.com>
3680 PR rtl-optimization/105314
3681 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
3682 operand is equal to if_info->x, instead use the non-zero operand
3683 as one of the operands of AND with if_info->x as target.
3685 2022-04-26 Jakub Jelinek <jakub@redhat.com>
3687 PR tree-optimization/105374
3688 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
3689 !fold_convertible_p rather than assuming fold_convert must succeed.
3691 2022-04-26 Jakub Jelinek <jakub@redhat.com>
3694 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
3695 el_mode == DFmode ? double_type_node : float_type_node instead of
3696 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
3698 2022-04-25 David Malcolm <dmalcolm@redhat.com>
3701 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
3702 the location of new_stmt in all places that don't already set it,
3703 whether explicitly, or via a call to gsi_replace.
3705 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
3707 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
3709 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
3711 PR tree-optimization/105276
3712 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
3713 existing global range with calculated value.
3715 2022-04-25 Richard Biener <rguenther@suse.de>
3717 PR tree-optimization/105368
3718 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
3720 2022-04-25 Richard Biener <rguenther@suse.de>
3722 PR tree-optimization/100810
3723 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
3724 (find_ssa_undef): New function.
3725 (add_candidate_1): Avoid adding derived candidates with
3726 undefined SSA names and mark the original ones.
3727 (determine_group_iv_cost_generic): Reject rewriting
3728 uses with a different IV when that involves undefined SSA names.
3730 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
3733 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
3734 bsd_libc_has_function.
3735 * targhooks.cc (bsd_libc_has_function): New function.
3736 Expand the supported math functions to inclue C99 libm.
3737 * targhooks.h (bsd_libc_has_function): New Prototype.
3739 2022-04-25 Richard Biener <rguenther@suse.de>
3741 PR rtl-optimization/105231
3742 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
3743 with landing pad > 0 is from i3. Put any REG_EH_REGION note
3744 on i3 or drop it if the insn can not trap.
3745 (try_combine): Ensure that we can merge REG_EH_REGION notes
3746 with non-call exceptions. Ensure we are not splitting a
3747 trapping part of an insn with non-call exceptions when there
3748 is any REG_EH_REGION note to preserve.
3750 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
3753 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
3754 Add parentheses for parameters and djust format.
3755 (_mm512_mask_scalef_round_pd): Ditto.
3756 (_mm512_maskz_scalef_round_pd): Ditto.
3757 (_mm512_scalef_round_ps): Ditto.
3758 (_mm512_mask_scalef_round_ps): Ditto.
3759 (_mm512_maskz_scalef_round_ps): Ditto.
3760 (_mm_scalef_round_sd): Use _mm_undefined_pd.
3761 (_mm_scalef_round_ss): Use _mm_undefined_ps.
3762 (_mm_mask_scalef_round_sd): New macro.
3763 (_mm_mask_scalef_round_ss): Ditto.
3764 (_mm_maskz_scalef_round_sd): Ditto.
3765 (_mm_maskz_scalef_round_ss): Ditto.
3767 2022-04-23 Jakub Jelinek <jakub@redhat.com>
3770 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
3771 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
3774 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
3777 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
3778 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
3779 (pack<mode>_hard for FMOVE128): ... this...
3780 (pack<mode>_soft for FMOVE128): ... and this.
3782 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
3784 * doc/extend.texi: Correct "This" to "These".
3786 2022-04-22 Jakub Jelinek <jakub@redhat.com>
3788 PR rtl-optimization/105333
3789 * rtlanal.cc (replace_rtx): Use simplify_subreg or
3790 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
3793 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
3797 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
3798 the "Z" alternatives in {l,st}{f,xs}iwzx.
3799 (zero_extendhi<mode>2 for EXTHI): Ditto.
3800 (zero_extendsi<mode>2 for EXTSI): Ditto.
3801 (*movsi_internal1): Ditto.
3802 (*mov<mode>_internal1 for QHI): Ditto.
3803 (movsd_hardfloat): Ditto.
3805 2022-04-21 Martin Liska <mliska@suse.cz>
3807 * configure.ac: Enable compressed debug sections for mold
3809 * configure: Regenerate.
3811 2022-04-21 Jakub Jelinek <jakub@redhat.com>
3814 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
3817 2022-04-20 Richard Biener <rguenther@suse.de>
3819 PR tree-optimization/104912
3820 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
3821 the cost model check to a separate BB to make sure it is
3822 checked first and not combined with other version checks.
3824 2022-04-20 Richard Biener <rguenther@suse.de>
3826 PR tree-optimization/105312
3827 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
3828 VCOND and VCONDU for EQ and NE.
3830 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
3833 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
3834 poly_offset_int to avoid overflow.
3835 (modref_access_node::update2): likewise.
3837 2022-04-20 Jakub Jelinek <jakub@redhat.com>
3840 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
3841 to opt_for_fn (decl, flag_semantic_interposition).
3842 * cgraphclones.cc (cgraph_node::create_clone): Copy over
3843 semantic_interposition flag.
3845 2022-04-19 Sergei Trofimovich <siarheit@google.com>
3847 PR gcov-profile/105282
3848 * value-prof.cc (stream_out_histogram_value): Allow negative counts
3849 on HIST_TYPE_INDIR_CALL.
3851 2022-04-19 Jakub Jelinek <jakub@redhat.com>
3854 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
3855 use gen_raw_REG instead of gen_rtx_REG and copy over also
3856 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
3858 2022-04-19 Richard Biener <rguenther@suse.de>
3860 PR tree-optimization/104010
3861 PR tree-optimization/103941
3862 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
3863 we run into stmts in patterns continue walking those
3864 for uses outside of the vectorized region instead of
3865 marking the lane live.
3867 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
3869 * doc/install.texi <CRIS>: Remove references to removed websites and
3870 adjust for cris-*-elf being the only remaining toolchain.
3872 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
3874 * doc/invoke.texi <CRIS>: Remove references to options for removed
3875 subtarget cris-axis-linux-gnu and tweak wording accordingly.
3877 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
3879 * doc/install.texi (Specific): Adjust mingw-w64 download link.
3881 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
3883 * config/i386/smmintrin.h: Correct target pragma from sse4.1
3884 and sse4.2 to crc32 for crc32 intrinsics.
3886 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
3889 * ctfc.cc (ctf_dvd_ignore_insert): New function.
3890 (ctf_dvd_ignore_lookup): Likewise.
3891 (ctf_add_variable): Keep track of non-defining decl DIEs.
3892 (new_ctf_container): Initialize the new hash-table.
3893 (ctfc_delete_container): Empty hash-table.
3894 * ctfc.h (struct ctf_container): Add new hash-table.
3895 (ctf_dvd_ignore_lookup): New declaration.
3896 (ctf_add_variable): Add additional argument.
3897 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
3898 record for non-defining decl for which a defining decl exists
3900 (ctf_preprocess): Defer updating the number of global objts
3902 (output_ctf_header): Use ctfc_vars_list_count as some CTF
3903 variables may not make it to the final output.
3904 (output_ctf_vars): Likewise.
3905 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
3906 if this is known to be a non-defining decl DIE.
3908 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
3910 * ctfc.h (struct ctf_container): Introduce a new member.
3911 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
3914 2022-04-14 Jakub Jelinek <jakub@redhat.com>
3917 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
3918 or rotates by VOIDmode constant integer shift count use word_mode
3919 for the operand if int_mode is narrower than word.
3921 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
3923 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
3924 (s390_get_unit_mask): Likewise.
3925 (s390_is_fpd): Likewise.
3926 (s390_is_fxd): Likewise.
3927 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
3928 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
3930 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
3932 * config/s390/3931.md: New file.
3934 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
3936 PR tree-optimization/105254
3937 * config/aarch64/aarch64.cc
3938 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
3939 loop_vec_info as argument. Restrict the unroll factor to values
3941 (aarch64_vector_costs::finish_cost): Update call accordingly.
3943 2022-04-13 Richard Biener <rguenther@suse.de>
3945 PR tree-optimization/105263
3946 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
3947 negates in multiplication chains with DFP.
3949 2022-04-13 Jakub Jelinek <jakub@redhat.com>
3951 PR middle-end/105253
3952 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
3953 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
3954 comparisons or tree_nop_conversion_p checks.
3956 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
3959 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
3960 Add missing set to target_val at pause label.
3962 2022-04-13 Jakub Jelinek <jakub@redhat.com>
3965 * attribs.cc (decl_attributes): Don't set
3966 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
3969 2022-04-13 Richard Biener <rguenther@suse.de>
3971 PR tree-optimization/105250
3972 * fold-const.cc (fold_convertible_p): Revert
3973 r12-7979-geaaf77dd85c333, instead check for size equality
3974 of the vector types involved.
3976 2022-04-13 Richard Biener <rguenther@suse.de>
3979 2022-04-13 Richard Biener <rguenther@suse.de>
3981 PR tree-optimization/104912
3982 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
3983 the cost model check to a separate BB to make sure it is
3984 checked first and not combined with other version checks.
3986 2022-04-13 Richard Biener <rguenther@suse.de>
3988 PR tree-optimization/104912
3989 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
3990 the cost model check to a separate BB to make sure it is
3991 checked first and not combined with other version checks.
3993 2022-04-13 Jakub Jelinek <jakub@redhat.com>
3995 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
3997 2022-04-12 Antoni Boucher <bouanto@zoho.com>
4000 * reginfo.cc: New functions (clear_global_regs_cache,
4001 reginfo_cc_finalize) to avoid an issue where compiling the same
4002 code multiple times gives an error about assigning the same
4003 register to 2 global variables.
4004 * rtl.h: New function (reginfo_cc_finalize).
4005 * toplev.cc: Call it.
4007 2022-04-12 Antoni Boucher <bouanto@zoho.com>
4010 * toplev.cc: Call the new function tree_cc_finalize in
4012 * tree.cc: New functions (clear_nonstandard_integer_type_cache
4013 and tree_cc_finalize) to clear the cache of non-standard integer
4014 types to avoid having issues with some optimizations of
4015 bitcast where the SSA_NAME will have a size of a cached
4016 integer type that should have been invalidated, causing a
4017 comparison of integer constant to fail.
4018 * tree.h: New function (tree_cc_finalize).
4020 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
4023 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
4024 * config/nvptx/nvptx.opt (misa): Adjust comment.
4026 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
4029 2022-03-03 Tom de Vries <tdevries@suse.de>
4031 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
4033 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
4036 2022-03-31 Tom de Vries <tdevries@suse.de>
4038 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
4040 2022-04-12 Richard Biener <rguenther@suse.de>
4043 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
4044 include local escaped memory as obviously necessary stores.
4046 2022-04-12 Richard Biener <rguenther@suse.de>
4048 PR tree-optimization/105235
4049 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
4050 return whether the CFG changed.
4051 (execute_cse_sincos_1): Adjust.
4053 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
4056 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
4057 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
4058 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
4059 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
4060 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
4061 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
4062 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
4064 2022-04-12 Richard Biener <rguenther@suse.de>
4066 PR tree-optimization/105232
4067 * tree.cc (component_ref_size): Bail out for too large
4068 or non-constant sizes.
4070 2022-04-12 Richard Biener <rguenther@suse.de>
4072 PR tree-optimization/105226
4073 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
4074 we can split the exit of an outer loop we choose to version.
4076 2022-04-12 Jakub Jelinek <jakub@redhat.com>
4078 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
4079 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
4080 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
4081 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
4082 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
4084 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
4086 2022-04-12 Jakub Jelinek <jakub@redhat.com>
4089 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
4090 do_pending_stack_adjust.
4092 2022-04-12 Jakub Jelinek <jakub@redhat.com>
4094 PR rtl-optimization/105211
4095 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
4096 fails for TREE_TYPE (arg), retry it with
4097 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
4098 fails, emit call normally.
4100 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
4102 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
4103 * config.gcc: Add z16 as march/mtune switch.
4104 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
4105 Recognize z16 with -march=native.
4106 * config/s390/s390-opts.h (enum processor_type): Rename
4107 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
4108 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
4109 (PROCESSOR_3931_Z16): ... throughout the file.
4110 (s390_processor processor_table): Add z16 as cpu string.
4111 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
4113 (TARGET_CPU_ARCH14): Rename to ...
4114 (TARGET_CPU_Z16): ... this.
4115 (TARGET_CPU_ARCH14_P): Rename to ...
4116 (TARGET_CPU_Z16_P): ... this.
4117 (TARGET_ARCH14): Rename to ...
4118 (TARGET_Z16): ... this.
4119 (TARGET_ARCH14_P): Rename to ...
4120 (TARGET_Z16_P): ... this.
4121 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
4122 check TARGET_Z16 instead of TARGET_ARCH14.
4123 * config/s390/s390.opt: Add z16 to processor_type.
4124 * doc/invoke.texi: Document z16 and arch14.
4126 2022-04-12 chenglulu <chenglulu@loongson.cn>
4128 * config/loongarch/loongarch.cc: Fix bug for
4129 tmpdir-g++.dg-struct-layout-1/t033.
4131 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
4134 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
4135 to longcall functions.
4137 2022-04-11 Jason Merrill <jason@redhat.com>
4139 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
4141 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
4145 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
4147 2022-04-11 Jakub Jelinek <jakub@redhat.com>
4149 PR tree-optimization/105218
4150 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
4151 more than one predecessor or phi's bb more than 2 predecessors,
4152 reset phi result uses instead of adding a debug temp.
4154 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
4157 * config.gcc: Pass -misa-spec to arch-canonicalize and
4159 * config/riscv/arch-canonicalize: Adding -misa-spec option.
4160 (SUPPORTED_ISA_SPEC): New.
4161 (arch_canonicalize): New argument `isa_spec`.
4162 Handle multiple ISA spec versions.
4163 * config/riscv/multilib-generator: Adding -misa-spec option.
4165 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
4167 * config/riscv/arch-canonicalize: Add TODO item.
4168 (IMPLIED_EXT): Sync.
4169 (arch_canonicalize): Checking until no change.
4171 2022-04-11 Tamar Christina <tamar.christina@arm.com>
4174 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
4177 2022-04-11 Jason Merrill <jason@redhat.com>
4180 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
4183 2022-04-11 Jakub Jelinek <jakub@redhat.com>
4185 PR tree-optimization/104639
4186 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
4187 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
4190 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
4192 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
4193 sign bit of the source ends up in CC.
4195 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
4198 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
4201 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
4203 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
4204 nondeterministic and side_effects flags.
4206 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
4209 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
4210 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
4211 (TARGET_CPU_MASK): Likewise.
4212 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
4213 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
4214 (aarch64_get_arch): Likewise.
4215 (aarch64_override_options): Use TARGET_CPU_NBITS.
4217 2022-04-08 Richard Biener <rguenther@suse.de>
4219 PR tree-optimization/105198
4220 * tree-predcom.cc (find_looparound_phi): Check whether
4221 the found memory location of the entry value is clobbered
4222 inbetween the value we want to use and loop entry.
4224 2022-04-08 Jakub Jelinek <jakub@redhat.com>
4226 PR tree-optimization/105189
4227 * fold-const.cc (make_range_step): Fix up handling of
4228 (unsigned) x +[low, -] ranges for signed x if low fits into
4231 2022-04-08 Richard Biener <rguenther@suse.de>
4233 PR tree-optimization/105175
4234 * tree-vect-stmts.cc (vectorizable_operation): Suppress
4235 -Wvector-operation-performance if using emulated vectors.
4236 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
4237 -Wvector-operation-performance when suppressed.
4238 (expand_vector_parallel): Likewise.
4239 (expand_vector_comparison): Likewise.
4240 (expand_vector_condition): Likewise.
4241 (lower_vec_perm): Likewise.
4242 (expand_vector_conversion): Likewise.
4244 2022-04-07 Tamar Christina <tamar.christina@arm.com>
4247 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
4248 (aarch64_general_init_builtins): Move LS64 code.
4249 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
4251 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
4252 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
4254 2022-04-07 Richard Biener <rguenther@suse.de>
4255 Jan Hubicka <hubicka@ucw.cz>
4258 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
4259 ref_may_alias_global_p, ref_may_alias_global_p,
4260 stmt_may_clobber_global_p, pt_solution_includes_global): Add
4261 bool parameters indicating whether escaped locals should be
4263 * tree-ssa-structalias.cc (pt_solution_includes_global):
4264 When the new escaped_nonlocal_p flag is true also consider
4265 pt->vars_contains_escaped.
4266 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
4267 Pass down new escaped_nonlocal_p flag.
4268 (ref_may_alias_global_p): Likewise.
4269 (stmt_may_clobber_global_p): Likewise.
4270 (ref_may_alias_global_p_1): Likewise. For decls also
4271 query the escaped solution if true.
4272 (ref_may_access_global_memory_p): Remove.
4273 (modref_may_conflict): Use ref_may_alias_global_p with
4274 escaped locals considered global.
4275 (ref_maybe_used_by_stmt_p): Adjust.
4276 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
4278 * tree-ssa-dse.cc (dse_classify_store): Likewise.
4279 * trans-mem.cc (thread_private_new_memory): Likewise, but
4280 consider escaped locals global.
4281 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
4283 2022-04-07 Richard Biener <rguenther@suse.de>
4285 PR tree-optimization/105185
4286 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
4289 2022-04-07 Tamar Christina <tamar.christina@arm.com>
4292 * config/aarch64/aarch64-simd.md
4293 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
4294 (reduc_plus_scal_<mode>): ... This.
4295 (reduc_plus_scal_v4sf): Moved.
4296 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
4297 (reduc_plus_scal_v2si): ... This.
4299 2022-04-07 Jakub Jelinek <jakub@redhat.com>
4301 PR tree-optimization/102586
4302 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
4304 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
4305 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
4306 * gimple-fold.cc (clear_padding_type): Use ftype instead of
4307 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
4308 name try the lang_hooks.types.classtype_as_base langhook and
4309 if it returns non-NULL, use that instead of ftype for recursive call.
4311 2022-04-07 Jakub Jelinek <jakub@redhat.com>
4313 PR tree-optimization/105150
4314 * tree.cc (tree_builtin_call_types_compatible_p): New function.
4315 (get_call_combined_fn): Use it.
4317 2022-04-07 Richard Biener <rguenther@suse.de>
4319 PR middle-end/105165
4320 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
4323 2022-04-07 liuhongt <hongtao.liu@intel.com>
4325 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
4327 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
4329 (<code><mode>3<mask_name>): Ditto.
4330 (*<code><mode>3<mask_name>): Ditto.
4331 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
4336 2022-04-06 Jakub Jelinek <jakub@redhat.com>
4338 PR rtl-optimization/104985
4339 * combine.cc (struct undo): Add where.regno member.
4340 (do_SUBST_MODE): Rename to ...
4341 (subst_mode): ... this. Change first argument from rtx * into int,
4342 operate on regno_reg_rtx[regno] and save regno into where.regno.
4343 (SUBST_MODE): Remove.
4344 (try_combine): Use subst_mode instead of SUBST_MODE, change first
4345 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
4346 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
4347 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
4348 instead of *undo->where.r.
4349 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
4350 argument from regno_reg_rtx[whatever] to whatever.
4352 2022-04-06 Jakub Jelinek <jakub@redhat.com>
4355 * config/sh/sh.opt (mdiv=): Add Save.
4357 2022-04-06 Martin Liska <mliska@suse.cz>
4360 * common.opt: Document properly based on what it does.
4361 * gcc.cc (display_help): Unify with what we have in common.opt.
4362 * opts.cc (common_handle_option): Do not print undocumented
4365 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
4367 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
4368 cxx17_empty_base_field_p fields and set an indicator.
4369 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
4370 (mips_function_value_1): Inform psABI change about C++17 empty
4373 2022-04-06 Jakub Jelinek <jakub@redhat.com>
4375 PR tree-optimization/105150
4376 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
4377 builtin_decl_explicit here...
4378 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
4381 2022-04-06 Richard Biener <rguenther@suse.de>
4383 PR tree-optimization/105173
4384 * tree-ssa-reassoc.cc (find_insert_point): Get extra
4385 insert_before output argument and compute it.
4386 (insert_stmt_before_use): Adjust.
4387 (rewrite_expr_tree): Likewise.
4389 2022-04-06 Richard Biener <rguenther@suse.de>
4392 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
4393 out for non-pointer arguments.
4395 2022-04-06 Richard Biener <rguenther@suse.de>
4397 PR tree-optimization/105163
4398 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
4401 2022-04-06 Jakub Jelinek <jakub@redhat.com>
4403 PR tree-optimization/105150
4404 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
4405 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
4406 preferrably on builtin_decl_explicit decl rather than fndecl.
4407 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
4408 gimple_builtin_call_types_compatible_p here.
4410 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
4412 PR tree-optimization/103761
4413 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
4414 the ncopies parameter with an slp_node parameter. Calculate the
4415 number of vectors based on it and vectype. Rename lambda to
4416 group_memory_nvectors.
4417 (vectorizable_store, vectorizable_load): Update calls accordingly.
4419 2022-04-06 Martin Liska <mliska@suse.cz>
4421 * doc/invoke.texi: Document it.
4423 2022-04-06 Richard Biener <rguenther@suse.de>
4425 PR tree-optimization/105148
4426 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
4427 2 and 3 of ARRAY_REFs.
4429 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
4431 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
4432 (*andnottf3): Replace with...
4433 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
4435 2022-04-06 Richard Biener <rguenther@suse.de>
4437 PR tree-optimization/105142
4438 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
4439 basic-block parameter.
4440 (maybe_fold_or_comparisons): Likewise.
4441 * gimple-fold.cc (follow_outer_ssa_edges): New.
4442 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
4443 when an outer condition basic-block is specified.
4444 (and_comparisons_1, and_var_with_comparison,
4445 and_var_with_comparison_1, or_comparisons_1,
4446 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
4447 down the outer condition basic-block.
4448 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
4449 basic-block of the outer condition.
4451 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
4454 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
4455 comparison codes UNLT/UNLE/UNGT/UNGE.
4457 2022-04-05 David Malcolm <dmalcolm@redhat.com>
4459 * doc/extend.texi (Common Function Attributes): Document that
4460 'access' does not imply 'nonnull'.
4462 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
4465 * config/i386/mmx.md (*movv2qi_internal):
4466 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
4468 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
4470 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
4471 define_expand and turn operands 0 and 1 from REGs to MEMs.
4472 (*aarch64_cpymemdi): New pattern.
4473 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
4474 from a REG to a MEM.
4475 (*aarch64_setmemdi): New pattern.
4476 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
4477 copy_to_mode_reg on all three registers. Replace the original
4478 MEM addresses rather than creating wild reads and writes.
4479 (aarch64_expand_setmem_mops): Likewise for the size and for the
4480 destination memory and address.
4482 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
4485 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
4486 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
4487 from aarch64_simd_switcher.
4488 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
4490 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
4491 (register_tuple_type): Add more asserts. Expect the alignment
4492 of the structure to be subject to flag_pack_struct and
4493 maximum_field_alignment. Set aarch64_simd_tuple_modes.
4494 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
4495 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
4496 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
4497 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
4498 while calling aarch64_init_simd_builtins.
4499 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
4500 (sve_switcher::~sve_switcher): Remove code now performed by
4501 aarch64_simd_switcher.
4503 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
4506 * config/aarch64/aarch64-sve-builtins.cc
4507 (function_resolver::infer_vector_or_tuple_type): Use error_n
4508 for "%d vectors" messages.
4510 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
4512 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
4513 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
4516 2022-04-05 Richard Biener <rguenther@suse.de>
4519 * passes.def (pass_walloca): Move early instance into
4520 pass_build_ssa_passes to make SSA form available.
4522 2022-04-05 liuhongt <hongtao.liu@intel.com>
4525 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
4527 (ix86_reorg): Call ix86_split_stlf_stall_load.
4528 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
4531 2022-04-05 Alexandre Oliva <oliva@adacore.com>
4533 * targhooks.cc (default_zero_call_used_regs): Attempt to group
4534 regs that the target refuses to use in their natural modes.
4535 (zcur_select_mode_rtx): New.
4536 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
4537 (hard_regno_max_nregs): Define.
4538 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
4540 2022-04-04 Alex Coplan <alex.coplan@arm.com>
4542 * doc/match-and-simplify.texi: Fix typos.
4544 2022-04-04 Jakub Jelinek <jakub@redhat.com>
4547 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
4548 only if configured with --enable-maintainer-mode, otherwise compare
4549 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
4550 if they differ, emit a message and fail.
4552 2022-04-04 Jakub Jelinek <jakub@redhat.com>
4555 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
4556 * config/aarch64/aarch64-tune.md: Regenerated.
4558 2022-04-04 Richard Biener <rguenther@suse.de>
4560 PR tree-optimization/105132
4561 * tree-vect-stmts.cc (vectorizable_operation): Check that
4562 the input vectors have the same number of elements.
4564 2022-04-04 Richard Biener <rguenther@suse.de>
4566 PR middle-end/105140
4567 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
4569 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
4572 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
4573 (delay slot descripts): Use different delay slot description when
4574 the insn as the "bbi" attribute.
4575 (bbi, bbin patterns): Set the bbi attribute to yes.
4577 2022-04-03 Jakub Jelinek <jakub@redhat.com>
4580 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
4581 using word as target for expand_simple_binop when doing ASHIFT and
4584 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
4586 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
4587 NULL before dereferencing it.
4589 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
4591 * config/i386/i386.cc (zero_all_st_registers): Return the value of
4593 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
4594 the return value of zero_all_st_registers.
4595 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
4596 * function.cc (gen_call_used_regs_seq): Add an assertion.
4597 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
4599 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
4602 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
4603 fields, and inform if it causes a psABI change.
4605 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
4608 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
4609 zero-width bit-fields and set up an indicator.
4610 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
4611 (mips_function_value_1): Diagnose when the presense of a C++
4612 zero-width bit-field changes function returning in GCC 12.
4614 2022-04-01 Jakub Jelinek <jakub@redhat.com>
4616 PR tree-optimization/104645
4617 * tree-ssa-phiopt.cc (value_replacement): If assign has
4618 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
4619 statement with constant evaluation.
4621 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
4623 * config/mips/mips.cc (mips_expand_prologue):
4624 IPL is 8bit for MCU ASE.
4626 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
4629 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
4632 (SET_FPSCR_RN): Likewise.
4633 (SET_FPSCR_DRN): Mark nosoft and no32bit.
4635 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
4637 * doc/options.texi (Option file format): Clarifications around
4638 option definition records' help texts.
4640 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
4642 * optc-gen.awk <END>: Fix "Multiple different help strings" error
4645 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
4647 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
4648 determine_suggested_unroll_factor and m_has_avg.
4649 (determine_suggested_unroll_factor): New function.
4650 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
4651 to set m_nosve_pattern.
4652 (aarch64_vector_costs::finish_costs): Use
4653 determine_suggested_unroll_factor.
4654 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
4655 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
4657 2022-03-31 Martin Jambor <mjambor@suse.cz>
4660 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
4661 (ipa_get_jf_ancestor_keep_null): New function.
4662 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
4664 (compute_complex_assign_jump_func): Pass false to keep_null
4665 parameter of ipa_set_ancestor_jf.
4666 (compute_complex_ancestor_jump_func): Pass true to keep_null
4667 parameter of ipa_set_ancestor_jf.
4668 (update_jump_functions_after_inlining): Carry over keep_null from the
4669 original ancestor jump-function or merge them.
4670 (ipa_write_jump_function): Stream keep_null flag.
4671 (ipa_read_jump_function): Likewise.
4672 (ipa_print_node_jump_functions_for_edge): Print the new flag.
4673 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
4674 member function known_nonzero_p.
4675 (ipcp_bits_lattice::known_nonzero_p): New.
4676 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
4678 (ipcp_bits_lattice::meet_with): Likewise.
4679 (propagate_bits_across_jump_function): Simplify. Pass true in
4680 drop_all_ones when it is necessary.
4681 (propagate_aggs_across_jump_function): Take care of keep_null
4683 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
4686 2022-03-31 Martin Jambor <mjambor@suse.cz>
4689 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
4690 which do not fit the known value_range.
4692 2022-03-31 Martin Jambor <mjambor@suse.cz>
4695 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
4696 always when an ADDR_EXPR constant is known to reach a load because
4697 of inlining, not just when removing an ADDR reference.
4699 2022-03-31 Richard Biener <rguenther@suse.de>
4701 PR tree-optimization/105109
4702 * tree-ssa.cc (execute_update_addresses_taken): Suppress
4703 diagnostics on the load of the other complex component.
4705 2022-03-31 Tom de Vries <tdevries@suse.de>
4707 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
4709 2022-03-31 Richard Biener <rguenther@suse.de>
4711 PR rtl-optimization/105091
4712 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
4715 2022-03-31 Richard Biener <rguenther@suse.de>
4718 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
4721 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
4722 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
4724 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
4726 * gcov-io.cc (gcov_read_string): Reword documentation comment.
4728 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
4730 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
4732 (NEG_V4SF): Likewise.
4733 (NEG_V4SI): Likewise.
4734 (NEG_V8HI): Likewise.
4735 (NEG_V2DF): Move to [vsx] stanza.
4736 (NEG_V2DI): Likewise.
4738 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
4740 PR middle-end/105032
4741 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
4743 2022-03-30 Tom de Vries <tdevries@suse.de>
4744 Tobias Burnus <tobias@codesourcery.com>
4746 * doc/invoke.texi (march): Document __PTX_SM__.
4747 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
4748 __PTX_ISA_VERSION_MINOR__.
4750 2022-03-30 Jakub Jelinek <jakub@redhat.com>
4753 * ubsan.cc (instrument_object_size): If t is equal to inner and
4754 is a decl other than global var, punt. When emitting call to
4755 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
4757 2022-03-30 Jakub Jelinek <jakub@redhat.com>
4759 PR tree-optimization/105094
4760 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
4761 bitsize <= 0 rather than just == 0.
4763 2022-03-30 Tom de Vries <tdevries@suse.de>
4765 * doc/invoke.texi (misa, mptx): Update.
4766 (march, march-map): Add.
4768 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
4770 * opt-functions.awk (n_args): New function.
4771 (lang_enabled_by): Merge function into...
4772 * optc-gen.awk <END>: ... sole user here.
4773 Improve diagnostics.
4775 2022-03-29 Marek Polacek <polacek@redhat.com>
4776 Jakub Jelinek <jakub@redhat.com>
4778 PR middle-end/103597
4779 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
4780 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
4781 (gimplify_cond_expr): Set UNUSED_LABEL_P.
4782 * tree.h (UNUSED_LABEL_P): New.
4784 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
4786 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
4787 be any VSX register.
4789 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
4792 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
4793 zero-sized bit-fields. Detect cases where a warning may be needed.
4794 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
4795 zero-sized bit-field has caused parameter passing to change.
4797 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
4800 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
4801 bit-fields. Detect cases where a warning may be needed.
4802 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
4803 a zero-sized bit-field has caused parameter passing to change.
4805 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
4808 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
4809 ARM_PCS_AAPCS_LOCAL.
4811 2022-03-29 Tom de Vries <tdevries@suse.de>
4814 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
4815 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
4816 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
4817 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
4819 2022-03-29 Tom de Vries <tdevries@suse.de>
4821 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
4824 2022-03-29 Tom de Vries <tdevries@suse.de>
4827 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
4829 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
4831 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
4832 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
4833 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
4834 (TARGET_USE_GATHER_4PARTS): New macro.
4835 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
4836 (X86_TUNE_USE_GATHER_4PARTS): New tune
4838 2022-03-29 Tom de Vries <tdevries@suse.de>
4840 * config/nvptx/nvptx.opt (march): Add alias of misa.
4842 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
4843 Lulu Cheng <chenglulu@loongson.cn>
4845 * doc/install.texi: Add LoongArch options section.
4846 * doc/invoke.texi: Add LoongArch options section.
4847 * doc/md.texi: Add LoongArch options section.
4849 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
4850 Lulu Cheng <chenglulu@loongson.cn>
4852 * config/loongarch/loongarch-c.cc
4854 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
4855 Lulu Cheng <chenglulu@loongson.cn>
4857 * config/loongarch/larchintrin.h: New file.
4858 * config/loongarch/loongarch-builtins.cc: New file.
4860 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
4861 Lulu Cheng <chenglulu@loongson.cn>
4863 * config/host-linux.cc: Add LoongArch support.
4864 * config/loongarch/loongarch-protos.h: New file.
4865 * config/loongarch/loongarch-tune.h: Likewise.
4866 * config/loongarch/loongarch.cc: Likewise.
4867 * config/loongarch/loongarch.h: Likewise.
4869 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
4870 Lulu Cheng <chenglulu@loongson.cn>
4872 * config/loongarch/constraints.md: New file.
4873 * config/loongarch/generic.md: New file.
4874 * config/loongarch/la464.md: New file.
4875 * config/loongarch/loongarch-ftypes.def: New file.
4876 * config/loongarch/loongarch-modes.def: New file.
4877 * config/loongarch/loongarch.md: New file.
4878 * config/loongarch/predicates.md: New file.
4879 * config/loongarch/sync.md: New file.
4881 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
4882 Lulu Cheng <chenglulu@loongson.cn>
4884 * configure: Regenerate file.
4886 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
4887 Lulu Cheng <chenglulu@loongson.cn>
4889 * common/config/loongarch/loongarch-common.cc: New file.
4890 * config/loongarch/genopts/genstr.sh: New file.
4891 * config/loongarch/genopts/loongarch-strings: New file.
4892 * config/loongarch/genopts/loongarch.opt.in: New file.
4893 * config/loongarch/loongarch-str.h: New file.
4894 * config/loongarch/gnu-user.h: New file.
4895 * config/loongarch/linux.h: New file.
4896 * config/loongarch/loongarch-cpu.cc: New file.
4897 * config/loongarch/loongarch-cpu.h: New file.
4898 * config/loongarch/loongarch-def.c: New file.
4899 * config/loongarch/loongarch-def.h: New file.
4900 * config/loongarch/loongarch-driver.cc: New file.
4901 * config/loongarch/loongarch-driver.h: New file.
4902 * config/loongarch/loongarch-opts.cc: New file.
4903 * config/loongarch/loongarch-opts.h: New file.
4904 * config/loongarch/loongarch.opt: New file.
4905 * config/loongarch/t-linux: New file.
4906 * config/loongarch/t-loongarch: New file.
4907 * config.gcc: Add LoongArch support.
4908 * configure.ac: Add LoongArch support.
4910 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
4912 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
4915 2022-03-29 Richard Biener <rguenther@suse.de>
4917 PR tree-optimization/105080
4918 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
4921 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
4923 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
4924 (output_ctf_vars): Likewise.
4926 2022-03-28 Jason Merrill <jason@redhat.com>
4929 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
4931 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
4934 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
4937 2022-03-28 Tom de Vries <tdevries@suse.de>
4940 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
4941 * config/nvptx/nvptx-gen.opt: Regenerate.
4942 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
4943 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
4946 2022-03-28 David Malcolm <dmalcolm@redhat.com>
4949 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
4950 to loads then stores, set the location of the new load stmt.
4952 2022-03-28 Richard Biener <rguenther@suse.de>
4954 PR tree-optimization/105070
4955 * tree-switch-conversion.h
4956 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
4958 * tree-switch-conversion.cc
4959 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
4961 (bit_test_cluster::emit): Annotate all generated expressions
4964 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
4966 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
4968 2022-03-28 liuhongt <hongtao.liu@intel.com>
4971 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
4972 alternative 4 from sse4_noavx to noavx.
4974 2022-03-28 Jakub Jelinek <jakub@redhat.com>
4976 PR tree-optimization/105056
4977 * tree-predcom.cc (component::component): Initialize also comp_step.
4979 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
4982 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
4985 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
4987 PR middle-end/104885
4988 * calls.cc (mark_stack_region_used): Check that the region
4989 is within the allocated size of stack_usage_map.
4991 2022-03-26 Jakub Jelinek <jakub@redhat.com>
4993 PR rtl-optimization/103775
4994 * recog.cc (check_invalid_inc_dec): New function.
4995 (insn_invalid_p): Return 1 if REG_INC operand overlaps
4998 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
5001 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
5002 (aes<aesklvariant>u8): Likewise.
5004 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
5007 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
5008 Replace "Yv" with "x".
5009 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
5010 (ssse3_psign<mode>3): Likewise.
5012 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
5014 * reload.cc (find_reloads): Align comment with code where
5015 considering the intersection of register classes then tweaking the
5016 regclass for the current alternative or rejecting it.
5018 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
5022 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
5024 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
5025 (mve_vec_unpack<US>_hi_<mode>): Delete.
5026 (@mve_vec_pack_trunc_lo_<mode>): Delete.
5027 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
5028 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
5030 (vec_unpack<US>_lo_<mode>): Likewise.
5031 (vec_pack_trunc_<mode>): Rename from
5032 neon_quad_vec_pack_trunc_<mode>.
5033 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
5034 (vec_unpack<US>_lo_<mode>): Delete.
5035 (vec_pack_trunc_<mode>): Delete.
5037 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
5039 PR middle-end/104971
5040 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
5041 regs to clear remove_p flag.
5043 2022-03-25 Richard Biener <rguenther@suse.de>
5045 PR tree-optimization/105053
5046 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
5047 the correct live-out stmt for a reduction chain.
5049 2022-03-25 Richard Biener <rguenther@suse.de>
5051 PR middle-end/105049
5052 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
5053 CONSTRUCTOR first elements.
5055 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
5058 * doc/invoke.texi (Static Analyzer Options): Move
5059 @ignore block after @gccoptlist's '}' for 'make pdf'.
5061 2022-03-25 David Malcolm <dmalcolm@redhat.com>
5064 * doc/invoke.texi (Static Analyzer Options): Add
5065 -fdump-analyzer-untracked.
5067 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
5070 * doc/invoke.texi: Document that enabling taint analyzer
5071 checker disables some warnings from `-fanalyzer`.
5073 2022-03-24 Alexandre Oliva <oliva@adacore.com>
5076 * gimple-harden-conditionals.cc (detach_value): Keep temps
5079 2022-03-24 Alexandre Oliva <oliva@adacore.com>
5081 PR middle-end/104975
5082 * gimple-harden-conditionals.cc
5083 (pass_harden_compares::execute): Force split in case of
5086 2022-03-24 Jakub Jelinek <jakub@redhat.com>
5089 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
5090 field0 or field1 is not a FIELD_DECL, return false.
5092 2022-03-24 Richard Biener <rguenther@suse.de>
5094 * tree-predcom.cc (chain::chain): Add CTOR.
5095 (component::component): Likewise.
5096 (pcom_worker::release_chain): Use delete.
5097 (release_components): Likewise.
5098 (pcom_worker::filter_suitable_components): Likewise.
5099 (pcom_worker::split_data_refs_to_components): Use new.
5100 (make_invariant_chain): Likewise.
5101 (make_rooted_chain): Likewise.
5102 (pcom_worker::combine_chains): Likewise.
5103 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
5104 Make sure to release previously constructed scalar_results.
5105 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
5107 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
5108 Release m_flag_set_edges.
5110 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
5112 PR tree-optimization/104970
5113 * tree-object-size.cc (parm_object_size): Restrict size
5114 computation scenarios to explicit access attributes.
5116 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
5119 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
5122 2022-03-23 Richard Biener <rguenther@suse.de>
5125 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
5126 use of movmisalign when either the source or destination
5127 decl is properly aligned.
5129 2022-03-23 Richard Biener <rguenther@suse.de>
5131 PR rtl-optimization/105028
5132 * ira-color.cc (form_threads_from_copies): Remove unnecessary
5133 copying of the sorted_copies tail.
5135 2022-03-23 Martin Liska <mliska@suse.cz>
5137 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
5139 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
5140 Reword the error message.
5142 2022-03-23 liuhongt <hongtao.liu@intel.com>
5145 * config/i386/sse.md (ssePSmodelower): New.
5146 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
5147 lowpart_subreg to avoid NULL_RTX.
5148 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
5149 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
5150 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
5151 <avx512>_<complexopname>_<mode>_mask<round_name>,
5152 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
5153 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
5154 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
5155 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
5156 float<floatunssuffix><mode>v4hf2,
5157 float<floatunssuffix>v2div2hf2,
5158 fix<fixunssuffix>_truncv4hf<mode>2,
5159 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
5161 trunc<mode>v4hf2,truncv2dfv2hf2,
5162 *avx512bw_permvar_truncv16siv16hi_1,
5163 *avx512bw_permvar_truncv16siv16hi_1_hf,
5164 *avx512f_permvar_truncv8siv8hi_1,
5165 *avx512f_permvar_truncv8siv8hi_1_hf,
5166 *avx512f_vpermvar_truncv8div8si_1,
5167 *avx512f_permvar_truncv32hiv32qi_1,
5168 *avx512f_permvar_truncv16hiv16qi_1,
5169 *avx512f_permvar_truncv4div4si_1,
5170 *avx512f_pshufb_truncv8hiv8qi_1,
5171 *avx512f_pshufb_truncv4siv4hi_1,
5172 *avx512f_pshufd_truncv2div2si_1,
5173 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
5174 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
5176 2022-03-22 Tom de Vries <tdevries@suse.de>
5179 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
5180 Use % as register prefix.
5182 2022-03-22 Tom de Vries <tdevries@suse.de>
5184 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
5185 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
5188 2022-03-22 Tom de Vries <tdevries@suse.de>
5190 * config/nvptx/nvptx.opt (mexperimental): New option.
5192 2022-03-22 Tom de Vries <tdevries@suse.de>
5195 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
5196 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
5198 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
5199 (nvptx_asm_output_def_from_decls): New function.
5200 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
5202 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
5203 nvptx_asm_output_def_from_decls.
5204 * config/nvptx/nvptx.opt (malias): New opt.
5206 2022-03-22 Tom de Vries <tdevries@suse.de>
5210 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
5211 sync (or uniform warp check for mptx < 6.0).
5213 2022-03-22 Richard Biener <rguenther@suse.de>
5215 PR tree-optimization/105012
5216 * tree-if-conv.cc (ifcvt_local_dce): Only call
5217 dse_classify_store when we have a VDEF.
5219 2022-03-22 Martin Liska <mliska@suse.cz>
5222 * config/nvptx/nvptx.cc (handle_ptx_version_option):
5223 Fix option wrapping in an error message.
5225 2022-03-22 Martin Liska <mliska@suse.cz>
5228 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
5231 2022-03-22 Martin Liska <mliska@suse.cz>
5233 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
5236 2022-03-22 Martin Liska <mliska@suse.cz>
5239 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
5240 Use %qs instead of (%qs).
5242 2022-03-22 Martin Liska <mliska@suse.cz>
5245 * config/i386/i386-options.cc (ix86_option_override_internal):
5246 Use '%qs' instead of '(%qs)'.
5248 2022-03-22 Martin Liska <mliska@suse.cz>
5251 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
5252 Use 'qs' and remove usage '(%qs)'.
5253 (aarch64_handle_attr_cpu): Likewise.
5254 (aarch64_handle_attr_tune): Likewise.
5255 (aarch64_handle_attr_isa_flags): Likewise.
5257 2022-03-22 Tamar Christina <tamar.christina@arm.com>
5258 Andre Vieira <andre.simoesdiasvieira@arm.com>
5260 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
5262 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
5264 (neoverse512tvb_tunings): Likewise.
5266 2022-03-22 Tamar Christina <tamar.christina@arm.com>
5267 Andre Vieira <andre.simoesdiasvieira@arm.com>
5269 * config/aarch64/aarch64.cc (demeter_addrcost_table,
5270 demeter_regmove_cost, demeter_advsimd_vector_cost,
5271 demeter_sve_vector_cost, demeter_scalar_issue_info,
5272 demeter_advsimd_issue_info, demeter_sve_issue_info,
5273 demeter_vec_issue_info, demeter_vector_cost,
5274 demeter_tunings): New tuning structs.
5275 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
5277 * config/aarch64/aarch64-cores.def: Add entry for demeter.
5278 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
5280 2022-03-22 Tamar Christina <tamar.christina@arm.com>
5281 Andre Vieira <andre.simoesdiasvieira@arm.com>
5283 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
5284 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
5285 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
5286 tunings to use cpu_memmov_cost struct.
5288 2022-03-22 Tamar Christina <tamar.christina@arm.com>
5289 Andre Vieira <andre.simoesdiasvieira@arm.com>
5291 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
5292 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
5293 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
5294 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
5295 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
5296 (neoversen2_tunings): Use new structs and update tuning flags.
5297 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
5300 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
5302 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
5305 2022-03-22 liuhongt <hongtao.liu@intel.com>
5308 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
5309 following splitter to reversed condition.
5311 2022-03-22 Jakub Jelinek <jakub@redhat.com>
5313 PR rtl-optimization/104989
5314 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
5315 sorry for passing too large argument, instead set sibcall_failure
5316 for pass == 0, or a new normal_failure flag otherwise. If
5317 normal_failure is set, don't assert all stack has been deallocated
5318 at the end and throw away the whole insn sequence.
5320 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
5322 * print-tree.cc: Change array length
5324 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
5327 * config/i386/sse.md
5328 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
5329 Use avx512f_movsf_mask instead of vmovaps or vblend, and
5330 force_reg before lowpart_subreg.
5331 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
5333 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
5336 * common/config/i386/i386-common.cc
5337 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
5338 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
5340 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
5343 * common/config/i386/cpuinfo.h (get_available_features): Pass
5344 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
5347 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
5349 PR middle-end/104869
5350 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
5351 (clobber_group::next_clobber): Likewise.
5352 (def_lookup::prev_def): Rename to...
5353 (def_lookup::last_def_of_prev_group): ...this.
5354 (def_lookup::next_def): Rename to...
5355 (def_lookup::first_def_of_next_group): ...this.
5356 (def_lookup::matching_or_prev_def): Rename to...
5357 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
5358 (def_lookup::matching_or_next_def): Rename to...
5359 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
5360 (def_lookup::prev_def): New function, taking the lookup insn as
5362 (def_lookup::next_def): Likewise.
5363 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
5364 (def_lookup::last_def_of_prev_group): ...this.
5365 (def_lookup::next_def): Rename to...
5366 (def_lookup::first_def_of_next_group): ...this.
5367 (def_lookup::matching_or_prev_def): Rename to...
5368 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
5369 (def_lookup::matching_or_next_def): Rename to...
5370 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
5371 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
5373 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
5374 (clobber_group::next_clobber): Likewise.
5375 (def_lookup::prev_def): Likewise.
5376 (def_lookup::next_def): Likewise.
5377 (function_info::make_use_available): Pass the lookup insn to
5378 def_lookup::prev_def and def_lookup::next_def.
5380 2022-03-21 Martin Liska <mliska@suse.cz>
5382 * doc/invoke.texi: Document min-pagesize parameter.
5384 2022-03-21 Richard Biener <rguenther@suse.de>
5386 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
5387 we are estimating niter of loop.
5389 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
5391 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
5392 Update flag name and mask name.
5393 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
5394 misc macro for vector extensions.
5395 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
5396 (MASK_VECTOR_ELEN_32): ... this.
5397 (MASK_VECTOR_EEW_64): Rename to ...
5398 (MASK_VECTOR_ELEN_64): ... this.
5399 (MASK_VECTOR_EEW_FP_32): Rename to ...
5400 (MASK_VECTOR_ELEN_FP_32): ... this.
5401 (MASK_VECTOR_EEW_FP_64): Rename to ...
5402 (MASK_VECTOR_ELEN_FP_64): ... this.
5403 (TARGET_VECTOR_ELEN_32): New.
5404 (TARGET_VECTOR_ELEN_64): Ditto.
5405 (TARGET_VECTOR_ELEN_FP_32): Ditto.
5406 (TARGET_VECTOR_ELEN_FP_64): Ditto.
5407 (TARGET_MIN_VLEN): Ditto.
5408 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
5409 (riscv_vector_elen_flags): ... this.
5411 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
5414 * config/i386/sse.md
5415 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
5416 Correct round operand for intel dialect.
5418 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
5420 * diagnostic.cc (diagnostic_cc_tests): Rename to...
5421 (c_diagnostic_cc_tests): ...this.
5422 * opt-problem.cc (opt_problem_cc_tests): Rename to...
5423 (c_opt_problem_cc_tests): ...this.
5424 * selftest-run-tests.cc (selftest::run_tests): No longer run
5425 opt_problem_cc_tests or diagnostic_cc_tests.
5426 * selftest.h (diagnostic_cc_tests): Remove declaration.
5427 (opt_problem_cc_tests): Likewise.
5429 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
5432 * hash-traits.h (struct typed_const_free_remove): New.
5433 (struct free_string_hash): New.
5434 * pass_manager.h: Use free_string_hash.
5435 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
5436 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
5438 2022-03-19 Jakub Jelinek <jakub@redhat.com>
5440 PR middle-end/104971
5441 * config/i386/i386-expand.cc
5442 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
5443 don't push/pop anything and just return const0_rtx.
5445 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
5447 PR rtl-optimization/104961
5448 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
5450 2022-03-18 Jason Merrill <jason@redhat.com>
5452 * tree.h (IDENTIFIER_LENGTH): Add comment.
5454 2022-03-18 Jakub Jelinek <jakub@redhat.com>
5457 PR middle-end/100680
5458 PR tree-optimization/100834
5459 * params.opt (--param=min-pagesize=): New parameter.
5461 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
5462 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
5463 of zero for pointer constants equal or larger than min-pagesize.
5465 2022-03-18 Tom de Vries <tdevries@suse.de>
5467 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
5468 Set gfor location only when dealing with a OMP_TASKLOOP.
5470 2022-03-18 Tom de Vries <tdevries@suse.de>
5472 * gimplify.cc (gimplify_omp_for): Set taskloop location.
5474 2022-03-18 Tom de Vries <tdevries@suse.de>
5477 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
5478 is executed unconditionally.
5480 2022-03-18 liuhongt <hongtao.liu@intel.com>
5483 * config/i386/i386.md (*movhi_internal): Set attr type from HI
5484 to HF for alternative 12 under TARGET_AVX512FP16.
5486 2022-03-18 Cui,Lili <lili.cui@intel.com>
5489 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
5490 * doc/invoke.texi: Update documents for Intel sapphirerapids.
5492 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
5495 PR tree-optimization/90356
5496 * config/i386/i386.md (*movtf_internal): Don't guard
5497 standard_sse_constant_p clause by optimize_function_for_size_p.
5498 (*movdf_internal): Likewise.
5499 (*movsf_internal): Likewise.
5501 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
5503 PR tree-optimization/102943
5504 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
5505 dominators and apply intermediary outgoing edge ranges.
5507 2022-03-17 Richard Biener <rguenther@suse.de>
5509 PR tree-optimization/104960
5510 * passes.def: Add pass parameter to pass_sink_code, mark
5511 last one to unsplit edges.
5512 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
5513 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
5514 when we need to unsplit edges.
5516 2022-03-17 Jakub Jelinek <jakub@redhat.com>
5518 PR middle-end/103984
5519 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
5520 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
5521 and asan unpoisioning, then append the temporary sequence and
5522 finally the TARGET_EXPR_CLEANUP clobbers.
5524 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
5526 * config/i386/sse.md: Delete corrupt character/typo.
5528 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
5531 * config/i386/sse.md (sse2_movq128): New define_expand to
5532 preserve previous named instruction.
5533 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
5534 generalized to VI8F_128 (both V2DI and V2DF).
5536 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
5538 PR tree-optimization/104941
5539 * tree-object-size.cc (size_for_offset): Make useless conversion
5540 check lighter and assign result of fold_convert to OFFSET.
5542 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
5545 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
5546 pushing target("general-regs-only").
5548 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
5550 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
5551 Add version info for zk, zks and zkn.
5553 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
5555 * common/config/riscv/riscv-common.cc
5556 (riscv_combine_info): New.
5557 (riscv_subset_list::handle_combine_ext): Combine back into zk to
5558 maintain the canonical order in isa strings.
5559 (riscv_subset_list::parse): Ditto.
5560 * config/riscv/riscv-subset.h (handle_combine_ext): New.
5562 2022-03-16 Richard Biener <rguenther@suse.de>
5564 PR tree-optimization/102008
5565 * passes.def: Move the added code sinking pass before the
5566 preceeding phiopt pass.
5568 2022-03-16 Patrick Palka <ppalka@redhat.com>
5571 * doc/invoke.texi (C++ Dialect Options): Document
5572 -ffold-simple-inlines.
5574 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
5576 PR tree-optimization/104942
5577 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
5579 2022-03-16 Jakub Jelinek <jakub@redhat.com>
5582 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
5585 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
5586 Richard Biener <rguenther@suse.de>
5588 * gimple-match-head.cc (single_use): Implement inline using a
5591 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
5593 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
5594 instead of HONOR_NANS.
5595 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
5596 this can't trap/signal.
5598 2022-03-16 liuhongt <hongtao.liu@intel.com>
5601 * config/i386/i386-builtin.def (BDESC): Add
5602 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
5603 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
5604 __builtin_ia32_blendvpd w/o sse4.2
5606 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
5609 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
5610 acceptable MEM addresses.
5612 2022-03-15 Jakub Jelinek <jakub@redhat.com>
5615 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
5616 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
5619 2022-03-15 Jakub Jelinek <jakub@redhat.com>
5622 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
5623 instead of general-regs-only.
5625 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
5626 Marc Glisse <marc.glisse@inria.fr>
5627 Richard Biener <rguenther@suse.de>
5629 PR tree-optimization/101895
5630 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
5631 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
5633 2022-03-15 Jakub Jelinek <jakub@redhat.com>
5635 PR rtl-optimization/104814
5636 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
5637 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
5639 2022-03-15 Martin Sebor <msebor@redhat.com>
5641 PR middle-end/104436
5642 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
5643 Check for warning suppression. Avoid by-value arguments transformed
5644 into by-transparent-reference.
5646 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
5647 Uroš Bizjak <ubizjak@gmail.com>
5649 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
5650 transformation when *zero_extend<mode>si2 is not available.
5652 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
5654 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
5655 * config/mips/mips.cc (mips_option_override): Make
5656 -fsanitize=address imply -fasynchronous-unwind-tables. This is
5657 needed by libasan for stack backtrace on MIPS.
5658 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
5660 2022-03-14 Jakub Jelinek <jakub@redhat.com>
5663 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
5664 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
5665 call simplified the first operand into VOIDmode constant.
5667 2022-03-14 Jakub Jelinek <jakub@redhat.com>
5669 PR tree-optimization/102586
5670 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
5671 argument type should be pointer to trivially-copyable type unless it
5672 is address of a variable or parameter.
5674 2022-03-14 Jakub Jelinek <jakub@redhat.com>
5677 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
5678 first rather than last element of the vector, use __m32_u to do
5679 a really unaligned load, use just 0 instead of (int)0.
5680 (_mm_loadu_si16): Put loaded value into first rather than last
5681 element of the vector, use __m16_u to do a really unaligned load,
5682 use just 0 instead of (short)0.
5684 2022-03-14 Jakub Jelinek <jakub@redhat.com>
5687 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
5688 in diagnostic message - cannott -> cannot. Use %< and %> around
5689 names of attribute. Avoid too long line.
5690 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
5691 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
5693 2022-03-14 liuhongt <hongtao.liu@intel.com>
5696 * config/i386/i386-expand.cc
5697 (ix86_check_builtin_isa_match): New func.
5698 (ix86_expand_builtin): Move code to
5699 ix86_check_builtin_isa_match and call it.
5700 * config/i386/i386-protos.h
5701 (ix86_check_builtin_isa_match): Declare.
5702 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
5703 builtin into gimple when isa mismatches.
5705 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
5707 * doc/invoke.texi: Fix typos.
5708 * doc/tm.texi.in: Remove duplicated word.
5709 * doc/tm.texi: Regenerate.
5711 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
5714 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
5715 "ppc" and "ppc64" based on rs6000_cpu.
5717 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
5719 PR middle-end/100280
5720 PR middle-end/104892
5721 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
5722 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
5724 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
5726 PR middle-end/100280
5727 PR middle-end/104086
5728 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
5729 Mark variables used in 'present' clauses as addressable.
5730 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
5731 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
5733 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
5736 * tree-core.h (user_omp_claus_code_name): Declare function.
5737 * tree.cc (user_omp_clause_code_name): New function.
5739 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
5742 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
5743 (the defaut) or -fno-signed-zeros.
5745 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
5748 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
5749 moving from a GPR register to an Altivec register.
5751 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
5753 PR tree-optimization/98335
5754 * config/i386/i386.md (peephole2): Eliminate redundant insv.
5755 Combine movl followed by movb. Transform xorl followed by
5756 a suitable movb or movw into the equivalent movz[bw]l.
5758 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
5759 Richard Biener <rguenther@suse.de>
5761 PR tree-optimization/98335
5762 * builtins.cc (get_object_alignment_2): Export.
5763 * builtins.h (get_object_alignment_2): Likewise.
5764 * tree-ssa-alias.cc (ao_ref_alignment): New.
5765 * tree-ssa-alias.h (ao_ref_alignment): Declare.
5766 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
5767 to align head/tail, writing more bytes but using fewer store insns.
5769 2022-03-11 Richard Biener <rguenther@suse.de>
5771 PR tree-optimization/104880
5772 * tree-ssa.cc (execute_update_address_taken): Remember if we
5773 optimistically made something not addressable and
5776 2022-03-11 Richard Biener <rguenther@suse.de>
5779 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
5780 cost the first lane of SSE pieces as inserts for vec_construct.
5782 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
5785 * calls.cc (expand_call): Ignore stack adjustments after sorry.
5787 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
5790 * lra-constraints.cc (split_reg): Set up
5791 check_and_force_assignment_correctness_p when splitting hard
5792 register live range.
5794 2022-03-10 Martin Jambor <mjambor@suse.cz>
5797 * ipa-cp.cc (create_specialized_node): Move removal of
5798 self-recursive calls from callers vector before refrence
5801 2022-03-10 Richard Biener <rguenther@suse.de>
5803 PR tree-optimization/102943
5804 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
5806 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
5808 (sbr_sparse_bitmap::set_bb_range): Adjust.
5809 (sbr_sparse_bitmap::get_bb_range): Likewise.
5811 2022-03-10 Richard Biener <rguenther@suse.de>
5813 PR tree-optimization/102943
5814 * tree-ssa-dom.cc (back_propagate_equivalences): Only
5815 populate the dominance bitmap if fast queries are not
5816 available. Use a tree view bitmap.
5817 (record_temporary_equivalences): Cache the dominance bitmap
5818 across all equivalences on the edge.
5820 2022-03-10 Tom de Vries <tdevries@suse.de>
5823 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
5826 2022-03-10 Tom de Vries <tdevries@suse.de>
5829 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
5830 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
5831 (nvptx_get_unisimt_outside_simt_predicate): New function.
5832 (predicate_insn): New function, factored out of ...
5833 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
5834 * config/nvptx/nvptx.h (struct machine_function): Add
5835 unisimt_outside_simt_predicate field.
5836 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
5837 (define_insn "nvptx_uniform_warp_check"): Make predicable.
5839 2022-03-10 Tom de Vries <tdevries@suse.de>
5841 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
5844 2022-03-10 Tom de Vries <tdevries@suse.de>
5847 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
5849 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
5851 2022-03-10 Tom de Vries <tdevries@suse.de>
5853 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
5854 Emit atom.and.b64 instead of atom.b64.and.
5856 2022-03-10 Tom de Vries <tdevries@suse.de>
5858 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
5859 (MULTILIB_OPTIONS): ... here.
5861 2022-03-10 Tom de Vries <tdevries@suse.de>
5864 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
5865 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
5867 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
5870 PR middle-end/102330
5871 PR middle-end/104774
5872 * omp-low.cc (oacc_privatization_candidate_p)
5873 (oacc_privatization_scan_clause_chain)
5874 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
5875 Analyze 'lookup_decl'-translated DECL.
5877 2022-03-10 Jakub Jelinek <jakub@redhat.com>
5880 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
5881 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
5882 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
5883 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
5884 "**NULL**" if type_node is NULL first. Handle
5885 ieee128_float_type_node.
5886 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
5887 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
5888 ieee128_float_type_node to NULL rather than long_double_type_node if
5889 they aren't supported. Do support __ibm128 even if
5890 !TARGET_FLOAT128_TYPE when long double is double double.
5891 (rs6000_expand_builtin): Error if bif_is_ibm128 and
5892 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
5893 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
5895 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
5896 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
5897 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
5898 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
5900 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
5901 (struct attrinfo): Add isibm128 member.
5902 (TYPE_MAP_SIZE): Remove.
5903 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
5904 ibm128_float_type_node only if it is non-NULL, otherwise fall back
5905 to long_double_type_node. Remove "pif" entry.
5906 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
5907 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
5908 (write_type_node): Use sizeof type_map / sizeof type_map[0]
5909 instead of TYPE_MAP_SIZE.
5910 (write_bif_static_init): Handle isibm128.
5911 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
5912 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
5915 2022-03-09 Richard Biener <rguenther@suse.de>
5917 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
5918 with non-decl operand, avoiding a copy.
5920 2022-03-09 Jakub Jelinek <jakub@redhat.com>
5923 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
5925 2022-03-09 Richard Biener <rguenther@suse.de>
5927 PR middle-end/104786
5928 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
5929 for VLAs without an upper size bound.
5931 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
5933 PR tree-optimization/104851
5934 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
5937 2022-03-09 Jakub Jelinek <jakub@redhat.com>
5940 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
5941 is enabled by it only for C++11 to C++17 rather than for C++03 or
5943 (-Wshift-negative-value): Similarly (except here we stated
5944 that it is enabled for C++11 or later).
5946 2022-03-09 Jakub Jelinek <jakub@redhat.com>
5948 PR rtl-optimization/104839
5949 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
5950 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
5951 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
5952 instead of incorrect 0 in SUBREG_PROMOTED_SET.
5954 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
5957 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
5958 value before adding an offset.
5960 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
5962 * config/arm/arm-builtins.cc
5963 (arm_binop_none_none_unone_qualifiers): Delete.
5964 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
5966 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
5968 PR translation/104552
5969 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
5970 the PCH out of memory error message punctuation and wording.
5972 2022-03-08 Marek Polacek <polacek@redhat.com>
5974 PR rtl-optimization/104777
5975 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
5976 ASM_OPERANDS_LABEL_VEC has at least one element.
5978 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
5981 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
5982 stack realignment or regparm nested function with EH return.
5984 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
5987 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
5988 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
5989 register for non widening loads or narrowing stores.
5991 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
5993 PR translation/104552
5994 * params.opt: Fix typo.
5996 2022-03-08 Richard Biener <rguenther@suse.de>
5998 PR tree-optimization/84201
5999 * params.opt (-param=vect-induction-float): Add.
6000 * doc/invoke.texi (vect-induction-float): Document.
6001 * tree-vect-loop.cc (vectorizable_induction): Honor
6002 param_vect_induction_float.
6004 2022-03-08 Martin Jambor <mjambor@suse.cz>
6006 PR translation/104552
6007 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
6008 "that" in the description.
6010 2022-03-08 Richard Biener <rguenther@suse.de>
6012 PR tree-optimization/104825
6013 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
6014 guard modref get_ao_ref on a pointer typed argument.
6016 2022-03-08 liuhongt <hongtao.liu@intel.com>
6018 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
6019 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
6021 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
6023 * doc/invoke.texi (C++ Modules): Remove anachronism.
6025 2022-03-07 Martin Liska <mliska@suse.cz>
6027 PR middle-end/104381
6028 * opts.cc (finish_options): If debug info is disabled
6029 (debug_info_level) and -fvar-tracking is unset, disable it.
6031 2022-03-07 Jakub Jelinek <jakub@redhat.com>
6033 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
6034 * config/riscv/riscv.cc: Likewise.
6035 * config/darwin.h: Likewise.
6036 * config/i386/i386.cc: Likewise.
6037 * config/aarch64/thunderx3t110.md: Likewise.
6038 * config/aarch64/fractional-cost.h: Likewise.
6039 * config/vax/vax.cc: Likewise.
6040 * config/rs6000/pcrel-opt.md: Likewise.
6041 * config/rs6000/predicates.md: Likewise.
6043 * tree-ssa-uninit.cc: Likewise.
6044 * value-relation.h: Likewise.
6045 * gimple-range-gori.cc: Likewise.
6046 * ipa-polymorphic-call.cc: Likewise.
6047 * pointer-query.cc: Likewise.
6048 * ipa-sra.cc: Likewise.
6049 * internal-fn.cc: Likewise.
6050 * varasm.cc: Likewise.
6051 * gimple-ssa-warn-access.cc: Likewise.
6053 2022-03-07 Martin Liska <mliska@suse.cz>
6056 * config/arm/arm.cc (arm_option_override_internal): Add missing
6059 2022-03-07 Richard Biener <rguenther@suse.de>
6061 PR tree-optimization/104782
6062 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
6063 Re-instantiate r10-5979 fix, add comment.
6065 2022-03-07 Martin Liska <mliska@suse.cz>
6068 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
6069 parenthesis from built-in name.
6071 2022-03-07 Martin Liska <mliska@suse.cz>
6074 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
6075 of options in error messages.
6076 (arm_option_reconfigure_globals): Likewise.
6078 2022-03-07 Martin Liska <mliska@suse.cz>
6081 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
6082 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
6083 have only range [0,32].
6085 2022-03-07 Jakub Jelinek <jakub@redhat.com>
6088 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
6089 S constraint instead of T in the last alternative.
6091 2022-03-07 Martin Liska <mliska@suse.cz>
6093 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
6096 2022-03-07 Martin Liska <mliska@suse.cz>
6098 PR translation/90148
6099 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
6100 quote to a proper place.
6101 * plugin.cc (default_plugin_dir_name): Likewise.
6103 2022-03-07 Martin Liska <mliska@suse.cz>
6106 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
6109 2022-03-07 Jakub Jelinek <jakub@redhat.com>
6112 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
6113 define_expand pattern. Rename define_insn to ...
6114 (*avx512dq_mul<mode>3<mask_name>): ... this.
6115 (<code><mode>3_mask): New any_logic define_expand pattern.
6116 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
6117 (*<code><mode>3<mask_name>): ... this.
6119 2022-03-05 Jakub Jelinek <jakub@redhat.com>
6121 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
6122 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
6124 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
6125 Uroš Bizjak <ubizjak@gmail.com>
6128 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
6129 Include DI mode unconditionally.
6130 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
6131 i.e. always split on !TARGET_64BIT.
6132 (*<any_or>di3_doubleword): Likewise.
6133 (*one_cmpldi2_doubleword): Likewise.
6134 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
6135 (<any_or><mode>3 expander): Likewise.
6136 (one_cmpl<mode>2 expander): Likewise.
6138 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
6141 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
6142 (mtvsrdd_diti_w1): Delete.
6143 (extendditi2): Convert from define_expand to
6144 define_insn_and_split. Replace with code to deal with both GPR
6145 registers and with altivec registers.
6147 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
6149 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
6150 bit. Handle most older CPUs.
6152 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
6154 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
6155 avoid a mismatch with DECL_MD_FUNCTION_CODE().
6157 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
6160 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
6161 (@machopic_low_<mode>): New.
6162 * config/rs6000/predicates.md (macho_pic_address): New.
6163 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
6164 apply the TLS processing to Darwin.
6165 * lra-constraints.cc (process_address_1): Revert the changes
6168 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
6172 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
6173 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
6175 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
6177 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
6180 2022-03-04 Jakub Jelinek <jakub@redhat.com>
6182 PR middle-end/104529
6183 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
6184 on automatic objects which will be runtime initialized.
6186 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
6188 PR middle-end/100280
6189 PR middle-end/104132
6190 PR middle-end/104133
6191 * omp-low.cc (task_shared_vars): Rename to
6192 'make_addressable_vars'. Adjust all users.
6193 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
6194 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
6196 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
6198 PR middle-end/100280
6199 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
6200 * tree-core.h: Document it.
6201 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
6202 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
6203 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
6204 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
6207 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
6209 PR middle-end/100280
6210 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
6211 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
6212 '[...]' declared in block made addressable".
6214 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
6216 PR middle-end/100400
6217 PR middle-end/103836
6218 PR middle-end/104061
6219 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
6220 Catch 'GIMPLE_DEBUG'.
6222 2022-03-04 Jakub Jelinek <jakub@redhat.com>
6225 * tree.cc (warn_deprecated_use): For types prefer to use node
6226 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
6229 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
6232 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
6235 2022-03-03 Martin Sebor <msebor@redhat.com>
6237 PR middle-end/104761
6238 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
6239 mark_dfs_back_edges.
6241 2022-03-03 Martin Liska <mliska@suse.cz>
6243 * configure.ac: Use linker plug-in by default.
6244 * configure: Regenerate.
6246 2022-03-03 Martin Liska <mliska@suse.cz>
6248 * configure.ac: Now ld.mold support LTO plugin API, use it.
6249 * configure: Regenerate.
6251 2022-03-03 Tom de Vries <tdevries@suse.de>
6253 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
6255 2022-03-03 Tom de Vries <tdevries@suse.de>
6258 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
6260 2022-03-03 Tom de Vries <tdevries@suse.de>
6262 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
6264 2022-03-03 Jakub Jelinek <jakub@redhat.com>
6266 PR middle-end/104757
6267 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
6269 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
6270 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
6272 2022-03-03 Jakub Jelinek <jakub@redhat.com>
6274 PR middle-end/104558
6275 * calls.cc (store_one_arg): When not calling emit_push_insn
6276 because size_rtx is const0_rtx, call at least anti_adjust_stack
6277 on arg->locate.alignment_pad if !argblock and the alignment might
6280 2022-03-02 Alexandre Oliva <oliva@adacore.com>
6282 * lra-constraints.cc (undo_optional_reloads): Recognize and
6283 drop insns of multi-word move sequences, tolerate removal
6284 iteration on an already-removed clobber, and refuse to
6285 substitute original pseudos into clobbers.
6287 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
6289 PR middle-end/102276
6290 * common.opt (-Wtrivial-auto-var-init): New option.
6291 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
6292 (-ftrivial-auto-var-init): Update option;
6293 * gimplify.cc (emit_warn_switch_unreachable): New function.
6294 (warn_switch_unreachable_r): Rename to ...
6295 (warn_switch_unreachable_and_auto_init_r): This.
6296 (maybe_warn_switch_unreachable): Rename to ...
6297 (maybe_warn_switch_unreachable_and_auto_init): This.
6298 (gimplify_switch_expr): Update calls to renamed function.
6300 2022-03-02 Richard Biener <rguenther@suse.de>
6302 PR rtl-optimization/104686
6303 * ira-color.cc (object_conflicts_with_allocno_p): New function
6304 using a bitvector test instead of iterating when possible.
6305 (allocnos_conflict_p): Choose the best allocno to iterate over
6307 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
6310 2022-03-02 Jakub Jelinek <jakub@redhat.com>
6312 * cfg.cc (dump_edge_info): Dump goto_locus if present.
6314 2022-03-02 Jakub Jelinek <jakub@redhat.com>
6316 PR rtl-optimization/104589
6317 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
6318 INSN_LOCATION comparison with goto_locus.
6320 2022-03-02 Jakub Jelinek <jakub@redhat.com>
6322 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
6323 strlen_pass::before_dom_children): Comment spelling fixes.
6325 2022-03-02 Jakub Jelinek <jakub@redhat.com>
6327 * ipa-modref-tree.cc (modref_access_node::contains,
6328 modref_access_node::closer_pair_p, modref_access_node::insert,
6329 modref_access_node::insert_kill): Comment spelling fixes.
6330 * ipa-modref.cc: Likewise.
6331 (modref_summary::finalize, ignore_nondeterminism_p,
6332 class modref_access_analysis,
6333 modref_access_analysis::set_side_effects,
6334 modref_access_analysis::set_nondeterministic,
6335 modref_access_analysis::record_global_memory_load,
6336 modref_access_analysis::propagate, modref_access_analysis::analyze,
6337 struct escape_point, class modref_lattice, modref_lattice::merge,
6338 modref_lattice::merge_deref, class modref_eaf_analysis,
6339 modref_eaf_analysis::merge_call_lhs_flags,
6340 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
6341 modref_eaf_analysis::record_escape_points, remap_kills,
6342 update_escape_summary, remove_useless_summaries,
6343 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
6345 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
6347 * ipa-modref-tree.h (enum modref_special_parms,
6348 struct modref_access_node): Likewise.
6350 2022-03-01 Jakub Jelinek <jakub@redhat.com>
6352 PR tree-optimization/104715
6353 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
6354 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
6355 of a call if gimple_call_return_arg is equal to ptr, not just when it
6358 2022-03-01 Jakub Jelinek <jakub@redhat.com>
6360 * gimple-ssa-warn-access.cc (warn_string_no_nul,
6361 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
6362 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
6363 pass_waccess::check_alloca, pass_waccess::check_strcat,
6364 memmodel_to_uhwi, fntype_argno_type,
6365 pass_waccess::maybe_check_access_sizes,
6366 pass_waccess::check_call_access,
6367 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
6368 Comment spelling fixes.
6370 2022-03-01 Richard Biener <rguenther@suse.de>
6372 PR tree-optimization/104716
6373 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
6374 Check if we can copy the loop.
6376 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
6378 PR middle-end/104721
6379 * cfgexpand.cc (expand_gimple_basic_block): Clear
6380 currently_expanding_gimple_stmt when returning inside the loop.
6382 2022-03-01 Martin Liska <mliska@suse.cz>
6385 * multiple_target.cc (get_attr_len): Move to tree.c.
6386 (expand_target_clones): Remove single value checking.
6387 * tree.cc (get_target_clone_attr_len): New fn.
6388 * tree.h (get_target_clone_attr_len): Likewise.
6390 2022-03-01 Martin Liska <mliska@suse.cz>
6392 PR gcov-profile/104677
6393 * doc/invoke.texi: Document more .gcda file name generation.
6395 2022-03-01 Tom de Vries <tdevries@suse.de>
6398 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
6399 * config/nvptx/nvptx.md
6400 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
6402 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
6403 Use nvptx_register_or_complex_di_df_register_operand.
6405 2022-03-01 Tom de Vries <tdevries@suse.de>
6407 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
6408 * config/nvptx/gen-copyright.sh: New file.
6409 * config/nvptx/gen-h.sh: New file.
6410 * config/nvptx/gen-opt.sh: New file.
6411 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
6412 (TARGET_SM75, TARGET_SM80): Move ...
6413 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
6414 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
6415 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
6416 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
6417 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
6419 2022-03-01 Tom de Vries <tdevries@suse.de>
6421 * config/nvptx/gen-omp-device-properties.sh: New file.
6422 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
6424 2022-03-01 Tom de Vries <tdevries@suse.de>
6426 * config/nvptx/nvptx-sm.def: New file.
6427 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
6428 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
6429 * config/nvptx/nvptx.cc (sm_version_to_string)
6430 (nvptx_omp_device_kind_arch_isa): Same.
6432 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
6434 PR rtl-optimization/104154
6435 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
6436 comparison ifcvt passed us.
6438 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
6441 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
6442 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
6444 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
6446 PR tree-optimization/91384
6447 * config/i386/i386.md (peephole2): Eliminate final testl insn
6448 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
6449 transforming using *negsi_2 for the negation.
6451 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
6452 Eric Botcazou <ebotcazou@adacore.com>
6455 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
6456 register, copy it to a pseudo before calling simplify_gen_subreg.
6458 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
6460 PR rtl-optimization/104637
6461 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
6462 as possible on one subpass.
6464 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
6466 PR middle-end/104550
6467 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
6470 2022-02-28 Martin Liska <mliska@suse.cz>
6473 * main.cc (main): Use flag_checking instead of CHECKING_P
6474 and run toplev::finalize only if there is not error seen.
6476 2022-02-28 Richard Biener <rguenther@suse.de>
6478 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
6480 2022-02-28 Richard Biener <rguenther@suse.de>
6482 PR tree-optimization/104700
6483 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
6485 (find_or_generate_expression): ... here, simplifying code.
6487 2022-02-28 Tom de Vries <tdevries@suse.de>
6489 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
6490 PTX_VERSION_default.
6491 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
6492 PTX_VERSION_default.
6493 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
6495 2022-02-28 Richard Biener <rguenther@suse.de>
6497 PR rtl-optimization/104686
6498 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
6499 skipping bits that are zero.
6500 (ira_object_conflict_iter_cond): Likewise.
6502 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
6504 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
6505 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
6506 char to avoid error when using ~enum as parameter.
6507 (_mm512_mask_ternarylogic_epi64): Likewise.
6508 (_mm512_maskz_ternarylogic_epi64): Likewise.
6509 (_mm512_ternarylogic_epi32): Likewise.
6510 (_mm512_mask_ternarylogic_epi32): Likewise.
6511 (_mm512_maskz_ternarylogic_epi32): Likewise.
6512 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
6513 Adjust imm param type to unsigned char.
6514 (_mm256_mask_ternarylogic_epi64): Likewise.
6515 (_mm256_maskz_ternarylogic_epi64): Likewise.
6516 (_mm256_ternarylogic_epi32): Likewise.
6517 (_mm256_mask_ternarylogic_epi32): Likewise.
6518 (_mm256_maskz_ternarylogic_epi32): Likewise.
6519 (_mm_ternarylogic_epi64): Likewise.
6520 (_mm_mask_ternarylogic_epi64): Likewise.
6521 (_mm_maskz_ternarylogic_epi64): Likewise.
6522 (_mm_ternarylogic_epi32): Likewise.
6523 (_mm_mask_ternarylogic_epi32): Likewise.
6524 (_mm_maskz_ternarylogic_epi32): Likewise.
6526 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6527 Marc Glisse <marc.glisse@inria.fr>
6529 PR tree-optimization/104675
6530 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
6531 Restrict simplifications to INTEGRAL_TYPE_P.
6533 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6536 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
6538 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
6540 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
6541 comparison is not valid.
6542 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
6543 (movdicc): Likewise.
6544 (movsfcc): Likewise.
6545 (movdfcc): Likewise.
6547 2022-02-25 Richard Biener <rguenther@suse.de>
6549 PR tree-optimization/103037
6550 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
6551 (vn_nary_length_from_stmt): Likewise.
6552 (init_vn_nary_op_from_stmt): Likewise.
6553 (vn_nary_op_compute_hash): Likewise.
6554 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
6555 (vn_nary_length_from_stmt): Likewise.
6556 (init_vn_nary_op_from_stmt): Likewise.
6557 (vn_nary_op_compute_hash): Likewise.
6558 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
6559 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
6560 (re-)compute the hash value and if the expression is not
6561 found allocate it from pre_expr_obstack.
6562 (phi_translate_1): Do not insert the NARY found in the
6563 VN tables but build a PRE expression from the valueized
6564 NARY with the value-id we eventually found.
6565 (find_or_generate_expression): Assert we have an entry
6566 for constant values.
6567 (compute_avail): Insert not valueized expressions into
6568 EXP_GEN using the value-id from the VN tables.
6569 (init_pre): Allocate pre_expr_obstack.
6570 (fini_pre): Free pre_expr_obstack.
6572 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6575 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
6576 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
6577 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
6579 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6581 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
6583 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6585 PR middle-end/104679
6586 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
6588 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6590 PR tree-optimization/104675
6591 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
6594 2022-02-25 Alexandre Oliva <oliva@adacore.com>
6598 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
6600 2022-02-25 Alexandre Oliva <oliva@adacore.com>
6602 PR middle-end/104540
6603 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
6606 2022-02-25 Alexandre Oliva <oliva@adacore.com>
6608 PR tree-optimization/103856
6609 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
6610 eh edge to be requested through an extra parameter.
6611 (pass_harden_compares::execute): Copy PHI args in the EH dest
6612 block for the new EH edge added for the inverted compare.
6614 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
6616 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
6617 of position independence that -mcmodel=medany affords.
6619 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
6622 * configure.ac: --disable-gcov if targetting bpf-*.
6623 * configure: Regenerate.
6625 2022-02-24 Richard Biener <rguenther@suse.de>
6627 PR tree-optimization/104676
6628 * tree-loop-distribution.cc (loop_distribution::execute):
6629 Do a full scev_reset.
6631 2022-02-24 Jakub Jelinek <jakub@redhat.com>
6633 PR tree-optimization/104601
6634 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
6635 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
6638 2022-02-24 Tom de Vries <tdevries@suse.de>
6639 Tobias Burnus <tobias@codesourcery.com>
6641 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
6642 sm_70, sm_75 and sm_80.
6643 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
6645 2022-02-24 Tom de Vries <tdevries@suse.de>
6647 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
6648 "rotrsi3"): New define_insn.
6650 2022-02-24 Tom de Vries <tdevries@suse.de>
6652 * config/nvptx/nvptx.cc (gen_comment): Use
6653 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
6655 2022-02-24 liuhongt <hongtao.liu@intel.com>
6657 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
6658 isa attr of alternative 2 from avx to avx512vl.
6660 2022-02-23 Richard Biener <rguenther@suse.de>
6661 Jakub Jelinek <jakub@redhat.com>
6663 PR tree-optimization/104644
6664 * doc/match-and-simplify.texi: Amend ! documentation.
6665 * genmatch.cc (expr::gen_transform): Code-generate ! support
6667 (parser::parse_expr): Allow ! for GENERIC.
6668 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
6671 2022-02-23 Richard Biener <rguenther@suse.de>
6673 PR tree-optimization/101636
6674 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
6675 vector type of the node.
6676 (vect_slp_analyze_operations): Make sure the CTOR
6677 is vectorized with an expected type.
6678 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
6680 2022-02-23 Jakub Jelinek <jakub@redhat.com>
6683 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
6684 Don't warn about calls to corresponding builtin from extern inline
6685 gnu_inline wrappers.
6687 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
6690 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
6692 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
6696 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
6699 2022-02-23 Cui,Lili <lili.cui@intel.com>
6701 * doc/invoke.texi: Update documents for Intel architectures.
6703 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
6705 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
6708 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
6710 * omp-low.cc (omp_build_component_ref): Move function...
6711 * omp-general.cc (omp_build_component_ref): ... here. Remove
6713 * omp-general.h (omp_build_component_ref): Declare function.
6714 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
6716 (build_receiver_ref, build_sender_ref): Call
6717 'omp_build_component_ref' instead.
6719 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
6721 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
6722 simplify. Adjust all users.
6724 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
6727 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
6728 atomic_update_decl): Add GTY markup.
6730 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
6732 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
6734 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
6738 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
6740 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
6741 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
6742 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
6743 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
6744 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
6745 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
6746 * config/arm/mve.md: Use VxBI instead of HI.
6748 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
6752 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
6754 (STRSBU_P_QUALIFIERS): Likewise.
6755 (LDRGBS_Z_QUALIFIERS): Likewise.
6756 (LDRGBU_Z_QUALIFIERS): Likewise.
6757 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
6758 (LDRGBWBS_Z_QUALIFIERS): Likewise.
6759 (LDRGBWBU_Z_QUALIFIERS): Likewise.
6760 (STRSBWBS_P_QUALIFIERS): Likewise.
6761 (STRSBWBU_P_QUALIFIERS): Likewise.
6762 * config/arm/mve.md: Use VxBI instead of HI.
6764 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
6768 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
6769 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
6770 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
6771 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
6772 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
6773 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
6774 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
6775 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
6776 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
6777 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
6778 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
6779 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
6780 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
6781 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
6782 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
6783 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
6784 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
6785 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
6786 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
6787 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
6788 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
6789 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
6790 (STRS_P_QUALIFIERS): Use predicate qualifier.
6791 (STRU_P_QUALIFIERS): Likewise.
6792 (STRSU_P_QUALIFIERS): Likewise.
6793 (STRSS_P_QUALIFIERS): Likewise.
6794 (LDRGS_Z_QUALIFIERS): Likewise.
6795 (LDRGU_Z_QUALIFIERS): Likewise.
6796 (LDRS_Z_QUALIFIERS): Likewise.
6797 (LDRU_Z_QUALIFIERS): Likewise.
6798 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
6799 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
6800 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
6801 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
6802 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
6803 * config/arm/mve.md: Use MVE_VPRED instead of HI.
6805 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
6809 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
6811 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
6812 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
6813 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
6814 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
6815 predicated qualifiers.
6816 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
6817 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
6819 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
6822 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
6823 (arm_expand_vector_compare): Update prototype.
6824 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
6825 (arm_vector_mode_supported_p): Add support for VxBI modes.
6826 (arm_expand_vector_compare): Remove useless generation of vpsel.
6827 (arm_expand_vcond): Fix select operands.
6828 (arm_get_mask_mode): New.
6829 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
6830 (vec_cmpu<mode><MVE_vpred>): New.
6831 (vcond_mask_<mode><MVE_vpred>): New.
6832 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
6833 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
6834 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
6835 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
6836 and disable for MVE.
6837 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
6839 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
6843 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
6844 (BINOP_PRED_NONE_NONE_QUALIFIERS)
6845 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
6846 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
6847 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
6848 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
6850 (arm_mode_to_pred_mode): New.
6851 (arm_expand_vector_compare): Use the right VxBI mode instead of
6853 (arm_expand_vcond): Likewise.
6854 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
6855 (mve_bool_vec_to_const): New.
6856 (neon_make_constant): Call mve_bool_vec_to_const when needed.
6857 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
6858 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
6859 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
6860 (vpselq_s, vpselq_f): Use new predicated qualifiers.
6861 * config/arm/constraints.md (DB): New.
6862 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
6863 (MVE_VPRED, MVE_vpred): New attribute iterators.
6864 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
6865 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
6866 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
6867 (@mve_vpselq_<supf>v2di): Define separately.
6868 (mov<mode>): New expander for VxBI modes.
6869 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
6870 MVE_7_HI iterator and add support for DB constraint.
6872 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
6873 Richard Sandiford <richard.sandiford@arm.com>
6877 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
6878 VNx2BI): Update definition.
6879 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
6881 (arm_init_builtin): Map predicate vectors arguments to HImode.
6882 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
6883 rtx. Move return value to HImode rtx.
6884 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
6885 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
6886 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
6887 Pred2x8_t,Pred4x4_t): New.
6888 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
6889 * genmodes.cc (mode_data): Add boolean field.
6890 (blank_mode): Initialize it.
6891 (make_complex_modes): Fix handling of boolean modes.
6892 (make_vector_modes): Likewise.
6893 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
6894 (make_vector_bool_mode): Likewise.
6896 (make_bool_mode): New.
6897 (emit_insn_modes_h): Fix generation of boolean modes.
6898 (emit_class_narrowest_mode): Likewise.
6899 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
6900 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
6902 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
6903 Fix handling of constm1_rtx for VECTOR_BOOL.
6904 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
6905 (native_decode_vector_rtx): Likewise.
6906 (test_vector_ops_duplicate): Skip vec_merge test
6907 with vectors of booleans.
6908 * varasm.cc (output_constant_pool_2): Likewise.
6910 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
6912 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
6915 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
6917 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
6919 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
6921 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
6922 (REG_CLASS_NAMES): Likewise.
6923 (REG_CLASS_CONTENTS): Likewise.
6924 (CLASS_MAX_NREGS): Handle VPR.
6925 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
6927 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
6928 Tom de Vries <tdevries@suse.de>
6930 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
6931 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
6933 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
6935 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
6936 Tom de Vries <tdevries@suse.de>
6938 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
6939 * doc/invoke.texi (-mptx): Update for new values and defaults.
6941 2022-02-22 Tom de Vries <tdevries@suse.de>
6943 * config/nvptx/nvptx.cc (gen_comment): New function.
6944 (workaround_uninit_method_1, workaround_uninit_method_2)
6945 (workaround_uninit_method_3): : Use gen_comment.
6946 * config/nvptx/nvptx.opt (mptx-comment): New option.
6948 2022-02-22 Richard Biener <rguenther@suse.de>
6950 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
6953 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
6954 Richard Biener <rguenther@suse.de>
6956 * fold-const.cc (ctor_single_nonzero_element): New function to
6957 return the single non-zero element of a (vector) constructor.
6958 * fold-const.h (ctor_single_nonzero_element): Prototype here.
6959 * match.pd (reduc (constructor@0)): Simplify reductions of a
6960 constructor containing a single non-zero element.
6961 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
6962 reductions of vector operations of the same operator with
6963 constant vector operands.
6965 2022-02-22 Jakub Jelinek <jakub@redhat.com>
6967 PR tree-optimization/104604
6968 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
6969 Only check if gimple_assign_rhs1 is COMPLEX_CST if
6970 gimple_assign_rhs_code is COMPLEX_CST.
6972 2022-02-22 Jakub Jelinek <jakub@redhat.com>
6975 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
6976 on input operands before calling lowpart_subreg on it. For output
6977 operand, use a vmode pseudo as destination and then move its lowpart
6978 subreg into operands[0] if lowpart_subreg fails on dest.
6979 (ix86_expand_xorsign): Likewise.
6981 2022-02-22 Richard Biener <rguenther@suse.de>
6983 PR tree-optimization/104582
6985 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
6986 Cost GPR to vector register moves for integer vector construction.
6988 2022-02-22 Richard Biener <rguenther@suse.de>
6990 PR tree-optimization/104582
6991 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
6992 (vector_costs::add_stmt_cost): Add SLP node parameter.
6993 (dump_stmt_cost): Likewise.
6994 (add_stmt_cost): Likewise, new overload and adjust.
6995 (add_stmt_costs): Adjust.
6996 (record_stmt_cost): New overload.
6997 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
6998 (vector_costs::add_stmt_cost): Adjust.
6999 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
7001 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
7002 the SLP node for costing.
7003 (vectorizable_slp_permutation): Likewise.
7004 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
7006 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
7008 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
7010 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
7012 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
7014 2022-02-22 Richard Biener <rguenther@suse.de>
7016 PR tree-optimization/104582
7017 * tree-vectorizer.h (add_stmt_cost): New overload.
7018 (record_stmt_cost): Likewise.
7019 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
7021 (vect_get_known_peeling_cost): Use new overloads.
7022 (vect_estimate_min_profitable_iters): Likewise. Consistently
7023 use scalar_stmt for costing versioning checks.
7024 * tree-vect-stmts.cc (record_stmt_cost): New overload.
7026 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
7029 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
7030 Split atomic fetch and loop part.
7031 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
7032 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
7034 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
7035 expander under TARGET_RELAX_CMPXCHG_LOOP.
7036 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
7038 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
7040 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
7041 Change wb_candidate[12] to wb_push_candidate[12].
7042 (aarch64_layout_frame): Likewise, and
7043 change callee_adjust when scs is enabled.
7044 (aarch64_save_callee_saves):
7045 Change wb_candidate[12] to wb_push_candidate[12].
7046 (aarch64_restore_callee_saves):
7047 Change wb_candidate[12] to wb_pop_candidate[12].
7048 (aarch64_get_separate_components):
7049 Change wb_candidate[12] to wb_push_candidate[12].
7050 (aarch64_expand_prologue): Push x30 onto SCS before it's
7052 (aarch64_expand_epilogue): Pop x30 frome SCS, while
7053 preventing it from being popped from the regular stack again.
7054 (aarch64_override_options_internal): Add SCS compile option check.
7055 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
7056 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
7057 wb_pop_candidate[12], and rename wb_candidate[12] to
7058 wb_push_candidate[12].
7059 * config/aarch64/aarch64.md (scs_push): New template.
7060 (scs_pop): Likewise.
7061 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
7062 * doc/tm.texi: Regenerate.
7063 * doc/tm.texi.in: Add hook have_shadow_call_stack.
7064 * flag-types.h (enum sanitize_code):
7065 Add SANITIZE_SHADOW_CALL_STACK.
7066 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
7067 and exclude SANITIZE_SHADOW_CALL_STACK.
7068 * target.def: New hook.
7069 * toplev.cc (process_options): Add SCS compile option check.
7070 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
7072 2022-02-21 Tom de Vries <tdevries@suse.de>
7075 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
7076 (workaround_uninit_method_2, workaround_uninit_method_3)
7077 (workaround_uninit): New function.
7078 (nvptx_reorg): Use workaround_uninit.
7079 * config/nvptx/nvptx.opt (minit-regs): New option.
7081 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
7083 PR rtl-optimization/104498
7084 * alias.cc (compare_base_symbol_refs): Correct distance computation
7085 when swapping x and y.
7087 2022-02-21 Andrew Pinski <apinski@marvell.com>
7090 * tree-ssa.cc (tree_ssa_useless_type_conversion):
7091 Check the inner type before calling useless_type_conversion_p.
7093 2022-02-19 Tom de Vries <tdevries@suse.de>
7095 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
7096 * config/nvptx/nvptx.md
7097 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
7098 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
7099 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
7100 (define_expand "atomic_store<mode>"): Handle rename. Use
7101 nvptx_atomic_store instead of atomic_exchange.
7103 2022-02-19 Tom de Vries <tdevries@suse.de>
7105 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
7106 insns with atomic attribute. Assert that all handled insns are
7108 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
7109 Set atomic attribute to false.
7111 2022-02-19 Tom de Vries <tdevries@suse.de>
7113 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
7115 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
7116 nvptx_warpsync, if necessary.
7118 2022-02-19 Jakub Jelinek <jakub@redhat.com>
7121 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
7122 known to be within bounds, treat it like automatic variables.
7123 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
7124 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
7127 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
7129 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
7130 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
7131 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
7132 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
7133 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
7134 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
7135 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
7136 power10_sched_reorder): Likewise.
7137 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
7138 gen_addadd): Likewise
7139 * config/rs6000/fusion.md: Regenerate.
7141 2022-02-18 Jakub Jelinek <jakub@redhat.com>
7145 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
7146 rather than __posix_memalign.
7148 2022-02-18 Richard Biener <rguenther@suse.de>
7151 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
7152 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
7153 of calling ix86_avx_u128_mode_source which would eventually
7154 have returned AVX_U128_ANY in some very special case.
7156 2022-02-18 Richard Biener <rguenther@suse.de>
7158 PR tree-optimization/96881
7159 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
7161 (control_parents_preserved_p): New function.
7162 (eliminate_unnecessary_stmts): Check that we preserved control
7163 parents before retaining a CLOBBER.
7164 (perform_tree_ssa_dce): Pass down aggressive flag
7165 to eliminate_unnecessary_stmts.
7167 2022-02-17 Jason Merrill <jason@redhat.com>
7169 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
7170 on TYPE_MAIN_VARIANT.
7172 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
7175 * config/rs6000/bmi2intrin.h: Uglify local variables.
7176 * config/rs6000/emmintrin.h: Likewise.
7177 * config/rs6000/mm_malloc.h: Likewise.
7178 * config/rs6000/mmintrin.h: Likewise.
7179 * config/rs6000/pmmintrin.h: Likewise.
7180 * config/rs6000/smmintrin.h: Likewise.
7181 * config/rs6000/tmmintrin.h: Likewise.
7182 * config/rs6000/xmmintrin.h: Likewise.
7184 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
7187 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
7188 if the expected comparison's first operand is of mode MODE_CC.
7190 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
7192 PR rtl-optimization/104447
7193 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
7194 hard reg set by lra_no_alloc_regs.
7196 2022-02-17 liuhongt <hongtao.liu@intel.com>
7198 PR tree-optimization/104551
7199 PR tree-optimization/103771
7200 * match.pd (cond_expr_convert_p): Add types_match check when
7201 convert is extension.
7202 * tree-vect-patterns.cc
7203 (gimple_cond_expr_convert_p): Adjust comments.
7204 (vect_recog_cond_expr_convert_pattern): Ditto.
7206 2022-02-17 Jakub Jelinek <jakub@redhat.com>
7209 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
7210 if expr has VOIDmode.
7212 2022-02-17 liuhongt <hongtao.liu@intel.com>
7214 * config/i386/cpuid.h (bit_MPX): Removed.
7215 (bit_BNDREGS): Ditto.
7216 (bit_BNDCSR): Ditto.
7218 2022-02-17 Michael Meissner <meissner@the-meissners.org>
7221 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
7222 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
7223 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
7226 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
7228 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
7229 range_compatible_p instead of direct type comparison.
7231 2022-02-16 Jakub Jelinek <jakub@redhat.com>
7233 PR rtl-optimization/104544
7234 * combine.cc (try_combine): When looking for insn whose links
7235 should be updated from i3 to i2, don't stop on debug insns, instead
7238 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
7241 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
7242 * config/aarch64/aarch64.md: Extend the PR100056 patterns
7243 to handle plus in the same way as ior, if the operands have
7244 no set bits in common.
7246 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
7248 PR tree-optimization/104526
7249 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
7251 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
7252 of dependency chain if there isn't one.
7253 (gori_compute::condexpr_adjust): New.
7254 * gimple-range-gori.h (class gori_compute): New prototype.
7256 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
7259 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
7261 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
7262 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
7264 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
7266 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
7267 (vect_scalar_ops_slice_hash): Likewise.
7268 (vect_scalar_ops_slice::op): New function.
7269 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
7270 (vect_scalar_ops_slice_hash::hash): Likewise.
7271 (vect_scalar_ops_slice_hash::equal): Likewise.
7272 (vect_prologue_cost_for_slp): Check for duplicate vectors.
7273 * config/aarch64/aarch64.cc
7274 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
7275 (aarch64_aligned_constant_offset_p): New function.
7276 (aarch64_stp_sequence_cost): Likewise.
7277 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
7278 (aarch64_vector_costs::finish_cost): Likewise.
7280 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
7282 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
7285 2022-02-15 Richard Biener <rguenther@suse.de>
7287 PR tree-optimization/104543
7288 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
7289 come after the inner loop.
7291 2022-02-15 Jakub Jelinek <jakub@redhat.com>
7294 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
7295 cannot instead of can%'t in diagnostics. Formatting fixes.
7297 2022-02-15 Jakub Jelinek <jakub@redhat.com>
7299 PR middle-end/104522
7300 * fold-const.h (native_interpret_real): Declare.
7301 * fold-const.cc (native_interpret_real): No longer static. Don't
7302 perform MODE_COMPOSITE_P verification here.
7303 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
7305 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
7306 instead of native_interpret_expr.
7307 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
7308 and comparison verification for all FLOAT_MODE_P modes, not just
7311 2022-02-15 Richard Biener <rguenther@suse.de>
7313 PR tree-optimization/104519
7314 * fold-const.cc (multiple_of_p): Remove never true condition.
7315 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
7316 the appropriate types for determining whether the difference
7317 of final and base is a multiple of the step.
7319 2022-02-15 Jakub Jelinek <jakub@redhat.com>
7322 * omp-low.cc (task_cpyfns): New variable.
7323 (delete_omp_context): Don't call finalize_task_copyfn from here.
7324 (create_task_copyfn): Push task_stmt into task_cpyfns.
7325 (execute_lower_omp): Call finalize_task_copyfn here on entries from
7326 task_cpyfns vector and release the vector.
7328 2022-02-14 Martin Sebor <msebor@redhat.com>
7330 PR middle-end/104355
7331 * doc/invoke.texi (-Warray-bounds): Update documentation.
7333 2022-02-14 Michael Meissner <meissner@the-meissners.org>
7336 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
7337 conversion functions used to convert IFmode types.
7339 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
7341 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
7343 2022-02-14 Richard Biener <rguenther@suse.de>
7345 PR tree-optimization/104528
7346 * tree-ssa.h (find_released_ssa_name): Declare.
7347 * tree-ssa.cc (find_released_ssa_name): Export.
7348 * cfgloop.cc (verify_loop_structure): Look for released
7349 SSA names in loops nb_iterations.
7350 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
7353 2022-02-14 Richard Biener <rguenther@suse.de>
7355 PR tree-optimization/104511
7356 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
7357 touching DFP <-> FP conversions.
7359 2022-02-14 Richard Biener <rguenther@suse.de>
7361 PR middle-end/104497
7362 * gimplify.cc (gimplify_compound_lval): Make sure the
7363 base is a non-register if needed and possible.
7365 2022-02-13 liuhongt <hongtao.liu@intel.com>
7368 * match.pd (cond_expr_convert_p): New match.
7369 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
7370 (vect_recog_cond_expr_convert_pattern): New.
7372 2022-02-12 Jakub Jelinek <jakub@redhat.com>
7375 * asan.cc: Include tree-eh.h.
7376 (handle_builtin_alloca): Handle the case when __builtin_alloca or
7377 __builtin_alloca_with_align can throw.
7379 2022-02-12 Jakub Jelinek <jakub@redhat.com>
7382 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
7383 and AVX512VL isn't available, move operands[1] to operands[0] first.
7385 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
7388 * config/i386/i386.cc (type_natural_mode):
7389 Skip decimal float vector modes.
7391 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
7392 Vladimir Makarov <vmakarov@redhat.com>
7395 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
7396 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
7398 (legitimate_lo_sum_address_p): Likewise.
7399 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
7400 load from an invalid lo_sum address.
7402 2022-02-11 Jakub Jelinek <jakub@redhat.com>
7404 PR tree-optimization/104499
7405 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
7408 2022-02-11 Jakub Jelinek <jakub@redhat.com>
7410 * tree.cc (build_common_builtin_nodes): Fix up formatting in
7411 __builtin_clear_padding decl creation.
7412 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
7413 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
7414 argument rather than in 3rd argument.
7415 (gimplify_call_expr): Likewise. Fix up comment formatting.
7416 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
7417 2 arguments instead of 3, take for_auto_init from the value
7420 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
7422 PR rtl-optimization/104400
7423 * lra-constraints.cc (process_alt_operands): Don't make union of
7424 this_alternative_exclude_start_hard_regs when reg class in insn
7425 alternative covers other reg classes in the same alternative.
7427 2022-02-11 Jakub Jelinek <jakub@redhat.com>
7429 PR middle-end/104446
7430 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
7433 2022-02-11 Richard Biener <rguenther@suse.de>
7435 PR middle-end/104496
7436 * internal-fn.cc (vectorized_internal_fn_supported_p):
7437 Bail out for integer mode vector types.
7439 2022-02-11 Jakub Jelinek <jakub@redhat.com>
7441 PR rtl-optimization/104459
7442 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
7443 moving DEBUG_INSNs between bbs.
7445 2022-02-11 liuhongt <hongtao.liu@intel.com>
7447 PR tree-optimization/104479
7448 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
7449 for the dest of uncond_op.
7451 2022-02-11 Tom de Vries <tdevries@suse.de>
7454 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
7457 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
7459 PR middle-end/100775
7460 * function.cc (gen_call_used_regs_seq): Call
7461 df_update_exit_block_uses when updating df.
7463 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
7466 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
7467 Change operand 1 constraint to register_operand.
7469 2022-02-10 Richard Biener <rguenther@suse.de>
7471 PR tree-optimization/104373
7472 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
7474 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
7475 walk kind as argument.
7476 (run_rpo_vn): Adjust.
7477 (pass_fre::execute): Likewise.
7478 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
7479 blocks not reachable.
7480 (execute_late_warn_uninitialized): Mark all edges as
7482 (execute_early_warn_uninitialized): Use VN to compute
7484 (pass_data_early_warn_uninitialized): Enable a dump file,
7485 change dump name to warn_uninit.
7487 2022-02-10 Richard Biener <rguenther@suse.de>
7489 PR middle-end/104467
7490 * match.pd (vector extract simplification): Multiply the
7491 number of CTOR elements with the number of element elements.
7493 2022-02-10 Richard Biener <rguenther@suse.de>
7495 PR tree-optimization/104466
7496 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
7497 for the MR_DEPENDENCE checks as intended.
7499 2022-02-10 Tom de Vries <tdevries@suse.de>
7501 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
7503 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
7505 (define_c_enum "unspecv"): Add UNSPECV_ST.
7507 2022-02-10 Tom de Vries <tdevries@suse.de>
7509 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
7510 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
7511 (nvptx_mem_maybe_shared_p): New function.
7512 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
7515 2022-02-10 Tom de Vries <tdevries@suse.de>
7518 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
7519 driver JIT bug by using sub.s16 instead of sub.u16.
7521 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
7523 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
7524 floating point constants as operands 1 and/or 2.
7526 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
7529 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
7530 (sel_false<mode>): Likewise.
7531 (define_code_iterator eqne): New code iterator for EQ and NE.
7532 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
7533 the negation of a selp instruction.
7534 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
7535 the bitwise not of a selp instruction.
7536 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
7538 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
7540 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
7541 in machine description.
7542 (logic): Move code attribute earlier in machine description.
7543 (ilogic): New code attribute, like logic but "ior" for IOR.
7544 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
7545 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
7546 (<ilogic>bi3): New define_insn for BI mode logic operations.
7547 (define_split): Lower logic operations from integer modes to
7548 BI mode predicate operations.
7550 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
7552 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
7553 (one_cmplbi2): New define_insn for not.pred.
7554 (mulditi3): New define_expand for signed widening multiply.
7555 (umulditi3): New define_expand for unsigned widening multiply.
7556 (smul<mode>3_highpart): New define_insn for signed highpart mult.
7557 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
7558 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
7559 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
7560 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
7561 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
7562 (*setcc<mode>_from_not_bi): New define_insn.
7563 (*setcc_isinf<mode>): New define_insn for testp.infinite.
7564 (isinf<mode>2): New define_expand.
7566 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
7568 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
7569 (setcc<mode>_from_bi): Additionally support QImode.
7570 (extendbi<mode>2): Additionally support QImode.
7571 (zero_extendbi<mode>2): Additionally support QImode.
7572 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
7573 iterators for signed and unsigned, binary and unary operations.
7574 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
7575 expanders to perform QImode operations using SImode instructions.
7576 (cstoreqi4): New define_expand.
7577 (*ext_truncsi2_qi): New define_insn.
7578 (*zext_truncsi2_qi): New define_insn.
7580 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
7582 * config/nvptx/nvptx.md (*cmpf): New define_insn.
7583 (cstorehf4): New define_expand.
7584 (fmahf4): New define_insn.
7585 (neghf2): New define_insn.
7586 (abshf2): New define_insn.
7588 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
7590 * doc/install.texi (Specific): Change the www.bitwizard.nl
7591 reference to use https.
7593 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
7595 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
7596 OMP_CLAUSE_HAS_DEVICE_ADDR
7597 and handle array sections.
7598 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
7599 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
7600 (lower_omp_target): Same.
7601 * tree-core.h (enum omp_clause_code): Same.
7602 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
7603 (convert_local_omp_clauses): Same.
7604 * tree-pretty-print.cc (dump_omp_clause): Same.
7607 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
7609 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
7610 that will result in direct recursive calls.
7612 2022-02-10 Andrew Pinski <apinski@marvell.com>
7615 * config/aarch64/aarch64.cc
7616 (aarch64_sve_expand_vector_init_handle_trailing_constants):
7617 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
7619 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
7622 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
7623 Also include OPTION_MASK_ISA2_AVX2_UNSET.
7625 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
7628 * config/i386/i386-expand.cc (ix86_split_idivmod):
7629 Force operands[2] and operands[3] into a register..
7631 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
7634 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
7635 (*v850_fnmssf4): Renamed from fnmssf4
7637 2022-02-09 Ian Lance Taylor <iant@golang.org>
7639 * godump.cc (go_force_record_alignment): Really name the alignment
7640 field "_" (complete 2021-12-29 change).
7642 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
7644 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
7646 (VREPLACE_UN_UV4SI): Likewise.
7647 (VREPLACE_UN_V2DF): Likewise.
7648 (VREPLACE_UN_V2DI): Likewise.
7649 (VREPLACE_UN_V4SF): Likewise.
7650 (VREPLACE_UN_V4SI): Likewise.
7651 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
7652 function prototypes.
7653 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
7654 (vreplace_un_<mode>): New define_insn.
7656 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
7658 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
7660 (single_wx, single_type, single_dtype, dblq): New mode attributes.
7661 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
7663 (store_pair_lanes<mode>): Likewise.
7664 (*aarch64_combine_internal<mode>): Likewise.
7665 (*aarch64_combine_internal_be<mode>): Likewise.
7666 (*aarch64_combinez<mode>): Likewise.
7667 (*aarch64_combinez_be<mode>): Likewise.
7668 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
7669 8-byte modes for ADDR_QUERY_LDP_STP_N.
7670 (aarch64_print_operand): Likewise for %y.
7672 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
7674 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
7675 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
7676 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
7677 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
7678 (vec_pack_trunc_<mode>): Take general_operand elements and use
7679 aarch64_combine rather than move_lo/hi_quad to combine them.
7680 (vec_pack_trunc_df): Likewise.
7682 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
7684 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
7686 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
7688 (*aarch64_combinez<mode>): ...this.
7689 (@aarch64_combinez_be<mode>): Rename to...
7690 (*aarch64_combinez_be<mode>): ...this.
7691 (@aarch64_vec_concat<mode>): New expander.
7692 (aarch64_combine<mode>): Use it.
7693 (@aarch64_simd_combine<mode>): Delete.
7694 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
7695 (aarch64_expand_vector_init): Use aarch64_vec_concat.
7697 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
7699 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
7701 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
7702 (*aarch64_combine_internal_be<mode>): New patterns.
7704 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
7706 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
7707 (move_lo_quad_internal_be_<mode>): Delete.
7708 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
7710 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
7712 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
7714 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
7715 aarch64_mergeable_load_pair_p instead of inline check.
7716 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
7717 (aarch64_check_consecutive_mems): Allow the reversed parameter
7719 (aarch64_mergeable_load_pair_p): New function.
7721 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
7723 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
7724 element to be an aarch64_simd_nonimmediate_operand.
7726 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
7728 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
7729 aarch64_simd_nonimmediate_operand instead of
7730 aarch64_simd_general_operand.
7731 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
7733 (@aarch64_combinez_be<mode>): Likewise.
7735 2022-02-09 Richard Biener <rguenther@suse.de>
7737 PR middle-end/104464
7738 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
7739 throwing check to after unproblematic replacement.
7741 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
7743 PR tree-optimization/104420
7744 * match.pd (mult @0 real_zerop): Tweak conditions for constant
7745 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
7747 2022-02-09 Jakub Jelinek <jakub@redhat.com>
7750 * dwarf2out.cc (mangle_referenced_decls): New function.
7751 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
7752 early_dwarf. Instead walk the initializer and try to mangle vars or
7753 functions referenced from it.
7755 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
7757 PR tree-optimization/104288
7758 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
7759 (non_null_ref::adjust_range): Move to header.
7760 (ranger_cache::range_of_def): Don't check non-null.
7761 (ranger_cache::entry_range): Don't check non-null.
7762 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
7763 (ranger_cache::update_to_nonnull): New.
7764 (non_null_loadstore): New.
7765 (ranger_cache::block_apply_nonnull): New.
7766 * gimple-range-cache.h (class non_null_ref): Update prototypes.
7767 (non_null_ref::adjust_range): Move to here and inline.
7768 (class ranger_cache): Update prototypes.
7769 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
7770 not search dominators.
7771 (path_range_query::adjust_for_non_null_uses): Ditto.
7772 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
7773 def overrides. Do not check nonnull.
7774 (gimple_ranger::range_on_entry): Check dominators for nonnull.
7775 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
7776 (gimple_ranger::register_side_effects): New.
7777 * gimple-range.h (gimple_ranger::register_side_effects): New.
7778 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
7780 2022-02-09 Richard Biener <rguenther@suse.de>
7782 PR tree-optimization/104445
7783 PR tree-optimization/102832
7784 * optabs-query.h (can_vec_extract): New.
7785 * optabs-query.cc (can_vec_extract): Likewise.
7786 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
7787 we can extract a hi/lo part from the larger vector, rework
7788 check iteration from larger to smaller sizes.
7790 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
7794 * config/i386/gnu-property.cc: Include "i386-protos.h".
7795 (file_end_indicate_exec_stack_and_gnu_property): Generate
7796 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
7797 nodirect_extern_access attribute.
7798 * config/i386/i386-options.cc
7799 (handle_nodirect_extern_access_attribute): New function.
7800 (ix86_attribute_table): Add nodirect_extern_access attribute.
7801 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
7803 (ix86_has_no_direct_extern_access): New.
7804 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
7805 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
7806 call operand. Force non-call load from GOT for
7807 -mno-direct-extern-access or nodirect_extern_access attribute.
7808 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
7809 for -mno-direct-extern-access or nodirect_extern_access attribute.
7810 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
7812 (asm_preferred_eh_data_format): Use PC-relative format for
7813 -mno-direct-extern-access to avoid copy relocation. Check
7814 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
7815 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
7816 true for -mno-direct-extern-access or nodirect_extern_access
7817 attribute. Don't treat protected data as extern and avoid copy
7818 relocation on common symbol with -mno-direct-extern-access or
7819 nodirect_extern_access attribute.
7820 (ix86_reloc_rw_mask): New to avoid copy relocation for
7821 -mno-direct-extern-access.
7822 (TARGET_ASM_RELOC_RW_MASK): New.
7823 * config/i386/i386.opt: Add -mdirect-extern-access.
7824 * doc/extend.texi: Document nodirect_extern_access attribute.
7825 * doc/invoke.texi: Document -m[no-]direct-extern-access.
7827 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
7830 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
7831 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
7832 Call ix86_avx_u128_mode_source to check mode for each component
7835 2022-02-09 liuhongt <hongtao.liu@intel.com>
7838 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
7839 operands[2] from SImode to QImode.
7841 2022-02-09 Richard Biener <rguenther@suse.de>
7843 PR middle-end/104450
7844 * gimple-isel.cc: Pass cfun around.
7845 (+gimple_expand_vec_cond_expr): Do not combine a throwing
7846 comparison with the select.
7848 2022-02-09 Richard Biener <rguenther@suse.de>
7851 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
7852 folding for NULL LHS.
7854 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
7856 PR rtl-optimization/104198
7857 PR rtl-optimization/104153
7858 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
7859 using it directly. Rework comparison handling and always
7860 perform a second pass.
7862 2022-02-08 Jakub Jelinek <jakub@redhat.com>
7865 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
7866 split1 pass has finished already.
7868 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
7870 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
7871 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
7872 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
7873 (vmsumcud): New define_insn.
7875 2022-02-08 Tom de Vries <tdevries@suse.de>
7877 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
7878 * config/nvptx/nvptx.h (TARGET_SM70): Define.
7880 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
7882 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
7884 * config/s390/s390.md: Use paradoxical subreg.
7886 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
7888 * combine.cc (reg_subword_p): Check for paradoxical subreg.
7890 2022-02-08 Tom de Vries <tdevries@suse.de>
7893 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
7894 and PTX_VERSION_4_2.
7895 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
7896 (default_ptx_version_option, ptx_version_to_string)
7897 (sm_version_to_string, handle_ptx_version_option): New function.
7898 (nvptx_option_override): Call handle_ptx_version_option.
7899 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
7900 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
7901 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
7902 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
7904 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
7906 * doc/install.texi (Configuration): Document `--with-isa-spec='
7908 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
7910 (RISC-V Options): Document it.
7912 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
7914 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
7916 2022-02-08 Tom de Vries <tdevries@suse.de>
7918 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
7920 2022-02-08 Tom de Vries <tdevries@suse.de>
7923 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
7924 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
7925 change is validated.
7926 (nvptx_mem_local_p): New function.
7927 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
7928 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
7929 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
7930 non-atomic, non-predicable define_insn, factored out of ...
7931 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
7932 Make predicable again.
7933 (define_expand "atomic_compare_and_swap<mode>"): Use
7934 atomic_compare_and_swap<mode>_1_local.
7936 2022-02-08 liuhongt <hongtao.liu@intel.com>
7938 PR rtl-optimization/104059
7939 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
7940 for a more expensive reg-reg move.
7942 2022-02-07 Tamar Christina <tamar.christina@arm.com>
7944 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
7945 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
7946 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
7947 (usdot_laneq, sudot_laneq): New.
7948 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
7949 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
7951 2022-02-07 Tamar Christina <tamar.christina@arm.com>
7953 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
7954 vdot_laneq_s32, vdotq_laneq_s32): New.
7955 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
7956 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
7957 (<sup>dot_prod<vsi2qi>): Re-order rtl.
7958 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
7959 (neon_<sup>dot_laneq<vsi2qi>): New.
7961 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
7964 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
7965 if always_inline is set. Don't inline when tune differs without
7968 2022-02-07 Richard Biener <rguenther@suse.de>
7970 PR middle-end/104402
7971 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
7972 compares are not valid.
7973 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
7974 check is_gimple_condexpr.
7976 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
7979 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
7980 hunk affecting VSX and ALTIVEC to appropriate place.
7982 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
7985 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
7988 2022-02-06 Jakub Jelinek <jakub@redhat.com>
7992 * fold-const.h (folding_initializer): Adjust comment.
7993 (folding_cxx_constexpr): Declare.
7994 * fold-const.cc (folding_initializer): Adjust comment.
7995 (folding_cxx_constexpr): New variable.
7996 (address_compare): Restrict the decl vs. STRING_CST
7997 or vice versa or STRING_CST vs. STRING_CST or
7998 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
7999 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
8000 assume non-aliased functions have non-zero size and have different
8001 addresses. For folding_cxx_constexpr, punt on comparisons of start
8002 of some object and end of another one, regardless whether it is a decl
8003 or string literal. Also punt for folding_cxx_constexpr on
8004 STRING_CST vs. STRING_CST comparisons if the two literals could be
8007 2022-02-05 Jakub Jelinek <jakub@redhat.com>
8009 PR tree-optimization/104389
8010 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
8013 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
8015 * configure.ac: Fix detection for zifencei support.
8016 * configure: Regenerate.
8018 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
8021 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
8022 (all_defaults): Add isa_spec.
8023 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
8025 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
8027 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
8028 parameters instead of arglist and nargs. Simplify accordingly. Remove
8029 unnecessary test for argument count mismatch.
8030 (resolve_vec_cmpne): Likewise.
8031 (resolve_vec_adde_sube): Likewise.
8032 (resolve_vec_addec_subec): Likewise.
8033 (altivec_resolve_overloaded_builtin): Move overload special handling
8034 after the gathering of arguments into args[] and types[] and the test
8035 for correct number of arguments. Don't perform the test for correct
8036 number of arguments for certain special cases. Call the other special
8037 cases with args and types instead of arglist and nargs.
8039 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
8042 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
8043 3.1): Provide consistent type names. Remove unnecessary semicolons.
8044 Fix bad line breaks.
8046 2022-02-04 Jakub Jelinek <jakub@redhat.com>
8049 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
8050 adjust mangling of __builtin*printf_chk.
8052 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
8054 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
8056 2022-02-04 Richard Biener <rguenther@suse.de>
8057 Bin Cheng <bin.cheng@linux.alibaba.com>
8059 PR tree-optimization/100499
8060 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
8062 * fold-const.cc (multiple_of_p): Likewise. Honor it for
8063 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
8064 switching to false for conversions.
8065 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
8066 claim the outermost expression does not wrap when calling
8067 multiple_of_p. Refactor the check done to check the
8068 original IV, avoiding a bias that might wrap.
8070 2022-02-04 Richard Biener <rguenther@suse.de>
8072 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
8075 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
8078 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
8079 (dwarf2out_early_finish): Likewise.
8081 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
8083 PR tree-optimization/104356
8084 * match.pd (X / bool_range_Y is X): Add guard.
8085 (X / X is one): Likewise.
8086 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
8087 (X / -X is -1): Likewise.
8088 (1 / X -> X == 1): Likewise.
8090 2022-02-04 Richard Biener <rguenther@suse.de>
8092 PR tree-optimization/103641
8093 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
8094 Pass the vector mode to choose_mult_variant.
8096 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
8098 PR rtl-optimization/101885
8099 * combine.cc (try_combine): When splitting a parallel into two
8100 sequential sets, check not only that the first doesn't clobber
8101 the second but also that the second doesn't clobber the first.
8103 2022-02-04 Richard Biener <rguenther@suse.de>
8106 PR middle-end/104092
8107 * tree-core.h (clobber_kind): New enum.
8108 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
8109 * tree.h (CLOBBER_KIND): Add.
8110 (build_clobber): Add clobber kind argument, defaulted to
8112 * tree.cc (build_clobber): Likewise.
8113 * gimple.h (gimple_clobber_p): New overload with specified kind.
8114 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
8116 * tree-streamer-out.cc (streamer_write_tree_bitfields):
8118 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
8119 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
8121 (gimplify_target_expr): Likewise.
8122 * tree-inline.cc (expand_call_inline): Likewise.
8123 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
8124 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
8125 CLOBBER_EOL clobbers as ending lifetime of storage.
8127 2022-02-04 Martin Sebor <msebor@redhat.com>
8129 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
8132 2022-02-03 Martin Sebor <msebor@redhat.com>
8134 PR middle-end/104260
8135 * passes.def (pass_warn_access): Adjust pass placement.
8137 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
8140 * config/i386/i386.cc (find_drap_reg): For 32bit targets
8141 return DI_REG if function uses __builtin_eh_return.
8143 2022-02-03 Martin Sebor <msebor@redhat.com>
8145 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
8146 (pass_wrestrict::m_ptr_qry): New member.
8147 (wrestrict_walk): Rename...
8148 (pass_wrestrict::check_block): ...to this.
8149 (pass_wrestrict::execute): Set up and tear down pointer_query and
8151 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
8152 (builtin_access::builtin_access): Same.
8153 (builtin_access::m_ptr_qry): New member.
8154 (check_call): Rename...
8155 (pass_wrestrict::check_call): ...to this.
8156 (check_bounds_or_overlap): Change argument.
8157 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
8159 2022-02-03 Martin Sebor <msebor@redhat.com>
8161 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
8163 (array_bounds_checker::get_value_range): Use new member.
8164 (array_bounds_checker::check_mem_ref): Same.
8165 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
8167 (array_bounds_checker::m_ptr_query): New member.
8169 2022-02-03 Martin Sebor <msebor@redhat.com>
8171 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
8172 pointer_query cache.
8173 * pointer-query.cc (pointer_query::pointer_query): Remove cache
8174 argument. Zero-initialize new cache member.
8175 (pointer_query::get_ref): Replace cache pointer with direct access.
8176 (pointer_query::put_ref): Same.
8177 (pointer_query::flush_cache): Same.
8178 (pointer_query::dump): Same.
8179 * pointer-query.h (class pointer_query): Remove cache argument from
8180 ctor. Change cache pointer to cache subobject member.
8181 * tree-ssa-strlen.cc: Remove pointer_query cache.
8183 2022-02-03 Martin Sebor <msebor@redhat.com>
8185 PR tree-optimization/104119
8186 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
8187 (format_none): Same.
8188 (format_percent): Same.
8189 (format_integer): Same.
8190 (format_floating): Same.
8191 (get_string_length): Same.
8192 (format_character): Same.
8193 (format_string): Same.
8194 (format_plain): Same.
8195 (format_directive): Same.
8196 (compute_format_length): Same.
8197 (handle_printf_call): Same.
8198 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
8200 (get_range_strlen_phi): Same.
8201 (get_maxbound): New function.
8202 (strlen_pass::get_len_or_size): Adjust to parameter change.
8203 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
8205 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
8208 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
8209 test for !rs6000_fold_gimple.
8210 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
8211 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
8213 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
8216 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
8217 endianness for vclzlsbb and vctzlsbb.
8218 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
8219 default pattern and indicate a different pattern will be used for
8221 (VCLZLSBB_V4SI): Likewise.
8222 (VCLZLSBB_V8HI): Likewise.
8223 (VCTZLSBB_V16QI): Likewise.
8224 (VCTZLSBB_V4SI): Likewise.
8225 (VCTZLSBB_V8HI): Likewise.
8227 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
8229 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
8230 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
8232 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
8234 (cpu_supports_info): Likewise.
8235 (rs6000_type_string): Likewise.
8236 (altivec_expand_predicate_builtin): Likewise.
8237 (rs6000_htm_spr_icode): Likewise.
8238 (altivec_expand_vec_init_builtin): Likewise.
8239 (get_element_number): Likewise.
8240 (altivec_expand_vec_set_builtin): Likewise.
8241 (altivec_expand_vec_ext_builtin): Likewise.
8242 (rs6000_invalid_builtin): Likewise.
8243 (rs6000_fold_builtin): Likewise.
8244 (fold_build_vec_cmp): Likewise.
8245 (fold_compare_helper): Likewise.
8246 (map_to_integral_tree_type): Likewise.
8247 (fold_mergehl_helper): Likewise.
8248 (fold_mergeeo_helper): Likewise.
8249 (rs6000_builtin_valid_without_lhs): Likewise.
8250 (rs6000_builtin_is_supported): Likewise.
8251 (rs6000_gimple_fold_mma_builtin): Likewise.
8252 (rs6000_gimple_fold_builtin): Likewise.
8253 (rs6000_expand_ldst_mask): Likewise.
8254 (cpu_expand_builtin): Likewise.
8255 (elemrev_icode): Likewise.
8256 (ldv_expand_builtin): Likewise.
8257 (lxvrse_expand_builtin): Likewise.
8258 (lxvrze_expand_builtin): Likewise.
8259 (stv_expand_builtin): Likewise.
8260 (mma_expand_builtin): Likewise.
8261 (htm_spr_num): Likewise.
8262 (htm_expand_builtin): Likewise.
8263 (rs6000_expand_builtin): Likewise.
8264 (rs6000_vector_type): Likewise.
8265 (rs6000_init_builtins): Likewise. Remove initialization of
8266 builtin_mode_to_type entries.
8267 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
8268 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
8269 external declaration.
8270 (rs6000_builtin_md_vectorized_function): Likewise.
8271 (rs6000_builtin_reciprocal): Likewise.
8272 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
8273 (rs6000_builtin_types): Likewise.
8274 (builtin_mode_to_type): Remove.
8275 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
8277 (rs6000_builtin_md_vectorized_function): Likewise.
8278 (rs6000_builtin_reciprocal): Likewise.
8279 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
8280 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
8282 2022-02-03 Richard Biener <rguenther@suse.de>
8285 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
8286 together via DECL_ABSTRACT_ORIGIN.
8288 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
8290 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
8291 message for RES_BITS case.
8293 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
8295 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
8297 2022-02-03 Jakub Jelinek <jakub@redhat.com>
8299 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
8300 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
8302 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
8304 * cfganal.cc (verify_marked_backedges): New.
8305 * cfganal.h (verify_marked_backedges): New.
8306 * gimple-range-path.cc (path_range_query::path_range_query):
8307 Verify freshness of back edges.
8308 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
8309 mark_dfs_back_edges.
8310 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
8311 path_range_query construction after backedges have been
8314 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
8316 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
8319 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
8321 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
8322 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
8325 2022-02-03 Martin Liska <mliska@suse.cz>
8327 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
8328 Change subject and object in the error message.
8329 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
8332 2022-02-03 Martin Liska <mliska@suse.cz>
8334 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
8335 Use the error message for i386 target.
8337 2022-02-03 Jakub Jelinek <jakub@redhat.com>
8339 PR tree-optimization/104334
8340 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
8341 and rh_range type to widest_int and subtract in widest_int. Remove
8342 ov_rh, ov_lh and sign vars, always perform comparisons as signed
8343 and use >, < and == operators for it.
8345 2022-02-03 Martin Sebor <msebor@redhat.com>
8347 * common.opt (-Wuse-after-free): Correct typos.
8349 2022-02-02 David Malcolm <dmalcolm@redhat.com>
8352 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
8353 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
8354 -ftrivial-auto-var-init= doesn't suppress warnings.
8356 2022-02-02 Martin Liska <mliska@suse.cz>
8358 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
8360 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
8363 * config/or1k/linux.h (CPP_SPEC): Define.
8365 2022-02-02 Tamar Christina <tamar.christina@arm.com>
8367 PR tree-optimization/102819
8368 PR tree-optimization/103169
8369 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
8372 2022-02-02 Tamar Christina <tamar.christina@arm.com>
8374 PR tree-optimization/102819
8375 PR tree-optimization/103169
8376 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
8378 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
8380 2022-02-02 Tamar Christina <tamar.christina@arm.com>
8382 PR tree-optimization/102819
8383 PR tree-optimization/103169
8384 * doc/md.texi: Update docs for cfms, cfma.
8385 * tree-data-ref.h (same_data_refs): Accept optional offset.
8386 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
8388 (vect_normalize_conj_loc): Remove.
8389 (is_eq_or_top): Change to take two nodes.
8390 (enum _conj_status, compatible_complex_nodes_p,
8391 vect_validate_multiplication): New.
8392 (class complex_add_pattern, complex_add_pattern::matches,
8393 complex_add_pattern::recognize, class complex_mul_pattern,
8394 complex_mul_pattern::recognize, class complex_fms_pattern,
8395 complex_fms_pattern::recognize, class complex_operations_pattern,
8396 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
8398 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
8399 cache and use new validation code.
8400 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
8401 vect_analyze_slp): Pass along cache.
8402 (compatible_calls_p): Expose.
8403 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
8404 slp_compat_nodes_map_t): New.
8405 (class vect_pattern): Update signatures include new cache.
8407 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
8409 * config/cris/cris.cc (cris_preferred_reload_class): Reject
8410 "eliminated" registers and small-enough constants unless
8411 reloaded into a class that is a subset of GENERAL_REGS.
8412 * config/cris/cris.md (attribute "cpu_variant"): New.
8413 (attribute "enabled"): Conditionalize on a matching attribute
8414 cpu_variant, if specified.
8415 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
8416 memory, add cpu-variant-enabled variants for "r" alternatives on
8417 the far side of the "x" alternatives, preferring the "x" ones
8418 only for variants where MOF is present (in addition to SRP).
8420 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
8422 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
8423 extra cost for ALL_REGS.
8425 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
8427 * config/cris/constraints.md (define_register_constraint "b"): Now
8429 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
8430 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
8431 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
8432 and SPEC_GENNONACR_REGS.
8433 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
8434 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
8436 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
8438 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
8439 Conditionalize on (sub-)register operands or operand 1 being 0.
8441 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
8443 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
8444 (MUL_BUG_ASM_DEFAULT): New macro.
8445 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
8446 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
8449 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
8451 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
8454 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
8456 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
8458 2022-02-01 Andrew Pinski <apinski@marvell.com>
8462 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
8464 * config/s390/s390.cc (s390_code_end): Do not switch back to
8467 2022-02-01 Jakub Jelinek <jakub@redhat.com>
8470 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
8471 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
8472 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
8473 GTY((user)) for struct bifdata and struct ovlddata. Instead add
8474 GTY((skip(""))) to members with pointer and enum types that don't need
8475 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
8476 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
8477 (write_extern_fntype, write_fntype): Remove.
8478 (write_fntype_init): Emit the fntype vars as automatic vars instead
8480 (write_header_file): Don't iterate with write_extern_fntype.
8481 (write_init_file): Don't iterate with write_fntype. Don't emit
8482 gt_ggc_mx and gt_pch_nx definitions.
8484 2022-02-01 Jason Merrill <jason@redhat.com>
8486 * tree.h (struct tree_vec_map_cache_hasher): Move from...
8487 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
8489 2022-02-01 Tom de Vries <tdevries@suse.de>
8491 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
8492 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
8493 UNSPECV_UNIFORM_WARP_CHECK.
8494 (define_insn "nvptx_uniform_warp_check"): New define_insn.
8496 2022-02-01 Tom de Vries <tdevries@suse.de>
8498 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
8499 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
8501 (define_insn "nvptx_warpsync"): New define_insn.
8503 2022-02-01 Tom de Vries <tdevries@suse.de>
8505 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
8507 2022-02-01 Tom de Vries <tdevries@suse.de>
8509 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
8510 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
8511 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
8512 insn for TARGET_PTX_6_0.
8514 2022-02-01 Tom de Vries <tdevries@suse.de>
8517 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
8520 2022-02-01 Tom de Vries <tdevries@suse.de>
8522 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
8523 (define_insn "atomic_exchange<mode>")
8524 (define_insn "atomic_fetch_add<mode>")
8525 (define_insn "atomic_fetch_addsf")
8526 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
8527 if memory operands is frame-relative.
8529 2022-02-01 Tom de Vries <tdevries@suse.de>
8531 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
8532 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
8534 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
8535 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
8536 NVPTX_BUILTIN_MEMBAR_CTA.
8537 (nvptx_lockfull_update): Add level parameter. Emit barriers.
8538 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
8539 nvptx_lockfull_update.
8540 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
8542 (define_expand "nvptx_membar_gl"): New expand.
8543 (define_insn "*nvptx_membar_gl"): New insn.
8545 2022-02-01 Martin Liska <mliska@suse.cz>
8547 * doc/install.texi: Remove option for GCC < 4.8.
8549 2022-02-01 Jakub Jelinek <jakub@redhat.com>
8551 PR middle-end/104307
8552 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
8553 stmts to uses vector, just set vec_cond_expr_only to false for
8554 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
8555 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
8556 like non-VEC_COND_EXPRs.
8558 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
8560 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
8561 (VEC_BLENDV): Likewise.
8562 (VEC_BPERM): Likewise.
8563 (VEC_CFUGE): Likewise.
8564 (VEC_CIPHER_BE): Likewise.
8565 (VEC_CIPHERLAST_BE): Likewise.
8566 (VEC_CLRL): Likewise.
8567 (VEC_CLRR): Likewise.
8568 (VEC_CMPNEZ): Likewise.
8569 (VEC_CNTLZ): Likewise.
8570 (VEC_CNTLZM): Likewise.
8571 (VEC_CNTTZM): Likewise.
8572 (VEC_CNTLZ_LSBB): Likewise.
8573 (VEC_CNTM): Likewise.
8574 (VEC_CNTTZ): Likewise.
8575 (VEC_CNTTZ_LSBB): Likewise.
8576 (VEC_CONVERT_4F32_8F16): Likewise.
8577 (VEC_DIV): Likewise.
8578 (VEC_DIVE): Likewise.
8579 (VEC_EQV): Likewise.
8580 (VEC_EXPANDM): Likewise.
8581 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
8582 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
8583 (VEC_EXTRACTH): Likewise.
8584 (VEC_EXTRACTL): Likewise.
8585 (VEC_EXTRACTM): Likewise.
8586 (VEC_EXTRACT4B): Likewise.
8587 (VEC_EXTULX): Likewise.
8588 (VEC_EXTURX): Likewise.
8589 (VEC_FIRSTMATCHINDEX): Likewise.
8590 (VEC_FIRSTMACHOREOSINDEX): Likewise.
8591 (VEC_FIRSTMISMATCHINDEX): Likewise.
8592 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
8594 (VEC_GENBM): Likewise.
8595 (VEC_GENHM): Likewise.
8596 (VEC_GENWM): Likewise.
8597 (VEC_GENDM): Likewise.
8598 (VEC_GENQM): Likewise.
8599 (VEC_GENPCVM): Likewise.
8600 (VEC_GNB): Likewise.
8601 (VEC_INSERTH): Likewise.
8602 (VEC_INSERTL): Likewise.
8603 (VEC_INSERT4B): Likewise.
8604 (VEC_LXVL): Likewise.
8605 (VEC_MERGEE): Likewise.
8606 (VEC_MERGEO): Likewise.
8607 (VEC_MOD): Likewise.
8608 (VEC_MSUB): Likewise.
8609 (VEC_MULH): Likewise.
8610 (VEC_NAND): Likewise.
8611 (VEC_NCIPHER_BE): Likewise.
8612 (VEC_NCIPHERLAST_BE): Likewise.
8613 (VEC_NEARBYINT): Likewise.
8614 (VEC_NMADD): Likewise.
8615 (VEC_ORC): Likewise.
8616 (VEC_PDEP): Likewise.
8617 (VEC_PERMX): Likewise.
8618 (VEC_PEXT): Likewise.
8619 (VEC_POPCNT): Likewise.
8620 (VEC_PARITY_LSBB): Likewise.
8621 (VEC_REPLACE_ELT): Likewise.
8622 (VEC_REPLACE_UN): Likewise.
8623 (VEC_REVB): Likewise.
8624 (VEC_RINT): Likewise.
8625 (VEC_RLMI): Likewise.
8626 (VEC_RLNM): Likewise.
8627 (VEC_SBOX_BE): Likewise.
8628 (VEC_SIGNEXTI): Likewise.
8629 (VEC_SIGNEXTLL): Likewise.
8630 (VEC_SIGNEXTQ): Likewise.
8631 (VEC_SLDB): Likewise.
8632 (VEC_SLV): Likewise.
8633 (VEC_SPLATI): Likewise.
8634 (VEC_SPLATID): Likewise.
8635 (VEC_SPLATI_INS): Likewise.
8636 (VEC_SQRT): Likewise.
8637 (VEC_SRDB): Likewise.
8638 (VEC_SRV): Likewise.
8639 (VEC_STRIL): Likewise.
8640 (VEC_STRIL_P): Likewise.
8641 (VEC_STRIR): Likewise.
8642 (VEC_STRIR_P): Likewise.
8643 (VEC_STXVL): Likewise.
8644 (VEC_TERNARYLOGIC): Likewise.
8645 (VEC_TEST_LSBB_ALL_ONES): Likewise.
8646 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
8647 (VEC_VEE): Likewise.
8648 (VEC_VES): Likewise.
8649 (VEC_VIE): Likewise.
8650 (VEC_VPRTYB): Likewise.
8651 (VEC_VSCEEQ): Likewise.
8652 (VEC_VSCEGT): Likewise.
8653 (VEC_VSCELT): Likewise.
8654 (VEC_VSCEUO): Likewise.
8655 (VEC_VSEE): Likewise.
8656 (VEC_VSES): Likewise.
8657 (VEC_VSIE): Likewise.
8658 (VEC_VSTDC): Likewise.
8659 (VEC_VSTDCN): Likewise.
8660 (VEC_VTDC): Likewise.
8662 (VEC_XL_BE): Likewise.
8663 (VEC_XL_LEN_R): Likewise.
8664 (VEC_XL_SEXT): Likewise.
8665 (VEC_XL_ZEXT): Likewise.
8666 (VEC_XST): Likewise.
8667 (VEC_XST_BE): Likewise.
8668 (VEC_XST_LEN_R): Likewise.
8669 (VEC_XST_TRUNC): Likewise.
8670 (VEC_XXPERMDI): Likewise.
8671 (VEC_XXSLDWI): Likewise.
8672 (VEC_TSTSFI_EQ_DD): Likewise.
8673 (VEC_TSTSFI_EQ_TD): Likewise.
8674 (VEC_TSTSFI_GT_DD): Likewise.
8675 (VEC_TSTSFI_GT_TD): Likewise.
8676 (VEC_TSTSFI_LT_DD): Likewise.
8677 (VEC_TSTSFI_LT_TD): Likewise.
8678 (VEC_TSTSFI_OV_DD): Likewise.
8679 (VEC_TSTSFI_OV_TD): Likewise.
8680 (VEC_VADDCUQ): Likewise.
8681 (VEC_VADDECUQ): Likewise.
8682 (VEC_VADDEUQM): Likewise.
8683 (VEC_VADDUDM): Likewise.
8684 (VEC_VADDUQM): Likewise.
8685 (VEC_VBPERMQ): Likewise.
8686 (VEC_VCLZB): Likewise.
8687 (VEC_VCLZD): Likewise.
8688 (VEC_VCLZH): Likewise.
8689 (VEC_VCLZW): Likewise.
8690 (VEC_VCTZB): Likewise.
8691 (VEC_VCTZD): Likewise.
8692 (VEC_VCTZH): Likewise.
8693 (VEC_VCTZW): Likewise.
8694 (VEC_VEEDP): Likewise.
8695 (VEC_VEESP): Likewise.
8696 (VEC_VESDP): Likewise.
8697 (VEC_VESSP): Likewise.
8698 (VEC_VIEDP): Likewise.
8699 (VEC_VIESP): Likewise.
8700 (VEC_VPKSDSS): Likewise.
8701 (VEC_VPKSDUS): Likewise.
8702 (VEC_VPKUDUM): Likewise.
8703 (VEC_VPKUDUS): Likewise.
8704 (VEC_VPOPCNT): Likewise.
8705 (VEC_VPOPCNTB): Likewise.
8706 (VEC_VPOPCNTD): Likewise.
8707 (VEC_VPOPCNTH): Likewise.
8708 (VEC_VPOPCNTW): Likewise.
8709 (VEC_VPRTYBD): Likewise.
8710 (VEC_VPRTYBQ): Likewise.
8711 (VEC_VPRTYBW): Likewise.
8712 (VEC_VRLD): Likewise.
8713 (VEC_VSLD): Likewise.
8714 (VEC_VSRAD): Likewise.
8715 (VEC_VSRD): Likewise.
8716 (VEC_VSTDCDP): Likewise.
8717 (VEC_VSTDCNDP): Likewise.
8718 (VEC_VSTDCNQP): Likewise.
8719 (VEC_VSTDCNSP): Likewise.
8720 (VEC_VSTDCQP): Likewise.
8721 (VEC_VSTDCSP): Likewise.
8722 (VEC_VSUBECUQ): Likewise.
8723 (VEC_VSUBEUQM): Likewise.
8724 (VEC_VSUBUDM): Likewise.
8725 (VEC_VSUBUQM): Likewise.
8726 (VEC_VTDCDP): Likewise.
8727 (VEC_VTDCSP): Likewise.
8728 (VEC_VUPKHSW): Likewise.
8729 (VEC_VUPKLSW): Likewise.
8731 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
8733 PR rtl-optimization/101260
8734 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
8737 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
8740 * fold-const.cc (const_binop): Do not fold NaN result from
8743 2022-02-01 Tom de Vries <tdevries@suse.de>
8745 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
8746 -ftree-loop-distribute-patterns.
8747 (loop_distribution::execute): Don't call transform_reduction_loop for
8748 -fno-tree-loop-distribute-patterns.
8750 2022-01-31 Andrew Pinski <apinski@marvell.com>
8752 * fold-const.h (operand_compare::operand_equal_p):
8753 Fix comment about OEP_* flags.
8755 2022-01-31 Jakub Jelinek <jakub@redhat.com>
8758 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
8759 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
8760 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
8761 if not already defined.
8763 2022-01-31 Martin Sebor <msebor@redhat.com>
8765 PR middle-end/104232
8766 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
8767 Handle PHIs. Add a synonymous overload.
8768 (pass_waccess::check_pointer_uses): Call pointers_related_p.
8770 2022-01-31 Richard Biener <rguenther@suse.de>
8772 PR tree-optimization/100499
8773 * fold-const.cc (multiple_of_p): Pass the correct type of
8774 the expression to the recursive invocation of multiple_of_p
8775 for conversions and use CASE_CONVERT.
8777 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
8780 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
8782 2022-01-31 Richard Biener <rguenther@suse.de>
8784 PR tree-optimization/100499
8785 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
8786 on poly-ints instead of multiple_of_p.
8787 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
8788 (non_rewritable_mem_ref_base): Likewise.
8789 (non_rewritable_lvalue_p): Likewise.
8790 (execute_update_addresses_taken): Likewise.
8792 2022-01-29 Jakub Jelinek <jakub@redhat.com>
8793 Andrew Pinski <apinski@marvell.com>
8795 PR tree-optimization/104279
8796 PR tree-optimization/104280
8797 PR tree-optimization/104281
8798 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
8799 boolean_type_node and convert to type. Formatting fixes.
8801 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
8803 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
8805 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
8807 PR tree-optimization/103514
8808 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
8809 (a & b) == (a ^ b) -> !(a | b): New optimization.
8811 2022-01-28 Marek Polacek <polacek@redhat.com>
8813 * doc/invoke.texi: Update -Wbidi-chars documentation.
8815 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
8817 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
8819 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
8821 PR tree-optimization/95424
8822 * match.pd: Simplify 1 / X where X is an integer.
8824 2022-01-28 Jakub Jelinek <jakub@redhat.com>
8826 PR tree-optimization/104263
8827 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
8828 cfun->can_throw_non_call_exceptions && cfun->eh test whether
8829 last non-debug stmt in the bb is store_valid_for_store_merging_p
8830 rather than last stmt.
8832 2022-01-28 Martin Liska <mliska@suse.cz>
8834 * diagnostic.cc (diagnostic_action_after_output): Remove extra
8837 2022-01-28 Martin Liska <mliska@suse.cz>
8839 * config/rs6000/host-darwin.cc (segv_crash_handler):
8840 Do not use leading capital letter.
8841 (segv_handler): Likewise.
8842 * ipa-sra.cc (verify_splitting_accesses): Likewise.
8843 * varasm.cc (get_section): Likewise.
8845 2022-01-28 Richard Biener <rguenther@suse.de>
8847 PR tree-optimization/104267
8848 * tree-vect-stmts.cc (vectorizable_call): Properly use the
8849 per-argument determined vector type for externals and
8852 2022-01-28 Richard Biener <rguenther@suse.de>
8854 PR tree-optimization/104263
8855 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
8856 Purge edges also when !cfun->has_nonlocal_label
8857 and !cfun->calls_setjmp.
8859 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
8861 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
8864 2022-01-28 Jakub Jelinek <jakub@redhat.com>
8867 * cfgrtl.cc (loc_equal): New function.
8868 (unique_locus_on_edge_between_p): Use it.
8870 2022-01-28 Richard Biener <rguenther@suse.de>
8872 * cfganal.h (mark_dfs_back_edges): Provide API with struct
8874 * cfganal.cc (mark_dfs_back_edges): Take a struct function
8875 to work on, add a wrapper passing cfun.
8876 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
8877 uses with fun which is already passed.
8878 (draw_cfg_edges): Likewise.
8879 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
8882 2022-01-27 Patrick Palka <ppalka@redhat.com>
8885 * tree.cc (build_call_vec): Add const to second parameter.
8886 * tree.h (build_call_vec): Likewise.
8888 2022-01-27 Martin Liska <mliska@suse.cz>
8891 * diagnostic.cc (diagnostic_initialize):
8892 Initialize report_bug flag.
8893 (diagnostic_action_after_output):
8894 Explain that -freport-bug option can be used for pre-processed
8895 file creation. Make the message shorter.
8896 (error_recursion): Rename Internal to internal.
8897 * diagnostic.h (struct diagnostic_context): New field.
8898 * opts.cc (common_handle_option): Init the field here.
8900 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
8903 * config/rs6000/rs6000.cc
8904 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
8905 assertion with early return.
8907 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
8909 PR middle-end/103642
8910 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
8911 for non-pointer or non-reference-to-pointer cases.
8913 2022-01-27 Jakub Jelinek <jakub@redhat.com>
8915 PR tree-optimization/104196
8916 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
8917 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
8918 return NULL and emit needed stmts before and after stmt.
8919 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
8920 pick as operand_entry that will hold the merged test the one feeding
8921 earliest condition, ensure that by swapping range->idx with some
8922 other range's idx if needed. If seq is non-NULL, don't actually swap
8923 it but instead rewrite stmts with undefined overflow in between
8925 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
8926 corresponding condition even if they have non-NULL ops[]->op.
8929 2022-01-26 Jakub Jelinek <jakub@redhat.com>
8932 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
8934 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
8935 before for loop instead of for init clause.
8936 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
8938 2022-01-26 Jakub Jelinek <jakub@redhat.com>
8941 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
8942 _X86INTRIN_H_INCLUDED and adjust #error wording.
8943 * config/rs6000/bmi2intrin.h: Likewise.
8945 2022-01-26 Jakub Jelinek <jakub@redhat.com>
8948 * dwarf2out.cc (long_double_as_float128): New function.
8949 (modified_type_die): For powerpc64le IEEE 754 quad long double
8950 and complex long double emit those as DW_TAG_typedef to
8951 _Float128 or complex _Float128 base type.
8953 2022-01-26 Marek Polacek <polacek@redhat.com>
8956 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
8957 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
8959 2022-01-26 Martin Liska <mliska@suse.cz>
8961 * ipa-modref-tree.cc (modref_access_node::update):
8962 Remove "--param param=foo" with "--param foo".
8963 (modref_access_node::insert): Likewise.
8964 (modref_access_node::insert_kill): Likewise.
8965 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
8966 (struct modref_base_node): Likewise.
8967 (struct modref_tree): Likewise.
8969 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
8972 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
8975 2022-01-25 Martin Sebor <msebor@redhat.com>
8977 PR tree-optimization/104203
8978 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
8980 * pointer-query.cc (access_ref::merge_ref): Change return type.
8981 Convert failure to a conservative success.
8982 (access_ref::get_ref): Adjust to the change above. Short-circuit
8983 PHI evaluation after first failure turned into conservative success.
8984 * pointer-query.h (access_ref::merge_ref): Change return type.
8985 * timevar.def (TV_WARN_ACCESS): New timer variable.
8987 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
8989 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
8991 2022-01-25 Richard Biener <rguenther@suse.de>
8993 PR tree-optimization/104214
8994 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
8995 stronger guarantees for relational pointer compares when
8996 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
8997 BASE0 + STEP0 - STEP1 cmp BASE1.
8999 2022-01-25 Jakub Jelinek <jakub@redhat.com>
9002 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
9004 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
9005 ieee128_mangling_gcc_8_1): Remove.
9006 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
9007 (rs6000_mangle_type): Return "u9__ieee128" instead of
9008 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
9009 (rs6000_globalize_decl_name): Remove.
9010 * config/rs6000/rs6000-call.cc (init_cumulative_args,
9011 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
9013 2022-01-24 Martin Sebor <msebor@redhat.com>
9015 * pointer-query.cc (pointer_query::dump): Remove duplicate
9018 2022-01-24 Marek Polacek <polacek@redhat.com>
9020 PR preprocessor/104030
9021 * doc/invoke.texi: Update documentation for -Wbidi-chars.
9023 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
9026 * builtins.cc (expand_builtin_fegetround): New function.
9027 (expand_builtin_feclear_feraise_except): New function.
9028 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
9029 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
9030 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
9031 (feclearexceptsi): New Pattern.
9032 (feraiseexceptsi): New Pattern.
9033 * doc/extend.texi: Add a new introductory paragraph about the
9035 * doc/md.texi: (fegetround@var{m}): Document new optab.
9036 (feclearexcept@var{m}): Document new optab.
9037 (feraiseexcept@var{m}): Document new optab.
9038 * optabs.def (fegetround_optab): New optab.
9039 (feclearexcept_optab): New optab.
9040 (feraiseexcept_optab): New optab.
9042 2022-01-24 Richard Biener <rguenther@suse.de>
9043 Jiufu Guo <guojiufu@linux.ibm.com>
9045 PR tree-optimization/100740
9046 PR tree-optimization/101508
9047 PR tree-optimization/101972
9048 PR tree-optimization/102131
9049 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
9050 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
9051 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
9053 2022-01-24 Jakub Jelinek <jakub@redhat.com>
9056 * opt-functions.awk (var_set): Handle EnumBitSet property.
9057 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
9059 * opts.h (enum cl_enum_var_value): New type.
9060 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
9062 (cmdline_handle_error): Handle CLEV_BITSET.
9063 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
9064 * doc/options.texi (EnumBitSet): Document.
9065 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
9067 (trace-pc, trace-cmp): Drop Set properties.
9069 2022-01-24 Jakub Jelinek <jakub@redhat.com>
9072 * common.opt (flag_sanitize_coverage): Remove Variable entry.
9073 (fsanitize-coverage=): Remove RejectNegative property, add
9074 Var(flag_sanitize_coverage) and EnumSet properties.
9075 (trace-pc): Add Set(1) property.
9076 (trace-cmp): Add Set(2) property.
9077 * opts.cc (common_handle_option): Don't handle
9078 OPT_fsanitize_coverage_.
9080 2022-01-24 Jakub Jelinek <jakub@redhat.com>
9083 * opt-functions.awk (var_set): Handle EnumSet property.
9084 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
9086 * opt-read.awk: Handle Set property.
9087 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
9088 (struct cl_decoded_option): Mention enum in value description.
9090 (set_option): Add mask argument defaulted to 0.
9091 * opts.cc (test_enum_sets): New function.
9092 (opts_cc_tests): Call it.
9093 * opts-common.cc (enum_arg_to_value): Change return argument
9094 from bool to int, on success return index into the cl_enum_arg
9095 array, on failure -1. Add len argument, if non-0, use strncmp
9097 (opt_enum_arg_to_value): Adjust caller.
9098 (decode_cmdline_option): Handle EnumSet represented as
9099 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
9100 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
9101 (handle_option): Pass decoded->mask to set_options last argument.
9102 (generate_option): Clear decoded->mask.
9103 (generate_option_input_file): Likewise.
9104 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
9105 (set_option): Add mask argument, use it for CLVC_ENUM.
9106 (control_warning_option): Adjust enum_arg_to_value caller.
9107 * doc/options.texi: Document Set and EnumSet properties.
9109 2022-01-24 Jakub Jelinek <jakub@redhat.com>
9112 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9113 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9114 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9115 using OPTION_*_P macros.
9116 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9117 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9118 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9119 using OPTION_*_P macros.
9120 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9121 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9122 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9123 using OPTION_*_P macros.
9124 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9125 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9126 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9127 using OPTION_*_P macros.
9128 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
9129 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
9130 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
9131 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
9132 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
9133 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
9134 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
9135 otherwise assume if (true).
9137 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
9139 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
9140 Skip zicsr and zifencei if I-ext is 2.0.
9142 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
9144 * config.gcc: Modify default isa_spec version.
9146 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
9148 PR tree-optimization/102087
9149 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
9150 Correct PLUS result type.
9152 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
9155 * config/i386/predicates.md (bcst_mem_operand): Also check mode
9156 of memory broadcast.
9158 2022-01-23 Andrew Pinski <apinski@marvell.com>
9161 * config/aarch64/aarch64-builtins.cc
9162 (aarch64_general_gimple_fold_builtin): Handle
9163 __builtin_aarch64_sqrt* and simplify into SQRT internal
9166 2022-01-22 Jakub Jelinek <jakub@redhat.com>
9169 * opts-global.cc (handle_common_deferred_options): Quote
9170 --enable-plugin in diagnostics to avoid -Werror=format-diag.
9172 2022-01-21 Michael Meissner <meissner@the-meissners.org>
9175 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
9176 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
9177 * config/rs6000/rs6000.md (prefixed attribute): Delete section
9178 that sets the prefixed attribute for xxspltiw, xxspltidp, and
9179 xxsplti32dx instructions.
9180 (movsf_hardfloat): Explicitly set the prefixed attribute
9181 when xxspltiw and xxspltidp instructions are generated.
9182 (mov<mode>_hardfloat32): Likewise.
9183 (mov<mode>_hardfloat64): Likewise.
9184 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
9185 prefixed attribute for xxspltiw and xxspltidp instructions.
9186 (vsx_mov<mode>_32bit): Likewise.
9188 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
9191 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
9192 Return true only on glibc.
9193 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
9194 Revert commit c163647ffbc.
9195 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
9197 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
9199 * common/config/s390/s390-common.cc (s390_supports_split_stack):
9200 Only support split-stack on glibc targets.
9201 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
9202 * config/i386/gnu.h (defined): Ditto.
9204 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
9206 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
9207 vector float and vector double.
9209 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
9211 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
9212 Fix mention of ifunc in string.
9214 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
9216 PR middle-end/104140
9217 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
9218 operands of the widening multiplication are either both signed or
9219 both unsigned, and abort the conversion if mismatched.
9220 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
9221 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
9223 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
9224 integer types with the same precision and signedness.
9225 (WIDEN_MULT_EXPR): Document that operands must have integer types
9226 with the same precision, but possibly differing signedness.
9227 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
9228 riscv_current_subset_list returning a NULL pointer (empty list).
9230 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
9233 * ira.h (struct target_ira): Add member
9234 x_ira_exclude_class_mode_regs.
9235 (ira_exclude_class_mode_regs): New macro.
9236 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
9238 * lra-int.h: ... to here.
9239 (lra_create_new_reg_with_unique_value): Add arg
9240 exclude_start_hard_regs.
9241 (class lra_reg): Add member exclude_start_hard_regs.
9242 * lra-assigns.cc (find_hard_regno_for_1): Setup
9243 impossible_start_hard_regs from exclude_start_hard_regs.
9244 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
9245 it lra_create_new_reg[_with_unique_value].
9246 (match_reload): Ditto.
9247 (check_and_process_move): Pass NULL
9248 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
9249 (goal_alt_exclude_start_hard_regs): New static variable.
9250 (process_addr_reg, simplify_operand_subreg): Pass NULL
9251 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
9253 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
9254 Use this_alternative_exclude_start_hard_regs additionally to find
9255 winning operand alternative.
9256 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
9257 exclude_start_hard_regs to lra_create_new_reg.
9258 (process_address_1, emit_inc): Ditto.
9259 (curr_insn_transform): Pass exclude_start_hard_regs value to
9260 lra_create_new_reg, get_reload_reg, match_reload.
9261 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
9262 to lra_create_new_reg.
9263 (process_invariant_for_inheritance): Ditto.
9264 * lra-remat.cc (update_scratch_ops): Ditto.
9265 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
9266 exclude_start_hard_regs. Setup the corresponding member of
9268 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
9269 to lra_create_new_reg_with_unique_value.
9270 (initialize_lra_reg_info_element): Initialize member
9271 exclude_start_hard_regs.
9272 (get_scratch_reg): Pass NULL to lra_create_new_reg.
9273 * ira.cc (setup_prohibited_class_mode_regs): Rename to
9274 setup_prohibited_and_exclude_class_mode_regs and calculate
9275 ira_exclude_class_mode_regs.
9277 2022-01-21 Martin Liska <mliska@suse.cz>
9279 * configure.ac: Detect ld_is_mold and use it for
9280 comdat_group=yes and gcc_cv_ld_hidden=yes.
9281 * configure: Regenerate.
9283 2022-01-21 Richard Biener <rguenther@suse.de>
9285 PR tree-optimization/100089
9286 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
9287 of if-converted loops with unvectorized COND_EXPRs for
9288 all but the unlimited cost models.
9290 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
9292 * config/arm/arm-opts.h (enum stack_protector_guard): New.
9293 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
9295 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
9296 (arm_option_override_internal): Handle and put in error checks.
9297 for stack protector guard options.
9298 (arm_option_reconfigure_globals): Likewise.
9299 (arm_stack_protect_tls_canary_mem): New.
9300 (arm_stack_protect_guard): New.
9301 * config/arm/arm.md (stack_protect_set): New.
9302 (stack_protect_set_tls): Likewise.
9303 (stack_protect_test): Likewise.
9304 (stack_protect_test_tls): Likewise.
9305 (reload_tp_hard): Likewise.
9306 * config/arm/arm.opt (-mstack-protector-guard): New
9307 (-mstack-protector-guard-offset): New.
9308 * doc/invoke.texi: Document new options.
9310 2022-01-21 Richard Biener <rguenther@suse.de>
9312 PR tree-optimization/104156
9313 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
9314 Collect and reset debug stmts with out-of-loop uses when
9316 (find_loop_guard): Adjust.
9317 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
9318 (used_outside_loop_p): Push debug uses to a vector of
9319 debug stmts to reset.
9320 (hoist_guard): Adjust -fopt-info category.
9322 2022-01-21 Richard Biener <rguenther@suse.de>
9324 PR tree-optimization/104152
9325 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
9326 can_duplicate_and_interleave_p check.
9328 2022-01-21 Jakub Jelinek <jakub@redhat.com>
9330 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
9331 Avoid passing var to warning_at when the format string doesn't
9334 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
9336 PR tree-optimization/103721
9337 * gimple-range-path.cc
9338 (path_range_query::relations_may_be_invalidated): New.
9339 (path_range_query::compute_ranges_in_block): Reset relations if
9340 they may be invalidated.
9341 (path_range_query::maybe_register_phi_relation): Exit if relations
9342 may be invalidated on incoming edge.
9343 (path_range_query::compute_phi_relations): Pass incoming PHI edge
9344 to maybe_register_phi_relation.
9345 * gimple-range-path.h (relations_may_be_invalidated): New.
9346 (maybe_register_phi_relation): Pass edge instead of tree.
9347 * tree-ssa-threadbackward.cc (back_threader::back_threader):
9349 * value-relation.cc (path_oracle::path_oracle): Call
9350 mark_dfs_back_edges.
9351 (path_oracle::register_relation): Add SSA names to m_registered
9353 (path_oracle::reset_path): Clear m_registered bitmap.
9354 * value-relation.h (path_oracle::set_root_oracle): New.
9356 2022-01-21 Jakub Jelinek <jakub@redhat.com>
9358 PR rtl-optimization/102478
9359 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
9360 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
9363 2022-01-20 Richard Biener <rguenther@suse.de>
9365 PR middle-end/100786
9366 * gimple-fold.cc (get_symbol_constant_value): Only return
9367 values of compatible type to the symbol.
9369 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
9371 * value-relation.cc (relation_oracle::valid_equivs): Query and add
9372 if valid members of a set.
9373 (equiv_oracle::register_equiv): Call valid_equivs rather than
9374 bitmap direct operations.
9375 (path_oracle::register_equiv): Ditto.
9376 * value-relation.h (relation_oracle::valid_equivs): New prototype.
9378 2022-01-20 Richard Biener <rguenther@suse.de>
9381 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
9382 LHS before folding __builtin_ia32_shufpd and friends.
9384 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
9386 * config/arm/crypto.md (aes_op_protect): Allow moves from core
9387 registers and from memory.
9388 (aes_op_protect_misalign_load): New pattern.
9389 (aes_op_protect_neon_vld1v16qi): New pattern.
9391 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
9393 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
9395 (aarch32_crypto_aese_fused_protected): Likewise.
9396 (aarch32_crypto_aesd_fused_protected): Likewise.
9398 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
9400 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
9401 to define_expand. Add mitigation for the Cortex-A AES erratum
9403 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
9404 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
9405 (aes_op_protect): New pattern.
9406 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
9408 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
9410 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
9411 (ALL_QUIRKS): Add it.
9412 (cortex-a57, cortex-a72): Enable it.
9413 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
9414 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
9416 (mfix-cortex-a72-aes-1655431): New option alias.
9417 * config/arm/arm.cc (arm_option_override): Handle default settings
9418 for AES erratum switch.
9419 * doc/invoke.texi (Arm Options): Document new options.
9421 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
9423 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
9424 <crypto_mode> rather than hard-coding the mode.
9425 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
9426 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
9427 (*aarch32_crypto_aese_fused): Likewise.
9428 (*aarch32_crypto_aesd_fused): Likewise.
9429 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
9430 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
9431 (crypto_sha1h_lb): Likewise.
9432 (crypto_vmullp64): Likewise.
9433 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
9434 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
9436 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
9438 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
9439 iterator to pattern name to disambiguate.
9440 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
9441 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
9442 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
9443 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
9444 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
9446 2022-01-20 Martin Liska <mliska@suse.cz>
9449 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
9450 * rtl.cc: Partially disable -Wformat-diag for RTL checking
9453 2022-01-20 Jakub Jelinek <jakub@redhat.com>
9456 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
9457 block_num > 0, index entry even if !have_multiple_function_sections.
9459 2022-01-20 liuhongt <hongtao.liu@intel.com>
9462 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
9463 integral mode mask pack by multi steps which takes
9464 vec_pack_sbool_trunc_optab as start when elements number is
9465 less than BITS_PER_UNITS.
9467 2022-01-20 Richard Biener <rguenther@suse.de>
9469 PR tree-optimization/104114
9470 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
9471 single element vector decomposition.
9473 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9475 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
9476 (noce_convert_multiple_sets): Call function a second time if we can
9477 improve the first try.
9479 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9481 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
9482 reversed comparison.
9483 (try_emit_cmove_seq): New function to facilitate creating a cmov
9485 (noce_convert_multiple_sets): Create two sequences and use the less
9488 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9490 * rtl.h (struct rtx_comparison): New struct that holds an rtx
9492 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
9494 (rs6000_emit_swsqrt): Likewise.
9495 * expmed.cc (expand_sdiv_pow2): Likewise.
9496 (emit_store_flag): Likewise.
9497 * expr.cc (expand_cond_expr_using_cmove): Likewise.
9498 (expand_expr_real_2): Likewise.
9499 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
9501 * optabs.cc (emit_conditional_move_1): New function.
9502 (expand_doubleword_shift_condmove): Use struct.
9503 (emit_conditional_move): Use struct and allow to call directly
9504 without going through preparation steps.
9505 * optabs.h (emit_conditional_move): Use struct.
9507 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9509 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
9510 (noce_process_if_block): Use potential costs.
9512 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9514 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
9515 (bb_ok_for_noce_convert_multiple_sets): Likewise.
9517 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9519 * ifcvt.cc (need_cmov_or_rewire): New function.
9520 (noce_convert_multiple_sets): Call it.
9522 2022-01-19 David Malcolm <dmalcolm@redhat.com>
9524 * attribs.cc (attribute_c_tests): Rename to...
9525 (attribs_cc_tests): ...this.
9526 * bitmap.cc (bitmap_c_tests): Rename to...
9527 (bitmap_cc_tests): ...this.
9528 * cgraph.cc (cgraph_c_finalize): Rename to...
9529 (cgraph_cc_finalize): ...this.
9530 (cgraph_c_tests): Rename to...
9531 (cgraph_cc_tests): ...this.
9532 * cgraph.h (cgraph_c_finalize): Rename to...
9533 (cgraph_cc_finalize): ...this.
9534 (cgraphunit_c_finalize): Rename to...
9535 (cgraphunit_cc_finalize): ...this.
9536 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
9537 (cgraphunit_cc_finalize): ...this.
9538 * convert.cc (convert_c_tests): Rename to...
9539 (convert_cc_tests): ...this.
9540 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
9541 (dbgcnt_cc_tests): ...this.
9542 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
9543 (diagnostic_show_locus_cc_tests): ...this.
9544 * diagnostic.cc (diagnostic_c_tests): Rename to...
9545 (diagnostic_cc_tests): ...this.
9546 * dumpfile.cc (dumpfile_c_tests): Rename to...
9547 (dumpfile_cc_tests): ...this.
9548 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
9549 (dwarf2out_cc_finalize): ...this.
9550 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
9551 (dwarf2out_cc_finalize): ...this.
9552 * edit-context.cc (edit_context_c_tests): Rename to...
9553 (edit_context_cc_tests): ...this.
9554 * et-forest.cc (et_forest_c_tests): Rename to...
9555 (et_forest_cc_tests): ...this.
9556 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
9557 (fibonacci_heap_cc_tests): ...this.
9558 * fold-const.cc (fold_const_c_tests): Rename to...
9559 (fold_const_cc_tests): ...this.
9560 * function-tests.cc (function_tests_c_tests): Rename to...
9561 (function_tests_cc_tests): ...this.
9562 * gcse.cc (gcse_c_finalize): Rename to...
9563 (gcse_cc_finalize): ...this.
9564 * gcse.h (gcse_c_finalize): Rename to...
9565 (gcse_cc_finalize): ...this.
9566 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
9567 (ggc_tests_cc_tests): ...this.
9568 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
9569 (store_merging_cc_tests): ...this.
9570 * gimple.cc (gimple_c_tests): Rename to...
9571 (gimple_cc_tests): ...this.
9572 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
9573 (hash_map_tests_cc_tests): ...this.
9574 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
9575 (hash_set_tests_cc_tests): ...this.
9576 * input.cc (input_c_tests): Rename to...
9577 (input_cc_tests): ...this.
9578 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
9579 (ipa_cp_cc_finalize): ...this.
9580 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
9581 (ipa_fnsummary_cc_finalize): ...this.
9582 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
9583 (ipa_fnsummary_cc_finalize): ...this.
9584 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
9585 (ipa_modref_tree_cc_tests): ...this.
9586 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
9587 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
9588 (ipa_modref_cc_finalize): ...this.
9589 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
9590 (ipa_modref_cc_finalize): ...this.
9591 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
9592 (ipa_cp_cc_finalize): ...this.
9593 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
9594 (ipa_reference_cc_finalize): ...this.
9595 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
9596 (ipa_reference_cc_finalize): ...this.
9597 * ira-costs.cc (ira_costs_c_finalize): Rename to...
9598 (ira_costs_cc_finalize): ...this.
9599 * ira.h (ira_costs_c_finalize): Rename to...
9600 (ira_costs_cc_finalize): ...this.
9601 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
9602 (opt_suggestions_cc_tests): ...this.
9603 * opts.cc (opts_c_tests): Rename to...
9604 (opts_cc_tests): ...this.
9605 * predict.cc (predict_c_tests): Rename to...
9606 (predict_cc_tests): ...this.
9607 * pretty-print.cc (pretty_print_c_tests): Rename to...
9608 (pretty_print_cc_tests): ...this.
9609 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
9610 (read_rtl_function_cc_tests): ...this.
9611 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
9612 (rtl_tests_cc_tests): ...this.
9613 * sbitmap.cc (sbitmap_c_tests): Rename to...
9614 (sbitmap_cc_tests): ...this.
9615 * selftest-run-tests.cc (selftest::run_tests): Update calls for
9616 _c_ to _cc_ function renamings; fix names of attribs and
9617 opt-suggestions tests.
9618 * selftest.cc (selftest_c_tests): Rename to...
9619 (selftest_cc_tests): ...this.
9620 * selftest.h (attribute_c_tests): Rename to...
9621 (attribs_cc_tests): ...this.
9622 (bitmap_c_tests): Rename to...
9623 (bitmap_cc_tests): ...this.
9624 (cgraph_c_tests): Rename to...
9625 (cgraph_cc_tests): ...this.
9626 (convert_c_tests): Rename to...
9627 (convert_cc_tests): ...this.
9628 (diagnostic_c_tests): Rename to...
9629 (diagnostic_cc_tests): ...this.
9630 (diagnostic_show_locus_c_tests): Rename to...
9631 (diagnostic_show_locus_cc_tests): ...this.
9632 (dumpfile_c_tests): Rename to...
9633 (dumpfile_cc_tests): ...this.
9634 (edit_context_c_tests): Rename to...
9635 (edit_context_cc_tests): ...this.
9636 (et_forest_c_tests): Rename to...
9637 (et_forest_cc_tests): ...this.
9638 (fibonacci_heap_c_tests): Rename to...
9639 (fibonacci_heap_cc_tests): ...this.
9640 (fold_const_c_tests): Rename to...
9641 (fold_const_cc_tests): ...this.
9642 (function_tests_c_tests): Rename to...
9643 (function_tests_cc_tests): ...this.
9644 (ggc_tests_c_tests): Rename to...
9645 (ggc_tests_cc_tests): ...this.
9646 (gimple_c_tests): Rename to...
9647 (gimple_cc_tests): ...this.
9648 (hash_map_tests_c_tests): Rename to...
9649 (hash_map_tests_cc_tests): ...this.
9650 (hash_set_tests_c_tests): Rename to...
9651 (hash_set_tests_cc_tests): ...this.
9652 (input_c_tests): Rename to...
9653 (input_cc_tests): ...this.
9654 (opts_c_tests): Rename to...
9655 (opts_cc_tests): ...this.
9656 (predict_c_tests): Rename to...
9657 (predict_cc_tests): ...this.
9658 (pretty_print_c_tests): Rename to...
9659 (pretty_print_cc_tests): ...this.
9660 (read_rtl_function_c_tests): Rename to...
9661 (read_rtl_function_cc_tests): ...this.
9662 (rtl_tests_c_tests): Rename to...
9663 (rtl_tests_cc_tests): ...this.
9664 (sbitmap_c_tests): Rename to...
9665 (sbitmap_cc_tests): ...this.
9666 (selftest_c_tests): Rename to...
9667 (selftest_cc_tests): ...this.
9668 (simplify_rtx_c_tests): Rename to...
9669 (simplify_rtx_cc_tests): ...this.
9670 (spellcheck_c_tests): Rename to...
9671 (spellcheck_cc_tests): ...this.
9672 (spellcheck_tree_c_tests): Rename to...
9673 (spellcheck_tree_cc_tests): ...this.
9674 (sreal_c_tests): Rename to...
9675 (sreal_cc_tests): ...this.
9676 (store_merging_c_tests): Rename to...
9677 (store_merging_cc_tests): ...this.
9678 (tree_c_tests): Rename to...
9679 (tree_cc_tests): ...this.
9680 (tree_cfg_c_tests): Rename to...
9681 (tree_cfg_cc_tests): ...this.
9682 (typed_splay_tree_c_tests): Rename to...
9683 (typed_splay_tree_cc_tests): ...this.
9684 (vec_c_tests): Rename to...
9685 (vec_cc_tests): ...this.
9686 (vec_perm_indices_c_tests): Rename to...
9687 (vec_perm_indices_cc_tests): ..this.
9688 (opt_proposer_c_tests): Rename to...
9689 (opt_suggestions_cc_tests): ...this.
9690 (dbgcnt_c_tests): Rename to...
9691 (dbgcnt_cc_tests): ...this.
9692 (ipa_modref_tree_c_tests): Rename to...
9693 (ipa_modref_tree_cc_tests): ...this.
9694 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
9695 (simplify_rtx_cc_tests): ...this.
9696 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
9697 (spellcheck_tree_cc_tests): ...this.
9698 * spellcheck.cc (spellcheck_c_tests): Rename to...
9699 (spellcheck_cc_tests): ...this.
9700 * sreal.cc (sreal_c_tests): Rename to...
9701 (sreal_cc_tests): ...this.
9702 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
9704 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
9705 (tree_cfg_cc_tests): ...this.
9706 * tree.cc (tree_c_tests): Rename to...
9707 (tree_cc_tests): ...this.
9708 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
9709 (typed_splay_tree_cc_tests): ...this.
9710 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
9711 (vec_perm_indices_cc_tests): ...this.
9712 * vec.cc (vec_c_tests): Rename to...
9713 (vec_cc_tests): ...this.
9715 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
9717 PR tree-optimization/103997
9718 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
9721 2022-01-19 Jakub Jelinek <jakub@redhat.com>
9723 PR middle-end/102860
9724 * match.pd (x %[fl] y -> x % y): New simplification for
9725 unsigned integral types.
9726 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
9727 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
9729 2022-01-19 Richard Biener <rguenther@suse.de>
9731 PR tree-optimization/104112
9732 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
9733 for required intermediate vector types.
9735 2022-01-19 Jakub Jelinek <jakub@redhat.com>
9737 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
9739 2022-01-19 Martin Liska <mliska@suse.cz>
9741 * configure.ac: Remove -Wno-error=format-diag.
9742 * configure: Regenerate.
9744 2022-01-19 Martin Liska <mliska@suse.cz>
9746 * config/riscv/riscv.cc (riscv_handle_type_attribute):
9747 Update one -Wformat-diag string in warning message.
9749 2022-01-19 Jakub Jelinek <jakub@redhat.com>
9751 PR middle-end/104103
9752 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
9755 2022-01-19 Jakub Jelinek <jakub@redhat.com>
9758 * fold-const.cc (address_compare): Consider different STRING_CSTs
9759 with the same lengths that memcmp the same as equal, not different.
9761 2022-01-19 Jakub Jelinek <jakub@redhat.com>
9763 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
9766 2022-01-19 Martin Liska <mliska@suse.cz>
9767 Thomas Schwinge <thomas@codesourcery.com>
9769 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
9772 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
9775 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
9778 2022-01-19 Jakub Jelinek <jakub@redhat.com>
9781 * config/i386/sse.md
9782 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
9783 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
9784 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
9785 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
9786 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
9787 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
9788 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
9789 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
9790 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
9792 2022-01-19 Martin Sebor <msebor@redhat.com>
9794 PR middle-end/104069
9795 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
9796 an unknown result as documented.
9798 2022-01-18 Andrew Pinski <apinski@marvell.com>
9800 * ipa-split.cc (visit_bb): Fix comment before the
9801 warning/error attribute checking code.
9803 2022-01-18 David Faust <david.faust@oracle.com>
9805 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
9806 for base strtab offset yet as it may change.
9807 (output_asm_btfext_core_reloc): Do so here instead.
9808 (output_btfext_core_sections): Likewise.
9810 2022-01-18 David Faust <david.faust@oracle.com>
9812 * config/bpf/coreout.cc (output_btfext_header): Account for
9813 4-byte record size in core_relo_len.
9814 (output_btfext_core_sections): Only write record size once.
9815 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
9818 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
9820 * common/config/riscv/riscv-common.cc
9821 (riscv_subset_list::parse_multiletter_ext): Move pointer
9822 arithmetic ahead of `free'.
9824 2022-01-18 Jason Merrill <jason@redhat.com>
9827 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
9830 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
9832 PR middle-end/103163
9833 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
9834 (init_emit_once): ...not here.
9836 2022-01-18 Martin Liska <mliska@suse.cz>
9838 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
9839 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
9840 * config/arc/arc.md: Likewise.
9841 * config/avr/avr.cc (avr_section_type_flags): Likewise.
9842 * config/bfin/bfin.cc (bfin_option_override): Likewise.
9843 (bfin_handle_longcall_attribute): Likewise.
9844 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
9845 * config/frv/frv.cc (frv_expand_builtin): Likewise.
9846 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
9847 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
9848 (iq2000_print_operand_address): Likewise.
9849 (iq2000_print_operand): Likewise.
9850 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
9851 (m32c_pragma_address): Likewise.
9852 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
9853 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
9854 (mips_set_compression_mode): Likewise.
9855 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
9856 (mmix_print_operand): Likewise.
9857 (mmix_output_shiftvalue_op_from_str): Likewise.
9858 (mmix_output_shifted_value): Likewise.
9859 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
9860 * config/msp430/msp430.cc (msp430_option_override): Likewise.
9861 (msp430_attr): Likewise.
9862 (msp430_expand_delay_cycles): Likewise.
9863 (msp430_expand_builtin): Likewise.
9864 * config/rs6000/aix73.h: Likewise.
9865 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
9866 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
9867 (valid_psw_flag): Likewise.
9868 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
9869 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
9870 (xstormy16_expand_builtin_va_start): Likewise.
9871 (xstormy16_handle_below100_attribute): Likewise.
9873 2022-01-18 Martin Liska <mliska@suse.cz>
9875 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
9877 (vms_pragma_standard): Likewise.
9878 (vms_pragma_extern_prefix): Likewise.
9880 2022-01-18 Martin Liska <mliska@suse.cz>
9882 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
9883 (print_operand_address): Likewise.
9884 (xtensa_multibss_section_type_flags): Likewise.
9886 2022-01-18 Martin Liska <mliska@suse.cz>
9888 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
9889 wording of an error message.
9891 2022-01-18 Martin Liska <mliska@suse.cz>
9893 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
9895 (ghs_pragma_section): Likewise.
9896 (ghs_pragma_interrupt): Likewise.
9897 (ghs_pragma_starttda): Likewise.
9898 (ghs_pragma_startsda): Likewise.
9899 (ghs_pragma_startzda): Likewise.
9900 (ghs_pragma_endtda): Likewise.
9901 (ghs_pragma_endsda): Likewise.
9902 (ghs_pragma_endzda): Likewise.
9904 2022-01-18 Martin Liska <mliska@suse.cz>
9906 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
9908 * config/nds32/nds32-intrinsic.md: Likewise.
9909 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
9910 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
9911 (nds32_insert_attributes): Likewise.
9913 2022-01-18 Martin Liska <mliska@suse.cz>
9915 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
9917 * config/nvptx/nvptx.md: Remove trailing dot.
9919 2022-01-18 Martin Liska <mliska@suse.cz>
9921 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
9922 Wrap keywords with quotes and remove trailing dots.
9923 (riscv_subset_list::parsing_subset_version): Likewise.
9924 (riscv_subset_list::parse_std_ext): Likewise.
9925 (riscv_subset_list::parse_multiletter_ext): Likewise.
9926 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
9928 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
9930 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
9931 argument suggested_unroll_factor.
9932 (vect_analyze_loop_costing): Likewise.
9933 (_loop_vec_info::_loop_vec_info): Initialize new member
9934 suggested_unroll_factor.
9935 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
9936 main loop use partial vectors.
9937 (vect_analyze_loop_2): Pass and use new argument
9938 suggested_unroll_factor.
9939 (vect_analyze_loop_1): Change to intialize local
9940 suggested_unroll_factor and use it.
9941 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
9942 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
9943 suggested_unroll_factor.
9944 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
9945 (vector_costs::suggested_unroll_factor): New getter function.
9946 (finish_cost): Set return argument suggested_unroll_factor.
9948 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
9950 PR tree-optimization/104038
9951 * doc/invoke.texi (relation-block-limit): New.
9952 * params.opt (relation-block-limit): New.
9953 * value-relation.cc (dom_oracle::register_relation): Check for NULL
9954 record before invoking transitive registery.
9955 (dom_oracle::set_one_relation): Check limit before creating record.
9956 (dom_oracle::register_transitives): Stop when no record created.
9957 * value-relation.h (relation_chain_head::m_num_relations): New.
9959 2022-01-18 Richard Biener <rguenther@suse.de>
9962 * ipa-inline.cc (inline_small_functions): Do not enqueue call
9963 edges originating in functions compiled with -Og.
9965 2022-01-18 Richard Biener <rguenther@suse.de>
9968 * passes.def (pass_all_optimizations_g): Remove pass_modref
9969 and pass_local_pure_const.
9971 2022-01-18 Martin Liska <mliska@suse.cz>
9973 * config/s390/s390.cc: Fix -Wformat-diag warnings.
9975 2022-01-18 Martin Liska <mliska@suse.cz>
9977 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
9979 (s390_resolve_overloaded_builtin): Remove trailing dot.
9980 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
9981 (s390_expand_builtin): Remove trailing dot.
9982 (s390_emit_prologue): Likewise, use semicolon.
9983 (s390_option_override_internal): Update keyword.
9984 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
9986 2022-01-18 Martin Liska <mliska@suse.cz>
9988 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
9989 keywords and use %qs instead of %<%s%>.
9991 2022-01-18 Richard Biener <rguenther@suse.de>
9993 PR tree-optimization/103987
9994 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
9995 query with a pointer check.
9997 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
10000 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
10001 When using MEM_EXPR, require the base to be a decl.
10003 2022-01-18 Richard Biener <rguenther@suse.de>
10005 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
10007 * function.h (struct function): Likewise.
10009 2022-01-18 Arnaud Charlet <charlet@adacore.com>
10011 * doc/install.texi: Update prerequisites for GNAT
10013 2022-01-18 Andrew Pinski <apinski@marvell.com>
10015 PR tree-optimization/101941
10016 * ipa-split.cc (visit_bb): Disallow function calls where
10017 the function has either error or warning attribute.
10019 2022-01-18 Richard Biener <rguenther@suse.de>
10021 PR tree-optimization/104064
10022 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
10023 DR_INIT fits in a signed HWI, represent the difference from the
10024 first DR in unsigned.
10026 2022-01-17 Martin Liska <mliska@suse.cz>
10028 * Makefile.in: Rename .c names to .cc.
10029 * config.gcc: Likewise.
10030 * configure: Regenerate. Likewise.
10031 * configure.ac: Likewise.
10032 * gengtype.cc (set_gc_used): Likewise.
10033 (source_dot_c_frul): Likewise.
10034 (source_dot_cc_frul): Likewise.
10035 (struct file_rule_st): Likewise.
10036 (close_output_files): Likewise.
10037 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
10039 2022-01-17 Martin Liska <mliska@suse.cz>
10041 * Makefile.in: Rename .c names to .cc.
10042 * alias.h: Likewise.
10043 * asan.cc: Likewise.
10044 * auto-profile.h: Likewise.
10045 * basic-block.h (struct basic_block_d): Likewise.
10046 * btfout.cc: Likewise.
10047 * builtins.cc (expand_builtin_longjmp): Likewise.
10048 (validate_arg): Likewise.
10049 (access_ref::offset_bounded): Likewise.
10050 * caller-save.cc (reg_restore_code): Likewise.
10051 (setup_save_areas): Likewise.
10052 * calls.cc (initialize_argument_information): Likewise.
10053 (expand_call): Likewise.
10054 (emit_library_call_value_1): Likewise.
10055 * cfg-flags.def (RTL): Likewise.
10056 (SIBCALL): Likewise.
10057 (CAN_FALLTHRU): Likewise.
10058 * cfganal.cc (post_order_compute): Likewise.
10059 * cfgcleanup.cc (try_simplify_condjump): Likewise.
10060 (merge_blocks_move_predecessor_nojumps): Likewise.
10061 (merge_blocks_move_successor_nojumps): Likewise.
10062 (merge_blocks_move): Likewise.
10063 (old_insns_match_p): Likewise.
10064 (try_crossjump_bb): Likewise.
10065 * cfgexpand.cc (expand_gimple_stmt): Likewise.
10066 * cfghooks.cc (split_block_before_cond_jump): Likewise.
10067 (profile_record_check_consistency): Likewise.
10068 * cfghooks.h: Likewise.
10069 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
10070 (rtl_can_merge_blocks): Likewise.
10071 (try_redirect_by_replacing_jump): Likewise.
10072 (make_pass_outof_cfg_layout_mode): Likewise.
10073 (cfg_layout_can_merge_blocks_p): Likewise.
10074 * cgraph.cc (release_function_body): Likewise.
10075 (cgraph_node::get_fun): Likewise.
10076 * cgraph.h (struct cgraph_node): Likewise.
10077 (asmname_hasher::equal): Likewise.
10078 (cgraph_inline_failed_type): Likewise.
10079 (thunk_adjust): Likewise.
10080 (dump_callgraph_transformation): Likewise.
10081 (record_references_in_initializer): Likewise.
10082 (ipa_discover_variable_flags): Likewise.
10083 * cgraphclones.cc (GTY): Likewise.
10084 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
10085 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
10086 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
10087 * collect2.cc (maybe_run_lto_and_relink): Likewise.
10088 * combine-stack-adj.cc: Likewise.
10089 * combine.cc (setup_incoming_promotions): Likewise.
10090 (combine_simplify_rtx): Likewise.
10091 (count_rtxs): Likewise.
10092 * common.opt: Likewise.
10093 * common/config/aarch64/aarch64-common.cc: Likewise.
10094 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
10095 * common/config/avr/avr-common.cc: Likewise.
10096 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
10097 * conditions.h: Likewise.
10098 * config.gcc: Likewise.
10099 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
10100 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
10101 (aarch64_get_extension_string_for_isa_flags): Likewise.
10102 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
10103 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
10104 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
10105 (aarch64_option_valid_attribute_p): Likewise.
10106 (aarch64_short_vector_p): Likewise.
10107 (aarch64_float_const_representable_p): Likewise.
10108 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
10109 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
10111 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
10112 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
10113 * config/aarch64/t-aarch64: Likewise.
10114 * config/aarch64/x-aarch64: Likewise.
10115 * config/aarch64/x-darwin: Likewise.
10116 * config/alpha/alpha-protos.h: Likewise.
10117 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
10118 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
10119 (enum reg_class): Likewise.
10120 * config/alpha/alpha.md: Likewise.
10121 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
10122 * config/alpha/x-alpha: Likewise.
10123 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
10124 * config/arc/arc.cc (ARC_OPT): Likewise.
10125 (arc_ccfsm_advance): Likewise.
10126 (arc_arg_partial_bytes): Likewise.
10127 (conditionalize_nonjump): Likewise.
10128 * config/arc/arc.md: Likewise.
10129 * config/arc/builtins.def: Likewise.
10130 * config/arc/t-arc: Likewise.
10131 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
10132 (arm_pragma_target_parse): Likewise.
10133 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
10134 (arm_cpu_cpp_builtins): Likewise.
10135 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
10136 (shift_op): Likewise.
10137 (thumb2_final_prescan_insn): Likewise.
10138 (arm_final_prescan_insn): Likewise.
10139 (arm_asm_output_labelref): Likewise.
10140 (arm_small_register_classes_for_mode_p): Likewise.
10141 * config/arm/arm.h: Likewise.
10142 * config/arm/arm.md: Likewise.
10143 * config/arm/driver-arm.cc: Likewise.
10144 * config/arm/symbian.h: Likewise.
10145 * config/arm/t-arm: Likewise.
10146 * config/arm/thumb1.md: Likewise.
10147 * config/arm/x-arm: Likewise.
10148 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
10149 * config/avr/avr-fixed.md: Likewise.
10150 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
10151 * config/avr/avr-mcus.def: Likewise.
10152 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
10153 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
10154 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
10155 * config/avr/avr.cc (avr_option_override): Likewise.
10156 (avr_build_builtin_va_list): Likewise.
10157 (avr_mode_dependent_address_p): Likewise.
10158 (avr_function_arg_advance): Likewise.
10159 (avr_asm_output_aligned_decl_common): Likewise.
10160 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
10161 (SUPPORTS_INIT_PRIORITY): Likewise.
10162 * config/avr/avr.md: Likewise.
10163 * config/avr/builtins.def: Likewise.
10164 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
10165 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
10167 * config/avr/t-avr: Likewise.
10168 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
10169 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
10170 * config/bpf/bpf.h (enum reg_class): Likewise.
10171 * config/bpf/t-bpf: Likewise.
10172 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
10173 * config/cr16/cr16-protos.h: Likewise.
10174 * config/cris/cris.cc (cris_address_cost): Likewise.
10175 (cris_side_effect_mode_ok): Likewise.
10176 (cris_init_machine_status): Likewise.
10177 (cris_emit_movem_store): Likewise.
10178 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
10179 (enum reg_class): Likewise.
10180 (struct cum_args): Likewise.
10181 * config/cris/cris.opt: Likewise.
10182 * config/cris/sync.md: Likewise.
10183 * config/csky/csky.cc (csky_expand_prologue): Likewise.
10184 * config/darwin-c.cc: Likewise.
10185 * config/darwin-f.cc: Likewise.
10186 * config/darwin-sections.def (zobj_const_section): Likewise.
10187 * config/darwin.cc (output_objc_section_asm_op): Likewise.
10188 (fprintf): Likewise.
10189 * config/darwin.h (GTY): Likewise.
10190 * config/elfos.h: Likewise.
10191 * config/epiphany/epiphany-sched.md: Likewise.
10192 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
10193 * config/epiphany/epiphany.h (GTY): Likewise.
10194 (NO_FUNCTION_CSE): Likewise.
10195 * config/epiphany/mode-switch-use.cc: Likewise.
10196 * config/epiphany/predicates.md: Likewise.
10197 * config/epiphany/t-epiphany: Likewise.
10198 * config/fr30/fr30-protos.h: Likewise.
10199 * config/frv/frv-protos.h: Likewise.
10200 * config/frv/frv.cc (TLS_BIAS): Likewise.
10201 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
10202 * config/ft32/ft32-protos.h: Likewise.
10203 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
10204 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
10205 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
10206 * config/gcn/t-gcn-hsa: Likewise.
10207 * config/gcn/t-omp-device: Likewise.
10208 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
10209 (same_cmp_following_p): Likewise.
10210 * config/h8300/h8300.cc (F): Likewise.
10211 * config/h8300/h8300.h (struct cum_arg): Likewise.
10212 (BRANCH_COST): Likewise.
10213 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
10214 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
10215 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
10216 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
10217 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
10218 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
10219 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
10220 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
10221 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
10222 (ix86_register_pragmas): Likewise.
10223 (ix86_d_has_stdcall_convention): Likewise.
10224 (i386_pe_seh_init_sections): Likewise.
10225 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
10226 (ix86_function_value_regno_p): Likewise.
10227 (ix86_compute_frame_layout): Likewise.
10228 (legitimize_pe_coff_symbol): Likewise.
10229 (output_pic_addr_const): Likewise.
10230 * config/i386/i386.h (defined): Likewise.
10231 (host_detect_local_cpu): Likewise.
10232 (CONSTANT_ADDRESS_P): Likewise.
10233 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
10234 (struct machine_frame_state): Likewise.
10235 * config/i386/i386.md: Likewise.
10236 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
10237 * config/i386/mmx.md: Likewise.
10238 * config/i386/sse.md: Likewise.
10239 * config/i386/t-cygming: Likewise.
10240 * config/i386/t-djgpp: Likewise.
10241 * config/i386/t-gnu-property: Likewise.
10242 * config/i386/t-i386: Likewise.
10243 * config/i386/t-intelmic: Likewise.
10244 * config/i386/t-omp-device: Likewise.
10245 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
10246 (i386_pe_adjust_class_at_definition): Likewise.
10247 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
10248 (i386_pe_mangle_decl_assembler_name): Likewise.
10249 (i386_pe_encode_section_info): Likewise.
10250 * config/i386/x-cygwin: Likewise.
10251 * config/i386/x-darwin: Likewise.
10252 * config/i386/x-i386: Likewise.
10253 * config/i386/x-mingw32: Likewise.
10254 * config/i386/x86-tune-sched-core.cc: Likewise.
10255 * config/i386/x86-tune.def: Likewise.
10256 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
10257 * config/ia64/freebsd.h: Likewise.
10258 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
10259 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
10260 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
10261 (ia64_secondary_reload_class): Likewise.
10262 (bundling): Likewise.
10263 * config/ia64/ia64.h: Likewise.
10264 * config/ia64/ia64.md: Likewise.
10265 * config/ia64/predicates.md: Likewise.
10266 * config/ia64/sysv4.h: Likewise.
10267 * config/ia64/t-ia64: Likewise.
10268 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
10269 * config/iq2000/iq2000.md: Likewise.
10270 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
10272 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
10273 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
10274 * config/m32c/t-m32c: Likewise.
10275 * config/m32r/m32r-protos.h: Likewise.
10276 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
10277 * config/m32r/m32r.h: Likewise.
10278 * config/m32r/m32r.md: Likewise.
10279 * config/m68k/m68k-isas.def: Likewise.
10280 * config/m68k/m68k-microarchs.def: Likewise.
10281 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
10282 (m68k_epilogue_uses): Likewise.
10283 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
10284 (m68k_sched_adjust_cost): Likewise.
10285 (m68k_sched_md_init): Likewise.
10286 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
10287 (enum m68k_function_kind): Likewise.
10288 * config/m68k/m68k.md: Likewise.
10289 * config/m68k/m68kemb.h: Likewise.
10290 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
10291 * config/mcore/mcore-protos.h: Likewise.
10292 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
10293 (mcore_expand_prolog): Likewise.
10294 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
10295 * config/mcore/mcore.md: Likewise.
10296 * config/microblaze/microblaze-protos.h: Likewise.
10297 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
10298 (microblaze_function_prologue): Likewise.
10299 (microblaze_function_epilogue): Likewise.
10300 (microblaze_select_section): Likewise.
10301 (microblaze_asm_output_mi_thunk): Likewise.
10302 (microblaze_eh_return): Likewise.
10303 * config/microblaze/microblaze.h: Likewise.
10304 * config/microblaze/microblaze.md: Likewise.
10305 * config/microblaze/t-microblaze: Likewise.
10306 * config/mips/driver-native.cc: Likewise.
10307 * config/mips/loongson2ef.md: Likewise.
10308 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
10309 * config/mips/mips.cc (mips_rtx_costs): Likewise.
10310 (mips_output_filename): Likewise.
10311 (mips_output_function_prologue): Likewise.
10312 (mips_output_function_epilogue): Likewise.
10313 (mips_output_mi_thunk): Likewise.
10314 * config/mips/mips.h: Likewise.
10315 * config/mips/mips.md: Likewise.
10316 * config/mips/t-mips: Likewise.
10317 * config/mips/x-native: Likewise.
10318 * config/mmix/mmix-protos.h: Likewise.
10319 * config/mmix/mmix.cc (mmix_option_override): Likewise.
10320 (mmix_dbx_register_number): Likewise.
10321 (mmix_expand_prologue): Likewise.
10322 * config/mmix/mmix.h: Likewise.
10323 * config/mmix/mmix.md: Likewise.
10324 * config/mmix/predicates.md: Likewise.
10325 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
10326 (mn10300_legitimate_pic_operand_p): Likewise.
10327 * config/mn10300/mn10300.h (enum reg_class): Likewise.
10328 (NO_FUNCTION_CSE): Likewise.
10329 * config/moxie/moxie-protos.h: Likewise.
10330 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
10331 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
10332 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
10333 (msp430_incoming_return_addr_rtx): Likewise.
10334 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
10335 * config/msp430/t-msp430: Likewise.
10336 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
10337 (nds32_rtx_costs_size_prefer): Likewise.
10338 (nds32_init_rtx_costs): Likewise.
10339 * config/nds32/nds32-doubleword.md: Likewise.
10340 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
10341 (nds32_builtin_decl): Likewise.
10342 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
10343 (enum nds32_isr_nested_type): Likewise.
10344 (enum reg_class): Likewise.
10345 * config/nds32/predicates.md: Likewise.
10346 * config/nds32/t-nds32: Likewise.
10347 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
10348 * config/nvptx/nvptx-protos.h: Likewise.
10349 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
10350 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
10351 * config/nvptx/t-nvptx: Likewise.
10352 * config/nvptx/t-omp-device: Likewise.
10353 * config/pa/elf.h: Likewise.
10354 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
10355 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
10356 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
10357 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
10358 (pa_legitimize_reload_address): Likewise.
10359 (pa_can_use_return_insn): Likewise.
10360 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
10361 (som_output_text_section_asm_op): Likewise.
10362 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
10363 * config/pa/pa.md: Likewise.
10364 * config/pa/som.h: Likewise.
10365 * config/pa/t-pa: Likewise.
10366 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
10367 * config/pdp11/pdp11.h: Likewise.
10368 * config/pdp11/pdp11.md: Likewise.
10369 * config/pdp11/t-pdp11: Likewise.
10370 * config/pru/pru.md: Likewise.
10371 * config/pru/t-pru: Likewise.
10372 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
10373 (riscv_gpr_save_operation_p): Likewise.
10374 (riscv_d_register_target_info): Likewise.
10375 (riscv_init_builtins): Likewise.
10376 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
10377 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
10378 * config/riscv/t-riscv: Likewise.
10379 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
10380 * config/rl78/t-rl78: Likewise.
10381 * config/rs6000/aix.h: Likewise.
10382 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
10383 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
10384 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
10385 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
10386 * config/rs6000/driver-rs6000.cc: Likewise.
10387 * config/rs6000/freebsd.h: Likewise.
10388 * config/rs6000/freebsd64.h: Likewise.
10389 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
10390 * config/rs6000/rbtree.cc: Likewise.
10391 * config/rs6000/rbtree.h: Likewise.
10392 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
10393 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
10394 (rs6000_expand_builtin): Likewise.
10395 (rs6000_init_builtins): Likewise.
10396 * config/rs6000/rs6000-cpus.def: Likewise.
10397 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
10398 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
10399 (quad_address_offset_p): Likewise.
10400 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
10401 (rs6000_emit_epilogue): Likewise.
10402 * config/rs6000/rs6000-overload.def: Likewise.
10403 * config/rs6000/rs6000-p8swap.cc: Likewise.
10404 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
10405 (rs6000_const_f32_to_i32): Likewise.
10406 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
10407 (rs6000_debug_legitimize_address): Likewise.
10408 (rs6000_mode_dependent_address): Likewise.
10409 (rs6000_adjust_priority): Likewise.
10410 (rs6000_c_mode_for_suffix): Likewise.
10411 * config/rs6000/rs6000.h (defined): Likewise.
10412 (LONG_DOUBLE_TYPE_SIZE): Likewise.
10413 * config/rs6000/rs6000.md: Likewise.
10414 * config/rs6000/sysv4.h: Likewise.
10415 * config/rs6000/t-linux: Likewise.
10416 * config/rs6000/t-linux64: Likewise.
10417 * config/rs6000/t-rs6000: Likewise.
10418 * config/rs6000/x-darwin: Likewise.
10419 * config/rs6000/x-darwin64: Likewise.
10420 * config/rs6000/x-rs6000: Likewise.
10421 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
10422 * config/rx/rx.cc (rx_expand_builtin): Likewise.
10423 * config/s390/constraints.md: Likewise.
10424 * config/s390/driver-native.cc: Likewise.
10425 * config/s390/htmxlintrin.h: Likewise.
10426 * config/s390/s390-builtins.def (B_DEF): Likewise.
10427 (OB_DEF_VAR): Likewise.
10428 * config/s390/s390-builtins.h: Likewise.
10429 * config/s390/s390-c.cc: Likewise.
10430 * config/s390/s390-opts.h: Likewise.
10431 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
10432 (s390_register_target_pragmas): Likewise.
10433 * config/s390/s390.cc (s390_init_builtins): Likewise.
10434 (s390_expand_plus_operand): Likewise.
10435 (s390_expand_atomic): Likewise.
10436 (s390_valid_target_attribute_inner_p): Likewise.
10437 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
10438 * config/s390/s390.md: Likewise.
10439 * config/s390/t-s390: Likewise.
10440 * config/s390/vx-builtins.md: Likewise.
10441 * config/s390/x-native: Likewise.
10442 * config/sh/divtab-sh4-300.cc (main): Likewise.
10443 * config/sh/divtab-sh4.cc (main): Likewise.
10444 * config/sh/divtab.cc (main): Likewise.
10445 * config/sh/elf.h: Likewise.
10446 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
10447 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
10448 (sh_struct_value_rtx): Likewise.
10449 (sh_remove_reg_dead_or_unused_notes): Likewise.
10450 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
10451 * config/sh/t-sh: Likewise.
10452 * config/sol2-protos.h (solaris_override_options): Likewise.
10453 * config/sol2.h: Likewise.
10454 * config/sparc/driver-sparc.cc: Likewise.
10455 * config/sparc/freebsd.h: Likewise.
10456 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
10457 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
10458 (sparc_asan_shadow_offset): Likewise.
10459 * config/sparc/sparc.h: Likewise.
10460 * config/sparc/sparc.md: Likewise.
10461 * config/sparc/t-sparc: Likewise.
10462 * config/sparc/x-sparc: Likewise.
10463 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
10464 * config/t-darwin: Likewise.
10465 * config/t-dragonfly: Likewise.
10466 * config/t-freebsd: Likewise.
10467 * config/t-glibc: Likewise.
10468 * config/t-linux: Likewise.
10469 * config/t-netbsd: Likewise.
10470 * config/t-openbsd: Likewise.
10471 * config/t-pnt16-warn: Likewise.
10472 * config/t-sol2: Likewise.
10473 * config/t-vxworks: Likewise.
10474 * config/t-winnt: Likewise.
10475 * config/tilegx/t-tilegx: Likewise.
10476 * config/tilegx/tilegx-c.cc: Likewise.
10477 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
10478 * config/tilegx/tilegx.md: Likewise.
10479 * config/tilepro/t-tilepro: Likewise.
10480 * config/tilepro/tilepro-c.cc: Likewise.
10481 * config/v850/t-v850: Likewise.
10482 * config/v850/v850-protos.h: Likewise.
10483 * config/v850/v850.cc (F): Likewise.
10484 * config/v850/v850.h (enum reg_class): Likewise.
10485 (SLOW_BYTE_ACCESS): Likewise.
10486 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
10487 * config/vax/vax.h (enum reg_class): Likewise.
10488 * config/vax/vax.md: Likewise.
10489 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
10490 * config/visium/visium.h: Likewise.
10491 * config/vms/t-vms: Likewise.
10492 * config/vms/vms-crtlmap.map: Likewise.
10493 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
10494 * config/vx-common.h: Likewise.
10495 * config/x-darwin: Likewise.
10496 * config/x-hpux: Likewise.
10497 * config/x-linux: Likewise.
10498 * config/x-netbsd: Likewise.
10499 * config/x-openbsd: Likewise.
10500 * config/x-solaris: Likewise.
10501 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
10502 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
10503 * config/xtensa/xtensa.h: Likewise.
10504 * configure.ac: Likewise.
10505 * context.cc: Likewise.
10506 * convert.h: Likewise.
10507 * coretypes.h: Likewise.
10508 * coverage.cc: Likewise.
10509 * coverage.h: Likewise.
10510 * cppdefault.h (struct default_include): Likewise.
10511 * cprop.cc (local_cprop_pass): Likewise.
10512 (one_cprop_pass): Likewise.
10513 * cse.cc (hash_rtx_cb): Likewise.
10514 (fold_rtx): Likewise.
10515 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
10516 * data-streamer.h (bp_unpack_var_len_int): Likewise.
10517 (streamer_write_widest_int): Likewise.
10518 * dbgcnt.def: Likewise.
10519 * dbxout.cc (dbxout_early_global_decl): Likewise.
10520 (dbxout_common_check): Likewise.
10521 * dbxout.h: Likewise.
10522 * debug.h (struct gcc_debug_hooks): Likewise.
10523 (dump_go_spec_init): Likewise.
10524 * df-core.cc: Likewise.
10525 * df-scan.cc (df_insn_info_delete): Likewise.
10526 (df_insn_delete): Likewise.
10527 * df.h (debug_df_chain): Likewise.
10528 (can_move_insns_across): Likewise.
10529 * dfp.cc (decimal_from_binary): Likewise.
10530 * diagnostic-color.cc: Likewise.
10531 * diagnostic-event-id.h: Likewise.
10532 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
10533 * diagnostic.cc (bt_callback): Likewise.
10534 (num_digits): Likewise.
10535 * doc/avr-mmcu.texi: Likewise.
10536 * doc/cfg.texi: Likewise.
10537 * doc/contrib.texi: Likewise.
10538 * doc/cppinternals.texi: Likewise.
10539 * doc/extend.texi: Likewise.
10540 * doc/generic.texi: Likewise.
10541 * doc/gimple.texi: Likewise.
10542 * doc/gty.texi: Likewise.
10543 * doc/invoke.texi: Likewise.
10544 * doc/loop.texi: Likewise.
10545 * doc/lto.texi: Likewise.
10546 * doc/match-and-simplify.texi: Likewise.
10547 * doc/md.texi: Likewise.
10548 * doc/optinfo.texi: Likewise.
10549 * doc/options.texi: Likewise.
10550 * doc/passes.texi: Likewise.
10551 * doc/plugins.texi: Likewise.
10552 * doc/rtl.texi: Likewise.
10553 * doc/sourcebuild.texi: Likewise.
10554 * doc/tm.texi: Likewise.
10555 * doc/tm.texi.in: Likewise.
10556 * doc/tree-ssa.texi: Likewise.
10557 * dojump.cc (do_jump): Likewise.
10558 * dojump.h: Likewise.
10559 * dumpfile.cc (test_impl_location): Likewise.
10560 (test_capture_of_dump_calls): Likewise.
10561 * dumpfile.h (enum dump_kind): Likewise.
10562 (class dump_location_t): Likewise.
10563 (dump_enabled_p): Likewise.
10564 (enable_rtl_dump_file): Likewise.
10565 (dump_combine_total_stats): Likewise.
10566 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
10567 * dwarf2ctf.h (ctf_debug_finish): Likewise.
10568 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
10569 (struct loc_descr_context): Likewise.
10570 (rtl_for_decl_location): Likewise.
10571 (gen_subprogram_die): Likewise.
10572 (gen_label_die): Likewise.
10573 (is_trivial_indirect_ref): Likewise.
10574 (dwarf2out_late_global_decl): Likewise.
10575 (dwarf_file_hasher::hash): Likewise.
10576 (dwarf2out_end_source_file): Likewise.
10577 (dwarf2out_define): Likewise.
10578 (dwarf2out_early_finish): Likewise.
10579 * dwarf2out.h (struct dw_fde_node): Likewise.
10580 (struct dw_discr_list_node): Likewise.
10581 (output_loc_sequence_raw): Likewise.
10582 * emit-rtl.cc (gen_raw_REG): Likewise.
10583 (maybe_set_max_label_num): Likewise.
10584 * emit-rtl.h (struct rtl_data): Likewise.
10585 * errors.cc (internal_error): Likewise.
10586 (trim_filename): Likewise.
10587 * et-forest.cc: Likewise.
10588 * except.cc (init_eh_for_function): Likewise.
10589 * explow.cc (promote_ssa_mode): Likewise.
10590 (get_dynamic_stack_size): Likewise.
10591 * explow.h: Likewise.
10592 * expmed.h: Likewise.
10593 * expr.cc (safe_from_p): Likewise.
10594 (expand_expr_real_2): Likewise.
10595 (expand_expr_real_1): Likewise.
10596 * file-prefix-map.cc (remap_filename): Likewise.
10597 * final.cc (app_enable): Likewise.
10598 (make_pass_compute_alignments): Likewise.
10599 (final_scan_insn_1): Likewise.
10600 (final_scan_insn): Likewise.
10601 * fixed-value.h (fixed_from_string): Likewise.
10602 * flag-types.h (NO_DEBUG): Likewise.
10603 (DWARF2_DEBUG): Likewise.
10604 (VMS_DEBUG): Likewise.
10605 (BTF_DEBUG): Likewise.
10606 (enum ctf_debug_info_levels): Likewise.
10607 * fold-const.cc (const_binop): Likewise.
10608 (fold_binary_loc): Likewise.
10609 (fold_checksum_tree): Likewise.
10610 * fp-test.cc: Likewise.
10611 * function.cc (expand_function_end): Likewise.
10612 * function.h (struct function): Likewise.
10613 * fwprop.cc (should_replace_address): Likewise.
10614 * gcc-main.cc: Likewise.
10615 * gcc-rich-location.h (class gcc_rich_location): Likewise.
10616 * gcc-symtab.h: Likewise.
10617 * gcc.cc (MIN_FATAL_STATUS): Likewise.
10618 (driver_handle_option): Likewise.
10619 (quote_spec_arg): Likewise.
10620 (driver::finalize): Likewise.
10621 * gcc.h (set_input): Likewise.
10622 * gcov-dump.cc: Likewise.
10623 * gcov.cc (solve_flow_graph): Likewise.
10624 * gcse-common.cc: Likewise.
10625 * gcse.cc (make_pass_rtl_hoist): Likewise.
10626 * genattr-common.cc: Likewise.
10627 * genattrtab.cc (min_fn): Likewise.
10628 (write_const_num_delay_slots): Likewise.
10629 * genautomata.cc: Likewise.
10630 * genconditions.cc (write_one_condition): Likewise.
10631 * genconstants.cc: Likewise.
10632 * genemit.cc (gen_exp): Likewise.
10633 * generic-match-head.cc: Likewise.
10634 * genextract.cc: Likewise.
10635 * gengenrtl.cc (always_void_p): Likewise.
10636 * gengtype-parse.cc (gtymarker_opt): Likewise.
10637 * gengtype-state.cc (state_writer::state_writer): Likewise.
10638 (write_state_trailer): Likewise.
10639 (equals_type_number): Likewise.
10640 (read_state): Likewise.
10641 * gengtype.cc (open_base_files): Likewise.
10642 (struct file_rule_st): Likewise.
10643 (header_dot_h_frul): Likewise.
10644 * gengtype.h: Likewise.
10645 * genmatch.cc (main): Likewise.
10646 * genmddeps.cc: Likewise.
10647 * genmodes.cc (emit_mode_inner): Likewise.
10648 (emit_mode_unit_size): Likewise.
10649 * genpeep.cc (gen_peephole): Likewise.
10650 * genpreds.cc (write_tm_preds_h): Likewise.
10651 * genrecog.cc (validate_pattern): Likewise.
10652 (write_header): Likewise.
10654 * gensupport.cc (change_subst_attribute): Likewise.
10655 (traverse_c_tests): Likewise.
10656 (add_predicate): Likewise.
10657 (init_predicate_table): Likewise.
10658 * gensupport.h (struct optab_pattern): Likewise.
10659 (get_num_insn_codes): Likewise.
10660 (maybe_eval_c_test): Likewise.
10661 (struct pred_data): Likewise.
10662 * ggc-internal.h: Likewise.
10663 * gimple-fold.cc (maybe_fold_reference): Likewise.
10664 (get_range_strlen_tree): Likewise.
10665 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
10666 * gimple-low.cc: Likewise.
10667 * gimple-match-head.cc (directly_supported_p): Likewise.
10668 * gimple-pretty-print.h: Likewise.
10669 * gimple-ssa-sprintf.cc (format_percent): Likewise.
10670 (adjust_range_for_overflow): Likewise.
10671 * gimple-streamer.h: Likewise.
10672 * gimple.h (struct GTY): Likewise.
10673 (is_gimple_resx): Likewise.
10674 * gimplify.cc (gimplify_expr): Likewise.
10675 (gimplify_init_constructor): Likewise.
10676 (omp_construct_selector_matches): Likewise.
10677 (gimplify_omp_target_update): Likewise.
10678 (gimplify_omp_ordered): Likewise.
10679 (gimplify_va_arg_expr): Likewise.
10680 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
10681 * haifa-sched.cc (increase_insn_priority): Likewise.
10682 (try_ready): Likewise.
10683 (sched_create_recovery_edges): Likewise.
10684 * ifcvt.cc (find_if_case_1): Likewise.
10685 (find_if_case_2): Likewise.
10686 * inchash.h: Likewise.
10687 * incpath.cc (add_env_var_paths): Likewise.
10688 * input.cc (dump_location_info): Likewise.
10689 (assert_loceq): Likewise.
10690 (test_lexer_string_locations_concatenation_1): Likewise.
10691 (test_lexer_string_locations_concatenation_2): Likewise.
10692 (test_lexer_string_locations_concatenation_3): Likewise.
10693 * input.h (BUILTINS_LOCATION): Likewise.
10694 (class string_concat_db): Likewise.
10695 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
10696 (expand_LOOP_VECTORIZED): Likewise.
10697 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
10698 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
10699 (ipa_fn_summary_t::duplicate): Likewise.
10700 (make_pass_ipa_fn_summary): Likewise.
10701 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
10702 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
10703 (free_lang_data_in_decl): Likewise.
10704 * ipa-inline.cc (compute_inlined_call_time): Likewise.
10705 (inline_always_inline_functions): Likewise.
10706 * ipa-inline.h (free_growth_caches): Likewise.
10707 (inline_account_function_p): Likewise.
10708 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
10709 (modref_eaf_analysis::analyze_ssa_name): Likewise.
10710 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
10711 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
10712 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
10713 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
10714 (unadjusted_ptr_and_unit_offset): Likewise.
10715 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
10716 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
10717 * ipa-split.cc (consider_split): Likewise.
10718 * ipa-sra.cc (isra_read_node_info): Likewise.
10719 * ipa-utils.h (struct ipa_dfs_info): Likewise.
10720 (recursive_call_p): Likewise.
10721 (ipa_make_function_pure): Likewise.
10722 * ira-build.cc (ira_create_allocno): Likewise.
10723 (ira_flattening): Likewise.
10724 * ira-color.cc (do_coloring): Likewise.
10725 (update_curr_costs): Likewise.
10726 * ira-conflicts.cc (process_regs_for_copy): Likewise.
10727 * ira-int.h (struct ira_emit_data): Likewise.
10728 (ira_prohibited_mode_move_regs): Likewise.
10729 (ira_get_dup_out_num): Likewise.
10730 (ira_destroy): Likewise.
10731 (ira_tune_allocno_costs): Likewise.
10732 (ira_implicitly_set_insn_hard_regs): Likewise.
10733 (ira_build_conflicts): Likewise.
10734 (ira_color): Likewise.
10735 * ira-lives.cc (process_bb_node_lives): Likewise.
10736 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
10737 (setup_uniform_class_p): Likewise.
10738 (def_dominates_uses): Likewise.
10739 * ira.h (ira_nullify_asm_goto): Likewise.
10740 * langhooks.cc (lhd_post_options): Likewise.
10741 * langhooks.h (class substring_loc): Likewise.
10742 (struct lang_hooks_for_tree_inlining): Likewise.
10743 (struct lang_hooks_for_types): Likewise.
10744 (struct lang_hooks): Likewise.
10745 * libfuncs.h (synchronize_libfunc): Likewise.
10746 * loop-doloop.cc (doloop_condition_get): Likewise.
10747 * loop-init.cc (fix_loop_structure): Likewise.
10748 * loop-invariant.cc: Likewise.
10749 * lower-subreg.h: Likewise.
10750 * lra-constraints.cc (curr_insn_transform): Likewise.
10751 * lra-int.h (struct lra_insn_reg): Likewise.
10752 (lra_undo_inheritance): Likewise.
10753 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
10754 (lra_split_hard_reg_for): Likewise.
10755 (lra_coalesce): Likewise.
10756 (lra_final_code_change): Likewise.
10757 * lra-spills.cc (lra_final_code_change): Likewise.
10758 * lra.cc (lra_process_new_insns): Likewise.
10759 * lto-compress.h (struct lto_compression_stream): Likewise.
10760 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
10761 (write_symbol): Likewise.
10762 * lto-streamer.h (enum LTO_tags): Likewise.
10763 (lto_value_range_error): Likewise.
10764 (lto_append_block): Likewise.
10765 (lto_streamer_hooks_init): Likewise.
10766 (stream_read_tree_ref): Likewise.
10767 (lto_prepare_function_for_streaming): Likewise.
10768 (select_what_to_stream): Likewise.
10769 (omp_lto_input_declare_variant_alt): Likewise.
10770 (cl_optimization_stream_in): Likewise.
10771 * lto-wrapper.cc (append_compiler_options): Likewise.
10772 * machmode.def: Likewise.
10773 * machmode.h (struct int_n_data_t): Likewise.
10774 * main.cc (main): Likewise.
10775 * match.pd: Likewise.
10776 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
10777 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
10778 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
10779 (make_pass_expand_omp_ssa): Likewise.
10780 * omp-low.cc (struct omp_context): Likewise.
10781 (struct omp_taskcopy_context): Likewise.
10782 (lower_omp): Likewise.
10783 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
10784 (mask_name): Likewise.
10785 (omp_sese_dump_pars): Likewise.
10786 (worker_single_simple): Likewise.
10787 * omp-offload.cc (omp_finish_file): Likewise.
10788 (execute_oacc_loop_designation): Likewise.
10789 * optabs-query.cc (lshift_cheap_p): Likewise.
10790 * optc-gen.awk: Likewise.
10791 * optc-save-gen.awk: Likewise.
10792 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
10793 * opts-common.cc: Likewise.
10794 * output.h (app_enable): Likewise.
10795 (output_operand_lossage): Likewise.
10796 (insn_current_reference_address): Likewise.
10797 (get_insn_template): Likewise.
10798 (output_quoted_string): Likewise.
10799 * pass_manager.h (struct register_pass_info): Likewise.
10800 * plugin.cc: Likewise.
10801 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
10802 * plugin.h (invoke_plugin_callbacks): Likewise.
10803 * pointer-query.cc (handle_mem_ref): Likewise.
10804 * postreload-gcse.cc (alloc_mem): Likewise.
10805 * predict.h (enum prediction): Likewise.
10806 (add_reg_br_prob_note): Likewise.
10807 * prefix.h: Likewise.
10808 * profile.h (get_working_sets): Likewise.
10809 * read-md.cc: Likewise.
10810 * read-md.h (struct mapping): Likewise.
10811 (class md_reader): Likewise.
10812 (class noop_reader): Likewise.
10813 * read-rtl-function.cc (function_reader::create_function): Likewise.
10814 (function_reader::extra_parsing_for_operand_code_0): Likewise.
10815 * read-rtl.cc (initialize_iterators): Likewise.
10816 * real.cc: Likewise.
10817 * real.h (struct real_value): Likewise.
10818 (format_helper::format_helper): Likewise.
10819 (real_hash): Likewise.
10820 (real_can_shorten_arithmetic): Likewise.
10821 * recog.cc (struct target_recog): Likewise.
10822 (offsettable_nonstrict_memref_p): Likewise.
10823 (constrain_operands): Likewise.
10824 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
10825 (which_op_alt): Likewise.
10826 (struct insn_gen_fn): Likewise.
10827 * reg-notes.def (REG_NOTE): Likewise.
10828 * reg-stack.cc: Likewise.
10829 * regs.h (reg_is_parm_p): Likewise.
10830 * regset.h: Likewise.
10831 * reload.cc (push_reload): Likewise.
10832 (find_reloads): Likewise.
10833 (find_reloads_address_1): Likewise.
10834 (find_replacement): Likewise.
10835 (refers_to_regno_for_reload_p): Likewise.
10836 (refers_to_mem_for_reload_p): Likewise.
10837 * reload.h (push_reload): Likewise.
10838 (deallocate_reload_reg): Likewise.
10839 * reload1.cc (emit_input_reload_insns): Likewise.
10840 * reorg.cc (relax_delay_slots): Likewise.
10841 * rtl.def (UNKNOWN): Likewise.
10842 (SEQUENCE): Likewise.
10843 (BARRIER): Likewise.
10844 (ASM_OPERANDS): Likewise.
10845 (EQ_ATTR_ALT): Likewise.
10846 * rtl.h (struct GTY): Likewise.
10847 (LABEL_NAME): Likewise.
10848 (LABEL_ALT_ENTRY_P): Likewise.
10849 (SUBREG_BYTE): Likewise.
10850 (get_stack_check_protect): Likewise.
10851 (dump_rtx_statistics): Likewise.
10852 (unwrap_const_vec_duplicate): Likewise.
10853 (subreg_promoted_mode): Likewise.
10854 (gen_lowpart_common): Likewise.
10855 (operand_subword): Likewise.
10856 (immed_wide_int_const): Likewise.
10857 (decide_function_section): Likewise.
10858 (active_insn_p): Likewise.
10859 (delete_related_insns): Likewise.
10860 (try_split): Likewise.
10861 (val_signbit_known_clear_p): Likewise.
10862 (simplifiable_subregs): Likewise.
10863 (set_insn_deleted): Likewise.
10864 (subreg_get_info): Likewise.
10865 (remove_free_EXPR_LIST_node): Likewise.
10866 (finish_subregs_of_mode): Likewise.
10867 (get_mem_attrs): Likewise.
10868 (lookup_constant_def): Likewise.
10869 (rtx_to_tree_code): Likewise.
10870 (hash_rtx): Likewise.
10871 (condjump_in_parallel_p): Likewise.
10872 (validate_subreg): Likewise.
10873 (make_compound_operation): Likewise.
10874 (schedule_ebbs): Likewise.
10875 (print_inline_rtx): Likewise.
10876 (fixup_args_size_notes): Likewise.
10877 (expand_dec): Likewise.
10878 (prepare_copy_insn): Likewise.
10879 (mark_elimination): Likewise.
10880 (valid_mode_changes_for_regno): Likewise.
10881 (make_debug_expr_from_rtl): Likewise.
10882 (delete_vta_debug_insns): Likewise.
10883 (simplify_using_condition): Likewise.
10884 (set_insn_locations): Likewise.
10885 (fatal_insn_not_found): Likewise.
10886 (word_register_operation_p): Likewise.
10887 * rtlanal.cc (get_call_fndecl): Likewise.
10888 (side_effects_p): Likewise.
10889 (subreg_nregs): Likewise.
10890 (rtx_cost): Likewise.
10891 (canonicalize_condition): Likewise.
10892 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
10893 * run-rtl-passes.cc (run_rtl_passes): Likewise.
10894 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
10895 * sched-deps.cc (add_dependence_1): Likewise.
10896 * sched-ebb.cc (begin_move_insn): Likewise.
10897 (add_deps_for_risky_insns): Likewise.
10898 (advance_target_bb): Likewise.
10899 * sched-int.h (reemit_notes): Likewise.
10900 (struct _haifa_insn_data): Likewise.
10902 (DEP_CANCELLED): Likewise.
10903 (debug_ds): Likewise.
10904 (number_in_ready): Likewise.
10905 (schedule_ebbs_finish): Likewise.
10906 (find_modifiable_mems): Likewise.
10907 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
10908 * sel-sched-dump.cc (dump_lv_set): Likewise.
10909 * sel-sched-dump.h: Likewise.
10910 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
10911 (setup_id_reg_sets): Likewise.
10912 (has_dependence_p): Likewise.
10913 (sel_num_cfg_preds_gt_1): Likewise.
10914 (bb_ends_ebb_p): Likewise.
10915 * sel-sched-ir.h (struct _list_node): Likewise.
10916 (struct idata_def): Likewise.
10917 (bb_next_bb): Likewise.
10918 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
10919 (choose_best_pseudo_reg): Likewise.
10920 (verify_target_availability): Likewise.
10921 (can_speculate_dep_p): Likewise.
10922 (sel_rank_for_schedule): Likewise.
10923 * selftest-run-tests.cc (selftest::run_tests): Likewise.
10924 * selftest.h (class auto_fix_quotes): Likewise.
10925 * shrink-wrap.cc (handle_simple_exit): Likewise.
10926 * shrink-wrap.h: Likewise.
10927 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
10928 (simplify_context::simplify_gen_vec_select): Likewise.
10929 * spellcheck-tree.h: Likewise.
10930 * spellcheck.h: Likewise.
10931 * statistics.h (struct function): Likewise.
10932 * stmt.cc (conditional_probability): Likewise.
10933 * stmt.h: Likewise.
10934 * stor-layout.h: Likewise.
10935 * streamer-hooks.h: Likewise.
10936 * stringpool.h: Likewise.
10937 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
10938 * target.def (HOOK_VECTOR_END): Likewise.
10940 * target.h (union cumulative_args_t): Likewise.
10941 (by_pieces_ninsns): Likewise.
10942 (class predefined_function_abi): Likewise.
10943 * targhooks.cc (default_translate_mode_attribute): Likewise.
10944 * timevar.def: Likewise.
10945 * timevar.h (class timer): Likewise.
10946 * toplev.h (enable_rtl_dump_file): Likewise.
10947 * trans-mem.cc (collect_bb2reg): Likewise.
10948 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
10949 * tree-cfg.cc (remove_bb): Likewise.
10950 (verify_gimple_debug): Likewise.
10951 (remove_edge_and_dominated_blocks): Likewise.
10952 (push_fndecl): Likewise.
10953 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
10954 * tree-complex.cc (expand_complex_multiplication): Likewise.
10955 (expand_complex_div_straight): Likewise.
10956 * tree-core.h (enum tree_index): Likewise.
10957 (enum operand_equal_flag): Likewise.
10958 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
10959 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
10960 * tree-inline.cc (initialize_inlined_parameters): Likewise.
10961 * tree-inline.h (force_value_to_type): Likewise.
10962 * tree-nested.cc (get_chain_decl): Likewise.
10963 (walk_all_functions): Likewise.
10964 * tree-object-size.h: Likewise.
10965 * tree-outof-ssa.cc: Likewise.
10966 * tree-parloops.cc (create_parallel_loop): Likewise.
10967 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
10968 (dump_generic_node): Likewise.
10969 * tree-profile.cc (tree_profiling): Likewise.
10970 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
10971 * tree-ssa-address.cc: Likewise.
10972 * tree-ssa-alias.cc: Likewise.
10973 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
10974 (dump_alias_stats): Likewise.
10975 * tree-ssa-ccp.cc: Likewise.
10976 * tree-ssa-coalesce.h: Likewise.
10977 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
10978 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
10979 * tree-ssa-loop-unswitch.cc: Likewise.
10980 * tree-ssa-math-opts.cc: Likewise.
10981 * tree-ssa-operands.cc (class operands_scanner): Likewise.
10982 * tree-ssa-pre.cc: Likewise.
10983 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
10984 (debug_range_entry): Likewise.
10985 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
10986 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
10987 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
10988 (equal_mem_array_ref_p): Likewise.
10989 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
10990 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
10991 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
10992 * tree-ssa-ter.h: Likewise.
10993 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
10994 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
10995 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
10996 (write_ts_block_tree_pointers): Likewise.
10997 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
10998 (streamer_read_tree_bitfields): Likewise.
10999 (streamer_write_integer_cst): Likewise.
11000 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
11001 (vect_synth_mult_by_constant): Likewise.
11002 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
11003 * tree-vectorizer.cc: Likewise.
11004 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
11005 (vect_update_inits_of_drs): Likewise.
11006 (vect_get_mask_type_for_stmt): Likewise.
11007 (vect_rgroup_iv_might_wrap_p): Likewise.
11008 (cse_and_gimplify_to_preheader): Likewise.
11009 (vect_free_slp_tree): Likewise.
11010 (vect_pattern_recog): Likewise.
11011 (vect_stmt_dominates_stmt_p): Likewise.
11012 * tree.cc (initialize_tree_contains_struct): Likewise.
11013 (need_assembler_name_p): Likewise.
11014 (type_with_interoperable_signedness): Likewise.
11015 * tree.def (SWITCH_EXPR): Likewise.
11016 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
11017 (poly_int_tree_p): Likewise.
11018 (inlined_function_outer_scope_p): Likewise.
11019 (tree_code_for_canonical_type_merging): Likewise.
11020 * value-prof.cc: Likewise.
11021 * value-prof.h (get_nth_most_common_value): Likewise.
11022 (find_func_by_profile_id): Likewise.
11023 * value-range.cc (vrp_operand_equal_p): Likewise.
11024 * value-range.h: Likewise.
11025 * var-tracking.cc: Likewise.
11026 * varasm.cc (default_function_section): Likewise.
11027 (function_section_1): Likewise.
11028 (assemble_variable): Likewise.
11029 (handle_vtv_comdat_section): Likewise.
11030 * vec.h (struct vec_prefix): Likewise.
11031 * vmsdbgout.cc (full_name): Likewise.
11032 * vtable-verify.cc: Likewise.
11033 * vtable-verify.h (struct vtv_graph_node): Likewise.
11034 * xcoffout.cc: Likewise.
11035 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
11037 2022-01-17 Martin Liska <mliska@suse.cz>
11039 * adjust-alignment.c: Moved to...
11040 * adjust-alignment.cc: ...here.
11041 * alias.c: Moved to...
11042 * alias.cc: ...here.
11043 * alloc-pool.c: Moved to...
11044 * alloc-pool.cc: ...here.
11045 * asan.c: Moved to...
11046 * asan.cc: ...here.
11047 * attribs.c: Moved to...
11048 * attribs.cc: ...here.
11049 * auto-inc-dec.c: Moved to...
11050 * auto-inc-dec.cc: ...here.
11051 * auto-profile.c: Moved to...
11052 * auto-profile.cc: ...here.
11053 * bb-reorder.c: Moved to...
11054 * bb-reorder.cc: ...here.
11055 * bitmap.c: Moved to...
11056 * bitmap.cc: ...here.
11057 * btfout.c: Moved to...
11058 * btfout.cc: ...here.
11059 * builtins.c: Moved to...
11060 * builtins.cc: ...here.
11061 * caller-save.c: Moved to...
11062 * caller-save.cc: ...here.
11063 * calls.c: Moved to...
11064 * calls.cc: ...here.
11065 * ccmp.c: Moved to...
11066 * ccmp.cc: ...here.
11067 * cfg.c: Moved to...
11069 * cfganal.c: Moved to...
11070 * cfganal.cc: ...here.
11071 * cfgbuild.c: Moved to...
11072 * cfgbuild.cc: ...here.
11073 * cfgcleanup.c: Moved to...
11074 * cfgcleanup.cc: ...here.
11075 * cfgexpand.c: Moved to...
11076 * cfgexpand.cc: ...here.
11077 * cfghooks.c: Moved to...
11078 * cfghooks.cc: ...here.
11079 * cfgloop.c: Moved to...
11080 * cfgloop.cc: ...here.
11081 * cfgloopanal.c: Moved to...
11082 * cfgloopanal.cc: ...here.
11083 * cfgloopmanip.c: Moved to...
11084 * cfgloopmanip.cc: ...here.
11085 * cfgrtl.c: Moved to...
11086 * cfgrtl.cc: ...here.
11087 * cgraph.c: Moved to...
11088 * cgraph.cc: ...here.
11089 * cgraphbuild.c: Moved to...
11090 * cgraphbuild.cc: ...here.
11091 * cgraphclones.c: Moved to...
11092 * cgraphclones.cc: ...here.
11093 * cgraphunit.c: Moved to...
11094 * cgraphunit.cc: ...here.
11095 * collect-utils.c: Moved to...
11096 * collect-utils.cc: ...here.
11097 * collect2-aix.c: Moved to...
11098 * collect2-aix.cc: ...here.
11099 * collect2.c: Moved to...
11100 * collect2.cc: ...here.
11101 * combine-stack-adj.c: Moved to...
11102 * combine-stack-adj.cc: ...here.
11103 * combine.c: Moved to...
11104 * combine.cc: ...here.
11105 * common/common-targhooks.c: Moved to...
11106 * common/common-targhooks.cc: ...here.
11107 * common/config/aarch64/aarch64-common.c: Moved to...
11108 * common/config/aarch64/aarch64-common.cc: ...here.
11109 * common/config/alpha/alpha-common.c: Moved to...
11110 * common/config/alpha/alpha-common.cc: ...here.
11111 * common/config/arc/arc-common.c: Moved to...
11112 * common/config/arc/arc-common.cc: ...here.
11113 * common/config/arm/arm-common.c: Moved to...
11114 * common/config/arm/arm-common.cc: ...here.
11115 * common/config/avr/avr-common.c: Moved to...
11116 * common/config/avr/avr-common.cc: ...here.
11117 * common/config/bfin/bfin-common.c: Moved to...
11118 * common/config/bfin/bfin-common.cc: ...here.
11119 * common/config/bpf/bpf-common.c: Moved to...
11120 * common/config/bpf/bpf-common.cc: ...here.
11121 * common/config/c6x/c6x-common.c: Moved to...
11122 * common/config/c6x/c6x-common.cc: ...here.
11123 * common/config/cr16/cr16-common.c: Moved to...
11124 * common/config/cr16/cr16-common.cc: ...here.
11125 * common/config/cris/cris-common.c: Moved to...
11126 * common/config/cris/cris-common.cc: ...here.
11127 * common/config/csky/csky-common.c: Moved to...
11128 * common/config/csky/csky-common.cc: ...here.
11129 * common/config/default-common.c: Moved to...
11130 * common/config/default-common.cc: ...here.
11131 * common/config/epiphany/epiphany-common.c: Moved to...
11132 * common/config/epiphany/epiphany-common.cc: ...here.
11133 * common/config/fr30/fr30-common.c: Moved to...
11134 * common/config/fr30/fr30-common.cc: ...here.
11135 * common/config/frv/frv-common.c: Moved to...
11136 * common/config/frv/frv-common.cc: ...here.
11137 * common/config/gcn/gcn-common.c: Moved to...
11138 * common/config/gcn/gcn-common.cc: ...here.
11139 * common/config/h8300/h8300-common.c: Moved to...
11140 * common/config/h8300/h8300-common.cc: ...here.
11141 * common/config/i386/i386-common.c: Moved to...
11142 * common/config/i386/i386-common.cc: ...here.
11143 * common/config/ia64/ia64-common.c: Moved to...
11144 * common/config/ia64/ia64-common.cc: ...here.
11145 * common/config/iq2000/iq2000-common.c: Moved to...
11146 * common/config/iq2000/iq2000-common.cc: ...here.
11147 * common/config/lm32/lm32-common.c: Moved to...
11148 * common/config/lm32/lm32-common.cc: ...here.
11149 * common/config/m32r/m32r-common.c: Moved to...
11150 * common/config/m32r/m32r-common.cc: ...here.
11151 * common/config/m68k/m68k-common.c: Moved to...
11152 * common/config/m68k/m68k-common.cc: ...here.
11153 * common/config/mcore/mcore-common.c: Moved to...
11154 * common/config/mcore/mcore-common.cc: ...here.
11155 * common/config/microblaze/microblaze-common.c: Moved to...
11156 * common/config/microblaze/microblaze-common.cc: ...here.
11157 * common/config/mips/mips-common.c: Moved to...
11158 * common/config/mips/mips-common.cc: ...here.
11159 * common/config/mmix/mmix-common.c: Moved to...
11160 * common/config/mmix/mmix-common.cc: ...here.
11161 * common/config/mn10300/mn10300-common.c: Moved to...
11162 * common/config/mn10300/mn10300-common.cc: ...here.
11163 * common/config/msp430/msp430-common.c: Moved to...
11164 * common/config/msp430/msp430-common.cc: ...here.
11165 * common/config/nds32/nds32-common.c: Moved to...
11166 * common/config/nds32/nds32-common.cc: ...here.
11167 * common/config/nios2/nios2-common.c: Moved to...
11168 * common/config/nios2/nios2-common.cc: ...here.
11169 * common/config/nvptx/nvptx-common.c: Moved to...
11170 * common/config/nvptx/nvptx-common.cc: ...here.
11171 * common/config/or1k/or1k-common.c: Moved to...
11172 * common/config/or1k/or1k-common.cc: ...here.
11173 * common/config/pa/pa-common.c: Moved to...
11174 * common/config/pa/pa-common.cc: ...here.
11175 * common/config/pdp11/pdp11-common.c: Moved to...
11176 * common/config/pdp11/pdp11-common.cc: ...here.
11177 * common/config/pru/pru-common.c: Moved to...
11178 * common/config/pru/pru-common.cc: ...here.
11179 * common/config/riscv/riscv-common.c: Moved to...
11180 * common/config/riscv/riscv-common.cc: ...here.
11181 * common/config/rs6000/rs6000-common.c: Moved to...
11182 * common/config/rs6000/rs6000-common.cc: ...here.
11183 * common/config/rx/rx-common.c: Moved to...
11184 * common/config/rx/rx-common.cc: ...here.
11185 * common/config/s390/s390-common.c: Moved to...
11186 * common/config/s390/s390-common.cc: ...here.
11187 * common/config/sh/sh-common.c: Moved to...
11188 * common/config/sh/sh-common.cc: ...here.
11189 * common/config/sparc/sparc-common.c: Moved to...
11190 * common/config/sparc/sparc-common.cc: ...here.
11191 * common/config/tilegx/tilegx-common.c: Moved to...
11192 * common/config/tilegx/tilegx-common.cc: ...here.
11193 * common/config/tilepro/tilepro-common.c: Moved to...
11194 * common/config/tilepro/tilepro-common.cc: ...here.
11195 * common/config/v850/v850-common.c: Moved to...
11196 * common/config/v850/v850-common.cc: ...here.
11197 * common/config/vax/vax-common.c: Moved to...
11198 * common/config/vax/vax-common.cc: ...here.
11199 * common/config/visium/visium-common.c: Moved to...
11200 * common/config/visium/visium-common.cc: ...here.
11201 * common/config/xstormy16/xstormy16-common.c: Moved to...
11202 * common/config/xstormy16/xstormy16-common.cc: ...here.
11203 * common/config/xtensa/xtensa-common.c: Moved to...
11204 * common/config/xtensa/xtensa-common.cc: ...here.
11205 * compare-elim.c: Moved to...
11206 * compare-elim.cc: ...here.
11207 * config/aarch64/aarch64-bti-insert.c: Moved to...
11208 * config/aarch64/aarch64-bti-insert.cc: ...here.
11209 * config/aarch64/aarch64-builtins.c: Moved to...
11210 * config/aarch64/aarch64-builtins.cc: ...here.
11211 * config/aarch64/aarch64-c.c: Moved to...
11212 * config/aarch64/aarch64-c.cc: ...here.
11213 * config/aarch64/aarch64-d.c: Moved to...
11214 * config/aarch64/aarch64-d.cc: ...here.
11215 * config/aarch64/aarch64.c: Moved to...
11216 * config/aarch64/aarch64.cc: ...here.
11217 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
11218 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
11219 * config/aarch64/driver-aarch64.c: Moved to...
11220 * config/aarch64/driver-aarch64.cc: ...here.
11221 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
11222 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
11223 * config/aarch64/host-aarch64-darwin.c: Moved to...
11224 * config/aarch64/host-aarch64-darwin.cc: ...here.
11225 * config/alpha/alpha.c: Moved to...
11226 * config/alpha/alpha.cc: ...here.
11227 * config/alpha/driver-alpha.c: Moved to...
11228 * config/alpha/driver-alpha.cc: ...here.
11229 * config/arc/arc-c.c: Moved to...
11230 * config/arc/arc-c.cc: ...here.
11231 * config/arc/arc.c: Moved to...
11232 * config/arc/arc.cc: ...here.
11233 * config/arc/driver-arc.c: Moved to...
11234 * config/arc/driver-arc.cc: ...here.
11235 * config/arm/aarch-common.c: Moved to...
11236 * config/arm/aarch-common.cc: ...here.
11237 * config/arm/arm-builtins.c: Moved to...
11238 * config/arm/arm-builtins.cc: ...here.
11239 * config/arm/arm-c.c: Moved to...
11240 * config/arm/arm-c.cc: ...here.
11241 * config/arm/arm-d.c: Moved to...
11242 * config/arm/arm-d.cc: ...here.
11243 * config/arm/arm.c: Moved to...
11244 * config/arm/arm.cc: ...here.
11245 * config/arm/driver-arm.c: Moved to...
11246 * config/arm/driver-arm.cc: ...here.
11247 * config/avr/avr-c.c: Moved to...
11248 * config/avr/avr-c.cc: ...here.
11249 * config/avr/avr-devices.c: Moved to...
11250 * config/avr/avr-devices.cc: ...here.
11251 * config/avr/avr-log.c: Moved to...
11252 * config/avr/avr-log.cc: ...here.
11253 * config/avr/avr.c: Moved to...
11254 * config/avr/avr.cc: ...here.
11255 * config/avr/driver-avr.c: Moved to...
11256 * config/avr/driver-avr.cc: ...here.
11257 * config/avr/gen-avr-mmcu-specs.c: Moved to...
11258 * config/avr/gen-avr-mmcu-specs.cc: ...here.
11259 * config/avr/gen-avr-mmcu-texi.c: Moved to...
11260 * config/avr/gen-avr-mmcu-texi.cc: ...here.
11261 * config/bfin/bfin.c: Moved to...
11262 * config/bfin/bfin.cc: ...here.
11263 * config/bpf/bpf.c: Moved to...
11264 * config/bpf/bpf.cc: ...here.
11265 * config/bpf/coreout.c: Moved to...
11266 * config/bpf/coreout.cc: ...here.
11267 * config/c6x/c6x.c: Moved to...
11268 * config/c6x/c6x.cc: ...here.
11269 * config/cr16/cr16.c: Moved to...
11270 * config/cr16/cr16.cc: ...here.
11271 * config/cris/cris.c: Moved to...
11272 * config/cris/cris.cc: ...here.
11273 * config/csky/csky.c: Moved to...
11274 * config/csky/csky.cc: ...here.
11275 * config/darwin-c.c: Moved to...
11276 * config/darwin-c.cc: ...here.
11277 * config/darwin-d.c: Moved to...
11278 * config/darwin-d.cc: ...here.
11279 * config/darwin-driver.c: Moved to...
11280 * config/darwin-driver.cc: ...here.
11281 * config/darwin-f.c: Moved to...
11282 * config/darwin-f.cc: ...here.
11283 * config/darwin.c: Moved to...
11284 * config/darwin.cc: ...here.
11285 * config/default-c.c: Moved to...
11286 * config/default-c.cc: ...here.
11287 * config/default-d.c: Moved to...
11288 * config/default-d.cc: ...here.
11289 * config/dragonfly-d.c: Moved to...
11290 * config/dragonfly-d.cc: ...here.
11291 * config/epiphany/epiphany.c: Moved to...
11292 * config/epiphany/epiphany.cc: ...here.
11293 * config/epiphany/mode-switch-use.c: Moved to...
11294 * config/epiphany/mode-switch-use.cc: ...here.
11295 * config/epiphany/resolve-sw-modes.c: Moved to...
11296 * config/epiphany/resolve-sw-modes.cc: ...here.
11297 * config/fr30/fr30.c: Moved to...
11298 * config/fr30/fr30.cc: ...here.
11299 * config/freebsd-d.c: Moved to...
11300 * config/freebsd-d.cc: ...here.
11301 * config/frv/frv.c: Moved to...
11302 * config/frv/frv.cc: ...here.
11303 * config/ft32/ft32.c: Moved to...
11304 * config/ft32/ft32.cc: ...here.
11305 * config/gcn/driver-gcn.c: Moved to...
11306 * config/gcn/driver-gcn.cc: ...here.
11307 * config/gcn/gcn-run.c: Moved to...
11308 * config/gcn/gcn-run.cc: ...here.
11309 * config/gcn/gcn-tree.c: Moved to...
11310 * config/gcn/gcn-tree.cc: ...here.
11311 * config/gcn/gcn.c: Moved to...
11312 * config/gcn/gcn.cc: ...here.
11313 * config/gcn/mkoffload.c: Moved to...
11314 * config/gcn/mkoffload.cc: ...here.
11315 * config/glibc-c.c: Moved to...
11316 * config/glibc-c.cc: ...here.
11317 * config/glibc-d.c: Moved to...
11318 * config/glibc-d.cc: ...here.
11319 * config/h8300/h8300.c: Moved to...
11320 * config/h8300/h8300.cc: ...here.
11321 * config/host-darwin.c: Moved to...
11322 * config/host-darwin.cc: ...here.
11323 * config/host-hpux.c: Moved to...
11324 * config/host-hpux.cc: ...here.
11325 * config/host-linux.c: Moved to...
11326 * config/host-linux.cc: ...here.
11327 * config/host-netbsd.c: Moved to...
11328 * config/host-netbsd.cc: ...here.
11329 * config/host-openbsd.c: Moved to...
11330 * config/host-openbsd.cc: ...here.
11331 * config/host-solaris.c: Moved to...
11332 * config/host-solaris.cc: ...here.
11333 * config/i386/djgpp.c: Moved to...
11334 * config/i386/djgpp.cc: ...here.
11335 * config/i386/driver-i386.c: Moved to...
11336 * config/i386/driver-i386.cc: ...here.
11337 * config/i386/driver-mingw32.c: Moved to...
11338 * config/i386/driver-mingw32.cc: ...here.
11339 * config/i386/gnu-property.c: Moved to...
11340 * config/i386/gnu-property.cc: ...here.
11341 * config/i386/host-cygwin.c: Moved to...
11342 * config/i386/host-cygwin.cc: ...here.
11343 * config/i386/host-i386-darwin.c: Moved to...
11344 * config/i386/host-i386-darwin.cc: ...here.
11345 * config/i386/host-mingw32.c: Moved to...
11346 * config/i386/host-mingw32.cc: ...here.
11347 * config/i386/i386-builtins.c: Moved to...
11348 * config/i386/i386-builtins.cc: ...here.
11349 * config/i386/i386-c.c: Moved to...
11350 * config/i386/i386-c.cc: ...here.
11351 * config/i386/i386-d.c: Moved to...
11352 * config/i386/i386-d.cc: ...here.
11353 * config/i386/i386-expand.c: Moved to...
11354 * config/i386/i386-expand.cc: ...here.
11355 * config/i386/i386-features.c: Moved to...
11356 * config/i386/i386-features.cc: ...here.
11357 * config/i386/i386-options.c: Moved to...
11358 * config/i386/i386-options.cc: ...here.
11359 * config/i386/i386.c: Moved to...
11360 * config/i386/i386.cc: ...here.
11361 * config/i386/intelmic-mkoffload.c: Moved to...
11362 * config/i386/intelmic-mkoffload.cc: ...here.
11363 * config/i386/msformat-c.c: Moved to...
11364 * config/i386/msformat-c.cc: ...here.
11365 * config/i386/winnt-cxx.c: Moved to...
11366 * config/i386/winnt-cxx.cc: ...here.
11367 * config/i386/winnt-d.c: Moved to...
11368 * config/i386/winnt-d.cc: ...here.
11369 * config/i386/winnt-stubs.c: Moved to...
11370 * config/i386/winnt-stubs.cc: ...here.
11371 * config/i386/winnt.c: Moved to...
11372 * config/i386/winnt.cc: ...here.
11373 * config/i386/x86-tune-sched-atom.c: Moved to...
11374 * config/i386/x86-tune-sched-atom.cc: ...here.
11375 * config/i386/x86-tune-sched-bd.c: Moved to...
11376 * config/i386/x86-tune-sched-bd.cc: ...here.
11377 * config/i386/x86-tune-sched-core.c: Moved to...
11378 * config/i386/x86-tune-sched-core.cc: ...here.
11379 * config/i386/x86-tune-sched.c: Moved to...
11380 * config/i386/x86-tune-sched.cc: ...here.
11381 * config/ia64/ia64-c.c: Moved to...
11382 * config/ia64/ia64-c.cc: ...here.
11383 * config/ia64/ia64.c: Moved to...
11384 * config/ia64/ia64.cc: ...here.
11385 * config/iq2000/iq2000.c: Moved to...
11386 * config/iq2000/iq2000.cc: ...here.
11387 * config/linux.c: Moved to...
11388 * config/linux.cc: ...here.
11389 * config/lm32/lm32.c: Moved to...
11390 * config/lm32/lm32.cc: ...here.
11391 * config/m32c/m32c-pragma.c: Moved to...
11392 * config/m32c/m32c-pragma.cc: ...here.
11393 * config/m32c/m32c.c: Moved to...
11394 * config/m32c/m32c.cc: ...here.
11395 * config/m32r/m32r.c: Moved to...
11396 * config/m32r/m32r.cc: ...here.
11397 * config/m68k/m68k.c: Moved to...
11398 * config/m68k/m68k.cc: ...here.
11399 * config/mcore/mcore.c: Moved to...
11400 * config/mcore/mcore.cc: ...here.
11401 * config/microblaze/microblaze-c.c: Moved to...
11402 * config/microblaze/microblaze-c.cc: ...here.
11403 * config/microblaze/microblaze.c: Moved to...
11404 * config/microblaze/microblaze.cc: ...here.
11405 * config/mips/driver-native.c: Moved to...
11406 * config/mips/driver-native.cc: ...here.
11407 * config/mips/frame-header-opt.c: Moved to...
11408 * config/mips/frame-header-opt.cc: ...here.
11409 * config/mips/mips-d.c: Moved to...
11410 * config/mips/mips-d.cc: ...here.
11411 * config/mips/mips.c: Moved to...
11412 * config/mips/mips.cc: ...here.
11413 * config/mmix/mmix.c: Moved to...
11414 * config/mmix/mmix.cc: ...here.
11415 * config/mn10300/mn10300.c: Moved to...
11416 * config/mn10300/mn10300.cc: ...here.
11417 * config/moxie/moxie.c: Moved to...
11418 * config/moxie/moxie.cc: ...here.
11419 * config/msp430/driver-msp430.c: Moved to...
11420 * config/msp430/driver-msp430.cc: ...here.
11421 * config/msp430/msp430-c.c: Moved to...
11422 * config/msp430/msp430-c.cc: ...here.
11423 * config/msp430/msp430-devices.c: Moved to...
11424 * config/msp430/msp430-devices.cc: ...here.
11425 * config/msp430/msp430.c: Moved to...
11426 * config/msp430/msp430.cc: ...here.
11427 * config/nds32/nds32-cost.c: Moved to...
11428 * config/nds32/nds32-cost.cc: ...here.
11429 * config/nds32/nds32-fp-as-gp.c: Moved to...
11430 * config/nds32/nds32-fp-as-gp.cc: ...here.
11431 * config/nds32/nds32-intrinsic.c: Moved to...
11432 * config/nds32/nds32-intrinsic.cc: ...here.
11433 * config/nds32/nds32-isr.c: Moved to...
11434 * config/nds32/nds32-isr.cc: ...here.
11435 * config/nds32/nds32-md-auxiliary.c: Moved to...
11436 * config/nds32/nds32-md-auxiliary.cc: ...here.
11437 * config/nds32/nds32-memory-manipulation.c: Moved to...
11438 * config/nds32/nds32-memory-manipulation.cc: ...here.
11439 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
11440 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
11441 * config/nds32/nds32-predicates.c: Moved to...
11442 * config/nds32/nds32-predicates.cc: ...here.
11443 * config/nds32/nds32-relax-opt.c: Moved to...
11444 * config/nds32/nds32-relax-opt.cc: ...here.
11445 * config/nds32/nds32-utils.c: Moved to...
11446 * config/nds32/nds32-utils.cc: ...here.
11447 * config/nds32/nds32.c: Moved to...
11448 * config/nds32/nds32.cc: ...here.
11449 * config/netbsd-d.c: Moved to...
11450 * config/netbsd-d.cc: ...here.
11451 * config/netbsd.c: Moved to...
11452 * config/netbsd.cc: ...here.
11453 * config/nios2/nios2.c: Moved to...
11454 * config/nios2/nios2.cc: ...here.
11455 * config/nvptx/mkoffload.c: Moved to...
11456 * config/nvptx/mkoffload.cc: ...here.
11457 * config/nvptx/nvptx-c.c: Moved to...
11458 * config/nvptx/nvptx-c.cc: ...here.
11459 * config/nvptx/nvptx.c: Moved to...
11460 * config/nvptx/nvptx.cc: ...here.
11461 * config/openbsd-d.c: Moved to...
11462 * config/openbsd-d.cc: ...here.
11463 * config/or1k/or1k.c: Moved to...
11464 * config/or1k/or1k.cc: ...here.
11465 * config/pa/pa-d.c: Moved to...
11466 * config/pa/pa-d.cc: ...here.
11467 * config/pa/pa.c: Moved to...
11468 * config/pa/pa.cc: ...here.
11469 * config/pdp11/pdp11.c: Moved to...
11470 * config/pdp11/pdp11.cc: ...here.
11471 * config/pru/pru-passes.c: Moved to...
11472 * config/pru/pru-passes.cc: ...here.
11473 * config/pru/pru-pragma.c: Moved to...
11474 * config/pru/pru-pragma.cc: ...here.
11475 * config/pru/pru.c: Moved to...
11476 * config/pru/pru.cc: ...here.
11477 * config/riscv/riscv-builtins.c: Moved to...
11478 * config/riscv/riscv-builtins.cc: ...here.
11479 * config/riscv/riscv-c.c: Moved to...
11480 * config/riscv/riscv-c.cc: ...here.
11481 * config/riscv/riscv-d.c: Moved to...
11482 * config/riscv/riscv-d.cc: ...here.
11483 * config/riscv/riscv-shorten-memrefs.c: Moved to...
11484 * config/riscv/riscv-shorten-memrefs.cc: ...here.
11485 * config/riscv/riscv-sr.c: Moved to...
11486 * config/riscv/riscv-sr.cc: ...here.
11487 * config/riscv/riscv.c: Moved to...
11488 * config/riscv/riscv.cc: ...here.
11489 * config/rl78/rl78-c.c: Moved to...
11490 * config/rl78/rl78-c.cc: ...here.
11491 * config/rl78/rl78.c: Moved to...
11492 * config/rl78/rl78.cc: ...here.
11493 * config/rs6000/driver-rs6000.c: Moved to...
11494 * config/rs6000/driver-rs6000.cc: ...here.
11495 * config/rs6000/host-darwin.c: Moved to...
11496 * config/rs6000/host-darwin.cc: ...here.
11497 * config/rs6000/host-ppc64-darwin.c: Moved to...
11498 * config/rs6000/host-ppc64-darwin.cc: ...here.
11499 * config/rs6000/rbtree.c: Moved to...
11500 * config/rs6000/rbtree.cc: ...here.
11501 * config/rs6000/rs6000-c.c: Moved to...
11502 * config/rs6000/rs6000-c.cc: ...here.
11503 * config/rs6000/rs6000-call.c: Moved to...
11504 * config/rs6000/rs6000-call.cc: ...here.
11505 * config/rs6000/rs6000-d.c: Moved to...
11506 * config/rs6000/rs6000-d.cc: ...here.
11507 * config/rs6000/rs6000-gen-builtins.c: Moved to...
11508 * config/rs6000/rs6000-gen-builtins.cc: ...here.
11509 * config/rs6000/rs6000-linux.c: Moved to...
11510 * config/rs6000/rs6000-linux.cc: ...here.
11511 * config/rs6000/rs6000-logue.c: Moved to...
11512 * config/rs6000/rs6000-logue.cc: ...here.
11513 * config/rs6000/rs6000-p8swap.c: Moved to...
11514 * config/rs6000/rs6000-p8swap.cc: ...here.
11515 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
11516 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
11517 * config/rs6000/rs6000-string.c: Moved to...
11518 * config/rs6000/rs6000-string.cc: ...here.
11519 * config/rs6000/rs6000.c: Moved to...
11520 * config/rs6000/rs6000.cc: ...here.
11521 * config/rx/rx.c: Moved to...
11522 * config/rx/rx.cc: ...here.
11523 * config/s390/driver-native.c: Moved to...
11524 * config/s390/driver-native.cc: ...here.
11525 * config/s390/s390-c.c: Moved to...
11526 * config/s390/s390-c.cc: ...here.
11527 * config/s390/s390-d.c: Moved to...
11528 * config/s390/s390-d.cc: ...here.
11529 * config/s390/s390.c: Moved to...
11530 * config/s390/s390.cc: ...here.
11531 * config/sh/divtab-sh4-300.c: Moved to...
11532 * config/sh/divtab-sh4-300.cc: ...here.
11533 * config/sh/divtab-sh4.c: Moved to...
11534 * config/sh/divtab-sh4.cc: ...here.
11535 * config/sh/divtab.c: Moved to...
11536 * config/sh/divtab.cc: ...here.
11537 * config/sh/sh-c.c: Moved to...
11538 * config/sh/sh-c.cc: ...here.
11539 * config/sh/sh.c: Moved to...
11540 * config/sh/sh.cc: ...here.
11541 * config/sol2-c.c: Moved to...
11542 * config/sol2-c.cc: ...here.
11543 * config/sol2-cxx.c: Moved to...
11544 * config/sol2-cxx.cc: ...here.
11545 * config/sol2-d.c: Moved to...
11546 * config/sol2-d.cc: ...here.
11547 * config/sol2-stubs.c: Moved to...
11548 * config/sol2-stubs.cc: ...here.
11549 * config/sol2.c: Moved to...
11550 * config/sol2.cc: ...here.
11551 * config/sparc/driver-sparc.c: Moved to...
11552 * config/sparc/driver-sparc.cc: ...here.
11553 * config/sparc/sparc-c.c: Moved to...
11554 * config/sparc/sparc-c.cc: ...here.
11555 * config/sparc/sparc-d.c: Moved to...
11556 * config/sparc/sparc-d.cc: ...here.
11557 * config/sparc/sparc.c: Moved to...
11558 * config/sparc/sparc.cc: ...here.
11559 * config/stormy16/stormy16.c: Moved to...
11560 * config/stormy16/stormy16.cc: ...here.
11561 * config/tilegx/mul-tables.c: Moved to...
11562 * config/tilegx/mul-tables.cc: ...here.
11563 * config/tilegx/tilegx-c.c: Moved to...
11564 * config/tilegx/tilegx-c.cc: ...here.
11565 * config/tilegx/tilegx.c: Moved to...
11566 * config/tilegx/tilegx.cc: ...here.
11567 * config/tilepro/mul-tables.c: Moved to...
11568 * config/tilepro/mul-tables.cc: ...here.
11569 * config/tilepro/tilepro-c.c: Moved to...
11570 * config/tilepro/tilepro-c.cc: ...here.
11571 * config/tilepro/tilepro.c: Moved to...
11572 * config/tilepro/tilepro.cc: ...here.
11573 * config/v850/v850-c.c: Moved to...
11574 * config/v850/v850-c.cc: ...here.
11575 * config/v850/v850.c: Moved to...
11576 * config/v850/v850.cc: ...here.
11577 * config/vax/vax.c: Moved to...
11578 * config/vax/vax.cc: ...here.
11579 * config/visium/visium.c: Moved to...
11580 * config/visium/visium.cc: ...here.
11581 * config/vms/vms-c.c: Moved to...
11582 * config/vms/vms-c.cc: ...here.
11583 * config/vms/vms-f.c: Moved to...
11584 * config/vms/vms-f.cc: ...here.
11585 * config/vms/vms.c: Moved to...
11586 * config/vms/vms.cc: ...here.
11587 * config/vxworks-c.c: Moved to...
11588 * config/vxworks-c.cc: ...here.
11589 * config/vxworks.c: Moved to...
11590 * config/vxworks.cc: ...here.
11591 * config/winnt-c.c: Moved to...
11592 * config/winnt-c.cc: ...here.
11593 * config/xtensa/xtensa.c: Moved to...
11594 * config/xtensa/xtensa.cc: ...here.
11595 * context.c: Moved to...
11596 * context.cc: ...here.
11597 * convert.c: Moved to...
11598 * convert.cc: ...here.
11599 * coverage.c: Moved to...
11600 * coverage.cc: ...here.
11601 * cppbuiltin.c: Moved to...
11602 * cppbuiltin.cc: ...here.
11603 * cppdefault.c: Moved to...
11604 * cppdefault.cc: ...here.
11605 * cprop.c: Moved to...
11606 * cprop.cc: ...here.
11607 * cse.c: Moved to...
11609 * cselib.c: Moved to...
11610 * cselib.cc: ...here.
11611 * ctfc.c: Moved to...
11612 * ctfc.cc: ...here.
11613 * ctfout.c: Moved to...
11614 * ctfout.cc: ...here.
11615 * data-streamer-in.c: Moved to...
11616 * data-streamer-in.cc: ...here.
11617 * data-streamer-out.c: Moved to...
11618 * data-streamer-out.cc: ...here.
11619 * data-streamer.c: Moved to...
11620 * data-streamer.cc: ...here.
11621 * dbgcnt.c: Moved to...
11622 * dbgcnt.cc: ...here.
11623 * dbxout.c: Moved to...
11624 * dbxout.cc: ...here.
11625 * dce.c: Moved to...
11627 * ddg.c: Moved to...
11629 * debug.c: Moved to...
11630 * debug.cc: ...here.
11631 * df-core.c: Moved to...
11632 * df-core.cc: ...here.
11633 * df-problems.c: Moved to...
11634 * df-problems.cc: ...here.
11635 * df-scan.c: Moved to...
11636 * df-scan.cc: ...here.
11637 * dfp.c: Moved to...
11639 * diagnostic-color.c: Moved to...
11640 * diagnostic-color.cc: ...here.
11641 * diagnostic-show-locus.c: Moved to...
11642 * diagnostic-show-locus.cc: ...here.
11643 * diagnostic-spec.c: Moved to...
11644 * diagnostic-spec.cc: ...here.
11645 * diagnostic.c: Moved to...
11646 * diagnostic.cc: ...here.
11647 * dojump.c: Moved to...
11648 * dojump.cc: ...here.
11649 * dominance.c: Moved to...
11650 * dominance.cc: ...here.
11651 * domwalk.c: Moved to...
11652 * domwalk.cc: ...here.
11653 * double-int.c: Moved to...
11654 * double-int.cc: ...here.
11655 * dse.c: Moved to...
11657 * dumpfile.c: Moved to...
11658 * dumpfile.cc: ...here.
11659 * dwarf2asm.c: Moved to...
11660 * dwarf2asm.cc: ...here.
11661 * dwarf2cfi.c: Moved to...
11662 * dwarf2cfi.cc: ...here.
11663 * dwarf2ctf.c: Moved to...
11664 * dwarf2ctf.cc: ...here.
11665 * dwarf2out.c: Moved to...
11666 * dwarf2out.cc: ...here.
11667 * early-remat.c: Moved to...
11668 * early-remat.cc: ...here.
11669 * edit-context.c: Moved to...
11670 * edit-context.cc: ...here.
11671 * emit-rtl.c: Moved to...
11672 * emit-rtl.cc: ...here.
11673 * errors.c: Moved to...
11674 * errors.cc: ...here.
11675 * et-forest.c: Moved to...
11676 * et-forest.cc: ...here.
11677 * except.c: Moved to...
11678 * except.cc: ...here.
11679 * explow.c: Moved to...
11680 * explow.cc: ...here.
11681 * expmed.c: Moved to...
11682 * expmed.cc: ...here.
11683 * expr.c: Moved to...
11684 * expr.cc: ...here.
11685 * fibonacci_heap.c: Moved to...
11686 * fibonacci_heap.cc: ...here.
11687 * file-find.c: Moved to...
11688 * file-find.cc: ...here.
11689 * file-prefix-map.c: Moved to...
11690 * file-prefix-map.cc: ...here.
11691 * final.c: Moved to...
11692 * final.cc: ...here.
11693 * fixed-value.c: Moved to...
11694 * fixed-value.cc: ...here.
11695 * fold-const-call.c: Moved to...
11696 * fold-const-call.cc: ...here.
11697 * fold-const.c: Moved to...
11698 * fold-const.cc: ...here.
11699 * fp-test.c: Moved to...
11700 * fp-test.cc: ...here.
11701 * function-tests.c: Moved to...
11702 * function-tests.cc: ...here.
11703 * function.c: Moved to...
11704 * function.cc: ...here.
11705 * fwprop.c: Moved to...
11706 * fwprop.cc: ...here.
11707 * gcc-ar.c: Moved to...
11708 * gcc-ar.cc: ...here.
11709 * gcc-main.c: Moved to...
11710 * gcc-main.cc: ...here.
11711 * gcc-rich-location.c: Moved to...
11712 * gcc-rich-location.cc: ...here.
11713 * gcc.c: Moved to...
11715 * gcov-dump.c: Moved to...
11716 * gcov-dump.cc: ...here.
11717 * gcov-io.c: Moved to...
11718 * gcov-io.cc: ...here.
11719 * gcov-tool.c: Moved to...
11720 * gcov-tool.cc: ...here.
11721 * gcov.c: Moved to...
11722 * gcov.cc: ...here.
11723 * gcse-common.c: Moved to...
11724 * gcse-common.cc: ...here.
11725 * gcse.c: Moved to...
11726 * gcse.cc: ...here.
11727 * genattr-common.c: Moved to...
11728 * genattr-common.cc: ...here.
11729 * genattr.c: Moved to...
11730 * genattr.cc: ...here.
11731 * genattrtab.c: Moved to...
11732 * genattrtab.cc: ...here.
11733 * genautomata.c: Moved to...
11734 * genautomata.cc: ...here.
11735 * gencfn-macros.c: Moved to...
11736 * gencfn-macros.cc: ...here.
11737 * gencheck.c: Moved to...
11738 * gencheck.cc: ...here.
11739 * genchecksum.c: Moved to...
11740 * genchecksum.cc: ...here.
11741 * gencodes.c: Moved to...
11742 * gencodes.cc: ...here.
11743 * genconditions.c: Moved to...
11744 * genconditions.cc: ...here.
11745 * genconfig.c: Moved to...
11746 * genconfig.cc: ...here.
11747 * genconstants.c: Moved to...
11748 * genconstants.cc: ...here.
11749 * genemit.c: Moved to...
11750 * genemit.cc: ...here.
11751 * genenums.c: Moved to...
11752 * genenums.cc: ...here.
11753 * generic-match-head.c: Moved to...
11754 * generic-match-head.cc: ...here.
11755 * genextract.c: Moved to...
11756 * genextract.cc: ...here.
11757 * genflags.c: Moved to...
11758 * genflags.cc: ...here.
11759 * gengenrtl.c: Moved to...
11760 * gengenrtl.cc: ...here.
11761 * gengtype-parse.c: Moved to...
11762 * gengtype-parse.cc: ...here.
11763 * gengtype-state.c: Moved to...
11764 * gengtype-state.cc: ...here.
11765 * gengtype.c: Moved to...
11766 * gengtype.cc: ...here.
11767 * genhooks.c: Moved to...
11768 * genhooks.cc: ...here.
11769 * genmatch.c: Moved to...
11770 * genmatch.cc: ...here.
11771 * genmddeps.c: Moved to...
11772 * genmddeps.cc: ...here.
11773 * genmddump.c: Moved to...
11774 * genmddump.cc: ...here.
11775 * genmodes.c: Moved to...
11776 * genmodes.cc: ...here.
11777 * genopinit.c: Moved to...
11778 * genopinit.cc: ...here.
11779 * genoutput.c: Moved to...
11780 * genoutput.cc: ...here.
11781 * genpeep.c: Moved to...
11782 * genpeep.cc: ...here.
11783 * genpreds.c: Moved to...
11784 * genpreds.cc: ...here.
11785 * genrecog.c: Moved to...
11786 * genrecog.cc: ...here.
11787 * gensupport.c: Moved to...
11788 * gensupport.cc: ...here.
11789 * gentarget-def.c: Moved to...
11790 * gentarget-def.cc: ...here.
11791 * genversion.c: Moved to...
11792 * genversion.cc: ...here.
11793 * ggc-common.c: Moved to...
11794 * ggc-common.cc: ...here.
11795 * ggc-none.c: Moved to...
11796 * ggc-none.cc: ...here.
11797 * ggc-page.c: Moved to...
11798 * ggc-page.cc: ...here.
11799 * ggc-tests.c: Moved to...
11800 * ggc-tests.cc: ...here.
11801 * gimple-builder.c: Moved to...
11802 * gimple-builder.cc: ...here.
11803 * gimple-expr.c: Moved to...
11804 * gimple-expr.cc: ...here.
11805 * gimple-fold.c: Moved to...
11806 * gimple-fold.cc: ...here.
11807 * gimple-iterator.c: Moved to...
11808 * gimple-iterator.cc: ...here.
11809 * gimple-laddress.c: Moved to...
11810 * gimple-laddress.cc: ...here.
11811 * gimple-loop-jam.c: Moved to...
11812 * gimple-loop-jam.cc: ...here.
11813 * gimple-low.c: Moved to...
11814 * gimple-low.cc: ...here.
11815 * gimple-match-head.c: Moved to...
11816 * gimple-match-head.cc: ...here.
11817 * gimple-pretty-print.c: Moved to...
11818 * gimple-pretty-print.cc: ...here.
11819 * gimple-ssa-backprop.c: Moved to...
11820 * gimple-ssa-backprop.cc: ...here.
11821 * gimple-ssa-evrp-analyze.c: Moved to...
11822 * gimple-ssa-evrp-analyze.cc: ...here.
11823 * gimple-ssa-evrp.c: Moved to...
11824 * gimple-ssa-evrp.cc: ...here.
11825 * gimple-ssa-isolate-paths.c: Moved to...
11826 * gimple-ssa-isolate-paths.cc: ...here.
11827 * gimple-ssa-nonnull-compare.c: Moved to...
11828 * gimple-ssa-nonnull-compare.cc: ...here.
11829 * gimple-ssa-split-paths.c: Moved to...
11830 * gimple-ssa-split-paths.cc: ...here.
11831 * gimple-ssa-sprintf.c: Moved to...
11832 * gimple-ssa-sprintf.cc: ...here.
11833 * gimple-ssa-store-merging.c: Moved to...
11834 * gimple-ssa-store-merging.cc: ...here.
11835 * gimple-ssa-strength-reduction.c: Moved to...
11836 * gimple-ssa-strength-reduction.cc: ...here.
11837 * gimple-ssa-warn-alloca.c: Moved to...
11838 * gimple-ssa-warn-alloca.cc: ...here.
11839 * gimple-ssa-warn-restrict.c: Moved to...
11840 * gimple-ssa-warn-restrict.cc: ...here.
11841 * gimple-streamer-in.c: Moved to...
11842 * gimple-streamer-in.cc: ...here.
11843 * gimple-streamer-out.c: Moved to...
11844 * gimple-streamer-out.cc: ...here.
11845 * gimple-walk.c: Moved to...
11846 * gimple-walk.cc: ...here.
11847 * gimple-warn-recursion.c: Moved to...
11848 * gimple-warn-recursion.cc: ...here.
11849 * gimple.c: Moved to...
11850 * gimple.cc: ...here.
11851 * gimplify-me.c: Moved to...
11852 * gimplify-me.cc: ...here.
11853 * gimplify.c: Moved to...
11854 * gimplify.cc: ...here.
11855 * godump.c: Moved to...
11856 * godump.cc: ...here.
11857 * graph.c: Moved to...
11858 * graph.cc: ...here.
11859 * graphds.c: Moved to...
11860 * graphds.cc: ...here.
11861 * graphite-dependences.c: Moved to...
11862 * graphite-dependences.cc: ...here.
11863 * graphite-isl-ast-to-gimple.c: Moved to...
11864 * graphite-isl-ast-to-gimple.cc: ...here.
11865 * graphite-optimize-isl.c: Moved to...
11866 * graphite-optimize-isl.cc: ...here.
11867 * graphite-poly.c: Moved to...
11868 * graphite-poly.cc: ...here.
11869 * graphite-scop-detection.c: Moved to...
11870 * graphite-scop-detection.cc: ...here.
11871 * graphite-sese-to-poly.c: Moved to...
11872 * graphite-sese-to-poly.cc: ...here.
11873 * graphite.c: Moved to...
11874 * graphite.cc: ...here.
11875 * haifa-sched.c: Moved to...
11876 * haifa-sched.cc: ...here.
11877 * hash-map-tests.c: Moved to...
11878 * hash-map-tests.cc: ...here.
11879 * hash-set-tests.c: Moved to...
11880 * hash-set-tests.cc: ...here.
11881 * hash-table.c: Moved to...
11882 * hash-table.cc: ...here.
11883 * hooks.c: Moved to...
11884 * hooks.cc: ...here.
11885 * host-default.c: Moved to...
11886 * host-default.cc: ...here.
11887 * hw-doloop.c: Moved to...
11888 * hw-doloop.cc: ...here.
11889 * hwint.c: Moved to...
11890 * hwint.cc: ...here.
11891 * ifcvt.c: Moved to...
11892 * ifcvt.cc: ...here.
11893 * inchash.c: Moved to...
11894 * inchash.cc: ...here.
11895 * incpath.c: Moved to...
11896 * incpath.cc: ...here.
11897 * init-regs.c: Moved to...
11898 * init-regs.cc: ...here.
11899 * input.c: Moved to...
11900 * input.cc: ...here.
11901 * internal-fn.c: Moved to...
11902 * internal-fn.cc: ...here.
11903 * intl.c: Moved to...
11904 * intl.cc: ...here.
11905 * ipa-comdats.c: Moved to...
11906 * ipa-comdats.cc: ...here.
11907 * ipa-cp.c: Moved to...
11908 * ipa-cp.cc: ...here.
11909 * ipa-devirt.c: Moved to...
11910 * ipa-devirt.cc: ...here.
11911 * ipa-fnsummary.c: Moved to...
11912 * ipa-fnsummary.cc: ...here.
11913 * ipa-icf-gimple.c: Moved to...
11914 * ipa-icf-gimple.cc: ...here.
11915 * ipa-icf.c: Moved to...
11916 * ipa-icf.cc: ...here.
11917 * ipa-inline-analysis.c: Moved to...
11918 * ipa-inline-analysis.cc: ...here.
11919 * ipa-inline-transform.c: Moved to...
11920 * ipa-inline-transform.cc: ...here.
11921 * ipa-inline.c: Moved to...
11922 * ipa-inline.cc: ...here.
11923 * ipa-modref-tree.c: Moved to...
11924 * ipa-modref-tree.cc: ...here.
11925 * ipa-modref.c: Moved to...
11926 * ipa-modref.cc: ...here.
11927 * ipa-param-manipulation.c: Moved to...
11928 * ipa-param-manipulation.cc: ...here.
11929 * ipa-polymorphic-call.c: Moved to...
11930 * ipa-polymorphic-call.cc: ...here.
11931 * ipa-predicate.c: Moved to...
11932 * ipa-predicate.cc: ...here.
11933 * ipa-profile.c: Moved to...
11934 * ipa-profile.cc: ...here.
11935 * ipa-prop.c: Moved to...
11936 * ipa-prop.cc: ...here.
11937 * ipa-pure-const.c: Moved to...
11938 * ipa-pure-const.cc: ...here.
11939 * ipa-ref.c: Moved to...
11940 * ipa-ref.cc: ...here.
11941 * ipa-reference.c: Moved to...
11942 * ipa-reference.cc: ...here.
11943 * ipa-split.c: Moved to...
11944 * ipa-split.cc: ...here.
11945 * ipa-sra.c: Moved to...
11946 * ipa-sra.cc: ...here.
11947 * ipa-utils.c: Moved to...
11948 * ipa-utils.cc: ...here.
11949 * ipa-visibility.c: Moved to...
11950 * ipa-visibility.cc: ...here.
11951 * ipa.c: Moved to...
11953 * ira-build.c: Moved to...
11954 * ira-build.cc: ...here.
11955 * ira-color.c: Moved to...
11956 * ira-color.cc: ...here.
11957 * ira-conflicts.c: Moved to...
11958 * ira-conflicts.cc: ...here.
11959 * ira-costs.c: Moved to...
11960 * ira-costs.cc: ...here.
11961 * ira-emit.c: Moved to...
11962 * ira-emit.cc: ...here.
11963 * ira-lives.c: Moved to...
11964 * ira-lives.cc: ...here.
11965 * ira.c: Moved to...
11967 * jump.c: Moved to...
11968 * jump.cc: ...here.
11969 * langhooks.c: Moved to...
11970 * langhooks.cc: ...here.
11971 * lcm.c: Moved to...
11973 * lists.c: Moved to...
11974 * lists.cc: ...here.
11975 * loop-doloop.c: Moved to...
11976 * loop-doloop.cc: ...here.
11977 * loop-init.c: Moved to...
11978 * loop-init.cc: ...here.
11979 * loop-invariant.c: Moved to...
11980 * loop-invariant.cc: ...here.
11981 * loop-iv.c: Moved to...
11982 * loop-iv.cc: ...here.
11983 * loop-unroll.c: Moved to...
11984 * loop-unroll.cc: ...here.
11985 * lower-subreg.c: Moved to...
11986 * lower-subreg.cc: ...here.
11987 * lra-assigns.c: Moved to...
11988 * lra-assigns.cc: ...here.
11989 * lra-coalesce.c: Moved to...
11990 * lra-coalesce.cc: ...here.
11991 * lra-constraints.c: Moved to...
11992 * lra-constraints.cc: ...here.
11993 * lra-eliminations.c: Moved to...
11994 * lra-eliminations.cc: ...here.
11995 * lra-lives.c: Moved to...
11996 * lra-lives.cc: ...here.
11997 * lra-remat.c: Moved to...
11998 * lra-remat.cc: ...here.
11999 * lra-spills.c: Moved to...
12000 * lra-spills.cc: ...here.
12001 * lra.c: Moved to...
12003 * lto-cgraph.c: Moved to...
12004 * lto-cgraph.cc: ...here.
12005 * lto-compress.c: Moved to...
12006 * lto-compress.cc: ...here.
12007 * lto-opts.c: Moved to...
12008 * lto-opts.cc: ...here.
12009 * lto-section-in.c: Moved to...
12010 * lto-section-in.cc: ...here.
12011 * lto-section-out.c: Moved to...
12012 * lto-section-out.cc: ...here.
12013 * lto-streamer-in.c: Moved to...
12014 * lto-streamer-in.cc: ...here.
12015 * lto-streamer-out.c: Moved to...
12016 * lto-streamer-out.cc: ...here.
12017 * lto-streamer.c: Moved to...
12018 * lto-streamer.cc: ...here.
12019 * lto-wrapper.c: Moved to...
12020 * lto-wrapper.cc: ...here.
12021 * main.c: Moved to...
12022 * main.cc: ...here.
12023 * mcf.c: Moved to...
12025 * mode-switching.c: Moved to...
12026 * mode-switching.cc: ...here.
12027 * modulo-sched.c: Moved to...
12028 * modulo-sched.cc: ...here.
12029 * multiple_target.c: Moved to...
12030 * multiple_target.cc: ...here.
12031 * omp-expand.c: Moved to...
12032 * omp-expand.cc: ...here.
12033 * omp-general.c: Moved to...
12034 * omp-general.cc: ...here.
12035 * omp-low.c: Moved to...
12036 * omp-low.cc: ...here.
12037 * omp-offload.c: Moved to...
12038 * omp-offload.cc: ...here.
12039 * omp-simd-clone.c: Moved to...
12040 * omp-simd-clone.cc: ...here.
12041 * opt-suggestions.c: Moved to...
12042 * opt-suggestions.cc: ...here.
12043 * optabs-libfuncs.c: Moved to...
12044 * optabs-libfuncs.cc: ...here.
12045 * optabs-query.c: Moved to...
12046 * optabs-query.cc: ...here.
12047 * optabs-tree.c: Moved to...
12048 * optabs-tree.cc: ...here.
12049 * optabs.c: Moved to...
12050 * optabs.cc: ...here.
12051 * opts-common.c: Moved to...
12052 * opts-common.cc: ...here.
12053 * opts-global.c: Moved to...
12054 * opts-global.cc: ...here.
12055 * opts.c: Moved to...
12056 * opts.cc: ...here.
12057 * passes.c: Moved to...
12058 * passes.cc: ...here.
12059 * plugin.c: Moved to...
12060 * plugin.cc: ...here.
12061 * postreload-gcse.c: Moved to...
12062 * postreload-gcse.cc: ...here.
12063 * postreload.c: Moved to...
12064 * postreload.cc: ...here.
12065 * predict.c: Moved to...
12066 * predict.cc: ...here.
12067 * prefix.c: Moved to...
12068 * prefix.cc: ...here.
12069 * pretty-print.c: Moved to...
12070 * pretty-print.cc: ...here.
12071 * print-rtl-function.c: Moved to...
12072 * print-rtl-function.cc: ...here.
12073 * print-rtl.c: Moved to...
12074 * print-rtl.cc: ...here.
12075 * print-tree.c: Moved to...
12076 * print-tree.cc: ...here.
12077 * profile-count.c: Moved to...
12078 * profile-count.cc: ...here.
12079 * profile.c: Moved to...
12080 * profile.cc: ...here.
12081 * read-md.c: Moved to...
12082 * read-md.cc: ...here.
12083 * read-rtl-function.c: Moved to...
12084 * read-rtl-function.cc: ...here.
12085 * read-rtl.c: Moved to...
12086 * read-rtl.cc: ...here.
12087 * real.c: Moved to...
12088 * real.cc: ...here.
12089 * realmpfr.c: Moved to...
12090 * realmpfr.cc: ...here.
12091 * recog.c: Moved to...
12092 * recog.cc: ...here.
12093 * ree.c: Moved to...
12095 * reg-stack.c: Moved to...
12096 * reg-stack.cc: ...here.
12097 * regcprop.c: Moved to...
12098 * regcprop.cc: ...here.
12099 * reginfo.c: Moved to...
12100 * reginfo.cc: ...here.
12101 * regrename.c: Moved to...
12102 * regrename.cc: ...here.
12103 * regstat.c: Moved to...
12104 * regstat.cc: ...here.
12105 * reload.c: Moved to...
12106 * reload.cc: ...here.
12107 * reload1.c: Moved to...
12108 * reload1.cc: ...here.
12109 * reorg.c: Moved to...
12110 * reorg.cc: ...here.
12111 * resource.c: Moved to...
12112 * resource.cc: ...here.
12113 * rtl-error.c: Moved to...
12114 * rtl-error.cc: ...here.
12115 * rtl-tests.c: Moved to...
12116 * rtl-tests.cc: ...here.
12117 * rtl.c: Moved to...
12119 * rtlanal.c: Moved to...
12120 * rtlanal.cc: ...here.
12121 * rtlhash.c: Moved to...
12122 * rtlhash.cc: ...here.
12123 * rtlhooks.c: Moved to...
12124 * rtlhooks.cc: ...here.
12125 * rtx-vector-builder.c: Moved to...
12126 * rtx-vector-builder.cc: ...here.
12127 * run-rtl-passes.c: Moved to...
12128 * run-rtl-passes.cc: ...here.
12129 * sancov.c: Moved to...
12130 * sancov.cc: ...here.
12131 * sanopt.c: Moved to...
12132 * sanopt.cc: ...here.
12133 * sbitmap.c: Moved to...
12134 * sbitmap.cc: ...here.
12135 * sched-deps.c: Moved to...
12136 * sched-deps.cc: ...here.
12137 * sched-ebb.c: Moved to...
12138 * sched-ebb.cc: ...here.
12139 * sched-rgn.c: Moved to...
12140 * sched-rgn.cc: ...here.
12141 * sel-sched-dump.c: Moved to...
12142 * sel-sched-dump.cc: ...here.
12143 * sel-sched-ir.c: Moved to...
12144 * sel-sched-ir.cc: ...here.
12145 * sel-sched.c: Moved to...
12146 * sel-sched.cc: ...here.
12147 * selftest-diagnostic.c: Moved to...
12148 * selftest-diagnostic.cc: ...here.
12149 * selftest-rtl.c: Moved to...
12150 * selftest-rtl.cc: ...here.
12151 * selftest-run-tests.c: Moved to...
12152 * selftest-run-tests.cc: ...here.
12153 * selftest.c: Moved to...
12154 * selftest.cc: ...here.
12155 * sese.c: Moved to...
12156 * sese.cc: ...here.
12157 * shrink-wrap.c: Moved to...
12158 * shrink-wrap.cc: ...here.
12159 * simplify-rtx.c: Moved to...
12160 * simplify-rtx.cc: ...here.
12161 * sparseset.c: Moved to...
12162 * sparseset.cc: ...here.
12163 * spellcheck-tree.c: Moved to...
12164 * spellcheck-tree.cc: ...here.
12165 * spellcheck.c: Moved to...
12166 * spellcheck.cc: ...here.
12167 * sreal.c: Moved to...
12168 * sreal.cc: ...here.
12169 * stack-ptr-mod.c: Moved to...
12170 * stack-ptr-mod.cc: ...here.
12171 * statistics.c: Moved to...
12172 * statistics.cc: ...here.
12173 * stmt.c: Moved to...
12174 * stmt.cc: ...here.
12175 * stor-layout.c: Moved to...
12176 * stor-layout.cc: ...here.
12177 * store-motion.c: Moved to...
12178 * store-motion.cc: ...here.
12179 * streamer-hooks.c: Moved to...
12180 * streamer-hooks.cc: ...here.
12181 * stringpool.c: Moved to...
12182 * stringpool.cc: ...here.
12183 * substring-locations.c: Moved to...
12184 * substring-locations.cc: ...here.
12185 * symtab.c: Moved to...
12186 * symtab.cc: ...here.
12187 * target-globals.c: Moved to...
12188 * target-globals.cc: ...here.
12189 * targhooks.c: Moved to...
12190 * targhooks.cc: ...here.
12191 * timevar.c: Moved to...
12192 * timevar.cc: ...here.
12193 * toplev.c: Moved to...
12194 * toplev.cc: ...here.
12195 * tracer.c: Moved to...
12196 * tracer.cc: ...here.
12197 * trans-mem.c: Moved to...
12198 * trans-mem.cc: ...here.
12199 * tree-affine.c: Moved to...
12200 * tree-affine.cc: ...here.
12201 * tree-call-cdce.c: Moved to...
12202 * tree-call-cdce.cc: ...here.
12203 * tree-cfg.c: Moved to...
12204 * tree-cfg.cc: ...here.
12205 * tree-cfgcleanup.c: Moved to...
12206 * tree-cfgcleanup.cc: ...here.
12207 * tree-chrec.c: Moved to...
12208 * tree-chrec.cc: ...here.
12209 * tree-complex.c: Moved to...
12210 * tree-complex.cc: ...here.
12211 * tree-data-ref.c: Moved to...
12212 * tree-data-ref.cc: ...here.
12213 * tree-dfa.c: Moved to...
12214 * tree-dfa.cc: ...here.
12215 * tree-diagnostic.c: Moved to...
12216 * tree-diagnostic.cc: ...here.
12217 * tree-dump.c: Moved to...
12218 * tree-dump.cc: ...here.
12219 * tree-eh.c: Moved to...
12220 * tree-eh.cc: ...here.
12221 * tree-emutls.c: Moved to...
12222 * tree-emutls.cc: ...here.
12223 * tree-if-conv.c: Moved to...
12224 * tree-if-conv.cc: ...here.
12225 * tree-inline.c: Moved to...
12226 * tree-inline.cc: ...here.
12227 * tree-into-ssa.c: Moved to...
12228 * tree-into-ssa.cc: ...here.
12229 * tree-iterator.c: Moved to...
12230 * tree-iterator.cc: ...here.
12231 * tree-loop-distribution.c: Moved to...
12232 * tree-loop-distribution.cc: ...here.
12233 * tree-nested.c: Moved to...
12234 * tree-nested.cc: ...here.
12235 * tree-nrv.c: Moved to...
12236 * tree-nrv.cc: ...here.
12237 * tree-object-size.c: Moved to...
12238 * tree-object-size.cc: ...here.
12239 * tree-outof-ssa.c: Moved to...
12240 * tree-outof-ssa.cc: ...here.
12241 * tree-parloops.c: Moved to...
12242 * tree-parloops.cc: ...here.
12243 * tree-phinodes.c: Moved to...
12244 * tree-phinodes.cc: ...here.
12245 * tree-predcom.c: Moved to...
12246 * tree-predcom.cc: ...here.
12247 * tree-pretty-print.c: Moved to...
12248 * tree-pretty-print.cc: ...here.
12249 * tree-profile.c: Moved to...
12250 * tree-profile.cc: ...here.
12251 * tree-scalar-evolution.c: Moved to...
12252 * tree-scalar-evolution.cc: ...here.
12253 * tree-sra.c: Moved to...
12254 * tree-sra.cc: ...here.
12255 * tree-ssa-address.c: Moved to...
12256 * tree-ssa-address.cc: ...here.
12257 * tree-ssa-alias.c: Moved to...
12258 * tree-ssa-alias.cc: ...here.
12259 * tree-ssa-ccp.c: Moved to...
12260 * tree-ssa-ccp.cc: ...here.
12261 * tree-ssa-coalesce.c: Moved to...
12262 * tree-ssa-coalesce.cc: ...here.
12263 * tree-ssa-copy.c: Moved to...
12264 * tree-ssa-copy.cc: ...here.
12265 * tree-ssa-dce.c: Moved to...
12266 * tree-ssa-dce.cc: ...here.
12267 * tree-ssa-dom.c: Moved to...
12268 * tree-ssa-dom.cc: ...here.
12269 * tree-ssa-dse.c: Moved to...
12270 * tree-ssa-dse.cc: ...here.
12271 * tree-ssa-forwprop.c: Moved to...
12272 * tree-ssa-forwprop.cc: ...here.
12273 * tree-ssa-ifcombine.c: Moved to...
12274 * tree-ssa-ifcombine.cc: ...here.
12275 * tree-ssa-live.c: Moved to...
12276 * tree-ssa-live.cc: ...here.
12277 * tree-ssa-loop-ch.c: Moved to...
12278 * tree-ssa-loop-ch.cc: ...here.
12279 * tree-ssa-loop-im.c: Moved to...
12280 * tree-ssa-loop-im.cc: ...here.
12281 * tree-ssa-loop-ivcanon.c: Moved to...
12282 * tree-ssa-loop-ivcanon.cc: ...here.
12283 * tree-ssa-loop-ivopts.c: Moved to...
12284 * tree-ssa-loop-ivopts.cc: ...here.
12285 * tree-ssa-loop-manip.c: Moved to...
12286 * tree-ssa-loop-manip.cc: ...here.
12287 * tree-ssa-loop-niter.c: Moved to...
12288 * tree-ssa-loop-niter.cc: ...here.
12289 * tree-ssa-loop-prefetch.c: Moved to...
12290 * tree-ssa-loop-prefetch.cc: ...here.
12291 * tree-ssa-loop-split.c: Moved to...
12292 * tree-ssa-loop-split.cc: ...here.
12293 * tree-ssa-loop-unswitch.c: Moved to...
12294 * tree-ssa-loop-unswitch.cc: ...here.
12295 * tree-ssa-loop.c: Moved to...
12296 * tree-ssa-loop.cc: ...here.
12297 * tree-ssa-math-opts.c: Moved to...
12298 * tree-ssa-math-opts.cc: ...here.
12299 * tree-ssa-operands.c: Moved to...
12300 * tree-ssa-operands.cc: ...here.
12301 * tree-ssa-phiopt.c: Moved to...
12302 * tree-ssa-phiopt.cc: ...here.
12303 * tree-ssa-phiprop.c: Moved to...
12304 * tree-ssa-phiprop.cc: ...here.
12305 * tree-ssa-pre.c: Moved to...
12306 * tree-ssa-pre.cc: ...here.
12307 * tree-ssa-propagate.c: Moved to...
12308 * tree-ssa-propagate.cc: ...here.
12309 * tree-ssa-reassoc.c: Moved to...
12310 * tree-ssa-reassoc.cc: ...here.
12311 * tree-ssa-sccvn.c: Moved to...
12312 * tree-ssa-sccvn.cc: ...here.
12313 * tree-ssa-scopedtables.c: Moved to...
12314 * tree-ssa-scopedtables.cc: ...here.
12315 * tree-ssa-sink.c: Moved to...
12316 * tree-ssa-sink.cc: ...here.
12317 * tree-ssa-strlen.c: Moved to...
12318 * tree-ssa-strlen.cc: ...here.
12319 * tree-ssa-structalias.c: Moved to...
12320 * tree-ssa-structalias.cc: ...here.
12321 * tree-ssa-tail-merge.c: Moved to...
12322 * tree-ssa-tail-merge.cc: ...here.
12323 * tree-ssa-ter.c: Moved to...
12324 * tree-ssa-ter.cc: ...here.
12325 * tree-ssa-threadbackward.c: Moved to...
12326 * tree-ssa-threadbackward.cc: ...here.
12327 * tree-ssa-threadedge.c: Moved to...
12328 * tree-ssa-threadedge.cc: ...here.
12329 * tree-ssa-threadupdate.c: Moved to...
12330 * tree-ssa-threadupdate.cc: ...here.
12331 * tree-ssa-uncprop.c: Moved to...
12332 * tree-ssa-uncprop.cc: ...here.
12333 * tree-ssa-uninit.c: Moved to...
12334 * tree-ssa-uninit.cc: ...here.
12335 * tree-ssa.c: Moved to...
12336 * tree-ssa.cc: ...here.
12337 * tree-ssanames.c: Moved to...
12338 * tree-ssanames.cc: ...here.
12339 * tree-stdarg.c: Moved to...
12340 * tree-stdarg.cc: ...here.
12341 * tree-streamer-in.c: Moved to...
12342 * tree-streamer-in.cc: ...here.
12343 * tree-streamer-out.c: Moved to...
12344 * tree-streamer-out.cc: ...here.
12345 * tree-streamer.c: Moved to...
12346 * tree-streamer.cc: ...here.
12347 * tree-switch-conversion.c: Moved to...
12348 * tree-switch-conversion.cc: ...here.
12349 * tree-tailcall.c: Moved to...
12350 * tree-tailcall.cc: ...here.
12351 * tree-vect-data-refs.c: Moved to...
12352 * tree-vect-data-refs.cc: ...here.
12353 * tree-vect-generic.c: Moved to...
12354 * tree-vect-generic.cc: ...here.
12355 * tree-vect-loop-manip.c: Moved to...
12356 * tree-vect-loop-manip.cc: ...here.
12357 * tree-vect-loop.c: Moved to...
12358 * tree-vect-loop.cc: ...here.
12359 * tree-vect-patterns.c: Moved to...
12360 * tree-vect-patterns.cc: ...here.
12361 * tree-vect-slp-patterns.c: Moved to...
12362 * tree-vect-slp-patterns.cc: ...here.
12363 * tree-vect-slp.c: Moved to...
12364 * tree-vect-slp.cc: ...here.
12365 * tree-vect-stmts.c: Moved to...
12366 * tree-vect-stmts.cc: ...here.
12367 * tree-vector-builder.c: Moved to...
12368 * tree-vector-builder.cc: ...here.
12369 * tree-vectorizer.c: Moved to...
12370 * tree-vectorizer.cc: ...here.
12371 * tree-vrp.c: Moved to...
12372 * tree-vrp.cc: ...here.
12373 * tree.c: Moved to...
12374 * tree.cc: ...here.
12375 * tsan.c: Moved to...
12376 * tsan.cc: ...here.
12377 * typed-splay-tree.c: Moved to...
12378 * typed-splay-tree.cc: ...here.
12379 * ubsan.c: Moved to...
12380 * ubsan.cc: ...here.
12381 * valtrack.c: Moved to...
12382 * valtrack.cc: ...here.
12383 * value-prof.c: Moved to...
12384 * value-prof.cc: ...here.
12385 * var-tracking.c: Moved to...
12386 * var-tracking.cc: ...here.
12387 * varasm.c: Moved to...
12388 * varasm.cc: ...here.
12389 * varpool.c: Moved to...
12390 * varpool.cc: ...here.
12391 * vec-perm-indices.c: Moved to...
12392 * vec-perm-indices.cc: ...here.
12393 * vec.c: Moved to...
12395 * vmsdbgout.c: Moved to...
12396 * vmsdbgout.cc: ...here.
12397 * vr-values.c: Moved to...
12398 * vr-values.cc: ...here.
12399 * vtable-verify.c: Moved to...
12400 * vtable-verify.cc: ...here.
12401 * web.c: Moved to...
12403 * xcoffout.c: Moved to...
12404 * xcoffout.cc: ...here.
12406 2022-01-17 qing zhao <qing.zhao@oracle.com>
12408 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
12409 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
12410 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
12412 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
12413 (warn_uninitialized_vars): Likewise.
12414 (warn_uninitialized_phi): Likewise.
12416 2022-01-17 Jason Merrill <jason@redhat.com>
12418 * diagnostic.h (struct diagnostic_context): Add includes_seen.
12419 * diagnostic.c (diagnostic_initialize): Initialize it.
12420 (diagnostic_finish): Clean it up.
12421 (includes_seen): New function.
12422 (diagnostic_report_current_module): Use it.
12424 2022-01-17 Richard Biener <rguenther@suse.de>
12426 PR middle-end/101292
12427 * diagnostic-spec.c (copy_warning): Make sure to not
12428 reference old hashtable content on possible resize.
12429 * warning-control.cc (copy_warning): Likewise.
12431 2022-01-17 Jakub Jelinek <jakub@redhat.com>
12434 * tree-cfg.h (cond_only_block_p): Declare.
12435 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
12436 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
12437 * optabs.def (spaceship_optab): New optab.
12438 * internal-fn.def (SPACESHIP): New internal function.
12439 * internal-fn.h (expand_SPACESHIP): Declare.
12440 * internal-fn.c (expand_PHI): Formatting fix.
12441 (expand_SPACESHIP): New function.
12442 * tree-ssa-math-opts.c (optimize_spaceship): New function.
12443 (math_opts_dom_walker::after_dom_children): Use it.
12444 * config/i386/i386.md (spaceship<mode>3): New define_expand.
12445 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
12446 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
12447 * doc/md.texi (spaceship@var{m}3): Document.
12449 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
12451 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
12452 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
12453 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
12454 known constant values to simplify code.
12456 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
12459 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
12461 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
12463 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
12464 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
12465 Insert zero-idiom in output template when attr enabled, set new attribute to
12466 true for non-mask/maskz insn.
12467 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
12469 (avx512dq_mul<mode>3<mask_name>): Likewise.
12470 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
12471 (avx2_perm<mode>_1<mask_name>): Likewise.
12472 (avx512f_perm<mode>_1<mask_name>): Likewise.
12473 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
12474 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
12476 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
12477 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
12479 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
12481 (mask4_dest_false_dep_for_glc_cond): Likewise.
12482 (mask6_dest_false_dep_for_glc_cond): Likewise.
12483 (mask10_dest_false_dep_for_glc_cond): Likewise.
12484 (maskc_dest_false_dep_for_glc_cond): Likewise.
12485 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
12486 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
12487 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
12488 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
12490 2022-01-15 Martin Sebor <msebor@redhat.com>
12493 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
12494 -Wdangling-pointer.
12495 * doc/invoke.texi (-Wdangling-pointer): Document new option.
12496 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
12497 (pass_waccess::check_pointer_uses): New function.
12498 (pass_waccess::gimple_call_return_arg): New function.
12499 (pass_waccess::gimple_call_return_arg_ref): New function.
12500 (pass_waccess::check_call_dangling): New function.
12501 (pass_waccess::check_dangling_uses): New function overloads.
12502 (pass_waccess::check_dangling_stores): New function.
12503 (pass_waccess::check_dangling_stores): New function.
12504 (pass_waccess::m_clobbers): New data member.
12505 (pass_waccess::m_func): New data member.
12506 (pass_waccess::m_run_number): New data member.
12507 (pass_waccess::m_check_dangling_p): New data member.
12508 (pass_waccess::check_alloca): Check m_early_checks_p.
12509 (pass_waccess::check_alloc_size_call): Same.
12510 (pass_waccess::check_strcat): Same.
12511 (pass_waccess::check_strncat): Same.
12512 (pass_waccess::check_stxcpy): Same.
12513 (pass_waccess::check_stxncpy): Same.
12514 (pass_waccess::check_strncmp): Same.
12515 (pass_waccess::check_memop_access): Same.
12516 (pass_waccess::check_read_access): Same.
12517 (pass_waccess::check_builtin): Call check_pointer_uses.
12518 (pass_waccess::warn_invalid_pointer): Add arguments.
12519 (is_auto_decl): New function.
12520 (pass_waccess::check_stmt): New function.
12521 (pass_waccess::check_block): Call check_stmt.
12522 (pass_waccess::execute): Call check_dangling_uses,
12523 check_dangling_stores. Empty m_clobbers.
12524 * passes.def (pass_warn_access): Invoke pass two more times.
12526 2022-01-15 Martin Sebor <msebor@redhat.com>
12528 PR tree-optimization/80532
12529 * common.opt (-Wuse-after-free): New options.
12530 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
12531 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
12532 * diagnostic-spec.h (NW_DANGLING): New enumerator.
12533 * doc/invoke.texi (-Wuse-after-free): Document new option.
12534 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
12535 (pass_waccess::check_call_access): ...to this.
12536 (pass_waccess::check): Rename...
12537 (pass_waccess::check_block): ...to this.
12538 (pass_waccess::check_pointer_uses): New function.
12539 (pass_waccess::gimple_call_return_arg): New function.
12540 (pass_waccess::warn_invalid_pointer): New function.
12541 (pass_waccess::check_builtin): Handle free and realloc.
12542 (gimple_use_after_inval_p): New function.
12543 (get_realloc_lhs): New function.
12544 (maybe_warn_mismatched_realloc): New function.
12545 (pointers_related_p): New function.
12546 (pass_waccess::check_call): Call check_pointer_uses.
12547 (pass_waccess::execute): Compute and free dominance info.
12549 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
12551 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
12552 expand_simple_unop and expand_simple_binop instead of manually
12553 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
12554 consistently. Eliminate common subexpressions and simplify code.
12555 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
12556 (<any_logic:code><MODEF:mode>3): Make public.
12558 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
12560 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
12561 reverse flag as "reverse" for the sake of consistency.
12562 * ipa-sra.c: Fix copyright year.
12563 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
12564 (dump_isra_access): Tweak dump line.
12565 (isra_write_node_summary): Write the reverse flag.
12566 (isra_read_node_info): Read it.
12567 (pull_accesses_from_callee): Test its consistency and copy it.
12569 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
12571 PR middle-end/104026
12572 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
12573 partial_load_store_bias.
12575 2022-01-14 Martin Sebor <msebor@redhat.com>
12577 PR middle-end/101475
12578 * pointer-query.cc (handle_component_ref): Use the size of
12579 the enclosing object if it's smaller than the member.
12581 2022-01-14 Martin Liska <mliska@suse.cz>
12583 * configure: Regenerate.
12585 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
12587 * config/i386/i386.md (*add<mode>_1_slp"):
12588 Mark alternative 1 output operand earlyclobbered.
12589 (*sub<mode>_1_slp): Ditto.
12590 (*and<mode>_1_slp): Ditto.
12591 (*<code><mode>_1_slp): Ditto.
12592 (*neg<mode>_1_slp): Ditto.
12593 (*one_cmpl<mode>_1_slp): Ditto.
12594 (*ashl<mode>3_1_slp): Ditto.
12595 (*<insn><mode>3_1_slp): Ditto.
12596 (*<insn><mode>3_1_slp): Ditto.
12598 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
12600 PR tree-optimization/104015
12601 * tree-vect-loop.c (vect_analyze_loop): Check
12602 param_vect_partial_vector_usage for supports_partial_vectors.
12604 2022-01-14 Jakub Jelinek <jakub@redhat.com>
12607 * fold-const.c (address_compare): Punt on comparison of address of
12608 one object with address of end of another object if
12609 folding_initializer.
12611 2022-01-14 Jakub Jelinek <jakub@redhat.com>
12614 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
12615 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
12616 and __atomic_op_fetch (p, x, y) iop x into
12617 __atomic_fetch_op (p, x, y).
12619 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
12621 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
12622 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
12623 (INCOMING_RETURN_ADDR_RTX): Likewise.
12624 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
12626 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
12628 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
12629 computin checking accumulator regs.
12630 (arc_expand_prologue): Update comments.
12631 (arc_expand_epilogue): Likewise.
12633 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
12634 Uroš Bizjak <ubizjak@gmail.com>
12636 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
12637 (ix86_expand_ti_to_v1ti): Use force_reg.
12638 (ix86_expand_v1ti_shift): Use force_reg.
12639 (ix86_expand_v1ti_rotate): Use force_reg.
12640 (ix86_expand_v1ti_ashiftrt): Provide new three operation
12641 implementations for shifts by 111..126 bits. Use force_reg.
12643 2022-01-14 Martin Liska <mliska@suse.cz>
12645 * common/config/arm/arm-common.c (arm_target_mode): Fix
12646 warning: unterminated quoting directive [-Wformat=].
12648 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
12650 PR tree-optimization/104009
12651 * tree-object-size.c (compute_builtin_object_size): Bail out on
12653 (plus_stmt_object_size): Return maximum of wholesize and minimum
12654 of 0 for negative offset.
12656 2022-01-14 liuhongt <hongtao.liu@intel.com>
12661 * config/i386/i386.md (*xor2andn): Refine predicate of
12662 operands[0] from nonimmediate_operand to
12663 register_operand, remove TARGET_AVX512BW from condition.
12665 2022-01-14 David Malcolm <dmalcolm@redhat.com>
12667 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
12668 be used on field decls.
12669 (Common Function Attributes): Add entry on "tainted_args" attribute.
12671 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
12672 Jason Merrill <jason@redhat.com>
12675 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
12677 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
12680 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
12681 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
12682 * config/i386/mmx.md (<any_shift:insn>v2qi):
12683 New insn_and_split pattern.
12685 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
12687 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
12688 (expand_partial_store_optab_fn): Likewise.
12689 (internal_len_load_store_bias): New function.
12690 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
12691 (internal_len_load_store_bias): New function.
12692 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
12693 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
12694 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
12695 (vect_estimate_min_profitable_iters): Account for bias.
12696 (vect_get_loop_len): Add bias-adjusted length.
12697 * tree-vect-stmts.c (vectorizable_store): Use.
12698 (vectorizable_load): Use.
12699 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
12700 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
12701 * config/rs6000/vsx.md: Use const0 bias predicate.
12702 * doc/md.texi: Document bias value.
12704 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
12706 PR tree-optimization/83072
12707 PR tree-optimization/83073
12708 PR tree-optimization/97909
12709 * fold-const.c (expr_not_equal_to): Use a multi-range class.
12711 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
12713 PR tree-optimization/96707
12714 * range-op.cc (operator_rshift::lhs_op1_relation): New.
12716 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
12718 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
12719 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
12720 (negv2qi splitters): Use lowpart_subreg instead of
12721 gen_lowpart to create subreg.
12722 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
12723 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
12724 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
12725 gen_lowpart to create subreg.
12726 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
12728 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
12731 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
12733 2022-01-13 Martin Liska <mliska@suse.cz>
12735 * common/config/arm/arm-common.c (arm_target_mode): Wrap
12736 keywords with %<, %> and remove trailing punctuation char.
12737 (arm_canon_arch_option_1): Likewise.
12738 (arm_asm_auto_mfpu): Likewise.
12739 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
12740 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
12741 (use_vfp_abi): Likewise.
12742 (aapcs_vfp_is_call_or_return_candidate): Likewise.
12743 (arm_handle_cmse_nonsecure_entry): Likewise.
12744 (arm_handle_cmse_nonsecure_call): Likewise.
12745 (thumb1_md_asm_adjust): Likewise.
12747 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
12749 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
12750 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
12751 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
12752 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
12753 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
12754 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
12755 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
12756 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
12759 2022-01-13 Jakub Jelinek <jakub@redhat.com>
12761 PR tree-optimization/103989
12762 * tree-inline.c (setup_one_parameter): Don't copy parms with
12765 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
12767 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
12768 'TYPE_ADDR_SPACE' for offloading.
12769 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
12770 'TYPE_ADDR_SPACE' for offloading.
12772 2022-01-13 Julian Brown <julian@codesourcery.com>
12773 Thomas Schwinge <thomas@codesourcery.com>
12775 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
12777 (add_async_clauses_and_wait): ...here. Call new outlined function.
12778 (decompose_kernels_region_body): Add wait at the end of
12779 explicitly-asynchronous kernels regions.
12781 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
12783 PR middle-end/100280
12784 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
12785 Mark variables used in synthesized data clauses as addressable.
12787 2022-01-13 Martin Liska <mliska@suse.cz>
12789 * config/epiphany/epiphany.c (epiphany_mode_priority):
12790 Use gcc_unreachable for not handled cases.
12792 2022-01-13 Martin Liska <mliska@suse.cz>
12794 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
12795 Use %qs format specifier.
12796 (epiphany_override_options): Wrap keyword in %<, %>.
12798 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
12801 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
12803 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
12805 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
12807 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
12811 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
12812 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
12813 when constructing vector logic RTXes.
12814 (expand_vec_perm_pshufb2): Ditto.
12815 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
12816 (<plusminus:insn>v2qi3): Ditto.
12817 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
12818 (vcondu<mode><mode>): Ditto.
12819 (vcond_mask_<mode><mode>): Ditto.
12820 (one_cmpl<VI_32:mode>2): Remove expander.
12821 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
12822 Use VI_16_32 mode iterator.
12823 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
12824 Use lowpart_subreg instead of gen_lowpart to create subreg.
12825 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
12826 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
12827 Disparage GPR alternative a bit. Add CC clobber.
12828 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
12829 Use lowpart_subreg instead of gen_lowpart to create subreg.
12830 (*<any_logic:code><VI_16_32:mode>3): Merge from
12831 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
12832 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
12834 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
12835 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
12837 2022-01-12 Clément Chigot <clement.chigot@atos.net>
12839 * configure.ac: Check sizeof ino_t and dev_t.
12840 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
12841 syscall being able to handle 64bit inodes.
12842 * config.in: Regenerate.
12843 * configure: Regenerate.
12844 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
12845 (remove_duplicates): Use it.
12847 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
12849 PR tree-optimization/103551
12850 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
12852 2022-01-12 Richard Biener <rguenther@suse.de>
12854 PR tree-optimization/103990
12855 * tree-pass.h (tail_merge_optimize): Drop unused argument.
12856 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
12857 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
12858 and adjust call to tail_merge_optimize.
12860 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
12862 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
12863 does not add autovectorize_vector_modes.
12865 2022-01-12 Martin Liska <mliska@suse.cz>
12867 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
12868 %qs where possible.
12869 (aarch64_parse_sve_width_string): Likewise.
12870 (aarch64_override_options_internal): Likewise.
12871 (aarch64_print_hint_for_extensions): Likewise.
12872 (aarch64_validate_sls_mitigation): Likewise.
12873 (aarch64_handle_attr_arch): Likewise.
12874 (aarch64_handle_attr_cpu): Likewise.
12875 (aarch64_handle_attr_tune): Likewise.
12876 (aarch64_handle_attr_isa_flags): Likewise.
12878 2022-01-12 Martin Liska <mliska@suse.cz>
12880 * config.gcc: Include elfos.h before ${tm_file}.
12882 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
12884 * config/cris/cris.c: Quote identifiers in parameters to error
12885 and internal_error, and remove extraneous spaces with punctuation.
12886 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
12887 expression to internal_error, pass it as a parameter instead of
12888 appending it to the format part.
12890 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
12892 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
12895 2022-01-11 qing zhao <qing.zhao@oracle.com>
12897 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
12898 Change the 3rd argument of function .DEFERRED_INIT to the name of the
12900 (gimplify_decl_expr): Delete the 3rd argument when call
12901 gimple_add_init_for_auto_var.
12902 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
12903 the 3rd argument change of function .DEFERRED_INIT.
12904 * tree-cfg.c (verify_gimple_call): Update comments and verification
12905 to reflect the 3rd argument change of function .DEFERRED_INIT.
12906 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
12907 (sra_modify_deferred_init): Change the 3rd argument of function
12908 .DEFERRED_INIT to the name of the decl.
12910 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
12912 * flag-types.h (enum gfc_convert): Add flags for
12915 2022-01-11 Michael Meissner <meissner@the-meissners.org>
12917 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
12918 checks for only C/C++ front ends before allowing the long double
12919 format to change without a warning.
12921 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
12923 PR rtl-optimization/103974
12924 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
12925 extra argument, default true, that says whether old-reload
12926 targets should be excluded.
12927 * ira-color.c (color_pass): Pass false.
12929 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
12932 * config/i386/mmx.md (vcond<mode><mode>):
12933 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
12934 (vcondu<mode><mode>): Ditto.
12935 (vcond_mask_<mode><mode>): Ditto.
12936 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
12937 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
12938 Use VI_16_32 mode iterator.
12939 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
12940 Update for rename. Handle V2QImode.
12941 (expand_vec_perm_blend): Update for rename.
12943 2022-01-11 Jakub Jelinek <jakub@redhat.com>
12946 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
12948 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
12950 PR middle-end/70090
12951 * tree-object-size.c (size_valid_p): New function.
12952 (size_for_offset): Remove OFFSET constness assertion.
12953 (addr_object_size): Build dynamic expressions for object
12954 sizes and use size_valid_p to decide if it is valid for the
12955 given OBJECT_SIZE_TYPE.
12956 (compute_builtin_object_size): Allow dynamic offsets when
12957 computing size at O0.
12958 (call_object_size): Call size_valid_p.
12959 (plus_stmt_object_size): Allow non-constant offset and use
12960 size_valid_p to decide if it is valid for the given
12963 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
12965 PR middle-end/70090
12966 * tree-object-size.c (alloc_object_size): Make and return
12967 non-constant size expression.
12968 (call_object_size): Return expression or unknown based on
12969 whether dynamic object size is requested.
12971 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
12973 PR middle-end/70090
12974 * tree-object-size.c: Include tree-dfa.h.
12975 (parm_object_size): New function.
12976 (collect_object_sizes_for): Call it.
12978 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
12980 PR middle-end/70090
12981 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
12983 * tree-object-size.c: Include gimplify-me.h.
12984 (struct object_size_info): New member UNKNOWNS.
12985 (size_initval_p, size_usable_p, object_sizes_get_raw): New
12987 (object_sizes_get): Return suitable gimple variable for
12989 (bundle_sizes): New function.
12990 (object_sizes_set): Use it and handle dynamic object size
12992 (object_sizes_set_temp): New function.
12993 (size_for_offset): Adjust for dynamic size expressions.
12994 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
12996 (compute_builtin_object_size): Call gimplify_size_expressions
12998 (dynamic_object_size): New function.
12999 (cond_expr_object_size): Use it.
13000 (phi_dynamic_object_size): New function.
13001 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
13002 accommodate dynamic object sizes.
13004 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
13005 Jakub Jelinek <jakub@redhat.com>
13007 PR tree-optimization/103961
13008 * tree-object-size.c (plus_stmt_object_size): Always avoid
13009 computing offset for -1 size.
13011 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
13013 PR tree-optimization/103821
13014 * range-op.cc (range_operator::fold_range): Only do precise ranges
13015 when there are not too many subranges.
13017 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
13019 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
13020 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
13022 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
13023 Richard Biener <rguenther@suse.de>
13025 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
13026 highpart_mults_inserted field.
13027 (convert_mult_to_highpart): New function to convert right shift
13028 of a widening multiply into a MULT_HIGHPART_EXPR.
13029 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
13030 Call new convert_mult_to_highpart function.
13031 (pass_optimize_widening_mul::execute): Add a statistics counter
13032 for tracking "highpart multiplications inserted" events.
13034 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
13037 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
13039 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
13041 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
13043 2022-01-11 Olivier Hainque <hainque@adacore.com>
13045 * gcc.c (driver_handle_option): State --sysroot as
13048 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
13050 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
13051 useless related to option -mno-power10.
13053 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
13056 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
13057 operands[1] from register_operand to vector_operand.
13059 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
13062 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
13064 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
13065 Use VI1_16_32 mode iterator.
13066 (*eq<mode>3): Ditto.
13067 (*gt<mode>3): Ditto.
13068 (*xop_maskcmp<mode>3): Ditto.
13069 (*xop_maskcmp_uns<mode>3): Ditto.
13070 (vec_cmp<mode><mode>): Ditto.
13071 (vec_cmpu<mode><mode>): Ditto.
13073 2022-01-10 Richard Biener <rguenther@suse.de>
13075 PR tree-optimization/103948
13076 * tree-vect-generic.c (expand_vector_condition): Return true if
13077 all ones vector is returned for true, all zeros vector for false
13078 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
13080 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
13082 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
13083 when _ARCH_PWR10. Use signed types.
13084 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
13085 (_mm_blendv_pd): Likewise.
13087 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
13089 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
13091 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
13092 epilogues, unless we are guaranteed that we can't have partial vectors.
13093 * genopinit.c: (partial_vectors_supported): Generate new function.
13095 2022-01-10 Jakub Jelinek <jakub@redhat.com>
13098 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
13099 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
13100 always ignore them, when seeing other zero sized bitfields, either
13101 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
13102 it. Pass it to recursive calls. Add wrapper
13103 with old arguments and diagnose ABI differences for C structures
13104 with zero width bitfields. Formatting fixes.
13106 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
13108 PR rtl-optimization/98782
13109 * ira-int.h (ira_soft_conflict): Declare.
13110 * ira-color.c (max_soft_conflict_loop_depth): New constant.
13111 (ira_soft_conflict): New function.
13112 (spill_soft_conflicts): Likewise.
13113 (assign_hard_reg): Use them to handle the case described by
13114 the comment above ira_soft_conflict.
13115 (improve_allocation): Likewise.
13116 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
13117 to share the same register.
13119 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
13121 PR rtl-optimization/98782
13122 * ira-int.h (ira_caller_save_cost): New function.
13123 (ira_caller_save_loop_spill_p): Likewise.
13124 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
13125 cheaper to spill a call-clobbered register throughout a loop rather
13126 than spill it around each individual call. If so, treat all
13127 call-clobbered registers as conflicts and...
13128 (propagate_allocno_info): ...do not propagate call information
13129 from the child to the parent.
13130 * ira-color.c (move_spill_restore): Update accordingly.
13131 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
13133 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
13135 PR rtl-optimization/98782
13136 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
13137 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
13138 (ira_single_region_allocno_p): New function.
13139 (ira_total_conflict_hard_regs): Likewise.
13140 * ira-build.c (ira_create_allocno): Initialize
13141 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
13142 (ira_propagate_hard_reg_costs): New function.
13143 (propagate_allocno_info): Use it. Try to avoid propagating
13144 hard register conflicts to parent allocnos if we can handle
13145 the conflicts by spilling instead. Limit the propagated
13146 register costs to the cost of spilling throughout the child loop.
13147 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
13148 test whether a child and parent allocno can share the same
13150 (move_spill_restore): Adjust for the new behavior of
13151 propagate_allocno_info.
13153 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
13155 PR rtl-optimization/98782
13156 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
13158 * ira-color.c (color_pass): ...here.
13160 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
13162 PR rtl-optimization/98782
13163 * ira-color.c (color_pass): Add comments to describe the spill costs.
13164 (move_spill_restore): Likewise. Fix reversed calculation.
13166 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
13168 PR rtl-optimization/98782
13169 * ira-int.h (ira_loop_border_costs): New class.
13170 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
13172 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
13173 (color_pass): Likewise.
13174 (move_spill_restore): Likewise.
13176 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
13179 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
13181 2022-01-10 Richard Biener <rguenther@suse.de>
13183 PR tree-optimization/100359
13184 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
13185 Allow non-growing peeling with !allow_peel and UL_ALL.
13187 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
13189 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
13190 special case for TImode to V1TImode moves, going via V2DImode.
13192 2022-01-08 Jakub Jelinek <jakub@redhat.com>
13195 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
13198 2022-01-08 David Malcolm <dmalcolm@redhat.com>
13200 * doc/analyzer.texi
13201 (Special Functions for Debugging the Analyzer): Document
13202 __analyzer_dump_escaped.
13204 2022-01-08 David Malcolm <dmalcolm@redhat.com>
13206 * doc/analyzer.texi (Other Debugging Techniques): Document
13207 region::is_named_decl_p.
13209 2022-01-07 Andrew Pinski <apinski@marvell.com>
13212 * config/arm/aarch-common.c (arm_md_asm_adjust):
13213 Use a temp if !REG_P.
13215 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
13217 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
13218 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
13220 2022-01-07 liuhongt <hongtao.liu@intel.com>
13222 PR rtl-optimization/103750
13223 * fwprop.c (forward_propagate_into): Allow propagations from
13224 inner loop to outer loop.
13226 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
13228 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
13230 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
13232 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
13233 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
13234 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
13236 2022-01-07 liuhongt <hongtao.liu@intel.com>
13238 * config/i386/sse.md
13239 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
13240 UNSPEC_PCMP_UNSIGNED.
13242 2022-01-07 liuhongt <hongtao.liu@intel.com>
13245 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
13246 gen_avx2_pblendph_1 when elt == 0.
13247 * config/i386/sse.md (avx2_pblendph): Rename to ..
13248 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
13249 (*avx2_pblendw): Rename to ..
13250 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
13251 (avx2_pblendw): Rename to ..
13252 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
13253 (blendsuf): Removed.
13254 (sse4_1_pblend<blendsuf>): Renamed to ..
13255 (sse4_1_pblend<ssemodesuffix>): .. this.
13257 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
13260 * config/i386/i386.c (ix86_output_indirect_function_return):
13261 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
13263 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
13266 * config/i386/i386-opts.h (harden_sls): Replace
13267 harden_sls_indirect_branch with harden_sls_indirect_jmp.
13268 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
13270 (ix86_output_indirect_jmp): Likewise.
13271 (ix86_output_call_insn): Likewise.
13272 * config/i386/i386.opt: Replace indirect-branch with
13273 indirect-jmp. Replace harden_sls_indirect_branch with
13274 harden_sls_indirect_jmp.
13275 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
13278 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
13280 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
13281 Add %q modifier for operands in general registers.
13282 <MODE_SI>: Add %q modifier for operands in general registers.
13283 * config/i386/i386.md (*movhi_internal): Change type attribute of
13284 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
13285 to SImode for non-avx512fp16 targets.
13286 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
13287 * config/i386/mmx.md (*movv2qi_internal):
13288 Ditto for xmm-gpr interunit alternatives 8,9.
13290 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
13292 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
13294 (riscv_ext_version_table): Add version info for vector extensions.
13295 (riscv_ext_flag_table): Add option mask for vector extensions.
13296 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
13297 (MASK_VECTOR_EEW_64): New.
13298 (MASK_VECTOR_EEW_FP_32): New.
13299 (MASK_VECTOR_EEW_FP_64): New.
13300 (MASK_ZVL32B): New.
13301 (MASK_ZVL64B): New.
13302 (MASK_ZVL128B): New.
13303 (MASK_ZVL256B): New.
13304 (MASK_ZVL512B): New.
13305 (MASK_ZVL1024B): New.
13306 (MASK_ZVL2048B): New.
13307 (MASK_ZVL4096B): New.
13308 (MASK_ZVL8192B): New.
13309 (MASK_ZVL16384B): New.
13310 (MASK_ZVL32768B): New.
13311 (MASK_ZVL65536B): New.
13312 (TARGET_ZVL32B): New.
13313 (TARGET_ZVL64B): New.
13314 (TARGET_ZVL128B): New.
13315 (TARGET_ZVL256B): New.
13316 (TARGET_ZVL512B): New.
13317 (TARGET_ZVL1024B): New.
13318 (TARGET_ZVL2048B): New.
13319 (TARGET_ZVL4096B): New.
13320 (TARGET_ZVL8192B): New.
13321 (TARGET_ZVL16384B): New.
13322 (TARGET_ZVL32768B): New.
13323 (TARGET_ZVL65536B): New.
13324 * config/riscv/riscv.opt (Mask(VECTOR)): New.
13325 (riscv_vector_eew_flags): New.
13326 (riscv_zvl_flags): New.
13328 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
13330 * common/config/riscv/riscv-common.c
13331 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
13334 2022-01-06 Jakub Jelinek <jakub@redhat.com>
13336 PR tree-optimization/103899
13337 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
13338 warning by moving context variable to the only spot where it is used
13339 and moving gcc_assert into if body.
13341 2022-01-06 Jakub Jelinek <jakub@redhat.com>
13343 PR rtl-optimization/103908
13344 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
13347 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
13350 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
13351 Skip over instances with undefined function types.
13353 2022-01-05 Andrew Pinski <apinski@marvell.com>
13356 * config/i386/i386.h (x86_mfence): Mark with GTY.
13358 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
13361 * config/i386/mmx.md (VI_16_32): New mode iterator.
13362 (VI1_16_32): Ditto.
13363 (mmxvecsize): Handle V2QI mode.
13364 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
13365 Use VI1_16_32 mode iterator.
13366 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
13367 Use VI1_16_32 mode iterator.
13368 (abs<mode>2): Use VI_16_32 mode iterator.
13369 (uavgv2qi3_ceil): New insn pattern.
13371 2022-01-05 Martin Sebor <msebor@redhat.com>
13373 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
13374 %qs to avoid -Wformat-diag.
13376 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
13379 * config/i386/mmx.md (one_cmplv2qi2): Change
13380 alternatives 1,2 type from sselog to sselog1.
13382 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
13385 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
13386 narrow mode remapped elements for !one_operand_p case.
13388 2022-01-05 Richard Biener <rguenther@suse.de>
13390 PR tree-optimization/103816
13391 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
13392 check DR_GROUP_GAP compute for overflow and representability.
13394 2022-01-05 Jakub Jelinek <jakub@redhat.com>
13397 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
13398 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
13399 it can do unwanted rhs folding like &a[0] into &2.0 etc.
13401 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
13404 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
13405 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
13406 (rs6000_need_ipa_fn_target_info): New function.
13407 (rs6000_update_ipa_fn_target_info): Likewise.
13408 (rs6000_can_inline_p): Adjust for ipa function summary target info.
13409 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
13410 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
13411 summary target info.
13412 (analyze_function_body): Adjust for ipa function summary target info
13413 and call hook rs6000_need_ipa_fn_target_info and
13414 rs6000_update_ipa_fn_target_info.
13415 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
13417 (inline_read_section): Likewise.
13418 (ipa_fn_summary_write): Likewise.
13419 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
13420 * doc/tm.texi: Regenerate.
13421 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
13422 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
13423 * target.def (update_ipa_fn_target_info): New hook.
13424 (need_ipa_fn_target_info): Likewise.
13425 * targhooks.c (default_need_ipa_fn_target_info): New function.
13426 (default_update_ipa_fn_target_info): Likewise.
13427 * targhooks.h (default_update_ipa_fn_target_info): New declare.
13428 (default_need_ipa_fn_target_info): Likewise.
13430 2022-01-04 Martin Sebor <msebor@redhat.com>
13432 PR middle-end/99612
13433 * builtins.c (get_memmodel): Move warning code to
13434 gimple-ssa-warn-access.cc.
13435 (expand_builtin_atomic_compare_exchange): Same.
13436 (expand_ifn_atomic_compare_exchange): Same.
13437 (expand_builtin_atomic_load): Same.
13438 (expand_builtin_atomic_store): Same.
13439 (expand_builtin_atomic_clear): Same.
13440 * doc/extend.texi (__atomic_exchange_n): Update valid memory
13442 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
13443 (struct memmodel_pair): New struct.
13444 (memmodel_name): New function.
13445 (pass_waccess::maybe_warn_memmodel): New function.
13446 (pass_waccess::check_atomic_memmodel): New function.
13447 (pass_waccess::check_atomic_builtin): Handle memory model.
13448 * input.c (expansion_point_location_if_in_system_header): Return
13449 original location if expansion location is in a system header.
13451 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
13454 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
13455 (one_cmplv2qi3 splitters): New post-reload splitters.
13456 (*andnotv2qi3): New insn pattern.
13457 (andnotv2qi3 splitters): New post-reload splitters.
13458 (<any_logic:code>v2qi3): New insn pattern.
13459 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
13461 2022-01-04 Richard Biener <rguenther@suse.de>
13463 PR tree-optimization/103800
13464 * tree-vect-loop.c (vectorizable_phi): Remove assert and
13467 2022-01-04 Richard Biener <rguenther@suse.de>
13469 PR tree-optimization/103690
13470 * tree-pass.h (tail_merge_optimize): Adjust.
13471 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
13472 to re-split critical edges, move CFG cleanup ...
13473 * tree-ssa-pre.c (pass_pre::execute): ... here, before
13474 simple_dce_from_worklist and delay freeing inserted_exprs from
13476 (fini_pre): .. here.
13478 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
13480 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
13481 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
13482 (setcc_from_bi): Remove SImode specific pattern.
13483 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
13484 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
13485 for sign- and zero-extending BImode predicates to integers.
13486 (setcc_int<mode>): Remove previous (-1-based) instructions.
13487 (cstorebi4): Remove BImode to SImode specific expander.
13488 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
13489 (cstore<mode>4): For both integer and floating point modes.
13491 2022-01-04 Olivier Hainque <hainque@adacore.com>
13493 * gcc.c (driver_handle_option): do_save --sysroot.
13495 2022-01-04 Richard Biener <rguenther@suse.de>
13497 PR tree-optimization/103864
13498 PR tree-optimization/103544
13499 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
13500 reductions wrapped in conversions from SLP handling.
13501 (vect_analyze_slp): Revert PR103544 change.
13503 2022-01-04 Jakub Jelinek <jakub@redhat.com>
13505 PR rtl-optimization/103860
13506 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
13507 uselessly for blocks for which it has been called already.
13509 2022-01-04 Cui,Lili <lili.cui@intel.com>
13511 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
13512 to Alderlake and Rocketlake.
13514 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
13516 PR middle-end/103643
13517 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
13518 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
13520 2022-01-04 liuhongt <hongtao.liu@intel.com>
13523 * config/i386/sse.md (*bit_and_float_vector_all_ones):
13524 Force_reg operand 1 to avoid ICE.
13526 2022-01-04 Jason Merrill <jason@redhat.com>
13528 * tree-pretty-print.c (do_niy): Add spc parameter.
13530 (print_call_name): Add spc local variable.
13532 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
13535 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
13536 (mov<V_32:mode>_internal): Ditto.
13537 (*push<V_32:mode>_rex64): Ditto.
13538 (movmisalign<V_32:mode>): Ditto.
13539 (*push<V_32:mode>_rex64 splitter): Enable for
13540 TARGET_64BIT && TARGET_SSE.
13541 (*push<V_32:mode>2): Remove insn pattern.
13543 2022-01-03 Andrew Pinski <apinski@marvell.com>
13546 * doc/extend.texi: Extend the documentation about Complex
13547 types for casting and also rewrite the __real__/__imag__
13548 expression portion to use tables.
13549 Move __builtin_complex to the Complex type section.
13551 2022-01-03 Jakub Jelinek <jakub@redhat.com>
13554 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
13555 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
13557 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
13558 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
13559 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
13560 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
13561 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
13562 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
13564 * optabs.def (atomic_add_fetch_cmp_0_optab,
13565 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
13566 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
13568 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
13569 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
13570 * tree-ssa-ccp.c: Include internal-fn.h.
13571 (optimize_atomic_bit_test_and): Add . before internal fn call
13572 in function comment. Change return type from void to bool and
13573 return true only if successfully replaced.
13574 (optimize_atomic_op_fetch_cmp_0): New function.
13575 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
13576 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
13577 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
13578 for *XOR* ones only if optimize_atomic_bit_test_and failed.
13579 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
13580 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
13581 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
13582 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
13583 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
13584 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
13585 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
13586 new named patterns.
13588 2022-01-03 Richard Biener <rguenther@suse.de>
13590 PR middle-end/103851
13591 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
13593 2022-01-03 Jakub Jelinek <jakub@redhat.com>
13596 * symtab.c: Include fold-const.h.
13597 (symtab_node::equal_address_to): If folding_initializer is true,
13598 handle it like memory_accessed. Simplify.
13600 2022-01-03 Martin Liska <mliska@suse.cz>
13602 * doc/extend.texi: Use ; for function declarations.
13604 2022-01-03 Jakub Jelinek <jakub@redhat.com>
13607 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
13608 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
13610 2022-01-03 Jakub Jelinek <jakub@redhat.com>
13612 * gcc.c (process_command): Update copyright notice dates.
13613 * gcov-dump.c (print_version): Ditto.
13614 * gcov.c (print_version): Ditto.
13615 * gcov-tool.c (print_version): Ditto.
13616 * gengtype.c (create_file): Ditto.
13617 * doc/cpp.texi: Bump @copying's copyright year.
13618 * doc/cppinternals.texi: Ditto.
13619 * doc/gcc.texi: Ditto.
13620 * doc/gccint.texi: Ditto.
13621 * doc/gcov.texi: Ditto.
13622 * doc/install.texi: Ditto.
13623 * doc/invoke.texi: Ditto.
13625 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
13628 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
13629 (VALID_INT_MODE_P): Ditto.
13630 * config/i386/i386.c (ix86_secondary_reload): Handle
13631 V2QImode reloads from SSE register to memory.
13632 (vector_mode_supported_p): Always return true for V2QImode.
13633 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
13634 (*negqi_ext<mode>_2): Ditto.
13635 * config/i386/mmx.md (movv2qi): New expander.
13636 (movmisalignv2qi): Ditto.
13637 (*movv2qi_internal): New insn pattern.
13638 (*pushv2qi2): Ditto.
13639 (negv2qi2 and splitters): Ditto.
13640 (<plusminus:insn>v2qi3 and splitters): Ditto.
13642 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
13644 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
13645 sync_lock_test_and_set libfunc. Call convert_memory_address to
13646 convert memory address to Pmode.
13647 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
13650 Copyright (C) 2022 Free Software Foundation, Inc.
13652 Copying and distribution of this file, with or without modification,
13653 are permitted in any medium without royalty provided the copyright
13654 notice and this notice are preserved.