1 2022-07-11 Andrew MacLeod <amacleod@redhat.com>
3 PR tree-optimization/106234
4 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
5 cache value before recursively resolving it.
7 2022-07-11 Roger Sayle <roger@nextmovesoftware.com>
9 * config/i386/i386-features.h (scalar_chain): Add fields
10 insns_conv, n_sse_to_integer and n_integer_to_sse to this
11 parent class, moved from general_scalar_chain.
12 (scalar_chain::convert_compare): Protected method moved
13 from general_scalar_chain.
14 (mark_dual_mode_def): Make protected, not private virtual.
15 (scalar_chain:convert_op): New private virtual method.
16 (general_scalar_chain::general_scalar_chain): Simplify constructor.
17 (general_scalar_chain::~general_scalar_chain): Delete destructor.
18 (general_scalar_chain): Move insns_conv, n_sse_to_integer and
19 n_integer_to_sse fields to parent class, scalar_chain.
20 (general_scalar_chain::mark_dual_mode_def): Delete prototype.
21 (general_scalar_chain::convert_compare): Delete prototype.
22 (timode_scalar_chain::compute_convert_gain): Remove simplistic
23 implementation, convert to a method prototype.
24 (timode_scalar_chain::mark_dual_mode_def): Delete prototype.
25 (timode_scalar_chain::convert_op): Prototype new virtual method.
26 * config/i386/i386-features.cc (scalar_chain::scalar_chain):
27 Allocate insns_conv and initialize n_sse_to_integer and
28 n_integer_to_sse fields in constructor.
29 (scalar_chain::scalar_chain): Free insns_conv in destructor.
30 (general_scalar_chain::general_scalar_chain): Delete
31 constructor, now defined in the class declaration.
32 (general_scalar_chain::~general_scalar_chain): Delete destructor.
33 (scalar_chain::mark_dual_mode_def): Renamed from
34 general_scalar_chain::mark_dual_mode_def.
35 (timode_scalar_chain::mark_dual_mode_def): Delete.
36 (scalar_chain::convert_compare): Renamed from
37 general_scalar_chain::convert_compare.
38 (timode_scalar_chain::compute_convert_gain): New method to
39 determine the gain from converting a TImode chain to V1TImode.
40 (timode_scalar_chain::convert_op): New method to convert an
41 operand from TImode to V1TImode.
42 (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
43 on REG_EQUAL notes that were originally TImode (not CONST_INT).
44 Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
45 (timode_mem_p): Helper predicate to check where operand is
46 memory reference with sufficient alignment for TImode STV.
47 (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
48 to check whether COMPARE is convertible. Handle SET_DESTs that
49 that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
50 CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
52 2022-07-11 Richard Sandiford <richard.sandiford@arm.com>
54 PR tree-optimization/106250
55 * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
56 argument to directly_supported_p.
58 2022-07-11 Richard Biener <rguenther@suse.de>
60 * tree-into-ssa.cc (update_ssa): Do not forcefully
61 re-compute dominance fast queries for TODO_update_ssa_no_phi.
63 2022-07-11 Richard Biener <rguenther@suse.de>
65 PR tree-optimization/106228
66 * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
67 VUSE compute for the non-loop case.
69 2022-07-11 Richard Biener <rguenther@suse.de>
71 * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
72 (rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
73 (rewrite_update_dom_walker::m_in_region_flag): New.
74 (rewrite_update_dom_walker::before_dom_children): If the region
75 to update is marked, STOP at exits.
76 (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
78 (dump_update_ssa): Use bitmap_empty_p.
79 (update_ssa): Likewise. Use REWRITE_UPDATE_REGION when
80 TODO_update_ssa_no_phi.
81 * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
82 pending update_ssa to the caller.
84 2022-07-11 Richard Biener <rguenthert@suse.de>
87 * config/i386/i386-options.cc (ix86_set_current_function):
88 Rebuild the target optimization node whenever necessary,
89 not only when the optimization node didn't change.
91 2022-07-11 Richard Biener <rguenther@suse.de>
93 PR tree-optimization/106228
94 * tree-vect-data-refs.cc (vect_setup_realignment): Properly
95 set a VUSE operand on the emitted load.
97 2022-07-11 Aldy Hernandez <aldyh@redhat.com>
99 * gimple-range.cc (gimple_ranger::export_global_ranges): Remove
100 verification against legacy value_range.
101 (gimple_ranger::register_inferred_ranges): Same.
102 (gimple_ranger::export_global_ranges): Rename update_global_range
104 * tree-core.h (struct range_info_def): Remove.
105 (struct irange_storage_slot): New.
106 (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
107 (struct tree_ssa_name): Add vrange_storage support.
108 * tree-ssanames.cc (range_info_p): New.
109 (range_info_fits_p): New.
110 (range_info_alloc): New.
111 (range_info_free): New.
112 (range_info_get_range): New.
113 (range_info_set_range): New.
114 (set_range_info_raw): Remove.
115 (set_range_info): Adjust to use vrange_storage.
116 (set_nonzero_bits): Same.
117 (get_nonzero_bits): Same.
118 (duplicate_ssa_name_range_info): Remove overload taking
120 Rewrite tree overload to use vrange_storage.
121 (duplicate_ssa_name_fn): Adjust to use vrange_storage.
122 * tree-ssanames.h (struct range_info_def): Remove.
123 (set_range_info): Adjust prototype to take vrange.
124 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
125 duplicate_ssa_name_range_info.
126 * tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
127 (SSA_NAME_RANGE_TYPE): Remove.
128 * value-query.cc (get_ssa_name_range_info): Adjust to use
130 (update_global_range): Remove.
131 (get_range_global): Remove as_a<irange>.
132 * value-query.h (update_global_range): Remove.
133 * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
134 Rename update_global_range to set_range_info.
135 * value-range-storage.cc (vrange_storage::alloc_slot): Remove
138 2022-07-10 Aldy Hernandez <aldyh@redhat.com>
140 * value-range.cc (irange::operator=): Call verify_range.
141 (irange::irange_set): Normalize kind after everything else has
143 (irange::irange_set_anti_range): Same.
145 (irange::verify_range): Disallow nonzero masks for VARYING.
146 (irange::irange_union): Call verify_range.
147 Handle nonzero masks better.
148 (irange::irange_intersect): Same.
149 (irange::set_nonzero_bits): Calculate mask if either range has an
151 (irange::intersect_nonzero_bits): Same.
152 (irange::union_nonzero_bits): Same.
153 (range_tests_nonzero_bits): New.
154 (range_tests): Call range_tests_nonzero_bits.
155 * value-range.h (class irange): Remove set_nonzero_bits method
157 (irange::varying_compatible_p): Set nonzero mask.
159 2022-07-10 Xi Ruoyao <xry111@xry111.site>
161 * config/loongarch/loongarch.md (<any_div>di3_fake): Describe
162 the sign-extend of result in the RTL template.
163 (<any_div><mode>3): Adjust for <any_div>di3_fake change.
165 2022-07-10 Xi Ruoyao <xry111@xry111.site>
167 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
168 Remove static, for use in the machine description file.
169 * config/loongarch/loongarch-protos.h:
170 (loongarch_check_zero_div_p): Add prototype.
171 * config/loongarch/loongarch.md (enabled): New attr.
172 (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
173 idiv. Conditionally enable the alternatives using
174 loongarch_check_zero_div_p.
175 (<optab>di3_fake): Likewise.
177 2022-07-10 Xi Ruoyao <xry111@xry111.site>
179 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
182 2022-07-09 Aldy Hernandez <aldyh@redhat.com>
184 * value-range.cc (irange::irange_single_pair_union): Set
185 VR_VARYING when appropriate.
187 2022-07-09 Vit Kabele <vit.kabele@sysgo.com>
189 * stor-layout.cc (finalize_record_size): Extend warning message.
191 2022-07-09 Sam Feifer <sfeifer@redhat.com>
193 PR tree-optimization/98304
194 * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
196 2022-07-09 Jeff Law <jeffreyalaw@gmail.com>
198 * expr.cc (store_expr): Identify trailing NULs in a STRING_CST
199 initializer and use clear_storage rather than copying the
200 NULs to the destination array.
202 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
204 * config/i386/i386.md (define_peephole2): Use match_operand of
205 flags_reg_operand to capture and preserve the mode of FLAGS_REG.
206 (define_peephole2): Likewise.
207 (define_peephole2): Likewise...
209 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
211 * config/i386/i386-features.cc (convert_compare): Add support
212 for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
213 by generating a pandn followed by ptest.
214 (convertible_comparison_p): Recognize both *cmpdi_doubleword and
215 recent *testdi_not_doubleword comparison patterns.
217 2022-07-09 Tamar Christina <tamar.christina@arm.com>
219 * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
220 indicate that the value is not undefined.
222 2022-07-09 Andrew Pinski <apinski@marvell.com>
224 PR tree-optimization/106087
225 * tree-ssa-dce.cc (simple_dce_from_worklist): Check
226 to make sure the statement is only defining one operand.
228 2022-07-08 Lewis Hyatt <lhyatt@gmail.com>
230 PR preprocessor/91733
231 * input.cc (find_end_of_line): New helper function.
232 (file_cache_slot::get_next_line): Recognize \r as a line ending.
233 * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
234 since \r will now be interpreted as a line-ending.
236 2022-07-08 Martin Liska <mliska@suse.cz>
239 * opts.cc (finish_options): Use 2 calls to
240 report_conflicting_sanitizer_options.
242 2022-07-08 Richard Biener <rguenther@suse.de>
244 PR tree-optimization/106226
245 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
246 no SSA update is needed. Move virtual SSA update ...
247 * tree-vectorizer.cc (pass_vectorize::execute): ... here,
248 via forced virtual renaming when TODO_update_ssa_only_virtuals
250 (vect_transform_loops): Return TODO_update_ssa_only_virtuals
251 when virtual SSA update is required.
252 (try_vectorize_loop_1): Adjust.
253 * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
254 virtual renaming if the ABI forces an aggregate return
255 but the original call did not have a virtual definition.
257 2022-07-08 Martin Liska <mliska@suse.cz>
259 * toplev.cc (init_asm_output): Do not init asm_out_file.
261 2022-07-08 Tamar Christina <tamar.christina@arm.com>
263 PR tree-optimization/106063
264 * match.pd: Do not apply pattern after veclower is not supported.
266 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
268 * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
271 2022-07-08 Tamar Christina <tamar.christina@arm.com>
273 * expmed.cc (store_bit_field_1): Add parameter that indicates if value is
274 still undefined and if so emit a subreg move instead.
275 (store_integral_bit_field): Likewise.
276 (store_bit_field): Likewise.
277 * expr.h (write_complex_part): Likewise.
278 * expmed.h (store_bit_field): Add new parameter.
279 * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
281 (expand_ifn_atomic_compare_exchange): Likewise.
282 * calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
283 * emit-rtl.cc (validate_subreg): Likewise.
284 * expr.cc (emit_group_store): Likewise.
285 (copy_blkmode_from_reg): Likewise.
286 (copy_blkmode_to_reg): Likewise.
287 (clear_storage_hints): Likewise.
288 (write_complex_part): Likewise.
289 (emit_move_complex_parts): Likewise.
290 (expand_assignment): Likewise.
291 (store_expr): Likewise.
292 (store_field): Likewise.
293 (expand_expr_real_2): Likewise.
294 * ifcvt.cc (noce_emit_move_insn): Likewise.
295 * internal-fn.cc (expand_arith_set_overflow): Likewise.
296 (expand_arith_overflow_result_store): Likewise.
297 (expand_addsub_overflow): Likewise.
298 (expand_neg_overflow): Likewise.
299 (expand_mul_overflow): Likewise.
300 (expand_arith_overflow): Likewise.
302 2022-07-08 Haochen Jiang <haochen.jiang@intel.com>
305 * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
306 Rename from *sse2_cvtps2pd<mask_name>_1.
307 (vec_unpacks_lo_v4sf): Add handler for memory operand.
309 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
311 * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
312 Modify fp_sp_offset and gp_sp_offset's calculation method,
313 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
316 2022-07-07 David Malcolm <dmalcolm@redhat.com>
318 * diagnostic-format-json.cc (json_from_location_range): Update for
319 removal of label_text::maybe_free in favor of automatic memory
321 * diagnostic-format-sarif.cc
322 (sarif_builder::make_location_object): Likewise.
323 * diagnostic-show-locus.cc (struct pod_label_text): New.
324 (class line_label): Convert m_text from label_text to pod_label_text.
325 (layout::print_any_labels): Move "text" to the line_label.
326 * tree-diagnostic-path.cc (path_label::get_text): Update for
327 removal of label_text::maybe_free in favor of automatic memory
329 (event_range::print): Likewise.
330 (default_tree_diagnostic_path_printer): Likewise.
331 (default_tree_make_json_for_path): Likewise.
333 2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
335 * statistics.cc (get_function_name): Add check to see if fn is not NULL.
337 2022-07-07 Richard Biener <rguenther@suse.de>
339 * tree-into-ssa.cc (iterating_old_ssa_names): New.
340 (add_new_name_mapping): Grow {new,old}_ssa_names separately
341 and only when actually needed. Assert we are not growing
342 the old_ssa_names set when iterating over it.
343 (update_ssa): Remove old_ssa_names copying and empty_p
344 query, note we are iterating over it and expect no set changes.
346 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
348 * config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
349 (prepare_target_image, main): Handle OpenMP 'requires'.
350 (generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
351 'GOMP_offload_unregister_ver'.
353 2022-07-07 Richard Biener <rguenther@suse.de>
356 * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
359 2022-07-07 Richard Biener <rguenther@suse.de>
361 * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
362 number of LC PHIs inserted.
363 (add_exit_phis): Return whether any variable required
364 multiple LC PHI nodes.
365 (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
368 2022-07-07 Richard Biener <rguenther@suse.de>
370 * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
371 the def loop exit block bitmap as argument instead of
372 re-computing it here.
373 (add_exit_phis_var): Adjust.
374 (loop_name_cmp): New function.
375 (add_exit_phis): Sort variables to insert LC PHI nodes
376 after definition loop, for each definition loop compute
377 the exit block bitmap once.
378 (get_loops_exit): Remove.
379 (rewrite_into_loop_closed_ssa_1): Do not pre-record
380 all loop exit blocks into bitmaps. Record loop exits
383 2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com>
385 * config/mips/mips.cc (mips_asan_shadow_offset): Reformat
386 to handle the N32 ABI.
387 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
388 the macro, as it is not needed anymore.
390 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
392 * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
394 * config/nvptx/mkoffload.cc (process): Likewise.
396 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
398 * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
400 2022-07-05 Andrew MacLeod <amacleod@redhat.com>
402 * value-relation.cc (relation_to_code): New vector.
403 (relation_oracle::validate_relation): New.
404 (set_relation): Allow ssa1 == ssa2 to be registered.
405 * value-relation.h (validate_relation): New prototype.
406 (query_relation): Make internal variant protected.
408 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
410 * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
411 for double word comparisons and tests (comparisons against zero).
412 * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
413 and;cmp into andn;cmp $0 as a pre-reload splitter.
414 (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
415 (*<any_or><dwi>3_doubleword): Likewise.
417 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
418 Hongtao Liu <hongtao.liu@intel.com>
420 * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
421 CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
422 * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
423 and gen_ssse3_palignv1ti instead of TImode.
424 * config/i386/sse.md (SSESCALARMODE): Delete.
425 (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
426 (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
427 iterator instead of SSESCALARMODE.
428 (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
429 using a single move instruction (if required).
431 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
432 Uroš Bizjak <ubizjak@gmail.com>
434 PR rtl-optimization/96692
435 * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
436 as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
438 2022-07-05 Richard Biener <rguenther@suse.de>
440 PR tree-optimization/106198
441 * tree-cfgcleanup.cc (repair_loop_structures): Always do a
442 full LC SSA rewrite but only if any blocks changed loop
445 2022-07-05 Richard Biener <rguenther@suse.de>
447 * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
448 (find_uses_to_rename_in_loop): Likewise.
449 (rewrite_into_loop_closed_ssa_1): Remove loop parameter and
451 (rewrite_into_loop_closed_ssa): Adjust.
453 2022-07-05 Richard Biener <rguenther@suse.de>
455 PR tree-optimization/106186
456 * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
457 Properly handle virtual PHI nodes.
459 2022-07-05 Richard Biener <rguenther@suse.de>
461 PR tree-optimization/106196
462 * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
463 handle aggregate returns of calls for VDEF updates.
465 2022-07-05 Richard Biener <rguenther@suse.de>
467 * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
470 2022-07-05 Richard Sandiford <richard.sandiford@arm.com>
472 * tree-vect-patterns.cc (vect_convert_input): Expect the input
473 type to be signed for optab_vector_mixed_sign. Update the vectype
474 at the same time as type.
475 (vect_recog_dot_prod_pattern): Update accordingly. If usdot isn't
476 available, try sdot instead.
477 * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
478 (vect_model_reduction_cost): Model the cost of implementing usdot
480 (vectorizable_reduction): Likewise. Skip target support test
482 (vect_emulate_mixed_dot_prod): New function.
483 (vect_transform_reduction): Use it to emulate usdot via sdot.
485 2022-07-05 Richard Biener <rguenther@suse.de>
487 PR tree-optimization/106182
488 * loop-init.cc (fix_loop_structure): Return the number
489 of newly discovered plus the number of deleted loops.
490 * tree-cfgcleanup.cc (repair_loop_structures): Adjust
493 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
495 * gimple-range-fold.cc
496 (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
497 call to SCEV for irange supported types.
498 (fold_using_range::range_of_builtin_int_call): Convert to vrange.
499 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
500 * tree-ssa-dom.cc (cprop_operand): Same.
502 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
505 * calls.cc (precompute_register_parameters): Allow promotion
506 of floating point values to be passed in wider integer modes
507 by calling new convert_float_to_wider_int.
508 (expand_call): Allow floating point results to be returned in
509 wider integer modes by calling new convert wider_int_to_float.
510 * cfgexpand.cc (expand_value_return): Allow backends to promote
511 a scalar floating point return value to a wider integer mode
512 by calling new convert_float_to_wider_int.
513 * expr.cc (convert_float_to_wider_int): New function.
514 (convert_wider_int_to_float): Likewise.
515 (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
516 scalar FP PARM_DECLs to wider integer modes, by calling new
517 convert_wider_int_to_float.
518 * expr.h (convert_modes): Name arguments for improved documentation.
519 (convert_float_to_wider_int): Prototype new function here.
520 (convert_wider_int_to_float): Likewise.
521 * function.cc (assign_parm_setup_stack): Allow floating point
522 values to be passed on the stack as wider integer modes by
523 calling new convert_wider_int_to_float.
525 2022-07-04 Martin Jambor <mjambor@suse.cz>
527 PR tree-optimization/105860
528 * tree-sra.cc (build_reconstructed_reference): Start expr
529 traversal only just below the outermost union.
531 2022-07-04 Richard Biener <rguenther@suse.de>
533 * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
534 and update virtual SSA form again. Assert we do so for
535 a known set of transforms only.
536 * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
537 * tree-vect-stmts.cc (vectorizable_load): When vectorizing
538 using load-lanes allow virtual SSA update.
540 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
541 Chung-Lin Tang <cltang@codesourcery.com>
542 Thomas Schwinge <thomas@codesourcery.com>
544 * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
545 (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
546 (main): Ask lto1 to obtain omp_requires_mask and pass it on.
547 * config/nvptx/mkoffload.cc (process, main): Likewise.
548 * lto-cgraph.cc (omp_requires_to_name): New.
549 (input_offload_tables): Save omp_requires_mask.
550 (output_offload_tables): Read it, check for consistency,
551 save value for mkoffload.
552 * omp-low.cc (lower_omp_target): Force output_offloadtables
553 call for OMP_REQUIRES_TARGET_USED.
555 2022-07-04 Richard Biener <rguenther@suse.de>
557 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
558 no SSA update is needed instead of updating virtual SSA
560 * tree-vect-stmts.cc (vectorizable_load): For hoisted
561 invariant load use the loop entry virtual use.
562 For emulated gather loads use the virtual use of the
563 original stmt like vect_finish_stmt_generation would do.
565 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
567 * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
568 for direct circularity.
570 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
572 * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
573 the language for vector types.
575 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
577 * value-range-storage.cc (irange_storage_slot::set_irange): Set
578 nonzero bits in irange.
579 (irange_storage_slot::get_irange): Get nonzero bits from irange.
580 * value-range.cc (irange::operator=): Set nonzero bits.
581 (irange::irange_set): Same.
582 (irange::irange_set_anti_range): Same.
584 (irange::verify_range): Same.
585 (irange::legacy_equal_p): Check nonzero bits.
586 (irange::equal_p): Same.
587 (irange::contains_p): Handle nonzero bits.
588 (irange::irange_union): Same.
589 (irange::irange_intersect): Same.
590 (irange::dump): Same.
591 (irange::set_nonzero_bits): New.
592 (irange::get_nonzero_bits): New.
593 (irange::intersect_nonzero_bits): New.
594 (irange::union_nonzero_bits): New.
595 (irange::dump_bitmasks): New.
596 * value-range.h (class irange): Add m_nonzero_mask.
597 (gt_ggc_mx): Handle nonzero bits.
599 (irange::set_undefined): Set nonzero bits.
600 (irange::set_varying): Same.
601 (irange::normalize_kind): Call set_undefined.
603 2022-07-04 Richard Biener <rguenther@suse.de>
605 * tree-ssa-loop-manip.h
606 (rewrite_virtuals_into_loop_closed_ssa): Remove.
607 (rewrite_into_loop_closed_ssa_1): Likewise.
608 * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
610 (rewrite_into_loop_closed_ssa): Remove loop overload,
611 always rewrite virtuals into LC SSA.
612 (check_loop_closed_ssa_bb): Also check virtuals.
613 * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
614 LC PHIs when in LC SSA.
615 * gimple-loop-jam.cc (fuse_loops): Do not rewrite into
616 loop-closed SSA here, but ...
617 (tree_loop_unroll_and_jam): ... here once.
618 * tree-if-conv.cc (version_loop_for_if_conversion): Use
619 the cheaper TODO_update_ssa_no_phi.
620 * tree-loop-distribution.cc (version_loop_by_alias_check):
622 * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
624 * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
625 (tree_unswitch_outer_loop): Do not rewrite virtuals into
627 * tree-parloops.cc (transform_to_exit_first_loop_alt):
629 (pass_parallelize_loops::execute): After finishing rewrite
630 into LC SSA again because we do not maintain it properly.
632 2022-07-04 Richard Biener <rguenther@suse.de>
634 PR tree-optimization/106055
635 * graphite.cc (canonicalize_loop_closed_ssa): Check whether
638 2022-07-04 Haochen Jiang <haochen.jiang@intel.com>
641 * config/i386/sse.md (extendv2sfv2df2): New define_expand.
642 (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
643 (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
645 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
647 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
648 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
649 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
651 (find_unswitching_predicates_for_bb): Same.
652 * tree-vrp.cc (range_fold_unary_symbolics_p): Same.
653 * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
654 * value-range.cc (irange::equal_p): Rename to...
655 (irange::operator==): ...this.
656 * value-range.h (irange::set): Remove.
657 (irange::operator==): Remove.
658 (irange::set_zero): Use set with two arguments.
659 * vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
660 (vr_values::extract_range_from_unary_expr): Same.
661 (check_for_binary_op_overflow): Same.
662 (bounds_of_var_in_loop): Same.
664 2022-07-03 H.J. Lu <hjl.tools@gmail.com>
667 * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
669 * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
671 * config/i386/mmx.md (V_16_32_64): New.
672 (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
673 and 64-bit constant vector.
674 * config/i386/predicates.md (x86_64_const_vector_operand): New.
676 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
678 * gimple-range-cache.cc: Include value-range-storage.h.
679 * gimple-range-cache.h (class block_range_cache): Add "class" to
681 * gimple-range-edge.cc
682 (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
683 (gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
684 (gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
685 * gimple-range-edge.h: Add "class" to m_range_allocator.
686 * gimple-range-infer.cc
687 (infer_range_manager::infer_range_manager): Allocate allocator.
688 (infer_range_manager::~infer_range_manager): Free allocator.
689 (infer_range_manager::get_nonzero): Dereference allocator.
690 (infer_range_manager::add_range): Same.
691 * gimple-range-infer.h (class vrange_allocator): Add "class" to
693 * value-range-storage.h (class vrange_allocator): Move from
695 (class obstack_vrange_allocator): Same.
696 (class ggc_vrange_allocator): Same.
697 (vrange_allocator::alloc_vrange): Same.
698 (vrange_allocator::alloc_irange): Same.
699 * value-range.h (class vrange_allocator): Move to value-range-storage.h.
700 (class obstack_vrange_allocator): Same.
701 (class ggc_vrange_allocator): Same.
703 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
705 * Makefile.in (OBJS): Add value-range-storage.o.
706 (GTFILES): Add value-range-storage.h.
707 * gengtype.cc (open_base_files): Add value-range-storage.h.
708 * value-range-storage.cc: New file.
709 * value-range-storage.h: New file.
711 2022-07-03 Xi Ruoyao <xry111@xry111.site>
712 Lulu Cheng <chenglulu@loongson.cn>
714 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
716 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
717 of TARGET_CHECK_ZERO_DIV.
718 (loongarch_output_division): Likewise.
719 * common/config/loongarch/loongarch-common.cc
720 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
721 * doc/invoke.texi: Update to match the new behavior.
723 2022-07-03 Ian Lance Taylor <iant@golang.org>
725 * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
726 statement if -fdelete-dead-exceptions.
728 2022-07-02 Tim Lange <mail@tim-lange.me>
731 * doc/invoke.texi: Added Wanalyzer-allocation-size.
733 2022-07-02 Immad Mir <mirimmad17@gmail.com>
736 * Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
737 * doc/invoke.texi: Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
738 -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
739 -Wanalyzer-fd-use-after-close.
741 2022-07-01 Aldy Hernandez <aldyh@redhat.com>
743 * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
744 (trailing_wide_ints::set_precision): Add num_elements argument.
745 (trailing_wide_ints::extra_size): Same.
747 2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
749 * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
750 Use "r" constraint for operand 1.
752 2022-07-01 Richard Biener <rguenther@suse.de>
754 * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
755 Do not look at interesting_blocks which is a copy of
757 (update_ssa): Do not initialize it.
758 (pass_build_ssa::execute): Set interesting_blocks to NULL
761 2022-07-01 Richard Biener <rguenther@suse.de>
763 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
764 back to using maybe_ne (off, -1).
766 2022-07-01 Richard Biener <rguenther@suse.de>
768 * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
769 checking dominance check conditional on flag_checking.
771 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
773 * config/gcn/gcn-protos.h (print_operand_address): Remove register
774 keyword on 'rtx addr' argument.
776 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
777 Uroš Bizjak <ubizjak@gmail.com>
779 * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
780 to post-reload define_insn_and_split.
782 2022-07-01 Jakub Jelinek <jakub@redhat.com>
785 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
786 emitting element for shift or if shift is 0 first element after start.
787 (wide_int_cc_tests): Add tests for equivalency of wi::mask and
788 wi::shifted_mask with 0 start.
790 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
793 * config/i386/i386.md (peephole2): Avoid generating pop %esp
794 when optimizing for size.
796 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
797 Uroš Bizjak <ubizjak@gmail.com>
799 * config/i386/i386.md (general_szext_operand): Add TImode
800 support using x86_64_hilo_general_operand predicate.
801 (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
802 (*add<dwi>3_doubleword): Improved optimization of zero addition.
803 (and<mode>3): Use SDWIM mode iterator to add support for double
804 word bit-wise AND in TImode. Use force_reg when double word
805 immediate operand isn't x86_64_hilo_general_operand.
806 (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
807 converted into a post-reload splitter.
808 (*andndi3_doubleword): Previous define_insn deleted.
809 (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
810 TARGET_BMI that splits post-reload.
811 (*andn<mode>3_doubleword): New define_insn_and_split for
812 !TARGET_BMI, that lowers/splits before reload.
813 (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
814 double word bit-wise XOR and bit-wise IOR in TImode. Use
815 force_reg when double word immediate operand isn't
816 x86_64_hilo_general_operand.
817 (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
818 (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
819 double word bit-wise NOT in TImode.
820 (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
821 and converted into a post-reload splitter.
823 2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
826 * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
827 EXPAND_MEMORY for the expansion of the inner reference only
828 in the usual cases where a memory reference is required.
830 2022-07-01 Richard Biener <rguenther@suse.de>
832 PR tree-optimization/106131
833 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
834 zero when offsetting the read looking through an aggregate
837 2022-07-01 Martin Liska <mliska@suse.cz>
839 PR tree-optimization/106126
840 * gimple-if-to-switch.cc (struct condition_info): Save
842 (find_conditions): Parse all BBs.
843 (pass_if_to_switch::execute): Allow only side effects for first
846 2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
848 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
849 Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
850 OPTION_MASK_ISA2_AVX512BF16_UNSET and
851 OPTION_MASK_ISA2_AVX512FP16_UNSET.
853 2022-06-30 Joseph Myers <joseph@codesourcery.com>
856 * lto-wrapper.cc (find_option): Add argument start.
857 (merge_and_complain): Loop over existing_opt_index and
858 existing_opt2_index for Xassembler check. Update calls to
860 (find_and_merge_options): Add argument first to determine whether
861 to merge options with those passed in *opts.
862 (run_gcc): Update calls to find_and_merge_options.
864 2022-06-30 Aldy Hernandez <aldyh@redhat.com>
866 * gimple-range-cache.cc (block_range_cache::block_range_cache):
867 Rename vrange_allocator to obstack_vrange_allocator.
868 (ssa_global_cache::ssa_global_cache): Same.
869 * gimple-range-edge.h (class gimple_outgoing_range): Same.
870 * gimple-range-infer.h (class infer_range_manager): Same.
871 * value-range.h (class vrange_allocator): Make abstract.
872 (class obstack_vrange_allocator): Inherit from vrange_allocator.
873 (class ggc_vrange_allocator): New.
875 2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
876 Uroš Bizjak <ubizjak@gmail.com>
878 * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
880 (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
881 via new gen_<insn>32di2_doubleword below.
882 (<anyrotate>32di2_doubleword): New define_insn_and_split
883 that splits after reload as either a pair of move instructions
884 or an xchgl (using gen_swapsi).
886 2022-06-30 Richard Biener <rguenther@suse.de>
888 * domwalk.h (dom_walker::dom_walker): Update comment to
889 reflect reality and new special argument value for
891 * domwalk.cc (dom_walker::dom_walker): Recognize -1
894 (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
895 dom_walker to not use RPO.
897 2022-06-30 Martin Liska <mliska@suse.cz>
899 * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
902 2022-06-30 Andrew MacLeod <amacleod@redhat.com>
904 PR tree-optimization/106114
905 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
906 statement operands instead of GORI cache.
908 2022-06-30 Antoni Boucher <bouanto@zoho.com>
911 * config/i386/sse.md: Fix asm generation.
913 2022-06-29 Sergei Trofimovich <siarheit@google.com>
916 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
918 2022-06-29 Joseph Myers <joseph@codesourcery.com>
920 * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
921 not gen_const_mem for UNSPEC_PIC_CALL_SYM.
923 2022-06-29 Richard Biener <rguenther@suse.de>
925 PR rtl-optimization/106082
926 * combine.cc (distribute_notes): Preserve notes when
927 they indicate a call doesn't perform a non-local goto.
929 2022-06-29 Richard Biener <rguenther@suse.de>
931 PR tree-optimization/106112
932 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
933 a constant operand according to its type.
935 2022-06-29 Martin Liska <mliska@suse.cz>
937 * doc/invoke.texi: Remove removed evrp-mode.
939 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
942 * config/loongarch/loongarch.cc (loongarch_build_integer):
943 Remove undefined behavior from code.
945 2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
947 * doc/sourcebuild.texi: Document new no_alignment_constraints
948 effective target check.
950 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
952 * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
953 * flag-types.h (enum evrp_mode): Remove.
954 * params.opt: Remove --param=evrp-mode.
955 * tree-vrp.cc (make_pass_early_vrp): New.
956 (pass_vrp::execute): Call early VRP instance.
957 * gimple-ssa-evrp-analyze.cc: Removed.
958 * gimple-ssa-evrp-analyze.h: Removed.
959 * gimple-ssa-evrp.cc: Removed.
961 2022-06-28 Alexandre Oliva <oliva@adacore.com>
963 * Makefile.in (TFLAGS): New.
964 (GCC_FOR_TARGET): Add TFLAGS.
965 (FLAGS_TO_PASS): Pass TFLAGS down.
967 2022-06-28 Richard Biener <rguenther@suse.de>
969 * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
972 2022-06-28 Richard Biener <rguenther@suse.de>
974 * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
975 mark_block_for_update.
976 (update_ssa): Adjust.
978 2022-06-28 Xi Ruoyao <xry111@xry111.site>
981 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
982 $r13 from SIBCALL_REGS.
983 * config/loongarch/loongarch.cc (loongarch_regno_to_class):
984 Change $r13 to JIRL_REGS.
986 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
988 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
991 2022-06-28 Richard Biener <rguenther@suse.de>
994 * match.pd ((T)a == (T)b): Avoid folding away sign
995 changes in a comparison if we'd truncate to a boolean.
997 2022-06-28 Kewen Lin <linkw@linux.ibm.com>
999 * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
1000 iterator GPR with SImode, adjust the condition and output template,
1002 (*rotlsi3_insert_4): ... this.
1004 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1006 * genmatch.cc: Add "final" and "override" to various vfunc
1007 implementations, removing redundant "virtual" as appropriate.
1008 * gensupport.cc: Likewise.
1009 * gimple-range-cache.h: Likewise.
1010 * ipa-icf-gimple.h: Likewise.
1011 * ipa-icf.h: Likewise.
1012 * read-md.h: Likewise.
1013 * read-rtl-function.cc: Likewise.
1014 * tree-ssa-loop-ch.cc: Likewise.
1015 * tree-ssa-sccvn.cc: Likewise.
1017 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1019 * config/i386/i386-features.h: Add "final" and "override" to
1020 scalar_chain vfunc implementations as appropriate.
1022 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1024 * tree-switch-conversion.h: Add "final" and "override" to cluster
1025 vfunc implementations as appropriate.
1027 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1029 * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
1030 implementations as appropriate.
1032 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1034 * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
1035 implementations, removing redundant "virtual" as appropriate.
1036 * gimple-ssa-strength-reduction.cc: Likewise.
1037 * ipa-prop.cc: Likewise.
1038 * rtl-ssa/blocks.cc: Likewise.
1039 * tree-into-ssa.cc: Likewise.
1040 * tree-ssa-dom.cc: Likewise.
1041 * tree-ssa-math-opts.cc: Likewise.
1042 * tree-ssa-phiopt.cc: Likewise.
1043 * tree-ssa-propagate.cc: Likewise.
1044 * tree-ssa-sccvn.cc: Likewise.
1045 * tree-ssa-strlen.cc: Likewise.
1046 * tree-ssa-uncprop.cc: Likewise.
1048 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1050 * adjust-alignment.cc: Add "final" and "override" to opt_pass
1051 vfunc implementations, removing redundant "virtual" as
1053 * asan.cc: Likewise.
1054 * auto-inc-dec.cc: Likewise.
1055 * auto-profile.cc: Likewise.
1056 * bb-reorder.cc: Likewise.
1057 * cfgcleanup.cc: Likewise.
1058 * cfgexpand.cc: Likewise.
1059 * cfgrtl.cc: Likewise.
1060 * cgraphbuild.cc: Likewise.
1061 * combine-stack-adj.cc: Likewise.
1062 * combine.cc: Likewise.
1063 * compare-elim.cc: Likewise.
1064 * config/i386/i386-features.cc: Likewise.
1065 * coroutine-passes.cc: Likewise.
1066 * cprop.cc: Likewise.
1069 * df-core.cc: Likewise.
1071 * dwarf2cfi.cc: Likewise.
1072 * early-remat.cc: Likewise.
1073 * except.cc: Likewise.
1074 * final.cc: Likewise.
1075 * function.cc: Likewise.
1076 * fwprop.cc: Likewise.
1077 * gcse.cc: Likewise.
1078 * gimple-harden-conditionals.cc: Likewise.
1079 * gimple-if-to-switch.cc: Likewise.
1080 * gimple-isel.cc: Likewise.
1081 * gimple-laddress.cc: Likewise.
1082 * gimple-loop-interchange.cc: Likewise.
1083 * gimple-loop-jam.cc: Likewise.
1084 * gimple-loop-versioning.cc: Likewise.
1085 * gimple-low.cc: Likewise.
1086 * gimple-ssa-backprop.cc: Likewise.
1087 * gimple-ssa-evrp.cc: Likewise.
1088 * gimple-ssa-isolate-paths.cc: Likewise.
1089 * gimple-ssa-nonnull-compare.cc: Likewise.
1090 * gimple-ssa-split-paths.cc: Likewise.
1091 * gimple-ssa-store-merging.cc: Likewise.
1092 * gimple-ssa-strength-reduction.cc: Likewise.
1093 * gimple-ssa-warn-access.cc: Likewise.
1094 * gimple-ssa-warn-alloca.cc: Likewise.
1095 * gimple-ssa-warn-restrict.cc: Likewise.
1096 * gimple-warn-recursion.cc: Likewise.
1097 * graphite.cc: Likewise.
1098 * ifcvt.cc: Likewise.
1099 * init-regs.cc: Likewise.
1100 * ipa-comdats.cc: Likewise.
1101 * ipa-cp.cc: Likewise.
1102 * ipa-devirt.cc: Likewise.
1103 * ipa-fnsummary.cc: Likewise.
1104 * ipa-free-lang-data.cc: Likewise.
1105 * ipa-icf.cc: Likewise.
1106 * ipa-inline.cc: Likewise.
1107 * ipa-modref.cc: Likewise.
1108 * ipa-profile.cc: Likewise.
1109 * ipa-pure-const.cc: Likewise.
1110 * ipa-reference.cc: Likewise.
1111 * ipa-split.cc: Likewise.
1112 * ipa-sra.cc: Likewise.
1113 * ipa-visibility.cc: Likewise.
1116 * jump.cc: Likewise.
1117 * loop-init.cc: Likewise.
1118 * lower-subreg.cc: Likewise.
1119 * mode-switching.cc: Likewise.
1120 * modulo-sched.cc: Likewise.
1121 * multiple_target.cc: Likewise.
1122 * omp-expand.cc: Likewise.
1123 * omp-low.cc: Likewise.
1124 * omp-oacc-kernels-decompose.cc: Likewise.
1125 * omp-oacc-neuter-broadcast.cc: Likewise.
1126 * omp-offload.cc: Likewise.
1127 * omp-simd-clone.cc: Likewise.
1128 * passes.cc: Likewise.
1129 * postreload-gcse.cc: Likewise.
1130 * postreload.cc: Likewise.
1131 * predict.cc: Likewise.
1132 * recog.cc: Likewise.
1134 * reg-stack.cc: Likewise.
1135 * regcprop.cc: Likewise.
1136 * reginfo.cc: Likewise.
1137 * regrename.cc: Likewise.
1138 * reorg.cc: Likewise.
1139 * sancov.cc: Likewise.
1140 * sanopt.cc: Likewise.
1141 * sched-rgn.cc: Likewise.
1142 * stack-ptr-mod.cc: Likewise.
1143 * store-motion.cc: Likewise.
1144 * tracer.cc: Likewise.
1145 * trans-mem.cc: Likewise.
1146 * tree-call-cdce.cc: Likewise.
1147 * tree-cfg.cc: Likewise.
1148 * tree-cfgcleanup.cc: Likewise.
1149 * tree-complex.cc: Likewise.
1150 * tree-eh.cc: Likewise.
1151 * tree-emutls.cc: Likewise.
1152 * tree-if-conv.cc: Likewise.
1153 * tree-into-ssa.cc: Likewise.
1154 * tree-loop-distribution.cc: Likewise.
1155 * tree-nrv.cc: Likewise.
1156 * tree-object-size.cc: Likewise.
1157 * tree-parloops.cc: Likewise.
1158 * tree-predcom.cc: Likewise.
1159 * tree-profile.cc: Likewise.
1160 * tree-sra.cc: Likewise.
1161 * tree-ssa-ccp.cc: Likewise.
1162 * tree-ssa-copy.cc: Likewise.
1163 * tree-ssa-dce.cc: Likewise.
1164 * tree-ssa-dom.cc: Likewise.
1165 * tree-ssa-dse.cc: Likewise.
1166 * tree-ssa-forwprop.cc: Likewise.
1167 * tree-ssa-ifcombine.cc: Likewise.
1168 * tree-ssa-loop-ch.cc: Likewise.
1169 * tree-ssa-loop-im.cc: Likewise.
1170 * tree-ssa-loop-ivcanon.cc: Likewise.
1171 * tree-ssa-loop-prefetch.cc: Likewise.
1172 * tree-ssa-loop-split.cc: Likewise.
1173 * tree-ssa-loop-unswitch.cc: Likewise.
1174 * tree-ssa-loop.cc: Likewise.
1175 * tree-ssa-math-opts.cc: Likewise.
1176 * tree-ssa-phiopt.cc: Likewise.
1177 * tree-ssa-phiprop.cc: Likewise.
1178 * tree-ssa-pre.cc: Likewise.
1179 * tree-ssa-reassoc.cc: Likewise.
1180 * tree-ssa-sccvn.cc: Likewise.
1181 * tree-ssa-sink.cc: Likewise.
1182 * tree-ssa-strlen.cc: Likewise.
1183 * tree-ssa-structalias.cc: Likewise.
1184 * tree-ssa-uncprop.cc: Likewise.
1185 * tree-ssa-uninit.cc: Likewise.
1186 * tree-ssanames.cc: Likewise.
1187 * tree-stdarg.cc: Likewise.
1188 * tree-switch-conversion.cc: Likewise.
1189 * tree-tailcall.cc: Likewise.
1190 * tree-vect-generic.cc: Likewise.
1191 * tree-vectorizer.cc: Likewise.
1192 * tree-vrp.cc: Likewise.
1193 * tsan.cc: Likewise.
1194 * ubsan.cc: Likewise.
1195 * var-tracking.cc: Likewise.
1196 * vtable-verify.cc: Likewise.
1199 2022-06-27 Andrew Stubbs <ams@codesourcery.com>
1201 * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
1203 (movdi_symbol_save_scc): Likewise.
1205 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
1207 PR rtl-optimization/7061
1208 * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
1210 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
1212 PR tree-optimization/94026
1213 * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
1214 (((X >> C1) & C2) eq/ne C3): Likewise.
1216 2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1218 * statistics.cc: Include tree.h.
1219 (get_function_name): New function.
1220 (statistics_fini_pass_2): Call get_function_name instead of
1221 current_function_name.
1222 (statistics_counter_event): Call get_function_name instead of
1224 (statistics_histogram_event): Likewise.
1226 2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1228 * config/xtensa/xtensa.md:
1229 Suppress unnecessary emitting nop insn in the split patterns for
1230 integer/FP constant synthesis, and add new peephole2 pattern that
1231 folds such synthesized additions.
1233 2022-06-25 Aldy Hernandez <aldyh@redhat.com>
1235 * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
1237 (dom_jt_state::push): Remove m_evrp.
1238 (dom_jt_state::pop): Same.
1239 (dom_jt_state::record_ranges_from_stmt): Remove.
1240 (dom_jt_state::register_equiv): Remove updating of evrp ranges.
1241 (class dom_jt_simplifier): Pass ranger to constructor.
1242 Inherit from hybrid_jt_simplifier.
1243 (dom_jt_simplifier::simplify): Convert to ranger.
1244 (pass_dominator::execute): Same.
1245 (all_uses_feed_or_dominated_by_stmt): New.
1246 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
1247 (dom_opt_dom_walker::before_dom_children): Call
1248 set_global_ranges_from_unreachable_edges.
1249 Do not call record_ranges_from_stmt.
1250 (dom_opt_dom_walker::after_dom_children): Remove evrp use.
1251 (cprop_operand): Use int_range<> instead of value_range.
1252 (dom_opt_dom_walker::fold_cond): New.
1253 (dom_opt_dom_walker::optimize_stmt): Pass ranger to
1255 Use fold_cond() instead of vrp_visit_cond_stmt().
1256 * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
1257 pass state to simplifier.
1258 * vr-values.h (class vr_values): Make fold_cond public.
1260 2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
1262 * common/config/tilegx/tilegx-common.cc: Removed.
1263 * common/config/tilepro/tilepro-common.cc: Removed.
1264 * config.gcc: Remove tilegx and tilepro entries.
1265 * config/tilegx/constraints.md: Removed.
1266 * config/tilegx/feedback.h: Removed.
1267 * config/tilegx/linux.h: Removed.
1268 * config/tilegx/mul-tables.cc: Removed.
1269 * config/tilegx/predicates.md: Removed.
1270 * config/tilegx/sync.md: Removed.
1271 * config/tilegx/t-tilegx: Removed.
1272 * config/tilegx/tilegx-builtins.h: Removed.
1273 * config/tilegx/tilegx-c.cc: Removed.
1274 * config/tilegx/tilegx-generic.md: Removed.
1275 * config/tilegx/tilegx-modes.def: Removed.
1276 * config/tilegx/tilegx-multiply.h: Removed.
1277 * config/tilegx/tilegx-opts.h: Removed.
1278 * config/tilegx/tilegx-protos.h: Removed.
1279 * config/tilegx/tilegx.cc: Removed.
1280 * config/tilegx/tilegx.h: Removed.
1281 * config/tilegx/tilegx.md: Removed.
1282 * config/tilegx/tilegx.opt: Removed.
1283 * config/tilepro/constraints.md: Removed.
1284 * config/tilepro/feedback.h: Removed.
1285 * config/tilepro/gen-mul-tables.cc: Removed.
1286 * config/tilepro/linux.h: Removed.
1287 * config/tilepro/mul-tables.cc: Removed.
1288 * config/tilepro/predicates.md: Removed.
1289 * config/tilepro/t-tilepro: Removed.
1290 * config/tilepro/tilepro-builtins.h: Removed.
1291 * config/tilepro/tilepro-c.cc: Removed.
1292 * config/tilepro/tilepro-generic.md: Removed.
1293 * config/tilepro/tilepro-modes.def: Removed.
1294 * config/tilepro/tilepro-multiply.h: Removed.
1295 * config/tilepro/tilepro-protos.h: Removed.
1296 * config/tilepro/tilepro.cc: Removed.
1297 * config/tilepro/tilepro.h: Removed.
1298 * config/tilepro/tilepro.md: Removed.
1299 * config/tilepro/tilepro.opt: Removed.
1300 * configure.ac: Remove tilegx and tilepro entries.
1301 * configure: Rebuilt.
1302 * doc/extend.texi: Remove tilegx and tilepro entries.
1303 * doc/install.texi: Remove tilegx and tilepro entries.
1304 * doc/invoke.texi: Remove tilegx and tilepro entries.
1305 * doc/md.texi: Remove tilegx and tilepro entries.
1307 2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
1308 Richard Biener <rguenther@suse.de>
1310 * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
1311 iteration over each basic block that was updated by the second
1314 2022-06-24 Jason Merrill <jason@redhat.com>
1318 * doc/invoke.texi: Document changes.
1320 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
1322 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
1323 condition to avoid overflow.
1325 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1327 * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
1328 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
1329 * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
1330 OPTION_MASK_PPC_GFXOPT.
1331 * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
1332 * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
1333 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
1334 * config/rs6000/rs6000-c.cc: Update comment.
1335 * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
1336 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
1337 MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
1338 (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
1339 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
1340 * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
1341 MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
1342 MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
1343 MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
1345 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1347 * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
1349 * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
1350 OPTION_MASK_MULTIPLE.
1351 * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
1352 * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
1354 * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
1356 * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
1357 * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
1358 MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
1359 * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
1360 MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
1361 MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
1362 MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
1363 MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
1365 OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
1366 OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
1367 OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
1368 OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
1369 OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
1370 OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
1371 OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
1372 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
1373 MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
1374 * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
1375 with OPTION_MASK_MULTIPLE.
1376 (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
1377 MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
1378 MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
1379 MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
1380 MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
1381 * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
1382 with OPTION_MASK_EABI.
1384 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1386 * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
1387 RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
1388 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
1389 RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
1390 OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
1391 OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
1392 OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
1393 * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
1394 RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
1395 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
1396 RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
1398 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1400 * config/rs6000/rs6000-c.cc: Update comments.
1401 * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
1402 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
1403 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
1404 RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
1405 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
1406 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
1407 OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
1408 OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
1409 OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
1410 OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
1411 OPTION_MASK_MMA, OPTION_MASK_POWER10.
1412 * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
1413 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
1414 RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
1415 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
1416 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
1418 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1420 * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
1421 MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
1422 OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
1424 2022-06-24 Richard Biener <rguenther@suse.de>
1426 PR middle-end/106070
1427 * match.pd (a != b ? a : b): Fix translation of
1428 operand_equal_for_comparison_p.
1430 2022-06-24 Jan Hubicka <jh@suse.cz>
1433 * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
1435 2022-06-24 Martin Liska <mliska@suse.cz>
1437 PR middle-end/106059
1438 * profile-count.h: *= and /= operators need to modify this
1441 2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
1442 Uroš Bizjak <ubizjak@gmail.com>
1445 * config/i386/i386.md (*<any_or>di3_doubleword): Split after
1446 reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
1447 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
1449 2022-06-24 Alexandre Oliva <oliva@adacore.com>
1451 * common.opt (nostdlib++): New.
1452 * doc/invoke.texi (-nostdlib++): Document it.
1454 2022-06-24 Alexandre Oliva <oliva@adacore.com>
1456 * doc/sourcebuild.texi (Environment attributes): Document
1459 2022-06-23 David Malcolm <dmalcolm@redhat.com>
1461 * common.opt (fdiagnostics-show-rules): New option.
1462 * diagnostic-format-json.cc (diagnostic_output_format_init_json):
1463 Fix up context->show_rules.
1464 * diagnostic-format-sarif.cc
1465 (diagnostic_output_format_init_sarif): Likewise.
1466 * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
1467 (diagnostic_metadata::precanned_rule): New class.
1468 (diagnostic_metadata::add_rule): New.
1469 (diagnostic_metadata::get_num_rules): New.
1470 (diagnostic_metadata::get_rule): New.
1471 (diagnostic_metadata::m_rules): New field.
1472 * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
1473 (print_any_rules): New.
1474 (diagnostic_report_diagnostic): Call it.
1475 * diagnostic.h (diagnostic_context::show_rules): New field.
1476 * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
1477 * opts.cc (common_handle_option): Handle
1478 OPT_fdiagnostics_show_rules.
1479 * toplev.cc (general_init): Set up global_dc->show_rules.
1481 2022-06-23 Martin Liska <mliska@suse.cz>
1484 * ubsan.cc (sanitize_unreachable_fn): Change order of calls
1485 in order to initialize UBSAN built-ins.
1487 2022-06-23 Martin Liska <mliska@suse.cz>
1490 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
1491 Skip variables with body_removed.
1493 2022-06-23 liuhongt <hongtao.liu@intel.com>
1495 * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
1497 (sse4_2_pcmpistr): Ditto.
1499 2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
1501 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
1503 * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
1504 * tree-switch-conversion.h: Likewise.
1506 2022-06-22 Jason Merrill <jason@redhat.com>
1509 * common.opt: Add -funreachable-traps.
1510 * doc/invoke.texi (-funreachable-traps): Document it.
1511 * opts.cc (finish_options): Enable at -O0 or -Og.
1512 * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
1513 (builtin_decl_unreachable, build_builtin_unreachable): New.
1514 * tree.h: Declare them.
1515 * ubsan.cc (sanitize_unreachable_fn): Factor out.
1516 (ubsan_instrument_unreachable): Use
1517 gimple_build_builtin_unreachable.
1518 * ubsan.h (sanitize_unreachable_fn): Declare.
1519 * gimple.cc (gimple_build_builtin_unreachable): New.
1520 * gimple.h: Declare it.
1521 * builtins.cc (expand_builtin_unreachable): Add assert.
1522 (fold_builtin_0): Call build_builtin_unreachable.
1523 * sanopt.cc: Don't run for just SANITIZE_RETURN
1524 or SANITIZE_UNREACHABLE when trapping.
1525 * cgraphunit.cc (walk_polymorphic_call_targets): Use new
1526 unreachable functions.
1527 * gimple-fold.cc (gimple_fold_call)
1528 (gimple_get_virt_method_for_vtable)
1529 * ipa-fnsummary.cc (redirect_to_unreachable)
1530 * ipa-prop.cc (ipa_make_edge_direct_to_target)
1531 (ipa_impossible_devirt_target)
1532 * ipa.cc (walk_polymorphic_call_targets)
1533 * tree-cfg.cc (pass_warn_function_return::execute)
1535 * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
1537 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
1540 2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
1542 PR tree-optimization/106019
1543 * tree-data-ref.cc (dr_may_alias_p): Try using the
1544 innermost_loop_behavior to disambiguate non-loop queries.
1546 2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
1548 * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
1550 2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1552 * config/xtensa/xtensa.md (bswapsi2_internal):
1553 Enlarge the buffer that is obviously smaller than the template
1554 string given to sprintf().
1556 2022-06-21 Roger Sayle <roger@nextmovesoftware.com>
1557 Marek Polacek <polacek@redhat.com>
1558 Segher Boessenkool <segher@kernel.crashing.org>
1559 Kewen Lin <linkw@linux.ibm.com>
1562 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
1563 exact_log2 doesn't return -1 (or zero).
1564 (plus_xor): New code iterator.
1565 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
1567 2022-06-21 Nathan Sidwell <nathan@acm.org>
1569 * doc/invoke.texi (C++ Modules): Remove language-linkage
1572 2022-06-21 Arjun Shankar <arjun@redhat.com>
1574 PR tree-optimization/94899
1575 * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
1576 0x80000000): New simplification.
1578 2022-06-21 Jakub Jelinek <jakub@redhat.com>
1580 PR rtl-optimization/106032
1581 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
1582 t may_trap_or_fault_p, even if it is cheap.
1584 2022-06-21 Jakub Jelinek <jakub@redhat.com>
1586 PR middle-end/106030
1587 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
1588 temp to expand_operands if mode has been promoted.
1590 2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
1593 * gimple-if-to-switch.cc (find_conditions): Don't skip the first
1596 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
1598 PR tree-optimization/105736
1599 * tree-object-size.cc (addr_object_size): Return size_unknown
1600 when object offset computation returns an error.
1602 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
1605 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
1606 false if PIC register is used when calling ifunc functions.
1608 2022-06-20 Richard Biener <rguenther@suse.de>
1610 PR middle-end/106027
1611 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
1612 type of the prevailing comparison for the new comparison type.
1613 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
1614 to A < X && A >= Y folding.
1616 2022-06-20 Kewen Lin <linkw@linux.ibm.com>
1618 PR tree-optimization/105940
1619 * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
1620 slp_done_for_suggested_uf and adjust with it accordingly.
1621 (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
1622 pass it down to vect_analyze_loop_2 for the initial analysis and
1623 applying suggested unroll factor.
1624 (vect_is_simple_reduction): Add parameter slp and adjust with it.
1625 (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
1626 (vect_analyze_scalar_cycles): Likewise.
1628 2022-06-20 Martin Liska <mliska@suse.cz>
1630 * bb-reorder.cc (find_traces_1_round): Add operators / and * and
1632 (better_edge_p): Likewise.
1633 * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
1634 * cfgloopmanip.cc (scale_loop_profile): Likewise.
1635 * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
1636 * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
1637 * config/sh/sh.cc (expand_cbranchdi4): Likewise.
1638 * dojump.cc (do_compare_rtx_and_jump): Likewise.
1639 * final.cc (compute_alignments): Likewise.
1640 * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
1641 (decide_about_value): Likewise.
1642 * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
1643 * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
1644 * modulo-sched.cc (sms_schedule): Likewise.
1645 * omp-expand.cc (extract_omp_for_update_vars): Likewise.
1646 (expand_omp_ordered_sink): Likewise.
1647 (expand_omp_for_ordered_loops): Likewise.
1648 (expand_omp_for_static_nochunk): Likewise.
1649 * predict.cc (maybe_hot_count_p): Likewise.
1650 (probably_never_executed): Likewise.
1651 (set_even_probabilities): Likewise.
1652 (handle_missing_profiles): Likewise.
1653 (expensive_function_p): Likewise.
1654 * profile-count.h: Likewise.
1655 * profile.cc (compute_branch_probabilities): Likewise.
1656 * stmt.cc (emit_case_dispatch_table): Likewise.
1657 * symtab-thunks.cc (expand_thunk): Likewise.
1658 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
1659 * tree-ssa-sink.cc (select_best_block): Likewise.
1660 * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
1661 (switch_decision_tree::balance_case_nodes): Likewise.
1662 (switch_decision_tree::emit_case_nodes): Likewise.
1663 * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
1665 2022-06-20 yulong <shiyulong@iscas.ac.cn>
1667 * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
1668 * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
1670 * config/riscv/riscv-ftypes.def (0): Remove unused.
1673 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1675 * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
1676 Consider relaxed MOVI instructions as L32R.
1678 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1680 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
1681 Use can_create_pseudo_p(), instead of using individual
1682 reload_in_progress and reload_completed.
1683 (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
1684 the existing predicate function.
1685 (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
1686 Use the standard RTX code predicate macros such as MEM_P,
1687 SYMBOL_REF_P and/or CONST_INT_P.
1688 * config/xtensa/xtensa.md: Avoid using numeric literals to determine
1689 if callee-saved register, at the split patterns for indirect sibcall
1692 2022-06-18 Jakub Jelinek <jakub@redhat.com>
1694 * common.opt (flag_sanitize_trap): New variable.
1695 (fsanitize-trap=, fsanitize-trap): New options.
1696 (fsanitize-undefined-trap-on-error): Change into deprecated alias
1697 for -fsanitize-trap=all.
1698 * opts.h (struct sanitizer_opts_s): Add can_trap member.
1699 * opts.cc (finish_options): Complain about unsupported
1700 -fsanitize-trap= options.
1701 (sanitizer_opts): Add can_trap values to all entries.
1702 (get_closest_sanitizer_option): Ignore -fsanitize-trap=
1703 options which have can_trap false.
1704 (parse_sanitizer_options): Add support for -fsanitize-trap=.
1705 For -fsanitize-trap=all, enable
1706 SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow
1707 -fsanitize-trap=vptr here.
1708 (common_handle_option): Handle OPT_fsanitize_trap_ and
1710 * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
1711 flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
1712 flag_sanitize_undefined_trap_on_error.
1713 * gcc.cc (sanitize_spec_function): Use
1714 flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
1715 and drop use of flag_sanitize_undefined_trap_on_error in
1716 "undefined" handling.
1717 * ubsan.cc (ubsan_instrument_unreachable): Use
1718 flag_sanitize_trap & SANITIZE_??? instead of
1719 flag_sanitize_undefined_trap_on_error.
1720 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
1721 ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
1722 ubsan_build_overflow_builtin, instrument_bool_enum_load,
1723 ubsan_instrument_float_cast, instrument_nonnull_arg,
1724 instrument_nonnull_return, instrument_builtin): Likewise.
1725 * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
1726 (-fsanitize-undefined-trap-on-error): Document as deprecated
1727 alias of -fsanitize-trap.
1729 2022-06-18 Jakub Jelinek <jakub@redhat.com>
1731 PR middle-end/105998
1732 * varasm.cc (narrowing_initializer_constant_valid_p): Check
1733 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
1734 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
1736 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
1738 PR tree-optimization/105835
1739 * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
1740 Narrow integer multiplication by a zero_one_valued_p operand.
1741 (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
1742 conversions inside COND_EXPR where both data operands are
1745 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1747 * config/xtensa/constraints.md (Y):
1748 Change to include integer constants until reload begins.
1749 * config/xtensa/predicates.md (move_operand): Ditto.
1750 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
1751 Change to allow storing integer constants into litpool only after
1754 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
1757 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
1758 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
1759 (alpha_store_data_bypass_p_1): Ditto.
1760 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
1761 of generic store_data_bypass_p.
1762 (ev4_ist_c): Remove insn reservation.
1764 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
1767 * config/i386/i386.cc (ix86_function_arg): Assert that
1768 the mode of pointer argumet is equal to ptr_mode, not Pmode.
1770 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
1773 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
1774 instead of REGNO comparisons in combine splitter.
1776 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
1778 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
1781 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
1783 * config/riscv/bitmanip.md: Supress warning.
1785 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
1788 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
1789 Clear bits in the mask above bit 31.
1791 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
1793 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
1794 to avoid spilling trivial literals to the constant pool.
1796 2022-06-16 David Malcolm <dmalcolm@redhat.com>
1798 * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
1799 auto_diagnostic_group to group any warning with its note.
1800 (maybe_warn_for_bound): Likewise.
1801 (check_access): Likewise.
1802 (warn_dealloc_offset): Likewise.
1803 (pass_waccess::maybe_warn_memmodel): Likewise.
1804 (pass_waccess::maybe_check_dealloc_call): Likewise.
1805 (pass_waccess::warn_invalid_pointer): Likewise.
1806 (pass_waccess::check_dangling_stores): Likewise.
1808 2022-06-16 Jason Merrill <jason@redhat.com>
1810 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
1811 opts_set->x_flag_sanitize.
1813 2022-06-16 Jason Merrill <jason@redhat.com>
1815 * flags.h (issue_strict_overflow_warning): Comment #endif.
1817 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
1819 * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
1820 was invaraint before, clear the invariant bit.
1821 * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
1822 * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
1824 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
1826 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
1828 2022-06-16 Jakub Jelinek <jakub@redhat.com>
1830 PR tree-optimization/105983
1831 * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
1832 y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
1833 on non-equality comparisons.
1835 2022-06-16 Jakub Jelinek <jakub@redhat.com>
1837 PR tree-optimization/105984
1838 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
1839 x > stype_max / cst || x < stype_min / cst): fold_convert @1
1840 to TREE_TYPE (@0) just once and test for negative divisor
1841 also on that folded constant instead of on @1.
1843 2022-06-16 Jakub Jelinek <jakub@redhat.com>
1845 PR middle-end/105951
1846 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
1847 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
1848 as last argument to the internal functions.
1849 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
1850 extra call argument to ifns. If expand_atomic_fetch_op fails for the
1851 lhs == NULL_TREE case, fall through into the optab code with
1852 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
1853 fails, construct a CALL_EXPR and expand that.
1854 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
1855 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
1858 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
1861 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
1862 gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
1863 RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
1864 RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
1865 * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support
1866 for new Power10 V1TI instructions.
1867 (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
1868 (vec_cmpu<mode><mode>): Likewise.
1869 (vector_nlt<mode>): Set mode iterator to VEC_IC.
1870 (vector_nltv1ti): Remove.
1871 (vector_gtu<mode>): Set mode iterator to VEC_IC.
1872 (vector_gtuv1ti): Remove.
1873 (vector_nltu<mode>): Set mode iterator to VEC_IC.
1874 (vector_nltuv1ti): Remove.
1875 (vector_geu<mode>): Set mode iterator to VEC_IC.
1876 (vector_ngt<mode>): Likewise.
1877 (vector_ngtv1ti): Remove.
1878 (vector_ngtu<mode>): Set mode iterator to VEC_IC.
1879 (vector_ngtuv1ti): Remove.
1880 (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
1881 (vector_gtu_v1ti_p): Remove.
1882 (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
1883 (vrotlv1ti3): Remove.
1884 (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
1885 (vashrv1ti3): Remove.
1887 2022-06-16 Martin Liska <mliska@suse.cz>
1889 * gengtype-state.cc (read_a_state_token): Do not skip extra
1890 character after escaped sequence.
1892 2022-06-16 Martin Liska <mliska@suse.cz>
1895 * spellcheck.cc (test_find_closest_string): Add new test.
1896 * spellcheck.h (class best_match): Prefer a difference in
1897 trailing sign symbol.
1899 2022-06-16 liuhongt <hongtao.liu@intel.com>
1901 PR tree-optimization/53533
1902 * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
1903 (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
1904 and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
1906 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1908 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
1910 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1912 * config/xtensa/predicates.md (reload_operand):
1914 * config/xtensa/xtensa.md: New peephole2 pattern.
1916 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1918 * config/xtensa/xtensa.md (*round_up_to_even):
1919 New insn-and-split pattern.
1920 (*signed_ge_zero): Ditto.
1922 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1924 * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
1925 xtensa_emit_sibcall): New prototypes.
1926 (xtensa_expand_epilogue): Add new argument that specifies whether
1927 or not sibling call.
1928 * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
1929 New macro definition.
1930 (xtensa_prepare_expand_call): New function in order to share
1932 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
1934 (xtensa_expand_epilogue): Add new argument sibcall_p and use it
1935 for sibling call handling.
1936 * config/xtensa/xtensa.md (call, call_value):
1937 Use xtensa_prepare_expand_call.
1938 (call_internal, call_value_internal):
1939 Add the condition in order to be disabled if sibling call.
1940 (sibcall, sibcall_value, sibcall_epilogue): New expansions.
1941 (sibcall_internal, sibcall_value_internal): New insn patterns,
1942 and split ones in order to take care of the indirect sibcalls.
1944 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1946 * doc/invoke.texi: Document -mextra-l32r-costs= option.
1948 2022-06-15 David Malcolm <dmalcolm@redhat.com>
1951 * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
1952 * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
1953 Extend -fdiagnostics-path-format=separate-events so that with
1954 -fdiagnostics-show-path-depths it prints fndecls as well as stack
1957 2022-06-15 David Malcolm <dmalcolm@redhat.com>
1959 * value-relation.h: Add "final" and "override" to relation_oracle
1960 vfunc implementations as appropriate.
1962 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
1964 PR middle-end/105975
1965 Revert everything apart from the expand_fn_using_insn and
1966 expand_direct_optab_fn changes from:
1967 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
1968 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
1969 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
1970 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
1971 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
1973 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
1974 (direct_internal_fn_p): Also return true for internal functions
1975 that map directly to instructions defined target-insns.def.
1976 (direct_internal_fn): Adjust comment accordingly.
1977 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
1978 (vectorizable_optab2): New local macros.
1979 (not_direct): Initialize directly_mapped.
1980 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
1981 (gather_load_direct, len_load_direct, mask_store_direct)
1982 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
1983 (vec_cond_direct, scatter_store_direct, len_store_direct)
1984 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
1985 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
1986 (while_direct, fold_extract_direct, fold_left_direct)
1987 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
1988 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
1989 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
1990 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
1991 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
1992 (direct_internal_fn_types): Handle functions that map to instructions
1993 defined in target-insns.def.
1994 (direct_internal_fn_types): Likewise.
1995 (direct_internal_fn_supported_p): Likewise.
1996 (internal_fn_expanders): Likewise.
1997 (expand_fn_using_insn): New function,
1998 split out and adapted from...
1999 (expand_direct_optab_fn): ...here.
2000 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
2001 (expand_GOMP_SIMT_EXIT): Likewise.
2002 (expand_GOMP_SIMT_LANE): Likewise.
2003 (expand_GOMP_SIMT_LAST_LANE): Likewise.
2004 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
2005 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
2006 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
2007 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
2009 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
2012 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
2013 to first_reg and second_reg respectively. Initialize them correctly
2014 when generating big-endian code.
2016 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
2019 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
2021 2022-06-15 Richard Biener <rguenther@suse.de>
2023 PR tree-optimization/105971
2024 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
2025 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
2026 to leak less surprising alias results.
2028 2022-06-15 Richard Biener <rguenther@suse.de>
2030 PR tree-optimization/105969
2031 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
2032 by zero in overflow check.
2034 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
2036 PR tree-optimization/105254
2037 PR tree-optimization/105940
2039 * config/aarch64/aarch64.cc
2040 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
2041 loop_vec_info as argument. Restrict the unroll factor to values
2043 (aarch64_vector_costs::finish_cost): Update call accordingly.
2045 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
2047 * read-rtl.cc (find_int): Substitute symbolic constants
2048 before converting the string to an integer.
2050 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
2051 Richard Biener <rguenther@suse.de>
2053 * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
2054 left shifts by a constant when the result is truncated, and the
2055 shift constant is well-defined.
2056 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
2057 support for rotations of signed integer types, by lowering
2058 using unsigned vector shifts.
2060 2022-06-15 liuhongt <hongtao.liu@intel.com>
2063 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
2066 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
2068 PR rtl-optimization/105041
2069 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
2071 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
2073 * config/rs6000/vsx.md (VS_scalar): Delete.
2074 (rest of file): Adjust.
2076 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
2079 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
2081 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2083 * config/riscv/bitmanip.md: Add split to handle opportunities
2084 for slli + sh[123]add.uw
2086 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2088 * config/riscv/predicates.md (consecutive_bits_operand):
2089 Implement new predicate.
2091 2022-06-14 Richard Biener <rguenther@suse.de>
2093 PR tree-optimization/105946
2094 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
2095 Do not look at arguments not specified in the function call.
2097 2022-06-14 Richard Biener <rguenther@suse.de>
2099 PR middle-end/105965
2100 * match.pd (view_convert CONSTRUCTOR): Handle single-element
2103 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
2105 * warning-control.cc (copy_warning) [generic version]: Do not erase
2106 the warning data of the destination location when the no-warning
2107 bit is not set on the source.
2108 (copy_warning) [tree version]: Return early if TO is equal to FROM.
2109 (copy_warning) [gimple version]: Likewise.
2111 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
2113 PR tree-optimization/105940
2114 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
2115 applying suggested_unroll_factor after start_over.
2117 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2119 * config/xtensa/predicates.md (shifted_mask_operand):
2121 * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
2122 New insn-and-split pattern.
2123 (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
2124 *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
2125 *masktrue_const_shifted_mask): Ditto.
2127 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2129 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
2131 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2133 * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
2134 Remove the first argument.
2135 (xtensa_emit_bit_branch): Remove it because now called only from the
2136 output statement of *bittrue insn pattern.
2137 * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
2138 argument 'p_invert', and make so that the condition is reversed by
2140 (xtensa_expand_conditional_branch): Share the common path, and remove
2141 condition inversion code.
2142 (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
2143 "false side" pattern.
2144 (xtensa_emit_bit_branch): Remove it because of the abovementioned
2145 reason, and move the function body to *bittrue insn pattern.
2146 * config/xtensa/xtensa.md (*bittrue): Transplant the output
2147 statement from removed xtensa_emit_bit_branch().
2148 (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
2151 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2153 * config/xtensa/predicates.md (logical_shift_operator,
2154 xtensa_shift_per_byte_operator): New predicates.
2155 * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
2157 * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
2158 New helper function for funnel shift patterns.
2159 * config/xtensa/xtensa.md (ior_op): New code iterator.
2160 (*ashlsi3_1): Replace with new split pattern.
2161 (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
2162 (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
2163 New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
2164 in order to omit unnecessary bitwise AND operation.
2165 (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
2166 *shlrd_per_byte_<code>_omit_AND):
2167 New insn patterns for funnel shifts.
2169 2022-06-13 Jason Merrill <jason@redhat.com>
2171 * tree-cfg.cc (pass_warn_function_return::execute): Also check
2174 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
2176 * config/riscv/riscv.md (length): Remove the explicit setting
2179 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
2181 * common/config/i386/cpuinfo.h (get_available_features): Require
2182 AVX for F16C and VAES.
2184 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
2187 * config/i386/predicates.md (register_no_elim_operand):
2188 Return true for subreg of a memory operand.
2190 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
2192 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
2193 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
2194 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
2195 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
2196 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
2198 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
2199 (direct_internal_fn_p): Also return true for internal functions
2200 that map directly to instructions defined target-insns.def.
2201 (direct_internal_fn): Adjust comment accordingly.
2202 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
2203 (vectorizable_optab2): New local macros.
2204 (not_direct): Initialize directly_mapped.
2205 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
2206 (gather_load_direct, len_load_direct, mask_store_direct)
2207 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
2208 (vec_cond_direct, scatter_store_direct, len_store_direct)
2209 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
2210 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
2211 (while_direct, fold_extract_direct, fold_left_direct)
2212 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
2213 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
2214 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
2215 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
2216 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
2217 (direct_internal_fn_types): Handle functions that map to instructions
2218 defined in target-insns.def.
2219 (direct_internal_fn_types): Likewise.
2220 (direct_internal_fn_supported_p): Likewise.
2221 (internal_fn_expanders): Likewise.
2223 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
2225 * internal-fn.cc (expand_fn_using_insn): New function,
2226 split out and adapted from...
2227 (expand_direct_optab_fn): ...here.
2228 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
2229 (expand_GOMP_SIMT_EXIT): Likewise.
2230 (expand_GOMP_SIMT_LANE): Likewise.
2231 (expand_GOMP_SIMT_LAST_LANE): Likewise.
2232 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
2233 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
2234 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
2235 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
2237 2022-06-13 Jakub Jelinek <jakub@redhat.com>
2239 * omp-expand.cc (expand_omp_target): Remap user provided
2240 device clause arguments, -1 to -2 and -2 to -3, either
2241 at compile time if constant, or at runtime.
2243 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
2245 * common.opt (finstrument-functions): Set explicit value.
2246 (-finstrument-functions-once): New option.
2247 * doc/invoke.texi (Program Instrumentation Options): Document it.
2248 * gimplify.cc (build_instrumentation_call): New static function.
2249 (gimplify_function_tree): Call it to emit the instrumentation calls
2250 if -finstrument-functions[-once] is specified.
2252 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
2254 * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
2255 * gimple.h (gimple_set_location): Do not copy warning data from
2256 the previous location when it is UNKNOWN_LOCATION.
2257 * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
2259 2022-06-13 Jakub Jelinek <jakub@redhat.com>
2262 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
2263 *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
2264 (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
2265 operands[3] unmodified.
2267 2022-06-12 Simon Wright <simon@pushface.org>
2270 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
2271 version is darwin20 (macOS 11) or greater, truncate the version to the
2274 2022-06-12 Mark Mentovai <mark@mentovai.com>
2276 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
2278 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2281 * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
2282 (svld1rq_impl::fold): Define.
2283 * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
2284 op_mode and op_vec_flags.
2285 (aarch64_evpc_reencode): Initialize newd.op_mode and
2287 (aarch64_evpc_sve_dup): New function.
2288 (aarch64_expand_vec_perm_const_1): Gate existing calls to
2289 aarch64_evpc_* functions under d->vmode == d->op_mode,
2290 and call aarch64_evpc_sve_dup.
2291 (aarch64_vectorize_vec_perm_const): Remove assert
2292 d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
2293 * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
2294 vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
2297 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2299 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
2301 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
2302 xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
2303 xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
2304 New backend functions that process the abovementioned logic.
2305 (xtensa_emit_move_sequence): Revert the previous changes.
2306 * config/xtensa/xtensa.md: New split patterns for integer
2307 and floating-point, as the frontend part.
2309 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2311 * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
2312 for ABS and NEG, add missing case for BSWAP and CLRSB, and
2313 double the costs for integer divisions using libfuncs if
2314 optimizing for speed, in order to take advantage of fast constant
2315 division by multiplication.
2316 (TARGET_INSN_COST): New macro definition.
2317 (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
2318 calculating relative costs of a RTL insns, for both of speed and
2320 * config/xtensa/xtensa.md (return, nop, trap): Correct values of
2321 the attribute "length" that depends on TARGET_DENSITY.
2322 (define_asm_attributes, blockage, frame_blockage): Add missing
2324 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
2325 dependent option, however, preparatory work for now.
2327 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2329 * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
2330 Pass through the block length / loop count conditions if
2331 zero-overhead looping is configured and active,
2333 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2335 * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
2336 Split into individual signedness, in order to use libcall
2337 "__umulsidi3" but not the other.
2338 (<u>mulhisi3): Merge into one by using code iterator.
2339 (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
2341 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
2343 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
2344 not generate block copies with vector pair instructions if we are
2347 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
2349 PR rtl-optimization/7061
2350 * expr.cc (emit_group_store): For groups that consist of a single
2351 scalar integer register that hold a complex mode value, use
2352 gen_lowpart to generate a SUBREG to "view_convert" to the complex
2353 mode. For modes of different sizes, first convert to an integer
2354 mode of the appropriate size.
2356 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2358 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
2360 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2362 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
2363 New insn_and_split pattern.
2365 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2367 * config/xtensa/xtensa.md (one_cmplsi2):
2368 Rearrange as an insn_and_split pattern.
2370 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2372 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
2374 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
2376 * config/rs6000/rs6000.md (FP_ISA3): Delete.
2377 (float<QHI:mode><FP_ISA3:mode>2): Rename to...
2378 (float<QHI:mode><SFDF:mode>2): ... this. Adjust.
2379 (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
2380 (*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
2381 (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
2382 (floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust.
2383 (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
2384 (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
2386 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
2388 * config/riscv/riscv.md
2389 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
2390 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
2391 rather than space with FSFLAGS.
2393 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
2395 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
2396 omp_discover_declare_target_fn_r): Don't walk reverse-offload
2399 2022-06-09 Jakub Jelinek <jakub@redhat.com>
2401 * doc/invoke.texi (-Waddress): Fix a typo in small example.
2402 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
2404 2022-06-09 Cui,Lili <lili.cui@intel.com>
2407 * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
2408 from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
2409 unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
2410 (icelake_cost): Ditto.
2411 (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
2412 stores and unaligned stores cost from {6, 6, 6, 10, 15} to
2415 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
2417 * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
2418 and ior insns to one rotate and mask insn.
2419 (define_split for bswapdi register): Likewise.
2421 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
2423 PR middle-end/105874
2424 * expr.cc (expand_expr_real_1) <normal_inner_ref>: New local
2425 variable tem_modifier for calculating the expand_modifier enum to
2426 use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY.
2428 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
2431 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
2432 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
2433 'gen_highpart' bitwise semantics and fix order of highpart and
2434 lowpart depending on target endianness.
2436 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
2438 * config/arm/arm-cpus.in (star-mc1): New cpu.
2439 * config/arm/arm-tables.opt: Regenerate.
2440 * config/arm/arm-tune.md: Regenerate.
2441 * doc/invoke.texi: Update docs.
2443 2022-06-08 liuhongt <hongtao.liu@intel.com>
2447 * config/i386/i386.md (*movsi_internal): Change alternative
2449 (*movdi_internal): Ditto.
2450 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
2452 (*vec_extractv4sf_mem): Ditto.
2453 (*vec_extracthf): Ditto.
2455 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
2458 * config/arm/arm.cc (arm_bfi_1_p): New function.
2459 (arm_bfi_p): New function.
2460 (arm_rtx_costs_internal): Add costs for BFI idioms.
2461 (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
2462 * config/arm/constraints.md (Dj): New constraint.
2463 * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
2464 (insv_zero): Convert to an insn with a split.
2465 (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
2467 2022-06-07 liuhongt <hongtao.liu@intel.com>
2470 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
2473 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
2475 PR middle-end/105853
2477 * calls.cc (load_register_parameters): Call store_constructor
2478 and int_expr_size directly instead of expanding via expand_expr.
2479 * expr.cc (static void store_constructor): Don't prototype here.
2480 (static HOST_WIDE_INT int_expr_size): Likewise.
2481 (store_constructor): No longer static.
2482 (int_expr_size): Likewise, no longer static.
2483 * expr.h (store_constructor): Prototype here.
2484 (int_expr_size): Prototype here.
2486 2022-06-07 Jan Beulich <jbeulich@suse.com>
2489 2022-06-03 Jan Beulich <jbeulich@suse.com>
2491 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
2492 * configure.ac: Check for objcopy, producing
2493 ORIGINAL_OBJCOPY_FOR_TARGET.
2494 * configure: Update accordingly.
2495 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
2498 2022-06-07 Jakub Jelinek <jakub@redhat.com>
2500 * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
2501 * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
2502 Adjust clause printing style depending on
2503 OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
2505 2022-06-07 Jan Beulich <jbeulich@suse.com>
2507 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
2509 * config/i386/i386-builtin-types.def: New function type
2510 (V4DI, V32QI, V32QI).
2511 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
2512 V4DI_FTYPE_V32QI_V32QI.
2514 2022-06-07 Jan Beulich <jbeulich@suse.com>
2516 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
2517 into account for reg-only insns.
2519 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
2521 * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
2522 IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
2523 TARGET_CMOVE's (scalar integer) conditional moves.
2524 * config/i386/sse.md (define_split): Recognize XOP's vpcmov
2525 from its equivalent (canonical) pxor;pand;pxor sequence.
2527 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
2529 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
2532 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
2534 * config.in: Regenerate.
2535 * configure: Regenerate.
2536 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
2538 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
2541 * calls.cc (load_register_parameters): When loading a suitable
2542 immediate_const_ctor_p VAR_DECL into a single word_mode register,
2543 construct it directly in a pseudo rather than read it (by parts)
2545 * expr.cc (int_expr_size): Make tree argument a const_tree.
2546 (immediate_const_ctor_p): Helper predicate. Return true for
2547 simple constructors that may be materialized in a register.
2548 (expand_expr_real_1) [VAR_DECL]: When expanding a constant
2549 VAR_DECL with a suitable immediate_const_ctor_p constructor
2550 use store_constructor to materialize it directly in a pseudo.
2551 * expr.h (immediate_const_ctor_p): Prototype here.
2552 * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
2553 VALUE argument from tree to const_tree.
2554 * varasm.h (initializer_constant_valid_for_bitfield_p): Update
2557 2022-06-04 Jakub Jelinek <jakub@redhat.com>
2560 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
2561 *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
2562 bits of mask aren't all set, use operands[2] mode for the AND
2563 operation instead of always SImode.
2565 2022-06-03 Jakub Jelinek <jakub@redhat.com>
2568 PR middle-end/105777
2569 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
2570 x > stype_max / cst || x < stype_min / cst): New simplification.
2572 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
2574 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
2576 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
2577 * value-range.h (Value_Range::Value_Range): Implement copy
2578 constructor for Value_Range.
2580 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
2582 * value-range.h (struct vrange_traits): Remove.
2583 (is_a): Rewrite without vrange_traits.
2586 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
2588 * value-range.cc (vrange::contains_p): Implement.
2589 (vrange::type): Return void.
2590 (vrange::supports_type_p): Implement.
2591 (irange::fits_p): Same.
2592 (vrange::set_undefined): Same.
2593 (irange::set_nonnegative): Same.
2594 (vrange::set_varying): Same.
2595 (vrange::union_): Same.
2596 (unsupported_range::set): Move to vrange.
2597 (unsupported_range::type): Move to vrange.
2598 (vrange::intersect): Implement for varying and undefined.
2599 (vrange::zero_p): Implement.
2600 (unsupported_range::supports_type_p): Move to vrange.
2601 (vrange::nonzero_p): Implement.
2602 (unsupported_range::set_undefined): Move to vrange.
2603 (unsupported_range::set_varying): Same.
2604 (unsupported_range::dump): Same.
2605 (unsupported_range::union_): Same. Implement for varying and
2607 (unsupported_range::intersect): Move to vrange.
2608 (unsupported_range::zero_p): Same.
2609 (unsupported_range::nonzero_p): Same.
2610 (unsupported_range::set_nonzero): Same.
2611 (unsupported_range::set_zero): Same.
2612 (unsupported_range::set_nonnegative): Same.
2613 (unsupported_range::fits_p): Same.
2614 * value-range.h (class vrange): Remove abstract markers for most
2616 (class unsupported_range): Remove most methods as they will now be
2617 inherited from vrange.
2619 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
2621 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
2622 an object level supports_type_p for irange and a static
2623 Value_Range::supports_type_p.
2624 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
2625 (fold_using_range::range_of_address): Same.
2626 (fold_using_range::range_of_builtin_call): Same.
2627 * gimple-range-fold.h (gimple_range_type): Same.
2628 (gimple_range_ssa_p): Same.
2629 * gimple-range-path.cc (path_range_query::internal_range_of_expr):
2631 (path_range_query::range_of_stmt): Same.
2632 (path_range_query::add_to_imports): Same.
2633 * gimple-range.cc (gimple_ranger::range_on_edge): Same.
2634 (gimple_ranger::export_global_ranges): Same.
2635 * gimple-ssa-evrp-analyze.cc
2636 (evrp_range_analyzer::record_ranges_from_phis): Same.
2637 * range-op.cc (range_operator::wi_fold): Same.
2638 (range_operator::fold_range): Same.
2639 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
2640 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
2641 (evaluate_control_stmt_using_entry_checks): Same.
2642 * tree-ssa-threadedge.cc
2643 (hybrid_jt_simplifier::compute_ranges_from_state): Same.
2644 * tree-vrp.cc (supported_types_p): Same.
2645 * value-query.cc (range_query::value_of_expr): Same.
2646 (range_query::value_on_edge): Same.
2647 (range_query::value_of_stmt): Same.
2648 (range_query::get_tree_range): Same.
2649 (get_range_global): Same.
2650 (global_range_query::range_of_expr): Same.
2651 * value-range-equiv.h (class value_range_equiv): Same.
2652 * value-range.cc (irange::supports_type_p): Same.
2653 (unsupported_range::supports_type_p): Same.
2654 * value-range.h (enum value_range_discriminator): Same.
2655 (Value_Range::init): Same.
2656 (Value_Range::supports_type_p): Same.
2657 (irange::supports_type_p): Same.
2658 (irange::supports_p): Same.
2659 (vrange::supports_type_p): Same.
2660 (vrange_allocator::alloc_vrange): Same.
2662 2022-06-03 Jan Beulich <jbeulich@suse.com>
2664 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
2665 * configure.ac: Check for objcopy, producing
2666 ORIGINAL_OBJCOPY_FOR_TARGET.
2667 * configure: Update accordingly.
2668 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
2671 2022-06-03 Jan Beulich <jbeulich@suse.com>
2673 * config/i386/mmx.md (mmx_psadbw): Convert to expander.
2674 (*mmx_psadbw): New. Mark as commutative.
2675 * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
2676 (*<sse2_avx2>_psadbw): New. Mark as commutative.
2678 2022-06-03 Alexandre Oliva <oliva@adacore.com>
2680 PR tree-optimization/105665
2681 PR tree-optimization/100810
2682 * tree-ssa-loop-ivopts.cc
2683 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
2684 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
2685 (find_ssa_undef): Check precomputed flag and intervening uses.
2686 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
2688 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2690 * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
2691 tree-logical-location.o.
2692 (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
2693 (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
2694 * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
2695 (sarif-stderr, sarif-file): New enum values.
2696 * diagnostic-client-data-hooks.h: New file.
2697 * diagnostic-format-sarif.cc: New file.
2698 * diagnostic-path.h (enum diagnostic_event::verb): New enum.
2699 (enum diagnostic_event::noun): New enum.
2700 (enum diagnostic_event::property): New enum.
2701 (struct diagnostic_event::meaning): New struct.
2702 (diagnostic_event::get_logical_location): New vfunc.
2703 (diagnostic_event::get_meaning): New vfunc.
2704 (simple_diagnostic_event::get_logical_location): New vfunc impl.
2705 (simple_diagnostic_event::get_meaning): New vfunc impl.
2706 * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
2707 (diagnostic_initialize): Initialize m_client_data_hooks.
2708 (diagnostic_finish): Clean up m_client_data_hooks.
2709 (diagnostic_event::meaning::dump_to_pp): New.
2710 (diagnostic_event::meaning::maybe_get_verb_str): New.
2711 (diagnostic_event::meaning::maybe_get_noun_str): New.
2712 (diagnostic_event::meaning::maybe_get_property_str): New.
2713 (get_cwe_url): Make non-static.
2714 (diagnostic_output_format_init): Handle
2715 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
2716 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
2717 * diagnostic.h (enum diagnostics_output_format): Add
2718 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
2719 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
2720 (class diagnostic_client_data_hooks): New forward decl.
2721 (class logical_location): New forward decl.
2722 (diagnostic_context::m_client_data_hooks): New field.
2723 (diagnostic_output_format_init_sarif_stderr): New decl.
2724 (diagnostic_output_format_init_sarif_file): New decl.
2725 (get_cwe_url): New decl.
2726 * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
2728 * doc/sourcebuild.texi (Scan a particular file): Add
2729 scan-sarif-file and scan-sarif-file-not.
2730 * langhooks-def.h (lhd_get_sarif_source_language): New decl.
2731 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
2732 (LANG_HOOKS_INITIALIZER): Add
2733 LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
2734 * langhooks.cc (lhd_get_sarif_source_language): New.
2735 * langhooks.h (lang_hooks::get_sarif_source_language): New field.
2736 * logical-location.h: New file.
2737 * plugin.cc (struct for_each_plugin_closure): New.
2738 (for_each_plugin_cb): New.
2739 (for_each_plugin): New.
2740 * plugin.h (for_each_plugin): New decl.
2741 * tree-diagnostic-client-data-hooks.cc: New file.
2742 * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
2743 (tree_diagnostics_defaults): Populate m_client_data_hooks.
2744 * tree-logical-location.cc: New file.
2745 * tree-logical-location.h: New file.
2747 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2749 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
2751 (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
2752 (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
2753 (diagnostics_output_format): Add json-stderr and json-file.
2754 * diagnostic-format-json.cc (json_flush_to_file): New.
2755 (json_final_cb): Convert to...
2756 (json_flush_to_file): ...this, ...
2757 (json_stderr_final_cb): ...this, and...
2758 (json_file_final_cb): ...this.
2759 (diagnostic_output_format_init): Move to diagnostic.cc.
2760 (json_output_base_file_name): New.
2761 (diagnostic_output_format_init_json): New.
2762 (diagnostic_output_format_init_json_stderr): New.
2763 (diagnostic_output_format_init_json_file): New.
2764 * diagnostic.cc (diagnostic_output_format_init): Move here from
2765 diagnostic-format-json.cc; update for changes to enum.
2766 * diagnostic.h (enum diagnostics_output_format): Rename
2767 DIAGNOSTICS_OUTPUT_FORMAT_JSON to
2768 DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
2769 DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
2770 (diagnostic_output_format_init): Add base_file_name param.
2771 (diagnostic_output_format_init_json_stderr): New decl.
2772 (diagnostic_output_format_init_json_file): New dec.
2773 * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
2774 "json-file". Rewrite so that the existing "json" is a synonym of
2776 * gcc.cc (driver_handle_option): Pass dump_base_name to
2777 diagnostic_output_format_init.
2778 * opts.cc (common_handle_option): Likewise.
2780 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2782 * json.cc (string::print): Fix escaping of '\'.
2784 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
2786 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
2787 (-1 << 31) for the single-bit case, when operating on (1 << 31)
2789 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
2790 any single-bit value, moving the special case for (1 << 31) to
2791 riscv_build_integer_1 (in riscv.c).
2793 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
2796 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
2797 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
2799 2022-06-02 Jakub Jelinek <jakub@redhat.com>
2802 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
2803 from AND and its operands and just verify operands[2] has HImode,
2804 SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask
2805 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
2806 just throw away the masking. Use force_reg before calling
2808 (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
2809 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
2810 just throw away the masking.
2811 (*ashl<mode>3_doubleword): Rename to ...
2812 (ashl<mode>3_doubleword): ... this.
2813 (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
2814 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
2815 Use force_reg before calling gen_lowpart.
2816 (*<insn><mode>3_mask): Likewise.
2817 (*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be
2818 a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
2819 case just throw away the masking. Use force_reg before calling
2821 (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
2822 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
2823 throw away the masking.
2824 (*<insn><mode>3_doubleword): Rename to ...
2825 (<insn><mode>3_doubleword): ... this.
2826 (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
2827 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
2828 Use force_reg before calling gen_lowpart.
2829 (splitter after it): Remove :SI from AND and its operands and just
2830 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
2831 (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
2832 operands and just verify operands[1] has HImode, SImode or for
2833 TARGET_64BIT DImode. Use force_reg before calling gen_lowpart.
2834 (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
2835 * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
2836 ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
2838 2022-06-02 Richard Biener <rguenther@suse.de>
2840 PR tree-optimization/101668
2841 * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
2842 for vector types with compatible lane types.
2843 (vect_build_slp_tree_2): Deal with this.
2844 (vect_add_slp_permutation): Adjust. Emit lowpart/concat
2845 special cases without VEC_PERM.
2846 (vectorizable_slp_permutation): Select the operand vector
2847 type and relax requirements. Handle identity permutes
2848 with mismatching operand types.
2849 * optabs-query.cc (can_vec_perm_const_p): Only allow variable
2850 permutes for op_mode == mode.
2852 2022-06-02 Richard Biener <rguenther@suse.de>
2854 PR tree-optimization/105802
2855 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
2856 Make sure to also compute the range in the type of the switch index.
2858 2022-06-01 David Seifert <soap@gentoo.org>
2861 * configure: Regenerate.
2863 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
2865 PR rtl-optimization/105638
2866 * df-core.cc (df_find_single_def_src): Moved and renamed from
2867 find_single_def_src in loop-iv.cc. Change the argument to rtx
2868 and use rtx_equal_p. Return null for partial or conditional
2870 * df.h (df_find_single_def_src): New prototype.
2871 * dse.cc (record_store): Use the constant source if the source
2872 register is set only once.
2873 * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
2874 (replace_single_def_regs): Replace find_single_def_src with
2875 df_find_single_def_src.
2877 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
2879 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
2881 (explicit_arch): Rename to selected_arch.
2882 (x_aarch64_override_tune_string): Remove.
2883 (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
2884 (aarch64_override_tune_string): Add Save so it gets saved/restored.
2885 * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
2886 * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
2887 (processor): Remove archtecture_version field.
2888 (selected_arch): Remove global.
2889 (selected_cpu): Remove global.
2890 (selected_tune): Remove global.
2891 (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
2892 (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
2893 (aarch64_override_options): Further simplify code to only set
2894 selected_arch and selected_tune globals.
2895 (aarch64_option_save): Remove now that target options are saved.
2896 (aarch64_option_restore): Remove redundant target option restores.
2897 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
2899 * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
2900 * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
2901 (aarch64_ra_sign_key): Remove.
2903 2022-06-01 Jakub Jelinek <jakub@redhat.com>
2906 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
2907 x > ~(utype)0 / cst): New simplification.
2909 2022-06-01 Richard Biener <rguenther@suse.de>
2911 PR tree-optimization/105786
2912 * tree-loop-distribution.cc
2913 (loop_distribution::transform_reduction_loop): Only do strlen
2914 replacement for integer type reductions.
2916 2022-06-01 Jakub Jelinek <jakub@redhat.com>
2918 PR tree-optimization/105770
2919 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
2920 CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
2922 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
2924 * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
2925 (sbr_vector::sbr_vector): Same.
2926 (sbr_vector::grow): Same.
2927 (sbr_vector::set_bb_range): Same.
2928 (sbr_vector::get_bb_range): Same.
2929 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
2930 (sbr_sparse_bitmap::set_bb_range): Same.
2931 (sbr_sparse_bitmap::get_bb_range): Same.
2932 (block_range_cache::set_bb_range): Same.
2933 (block_range_cache::get_bb_range): Same.
2934 (block_range_cache::dump): Same.
2935 (ssa_global_cache::get_global_range): Same.
2936 (ssa_global_cache::set_global_range): Same.
2937 (ssa_global_cache::clear): Same.
2938 (ssa_global_cache::dump): Same.
2939 (ranger_cache::get_global_range): Same.
2940 (ranger_cache::set_global_range): Same.
2941 (ranger_cache::range_of_def): Same.
2942 (ranger_cache::entry_range): Same.
2943 (ranger_cache::exit_range): Same.
2944 (ranger_cache::edge_range): Same.
2945 (ranger_cache::range_of_expr): Same.
2946 (ranger_cache::range_on_edge): Same.
2947 (ranger_cache::block_range): Same.
2948 (ranger_cache::propagate_cache): Same.
2949 (ranger_cache::fill_block_cache): Same.
2950 (ranger_cache::range_from_dom): Same.
2951 * gimple-range-cache.h: Same.
2952 * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
2954 (gimple_outgoing_range::switch_edge_range): Same.
2955 (gimple_outgoing_range::edge_range_p): Same.
2956 * gimple-range-edge.h: Same.
2957 * gimple-range-fold.cc (fur_source::get_operand): Same.
2958 (fur_source::get_phi_operand): Same.
2959 (fur_edge::get_operand): Same.
2960 (fur_edge::get_phi_operand): Same.
2961 (fur_stmt::get_operand): Same.
2962 (fur_stmt::get_phi_operand): Same.
2963 (fur_list::fur_list): Same.
2964 (fur_list::get_operand): Same.
2965 (fur_list::get_phi_operand): Same.
2967 (adjust_imagpart_expr): Same.
2968 (adjust_realpart_expr): Same.
2969 (gimple_range_adjustment): Same.
2970 (fold_using_range::fold_stmt): Same.
2971 (fold_using_range::range_of_range_op): Same.
2972 (fold_using_range::range_of_address): Same.
2973 (fold_using_range::range_of_phi): Same.
2974 (fold_using_range::range_of_call): Same.
2975 (fold_using_range::range_of_builtin_call): Same.
2976 (fold_using_range::range_of_builtin_int_call): Same.
2977 (fold_using_range::range_of_cond_expr): Same.
2978 (fur_source::register_outgoing_edges): Same.
2979 * gimple-range-fold.h (fold_range): Same.
2980 (gimple_range_type): Same.
2981 (gimple_range_ssa_p): Same.
2982 * gimple-range-gori.cc (gimple_range_calc_op1): Same.
2983 (gimple_range_calc_op2): Same.
2984 (gori_compute::compute_operand_range_switch): Same.
2985 (gori_compute::compute_operand_range): Same.
2986 (gori_compute::logical_combine): Same.
2987 (gori_compute::compute_logical_operands): Same.
2988 (gori_compute::compute_operand1_range): Same.
2989 (gori_compute::compute_operand2_range): Same.
2990 (gori_compute::compute_operand1_and_operand2_range): Same.
2991 (gori_compute::outgoing_edge_range_p): Same.
2992 (gori_compute::condexpr_adjust): Same.
2993 * gimple-range-gori.h (gimple_range_calc_op1): Same.
2994 (gimple_range_calc_op2): Same.
2995 * gimple-range-path.cc (path_range_query::get_cache): Same.
2996 (path_range_query::set_cache): Same.
2997 (path_range_query::range_on_path_entry): Same.
2998 (path_range_query::internal_range_of_expr): Same.
2999 (path_range_query::range_of_expr): Same.
3000 (path_range_query::ssa_range_in_phi): Same.
3001 (path_range_query::range_defined_in_block): Same.
3002 (path_range_query::compute_ranges_in_phis): Same.
3003 (path_range_query::compute_ranges_in_block): Same.
3004 (path_range_query::add_to_imports): Same.
3005 (path_range_query::range_of_stmt): Same.
3006 * gimple-range-path.h: Same.
3007 * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
3008 (gimple_infer_range::~side_effect_manager): Same.
3009 (gimple_infer_range::get_nonzero): Same.
3010 (gimple_infer_range::maybe_adjust_range): Same.
3011 (gimple_infer_range::add_range): Same.
3012 * gimple-range-infer.h: Same.
3013 * gimple-range-tests.cc: Same.
3014 * gimple-range-trace.cc (range_tracer::trailer): Same.
3015 (debug_seed_ranger): Same.
3016 * gimple-range-trace.h: Same.
3017 * gimple-range.cc (gimple_ranger::range_of_expr): Same.
3018 (gimple_ranger::range_on_entry): Same.
3019 (gimple_ranger::range_on_exit): Same.
3020 (gimple_ranger::range_on_edge): Same.
3021 (gimple_ranger::fold_range_internal): Same.
3022 (gimple_ranger::range_of_stmt): Same.
3023 (gimple_ranger::prefill_name): Same.
3024 (gimple_ranger::prefill_stmt_dependencies): Same.
3025 (gimple_ranger::export_global_ranges): Same.
3026 (gimple_ranger::dump_bb): Same.
3027 * gimple-range.h: Same.
3028 * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
3029 (memmodel_to_uhwi): Same.
3030 * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
3031 (determine_value_range): Same.
3032 (record_nonwrapping_iv): Same.
3033 (infer_loop_bounds_from_signedness): Same.
3034 (scev_var_range_cant_overflow): Same.
3035 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
3036 * value-query.cc (range_query::range_on_edge): Same.
3037 (range_query::range_of_stmt): Same.
3038 (range_query::value_of_expr): Same.
3039 (range_query::value_on_edge): Same.
3040 (range_query::value_of_stmt): Same.
3041 (range_query::get_tree_range): Same.
3042 (update_global_range): Same.
3043 (get_range_global): Same.
3044 (gimple_range_global): Same.
3045 (global_range_query::range_of_expr): Same.
3046 (range_query::query_relation): Same.
3047 * value-query.h (gimple_range_global): Same.
3048 (update_global_range): Same.
3049 * vr-values.cc (vr_values::range_of_expr): Same.
3050 (bounds_of_var_in_loop): Same.
3051 (simplify_using_ranges::vrp_visit_cond_stmt): Same.
3052 * vr-values.h (class vr_values): Same.
3053 * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
3055 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3057 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
3059 (sbr_vector::grow): Same.
3060 (sbr_vector::set_bb_range): Same.
3061 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
3062 (sbr_sparse_bitmap::set_bb_range): Same.
3063 (block_range_cache::~block_range_cache): Same.
3064 (block_range_cache::set_bb_range): Same.
3065 (ssa_global_cache::ssa_global_cache): Same.
3066 (ssa_global_cache::~ssa_global_cache): Same.
3067 (ssa_global_cache::set_global_range): Same.
3068 * gimple-range-cache.h (block_range_cache): Same.
3069 (ssa_global_cache): Same.
3070 * gimple-range-edge.cc
3071 (gimple_outgoing_range::calc_switch_ranges): Same.
3072 * gimple-range-edge.h (gimple_outgoing_range): Same.
3073 * gimple-range-infer.cc (infer_range_manager::get_nonzero):
3075 (infer_range_manager::add_range): Same.
3076 * gimple-range-infer.h (class infer_range_manager): Same.
3077 * value-range.h (class irange_allocator): Rename to...
3078 (class vrange_allocator): ...this.
3079 (irange_allocator::irange_allocator): New.
3080 (vrange_allocator::vrange_allocator): New.
3081 (irange_allocator::~irange_allocator): New.
3082 (vrange_allocator::~vrange_allocator): New.
3083 (irange_allocator::get_memory): Rename to...
3084 (vrange_allocator::alloc): ...this.
3085 (vrange_allocator::alloc_vrange): Rename from...
3086 (irange_allocator::allocate): ...this.
3087 (vrange_allocator::alloc_irange): New.
3089 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3091 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
3092 vrange and convert range_op_handler function calls to use the
3093 identically named object.
3094 * gimple-range-fold.cc (gimple_range_operand1): Same.
3095 (gimple_range_operand2): Same.
3096 (fold_using_range::fold_stmt): Same.
3097 (fold_using_range::range_of_range_op): Same.
3098 (fold_using_range::range_of_builtin_ubsan_call): Same.
3099 (fold_using_range::relation_fold_and_or): Same.
3100 (fur_source::register_outgoing_edges): Same.
3101 * gimple-range-fold.h (gimple_range_handler): Remove.
3102 * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
3103 (gimple_range_calc_op2): Same.
3104 (range_def_chain::get_def_chain): Same.
3105 (gori_compute::compute_operand_range): Same.
3106 (gori_compute::condexpr_adjust): Same.
3107 * gimple-range.cc (gimple_ranger::prefill_name): Same.
3108 (gimple_ranger::prefill_stmt_dependencies): Same.
3109 * range-op.cc (get_bool_state): Same.
3110 (class operator_equal): Add using clause.
3111 (class operator_not_equal): Same.
3112 (class operator_lt): Same.
3113 (class operator_le): Same.
3114 (class operator_gt): Same.
3115 (class operator_ge): Same.
3116 (class operator_plus): Same.
3117 (class operator_minus): Same.
3118 (class operator_mult): Same.
3119 (class operator_exact_divide): Same.
3120 (class operator_lshift): Same.
3121 (class operator_rshift): Same.
3122 (class operator_cast): Same.
3123 (class operator_logical_and): Same.
3124 (class operator_bitwise_and): Same.
3125 (class operator_logical_or): Same.
3126 (class operator_bitwise_or): Same.
3127 (class operator_bitwise_xor): Same.
3128 (class operator_trunc_mod): Same.
3129 (class operator_logical_not): Same.
3130 (class operator_bitwise_not): Same.
3131 (class operator_cst): Same.
3132 (class operator_identity): Same.
3133 (class operator_unknown): Same.
3134 (class operator_abs): Same.
3135 (class operator_negate): Same.
3136 (class operator_addr_expr): Same.
3137 (class pointer_or_operator): Same.
3138 (operator_plus::op1_range): Adjust for vrange.
3139 (operator_minus::op1_range): Same.
3140 (operator_mult::op1_range): Same.
3141 (operator_cast::op1_range): Same.
3142 (operator_bitwise_not::fold_range): Same.
3143 (operator_negate::fold_range): Same.
3144 (range_op_handler): Rename to...
3145 (get_handler): ...this.
3146 (range_op_handler::range_op_handler): New.
3147 (range_op_handler::fold_range): New.
3148 (range_op_handler::op1_range): New.
3149 (range_op_handler::op2_range): New.
3150 (range_op_handler::lhs_op1_relation): New.
3151 (range_op_handler::lhs_op2_relation): New.
3152 (range_op_handler::op1_op2_relation): New.
3153 (range_cast): Adjust for vrange.
3154 * range-op.h (range_op_handler): Remove function.
3155 (range_cast): Adjust for vrange.
3156 (class range_op_handler): New.
3157 (get_bool_state): Adjust for vrange.
3158 (empty_range_varying): Same.
3159 (relop_early_resolve): Same.
3160 * tree-data-ref.cc (compute_distributive_range): Same.
3161 * tree-vrp.cc (get_range_op_handler): Remove.
3162 (range_fold_binary_symbolics_p): Use range_op_handler class
3163 instead of get_range_op_handler.
3164 (range_fold_unary_symbolics_p): Same.
3165 (range_fold_binary_expr): Same.
3166 (range_fold_unary_expr): Same.
3167 * value-query.cc (range_query::get_tree_range): Adjust for vrange.
3169 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3171 * gimple-range-fold.h (gimple_range_type): Check type before
3172 calling supports_type_p.
3173 * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
3174 * value-query.cc (range_query::get_tree_range): Same.
3175 * value-range.cc (Value_Range::lower_bound): New.
3176 (Value_Range::upper_bound): New.
3177 (Value_Range::dump): New.
3178 * value-range.h (class Value_Range): New.
3179 (irange::supports_type_p): Do not check if type is non-zero.
3181 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3183 * value-range-equiv.cc (value_range_equiv::set): New.
3184 * value-range-equiv.h (class value_range_equiv): Make set method
3186 Remove default bitmap argument from set method.
3187 * value-range.cc (vrange::contains_p): New.
3188 (vrange::singleton_p): New.
3189 (vrange::operator=): New.
3190 (vrange::operator==): New.
3191 (irange::fits_p): Move to .cc file.
3192 (irange::set_nonnegative): New.
3193 (unsupported_range::unsupported_range): New.
3194 (unsupported_range::set): New.
3195 (unsupported_range::type): New.
3196 (unsupported_range::set_undefined): New.
3197 (unsupported_range::set_varying): New.
3198 (unsupported_range::dump): New.
3199 (unsupported_range::union_): New.
3200 (unsupported_range::intersect): New.
3201 (unsupported_range::zero_p): New.
3202 (unsupported_range::nonzero_p): New.
3203 (unsupported_range::set_nonzero): New.
3204 (unsupported_range::set_zero): New.
3205 (unsupported_range::set_nonnegative): New.
3206 (unsupported_range::fits_p): New.
3207 (irange::set): Call irange::set_undefined.
3208 (irange::verify_range): Check discriminator field.
3209 (irange::dump): Dump [irange] marker.
3210 (irange::debug): Move to...
3211 (vrange::debug): ...here.
3212 (dump_value_range): Accept vrange.
3214 * value-range.h (enum value_range_discriminator): New.
3215 (class vrange): New.
3216 (class unsupported_range): New.
3217 (struct vrange_traits): New.
3220 (class irange): Inherit from vrange.
3221 (dump_value_range): Adjust for vrange.
3222 (irange::kind): Rename to...
3223 (vrange::kind): ...this.
3224 (irange::varying_p): Rename to...
3225 (vrange::varying_p): ...this.
3226 (irange::undefined_p): Rename to...
3227 (vrange::undefined_p): ...this.
3228 (irange::irange): Set discriminator.
3229 (irange::union_): Convert to irange before passing to irange
3231 (irange::intersect): Same.
3232 (vrange::supports_type_p): New.
3233 * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
3234 NULL bitmap argument to value_range_equiv::set.
3235 (vr_values::extract_range_basic): Same.
3237 2022-06-01 Richard Biener <rguenther@suse.de>
3239 PR tree-optimization/105763
3240 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
3241 Check gimple_range_ssa_p.
3243 2022-05-31 Jason Merrill <jason@redhat.com>
3245 * Makefile.in (TAGS): Look at libcpp/*.cc.
3247 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
3249 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
3250 Prefix mode names with E_.
3252 2022-05-31 Alan Modra <amodra@gmail.com>
3254 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
3255 spelling of DW_AT_namelist_item.
3257 2022-05-31 Jakub Jelinek <jakub@redhat.com>
3259 * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
3260 allow var to be private in the outer context.
3261 (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
3262 to build_outer_var_ref.
3264 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3266 * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
3267 tieable with DImode on TARGET_64BIT, and SCmode tieable with
3268 V2SFmode, and DCmode with V2DFmode.
3270 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3272 PR rtl-optimization/101617
3273 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
3274 special case (indicated by negate_cc_compare_p) to generate a
3275 -1/0 mask using neg;sbb.
3276 * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
3277 to generate an *x86_neg<mode>_ccc instruction.
3278 (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
3279 generate a *x86_mov<mode>cc_0_m1_neg instruction.
3281 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3283 * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
3284 SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
3285 <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
3287 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3290 * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
3291 DI mode equality/inequality using XOR here. Instead generate a
3292 COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
3293 * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
3294 gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
3295 (general_scalar_chain::convert_compare): New function to convert
3296 scalar equality/inequality comparison into vector operations.
3297 (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
3298 new convert_compare helper method.
3299 (convertible_comparion_p): Update to match doubleword COMPARE
3300 of two register, memory or integer constant operands.
3301 * config/i386/i386-features.h (general_scalar_chain::convert_compare):
3302 Prototype/declare member function here.
3303 * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
3304 only allow new doubleword modes for EQ and NE operators.
3305 (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
3306 doubleword comparison into a pair of XORs followed by an IOR to
3307 set the (zero) flags register, optimizing the XORs if possible.
3308 * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
3309 iterator; V_AVX is (currently) only used by ptest.
3310 (sse4_1 mode attribute): Update to support V1TI and V2TI.
3312 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
3314 * config/i386/i386.md: Remove constraints when used with
3315 const_int_operand, const0_operand, const_1_operand, constm1_operand,
3316 const8_operand, const128_operand, const248_operand, const123_operand,
3317 const2367_operand, const1248_operand, const359_operand,
3318 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
3319 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
3320 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
3321 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
3322 const_0_to_255_mul_8_operand, const_1_to_31_operand,
3323 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
3324 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
3325 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
3326 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
3327 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
3328 const_24_to_27_operand and const_28_to_31_operand.
3329 * config/i386/mmx.md: Ditto.
3330 * config/i386/sse.md: Ditto.
3331 * config/i386/subst.md: Ditto.
3332 * config/i386/sync.md: Ditto.
3334 2022-05-30 Jan Beulich <jbeulich@suse.com>
3336 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
3339 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3341 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
3343 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
3346 * config/darwin.h: Move versions-specific handling of multiply_defined
3347 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
3349 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
3352 * doc/sourcebuild.texi: Add entries for the c++tools,
3353 gotools, libbacktrace, libcc1, libcody, liboffloadmic,
3354 and libsanitizer directories. Remove entry for boehm-gc.
3355 Fix alphabetization for libquadmath.
3357 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
3359 * config/avr/avr-mcus.def: Add device definitions.
3360 * doc/avr-mmcu.texi: Corresponding changes.
3361 * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
3363 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
3364 from leaking into cc1.
3366 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
3369 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
3370 is special) for various scenarios.
3372 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
3374 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
3375 describing this macro.
3377 2022-05-27 Richard Biener <rguenther@suse.de>
3379 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
3381 2022-05-27 Martin Jambor <mjambor@suse.cz>
3384 * ipa-prop.cc (propagate_controlled_uses): Check type of the
3385 constant before adding a LOAD reference.
3387 2022-05-27 Jakub Jelinek <jakub@redhat.com>
3389 * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
3390 to OMP_CLAUSE_ENTER.
3391 * tree.h (OMP_CLAUSE_ENTER_TO): Define.
3392 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
3393 OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
3394 * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
3395 instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
3396 "to" instead of "enter".
3397 * tree-nested.cc (convert_nonlocal_omp_clauses,
3398 convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
3399 OMP_CLAUSE_TO_DECLARE.
3401 2022-05-27 Richard Biener <rguenther@suse.de>
3403 PR tree-optimization/105726
3404 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
3405 Constrain array-of-flexarray case more.
3407 2022-05-27 Jakub Jelinek <jakub@redhat.com>
3410 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
3411 to (X &) z + w if -fsanitize=null during GENERIC folding.
3413 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
3415 * match.pd (match_zero_one_valued_p): New predicate.
3416 (mult @0 @1): Use zero_one_valued_p for optimization to the
3417 expression "bit_and @0 @1".
3418 (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
3419 (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
3420 (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
3421 (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
3422 Remove three redundant transforms obsoleted by the three above.
3424 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
3426 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
3427 to split a combined "and;cmp" sequence into "not;test".
3429 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3431 * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
3432 (bswapsi2_internal): Revise the template and condition, and add
3433 detection code for preceding the same insn in order to omit a
3434 "SSAI 8" instruction of the latter.
3435 (bswapdi2): Suppress built-in insn expansion with the corresponding
3436 library call when optimizing for size.
3438 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3440 * config/xtensa/xtensa-protos.h
3441 (xtensa_expand_block_set_unrolled_loop,
3442 xtensa_expand_block_set_small_loop): New prototypes.
3443 * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
3444 xtensa_expand_block_set_unrolled_loop,
3445 xtensa_expand_block_set_small_loop): New functions.
3446 * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
3447 * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
3449 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3451 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
3452 Make instruction counting more accurate, and simplify emitting insns.
3454 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3456 * config/xtensa/constraints.md (M, O): Use the macro.
3457 * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
3458 sext_fldsz_operand): Ditto.
3459 * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
3460 xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
3461 xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
3462 xtensa_expand_prologue): Ditto.
3463 * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
3465 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3467 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
3468 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
3471 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
3473 * gimple-range-cache.cc: Adjust comments.
3474 * gimple-range-infer.cc: Adjust comments.
3475 * gimple-range-infer.h: Adjust comments.
3476 * gimple-range.cc: Adjust comments.
3478 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
3480 * Makefile.in (OBJS): Use gimple-range-infer.o.
3481 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
3482 (ranger_cache::range_from_dom): Rename var side_effect to infer.
3483 (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
3484 * gimple-range-cache.h: Include gimple-range-infer.h.
3485 (class ranger_cache): Adjust prototypes, use infer_range_manager.
3486 * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
3487 (gimple_infer_range::*): Rename from stmt_side_effects.
3488 (infer_range_manager::*): Rename from side_effect_manager.
3489 * gimple-range-side-effect.cc: Rename.
3490 * gimple-range-side-effect.h: Rename.
3491 * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
3492 (class gimple_infer_range): Rename from stmt_side_effects.
3493 (class infer_range_manager): Rename from side_effect_manager.
3494 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
3495 from register_side_effects.
3496 * gimple-range.h (register_inferred_ranges): Adjust prototype.
3497 * range-op.h: Adjust comment.
3498 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
3499 (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
3501 2022-05-25 Simon Cook <simon.cook@embecosm.com>
3503 * config/riscv/arch-canonicalize: Only add mafd extension if
3504 base was rv32/rv64g.
3506 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
3508 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
3510 2022-05-25 Jakub Jelinek <jakub@redhat.com>
3513 * asan.cc (has_stmt_been_instrumented_p): For assignments which
3514 are both stores and loads, return true only if both destination
3515 and source have been instrumented.
3517 2022-05-25 Martin Liska <mliska@suse.cz>
3518 Richard Biener <rguenther@suse.de>
3520 * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
3521 * params.opt (max-unswitch-level): Remove.
3522 * doc/invoke.texi (max-unswitch-level): Likewise.
3523 * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
3524 gimplified expressions.
3525 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
3526 (tree_may_unswitch_on): Rename to ...
3527 (find_unswitching_predicates_for_bb): ... this and handle
3529 (get_predicates_for_bb): Likewise.
3530 (set_predicates_for_bb): Likewise.
3531 (init_loop_unswitch_info): Likewise.
3532 (tree_ssa_unswitch_loops): Prepare stuff before calling
3533 tree_unswitch_single_loop.
3534 (tree_unswitch_single_loop): Rework the function using
3535 pre-computed predicates and with a per original loop cost model.
3537 (add_predicate_to_path): Likewise.
3538 (find_range_for_lhs): Likewise.
3539 (simplify_using_entry_checks): Rename to ...
3540 (evaluate_control_stmt_using_entry_checks): ... this, handle
3541 switch statements and improve simplifications using ranger.
3542 (simplify_loop_version): Rework using
3543 evaluate_control_stmt_using_entry_checks.
3544 (evaluate_bbs): New.
3545 (evaluate_loop_insns_for_predicate): Likewise.
3546 (tree_unswitch_loop): Adjust to allow switch statements and
3547 pass in the edge to unswitch.
3548 (clean_up_after_unswitching): New.
3549 (pass_tree_unswitch::execute): Pass down fun.
3551 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
3553 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
3554 counts for the epilog loop.
3556 2022-05-24 Martin Sebor <msebor@redhat.com>
3557 Richard Biener <rguenther@suse.de>
3559 PR middle-end/105604
3560 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
3561 (get_origin_and_offset_r): Remove null handling. Handle variable array
3563 (get_origin_and_offset): Handle null argument here. Simplify.
3564 (alias_offset): Update comment.
3565 * pointer-query.cc (field_at_offset): Update comment. Handle members
3566 of variable-length types.
3568 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3570 * target.def (vec_perm_const): Define new parameter op_mode and
3572 * doc/tm.texi: Regenerate.
3573 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
3574 vec_perm_const hook to add new parameter op_mode and return false
3575 if result and operand modes do not match.
3576 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
3577 * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
3578 * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
3579 * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
3580 * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
3581 * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
3582 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
3583 * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
3584 * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
3586 * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
3587 (ashrv2di3): Likewise.
3588 * optabs.cc (expand_vec_perm_const): Likewise.
3589 * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
3590 * optabs-query.cc (can_vec_perm_const_p): Define new parameter
3591 op_mode and pass it to vec_perm_const hook.
3592 (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
3593 * match.pd (vec_perm X Y CST): Likewise.
3594 * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
3595 * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
3596 (vect_grouped_load_supported): Likewise.
3597 (vect_shift_permute_load_chain): Likewise.
3598 * tree-vect-generic.cc (lower_vec_perm): Likewise.
3599 * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
3600 * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
3601 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
3602 * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
3603 (vect_transform_slp_perm_load): Likewise.
3604 (vectorizable_slp_permutation): Likewise.
3605 * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
3606 (vectorizable_bswap): Likewise.
3607 (scan_store_can_perm_p): Likewise.
3608 (vect_gen_perm_mask_checked): Likewise.
3610 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
3613 * config/i386/i386.opt: Remove Undocumented.
3614 * doc/invoke.texi: Document -mcet-switch.
3616 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
3618 * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
3619 * config/gcn/gcn-opts.h (enum gcn_isa): New.
3620 (TARGET_GCN3): Use enum gcn_isa.
3621 (TARGET_GCN3_PLUS): Likewise.
3622 (TARGET_GCN5): Likewise.
3623 (TARGET_GCN5_PLUS): Likewise.
3624 (TARGET_CDNA1): New.
3625 (TARGET_CDNA1_PLUS): New.
3626 (TARGET_CDNA2): New.
3627 (TARGET_CDNA2_PLUS): New.
3628 (TARGET_M0_LDS_LIMIT): New.
3629 (TARGET_PACKED_WORK_ITEMS): New.
3630 * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
3631 (gcn_option_override): Recognise CDNA ISA variants.
3632 (gcn_omp_device_kind_arch_isa): Support gfx90a.
3633 (gcn_expand_prologue): Make m0 init optional.
3634 Add support for packed work items.
3635 (output_file_start): Support gfx90a.
3636 (gcn_hsa_declare_function_name): Support gfx90a metadata.
3637 * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
3639 * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
3640 (<su>mulsi3_highpart_imm): Likewise.
3641 (<su>mulsidi3): Likewise.
3642 (<su>mulsidi3_imm): Likewise.
3643 * config/gcn/gcn.opt (gpu_type): Add gfx90a.
3644 * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
3645 (main): Support gfx90a.
3646 * config/gcn/t-gcn-hsa: Add gfx90a multilib.
3647 * config/gcn/t-omp-device: Add gfx90a isa.
3649 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
3651 * config.in: Regenerate.
3652 * config/gcn/gcn-hsa.h (X_FIJI): Delete.
3660 (NO_XNACK): New macro.
3661 (NO_SRAM_ECC): New macro.
3662 (SRAMOPT): Keep only v4 variant.
3663 (HSACO3_SELECT_OPT): Delete.
3664 (DRIVER_SELF_SPECS): Delete.
3665 (ASM_SPEC): Remove LLVM 9 support.
3666 * config/gcn/gcn-valu.md
3667 (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
3668 (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
3669 * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
3670 (print_operand_address): Remove assembler bug workaround.
3671 * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
3672 (EF_AMDGPU_SRAM_ECC_V3): Delete.
3673 (SET_XNACK_ON): Delete v3 variants.
3674 (SET_XNACK_OFF): Delete v3 variants.
3675 (TEST_XNACK): Delete v3 variants.
3676 (SET_SRAM_ECC_ON): Delete v3 variants.
3677 (SET_SRAM_ECC_ANY): Delete v3 variants.
3678 (SET_SRAM_ECC_OFF): Delete v3 variants.
3679 (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
3680 (TEST_SRAM_ECC_ANY): Delete v3 variants.
3681 (TEST_SRAM_ECC_ON): Delete v3 variants.
3682 (copy_early_debug_info): Remove v3 support.
3683 (main): Remove v3 support.
3684 * configure: Regenerate.
3685 * configure.ac: Replace all GCN feature checks with a version check.
3687 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
3689 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
3690 i.e. a double word negation of a zero extended operand, to
3693 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
3695 PR tree-optimization/105668
3696 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
3697 V1TImode, just like V2DImode.
3698 * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
3699 Use VI_128 mode iterator instead of VI124_128 to include V2DI.
3700 (vcond_mask_v2div2di): Delete.
3701 (vcond_mask_v1tiv1ti): New define_expand.
3703 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
3705 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
3706 to strncmp for strings of length one.
3708 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
3710 * config/riscv/predicates.md (imm5_operand): Add a new operand type for
3711 prefetch instructions.
3712 * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
3714 (RISCV_ATYPE_SI): New.
3715 (RISCV_ATYPE_DI): New.
3716 * config/riscv/riscv-ftypes.def (0): New.
3718 * config/riscv/riscv.md (riscv_clean_<mode>): New.
3719 (riscv_flush_<mode>): New.
3720 (riscv_inval_<mode>): New.
3721 (riscv_zero_<mode>): New.
3723 (riscv_prefetchi_<mode>): New.
3724 * config/riscv/riscv-cmo.def: New file.
3726 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
3728 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
3729 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
3732 (TARGET_ZICBOZ): New.
3733 (TARGET_ZICBOM): New.
3734 (TARGET_ZICBOP): New.
3735 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
3737 2022-05-24 David Malcolm <dmalcolm@redhat.com>
3739 * tree-vect-slp-patterns.cc: Add "final" and "override" to
3740 vect_pattern::build impls as appropriate.
3742 2022-05-24 David Malcolm <dmalcolm@redhat.com>
3744 * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
3745 implementations, removing redundant "virtual" as appropriate.
3746 * ipa-fnsummary.h: Likewise.
3747 * ipa-modref.cc: Likewise.
3748 * ipa-param-manipulation.cc: Likewise.
3749 * ipa-profile.cc: Likewise.
3750 * ipa-prop.h: Likewise.
3751 * ipa-pure-const.cc: Likewise.
3752 * ipa-reference.cc: Likewise.
3753 * ipa-sra.cc: Likewise.
3754 * symbol-summary.h: Likewise.
3755 * symtab-thunks.cc: Likewise.
3757 2022-05-24 Martin Liska <mliska@suse.cz>
3760 2022-05-24 Martin Liska <mliska@suse.cz>
3762 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
3765 2022-05-24 Martin Liska <mliska@suse.cz>
3767 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
3770 2022-05-24 Bruno Haible <bruno@clisp.org>
3773 * doc/install.texi (Configuration): Add more details about --with-zstd.
3774 Document --with-zstd-include and --with-zstd-lib
3776 2022-05-24 Richard Biener <rguenther@suse.de>
3778 PR middle-end/105711
3779 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
3781 (extract_bit_field_1): Pass down the mode of op0 to
3782 extract_bit_field_as_subreg.
3784 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
3786 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
3788 (rocket_tune_info): Add default fmv_cost 8.
3789 (sifive_7_tune_info): Ditto.
3790 (thead_c906_tune_info): Ditto.
3791 (optimize_size_tune_info): Ditto.
3792 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
3794 2022-05-24 Jakub Jelinek <jakub@redhat.com>
3797 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
3799 * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
3800 clause but no depend clauses.
3801 * omp-expand.cc (expand_taskwait_call): Use
3802 BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
3803 BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
3805 2022-05-24 Richard Biener <rguenther@suse.de>
3807 PR tree-optimization/100221
3808 * tree-ssa-dse.cc (contains_phi_arg): New function.
3809 (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
3811 2022-05-24 Richard Biener <rguenther@suse.de>
3813 PR tree-optimization/105629
3814 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
3815 a sign-extending conversion.
3817 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
3820 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
3822 (union_uses): Skip debug use_insn.
3824 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
3826 * config/riscv/predicates.md (const_0_operand): Remove
3828 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
3830 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
3832 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
3834 * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
3835 the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
3836 (cpu_indicator_init): Handle Zhaoxin processors.
3837 * common/config/i386/i386-common.cc: Add lujiazui.
3838 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
3840 (enum processor_types): Add ZHAOXIN_FAM7H.
3841 (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
3842 * config.gcc: Add lujiazui.
3843 * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
3844 Signatures for zhaoxin
3845 (signature_SHANGHAI_ecx): Ditto.
3846 (signature_SHANGHAI_edx): Ditto.
3847 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
3848 -march=native recognize lujiazui processors.
3849 * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
3850 * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
3851 * config/i386/i386.h (enum processor_type): Ditto.
3852 * config/i386/i386.md: Add lujiazui.
3853 * config/i386/x86-tune-costs.h (struct processor_costs): Add
3855 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
3856 (ix86_adjust_cost): Ditto.
3857 * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
3858 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
3859 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
3860 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
3861 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
3862 (X86_TUNE_MOVX): Ditto.
3863 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
3864 (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
3865 (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
3866 (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
3867 (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
3868 (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
3869 (X86_TUNE_USE_LEAVE): Ditto.
3870 (X86_TUNE_PUSH_MEMORY): Ditto.
3871 (X86_TUNE_LCP_STALL): Ditto.
3872 (X86_TUNE_USE_INCDEC): Ditto.
3873 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
3874 (X86_TUNE_OPT_AGU): Ditto.
3875 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
3876 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
3877 (X86_TUNE_USE_SAHF): Ditto.
3878 (X86_TUNE_USE_BT): Ditto.
3879 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
3880 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
3881 (X86_TUNE_AVOID_MFENCE): Ditto.
3882 (X86_TUNE_EXPAND_ABS): Ditto.
3883 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
3884 (X86_TUNE_USE_FFREEP): Ditto.
3885 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
3886 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
3887 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
3888 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
3889 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
3890 * doc/extend.texi: Add details about lujiazui.
3891 * doc/invoke.texi: Add details about lujiazui.
3892 * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
3894 2022-05-23 Martin Liska <mliska@suse.cz>
3896 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
3898 2022-05-23 Richard Biener <rguenther@suse.de>
3900 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
3901 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
3903 2022-05-23 Richard Biener <rguenther@suse.de>
3905 * gimple-expr.cc (is_gimple_condexpr): Remove.
3906 * gimple-expr.h (is_gimple_condexpr): Likewise.
3907 * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
3908 * tree-if-conv.cc (set_bb_predicate): Likewie.
3909 (add_to_predicate_list): Likewise.
3910 (gen_phi_arg_condition): Likewise.
3911 (predicate_scalar_phi): Likewise.
3912 (predicate_statements): Likewise.
3914 2022-05-23 Richard Biener <rguenther@suse.de>
3916 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
3917 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
3919 * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
3920 * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
3921 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
3922 Build the condition of the COND_EXPR separately.
3923 * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
3924 * tree-vect-generic.cc (expand_vector_condition): Likewise.
3925 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
3927 * vr-values.cc (simplify_using_ranges::simplify): Likewise.
3928 * tree-vect-patterns.cc: Add comment indicating we are
3929 building invalid COND_EXPRs and why.
3930 * omp-expand.cc (expand_omp_simd): Gimplify the condition
3931 to the COND_EXPR separately.
3932 (expand_omp_atomic_cas): Note part that should be unreachable
3934 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
3935 condition for valid replacements.
3936 * tree-if-conv.cc (predicate_bbs): Simulate previous
3937 re-folding of the condition in folded COND_EXPRs which
3938 is necessary because of unfolded GIMPLE_CONDs in the IL
3939 as in for example gcc.dg/fold-bopcond-1.c.
3940 * gimple-range-gori.cc (gori_compute::condexpr_adjust):
3941 Handle that the comparison is now in the def stmt of
3942 the select operand. Required by gcc.dg/pr104526.c.
3944 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
3947 * langhooks-def.h (lhd_omp_array_size): New.
3948 (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
3949 (LANG_HOOKS_DECLS): Add it.
3950 * langhooks.cc (lhd_omp_array_size): New.
3951 * langhooks.h (struct lang_hooks_for_decls): Add hook.
3952 * omp-low.cc (scan_sharing_clauses, lower_omp_target):
3953 Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
3955 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
3957 * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
3958 XOR/IOR case. Account for two instructions for double-word
3959 operations. In case of vector pandn, account for single
3960 instruction. Likewise for integer andn with TARGET_BMI.
3961 <case NOT>: Vector NOT requires more than 1 instruction (pxor).
3962 <case NEG>: Double-word negation requires 3 instructions.
3964 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
3966 * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
3967 Fix "K" extension prefix to be placed before "J".
3968 * config/riscv/arch-canonicalize: Likewise.
3970 2022-05-23 liuhongt <hongtao.liu@intel.com>
3972 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
3973 <-> mask cost from 5 to 6.
3974 (icelake_cost): Ditto.
3976 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
3978 * config/aarch64/aarch64.md
3979 (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
3980 (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
3981 (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
3982 (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
3983 (one_cmpl_<optab><mode>2): Likewise.
3984 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
3985 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
3986 (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
3987 (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
3988 (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
3989 (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
3990 (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
3991 (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
3992 (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
3993 (rolsi3_insn_uxtw): New pattern.
3994 * config/aarch64/iterators.md (SHIFT): Add rotate left.
3995 (SHIFT_no_rotate): Add new iterator.
3996 (SHIFT:shift): Print rotate left as ror.
3997 (is_rotl): Add test for left rotate.
3999 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
4001 * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
4002 processing. Add support for architectural extensions.
4003 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
4004 AARCH64_CPU_DEFAULT_FLAGS.
4005 (TARGET_CPU_NBITS): Remove.
4006 (TARGET_CPU_MASK): Remove.
4007 * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
4008 (get_tune_cpu): Assert CPU is always valid.
4009 (get_arch): Assert architecture is always valid.
4010 (aarch64_override_options): Cleanup CPU selection code and simplify logic.
4011 (aarch64_option_restore): Remove unnecessary checks on tune.
4013 2022-05-20 David Malcolm <dmalcolm@redhat.com>
4015 * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
4016 "FINAL" and "OVERRIDE" with "final" and "override".
4017 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
4018 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
4019 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
4020 * diagnostic-path.h: Likewise.
4021 * digraph.cc: Likewise.
4022 * gcc-rich-location.h: Likewise.
4023 * gimple-array-bounds.cc: Likewise.
4024 * gimple-loop-versioning.cc: Likewise.
4025 * gimple-range-cache.cc: Likewise.
4026 * gimple-range-cache.h: Likewise.
4027 * gimple-range-fold.cc: Likewise.
4028 * gimple-range-fold.h: Likewise.
4029 * gimple-range-tests.cc: Likewise.
4030 * gimple-range.h: Likewise.
4031 * gimple-ssa-evrp.cc: Likewise.
4032 * input.cc: Likewise.
4034 * read-rtl-function.cc: Likewise.
4035 * tree-complex.cc: Likewise.
4036 * tree-diagnostic-path.cc: Likewise.
4037 * tree-ssa-ccp.cc: Likewise.
4038 * tree-ssa-copy.cc: Likewise.
4039 * tree-vrp.cc: Likewise.
4040 * value-query.h: Likewise.
4041 * vr-values.h: Likewise.
4043 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
4045 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
4046 target_memcpy_rect_async to omp_runtime_apis array.
4048 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
4050 * doc/sourcebuild.texi (Decimal floating point attributes): Document
4051 dfp_bid effective-target.
4053 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
4055 * config/aarch64/aarch64.cc
4056 (aarch64_split_128bit_move): Handle DFP modes.
4057 (aarch64_mode_valid_for_sched_fusion_p): Likewise.
4058 (aarch64_classify_address): Likewise.
4059 (aarch64_legitimize_address_displacement): Likewise.
4060 (aarch64_reinterpret_float_as_int): Likewise.
4061 (aarch64_float_const_zero_rtx_p): Likewise.
4062 (aarch64_can_const_movi_rtx_p): Likewise.
4063 (aarch64_anchor_offset): Likewise.
4064 (aarch64_secondary_reload): Likewise.
4065 (aarch64_rtx_costs): Likewise.
4066 (aarch64_legitimate_constant_p): Likewise.
4067 (aarch64_gimplify_va_arg_expr): Likewise.
4068 (aapcs_vfp_sub_candidate): Likewise.
4069 (aarch64_vfp_is_call_or_return_candidate): Likewise.
4070 (aarch64_output_scalar_simd_mov_immediate): Likewise.
4071 (aarch64_gen_adjusted_ldpstp): Likewise.
4072 (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
4073 * config/aarch64/aarch64.md
4074 (movsf_aarch64): Use SFD iterator and rename into
4076 (movdf_aarch64): Use DFD iterator and rename into
4078 (movtf_aarch64): Use TFD iterator and rename into
4080 (split pattern for move TF mode): Use TFD iterator.
4081 * config/aarch64/iterators.md
4082 (GPF_TF_F16_MOV): Add DFP modes.
4083 (SFD, DFD, TFD): New iterators.
4084 (GPF_TF): Add DFP modes.
4085 (TX, DX, DX2): Likewise.
4087 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
4089 * configure: Regenerate.
4091 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
4094 * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y
4095 when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
4096 likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
4098 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
4100 * config/rs6000/rs6000-builtins.def: Rephrase
4101 to remove RS6000_BTC_SPECIAL from comment.
4102 * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
4103 RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
4104 RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
4105 RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
4106 RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
4107 RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
4108 RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
4109 RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
4110 RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
4111 RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
4112 RS6000_BTM_ALWAYS): Delete.
4114 2022-05-19 Richard Biener <rguenther@suse.de>
4116 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
4117 computation of the new value.
4119 2022-05-19 Richard Biener <rguenther@suse.de>
4121 * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
4122 (add_to_value): Use get_expression_id.
4123 (bitmap_insert_into_set): Likewise.
4124 (bitmap_value_insert_into_set): Likewise.
4126 2022-05-19 David Malcolm <dmalcolm@redhat.com>
4128 * doc/invoke.texi (-fanalyzer-checker=): Add
4129 -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
4130 the list of analyzer warnings disabled by
4131 -fanalyzer-checker=taint.
4133 2022-05-19 Jakub Jelinek <jakub@redhat.com>
4136 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
4137 global vars without symtab node even when they have DECL_RTL
4140 2022-05-19 Jakub Jelinek <jakub@redhat.com>
4143 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
4144 doesn't have pointer or reference type.
4146 2022-05-18 Marek Polacek <polacek@redhat.com>
4149 * doc/invoke.texi: Document -Wenum-int-mismatch.
4151 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
4153 * config/i386/gnu-user-common.h (defined): Only define
4154 TARGET_CAN_SPLIT_STACK for glibc targets.
4155 * config/i386/gnu.h (defined): Ditto.
4157 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
4159 * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
4160 is wider than word_mode, a multiplication costs three word_mode
4161 multiplications and two word_mode additions.
4163 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
4165 * config/i386/i386.md (define_split): Split *andsi_1
4166 and *andn_si_ccno after reload with -Oz.
4168 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
4170 * graphite-scop-detection.cc (scop_detection::can_represent_loop):
4171 Output reason for failure to dump file.
4172 (scop_detection::harmful_loop_in_region): Likewise.
4173 (scop_detection::graphite_can_represent_expr): Likewise.
4174 (scop_detection::stmt_has_simple_data_refs_p): Likewise.
4175 (scop_detection::stmt_simple_for_scop_p): Likewise.
4176 (print_sese_loop_numbers): New function.
4177 (scop_detection::add_scop): Use from here.
4179 2022-05-18 liuhongt <hongtao.liu@intel.com>
4181 PR middle-end/103462
4182 * match.pd (bitwise_induction_p): New match.
4183 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
4185 (analyze_and_compute_bitwise_induction_effect): New function.
4186 (enum bit_op_kind): New enum.
4187 (final_value_replacement_loop): Enhanced to handle bitwise
4190 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
4193 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
4195 2022-05-18 liuhongt <hongtao.liu@intel.com>
4198 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
4201 2022-05-18 liuhongt <hongtao.liu@intel.com>
4204 * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
4205 for QImode when code is EQ or NE.
4206 * config/i386/i386.md (cbranchoi4): New expander.
4208 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
4209 Segher Boessenkool <segher@kernel.crashing.org>
4212 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
4213 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
4214 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
4215 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
4216 Update other operands accordingly.
4218 2022-05-17 Marek Polacek <polacek@redhat.com>
4220 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
4222 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
4225 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
4226 register count when not splitting IEEE 128-bit Complex.
4228 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4230 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
4231 target inside target if inner is reverse offload.
4233 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4235 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
4236 * config/nvptx/mkoffload.cc (process): Likewise.
4238 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
4240 * Makefile.in (OBJS): Add gimple-range-side-effect.o.
4241 * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
4242 (non_null_ref::~non_null_ref): Delete.
4243 (non_null_ref::set_nonnull): Delete.
4244 (non_null_ref::non_null_deref_p): Delete.
4245 (non_null_ref::process_name): Delete.
4246 (ranger_cache::ranger_cache): Initialize m_exit object.
4247 (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
4248 (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
4249 (ranger_cache::update_to_nonnull): Delete.
4250 (non_null_loadstore): Delete.
4251 (ranger_cache::block_apply_nonnull): Delete.
4252 (ranger_cache::apply_side_effects): New.
4253 * gimple-range-cache.h (class non_null_ref): Delete.
4254 (non_null_ref::adjust_range): Delete.
4255 (class ranger_cache): Adjust prototypes, add side effect manager.
4256 * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
4257 side effect manager for queries.
4258 (path_range_query::adjust_for_non_null_uses): Ditto.
4259 * gimple-range-path.h (class path_range_query): Delete non_null_ref.
4260 * gimple-range-side-effect.cc: New.
4261 * gimple-range-side-effect.h: New.
4262 * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
4263 (gimple_ranger::range_of_expr): Check def block for override value.
4264 (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
4265 (gimple_ranger::range_on_edge): Check for outgoing side-effects.
4266 (gimple_ranger::register_side_effects): Call apply_side_effects.
4267 (enable_ranger): Update contructor.
4268 * gimple-range.h (class gimple_ranger): Update prototype.
4269 (enable_ranger): Update prototype.
4270 * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
4272 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
4275 * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
4276 * varasm.cc (switch_to_comdat_section): New
4277 (handle_vtv_comdat_section): Call switch_to_comdat_section.
4278 * varasm.h: Declare switch_to_comdat_section.
4280 2022-05-17 Richard Biener <rguenther@suse.de>
4282 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
4283 not clear bb->aux of the copied blocks.
4285 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
4287 PR tree-optimization/105458
4288 * value-relation.cc (path_oracle::register_relation): Merge, then check
4291 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
4295 * config/i386/i386.md: Remove constraints when used with
4296 const_int_operand, const0_operand, const_1_operand, constm1_operand,
4297 const8_operand, const128_operand, const248_operand, const123_operand,
4298 const2367_operand, const1248_operand, const359_operand,
4299 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
4300 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
4301 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
4302 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
4303 const_0_to_255_mul_8_operand, const_1_to_31_operand,
4304 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
4305 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
4306 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
4307 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
4308 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
4309 const_24_to_27_operand and const_28_to_31_operand.
4310 * config/i386/mmx.md: Ditto.
4311 * config/i386/sse.md: Ditto.
4312 * config/i386/subst.md: Ditto.
4313 * config/i386/sync.md: Ditto.
4315 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
4317 * diagnostic.cc: Don't advise to call 'abort' instead of
4319 * system.h: Advise to call 'internal_error' instead of 'abort' or
4322 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
4324 * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
4325 a reference to a variable which does not exist.
4326 * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
4329 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
4331 * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
4332 (isl_id_for_parameter): ... this new function name.
4333 (build_scop_context): Adjust function use.
4335 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4338 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
4339 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
4341 2022-05-17 Jakub Jelinek <jakub@redhat.com>
4343 * tree-core.h (enum omp_clause_depend_kind): Add
4344 OMP_CLAUSE_DEPEND_INOUTSET.
4345 * tree-pretty-print.cc (dump_omp_clause): Handle
4346 OMP_CLAUSE_DEPEND_INOUTSET.
4347 * gimplify.cc (gimplify_omp_depend): Likewise.
4348 * omp-low.cc (lower_depend_clauses): Likewise.
4350 2022-05-17 Jakub Jelinek <jakub@redhat.com>
4353 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
4354 andv4si3 only for EQ, for NE use iorv4si3 instead.
4356 2022-05-17 Richard Biener <rguenther@suse.de>
4358 PR tree-optimization/105618
4359 * tree-ssa-sink.cc (statement_sink_location): For virtual
4360 PHI uses ignore those defining the used virtual operand.
4362 2022-05-17 Jakub Jelinek <jakub@redhat.com>
4364 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
4365 hanlde -> handle. Fix up comment formatting.
4367 2022-05-17 liuhongt <hongtao.liu@intel.com>
4370 * config/i386/sse.md (*vec_concatv4si): Extend to ..
4371 (*vec_concat<mode>): .. V16QI and V8HImode.
4372 (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
4373 (*vec_concatv8hi_permt2): Ditto.
4375 2022-05-17 liuhongt <hongtao.liu@intel.com>
4377 PR tree-optimization/105591
4378 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
4379 vec_perm_expr index.
4381 2022-05-16 Jason Merrill <jason@redhat.com>
4384 * attribs.cc (decl_attributes): Fix broken typedefs here.
4386 2022-05-16 David Malcolm <dmalcolm@redhat.com>
4389 * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
4390 * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
4391 -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
4392 -Wanalyzer-va-list-use-after-va-end.
4394 2022-05-16 Richard Biener <rguenther@suse.de>
4396 * gimple-match.h (gimple_build): Move code_helper overloads ...
4397 * gimple-fold.h (gimple_build): ... here.
4398 (gimple_build): Transition to new worker API. Provide
4399 overloads from sequence-based API.
4400 (gimple_convert): Likewise.
4401 (gimple_convert_to_ptrofftype): Likewise.
4402 (gimple_build_vector_from_val): Likewise.
4403 (gimple_build_vector): Likewise.
4404 (gimple_build_round_up): Likewise.
4405 * gimple-fold.cc (gimple_build_insert_seq): New helper.
4406 (gimple_build): Use it. Transition combined_fn and code_helper
4408 (gimple_convert): Transition to new worker API.
4409 (gimple_convert_to_ptrofftype): Likewise.
4410 (gimple_build_vector_from_val): Likewise.
4411 (gimple_build_vector): Likewise.
4412 (gimple_build_round_up): Likewise.
4414 2022-05-16 Richard Biener <rguenther@suse.de>
4416 * gimple-match.h (code_helper): Move class ...
4417 * tree.h (code_helper): ... here.
4419 2022-05-16 Martin Liska <mliska@suse.cz>
4421 * opts-global.cc (write_langs): Add comment.
4423 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4425 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
4426 instead of a bitwise negation.
4427 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
4429 2022-05-16 Martin Liska <mliska@suse.cz>
4431 * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
4432 (decls_mismatched_attributes): Likewise.
4433 * builtins.cc (c_strlen): Likewise.
4434 * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
4435 * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
4436 * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
4437 (aarch64_init_simd_builtin_types): Likewise.
4438 (aarch64_init_builtin_rsqrt): Likewise.
4439 * config/aarch64/aarch64.cc (is_madd_op): Likewise.
4440 * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
4441 (arm_init_simd_builtin_types): Likewise.
4442 * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
4443 (c_prefix): Likewise.
4445 * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
4446 * config/darwin-c.cc (darwin_register_frameworks): Likewise.
4447 * config/gcn/mkoffload.cc (process_obj): Likewise.
4448 * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
4449 (fold_builtin_cpu): Likewise.
4450 * config/m32c/m32c.cc (PUSHM_N): Likewise.
4451 * config/nvptx/mkoffload.cc (process): Likewise.
4452 * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
4453 * config/s390/s390.cc (NR_C_MODES): Likewise.
4454 * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
4455 (create_insn_code_compression_table): Likewise.
4456 * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
4457 * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
4458 * dwarf2out.cc (ARRAY_SIZE): Likewise.
4459 * genhooks.cc (emit_documentation): Likewise.
4460 (emit_init_macros): Likewise.
4461 * gimple-ssa-sprintf.cc (format_floating): Likewise.
4462 * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
4463 * godump.cc (keyword_hash_init): Likewise.
4464 * hash-table.cc (hash_table_higher_prime_index): Likewise.
4465 * input.cc (for_each_line_table_case): Likewise.
4466 * ipa-free-lang-data.cc (free_lang_data): Likewise.
4467 * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
4468 * optc-save-gen.awk: Likewise.
4469 * spellcheck.cc (test_metric_conditions): Likewise.
4470 * tree-vect-slp-patterns.cc (sizeof): Likewise.
4471 (ARRAY_SIZE): Likewise.
4472 * tree.cc (build_common_tree_nodes): Likewise.
4474 2022-05-16 Martin Liska <mliska@suse.cz>
4476 * opts-global.cc (write_langs): Allocate at least one byte.
4478 2022-05-16 Richard Biener <rguenther@suse.de>
4480 * match.pd (A cmp B ? A : B -> min/max): New patterns
4481 carried over from fold_cond_expr_with_comparison.
4483 2022-05-16 liuhongt <hongtao.liu@intel.com>
4486 * config/i386/i386-expand.cc
4487 (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
4488 d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
4490 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
4492 * config/i386/i386.md: Remove constraints when used with
4493 const_int_operand, const0_operand, const_1_operand, constm1_operand,
4494 const8_operand, const128_operand, const248_operand, const123_operand,
4495 const2367_operand, const1248_operand, const359_operand,
4496 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
4497 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
4498 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
4499 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
4500 const_0_to_255_mul_8_operand, const_1_to_31_operand,
4501 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
4502 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
4503 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
4504 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
4505 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
4506 const_24_to_27_operand and const_28_to_31_operand.
4507 * config/i386/mmx.md: Ditto.
4508 * config/i386/sse.md: Ditto.
4509 * config/i386/subst.md: Ditto.
4510 * config/i386/sync.md: Ditto.
4512 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
4513 Uroš Bizjak <ubizjak@gmail.com>
4515 * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
4516 For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
4517 by a pshufd and pand.
4518 (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
4519 vector equality as a V2DImode vector comparison (see above),
4520 followed by a pshufd and pand.
4522 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
4524 PR tree-optimization/83907
4525 * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
4526 for memset with an constant char value.
4527 (handle_store): Improved handling of stores with a first byte
4528 of zero, but not storing_all_zeros_p.
4530 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
4531 Manolis Tsamis <manolis.tsamis@vrull.eu>
4533 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
4534 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
4535 * doc/sourcebuild.texi: add documentation for RISC-V specific
4536 test target keywords
4538 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4540 PR tree-optimization/105597
4541 * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
4542 of the lhs and make sure it is not undefined.
4544 2022-05-13 Sebastian Pop <spop@amazon.com>
4547 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
4549 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
4550 memmodel_from_int and handle MEMMODEL_SYNC_*.
4551 (DEF0): Add __aarch64_*_sync functions.
4553 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4555 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
4557 * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
4558 * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
4559 new VREL enumerated values.
4560 (*::lhs_op2_relation): Ditto.
4561 (*::op1_op2_relation): Ditto.
4562 (*::fold_range): Use new VREL enumerated values.
4563 (minus_op1_op2_relation_effect): Ditto.
4564 (range_relational_tests): Ditto.
4565 * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
4566 (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
4568 (*_op1_op2_relation): Return relation_kind.
4569 (relop_early_resolve): Use VREL_UNDEFINED.
4570 * value-query.cc (range_query::query_relation): Use VREL_VARYING.
4571 * value-relation.cc (VREL_LAST): Change enumerated value.
4572 (vrel_range_assert): Delete.
4573 (print_relation): Remove range assert.
4574 (rr_negate_table): Adjust table to use new enumerated values..
4575 (relation_negate): Remove range assert.
4576 (rr_swap_table): Adjust.
4577 (relation_swap): Remove range assert.
4578 (rr_intersect_table): Adjust.
4579 (relation_intersect): Remove range assert.
4580 (rr_union_table): Adjust.
4581 (relation_union): Remove range assert.
4582 (rr_transitive_table): Adjust.
4583 (relation_transitive): Remove range assert.
4584 (equiv_oracle::query_relation): Use new VREL enumerated values.
4585 (equiv_oracle::register_relation): Ditto.
4586 (relation_oracle::register_stmt): Ditto.
4587 (dom_oracle::set_one_relation): Ditto.
4588 (dom_oracle::register_transitives): Ditto.
4589 (dom_oracle::query_relation): Ditto.
4590 (path_oracle::register_relation): Ditto.
4591 (path_oracle::query_relation): Ditto.
4592 * value-relation.h (enum relation_kind_t): New relation_kind.
4593 (*_op1_op2_relation): Adjust prototypes.
4595 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4597 * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
4598 * value-range.cc (irange::legacy_verbose_union_): Add return value.
4599 (irange::irange_single_pair_union): New.
4600 (irange::irange_union): Add return value.
4601 * value-range.h (class irange): Adjust prototypes.
4603 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4605 * value-range.cc (irange::legacy_verbose_intersect): Add return value.
4606 (irange::irange_contains_p): New.
4607 (irange::irange_intersect): Add return value.
4608 * value-range.h (class irange): Adjust prototypes.
4610 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4612 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
4613 had_global value instead.
4615 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4617 PR tree-optimization/104547
4618 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
4619 the op1/op2 relation to the relation call.
4620 * range-op.cc (*::lhs_op1_relation): Add param.
4621 (*::lhs_op2_relation): Ditto.
4622 (operator_minus::lhs_op1_relation): New.
4623 (range_relational_tests): Add relation param.
4624 * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
4626 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4628 * gimple-range.cc (gimple_ranger::register_side_effects): First check
4629 if the DEF should be exported as a global.
4630 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
4631 which will export globals.
4632 (execute_ranger_vrp): Remove call to export_global_ranges.
4634 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4636 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
4638 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4640 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
4642 (ranger_cache::entry_range): Add rfd_mode parameter.
4643 (ranger_cache::exit_range): Ditto.
4644 (ranger_cache::edge_range): New. Incorporate from range_on_edge.
4645 (ranger_cache::range_of_expr): Adjust call to entry_range.
4646 (ranger_cache::range_on_edge): Split to edge_range and call.
4647 (ranger_cache::fill_block_cache): Always invoke range_from_dom.
4648 (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
4649 mutiple predecessors.
4650 (ranger_cache::update_to_nonnull): Adjust call to exit_range.
4651 * gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust
4654 2022-05-13 Alexandre Oliva <oliva@adacore.com>
4656 * gimple-harden-conditionals.cc: Include sbitmap.h.
4657 (pass_harden_conditional_branches::execute): Skip new blocks.
4658 (pass_harden_compares::execute): Likewise.
4660 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
4663 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
4665 (*movmisalign<mode>_mve_load): Likewise.
4666 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
4668 (@movmisalign<mode>): ... thus. Use generic predicates and then
4669 rework operands if they are not valid. For MVE rework to a
4670 narrower element size if the alignment is not high enough.
4672 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
4674 * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
4675 when there is no write-back. Fix use when strict is true.
4677 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4679 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
4682 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4684 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
4685 extzvsi_internal): Rename from extv, extv_internal, extzv and
4686 extzv_internal, respectively.
4688 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
4690 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
4691 is the same on the LHS and RHS before rewriting one with the model
4694 2022-05-13 Richard Biener <rguenther@suse.de>
4696 * gimple-fold.cc (gimple_build): Adjust for new
4698 * gimple-fold.h (gimple_build): New main APIs with
4699 iterator, insert direction and iterator update.
4700 (gimple_build): New forwarder template.
4701 (clear_padding_type_may_have_padding_p): Remove.
4702 (clear_type_padding_in_mask): Likewise.
4703 (arith_overflowed_p): Likewise.
4704 * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
4705 (clear_type_padding_in_mask): Likewise.
4706 (arith_overflowed_p): Likewise.
4707 * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
4708 (gimplify_build2): Likewise.
4709 (gimplify_build1): Likewise.
4710 * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
4712 * gengtype.cc (open_base_files): Re-order includes.
4713 * builtins.cc: Re-order gimple-fold.h include.
4714 * calls.cc: Likewise.
4715 * cgraphbuild.cc: Likewise.
4716 * cgraphunit.cc: Likewise.
4717 * config/rs6000/rs6000-builtin.cc: Likewise.
4718 * config/rs6000/rs6000-call.cc: Likewise.
4719 * config/rs6000/rs6000.cc: Likewise.
4720 * config/s390/s390.cc: Likewise.
4721 * expr.cc: Likewise.
4722 * fold-const.cc: Likewise.
4723 * function-tests.cc: Likewise.
4724 * gimple-match-head.cc: Likewise.
4725 * gimple-range-fold.cc: Likewise.
4726 * gimple-ssa-evrp-analyze.cc: Likewise.
4727 * gimple-ssa-evrp.cc: Likewise.
4728 * gimple-ssa-sprintf.cc: Likewise.
4729 * gimple-ssa-warn-access.cc: Likewise.
4730 * gimplify.cc: Likewise.
4731 * graphite-isl-ast-to-gimple.cc: Likewise.
4732 * ipa-cp.cc: Likewise.
4733 * ipa-devirt.cc: Likewise.
4734 * ipa-prop.cc: Likewise.
4735 * omp-low.cc: Likewise.
4736 * pointer-query.cc: Likewise.
4737 * range-op.cc: Likewise.
4738 * tree-cfg.cc: Likewise.
4739 * tree-if-conv.cc: Likewise.
4740 * tree-inline.cc: Likewise.
4741 * tree-object-size.cc: Likewise.
4742 * tree-ssa-ccp.cc: Likewise.
4743 * tree-ssa-dom.cc: Likewise.
4744 * tree-ssa-forwprop.cc: Likewise.
4745 * tree-ssa-ifcombine.cc: Likewise.
4746 * tree-ssa-loop-ivcanon.cc: Likewise.
4747 * tree-ssa-math-opts.cc: Likewise.
4748 * tree-ssa-pre.cc: Likewise.
4749 * tree-ssa-propagate.cc: Likewise.
4750 * tree-ssa-reassoc.cc: Likewise.
4751 * tree-ssa-sccvn.cc: Likewise.
4752 * tree-ssa-strlen.cc: Likewise.
4753 * tree-ssa.cc: Likewise.
4754 * value-pointer-equiv.cc: Likewise.
4755 * vr-values.cc: Likewise.
4757 2022-05-13 Alexandre Oliva <oliva@adacore.com>
4759 PR rtl-optimization/105455
4760 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
4761 probabilities for newly-conditional edges.
4763 2022-05-13 liuhongt <hongtao.liu@intel.com>
4765 PR tree-optimization/102583
4766 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
4767 contiguous stride in the VEC_PERM_EXPR.
4769 2022-05-12 Richard Biener <rguenther@suse.de>
4771 PR rtl-optimization/105577
4772 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
4773 edges before running fast DCE via df_analyze.
4775 2022-05-12 Richard Biener <rguenther@suse.de>
4777 PR tree-optimization/105562
4778 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
4779 against all CLOBBER defs if there's not an obvious must-alias
4780 and we are not doing redundant store elimination.
4781 (vn_walk_cb_data::redundant_store_removal_p): New field.
4782 (vn_reference_lookup_pieces): Initialize it.
4783 (vn_reference_lookup): Add argument to specify if we are
4784 doing redundant store removal.
4785 (eliminate_dom_walker::eliminate_stmt): Specify we do.
4786 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
4788 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
4791 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
4792 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
4793 New define_split pattern.
4795 2022-05-12 Jakub Jelinek <jakub@redhat.com>
4797 * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
4798 if null_pointer_node.
4799 (gimplify_scan_omp_clauses): Likewise.
4800 * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
4803 2022-05-11 Patrick Palka <ppalka@redhat.com>
4805 * tree.h (TREE_VEC_BEGIN): Define.
4806 (TREE_VEC_END): Correct 'length' member access.
4807 (class tree_vec_range): Define.
4809 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
4811 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
4813 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
4815 * config/rs6000/rs6000.md: Use d instead of <Ff>.
4817 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
4819 * config/rs6000/constraints.md (register_constraint "f"): Use
4820 RS6000_CONSTRAINT_d.
4821 * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
4822 RS6000_CONSTRAINT_f.
4823 (rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit.
4824 * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
4825 RS6000_CONSTRAINT_d.
4827 2022-05-11 Richard Biener <rguenther@suse.de>
4829 * gimple-fold.h (gimple_build): Use variadic template
4830 functions for the gimple_build API forwarders without
4831 location_t argument.
4833 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
4836 * asan.cc (initialize_sanitizer_builtins): Register
4837 __builtin_dynamic_object_size if necessary.
4839 2022-05-11 Richard Biener <rguenther@suse.de>
4841 PR rtl-optimization/105559
4842 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
4843 for non-debug insns.
4845 2022-05-11 Richard Biener <rguenther@suse.de>
4847 * generic-match-head.cc: Include tree-eh.h.
4848 * match.pd ((cond ...) cmp X): New simplification inspired
4849 by fold_binary_op_with_conditional_arg.
4850 (eq/ne (cmp ...) true/false): Likewise.
4852 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
4854 * doc/install.texi: Don't document '--with-hsa-runtime',
4855 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
4857 2022-05-11 Martin Liska <mliska@suse.cz>
4860 * doc/install.texi: Document the configure option --with-zstd.
4862 2022-05-11 Martin Liska <mliska@suse.cz>
4864 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
4865 compute index in cpu_features2.
4866 (set_cpu_feature): Likewise.
4867 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
4868 loop for cpu_features2 and use NOP_EXPRs.
4870 2022-05-11 Richard Biener <rguenther@suse.de>
4873 * opts.cc (finish_options): Also disable var-tracking if
4874 !DWARF2_DEBUGGING_INFO.
4876 2022-05-11 liuhongt <hongtao.liu@intel.com>
4879 * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
4880 pre_reload define_insn_and_split.
4881 (*vec_setv2di_0_zero_extendhi_1): Ditto.
4882 (*vec_set<mode>_0_zero_extendsi): Ditto.
4883 (*vec_setv2di_0_zero_extendsi_1): Ditto.
4884 (ssewvecmode): New mode attr.
4885 (ssewvecmodelower): Ditto.
4886 (ssepackmodelower): Ditto.
4888 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
4890 * config/rs6000/constraints.md (register constraint v): Use
4891 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
4893 2022-05-11 Martin Liska <mliska@suse.cz>
4896 * config/riscv/riscv.opt: Remove Separate from
4897 -msmall-data-limit=.
4898 * optc-gen.awk: Report error for the described situation.
4899 * gcc.cc: Use Separate syntax.
4900 * opts.cc (gen_command_line_string): Change option name.
4902 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
4905 * match.pd (minmax): Skip constant folding for fmin/fmax when both
4906 arguments are sNaN or one is sNaN and another is NaN.
4908 2022-05-10 Jakub Jelinek <jakub@redhat.com>
4910 PR tree-optimization/105528
4911 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
4912 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
4914 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
4916 * doc/md.texi (Defining Mode Iterators): Correct example replacement
4919 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
4921 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
4923 (fmin<mode>3, fmax<mode>3): New insns.
4925 2022-05-10 Richard Biener <rguenther@suse.de>
4927 * tree-if-conv.cc (fold_build_cond_expr): Use
4928 match-and-simplify to simplify the condition.
4929 (ifcvt_follow_ssa_use_edges): Remove.
4930 (predicate_scalar_phi): Use follow_all_ssa_edges.
4932 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
4934 PR middle-end/100400
4935 * omp-oacc-kernels-decompose.cc
4936 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
4937 call 'internal_error'.
4939 2022-05-10 Richard Biener <rguenther@suse.de>
4941 PR middle-end/105537
4942 * toplev.cc (process_options): Move flag_var_tracking
4944 * opts.cc (finish_options): ... here.
4946 2022-05-10 Martin Liska <mliska@suse.cz>
4948 * basic-block.h (struct basic_block_d): Use void *
4950 * cfgloop.h: Likewise.
4951 * cgraph.h: Likewise.
4952 * gengtype-state.cc (state_ident_by_name): Likewise.
4953 (record_type): Likewise.
4954 (read_state_already_seen_type): Likewise.
4955 * gengtype.cc (dump_type): Likewise.
4956 (input_file_by_name): Likewise.
4958 * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
4959 * ipa-utils.h (struct ipa_dfs_info): Likewise.
4960 * plugin.cc (htab_hash_plugin): Likewise.
4962 2022-05-10 Richard Biener <rguenther@suse.de>
4964 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
4965 API with !GENERATOR_FILE.
4966 * opts.cc (global_options): Poison.
4967 (global_options_set): Likewise.
4968 (finish_options): Refer to options via opts.
4970 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
4971 Roger Sayle <roger@nextmovesoftware.com>
4973 * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
4974 alternative when optimizing for size and the immediate operand is
4975 const_0_to_127_operand.
4976 (*andqi_2_maybe_si): Likewise.
4977 * config/i386/predicates.md (const_0_to_127_operand): New predicate.
4979 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
4981 * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
4982 "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
4985 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
4988 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
4989 true only for 8-byte vector modes.
4991 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
4994 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
4995 (instrument_object_size): Get dynamic object size expression.
4997 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
4999 PR preprocessor/101168
5000 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
5001 Avoid empty identifier.
5003 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
5006 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
5007 as a generic MMX mode instead of V4HImode.
5008 (zero_all_mm_registers): Use SET to zero instead of MOV for
5009 zeroing scratch registers.
5010 (ix86_zero_call_used_regs): Likewise.
5012 2022-05-09 liuhongt <hongtao.liu@intel.com>
5015 * config/i386/i386-expand.cc
5016 (expand_vec_perm_pslldq_psrldq_por): New function.
5017 (ix86_expand_vec_perm_const_1): Try
5018 expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
5019 4/5-instruction sequence.
5021 2022-05-09 Martin Liška <mliska@suse.cz>
5023 * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
5024 * system.h (STATIC_ASSERT): Define as static_assert for C++
5025 and fallback to array index in C.
5027 2022-05-09 Richard Biener <rguenther@suse.de>
5029 PR tree-optimization/105517
5030 * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
5031 offset can be represented in the POINTER_PLUS_EXPR IL.
5032 (vn_reference_insert): Likewise.
5033 * poly-int.h (sext_hwi): Add poly version of sext_hwi.
5035 2022-05-09 Richard Biener <rguenther@suse.de>
5037 * match.pd: Remove #if GIMPLE guards around ! using patterns.
5039 2022-05-09 liuhongt <hongtao.liu@intel.com>
5042 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
5044 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
5045 define_insn_and_split.
5047 2022-05-09 Alex Coplan <alex.coplan@arm.com>
5049 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
5050 symtab state is PARSING.
5052 2022-05-09 Martin Liska <mliska@suse.cz>
5054 * system.h (LIKELY): Define.
5055 (UNLIKELY): Likewise.
5056 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
5058 * dse.cc (set_position_unneeded): Likewise.
5059 (set_all_positions_unneeded): Likewise.
5060 (any_positions_needed_p): Likewise.
5061 (all_positions_needed_p): Likewise.
5062 * expmed.cc (flip_storage_order): Likewise.
5063 * genmatch.cc (dt_simplify::gen_1): Likewise.
5064 * ggc-common.cc (gt_pch_save): Likewise.
5065 * print-rtl.cc: Likewise.
5066 * rtl-iter.h (T>::array_type::~array_type): Likewise.
5067 (T>::next): Likewise.
5068 * rtl-ssa/internals.inl: Likewise.
5069 * rtl-ssa/member-fns.inl: Likewise.
5070 * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
5071 (rtx_properties::try_to_add_dest): Likewise.
5072 * rtlanal.h (growing_rtx_properties::repeat): Likewise.
5073 (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
5074 * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
5075 * sort.cc (likely): Likewise.
5076 (mergesort): Likewise.
5077 * wide-int.h (wi::eq_p): Likewise.
5078 (wi::ltu_p): Likewise.
5079 (wi::cmpu): Likewise.
5080 (wi::bit_and): Likewise.
5081 (wi::bit_and_not): Likewise.
5082 (wi::bit_or): Likewise.
5083 (wi::bit_or_not): Likewise.
5084 (wi::bit_xor): Likewise.
5085 (wi::add): Likewise.
5086 (wi::sub): Likewise.
5088 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
5090 * config/riscv/arch-canonicalize: Handle g correctly.
5092 2022-05-07 Marek Polacek <polacek@redhat.com>
5096 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
5098 2022-05-06 Jason Merrill <jason@redhat.com>
5100 * diagnostic-color.cc: Add fnname and targs color entries.
5101 * doc/invoke.texi: Document them.
5103 2022-05-06 Jason Merrill <jason@redhat.com>
5105 * vec.h (vec::iterate): Fix comment.
5107 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
5110 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
5111 and -mpower10-fusion options for inlining purposes.
5113 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
5115 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
5117 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
5119 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
5120 omp_runtime_apis array.
5122 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
5124 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
5125 (scan_sharing_clauses): Check a restriction on allocate clause.
5127 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
5129 * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
5130 and ORDERED clause conflict errors. Add check for GRAINSIZE and
5131 NUM_TASKS on TASKLOOP.
5133 2022-05-05 Martin Liska <mliska@suse.cz>
5135 * genautomata.cc (create_composed_state): Remove dead code.
5136 * graphite-poly.cc (print_pdrs): Likewise.
5137 * lto-wrapper.cc (run_gcc): Likewise.
5138 * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
5141 2022-05-05 Martin Liska <mliska@suse.cz>
5143 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
5145 (gimple_gen_time_profiler): Likewise.
5147 2022-05-05 Martin Liska <mliska@suse.cz>
5149 * value-prof.cc (stream_out_histogram_value): Remove sanity
5152 2022-05-05 Richard Biener <rguenther@suse.de>
5154 PR tree-optimization/104162
5155 * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
5156 &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
5158 (vn_reference_insert): Likewise.
5160 2022-05-05 Richard Biener <rguenther@suse.de>
5162 * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
5163 to real_value field.
5164 (tree_real_cst::value): Add real_value field.
5165 * tree.h (TREE_REAL_CST_PTR): Adjust.
5166 * tree.cc (build_real): Remove separate allocation.
5167 * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
5170 2022-05-05 Richard Biener <rguenther@suse.de>
5172 * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
5173 divisions with undefined overflow unconditionally.
5174 (pass_tree_ifcombine::execute): Rewrite stmts with undefined
5175 overflow to defined.
5177 2022-05-05 Richard Biener <rguenther@suse.de>
5179 PR tree-optimization/105484
5180 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
5181 whether the CFG changed.
5182 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
5184 2022-05-05 Richard Biener <rguenther@suse.de>
5186 PR tree-optimization/104595
5187 * tree-vect-patterns.cc (vect_recog_bool_pattern): For
5188 COND_EXPR do not fail if check_bool_pattern returns false.
5190 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
5192 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
5193 item that is in an outer data-sharing clause.
5195 2022-05-04 Richard Biener <rguenther@suse.de>
5197 PR tree-optimization/104658
5198 * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
5199 create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector
5200 type on nodes we promote.
5201 (vectorizable_bb_reduc_epilogue): Deal with externalized
5203 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
5204 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
5206 2022-05-04 Richard Biener <rguenther@suse.de>
5208 PR tree-optimization/103116
5209 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
5210 case we need peeling for gaps even though GROUP_GAP is zero.
5212 2022-05-04 Martin Liska <mliska@suse.cz>
5214 * gengtype-state.cc (read_a_state_token): Remove dead code.
5215 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
5217 2022-05-04 Richard Biener <rguenther@suse.de>
5219 * gimplify.cc (gimplify_init_constructor): First gimplify,
5220 then simplify the result to a VECTOR_CST.
5222 2022-05-04 Jakub Jelinek <jakub@redhat.com>
5224 * genconditions.cc (write_conditions): Append a { nullptr, -1 }
5225 element at the end of insn_conditions.
5226 (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
5227 ARRAY_SIZE (insn_conditions).
5229 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
5232 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
5233 vector of booleans and MVE is not enabled.
5235 2022-05-04 Richard Biener <rguenther@suse.de>
5238 * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
5239 Move debug stmts to the predecessor if moving to the
5240 destination is not possible.
5241 (remove_forwarder_block): Adjust.
5242 (remove_forwarder_block_with_phi): Likewise.
5244 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
5246 PR tree-optimization/102950
5247 * range-op.cc (wi_optimize_signed_bitwise_op): New function to
5248 determine bounds of bitwise operations on signed types.
5249 (operator_bitwise_and::wi_fold): Call the above function.
5250 (operator_bitwise_or::wi_fold): Likewise.
5251 (operator_bitwise_xor::wi_fold): Likewise. Additionally, the
5252 result can't be zero if the operands can't be equal.
5254 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
5256 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
5257 protocol class methods linker-visible.
5259 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
5262 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
5263 define_insn_and_split pattern.
5265 2022-05-03 Richard Biener <rguenther@suse.de>
5267 PR middle-end/105083
5268 * tree-scalar-evolution.cc (scev_initialize): Verify we
5269 have appropriate loop state.
5270 * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
5271 loop init and finalization.
5273 2022-05-03 Richard Biener <rguenther@suse.de>
5275 PR middle-end/105461
5276 * opts.cc (finish_options): Match the condition to
5277 disable flag_var_tracking to that of process_options.
5279 2022-05-03 Richard Biener <rguenther@suse.de>
5281 * opts.cc: #undef OPTIONS_SET_P.
5282 (finish_options): Use opts_set instead of OPTIONS_SET_P.
5284 2022-05-03 Richard Biener <rguenther@suse.de>
5286 PR tree-optimization/105394
5287 * tree-vect-generic.cc (expand_vector_condition): Adjust
5288 comp_width for non-integer mode masks as well.
5290 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
5292 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
5293 omp_runtime_apis array.
5295 2022-05-02 Richard Biener <rguenther@suse.de>
5297 * tree-scalar-evolution.cc (expression_expensive_p):
5298 Never consider mismatched calls as cheap.
5300 2022-05-02 Richard Biener <rguenther@suse.de>
5302 PR tree-optimization/104240
5303 * tree-vect-slp.cc (op1_op0_map): New.
5304 (vect_get_operand_map): Handle compares.
5305 (vect_build_slp_tree_1): Support swapped operands for
5308 2022-05-02 Jakub Jelinek <jakub@redhat.com>
5311 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
5312 if there is no symtab node for the VAR_DECL.
5314 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
5316 * gcov-io.cc (gcov_rewrite): Clear the file error status.
5318 2022-05-02 Richard Biener <rguenther@suse.de>
5320 PR tree-optimization/105437
5321 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
5322 case where last_stmt alters control flow.
5324 2022-05-02 Richard Biener <rguenther@suse.de>
5326 * dojump.cc (do_jump): Use CASE_CONVERT.
5327 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
5329 2022-05-02 Jakub Jelinek <jakub@redhat.com>
5331 * system.h: Include initializer_list.
5333 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
5335 * config/rs6000/constraints.md (Y constraint): Fix comment.
5337 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
5339 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
5340 VR_RANGE before passing a piecewise range to set_range_info_raw.
5342 2022-04-30 Patrick Palka <ppalka@redhat.com>
5344 * gengtype.cc (adjust_field_tree_exp): Remove.
5345 (adjust_field_type): Don't handle the "tree_exp" special attribute.
5346 * tree-core.h (struct tree_exp): Remove "special" and "desc"
5347 attributes. Add "length" attribute.
5349 2022-04-29 Martin Jambor <mjambor@suse.cz>
5352 * cgraph.cc (cgraph_node::remove): Release body of the node this
5353 is clone_of if appropriate.
5355 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
5358 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
5360 2022-04-29 Richard Biener <rguenther@suse.de>
5362 * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
5363 (canonicalize_cond_expr_cond): Move here from gimple.cc,
5364 allow both COND_EXPR and GIMPLE_COND forms.
5365 * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
5366 * gimple.cc (canonicalize_cond_expr_cond): Remove here.
5367 * gimple.h (canonicalize_cond_expr_cond): Likewise.
5368 * gimple-loop-versioning.cc (loop_versioning::version_loop):
5369 Use is_gimple_condexpr_for_cond.
5370 * tree-parloops.cc (gen_parallel_loop): Likewise.
5371 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
5372 a proper cond expr after canonicalize_cond_expr_cond.
5373 Use is_gimple_condexpr_for_cond where appropriate.
5374 * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
5375 * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
5377 2022-04-29 Richard Biener <rguenther@suse.de>
5379 * gimple-iterator.h (gsi_after_labels): Add overload for
5381 (gsi_start_1): Rename to gsi_start and take a reference.
5382 (gsi_last_1): Likewise.
5383 * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
5384 * omp-low.cc (lower_rec_input_clauses): Likewise.
5385 (lower_omp_scan): Likewise.
5387 2022-04-29 Richard Biener <rguenther@suse.de>
5389 PR tree-optimization/105431
5390 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
5391 (powi_as_mults): Use absu_hwi.
5392 (gimple_expand_builtin_powi): Remove now pointless n != -n
5395 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5397 * range-op.cc (empty_range_varying): Move to range-op.h.
5398 (range_true): Move to range.h.
5399 (range_false): Same.
5400 (range_true_and_false): Same.
5401 (enum bool_range_state): Move to range-op.h.
5402 (relop_early_resolve): Same.
5403 (operator_equal::op1_op2_relation): Abstract code to...
5404 (equal_op1_op2_relation): ...here.
5405 (operator_not_equal::op1_op2_relation): Abstract code to...
5406 (not_equal_op1_op2_relation): ...here.
5407 (operator_lt::op1_op2_relation): Abstract code to...
5408 (lt_op1_op2_relation): ...here.
5409 (operator_le::op1_op2_relation): Abstract code to...
5410 (le_op1_op2_relation): ...here.
5411 (operator_gt::op1_op2_relation): Abstract code to...
5412 (gt_op1_op2_relation): ...here.
5413 (operator_ge::op1_op2_relation): Abstract code to...
5414 (ge_op1_op2_relation): ...here.
5415 (class range_op_table): Move to range-op.h.
5416 * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
5417 (not_equal_op1_op2_relation): Same.
5418 (lt_op1_op2_relation): Same.
5419 (le_op1_op2_relation): Same.
5420 (gt_op1_op2_relation): Same.
5421 (ge_op1_op2_relation): Same.
5422 (enum bool_range_state): Same.
5423 (get_bool_state): Same.
5424 (empty_range_varying): Same.
5425 (relop_early_resolve): Same.
5426 (class range_op_table): Same.
5427 * range.h (range_true): Same.
5428 (range_false): Same.
5429 (range_true_and_false): Same.
5431 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5433 * gimple-fold.cc (size_must_be_zero_p): Use reference
5435 * gimple-ssa-evrp-analyze.cc
5436 (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
5437 intersect to legacy_verbose_intersect.
5438 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
5440 * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
5441 instead of value_range_equiv.
5442 * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
5444 (find_case_label_range): Same.
5445 * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
5446 (value_range_equiv::legacy_verbose_intersect): ...this.
5447 (value_range_equiv::union_): Rename to...
5448 (value_range_equiv::legacy_verbose_union_): ...this.
5449 * value-range-equiv.h (class value_range_equiv): Rename union and
5450 intersect to legacy_verbose_{intersect,union}.
5451 * value-range.cc (irange::union_): Rename to...
5452 (irange::legacy_verbose_union_): ...this.
5453 (irange::intersect): Rename to...
5454 (irange::legacy_verbose_intersect): ...this.
5455 * value-range.h (irange::union_): Rename union_ to
5456 legacy_verbose_union.
5457 (irange::intersect): Rename intersect to legacy_verbose_intersect.
5458 * vr-values.cc (vr_values::update_value_range): Same.
5459 (vr_values::extract_range_for_var_from_comparison_expr): Same.
5460 (vr_values::extract_range_from_cond_expr): Rename union_ to
5461 legacy_verbose_union.
5462 (vr_values::extract_range_from_phi_node): Same.
5464 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5466 * gimple-ssa-evrp-analyze.cc
5467 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
5469 * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
5470 * ipa-prop.cc (ipcp_update_vr): Same.
5471 * tree-inline.cc (remap_ssa_name): Same.
5472 * tree-ssa-copy.cc (fini_copy_prop): Same.
5473 * tree-ssa-math-opts.cc (optimize_spaceship): Same.
5474 * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
5475 * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
5476 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
5477 * tree-ssa-strlen.cc (set_strlen_range): Same.
5478 (strlen_pass::handle_builtin_string_cmp): Same.
5479 * tree-ssanames.cc (set_range_info): Make static.
5480 (duplicate_ssa_name_range_info): Make static and add a new variant
5482 * tree-ssanames.h (set_range_info): Remove version taking wide ints.
5483 (duplicate_ssa_name_range_info): Remove version taking a
5484 range_info_def and replace with a version taking SSA names.
5485 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
5487 (vect_do_peeling): Same.
5488 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
5489 * vr-values.cc (simplify_truth_ops_using_ranges): Same.
5491 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5493 * value-range.h (irange::irange): Use set_undefined.
5495 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5497 * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
5498 irange::intersect (wide_int, wide_int).
5499 * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
5500 (adjust_imagpart_expr): Same.
5501 * value-range.h (irange::intersect (wide_int, wide_int)): Make
5504 2022-04-29 Richard Biener <rguenther@suse.de>
5506 PR tree-optimization/104322
5507 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
5509 2022-04-29 Richard Biener <rguenther@suse.de>
5511 PR middle-end/105376
5512 * tree.cc (build_real): Special case dconst* arguments
5513 for decimal floating point types.
5515 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5517 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
5518 Environments): New section.
5520 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5522 * doc/gcov-tool.texi: Document merge-stream subcommand.
5523 * doc/invoke.texi (fprofile-info-section): Mention merge-stream
5524 subcommand of gcov-tool.
5525 * gcov-tool.cc (gcov_profile_merge_stream): Declare.
5526 (print_merge_stream_usage_message): New.
5527 (merge_stream_usage): Likewise.
5528 (do_merge_stream): Likewise.
5529 (print_usage): Call print_merge_stream_usage_message().
5530 (main): Call do_merge_stream() to execute merge-stream subcommand.
5532 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5534 * gcov-io.cc (gcov_file_error): New enum.
5535 (gcov_var): Use gcov_file_error enum for the error member.
5536 (gcov_open): Use GCOV_FILE_NO_ERROR.
5537 (gcov_close): Use GCOV_FILE_WRITE_ERROR.
5538 (gcov_write): Likewise.
5539 (gcov_write_unsigned): Likewise.
5540 (gcov_write_string): Likewise.
5541 (gcov_read_bytes): Set error code if EOF is reached.
5542 (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
5544 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5546 * gcov-io.cc (GCOV_MODE_STDIN): Define.
5547 (gcov_position): For gcov-tool, return calculated position if file is
5549 (gcov_open): For gcov-tool, use stdin if filename is NULL.
5550 (gcov_close): For gcov-tool, do not close stdin.
5551 (gcov_read_bytes): For gcov-tool, update position if file is stdin.
5552 (gcov_sync): For gcov-tool, discard input if file is stdin.
5554 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5556 * doc/invoke.texi (fprofile-info-section): Mention
5557 __gcov_filename_to_gcfn(). Use "freestanding" to match with C11
5558 standard language. Fix minor example code issues.
5559 * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
5561 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5563 * gcov-io.cc (gcov_seek): Make it static.
5564 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
5566 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5568 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
5569 (gcov_output_files): Open files for reading and writing.
5571 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5573 * gcov-io.cc (gcov_open): Always use the mode parameter.
5574 * gcov-io.h (gcov_open): Declare it unconditionally.
5576 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5578 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
5579 (profile_merge): Allow merging of directories which contain no profile
5582 2022-04-28 David Malcolm <dmalcolm@redhat.com>
5584 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
5587 2022-04-28 Jakub Jelinek <jakub@redhat.com>
5589 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
5590 temporary only if out overlaps compare_op, not when it overlaps
5593 2022-04-28 Jakub Jelinek <jakub@redhat.com>
5596 * cgraph.cc (cgraph_node::verify_node): Don't verify
5597 semantic_interposition flag against
5598 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
5600 2022-04-28 Jakub Jelinek <jakub@redhat.com>
5603 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
5604 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
5607 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
5609 * doc/install.texi (Configuration): Remove misleading text
5610 around LE PowerPC Linux multilibs.
5612 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5615 * doc/install.texi (Tools/packages necessary for building GCC)
5616 (GDC): Document libphobos requirement.
5617 (Host/target specific installation notes for GCC, *-*-solaris2*):
5618 Document libphobos and GDC specifics.
5620 2022-04-28 Richard Biener <rguenther@suse.de>
5622 PR tree-optimization/105219
5623 * tree-vect-loop.cc (vect_transform_loop): Disable
5624 special code narrowing the vectorized epilogue max
5625 iterations when peeling for alignment or gaps was in effect.
5627 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
5629 * config/loongarch/loongarch.cc
5630 (loongarch_flatten_aggregate_field): Ignore empty fields for
5633 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
5635 * config/loongarch/loongarch.md: Add fdiv define_expand template,
5636 then generate floating-point division and floating-point reciprocal
5639 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
5641 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
5642 to PLV instruction templates.
5644 2022-04-27 Richard Biener <rguenther@suse.de>
5646 PR middle-end/104492
5647 * gimple-ssa-warn-access.cc
5648 (pass_waccess::warn_invalid_pointer): Exclude equality compare
5649 diagnostics for all kind of invalidations.
5650 (pass_waccess::check_dangling_uses): Fix post-dominator query.
5651 (pass_waccess::check_pointer_uses): Likewise.
5653 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
5656 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
5658 * config/s390/s390.cc (s390_single_field_struct_p): New function.
5659 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
5660 (s390_function_arg_float): Likewise.
5662 2022-04-27 Jakub Jelinek <jakub@redhat.com>
5665 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
5666 where offset is bigger than off but smaller than m_prev_offset + 32
5667 bits by pushing one or more 0 bytes. Sink the
5668 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
5669 all cases to the end of the function.
5671 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
5674 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
5677 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
5679 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
5680 data-share memory exhausted" error more verbose.
5682 2022-04-26 Martin Liska <mliska@suse.cz>
5685 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
5686 (run_gcc): Parse OPT_fdiagnostics_urls_.
5687 (main): Initialize global_dc.
5689 2022-04-26 Jakub Jelinek <jakub@redhat.com>
5691 PR rtl-optimization/105314
5692 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
5693 operand is equal to if_info->x, instead use the non-zero operand
5694 as one of the operands of AND with if_info->x as target.
5696 2022-04-26 Jakub Jelinek <jakub@redhat.com>
5698 PR tree-optimization/105374
5699 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
5700 !fold_convertible_p rather than assuming fold_convert must succeed.
5702 2022-04-26 Jakub Jelinek <jakub@redhat.com>
5705 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
5706 el_mode == DFmode ? double_type_node : float_type_node instead of
5707 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
5709 2022-04-25 David Malcolm <dmalcolm@redhat.com>
5712 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
5713 the location of new_stmt in all places that don't already set it,
5714 whether explicitly, or via a call to gsi_replace.
5716 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
5718 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
5720 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
5722 PR tree-optimization/105276
5723 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
5724 existing global range with calculated value.
5726 2022-04-25 Richard Biener <rguenther@suse.de>
5728 PR tree-optimization/105368
5729 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
5731 2022-04-25 Richard Biener <rguenther@suse.de>
5733 PR tree-optimization/100810
5734 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
5735 (find_ssa_undef): New function.
5736 (add_candidate_1): Avoid adding derived candidates with
5737 undefined SSA names and mark the original ones.
5738 (determine_group_iv_cost_generic): Reject rewriting
5739 uses with a different IV when that involves undefined SSA names.
5741 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
5744 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
5745 bsd_libc_has_function.
5746 * targhooks.cc (bsd_libc_has_function): New function.
5747 Expand the supported math functions to inclue C99 libm.
5748 * targhooks.h (bsd_libc_has_function): New Prototype.
5750 2022-04-25 Richard Biener <rguenther@suse.de>
5752 PR rtl-optimization/105231
5753 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
5754 with landing pad > 0 is from i3. Put any REG_EH_REGION note
5755 on i3 or drop it if the insn can not trap.
5756 (try_combine): Ensure that we can merge REG_EH_REGION notes
5757 with non-call exceptions. Ensure we are not splitting a
5758 trapping part of an insn with non-call exceptions when there
5759 is any REG_EH_REGION note to preserve.
5761 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
5764 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
5765 Add parentheses for parameters and djust format.
5766 (_mm512_mask_scalef_round_pd): Ditto.
5767 (_mm512_maskz_scalef_round_pd): Ditto.
5768 (_mm512_scalef_round_ps): Ditto.
5769 (_mm512_mask_scalef_round_ps): Ditto.
5770 (_mm512_maskz_scalef_round_ps): Ditto.
5771 (_mm_scalef_round_sd): Use _mm_undefined_pd.
5772 (_mm_scalef_round_ss): Use _mm_undefined_ps.
5773 (_mm_mask_scalef_round_sd): New macro.
5774 (_mm_mask_scalef_round_ss): Ditto.
5775 (_mm_maskz_scalef_round_sd): Ditto.
5776 (_mm_maskz_scalef_round_ss): Ditto.
5778 2022-04-23 Jakub Jelinek <jakub@redhat.com>
5781 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
5782 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
5785 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
5788 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
5789 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
5790 (pack<mode>_hard for FMOVE128): ... this...
5791 (pack<mode>_soft for FMOVE128): ... and this.
5793 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
5795 * doc/extend.texi: Correct "This" to "These".
5797 2022-04-22 Jakub Jelinek <jakub@redhat.com>
5799 PR rtl-optimization/105333
5800 * rtlanal.cc (replace_rtx): Use simplify_subreg or
5801 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
5804 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
5808 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
5809 the "Z" alternatives in {l,st}{f,xs}iwzx.
5810 (zero_extendhi<mode>2 for EXTHI): Ditto.
5811 (zero_extendsi<mode>2 for EXTSI): Ditto.
5812 (*movsi_internal1): Ditto.
5813 (*mov<mode>_internal1 for QHI): Ditto.
5814 (movsd_hardfloat): Ditto.
5816 2022-04-21 Martin Liska <mliska@suse.cz>
5818 * configure.ac: Enable compressed debug sections for mold
5820 * configure: Regenerate.
5822 2022-04-21 Jakub Jelinek <jakub@redhat.com>
5825 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
5828 2022-04-20 Richard Biener <rguenther@suse.de>
5830 PR tree-optimization/104912
5831 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
5832 the cost model check to a separate BB to make sure it is
5833 checked first and not combined with other version checks.
5835 2022-04-20 Richard Biener <rguenther@suse.de>
5837 PR tree-optimization/105312
5838 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
5839 VCOND and VCONDU for EQ and NE.
5841 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
5844 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
5845 poly_offset_int to avoid overflow.
5846 (modref_access_node::update2): likewise.
5848 2022-04-20 Jakub Jelinek <jakub@redhat.com>
5851 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
5852 to opt_for_fn (decl, flag_semantic_interposition).
5853 * cgraphclones.cc (cgraph_node::create_clone): Copy over
5854 semantic_interposition flag.
5856 2022-04-19 Sergei Trofimovich <siarheit@google.com>
5858 PR gcov-profile/105282
5859 * value-prof.cc (stream_out_histogram_value): Allow negative counts
5860 on HIST_TYPE_INDIR_CALL.
5862 2022-04-19 Jakub Jelinek <jakub@redhat.com>
5865 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
5866 use gen_raw_REG instead of gen_rtx_REG and copy over also
5867 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
5869 2022-04-19 Richard Biener <rguenther@suse.de>
5871 PR tree-optimization/104010
5872 PR tree-optimization/103941
5873 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
5874 we run into stmts in patterns continue walking those
5875 for uses outside of the vectorized region instead of
5876 marking the lane live.
5878 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
5880 * doc/install.texi <CRIS>: Remove references to removed websites and
5881 adjust for cris-*-elf being the only remaining toolchain.
5883 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
5885 * doc/invoke.texi <CRIS>: Remove references to options for removed
5886 subtarget cris-axis-linux-gnu and tweak wording accordingly.
5888 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
5890 * doc/install.texi (Specific): Adjust mingw-w64 download link.
5892 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
5894 * config/i386/smmintrin.h: Correct target pragma from sse4.1
5895 and sse4.2 to crc32 for crc32 intrinsics.
5897 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
5900 * ctfc.cc (ctf_dvd_ignore_insert): New function.
5901 (ctf_dvd_ignore_lookup): Likewise.
5902 (ctf_add_variable): Keep track of non-defining decl DIEs.
5903 (new_ctf_container): Initialize the new hash-table.
5904 (ctfc_delete_container): Empty hash-table.
5905 * ctfc.h (struct ctf_container): Add new hash-table.
5906 (ctf_dvd_ignore_lookup): New declaration.
5907 (ctf_add_variable): Add additional argument.
5908 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
5909 record for non-defining decl for which a defining decl exists
5911 (ctf_preprocess): Defer updating the number of global objts
5913 (output_ctf_header): Use ctfc_vars_list_count as some CTF
5914 variables may not make it to the final output.
5915 (output_ctf_vars): Likewise.
5916 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
5917 if this is known to be a non-defining decl DIE.
5919 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
5921 * ctfc.h (struct ctf_container): Introduce a new member.
5922 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
5925 2022-04-14 Jakub Jelinek <jakub@redhat.com>
5928 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
5929 or rotates by VOIDmode constant integer shift count use word_mode
5930 for the operand if int_mode is narrower than word.
5932 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
5934 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
5935 (s390_get_unit_mask): Likewise.
5936 (s390_is_fpd): Likewise.
5937 (s390_is_fxd): Likewise.
5938 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
5939 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
5941 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
5943 * config/s390/3931.md: New file.
5945 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
5947 PR tree-optimization/105254
5948 * config/aarch64/aarch64.cc
5949 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
5950 loop_vec_info as argument. Restrict the unroll factor to values
5952 (aarch64_vector_costs::finish_cost): Update call accordingly.
5954 2022-04-13 Richard Biener <rguenther@suse.de>
5956 PR tree-optimization/105263
5957 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
5958 negates in multiplication chains with DFP.
5960 2022-04-13 Jakub Jelinek <jakub@redhat.com>
5962 PR middle-end/105253
5963 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
5964 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
5965 comparisons or tree_nop_conversion_p checks.
5967 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
5970 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
5971 Add missing set to target_val at pause label.
5973 2022-04-13 Jakub Jelinek <jakub@redhat.com>
5976 * attribs.cc (decl_attributes): Don't set
5977 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
5980 2022-04-13 Richard Biener <rguenther@suse.de>
5982 PR tree-optimization/105250
5983 * fold-const.cc (fold_convertible_p): Revert
5984 r12-7979-geaaf77dd85c333, instead check for size equality
5985 of the vector types involved.
5987 2022-04-13 Richard Biener <rguenther@suse.de>
5990 2022-04-13 Richard Biener <rguenther@suse.de>
5992 PR tree-optimization/104912
5993 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
5994 the cost model check to a separate BB to make sure it is
5995 checked first and not combined with other version checks.
5997 2022-04-13 Richard Biener <rguenther@suse.de>
5999 PR tree-optimization/104912
6000 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
6001 the cost model check to a separate BB to make sure it is
6002 checked first and not combined with other version checks.
6004 2022-04-13 Jakub Jelinek <jakub@redhat.com>
6006 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
6008 2022-04-12 Antoni Boucher <bouanto@zoho.com>
6011 * reginfo.cc: New functions (clear_global_regs_cache,
6012 reginfo_cc_finalize) to avoid an issue where compiling the same
6013 code multiple times gives an error about assigning the same
6014 register to 2 global variables.
6015 * rtl.h: New function (reginfo_cc_finalize).
6016 * toplev.cc: Call it.
6018 2022-04-12 Antoni Boucher <bouanto@zoho.com>
6021 * toplev.cc: Call the new function tree_cc_finalize in
6023 * tree.cc: New functions (clear_nonstandard_integer_type_cache
6024 and tree_cc_finalize) to clear the cache of non-standard integer
6025 types to avoid having issues with some optimizations of
6026 bitcast where the SSA_NAME will have a size of a cached
6027 integer type that should have been invalidated, causing a
6028 comparison of integer constant to fail.
6029 * tree.h: New function (tree_cc_finalize).
6031 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
6034 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
6035 * config/nvptx/nvptx.opt (misa): Adjust comment.
6037 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
6040 2022-03-03 Tom de Vries <tdevries@suse.de>
6042 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
6044 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
6047 2022-03-31 Tom de Vries <tdevries@suse.de>
6049 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
6051 2022-04-12 Richard Biener <rguenther@suse.de>
6054 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
6055 include local escaped memory as obviously necessary stores.
6057 2022-04-12 Richard Biener <rguenther@suse.de>
6059 PR tree-optimization/105235
6060 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
6061 return whether the CFG changed.
6062 (execute_cse_sincos_1): Adjust.
6064 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
6067 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
6068 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
6069 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
6070 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
6071 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
6072 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
6073 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
6075 2022-04-12 Richard Biener <rguenther@suse.de>
6077 PR tree-optimization/105232
6078 * tree.cc (component_ref_size): Bail out for too large
6079 or non-constant sizes.
6081 2022-04-12 Richard Biener <rguenther@suse.de>
6083 PR tree-optimization/105226
6084 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
6085 we can split the exit of an outer loop we choose to version.
6087 2022-04-12 Jakub Jelinek <jakub@redhat.com>
6089 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
6090 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
6091 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
6092 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
6093 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
6095 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
6097 2022-04-12 Jakub Jelinek <jakub@redhat.com>
6100 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
6101 do_pending_stack_adjust.
6103 2022-04-12 Jakub Jelinek <jakub@redhat.com>
6105 PR rtl-optimization/105211
6106 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
6107 fails for TREE_TYPE (arg), retry it with
6108 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
6109 fails, emit call normally.
6111 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
6113 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
6114 * config.gcc: Add z16 as march/mtune switch.
6115 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
6116 Recognize z16 with -march=native.
6117 * config/s390/s390-opts.h (enum processor_type): Rename
6118 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
6119 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
6120 (PROCESSOR_3931_Z16): ... throughout the file.
6121 (s390_processor processor_table): Add z16 as cpu string.
6122 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
6124 (TARGET_CPU_ARCH14): Rename to ...
6125 (TARGET_CPU_Z16): ... this.
6126 (TARGET_CPU_ARCH14_P): Rename to ...
6127 (TARGET_CPU_Z16_P): ... this.
6128 (TARGET_ARCH14): Rename to ...
6129 (TARGET_Z16): ... this.
6130 (TARGET_ARCH14_P): Rename to ...
6131 (TARGET_Z16_P): ... this.
6132 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
6133 check TARGET_Z16 instead of TARGET_ARCH14.
6134 * config/s390/s390.opt: Add z16 to processor_type.
6135 * doc/invoke.texi: Document z16 and arch14.
6137 2022-04-12 chenglulu <chenglulu@loongson.cn>
6139 * config/loongarch/loongarch.cc: Fix bug for
6140 tmpdir-g++.dg-struct-layout-1/t033.
6142 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
6145 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
6146 to longcall functions.
6148 2022-04-11 Jason Merrill <jason@redhat.com>
6150 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
6152 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
6156 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
6158 2022-04-11 Jakub Jelinek <jakub@redhat.com>
6160 PR tree-optimization/105218
6161 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
6162 more than one predecessor or phi's bb more than 2 predecessors,
6163 reset phi result uses instead of adding a debug temp.
6165 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
6168 * config.gcc: Pass -misa-spec to arch-canonicalize and
6170 * config/riscv/arch-canonicalize: Adding -misa-spec option.
6171 (SUPPORTED_ISA_SPEC): New.
6172 (arch_canonicalize): New argument `isa_spec`.
6173 Handle multiple ISA spec versions.
6174 * config/riscv/multilib-generator: Adding -misa-spec option.
6176 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
6178 * config/riscv/arch-canonicalize: Add TODO item.
6179 (IMPLIED_EXT): Sync.
6180 (arch_canonicalize): Checking until no change.
6182 2022-04-11 Tamar Christina <tamar.christina@arm.com>
6185 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
6188 2022-04-11 Jason Merrill <jason@redhat.com>
6191 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
6194 2022-04-11 Jakub Jelinek <jakub@redhat.com>
6196 PR tree-optimization/104639
6197 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
6198 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
6201 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
6203 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
6204 sign bit of the source ends up in CC.
6206 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
6209 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
6212 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
6214 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
6215 nondeterministic and side_effects flags.
6217 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
6220 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
6221 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
6222 (TARGET_CPU_MASK): Likewise.
6223 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
6224 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
6225 (aarch64_get_arch): Likewise.
6226 (aarch64_override_options): Use TARGET_CPU_NBITS.
6228 2022-04-08 Richard Biener <rguenther@suse.de>
6230 PR tree-optimization/105198
6231 * tree-predcom.cc (find_looparound_phi): Check whether
6232 the found memory location of the entry value is clobbered
6233 inbetween the value we want to use and loop entry.
6235 2022-04-08 Jakub Jelinek <jakub@redhat.com>
6237 PR tree-optimization/105189
6238 * fold-const.cc (make_range_step): Fix up handling of
6239 (unsigned) x +[low, -] ranges for signed x if low fits into
6242 2022-04-08 Richard Biener <rguenther@suse.de>
6244 PR tree-optimization/105175
6245 * tree-vect-stmts.cc (vectorizable_operation): Suppress
6246 -Wvector-operation-performance if using emulated vectors.
6247 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
6248 -Wvector-operation-performance when suppressed.
6249 (expand_vector_parallel): Likewise.
6250 (expand_vector_comparison): Likewise.
6251 (expand_vector_condition): Likewise.
6252 (lower_vec_perm): Likewise.
6253 (expand_vector_conversion): Likewise.
6255 2022-04-07 Tamar Christina <tamar.christina@arm.com>
6258 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
6259 (aarch64_general_init_builtins): Move LS64 code.
6260 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
6262 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
6263 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
6265 2022-04-07 Richard Biener <rguenther@suse.de>
6266 Jan Hubicka <hubicka@ucw.cz>
6269 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
6270 ref_may_alias_global_p, ref_may_alias_global_p,
6271 stmt_may_clobber_global_p, pt_solution_includes_global): Add
6272 bool parameters indicating whether escaped locals should be
6274 * tree-ssa-structalias.cc (pt_solution_includes_global):
6275 When the new escaped_nonlocal_p flag is true also consider
6276 pt->vars_contains_escaped.
6277 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
6278 Pass down new escaped_nonlocal_p flag.
6279 (ref_may_alias_global_p): Likewise.
6280 (stmt_may_clobber_global_p): Likewise.
6281 (ref_may_alias_global_p_1): Likewise. For decls also
6282 query the escaped solution if true.
6283 (ref_may_access_global_memory_p): Remove.
6284 (modref_may_conflict): Use ref_may_alias_global_p with
6285 escaped locals considered global.
6286 (ref_maybe_used_by_stmt_p): Adjust.
6287 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
6289 * tree-ssa-dse.cc (dse_classify_store): Likewise.
6290 * trans-mem.cc (thread_private_new_memory): Likewise, but
6291 consider escaped locals global.
6292 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
6294 2022-04-07 Richard Biener <rguenther@suse.de>
6296 PR tree-optimization/105185
6297 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
6300 2022-04-07 Tamar Christina <tamar.christina@arm.com>
6303 * config/aarch64/aarch64-simd.md
6304 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
6305 (reduc_plus_scal_<mode>): ... This.
6306 (reduc_plus_scal_v4sf): Moved.
6307 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
6308 (reduc_plus_scal_v2si): ... This.
6310 2022-04-07 Jakub Jelinek <jakub@redhat.com>
6312 PR tree-optimization/102586
6313 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
6315 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
6316 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
6317 * gimple-fold.cc (clear_padding_type): Use ftype instead of
6318 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
6319 name try the lang_hooks.types.classtype_as_base langhook and
6320 if it returns non-NULL, use that instead of ftype for recursive call.
6322 2022-04-07 Jakub Jelinek <jakub@redhat.com>
6324 PR tree-optimization/105150
6325 * tree.cc (tree_builtin_call_types_compatible_p): New function.
6326 (get_call_combined_fn): Use it.
6328 2022-04-07 Richard Biener <rguenther@suse.de>
6330 PR middle-end/105165
6331 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
6334 2022-04-07 liuhongt <hongtao.liu@intel.com>
6336 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
6338 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
6340 (<code><mode>3<mask_name>): Ditto.
6341 (*<code><mode>3<mask_name>): Ditto.
6342 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
6347 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6349 PR rtl-optimization/104985
6350 * combine.cc (struct undo): Add where.regno member.
6351 (do_SUBST_MODE): Rename to ...
6352 (subst_mode): ... this. Change first argument from rtx * into int,
6353 operate on regno_reg_rtx[regno] and save regno into where.regno.
6354 (SUBST_MODE): Remove.
6355 (try_combine): Use subst_mode instead of SUBST_MODE, change first
6356 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
6357 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
6358 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
6359 instead of *undo->where.r.
6360 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
6361 argument from regno_reg_rtx[whatever] to whatever.
6363 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6366 * config/sh/sh.opt (mdiv=): Add Save.
6368 2022-04-06 Martin Liska <mliska@suse.cz>
6371 * common.opt: Document properly based on what it does.
6372 * gcc.cc (display_help): Unify with what we have in common.opt.
6373 * opts.cc (common_handle_option): Do not print undocumented
6376 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
6378 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
6379 cxx17_empty_base_field_p fields and set an indicator.
6380 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
6381 (mips_function_value_1): Inform psABI change about C++17 empty
6384 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6386 PR tree-optimization/105150
6387 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
6388 builtin_decl_explicit here...
6389 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
6392 2022-04-06 Richard Biener <rguenther@suse.de>
6394 PR tree-optimization/105173
6395 * tree-ssa-reassoc.cc (find_insert_point): Get extra
6396 insert_before output argument and compute it.
6397 (insert_stmt_before_use): Adjust.
6398 (rewrite_expr_tree): Likewise.
6400 2022-04-06 Richard Biener <rguenther@suse.de>
6403 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
6404 out for non-pointer arguments.
6406 2022-04-06 Richard Biener <rguenther@suse.de>
6408 PR tree-optimization/105163
6409 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
6412 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6414 PR tree-optimization/105150
6415 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
6416 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
6417 preferrably on builtin_decl_explicit decl rather than fndecl.
6418 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
6419 gimple_builtin_call_types_compatible_p here.
6421 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
6423 PR tree-optimization/103761
6424 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
6425 the ncopies parameter with an slp_node parameter. Calculate the
6426 number of vectors based on it and vectype. Rename lambda to
6427 group_memory_nvectors.
6428 (vectorizable_store, vectorizable_load): Update calls accordingly.
6430 2022-04-06 Martin Liska <mliska@suse.cz>
6432 * doc/invoke.texi: Document it.
6434 2022-04-06 Richard Biener <rguenther@suse.de>
6436 PR tree-optimization/105148
6437 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
6438 2 and 3 of ARRAY_REFs.
6440 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
6442 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
6443 (*andnottf3): Replace with...
6444 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
6446 2022-04-06 Richard Biener <rguenther@suse.de>
6448 PR tree-optimization/105142
6449 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
6450 basic-block parameter.
6451 (maybe_fold_or_comparisons): Likewise.
6452 * gimple-fold.cc (follow_outer_ssa_edges): New.
6453 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
6454 when an outer condition basic-block is specified.
6455 (and_comparisons_1, and_var_with_comparison,
6456 and_var_with_comparison_1, or_comparisons_1,
6457 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
6458 down the outer condition basic-block.
6459 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
6460 basic-block of the outer condition.
6462 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
6465 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
6466 comparison codes UNLT/UNLE/UNGT/UNGE.
6468 2022-04-05 David Malcolm <dmalcolm@redhat.com>
6470 * doc/extend.texi (Common Function Attributes): Document that
6471 'access' does not imply 'nonnull'.
6473 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
6476 * config/i386/mmx.md (*movv2qi_internal):
6477 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
6479 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
6481 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
6482 define_expand and turn operands 0 and 1 from REGs to MEMs.
6483 (*aarch64_cpymemdi): New pattern.
6484 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
6485 from a REG to a MEM.
6486 (*aarch64_setmemdi): New pattern.
6487 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
6488 copy_to_mode_reg on all three registers. Replace the original
6489 MEM addresses rather than creating wild reads and writes.
6490 (aarch64_expand_setmem_mops): Likewise for the size and for the
6491 destination memory and address.
6493 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
6496 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
6497 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
6498 from aarch64_simd_switcher.
6499 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
6501 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
6502 (register_tuple_type): Add more asserts. Expect the alignment
6503 of the structure to be subject to flag_pack_struct and
6504 maximum_field_alignment. Set aarch64_simd_tuple_modes.
6505 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
6506 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
6507 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
6508 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
6509 while calling aarch64_init_simd_builtins.
6510 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
6511 (sve_switcher::~sve_switcher): Remove code now performed by
6512 aarch64_simd_switcher.
6514 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
6517 * config/aarch64/aarch64-sve-builtins.cc
6518 (function_resolver::infer_vector_or_tuple_type): Use error_n
6519 for "%d vectors" messages.
6521 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
6523 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
6524 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
6527 2022-04-05 Richard Biener <rguenther@suse.de>
6530 * passes.def (pass_walloca): Move early instance into
6531 pass_build_ssa_passes to make SSA form available.
6533 2022-04-05 liuhongt <hongtao.liu@intel.com>
6536 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
6538 (ix86_reorg): Call ix86_split_stlf_stall_load.
6539 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
6542 2022-04-05 Alexandre Oliva <oliva@adacore.com>
6544 * targhooks.cc (default_zero_call_used_regs): Attempt to group
6545 regs that the target refuses to use in their natural modes.
6546 (zcur_select_mode_rtx): New.
6547 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
6548 (hard_regno_max_nregs): Define.
6549 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
6551 2022-04-04 Alex Coplan <alex.coplan@arm.com>
6553 * doc/match-and-simplify.texi: Fix typos.
6555 2022-04-04 Jakub Jelinek <jakub@redhat.com>
6558 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
6559 only if configured with --enable-maintainer-mode, otherwise compare
6560 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
6561 if they differ, emit a message and fail.
6563 2022-04-04 Jakub Jelinek <jakub@redhat.com>
6566 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
6567 * config/aarch64/aarch64-tune.md: Regenerated.
6569 2022-04-04 Richard Biener <rguenther@suse.de>
6571 PR tree-optimization/105132
6572 * tree-vect-stmts.cc (vectorizable_operation): Check that
6573 the input vectors have the same number of elements.
6575 2022-04-04 Richard Biener <rguenther@suse.de>
6577 PR middle-end/105140
6578 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
6580 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
6583 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
6584 (delay slot descripts): Use different delay slot description when
6585 the insn as the "bbi" attribute.
6586 (bbi, bbin patterns): Set the bbi attribute to yes.
6588 2022-04-03 Jakub Jelinek <jakub@redhat.com>
6591 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
6592 using word as target for expand_simple_binop when doing ASHIFT and
6595 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
6597 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
6598 NULL before dereferencing it.
6600 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
6602 * config/i386/i386.cc (zero_all_st_registers): Return the value of
6604 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
6605 the return value of zero_all_st_registers.
6606 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
6607 * function.cc (gen_call_used_regs_seq): Add an assertion.
6608 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
6610 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
6613 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
6614 fields, and inform if it causes a psABI change.
6616 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
6619 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
6620 zero-width bit-fields and set up an indicator.
6621 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
6622 (mips_function_value_1): Diagnose when the presense of a C++
6623 zero-width bit-field changes function returning in GCC 12.
6625 2022-04-01 Jakub Jelinek <jakub@redhat.com>
6627 PR tree-optimization/104645
6628 * tree-ssa-phiopt.cc (value_replacement): If assign has
6629 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
6630 statement with constant evaluation.
6632 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
6634 * config/mips/mips.cc (mips_expand_prologue):
6635 IPL is 8bit for MCU ASE.
6637 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
6640 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
6643 (SET_FPSCR_RN): Likewise.
6644 (SET_FPSCR_DRN): Mark nosoft and no32bit.
6646 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
6648 * doc/options.texi (Option file format): Clarifications around
6649 option definition records' help texts.
6651 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
6653 * optc-gen.awk <END>: Fix "Multiple different help strings" error
6656 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
6658 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
6659 determine_suggested_unroll_factor and m_has_avg.
6660 (determine_suggested_unroll_factor): New function.
6661 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
6662 to set m_nosve_pattern.
6663 (aarch64_vector_costs::finish_costs): Use
6664 determine_suggested_unroll_factor.
6665 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
6666 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
6668 2022-03-31 Martin Jambor <mjambor@suse.cz>
6671 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
6672 (ipa_get_jf_ancestor_keep_null): New function.
6673 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
6675 (compute_complex_assign_jump_func): Pass false to keep_null
6676 parameter of ipa_set_ancestor_jf.
6677 (compute_complex_ancestor_jump_func): Pass true to keep_null
6678 parameter of ipa_set_ancestor_jf.
6679 (update_jump_functions_after_inlining): Carry over keep_null from the
6680 original ancestor jump-function or merge them.
6681 (ipa_write_jump_function): Stream keep_null flag.
6682 (ipa_read_jump_function): Likewise.
6683 (ipa_print_node_jump_functions_for_edge): Print the new flag.
6684 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
6685 member function known_nonzero_p.
6686 (ipcp_bits_lattice::known_nonzero_p): New.
6687 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
6689 (ipcp_bits_lattice::meet_with): Likewise.
6690 (propagate_bits_across_jump_function): Simplify. Pass true in
6691 drop_all_ones when it is necessary.
6692 (propagate_aggs_across_jump_function): Take care of keep_null
6694 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
6697 2022-03-31 Martin Jambor <mjambor@suse.cz>
6700 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
6701 which do not fit the known value_range.
6703 2022-03-31 Martin Jambor <mjambor@suse.cz>
6706 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
6707 always when an ADDR_EXPR constant is known to reach a load because
6708 of inlining, not just when removing an ADDR reference.
6710 2022-03-31 Richard Biener <rguenther@suse.de>
6712 PR tree-optimization/105109
6713 * tree-ssa.cc (execute_update_addresses_taken): Suppress
6714 diagnostics on the load of the other complex component.
6716 2022-03-31 Tom de Vries <tdevries@suse.de>
6718 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
6720 2022-03-31 Richard Biener <rguenther@suse.de>
6722 PR rtl-optimization/105091
6723 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
6726 2022-03-31 Richard Biener <rguenther@suse.de>
6729 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
6732 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
6733 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
6735 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
6737 * gcov-io.cc (gcov_read_string): Reword documentation comment.
6739 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
6741 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
6743 (NEG_V4SF): Likewise.
6744 (NEG_V4SI): Likewise.
6745 (NEG_V8HI): Likewise.
6746 (NEG_V2DF): Move to [vsx] stanza.
6747 (NEG_V2DI): Likewise.
6749 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
6751 PR middle-end/105032
6752 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
6754 2022-03-30 Tom de Vries <tdevries@suse.de>
6755 Tobias Burnus <tobias@codesourcery.com>
6757 * doc/invoke.texi (march): Document __PTX_SM__.
6758 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
6759 __PTX_ISA_VERSION_MINOR__.
6761 2022-03-30 Jakub Jelinek <jakub@redhat.com>
6764 * ubsan.cc (instrument_object_size): If t is equal to inner and
6765 is a decl other than global var, punt. When emitting call to
6766 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
6768 2022-03-30 Jakub Jelinek <jakub@redhat.com>
6770 PR tree-optimization/105094
6771 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
6772 bitsize <= 0 rather than just == 0.
6774 2022-03-30 Tom de Vries <tdevries@suse.de>
6776 * doc/invoke.texi (misa, mptx): Update.
6777 (march, march-map): Add.
6779 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
6781 * opt-functions.awk (n_args): New function.
6782 (lang_enabled_by): Merge function into...
6783 * optc-gen.awk <END>: ... sole user here.
6784 Improve diagnostics.
6786 2022-03-29 Marek Polacek <polacek@redhat.com>
6787 Jakub Jelinek <jakub@redhat.com>
6789 PR middle-end/103597
6790 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
6791 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
6792 (gimplify_cond_expr): Set UNUSED_LABEL_P.
6793 * tree.h (UNUSED_LABEL_P): New.
6795 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
6797 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
6798 be any VSX register.
6800 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
6803 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
6804 zero-sized bit-fields. Detect cases where a warning may be needed.
6805 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
6806 zero-sized bit-field has caused parameter passing to change.
6808 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
6811 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
6812 bit-fields. Detect cases where a warning may be needed.
6813 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
6814 a zero-sized bit-field has caused parameter passing to change.
6816 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
6819 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
6820 ARM_PCS_AAPCS_LOCAL.
6822 2022-03-29 Tom de Vries <tdevries@suse.de>
6825 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
6826 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
6827 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
6828 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
6830 2022-03-29 Tom de Vries <tdevries@suse.de>
6832 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
6835 2022-03-29 Tom de Vries <tdevries@suse.de>
6838 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
6840 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
6842 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
6843 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
6844 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
6845 (TARGET_USE_GATHER_4PARTS): New macro.
6846 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
6847 (X86_TUNE_USE_GATHER_4PARTS): New tune
6849 2022-03-29 Tom de Vries <tdevries@suse.de>
6851 * config/nvptx/nvptx.opt (march): Add alias of misa.
6853 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6854 Lulu Cheng <chenglulu@loongson.cn>
6856 * doc/install.texi: Add LoongArch options section.
6857 * doc/invoke.texi: Add LoongArch options section.
6858 * doc/md.texi: Add LoongArch options section.
6860 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6861 Lulu Cheng <chenglulu@loongson.cn>
6863 * config/loongarch/loongarch-c.cc
6865 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6866 Lulu Cheng <chenglulu@loongson.cn>
6868 * config/loongarch/larchintrin.h: New file.
6869 * config/loongarch/loongarch-builtins.cc: New file.
6871 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6872 Lulu Cheng <chenglulu@loongson.cn>
6874 * config/host-linux.cc: Add LoongArch support.
6875 * config/loongarch/loongarch-protos.h: New file.
6876 * config/loongarch/loongarch-tune.h: Likewise.
6877 * config/loongarch/loongarch.cc: Likewise.
6878 * config/loongarch/loongarch.h: Likewise.
6880 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6881 Lulu Cheng <chenglulu@loongson.cn>
6883 * config/loongarch/constraints.md: New file.
6884 * config/loongarch/generic.md: New file.
6885 * config/loongarch/la464.md: New file.
6886 * config/loongarch/loongarch-ftypes.def: New file.
6887 * config/loongarch/loongarch-modes.def: New file.
6888 * config/loongarch/loongarch.md: New file.
6889 * config/loongarch/predicates.md: New file.
6890 * config/loongarch/sync.md: New file.
6892 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6893 Lulu Cheng <chenglulu@loongson.cn>
6895 * configure: Regenerate file.
6897 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6898 Lulu Cheng <chenglulu@loongson.cn>
6900 * common/config/loongarch/loongarch-common.cc: New file.
6901 * config/loongarch/genopts/genstr.sh: New file.
6902 * config/loongarch/genopts/loongarch-strings: New file.
6903 * config/loongarch/genopts/loongarch.opt.in: New file.
6904 * config/loongarch/loongarch-str.h: New file.
6905 * config/loongarch/gnu-user.h: New file.
6906 * config/loongarch/linux.h: New file.
6907 * config/loongarch/loongarch-cpu.cc: New file.
6908 * config/loongarch/loongarch-cpu.h: New file.
6909 * config/loongarch/loongarch-def.c: New file.
6910 * config/loongarch/loongarch-def.h: New file.
6911 * config/loongarch/loongarch-driver.cc: New file.
6912 * config/loongarch/loongarch-driver.h: New file.
6913 * config/loongarch/loongarch-opts.cc: New file.
6914 * config/loongarch/loongarch-opts.h: New file.
6915 * config/loongarch/loongarch.opt: New file.
6916 * config/loongarch/t-linux: New file.
6917 * config/loongarch/t-loongarch: New file.
6918 * config.gcc: Add LoongArch support.
6919 * configure.ac: Add LoongArch support.
6921 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
6923 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
6926 2022-03-29 Richard Biener <rguenther@suse.de>
6928 PR tree-optimization/105080
6929 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
6932 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
6934 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
6935 (output_ctf_vars): Likewise.
6937 2022-03-28 Jason Merrill <jason@redhat.com>
6940 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
6942 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
6945 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
6948 2022-03-28 Tom de Vries <tdevries@suse.de>
6951 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
6952 * config/nvptx/nvptx-gen.opt: Regenerate.
6953 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
6954 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
6957 2022-03-28 David Malcolm <dmalcolm@redhat.com>
6960 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
6961 to loads then stores, set the location of the new load stmt.
6963 2022-03-28 Richard Biener <rguenther@suse.de>
6965 PR tree-optimization/105070
6966 * tree-switch-conversion.h
6967 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
6969 * tree-switch-conversion.cc
6970 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
6972 (bit_test_cluster::emit): Annotate all generated expressions
6975 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
6977 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
6979 2022-03-28 liuhongt <hongtao.liu@intel.com>
6982 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
6983 alternative 4 from sse4_noavx to noavx.
6985 2022-03-28 Jakub Jelinek <jakub@redhat.com>
6987 PR tree-optimization/105056
6988 * tree-predcom.cc (component::component): Initialize also comp_step.
6990 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
6993 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
6996 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
6998 PR middle-end/104885
6999 * calls.cc (mark_stack_region_used): Check that the region
7000 is within the allocated size of stack_usage_map.
7002 2022-03-26 Jakub Jelinek <jakub@redhat.com>
7004 PR rtl-optimization/103775
7005 * recog.cc (check_invalid_inc_dec): New function.
7006 (insn_invalid_p): Return 1 if REG_INC operand overlaps
7009 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
7012 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
7013 (aes<aesklvariant>u8): Likewise.
7015 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
7018 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
7019 Replace "Yv" with "x".
7020 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
7021 (ssse3_psign<mode>3): Likewise.
7023 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
7025 * reload.cc (find_reloads): Align comment with code where
7026 considering the intersection of register classes then tweaking the
7027 regclass for the current alternative or rejecting it.
7029 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
7033 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
7035 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
7036 (mve_vec_unpack<US>_hi_<mode>): Delete.
7037 (@mve_vec_pack_trunc_lo_<mode>): Delete.
7038 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
7039 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
7041 (vec_unpack<US>_lo_<mode>): Likewise.
7042 (vec_pack_trunc_<mode>): Rename from
7043 neon_quad_vec_pack_trunc_<mode>.
7044 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
7045 (vec_unpack<US>_lo_<mode>): Delete.
7046 (vec_pack_trunc_<mode>): Delete.
7048 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
7050 PR middle-end/104971
7051 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
7052 regs to clear remove_p flag.
7054 2022-03-25 Richard Biener <rguenther@suse.de>
7056 PR tree-optimization/105053
7057 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
7058 the correct live-out stmt for a reduction chain.
7060 2022-03-25 Richard Biener <rguenther@suse.de>
7062 PR middle-end/105049
7063 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
7064 CONSTRUCTOR first elements.
7066 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
7069 * doc/invoke.texi (Static Analyzer Options): Move
7070 @ignore block after @gccoptlist's '}' for 'make pdf'.
7072 2022-03-25 David Malcolm <dmalcolm@redhat.com>
7075 * doc/invoke.texi (Static Analyzer Options): Add
7076 -fdump-analyzer-untracked.
7078 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
7081 * doc/invoke.texi: Document that enabling taint analyzer
7082 checker disables some warnings from `-fanalyzer`.
7084 2022-03-24 Alexandre Oliva <oliva@adacore.com>
7087 * gimple-harden-conditionals.cc (detach_value): Keep temps
7090 2022-03-24 Alexandre Oliva <oliva@adacore.com>
7092 PR middle-end/104975
7093 * gimple-harden-conditionals.cc
7094 (pass_harden_compares::execute): Force split in case of
7097 2022-03-24 Jakub Jelinek <jakub@redhat.com>
7100 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
7101 field0 or field1 is not a FIELD_DECL, return false.
7103 2022-03-24 Richard Biener <rguenther@suse.de>
7105 * tree-predcom.cc (chain::chain): Add CTOR.
7106 (component::component): Likewise.
7107 (pcom_worker::release_chain): Use delete.
7108 (release_components): Likewise.
7109 (pcom_worker::filter_suitable_components): Likewise.
7110 (pcom_worker::split_data_refs_to_components): Use new.
7111 (make_invariant_chain): Likewise.
7112 (make_rooted_chain): Likewise.
7113 (pcom_worker::combine_chains): Likewise.
7114 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
7115 Make sure to release previously constructed scalar_results.
7116 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
7118 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
7119 Release m_flag_set_edges.
7121 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
7123 PR tree-optimization/104970
7124 * tree-object-size.cc (parm_object_size): Restrict size
7125 computation scenarios to explicit access attributes.
7127 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
7130 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
7133 2022-03-23 Richard Biener <rguenther@suse.de>
7136 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
7137 use of movmisalign when either the source or destination
7138 decl is properly aligned.
7140 2022-03-23 Richard Biener <rguenther@suse.de>
7142 PR rtl-optimization/105028
7143 * ira-color.cc (form_threads_from_copies): Remove unnecessary
7144 copying of the sorted_copies tail.
7146 2022-03-23 Martin Liska <mliska@suse.cz>
7148 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
7150 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
7151 Reword the error message.
7153 2022-03-23 liuhongt <hongtao.liu@intel.com>
7156 * config/i386/sse.md (ssePSmodelower): New.
7157 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
7158 lowpart_subreg to avoid NULL_RTX.
7159 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
7160 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
7161 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
7162 <avx512>_<complexopname>_<mode>_mask<round_name>,
7163 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
7164 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
7165 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
7166 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
7167 float<floatunssuffix><mode>v4hf2,
7168 float<floatunssuffix>v2div2hf2,
7169 fix<fixunssuffix>_truncv4hf<mode>2,
7170 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
7172 trunc<mode>v4hf2,truncv2dfv2hf2,
7173 *avx512bw_permvar_truncv16siv16hi_1,
7174 *avx512bw_permvar_truncv16siv16hi_1_hf,
7175 *avx512f_permvar_truncv8siv8hi_1,
7176 *avx512f_permvar_truncv8siv8hi_1_hf,
7177 *avx512f_vpermvar_truncv8div8si_1,
7178 *avx512f_permvar_truncv32hiv32qi_1,
7179 *avx512f_permvar_truncv16hiv16qi_1,
7180 *avx512f_permvar_truncv4div4si_1,
7181 *avx512f_pshufb_truncv8hiv8qi_1,
7182 *avx512f_pshufb_truncv4siv4hi_1,
7183 *avx512f_pshufd_truncv2div2si_1,
7184 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
7185 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
7187 2022-03-22 Tom de Vries <tdevries@suse.de>
7190 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
7191 Use % as register prefix.
7193 2022-03-22 Tom de Vries <tdevries@suse.de>
7195 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
7196 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
7199 2022-03-22 Tom de Vries <tdevries@suse.de>
7201 * config/nvptx/nvptx.opt (mexperimental): New option.
7203 2022-03-22 Tom de Vries <tdevries@suse.de>
7206 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
7207 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
7209 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
7210 (nvptx_asm_output_def_from_decls): New function.
7211 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
7213 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
7214 nvptx_asm_output_def_from_decls.
7215 * config/nvptx/nvptx.opt (malias): New opt.
7217 2022-03-22 Tom de Vries <tdevries@suse.de>
7221 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
7222 sync (or uniform warp check for mptx < 6.0).
7224 2022-03-22 Richard Biener <rguenther@suse.de>
7226 PR tree-optimization/105012
7227 * tree-if-conv.cc (ifcvt_local_dce): Only call
7228 dse_classify_store when we have a VDEF.
7230 2022-03-22 Martin Liska <mliska@suse.cz>
7233 * config/nvptx/nvptx.cc (handle_ptx_version_option):
7234 Fix option wrapping in an error message.
7236 2022-03-22 Martin Liska <mliska@suse.cz>
7239 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
7242 2022-03-22 Martin Liska <mliska@suse.cz>
7244 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
7247 2022-03-22 Martin Liska <mliska@suse.cz>
7250 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
7251 Use %qs instead of (%qs).
7253 2022-03-22 Martin Liska <mliska@suse.cz>
7256 * config/i386/i386-options.cc (ix86_option_override_internal):
7257 Use '%qs' instead of '(%qs)'.
7259 2022-03-22 Martin Liska <mliska@suse.cz>
7262 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
7263 Use 'qs' and remove usage '(%qs)'.
7264 (aarch64_handle_attr_cpu): Likewise.
7265 (aarch64_handle_attr_tune): Likewise.
7266 (aarch64_handle_attr_isa_flags): Likewise.
7268 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7269 Andre Vieira <andre.simoesdiasvieira@arm.com>
7271 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
7273 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
7275 (neoverse512tvb_tunings): Likewise.
7277 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7278 Andre Vieira <andre.simoesdiasvieira@arm.com>
7280 * config/aarch64/aarch64.cc (demeter_addrcost_table,
7281 demeter_regmove_cost, demeter_advsimd_vector_cost,
7282 demeter_sve_vector_cost, demeter_scalar_issue_info,
7283 demeter_advsimd_issue_info, demeter_sve_issue_info,
7284 demeter_vec_issue_info, demeter_vector_cost,
7285 demeter_tunings): New tuning structs.
7286 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
7288 * config/aarch64/aarch64-cores.def: Add entry for demeter.
7289 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
7291 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7292 Andre Vieira <andre.simoesdiasvieira@arm.com>
7294 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
7295 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
7296 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
7297 tunings to use cpu_memmov_cost struct.
7299 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7300 Andre Vieira <andre.simoesdiasvieira@arm.com>
7302 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
7303 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
7304 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
7305 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
7306 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
7307 (neoversen2_tunings): Use new structs and update tuning flags.
7308 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
7311 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
7313 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
7316 2022-03-22 liuhongt <hongtao.liu@intel.com>
7319 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
7320 following splitter to reversed condition.
7322 2022-03-22 Jakub Jelinek <jakub@redhat.com>
7324 PR rtl-optimization/104989
7325 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
7326 sorry for passing too large argument, instead set sibcall_failure
7327 for pass == 0, or a new normal_failure flag otherwise. If
7328 normal_failure is set, don't assert all stack has been deallocated
7329 at the end and throw away the whole insn sequence.
7331 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
7333 * print-tree.cc: Change array length
7335 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
7338 * config/i386/sse.md
7339 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
7340 Use avx512f_movsf_mask instead of vmovaps or vblend, and
7341 force_reg before lowpart_subreg.
7342 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
7344 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
7347 * common/config/i386/i386-common.cc
7348 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
7349 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
7351 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
7354 * common/config/i386/cpuinfo.h (get_available_features): Pass
7355 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
7358 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
7360 PR middle-end/104869
7361 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
7362 (clobber_group::next_clobber): Likewise.
7363 (def_lookup::prev_def): Rename to...
7364 (def_lookup::last_def_of_prev_group): ...this.
7365 (def_lookup::next_def): Rename to...
7366 (def_lookup::first_def_of_next_group): ...this.
7367 (def_lookup::matching_or_prev_def): Rename to...
7368 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
7369 (def_lookup::matching_or_next_def): Rename to...
7370 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
7371 (def_lookup::prev_def): New function, taking the lookup insn as
7373 (def_lookup::next_def): Likewise.
7374 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
7375 (def_lookup::last_def_of_prev_group): ...this.
7376 (def_lookup::next_def): Rename to...
7377 (def_lookup::first_def_of_next_group): ...this.
7378 (def_lookup::matching_or_prev_def): Rename to...
7379 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
7380 (def_lookup::matching_or_next_def): Rename to...
7381 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
7382 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
7384 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
7385 (clobber_group::next_clobber): Likewise.
7386 (def_lookup::prev_def): Likewise.
7387 (def_lookup::next_def): Likewise.
7388 (function_info::make_use_available): Pass the lookup insn to
7389 def_lookup::prev_def and def_lookup::next_def.
7391 2022-03-21 Martin Liska <mliska@suse.cz>
7393 * doc/invoke.texi: Document min-pagesize parameter.
7395 2022-03-21 Richard Biener <rguenther@suse.de>
7397 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
7398 we are estimating niter of loop.
7400 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
7402 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
7403 Update flag name and mask name.
7404 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
7405 misc macro for vector extensions.
7406 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
7407 (MASK_VECTOR_ELEN_32): ... this.
7408 (MASK_VECTOR_EEW_64): Rename to ...
7409 (MASK_VECTOR_ELEN_64): ... this.
7410 (MASK_VECTOR_EEW_FP_32): Rename to ...
7411 (MASK_VECTOR_ELEN_FP_32): ... this.
7412 (MASK_VECTOR_EEW_FP_64): Rename to ...
7413 (MASK_VECTOR_ELEN_FP_64): ... this.
7414 (TARGET_VECTOR_ELEN_32): New.
7415 (TARGET_VECTOR_ELEN_64): Ditto.
7416 (TARGET_VECTOR_ELEN_FP_32): Ditto.
7417 (TARGET_VECTOR_ELEN_FP_64): Ditto.
7418 (TARGET_MIN_VLEN): Ditto.
7419 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
7420 (riscv_vector_elen_flags): ... this.
7422 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
7425 * config/i386/sse.md
7426 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
7427 Correct round operand for intel dialect.
7429 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
7431 * diagnostic.cc (diagnostic_cc_tests): Rename to...
7432 (c_diagnostic_cc_tests): ...this.
7433 * opt-problem.cc (opt_problem_cc_tests): Rename to...
7434 (c_opt_problem_cc_tests): ...this.
7435 * selftest-run-tests.cc (selftest::run_tests): No longer run
7436 opt_problem_cc_tests or diagnostic_cc_tests.
7437 * selftest.h (diagnostic_cc_tests): Remove declaration.
7438 (opt_problem_cc_tests): Likewise.
7440 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
7443 * hash-traits.h (struct typed_const_free_remove): New.
7444 (struct free_string_hash): New.
7445 * pass_manager.h: Use free_string_hash.
7446 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
7447 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
7449 2022-03-19 Jakub Jelinek <jakub@redhat.com>
7451 PR middle-end/104971
7452 * config/i386/i386-expand.cc
7453 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
7454 don't push/pop anything and just return const0_rtx.
7456 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
7458 PR rtl-optimization/104961
7459 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
7461 2022-03-18 Jason Merrill <jason@redhat.com>
7463 * tree.h (IDENTIFIER_LENGTH): Add comment.
7465 2022-03-18 Jakub Jelinek <jakub@redhat.com>
7468 PR middle-end/100680
7469 PR tree-optimization/100834
7470 * params.opt (--param=min-pagesize=): New parameter.
7472 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
7473 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
7474 of zero for pointer constants equal or larger than min-pagesize.
7476 2022-03-18 Tom de Vries <tdevries@suse.de>
7478 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
7479 Set gfor location only when dealing with a OMP_TASKLOOP.
7481 2022-03-18 Tom de Vries <tdevries@suse.de>
7483 * gimplify.cc (gimplify_omp_for): Set taskloop location.
7485 2022-03-18 Tom de Vries <tdevries@suse.de>
7488 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
7489 is executed unconditionally.
7491 2022-03-18 liuhongt <hongtao.liu@intel.com>
7494 * config/i386/i386.md (*movhi_internal): Set attr type from HI
7495 to HF for alternative 12 under TARGET_AVX512FP16.
7497 2022-03-18 Cui,Lili <lili.cui@intel.com>
7500 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
7501 * doc/invoke.texi: Update documents for Intel sapphirerapids.
7503 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
7506 PR tree-optimization/90356
7507 * config/i386/i386.md (*movtf_internal): Don't guard
7508 standard_sse_constant_p clause by optimize_function_for_size_p.
7509 (*movdf_internal): Likewise.
7510 (*movsf_internal): Likewise.
7512 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
7514 PR tree-optimization/102943
7515 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
7516 dominators and apply intermediary outgoing edge ranges.
7518 2022-03-17 Richard Biener <rguenther@suse.de>
7520 PR tree-optimization/104960
7521 * passes.def: Add pass parameter to pass_sink_code, mark
7522 last one to unsplit edges.
7523 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
7524 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
7525 when we need to unsplit edges.
7527 2022-03-17 Jakub Jelinek <jakub@redhat.com>
7529 PR middle-end/103984
7530 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
7531 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
7532 and asan unpoisioning, then append the temporary sequence and
7533 finally the TARGET_EXPR_CLEANUP clobbers.
7535 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
7537 * config/i386/sse.md: Delete corrupt character/typo.
7539 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
7542 * config/i386/sse.md (sse2_movq128): New define_expand to
7543 preserve previous named instruction.
7544 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
7545 generalized to VI8F_128 (both V2DI and V2DF).
7547 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
7549 PR tree-optimization/104941
7550 * tree-object-size.cc (size_for_offset): Make useless conversion
7551 check lighter and assign result of fold_convert to OFFSET.
7553 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
7556 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
7557 pushing target("general-regs-only").
7559 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
7561 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
7562 Add version info for zk, zks and zkn.
7564 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
7566 * common/config/riscv/riscv-common.cc
7567 (riscv_combine_info): New.
7568 (riscv_subset_list::handle_combine_ext): Combine back into zk to
7569 maintain the canonical order in isa strings.
7570 (riscv_subset_list::parse): Ditto.
7571 * config/riscv/riscv-subset.h (handle_combine_ext): New.
7573 2022-03-16 Richard Biener <rguenther@suse.de>
7575 PR tree-optimization/102008
7576 * passes.def: Move the added code sinking pass before the
7577 preceeding phiopt pass.
7579 2022-03-16 Patrick Palka <ppalka@redhat.com>
7582 * doc/invoke.texi (C++ Dialect Options): Document
7583 -ffold-simple-inlines.
7585 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
7587 PR tree-optimization/104942
7588 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
7590 2022-03-16 Jakub Jelinek <jakub@redhat.com>
7593 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
7596 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
7597 Richard Biener <rguenther@suse.de>
7599 * gimple-match-head.cc (single_use): Implement inline using a
7602 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
7604 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
7605 instead of HONOR_NANS.
7606 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
7607 this can't trap/signal.
7609 2022-03-16 liuhongt <hongtao.liu@intel.com>
7612 * config/i386/i386-builtin.def (BDESC): Add
7613 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
7614 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
7615 __builtin_ia32_blendvpd w/o sse4.2
7617 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
7620 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
7621 acceptable MEM addresses.
7623 2022-03-15 Jakub Jelinek <jakub@redhat.com>
7626 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
7627 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
7630 2022-03-15 Jakub Jelinek <jakub@redhat.com>
7633 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
7634 instead of general-regs-only.
7636 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
7637 Marc Glisse <marc.glisse@inria.fr>
7638 Richard Biener <rguenther@suse.de>
7640 PR tree-optimization/101895
7641 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
7642 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
7644 2022-03-15 Jakub Jelinek <jakub@redhat.com>
7646 PR rtl-optimization/104814
7647 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
7648 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
7650 2022-03-15 Martin Sebor <msebor@redhat.com>
7652 PR middle-end/104436
7653 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
7654 Check for warning suppression. Avoid by-value arguments transformed
7655 into by-transparent-reference.
7657 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
7658 Uroš Bizjak <ubizjak@gmail.com>
7660 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
7661 transformation when *zero_extend<mode>si2 is not available.
7663 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
7665 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
7666 * config/mips/mips.cc (mips_option_override): Make
7667 -fsanitize=address imply -fasynchronous-unwind-tables. This is
7668 needed by libasan for stack backtrace on MIPS.
7669 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
7671 2022-03-14 Jakub Jelinek <jakub@redhat.com>
7674 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
7675 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
7676 call simplified the first operand into VOIDmode constant.
7678 2022-03-14 Jakub Jelinek <jakub@redhat.com>
7680 PR tree-optimization/102586
7681 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
7682 argument type should be pointer to trivially-copyable type unless it
7683 is address of a variable or parameter.
7685 2022-03-14 Jakub Jelinek <jakub@redhat.com>
7688 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
7689 first rather than last element of the vector, use __m32_u to do
7690 a really unaligned load, use just 0 instead of (int)0.
7691 (_mm_loadu_si16): Put loaded value into first rather than last
7692 element of the vector, use __m16_u to do a really unaligned load,
7693 use just 0 instead of (short)0.
7695 2022-03-14 Jakub Jelinek <jakub@redhat.com>
7698 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
7699 in diagnostic message - cannott -> cannot. Use %< and %> around
7700 names of attribute. Avoid too long line.
7701 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
7702 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
7704 2022-03-14 liuhongt <hongtao.liu@intel.com>
7707 * config/i386/i386-expand.cc
7708 (ix86_check_builtin_isa_match): New func.
7709 (ix86_expand_builtin): Move code to
7710 ix86_check_builtin_isa_match and call it.
7711 * config/i386/i386-protos.h
7712 (ix86_check_builtin_isa_match): Declare.
7713 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
7714 builtin into gimple when isa mismatches.
7716 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
7718 * doc/invoke.texi: Fix typos.
7719 * doc/tm.texi.in: Remove duplicated word.
7720 * doc/tm.texi: Regenerate.
7722 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
7725 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
7726 "ppc" and "ppc64" based on rs6000_cpu.
7728 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
7730 PR middle-end/100280
7731 PR middle-end/104892
7732 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
7733 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
7735 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
7737 PR middle-end/100280
7738 PR middle-end/104086
7739 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
7740 Mark variables used in 'present' clauses as addressable.
7741 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
7742 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
7744 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
7747 * tree-core.h (user_omp_claus_code_name): Declare function.
7748 * tree.cc (user_omp_clause_code_name): New function.
7750 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
7753 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
7754 (the defaut) or -fno-signed-zeros.
7756 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
7759 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
7760 moving from a GPR register to an Altivec register.
7762 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
7764 PR tree-optimization/98335
7765 * config/i386/i386.md (peephole2): Eliminate redundant insv.
7766 Combine movl followed by movb. Transform xorl followed by
7767 a suitable movb or movw into the equivalent movz[bw]l.
7769 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
7770 Richard Biener <rguenther@suse.de>
7772 PR tree-optimization/98335
7773 * builtins.cc (get_object_alignment_2): Export.
7774 * builtins.h (get_object_alignment_2): Likewise.
7775 * tree-ssa-alias.cc (ao_ref_alignment): New.
7776 * tree-ssa-alias.h (ao_ref_alignment): Declare.
7777 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
7778 to align head/tail, writing more bytes but using fewer store insns.
7780 2022-03-11 Richard Biener <rguenther@suse.de>
7782 PR tree-optimization/104880
7783 * tree-ssa.cc (execute_update_address_taken): Remember if we
7784 optimistically made something not addressable and
7787 2022-03-11 Richard Biener <rguenther@suse.de>
7790 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
7791 cost the first lane of SSE pieces as inserts for vec_construct.
7793 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
7796 * calls.cc (expand_call): Ignore stack adjustments after sorry.
7798 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
7801 * lra-constraints.cc (split_reg): Set up
7802 check_and_force_assignment_correctness_p when splitting hard
7803 register live range.
7805 2022-03-10 Martin Jambor <mjambor@suse.cz>
7808 * ipa-cp.cc (create_specialized_node): Move removal of
7809 self-recursive calls from callers vector before refrence
7812 2022-03-10 Richard Biener <rguenther@suse.de>
7814 PR tree-optimization/102943
7815 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
7817 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
7819 (sbr_sparse_bitmap::set_bb_range): Adjust.
7820 (sbr_sparse_bitmap::get_bb_range): Likewise.
7822 2022-03-10 Richard Biener <rguenther@suse.de>
7824 PR tree-optimization/102943
7825 * tree-ssa-dom.cc (back_propagate_equivalences): Only
7826 populate the dominance bitmap if fast queries are not
7827 available. Use a tree view bitmap.
7828 (record_temporary_equivalences): Cache the dominance bitmap
7829 across all equivalences on the edge.
7831 2022-03-10 Tom de Vries <tdevries@suse.de>
7834 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
7837 2022-03-10 Tom de Vries <tdevries@suse.de>
7840 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
7841 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
7842 (nvptx_get_unisimt_outside_simt_predicate): New function.
7843 (predicate_insn): New function, factored out of ...
7844 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
7845 * config/nvptx/nvptx.h (struct machine_function): Add
7846 unisimt_outside_simt_predicate field.
7847 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
7848 (define_insn "nvptx_uniform_warp_check"): Make predicable.
7850 2022-03-10 Tom de Vries <tdevries@suse.de>
7852 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
7855 2022-03-10 Tom de Vries <tdevries@suse.de>
7858 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
7860 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
7862 2022-03-10 Tom de Vries <tdevries@suse.de>
7864 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
7865 Emit atom.and.b64 instead of atom.b64.and.
7867 2022-03-10 Tom de Vries <tdevries@suse.de>
7869 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
7870 (MULTILIB_OPTIONS): ... here.
7872 2022-03-10 Tom de Vries <tdevries@suse.de>
7875 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
7876 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
7878 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
7881 PR middle-end/102330
7882 PR middle-end/104774
7883 * omp-low.cc (oacc_privatization_candidate_p)
7884 (oacc_privatization_scan_clause_chain)
7885 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
7886 Analyze 'lookup_decl'-translated DECL.
7888 2022-03-10 Jakub Jelinek <jakub@redhat.com>
7891 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
7892 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
7893 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
7894 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
7895 "**NULL**" if type_node is NULL first. Handle
7896 ieee128_float_type_node.
7897 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
7898 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
7899 ieee128_float_type_node to NULL rather than long_double_type_node if
7900 they aren't supported. Do support __ibm128 even if
7901 !TARGET_FLOAT128_TYPE when long double is double double.
7902 (rs6000_expand_builtin): Error if bif_is_ibm128 and
7903 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
7904 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
7906 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
7907 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
7908 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
7909 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
7911 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
7912 (struct attrinfo): Add isibm128 member.
7913 (TYPE_MAP_SIZE): Remove.
7914 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
7915 ibm128_float_type_node only if it is non-NULL, otherwise fall back
7916 to long_double_type_node. Remove "pif" entry.
7917 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
7918 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
7919 (write_type_node): Use sizeof type_map / sizeof type_map[0]
7920 instead of TYPE_MAP_SIZE.
7921 (write_bif_static_init): Handle isibm128.
7922 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
7923 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
7926 2022-03-09 Richard Biener <rguenther@suse.de>
7928 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
7929 with non-decl operand, avoiding a copy.
7931 2022-03-09 Jakub Jelinek <jakub@redhat.com>
7934 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
7936 2022-03-09 Richard Biener <rguenther@suse.de>
7938 PR middle-end/104786
7939 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
7940 for VLAs without an upper size bound.
7942 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
7944 PR tree-optimization/104851
7945 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
7948 2022-03-09 Jakub Jelinek <jakub@redhat.com>
7951 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
7952 is enabled by it only for C++11 to C++17 rather than for C++03 or
7954 (-Wshift-negative-value): Similarly (except here we stated
7955 that it is enabled for C++11 or later).
7957 2022-03-09 Jakub Jelinek <jakub@redhat.com>
7959 PR rtl-optimization/104839
7960 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
7961 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
7962 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
7963 instead of incorrect 0 in SUBREG_PROMOTED_SET.
7965 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
7968 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
7969 value before adding an offset.
7971 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
7973 * config/arm/arm-builtins.cc
7974 (arm_binop_none_none_unone_qualifiers): Delete.
7975 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
7977 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
7979 PR translation/104552
7980 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
7981 the PCH out of memory error message punctuation and wording.
7983 2022-03-08 Marek Polacek <polacek@redhat.com>
7985 PR rtl-optimization/104777
7986 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
7987 ASM_OPERANDS_LABEL_VEC has at least one element.
7989 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
7992 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
7993 stack realignment or regparm nested function with EH return.
7995 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
7998 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
7999 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
8000 register for non widening loads or narrowing stores.
8002 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
8004 PR translation/104552
8005 * params.opt: Fix typo.
8007 2022-03-08 Richard Biener <rguenther@suse.de>
8009 PR tree-optimization/84201
8010 * params.opt (-param=vect-induction-float): Add.
8011 * doc/invoke.texi (vect-induction-float): Document.
8012 * tree-vect-loop.cc (vectorizable_induction): Honor
8013 param_vect_induction_float.
8015 2022-03-08 Martin Jambor <mjambor@suse.cz>
8017 PR translation/104552
8018 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
8019 "that" in the description.
8021 2022-03-08 Richard Biener <rguenther@suse.de>
8023 PR tree-optimization/104825
8024 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
8025 guard modref get_ao_ref on a pointer typed argument.
8027 2022-03-08 liuhongt <hongtao.liu@intel.com>
8029 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
8030 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
8032 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
8034 * doc/invoke.texi (C++ Modules): Remove anachronism.
8036 2022-03-07 Martin Liska <mliska@suse.cz>
8038 PR middle-end/104381
8039 * opts.cc (finish_options): If debug info is disabled
8040 (debug_info_level) and -fvar-tracking is unset, disable it.
8042 2022-03-07 Jakub Jelinek <jakub@redhat.com>
8044 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
8045 * config/riscv/riscv.cc: Likewise.
8046 * config/darwin.h: Likewise.
8047 * config/i386/i386.cc: Likewise.
8048 * config/aarch64/thunderx3t110.md: Likewise.
8049 * config/aarch64/fractional-cost.h: Likewise.
8050 * config/vax/vax.cc: Likewise.
8051 * config/rs6000/pcrel-opt.md: Likewise.
8052 * config/rs6000/predicates.md: Likewise.
8054 * tree-ssa-uninit.cc: Likewise.
8055 * value-relation.h: Likewise.
8056 * gimple-range-gori.cc: Likewise.
8057 * ipa-polymorphic-call.cc: Likewise.
8058 * pointer-query.cc: Likewise.
8059 * ipa-sra.cc: Likewise.
8060 * internal-fn.cc: Likewise.
8061 * varasm.cc: Likewise.
8062 * gimple-ssa-warn-access.cc: Likewise.
8064 2022-03-07 Martin Liska <mliska@suse.cz>
8067 * config/arm/arm.cc (arm_option_override_internal): Add missing
8070 2022-03-07 Richard Biener <rguenther@suse.de>
8072 PR tree-optimization/104782
8073 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
8074 Re-instantiate r10-5979 fix, add comment.
8076 2022-03-07 Martin Liska <mliska@suse.cz>
8079 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
8080 parenthesis from built-in name.
8082 2022-03-07 Martin Liska <mliska@suse.cz>
8085 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
8086 of options in error messages.
8087 (arm_option_reconfigure_globals): Likewise.
8089 2022-03-07 Martin Liska <mliska@suse.cz>
8092 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
8093 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
8094 have only range [0,32].
8096 2022-03-07 Jakub Jelinek <jakub@redhat.com>
8099 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
8100 S constraint instead of T in the last alternative.
8102 2022-03-07 Martin Liska <mliska@suse.cz>
8104 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
8107 2022-03-07 Martin Liska <mliska@suse.cz>
8109 PR translation/90148
8110 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
8111 quote to a proper place.
8112 * plugin.cc (default_plugin_dir_name): Likewise.
8114 2022-03-07 Martin Liska <mliska@suse.cz>
8117 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
8120 2022-03-07 Jakub Jelinek <jakub@redhat.com>
8123 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
8124 define_expand pattern. Rename define_insn to ...
8125 (*avx512dq_mul<mode>3<mask_name>): ... this.
8126 (<code><mode>3_mask): New any_logic define_expand pattern.
8127 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
8128 (*<code><mode>3<mask_name>): ... this.
8130 2022-03-05 Jakub Jelinek <jakub@redhat.com>
8132 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
8133 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
8135 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
8136 Uroš Bizjak <ubizjak@gmail.com>
8139 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
8140 Include DI mode unconditionally.
8141 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
8142 i.e. always split on !TARGET_64BIT.
8143 (*<any_or>di3_doubleword): Likewise.
8144 (*one_cmpldi2_doubleword): Likewise.
8145 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
8146 (<any_or><mode>3 expander): Likewise.
8147 (one_cmpl<mode>2 expander): Likewise.
8149 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
8152 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
8153 (mtvsrdd_diti_w1): Delete.
8154 (extendditi2): Convert from define_expand to
8155 define_insn_and_split. Replace with code to deal with both GPR
8156 registers and with altivec registers.
8158 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
8160 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
8161 bit. Handle most older CPUs.
8163 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
8165 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
8166 avoid a mismatch with DECL_MD_FUNCTION_CODE().
8168 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
8171 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
8172 (@machopic_low_<mode>): New.
8173 * config/rs6000/predicates.md (macho_pic_address): New.
8174 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
8175 apply the TLS processing to Darwin.
8176 * lra-constraints.cc (process_address_1): Revert the changes
8179 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
8183 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
8184 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
8186 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
8188 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
8191 2022-03-04 Jakub Jelinek <jakub@redhat.com>
8193 PR middle-end/104529
8194 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
8195 on automatic objects which will be runtime initialized.
8197 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8199 PR middle-end/100280
8200 PR middle-end/104132
8201 PR middle-end/104133
8202 * omp-low.cc (task_shared_vars): Rename to
8203 'make_addressable_vars'. Adjust all users.
8204 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
8205 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
8207 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8209 PR middle-end/100280
8210 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
8211 * tree-core.h: Document it.
8212 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
8213 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
8214 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
8215 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
8218 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8220 PR middle-end/100280
8221 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
8222 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
8223 '[...]' declared in block made addressable".
8225 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8227 PR middle-end/100400
8228 PR middle-end/103836
8229 PR middle-end/104061
8230 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
8231 Catch 'GIMPLE_DEBUG'.
8233 2022-03-04 Jakub Jelinek <jakub@redhat.com>
8236 * tree.cc (warn_deprecated_use): For types prefer to use node
8237 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
8240 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
8243 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
8246 2022-03-03 Martin Sebor <msebor@redhat.com>
8248 PR middle-end/104761
8249 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
8250 mark_dfs_back_edges.
8252 2022-03-03 Martin Liska <mliska@suse.cz>
8254 * configure.ac: Use linker plug-in by default.
8255 * configure: Regenerate.
8257 2022-03-03 Martin Liska <mliska@suse.cz>
8259 * configure.ac: Now ld.mold support LTO plugin API, use it.
8260 * configure: Regenerate.
8262 2022-03-03 Tom de Vries <tdevries@suse.de>
8264 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
8266 2022-03-03 Tom de Vries <tdevries@suse.de>
8269 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
8271 2022-03-03 Tom de Vries <tdevries@suse.de>
8273 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
8275 2022-03-03 Jakub Jelinek <jakub@redhat.com>
8277 PR middle-end/104757
8278 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
8280 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
8281 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
8283 2022-03-03 Jakub Jelinek <jakub@redhat.com>
8285 PR middle-end/104558
8286 * calls.cc (store_one_arg): When not calling emit_push_insn
8287 because size_rtx is const0_rtx, call at least anti_adjust_stack
8288 on arg->locate.alignment_pad if !argblock and the alignment might
8291 2022-03-02 Alexandre Oliva <oliva@adacore.com>
8293 * lra-constraints.cc (undo_optional_reloads): Recognize and
8294 drop insns of multi-word move sequences, tolerate removal
8295 iteration on an already-removed clobber, and refuse to
8296 substitute original pseudos into clobbers.
8298 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
8300 PR middle-end/102276
8301 * common.opt (-Wtrivial-auto-var-init): New option.
8302 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
8303 (-ftrivial-auto-var-init): Update option;
8304 * gimplify.cc (emit_warn_switch_unreachable): New function.
8305 (warn_switch_unreachable_r): Rename to ...
8306 (warn_switch_unreachable_and_auto_init_r): This.
8307 (maybe_warn_switch_unreachable): Rename to ...
8308 (maybe_warn_switch_unreachable_and_auto_init): This.
8309 (gimplify_switch_expr): Update calls to renamed function.
8311 2022-03-02 Richard Biener <rguenther@suse.de>
8313 PR rtl-optimization/104686
8314 * ira-color.cc (object_conflicts_with_allocno_p): New function
8315 using a bitvector test instead of iterating when possible.
8316 (allocnos_conflict_p): Choose the best allocno to iterate over
8318 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
8321 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8323 * cfg.cc (dump_edge_info): Dump goto_locus if present.
8325 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8327 PR rtl-optimization/104589
8328 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
8329 INSN_LOCATION comparison with goto_locus.
8331 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8333 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
8334 strlen_pass::before_dom_children): Comment spelling fixes.
8336 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8338 * ipa-modref-tree.cc (modref_access_node::contains,
8339 modref_access_node::closer_pair_p, modref_access_node::insert,
8340 modref_access_node::insert_kill): Comment spelling fixes.
8341 * ipa-modref.cc: Likewise.
8342 (modref_summary::finalize, ignore_nondeterminism_p,
8343 class modref_access_analysis,
8344 modref_access_analysis::set_side_effects,
8345 modref_access_analysis::set_nondeterministic,
8346 modref_access_analysis::record_global_memory_load,
8347 modref_access_analysis::propagate, modref_access_analysis::analyze,
8348 struct escape_point, class modref_lattice, modref_lattice::merge,
8349 modref_lattice::merge_deref, class modref_eaf_analysis,
8350 modref_eaf_analysis::merge_call_lhs_flags,
8351 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
8352 modref_eaf_analysis::record_escape_points, remap_kills,
8353 update_escape_summary, remove_useless_summaries,
8354 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
8356 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
8358 * ipa-modref-tree.h (enum modref_special_parms,
8359 struct modref_access_node): Likewise.
8361 2022-03-01 Jakub Jelinek <jakub@redhat.com>
8363 PR tree-optimization/104715
8364 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
8365 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
8366 of a call if gimple_call_return_arg is equal to ptr, not just when it
8369 2022-03-01 Jakub Jelinek <jakub@redhat.com>
8371 * gimple-ssa-warn-access.cc (warn_string_no_nul,
8372 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
8373 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
8374 pass_waccess::check_alloca, pass_waccess::check_strcat,
8375 memmodel_to_uhwi, fntype_argno_type,
8376 pass_waccess::maybe_check_access_sizes,
8377 pass_waccess::check_call_access,
8378 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
8379 Comment spelling fixes.
8381 2022-03-01 Richard Biener <rguenther@suse.de>
8383 PR tree-optimization/104716
8384 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
8385 Check if we can copy the loop.
8387 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
8389 PR middle-end/104721
8390 * cfgexpand.cc (expand_gimple_basic_block): Clear
8391 currently_expanding_gimple_stmt when returning inside the loop.
8393 2022-03-01 Martin Liska <mliska@suse.cz>
8396 * multiple_target.cc (get_attr_len): Move to tree.c.
8397 (expand_target_clones): Remove single value checking.
8398 * tree.cc (get_target_clone_attr_len): New fn.
8399 * tree.h (get_target_clone_attr_len): Likewise.
8401 2022-03-01 Martin Liska <mliska@suse.cz>
8403 PR gcov-profile/104677
8404 * doc/invoke.texi: Document more .gcda file name generation.
8406 2022-03-01 Tom de Vries <tdevries@suse.de>
8409 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
8410 * config/nvptx/nvptx.md
8411 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
8413 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
8414 Use nvptx_register_or_complex_di_df_register_operand.
8416 2022-03-01 Tom de Vries <tdevries@suse.de>
8418 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
8419 * config/nvptx/gen-copyright.sh: New file.
8420 * config/nvptx/gen-h.sh: New file.
8421 * config/nvptx/gen-opt.sh: New file.
8422 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
8423 (TARGET_SM75, TARGET_SM80): Move ...
8424 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
8425 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
8426 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
8427 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
8428 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
8430 2022-03-01 Tom de Vries <tdevries@suse.de>
8432 * config/nvptx/gen-omp-device-properties.sh: New file.
8433 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
8435 2022-03-01 Tom de Vries <tdevries@suse.de>
8437 * config/nvptx/nvptx-sm.def: New file.
8438 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
8439 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
8440 * config/nvptx/nvptx.cc (sm_version_to_string)
8441 (nvptx_omp_device_kind_arch_isa): Same.
8443 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
8445 PR rtl-optimization/104154
8446 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
8447 comparison ifcvt passed us.
8449 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
8452 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
8453 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
8455 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
8457 PR tree-optimization/91384
8458 * config/i386/i386.md (peephole2): Eliminate final testl insn
8459 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
8460 transforming using *negsi_2 for the negation.
8462 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
8463 Eric Botcazou <ebotcazou@adacore.com>
8466 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
8467 register, copy it to a pseudo before calling simplify_gen_subreg.
8469 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
8471 PR rtl-optimization/104637
8472 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
8473 as possible on one subpass.
8475 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
8477 PR middle-end/104550
8478 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
8481 2022-02-28 Martin Liska <mliska@suse.cz>
8484 * main.cc (main): Use flag_checking instead of CHECKING_P
8485 and run toplev::finalize only if there is not error seen.
8487 2022-02-28 Richard Biener <rguenther@suse.de>
8489 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
8491 2022-02-28 Richard Biener <rguenther@suse.de>
8493 PR tree-optimization/104700
8494 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
8496 (find_or_generate_expression): ... here, simplifying code.
8498 2022-02-28 Tom de Vries <tdevries@suse.de>
8500 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
8501 PTX_VERSION_default.
8502 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
8503 PTX_VERSION_default.
8504 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
8506 2022-02-28 Richard Biener <rguenther@suse.de>
8508 PR rtl-optimization/104686
8509 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
8510 skipping bits that are zero.
8511 (ira_object_conflict_iter_cond): Likewise.
8513 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
8515 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
8516 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
8517 char to avoid error when using ~enum as parameter.
8518 (_mm512_mask_ternarylogic_epi64): Likewise.
8519 (_mm512_maskz_ternarylogic_epi64): Likewise.
8520 (_mm512_ternarylogic_epi32): Likewise.
8521 (_mm512_mask_ternarylogic_epi32): Likewise.
8522 (_mm512_maskz_ternarylogic_epi32): Likewise.
8523 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
8524 Adjust imm param type to unsigned char.
8525 (_mm256_mask_ternarylogic_epi64): Likewise.
8526 (_mm256_maskz_ternarylogic_epi64): Likewise.
8527 (_mm256_ternarylogic_epi32): Likewise.
8528 (_mm256_mask_ternarylogic_epi32): Likewise.
8529 (_mm256_maskz_ternarylogic_epi32): Likewise.
8530 (_mm_ternarylogic_epi64): Likewise.
8531 (_mm_mask_ternarylogic_epi64): Likewise.
8532 (_mm_maskz_ternarylogic_epi64): Likewise.
8533 (_mm_ternarylogic_epi32): Likewise.
8534 (_mm_mask_ternarylogic_epi32): Likewise.
8535 (_mm_maskz_ternarylogic_epi32): Likewise.
8537 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8538 Marc Glisse <marc.glisse@inria.fr>
8540 PR tree-optimization/104675
8541 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
8542 Restrict simplifications to INTEGRAL_TYPE_P.
8544 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8547 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
8549 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
8551 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
8552 comparison is not valid.
8553 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
8554 (movdicc): Likewise.
8555 (movsfcc): Likewise.
8556 (movdfcc): Likewise.
8558 2022-02-25 Richard Biener <rguenther@suse.de>
8560 PR tree-optimization/103037
8561 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
8562 (vn_nary_length_from_stmt): Likewise.
8563 (init_vn_nary_op_from_stmt): Likewise.
8564 (vn_nary_op_compute_hash): Likewise.
8565 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
8566 (vn_nary_length_from_stmt): Likewise.
8567 (init_vn_nary_op_from_stmt): Likewise.
8568 (vn_nary_op_compute_hash): Likewise.
8569 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
8570 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
8571 (re-)compute the hash value and if the expression is not
8572 found allocate it from pre_expr_obstack.
8573 (phi_translate_1): Do not insert the NARY found in the
8574 VN tables but build a PRE expression from the valueized
8575 NARY with the value-id we eventually found.
8576 (find_or_generate_expression): Assert we have an entry
8577 for constant values.
8578 (compute_avail): Insert not valueized expressions into
8579 EXP_GEN using the value-id from the VN tables.
8580 (init_pre): Allocate pre_expr_obstack.
8581 (fini_pre): Free pre_expr_obstack.
8583 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8586 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
8587 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
8588 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
8590 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8592 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
8594 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8596 PR middle-end/104679
8597 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
8599 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8601 PR tree-optimization/104675
8602 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
8605 2022-02-25 Alexandre Oliva <oliva@adacore.com>
8609 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
8611 2022-02-25 Alexandre Oliva <oliva@adacore.com>
8613 PR middle-end/104540
8614 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
8617 2022-02-25 Alexandre Oliva <oliva@adacore.com>
8619 PR tree-optimization/103856
8620 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
8621 eh edge to be requested through an extra parameter.
8622 (pass_harden_compares::execute): Copy PHI args in the EH dest
8623 block for the new EH edge added for the inverted compare.
8625 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
8627 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
8628 of position independence that -mcmodel=medany affords.
8630 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
8633 * configure.ac: --disable-gcov if targetting bpf-*.
8634 * configure: Regenerate.
8636 2022-02-24 Richard Biener <rguenther@suse.de>
8638 PR tree-optimization/104676
8639 * tree-loop-distribution.cc (loop_distribution::execute):
8640 Do a full scev_reset.
8642 2022-02-24 Jakub Jelinek <jakub@redhat.com>
8644 PR tree-optimization/104601
8645 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
8646 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
8649 2022-02-24 Tom de Vries <tdevries@suse.de>
8650 Tobias Burnus <tobias@codesourcery.com>
8652 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
8653 sm_70, sm_75 and sm_80.
8654 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
8656 2022-02-24 Tom de Vries <tdevries@suse.de>
8658 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
8659 "rotrsi3"): New define_insn.
8661 2022-02-24 Tom de Vries <tdevries@suse.de>
8663 * config/nvptx/nvptx.cc (gen_comment): Use
8664 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
8666 2022-02-24 liuhongt <hongtao.liu@intel.com>
8668 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
8669 isa attr of alternative 2 from avx to avx512vl.
8671 2022-02-23 Richard Biener <rguenther@suse.de>
8672 Jakub Jelinek <jakub@redhat.com>
8674 PR tree-optimization/104644
8675 * doc/match-and-simplify.texi: Amend ! documentation.
8676 * genmatch.cc (expr::gen_transform): Code-generate ! support
8678 (parser::parse_expr): Allow ! for GENERIC.
8679 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
8682 2022-02-23 Richard Biener <rguenther@suse.de>
8684 PR tree-optimization/101636
8685 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
8686 vector type of the node.
8687 (vect_slp_analyze_operations): Make sure the CTOR
8688 is vectorized with an expected type.
8689 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
8691 2022-02-23 Jakub Jelinek <jakub@redhat.com>
8694 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
8695 Don't warn about calls to corresponding builtin from extern inline
8696 gnu_inline wrappers.
8698 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
8701 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
8703 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
8707 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
8710 2022-02-23 Cui,Lili <lili.cui@intel.com>
8712 * doc/invoke.texi: Update documents for Intel architectures.
8714 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
8716 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
8719 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
8721 * omp-low.cc (omp_build_component_ref): Move function...
8722 * omp-general.cc (omp_build_component_ref): ... here. Remove
8724 * omp-general.h (omp_build_component_ref): Declare function.
8725 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
8727 (build_receiver_ref, build_sender_ref): Call
8728 'omp_build_component_ref' instead.
8730 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
8732 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
8733 simplify. Adjust all users.
8735 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
8738 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
8739 atomic_update_decl): Add GTY markup.
8741 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8743 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
8745 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8749 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
8751 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
8752 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
8753 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
8754 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
8755 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
8756 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
8757 * config/arm/mve.md: Use VxBI instead of HI.
8759 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8763 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
8765 (STRSBU_P_QUALIFIERS): Likewise.
8766 (LDRGBS_Z_QUALIFIERS): Likewise.
8767 (LDRGBU_Z_QUALIFIERS): Likewise.
8768 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
8769 (LDRGBWBS_Z_QUALIFIERS): Likewise.
8770 (LDRGBWBU_Z_QUALIFIERS): Likewise.
8771 (STRSBWBS_P_QUALIFIERS): Likewise.
8772 (STRSBWBU_P_QUALIFIERS): Likewise.
8773 * config/arm/mve.md: Use VxBI instead of HI.
8775 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8779 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
8780 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
8781 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
8782 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
8783 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
8784 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
8785 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
8786 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
8787 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
8788 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
8789 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
8790 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
8791 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
8792 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
8793 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
8794 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
8795 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
8796 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
8797 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
8798 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
8799 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
8800 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
8801 (STRS_P_QUALIFIERS): Use predicate qualifier.
8802 (STRU_P_QUALIFIERS): Likewise.
8803 (STRSU_P_QUALIFIERS): Likewise.
8804 (STRSS_P_QUALIFIERS): Likewise.
8805 (LDRGS_Z_QUALIFIERS): Likewise.
8806 (LDRGU_Z_QUALIFIERS): Likewise.
8807 (LDRS_Z_QUALIFIERS): Likewise.
8808 (LDRU_Z_QUALIFIERS): Likewise.
8809 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
8810 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
8811 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
8812 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
8813 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
8814 * config/arm/mve.md: Use MVE_VPRED instead of HI.
8816 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8820 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
8822 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
8823 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
8824 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
8825 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
8826 predicated qualifiers.
8827 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
8828 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
8830 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8833 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
8834 (arm_expand_vector_compare): Update prototype.
8835 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
8836 (arm_vector_mode_supported_p): Add support for VxBI modes.
8837 (arm_expand_vector_compare): Remove useless generation of vpsel.
8838 (arm_expand_vcond): Fix select operands.
8839 (arm_get_mask_mode): New.
8840 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
8841 (vec_cmpu<mode><MVE_vpred>): New.
8842 (vcond_mask_<mode><MVE_vpred>): New.
8843 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
8844 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
8845 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
8846 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
8847 and disable for MVE.
8848 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
8850 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8854 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
8855 (BINOP_PRED_NONE_NONE_QUALIFIERS)
8856 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
8857 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
8858 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
8859 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
8861 (arm_mode_to_pred_mode): New.
8862 (arm_expand_vector_compare): Use the right VxBI mode instead of
8864 (arm_expand_vcond): Likewise.
8865 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
8866 (mve_bool_vec_to_const): New.
8867 (neon_make_constant): Call mve_bool_vec_to_const when needed.
8868 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
8869 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
8870 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
8871 (vpselq_s, vpselq_f): Use new predicated qualifiers.
8872 * config/arm/constraints.md (DB): New.
8873 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
8874 (MVE_VPRED, MVE_vpred): New attribute iterators.
8875 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
8876 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
8877 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
8878 (@mve_vpselq_<supf>v2di): Define separately.
8879 (mov<mode>): New expander for VxBI modes.
8880 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
8881 MVE_7_HI iterator and add support for DB constraint.
8883 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8884 Richard Sandiford <richard.sandiford@arm.com>
8888 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
8889 VNx2BI): Update definition.
8890 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
8892 (arm_init_builtin): Map predicate vectors arguments to HImode.
8893 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
8894 rtx. Move return value to HImode rtx.
8895 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
8896 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
8897 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
8898 Pred2x8_t,Pred4x4_t): New.
8899 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
8900 * genmodes.cc (mode_data): Add boolean field.
8901 (blank_mode): Initialize it.
8902 (make_complex_modes): Fix handling of boolean modes.
8903 (make_vector_modes): Likewise.
8904 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
8905 (make_vector_bool_mode): Likewise.
8907 (make_bool_mode): New.
8908 (emit_insn_modes_h): Fix generation of boolean modes.
8909 (emit_class_narrowest_mode): Likewise.
8910 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
8911 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
8913 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
8914 Fix handling of constm1_rtx for VECTOR_BOOL.
8915 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
8916 (native_decode_vector_rtx): Likewise.
8917 (test_vector_ops_duplicate): Skip vec_merge test
8918 with vectors of booleans.
8919 * varasm.cc (output_constant_pool_2): Likewise.
8921 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8923 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
8926 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8928 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
8930 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8932 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
8933 (REG_CLASS_NAMES): Likewise.
8934 (REG_CLASS_CONTENTS): Likewise.
8935 (CLASS_MAX_NREGS): Handle VPR.
8936 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
8938 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
8939 Tom de Vries <tdevries@suse.de>
8941 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
8942 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
8944 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
8946 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
8947 Tom de Vries <tdevries@suse.de>
8949 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
8950 * doc/invoke.texi (-mptx): Update for new values and defaults.
8952 2022-02-22 Tom de Vries <tdevries@suse.de>
8954 * config/nvptx/nvptx.cc (gen_comment): New function.
8955 (workaround_uninit_method_1, workaround_uninit_method_2)
8956 (workaround_uninit_method_3): : Use gen_comment.
8957 * config/nvptx/nvptx.opt (mptx-comment): New option.
8959 2022-02-22 Richard Biener <rguenther@suse.de>
8961 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
8964 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
8965 Richard Biener <rguenther@suse.de>
8967 * fold-const.cc (ctor_single_nonzero_element): New function to
8968 return the single non-zero element of a (vector) constructor.
8969 * fold-const.h (ctor_single_nonzero_element): Prototype here.
8970 * match.pd (reduc (constructor@0)): Simplify reductions of a
8971 constructor containing a single non-zero element.
8972 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
8973 reductions of vector operations of the same operator with
8974 constant vector operands.
8976 2022-02-22 Jakub Jelinek <jakub@redhat.com>
8978 PR tree-optimization/104604
8979 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
8980 Only check if gimple_assign_rhs1 is COMPLEX_CST if
8981 gimple_assign_rhs_code is COMPLEX_CST.
8983 2022-02-22 Jakub Jelinek <jakub@redhat.com>
8986 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
8987 on input operands before calling lowpart_subreg on it. For output
8988 operand, use a vmode pseudo as destination and then move its lowpart
8989 subreg into operands[0] if lowpart_subreg fails on dest.
8990 (ix86_expand_xorsign): Likewise.
8992 2022-02-22 Richard Biener <rguenther@suse.de>
8994 PR tree-optimization/104582
8996 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
8997 Cost GPR to vector register moves for integer vector construction.
8999 2022-02-22 Richard Biener <rguenther@suse.de>
9001 PR tree-optimization/104582
9002 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
9003 (vector_costs::add_stmt_cost): Add SLP node parameter.
9004 (dump_stmt_cost): Likewise.
9005 (add_stmt_cost): Likewise, new overload and adjust.
9006 (add_stmt_costs): Adjust.
9007 (record_stmt_cost): New overload.
9008 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
9009 (vector_costs::add_stmt_cost): Adjust.
9010 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
9012 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
9013 the SLP node for costing.
9014 (vectorizable_slp_permutation): Likewise.
9015 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
9017 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
9019 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
9021 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
9023 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
9025 2022-02-22 Richard Biener <rguenther@suse.de>
9027 PR tree-optimization/104582
9028 * tree-vectorizer.h (add_stmt_cost): New overload.
9029 (record_stmt_cost): Likewise.
9030 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
9032 (vect_get_known_peeling_cost): Use new overloads.
9033 (vect_estimate_min_profitable_iters): Likewise. Consistently
9034 use scalar_stmt for costing versioning checks.
9035 * tree-vect-stmts.cc (record_stmt_cost): New overload.
9037 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
9040 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
9041 Split atomic fetch and loop part.
9042 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
9043 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
9045 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
9046 expander under TARGET_RELAX_CMPXCHG_LOOP.
9047 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
9049 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
9051 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
9052 Change wb_candidate[12] to wb_push_candidate[12].
9053 (aarch64_layout_frame): Likewise, and
9054 change callee_adjust when scs is enabled.
9055 (aarch64_save_callee_saves):
9056 Change wb_candidate[12] to wb_push_candidate[12].
9057 (aarch64_restore_callee_saves):
9058 Change wb_candidate[12] to wb_pop_candidate[12].
9059 (aarch64_get_separate_components):
9060 Change wb_candidate[12] to wb_push_candidate[12].
9061 (aarch64_expand_prologue): Push x30 onto SCS before it's
9063 (aarch64_expand_epilogue): Pop x30 frome SCS, while
9064 preventing it from being popped from the regular stack again.
9065 (aarch64_override_options_internal): Add SCS compile option check.
9066 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
9067 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
9068 wb_pop_candidate[12], and rename wb_candidate[12] to
9069 wb_push_candidate[12].
9070 * config/aarch64/aarch64.md (scs_push): New template.
9071 (scs_pop): Likewise.
9072 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
9073 * doc/tm.texi: Regenerate.
9074 * doc/tm.texi.in: Add hook have_shadow_call_stack.
9075 * flag-types.h (enum sanitize_code):
9076 Add SANITIZE_SHADOW_CALL_STACK.
9077 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
9078 and exclude SANITIZE_SHADOW_CALL_STACK.
9079 * target.def: New hook.
9080 * toplev.cc (process_options): Add SCS compile option check.
9081 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
9083 2022-02-21 Tom de Vries <tdevries@suse.de>
9086 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
9087 (workaround_uninit_method_2, workaround_uninit_method_3)
9088 (workaround_uninit): New function.
9089 (nvptx_reorg): Use workaround_uninit.
9090 * config/nvptx/nvptx.opt (minit-regs): New option.
9092 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
9094 PR rtl-optimization/104498
9095 * alias.cc (compare_base_symbol_refs): Correct distance computation
9096 when swapping x and y.
9098 2022-02-21 Andrew Pinski <apinski@marvell.com>
9101 * tree-ssa.cc (tree_ssa_useless_type_conversion):
9102 Check the inner type before calling useless_type_conversion_p.
9104 2022-02-19 Tom de Vries <tdevries@suse.de>
9106 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
9107 * config/nvptx/nvptx.md
9108 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
9109 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
9110 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
9111 (define_expand "atomic_store<mode>"): Handle rename. Use
9112 nvptx_atomic_store instead of atomic_exchange.
9114 2022-02-19 Tom de Vries <tdevries@suse.de>
9116 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
9117 insns with atomic attribute. Assert that all handled insns are
9119 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
9120 Set atomic attribute to false.
9122 2022-02-19 Tom de Vries <tdevries@suse.de>
9124 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
9126 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
9127 nvptx_warpsync, if necessary.
9129 2022-02-19 Jakub Jelinek <jakub@redhat.com>
9132 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
9133 known to be within bounds, treat it like automatic variables.
9134 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
9135 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
9138 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
9140 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
9141 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
9142 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
9143 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
9144 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
9145 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
9146 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
9147 power10_sched_reorder): Likewise.
9148 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
9149 gen_addadd): Likewise
9150 * config/rs6000/fusion.md: Regenerate.
9152 2022-02-18 Jakub Jelinek <jakub@redhat.com>
9156 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
9157 rather than __posix_memalign.
9159 2022-02-18 Richard Biener <rguenther@suse.de>
9162 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
9163 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
9164 of calling ix86_avx_u128_mode_source which would eventually
9165 have returned AVX_U128_ANY in some very special case.
9167 2022-02-18 Richard Biener <rguenther@suse.de>
9169 PR tree-optimization/96881
9170 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
9172 (control_parents_preserved_p): New function.
9173 (eliminate_unnecessary_stmts): Check that we preserved control
9174 parents before retaining a CLOBBER.
9175 (perform_tree_ssa_dce): Pass down aggressive flag
9176 to eliminate_unnecessary_stmts.
9178 2022-02-17 Jason Merrill <jason@redhat.com>
9180 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
9181 on TYPE_MAIN_VARIANT.
9183 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
9186 * config/rs6000/bmi2intrin.h: Uglify local variables.
9187 * config/rs6000/emmintrin.h: Likewise.
9188 * config/rs6000/mm_malloc.h: Likewise.
9189 * config/rs6000/mmintrin.h: Likewise.
9190 * config/rs6000/pmmintrin.h: Likewise.
9191 * config/rs6000/smmintrin.h: Likewise.
9192 * config/rs6000/tmmintrin.h: Likewise.
9193 * config/rs6000/xmmintrin.h: Likewise.
9195 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
9198 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
9199 if the expected comparison's first operand is of mode MODE_CC.
9201 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
9203 PR rtl-optimization/104447
9204 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
9205 hard reg set by lra_no_alloc_regs.
9207 2022-02-17 liuhongt <hongtao.liu@intel.com>
9209 PR tree-optimization/104551
9210 PR tree-optimization/103771
9211 * match.pd (cond_expr_convert_p): Add types_match check when
9212 convert is extension.
9213 * tree-vect-patterns.cc
9214 (gimple_cond_expr_convert_p): Adjust comments.
9215 (vect_recog_cond_expr_convert_pattern): Ditto.
9217 2022-02-17 Jakub Jelinek <jakub@redhat.com>
9220 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
9221 if expr has VOIDmode.
9223 2022-02-17 liuhongt <hongtao.liu@intel.com>
9225 * config/i386/cpuid.h (bit_MPX): Removed.
9226 (bit_BNDREGS): Ditto.
9227 (bit_BNDCSR): Ditto.
9229 2022-02-17 Michael Meissner <meissner@the-meissners.org>
9232 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
9233 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
9234 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
9237 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
9239 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
9240 range_compatible_p instead of direct type comparison.
9242 2022-02-16 Jakub Jelinek <jakub@redhat.com>
9244 PR rtl-optimization/104544
9245 * combine.cc (try_combine): When looking for insn whose links
9246 should be updated from i3 to i2, don't stop on debug insns, instead
9249 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
9252 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
9253 * config/aarch64/aarch64.md: Extend the PR100056 patterns
9254 to handle plus in the same way as ior, if the operands have
9255 no set bits in common.
9257 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
9259 PR tree-optimization/104526
9260 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
9262 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
9263 of dependency chain if there isn't one.
9264 (gori_compute::condexpr_adjust): New.
9265 * gimple-range-gori.h (class gori_compute): New prototype.
9267 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
9270 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
9272 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
9273 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
9275 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
9277 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
9278 (vect_scalar_ops_slice_hash): Likewise.
9279 (vect_scalar_ops_slice::op): New function.
9280 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
9281 (vect_scalar_ops_slice_hash::hash): Likewise.
9282 (vect_scalar_ops_slice_hash::equal): Likewise.
9283 (vect_prologue_cost_for_slp): Check for duplicate vectors.
9284 * config/aarch64/aarch64.cc
9285 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
9286 (aarch64_aligned_constant_offset_p): New function.
9287 (aarch64_stp_sequence_cost): Likewise.
9288 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
9289 (aarch64_vector_costs::finish_cost): Likewise.
9291 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
9293 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
9296 2022-02-15 Richard Biener <rguenther@suse.de>
9298 PR tree-optimization/104543
9299 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
9300 come after the inner loop.
9302 2022-02-15 Jakub Jelinek <jakub@redhat.com>
9305 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
9306 cannot instead of can%'t in diagnostics. Formatting fixes.
9308 2022-02-15 Jakub Jelinek <jakub@redhat.com>
9310 PR middle-end/104522
9311 * fold-const.h (native_interpret_real): Declare.
9312 * fold-const.cc (native_interpret_real): No longer static. Don't
9313 perform MODE_COMPOSITE_P verification here.
9314 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
9316 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
9317 instead of native_interpret_expr.
9318 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
9319 and comparison verification for all FLOAT_MODE_P modes, not just
9322 2022-02-15 Richard Biener <rguenther@suse.de>
9324 PR tree-optimization/104519
9325 * fold-const.cc (multiple_of_p): Remove never true condition.
9326 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
9327 the appropriate types for determining whether the difference
9328 of final and base is a multiple of the step.
9330 2022-02-15 Jakub Jelinek <jakub@redhat.com>
9333 * omp-low.cc (task_cpyfns): New variable.
9334 (delete_omp_context): Don't call finalize_task_copyfn from here.
9335 (create_task_copyfn): Push task_stmt into task_cpyfns.
9336 (execute_lower_omp): Call finalize_task_copyfn here on entries from
9337 task_cpyfns vector and release the vector.
9339 2022-02-14 Martin Sebor <msebor@redhat.com>
9341 PR middle-end/104355
9342 * doc/invoke.texi (-Warray-bounds): Update documentation.
9344 2022-02-14 Michael Meissner <meissner@the-meissners.org>
9347 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
9348 conversion functions used to convert IFmode types.
9350 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
9352 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
9354 2022-02-14 Richard Biener <rguenther@suse.de>
9356 PR tree-optimization/104528
9357 * tree-ssa.h (find_released_ssa_name): Declare.
9358 * tree-ssa.cc (find_released_ssa_name): Export.
9359 * cfgloop.cc (verify_loop_structure): Look for released
9360 SSA names in loops nb_iterations.
9361 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
9364 2022-02-14 Richard Biener <rguenther@suse.de>
9366 PR tree-optimization/104511
9367 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
9368 touching DFP <-> FP conversions.
9370 2022-02-14 Richard Biener <rguenther@suse.de>
9372 PR middle-end/104497
9373 * gimplify.cc (gimplify_compound_lval): Make sure the
9374 base is a non-register if needed and possible.
9376 2022-02-13 liuhongt <hongtao.liu@intel.com>
9379 * match.pd (cond_expr_convert_p): New match.
9380 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
9381 (vect_recog_cond_expr_convert_pattern): New.
9383 2022-02-12 Jakub Jelinek <jakub@redhat.com>
9386 * asan.cc: Include tree-eh.h.
9387 (handle_builtin_alloca): Handle the case when __builtin_alloca or
9388 __builtin_alloca_with_align can throw.
9390 2022-02-12 Jakub Jelinek <jakub@redhat.com>
9393 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
9394 and AVX512VL isn't available, move operands[1] to operands[0] first.
9396 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
9399 * config/i386/i386.cc (type_natural_mode):
9400 Skip decimal float vector modes.
9402 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
9403 Vladimir Makarov <vmakarov@redhat.com>
9406 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
9407 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
9409 (legitimate_lo_sum_address_p): Likewise.
9410 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
9411 load from an invalid lo_sum address.
9413 2022-02-11 Jakub Jelinek <jakub@redhat.com>
9415 PR tree-optimization/104499
9416 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
9419 2022-02-11 Jakub Jelinek <jakub@redhat.com>
9421 * tree.cc (build_common_builtin_nodes): Fix up formatting in
9422 __builtin_clear_padding decl creation.
9423 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
9424 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
9425 argument rather than in 3rd argument.
9426 (gimplify_call_expr): Likewise. Fix up comment formatting.
9427 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
9428 2 arguments instead of 3, take for_auto_init from the value
9431 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
9433 PR rtl-optimization/104400
9434 * lra-constraints.cc (process_alt_operands): Don't make union of
9435 this_alternative_exclude_start_hard_regs when reg class in insn
9436 alternative covers other reg classes in the same alternative.
9438 2022-02-11 Jakub Jelinek <jakub@redhat.com>
9440 PR middle-end/104446
9441 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
9444 2022-02-11 Richard Biener <rguenther@suse.de>
9446 PR middle-end/104496
9447 * internal-fn.cc (vectorized_internal_fn_supported_p):
9448 Bail out for integer mode vector types.
9450 2022-02-11 Jakub Jelinek <jakub@redhat.com>
9452 PR rtl-optimization/104459
9453 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
9454 moving DEBUG_INSNs between bbs.
9456 2022-02-11 liuhongt <hongtao.liu@intel.com>
9458 PR tree-optimization/104479
9459 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
9460 for the dest of uncond_op.
9462 2022-02-11 Tom de Vries <tdevries@suse.de>
9465 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
9468 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
9470 PR middle-end/100775
9471 * function.cc (gen_call_used_regs_seq): Call
9472 df_update_exit_block_uses when updating df.
9474 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
9477 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
9478 Change operand 1 constraint to register_operand.
9480 2022-02-10 Richard Biener <rguenther@suse.de>
9482 PR tree-optimization/104373
9483 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
9485 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
9486 walk kind as argument.
9487 (run_rpo_vn): Adjust.
9488 (pass_fre::execute): Likewise.
9489 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
9490 blocks not reachable.
9491 (execute_late_warn_uninitialized): Mark all edges as
9493 (execute_early_warn_uninitialized): Use VN to compute
9495 (pass_data_early_warn_uninitialized): Enable a dump file,
9496 change dump name to warn_uninit.
9498 2022-02-10 Richard Biener <rguenther@suse.de>
9500 PR middle-end/104467
9501 * match.pd (vector extract simplification): Multiply the
9502 number of CTOR elements with the number of element elements.
9504 2022-02-10 Richard Biener <rguenther@suse.de>
9506 PR tree-optimization/104466
9507 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
9508 for the MR_DEPENDENCE checks as intended.
9510 2022-02-10 Tom de Vries <tdevries@suse.de>
9512 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
9514 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
9516 (define_c_enum "unspecv"): Add UNSPECV_ST.
9518 2022-02-10 Tom de Vries <tdevries@suse.de>
9520 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
9521 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
9522 (nvptx_mem_maybe_shared_p): New function.
9523 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
9526 2022-02-10 Tom de Vries <tdevries@suse.de>
9529 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
9530 driver JIT bug by using sub.s16 instead of sub.u16.
9532 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9534 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
9535 floating point constants as operands 1 and/or 2.
9537 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9540 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
9541 (sel_false<mode>): Likewise.
9542 (define_code_iterator eqne): New code iterator for EQ and NE.
9543 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
9544 the negation of a selp instruction.
9545 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
9546 the bitwise not of a selp instruction.
9547 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
9549 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9551 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
9552 in machine description.
9553 (logic): Move code attribute earlier in machine description.
9554 (ilogic): New code attribute, like logic but "ior" for IOR.
9555 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
9556 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
9557 (<ilogic>bi3): New define_insn for BI mode logic operations.
9558 (define_split): Lower logic operations from integer modes to
9559 BI mode predicate operations.
9561 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9563 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
9564 (one_cmplbi2): New define_insn for not.pred.
9565 (mulditi3): New define_expand for signed widening multiply.
9566 (umulditi3): New define_expand for unsigned widening multiply.
9567 (smul<mode>3_highpart): New define_insn for signed highpart mult.
9568 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
9569 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
9570 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
9571 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
9572 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
9573 (*setcc<mode>_from_not_bi): New define_insn.
9574 (*setcc_isinf<mode>): New define_insn for testp.infinite.
9575 (isinf<mode>2): New define_expand.
9577 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9579 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
9580 (setcc<mode>_from_bi): Additionally support QImode.
9581 (extendbi<mode>2): Additionally support QImode.
9582 (zero_extendbi<mode>2): Additionally support QImode.
9583 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
9584 iterators for signed and unsigned, binary and unary operations.
9585 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
9586 expanders to perform QImode operations using SImode instructions.
9587 (cstoreqi4): New define_expand.
9588 (*ext_truncsi2_qi): New define_insn.
9589 (*zext_truncsi2_qi): New define_insn.
9591 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9593 * config/nvptx/nvptx.md (*cmpf): New define_insn.
9594 (cstorehf4): New define_expand.
9595 (fmahf4): New define_insn.
9596 (neghf2): New define_insn.
9597 (abshf2): New define_insn.
9599 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
9601 * doc/install.texi (Specific): Change the www.bitwizard.nl
9602 reference to use https.
9604 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
9606 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
9607 OMP_CLAUSE_HAS_DEVICE_ADDR
9608 and handle array sections.
9609 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
9610 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
9611 (lower_omp_target): Same.
9612 * tree-core.h (enum omp_clause_code): Same.
9613 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
9614 (convert_local_omp_clauses): Same.
9615 * tree-pretty-print.cc (dump_omp_clause): Same.
9618 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
9620 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
9621 that will result in direct recursive calls.
9623 2022-02-10 Andrew Pinski <apinski@marvell.com>
9626 * config/aarch64/aarch64.cc
9627 (aarch64_sve_expand_vector_init_handle_trailing_constants):
9628 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
9630 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
9633 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
9634 Also include OPTION_MASK_ISA2_AVX2_UNSET.
9636 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
9639 * config/i386/i386-expand.cc (ix86_split_idivmod):
9640 Force operands[2] and operands[3] into a register..
9642 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
9645 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
9646 (*v850_fnmssf4): Renamed from fnmssf4
9648 2022-02-09 Ian Lance Taylor <iant@golang.org>
9650 * godump.cc (go_force_record_alignment): Really name the alignment
9651 field "_" (complete 2021-12-29 change).
9653 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
9655 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
9657 (VREPLACE_UN_UV4SI): Likewise.
9658 (VREPLACE_UN_V2DF): Likewise.
9659 (VREPLACE_UN_V2DI): Likewise.
9660 (VREPLACE_UN_V4SF): Likewise.
9661 (VREPLACE_UN_V4SI): Likewise.
9662 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
9663 function prototypes.
9664 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
9665 (vreplace_un_<mode>): New define_insn.
9667 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9669 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
9671 (single_wx, single_type, single_dtype, dblq): New mode attributes.
9672 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
9674 (store_pair_lanes<mode>): Likewise.
9675 (*aarch64_combine_internal<mode>): Likewise.
9676 (*aarch64_combine_internal_be<mode>): Likewise.
9677 (*aarch64_combinez<mode>): Likewise.
9678 (*aarch64_combinez_be<mode>): Likewise.
9679 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
9680 8-byte modes for ADDR_QUERY_LDP_STP_N.
9681 (aarch64_print_operand): Likewise for %y.
9683 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9685 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
9686 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
9687 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
9688 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
9689 (vec_pack_trunc_<mode>): Take general_operand elements and use
9690 aarch64_combine rather than move_lo/hi_quad to combine them.
9691 (vec_pack_trunc_df): Likewise.
9693 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9695 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
9697 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
9699 (*aarch64_combinez<mode>): ...this.
9700 (@aarch64_combinez_be<mode>): Rename to...
9701 (*aarch64_combinez_be<mode>): ...this.
9702 (@aarch64_vec_concat<mode>): New expander.
9703 (aarch64_combine<mode>): Use it.
9704 (@aarch64_simd_combine<mode>): Delete.
9705 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
9706 (aarch64_expand_vector_init): Use aarch64_vec_concat.
9708 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9710 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
9712 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
9713 (*aarch64_combine_internal_be<mode>): New patterns.
9715 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9717 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
9718 (move_lo_quad_internal_be_<mode>): Delete.
9719 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
9721 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9723 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
9725 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
9726 aarch64_mergeable_load_pair_p instead of inline check.
9727 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
9728 (aarch64_check_consecutive_mems): Allow the reversed parameter
9730 (aarch64_mergeable_load_pair_p): New function.
9732 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9734 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
9735 element to be an aarch64_simd_nonimmediate_operand.
9737 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9739 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
9740 aarch64_simd_nonimmediate_operand instead of
9741 aarch64_simd_general_operand.
9742 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
9744 (@aarch64_combinez_be<mode>): Likewise.
9746 2022-02-09 Richard Biener <rguenther@suse.de>
9748 PR middle-end/104464
9749 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
9750 throwing check to after unproblematic replacement.
9752 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
9754 PR tree-optimization/104420
9755 * match.pd (mult @0 real_zerop): Tweak conditions for constant
9756 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
9758 2022-02-09 Jakub Jelinek <jakub@redhat.com>
9761 * dwarf2out.cc (mangle_referenced_decls): New function.
9762 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
9763 early_dwarf. Instead walk the initializer and try to mangle vars or
9764 functions referenced from it.
9766 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
9768 PR tree-optimization/104288
9769 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
9770 (non_null_ref::adjust_range): Move to header.
9771 (ranger_cache::range_of_def): Don't check non-null.
9772 (ranger_cache::entry_range): Don't check non-null.
9773 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
9774 (ranger_cache::update_to_nonnull): New.
9775 (non_null_loadstore): New.
9776 (ranger_cache::block_apply_nonnull): New.
9777 * gimple-range-cache.h (class non_null_ref): Update prototypes.
9778 (non_null_ref::adjust_range): Move to here and inline.
9779 (class ranger_cache): Update prototypes.
9780 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
9781 not search dominators.
9782 (path_range_query::adjust_for_non_null_uses): Ditto.
9783 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
9784 def overrides. Do not check nonnull.
9785 (gimple_ranger::range_on_entry): Check dominators for nonnull.
9786 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
9787 (gimple_ranger::register_side_effects): New.
9788 * gimple-range.h (gimple_ranger::register_side_effects): New.
9789 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
9791 2022-02-09 Richard Biener <rguenther@suse.de>
9793 PR tree-optimization/104445
9794 PR tree-optimization/102832
9795 * optabs-query.h (can_vec_extract): New.
9796 * optabs-query.cc (can_vec_extract): Likewise.
9797 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
9798 we can extract a hi/lo part from the larger vector, rework
9799 check iteration from larger to smaller sizes.
9801 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
9805 * config/i386/gnu-property.cc: Include "i386-protos.h".
9806 (file_end_indicate_exec_stack_and_gnu_property): Generate
9807 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
9808 nodirect_extern_access attribute.
9809 * config/i386/i386-options.cc
9810 (handle_nodirect_extern_access_attribute): New function.
9811 (ix86_attribute_table): Add nodirect_extern_access attribute.
9812 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
9814 (ix86_has_no_direct_extern_access): New.
9815 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
9816 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
9817 call operand. Force non-call load from GOT for
9818 -mno-direct-extern-access or nodirect_extern_access attribute.
9819 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
9820 for -mno-direct-extern-access or nodirect_extern_access attribute.
9821 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
9823 (asm_preferred_eh_data_format): Use PC-relative format for
9824 -mno-direct-extern-access to avoid copy relocation. Check
9825 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
9826 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
9827 true for -mno-direct-extern-access or nodirect_extern_access
9828 attribute. Don't treat protected data as extern and avoid copy
9829 relocation on common symbol with -mno-direct-extern-access or
9830 nodirect_extern_access attribute.
9831 (ix86_reloc_rw_mask): New to avoid copy relocation for
9832 -mno-direct-extern-access.
9833 (TARGET_ASM_RELOC_RW_MASK): New.
9834 * config/i386/i386.opt: Add -mdirect-extern-access.
9835 * doc/extend.texi: Document nodirect_extern_access attribute.
9836 * doc/invoke.texi: Document -m[no-]direct-extern-access.
9838 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
9841 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
9842 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
9843 Call ix86_avx_u128_mode_source to check mode for each component
9846 2022-02-09 liuhongt <hongtao.liu@intel.com>
9849 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
9850 operands[2] from SImode to QImode.
9852 2022-02-09 Richard Biener <rguenther@suse.de>
9854 PR middle-end/104450
9855 * gimple-isel.cc: Pass cfun around.
9856 (+gimple_expand_vec_cond_expr): Do not combine a throwing
9857 comparison with the select.
9859 2022-02-09 Richard Biener <rguenther@suse.de>
9862 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
9863 folding for NULL LHS.
9865 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
9867 PR rtl-optimization/104198
9868 PR rtl-optimization/104153
9869 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
9870 using it directly. Rework comparison handling and always
9871 perform a second pass.
9873 2022-02-08 Jakub Jelinek <jakub@redhat.com>
9876 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
9877 split1 pass has finished already.
9879 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
9881 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
9882 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
9883 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
9884 (vmsumcud): New define_insn.
9886 2022-02-08 Tom de Vries <tdevries@suse.de>
9888 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
9889 * config/nvptx/nvptx.h (TARGET_SM70): Define.
9891 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
9893 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
9895 * config/s390/s390.md: Use paradoxical subreg.
9897 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
9899 * combine.cc (reg_subword_p): Check for paradoxical subreg.
9901 2022-02-08 Tom de Vries <tdevries@suse.de>
9904 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
9905 and PTX_VERSION_4_2.
9906 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
9907 (default_ptx_version_option, ptx_version_to_string)
9908 (sm_version_to_string, handle_ptx_version_option): New function.
9909 (nvptx_option_override): Call handle_ptx_version_option.
9910 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
9911 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
9912 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
9913 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
9915 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
9917 * doc/install.texi (Configuration): Document `--with-isa-spec='
9919 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
9921 (RISC-V Options): Document it.
9923 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
9925 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
9927 2022-02-08 Tom de Vries <tdevries@suse.de>
9929 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
9931 2022-02-08 Tom de Vries <tdevries@suse.de>
9934 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
9935 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
9936 change is validated.
9937 (nvptx_mem_local_p): New function.
9938 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
9939 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
9940 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
9941 non-atomic, non-predicable define_insn, factored out of ...
9942 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
9943 Make predicable again.
9944 (define_expand "atomic_compare_and_swap<mode>"): Use
9945 atomic_compare_and_swap<mode>_1_local.
9947 2022-02-08 liuhongt <hongtao.liu@intel.com>
9949 PR rtl-optimization/104059
9950 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
9951 for a more expensive reg-reg move.
9953 2022-02-07 Tamar Christina <tamar.christina@arm.com>
9955 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
9956 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
9957 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
9958 (usdot_laneq, sudot_laneq): New.
9959 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
9960 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
9962 2022-02-07 Tamar Christina <tamar.christina@arm.com>
9964 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
9965 vdot_laneq_s32, vdotq_laneq_s32): New.
9966 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
9967 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
9968 (<sup>dot_prod<vsi2qi>): Re-order rtl.
9969 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
9970 (neon_<sup>dot_laneq<vsi2qi>): New.
9972 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
9975 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
9976 if always_inline is set. Don't inline when tune differs without
9979 2022-02-07 Richard Biener <rguenther@suse.de>
9981 PR middle-end/104402
9982 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
9983 compares are not valid.
9984 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
9985 check is_gimple_condexpr.
9987 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
9990 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
9991 hunk affecting VSX and ALTIVEC to appropriate place.
9993 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
9996 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
9999 2022-02-06 Jakub Jelinek <jakub@redhat.com>
10003 * fold-const.h (folding_initializer): Adjust comment.
10004 (folding_cxx_constexpr): Declare.
10005 * fold-const.cc (folding_initializer): Adjust comment.
10006 (folding_cxx_constexpr): New variable.
10007 (address_compare): Restrict the decl vs. STRING_CST
10008 or vice versa or STRING_CST vs. STRING_CST or
10009 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
10010 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
10011 assume non-aliased functions have non-zero size and have different
10012 addresses. For folding_cxx_constexpr, punt on comparisons of start
10013 of some object and end of another one, regardless whether it is a decl
10014 or string literal. Also punt for folding_cxx_constexpr on
10015 STRING_CST vs. STRING_CST comparisons if the two literals could be
10018 2022-02-05 Jakub Jelinek <jakub@redhat.com>
10020 PR tree-optimization/104389
10021 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
10024 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
10026 * configure.ac: Fix detection for zifencei support.
10027 * configure: Regenerate.
10029 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
10032 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
10033 (all_defaults): Add isa_spec.
10034 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
10036 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
10038 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
10039 parameters instead of arglist and nargs. Simplify accordingly. Remove
10040 unnecessary test for argument count mismatch.
10041 (resolve_vec_cmpne): Likewise.
10042 (resolve_vec_adde_sube): Likewise.
10043 (resolve_vec_addec_subec): Likewise.
10044 (altivec_resolve_overloaded_builtin): Move overload special handling
10045 after the gathering of arguments into args[] and types[] and the test
10046 for correct number of arguments. Don't perform the test for correct
10047 number of arguments for certain special cases. Call the other special
10048 cases with args and types instead of arglist and nargs.
10050 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
10053 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
10054 3.1): Provide consistent type names. Remove unnecessary semicolons.
10055 Fix bad line breaks.
10057 2022-02-04 Jakub Jelinek <jakub@redhat.com>
10060 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
10061 adjust mangling of __builtin*printf_chk.
10063 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
10065 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
10067 2022-02-04 Richard Biener <rguenther@suse.de>
10068 Bin Cheng <bin.cheng@linux.alibaba.com>
10070 PR tree-optimization/100499
10071 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
10073 * fold-const.cc (multiple_of_p): Likewise. Honor it for
10074 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
10075 switching to false for conversions.
10076 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
10077 claim the outermost expression does not wrap when calling
10078 multiple_of_p. Refactor the check done to check the
10079 original IV, avoiding a bias that might wrap.
10081 2022-02-04 Richard Biener <rguenther@suse.de>
10083 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
10086 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
10089 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
10090 (dwarf2out_early_finish): Likewise.
10092 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
10094 PR tree-optimization/104356
10095 * match.pd (X / bool_range_Y is X): Add guard.
10096 (X / X is one): Likewise.
10097 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
10098 (X / -X is -1): Likewise.
10099 (1 / X -> X == 1): Likewise.
10101 2022-02-04 Richard Biener <rguenther@suse.de>
10103 PR tree-optimization/103641
10104 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
10105 Pass the vector mode to choose_mult_variant.
10107 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
10109 PR rtl-optimization/101885
10110 * combine.cc (try_combine): When splitting a parallel into two
10111 sequential sets, check not only that the first doesn't clobber
10112 the second but also that the second doesn't clobber the first.
10114 2022-02-04 Richard Biener <rguenther@suse.de>
10116 PR middle-end/90348
10117 PR middle-end/104092
10118 * tree-core.h (clobber_kind): New enum.
10119 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
10120 * tree.h (CLOBBER_KIND): Add.
10121 (build_clobber): Add clobber kind argument, defaulted to
10123 * tree.cc (build_clobber): Likewise.
10124 * gimple.h (gimple_clobber_p): New overload with specified kind.
10125 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
10127 * tree-streamer-out.cc (streamer_write_tree_bitfields):
10129 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
10130 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
10132 (gimplify_target_expr): Likewise.
10133 * tree-inline.cc (expand_call_inline): Likewise.
10134 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
10135 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
10136 CLOBBER_EOL clobbers as ending lifetime of storage.
10138 2022-02-04 Martin Sebor <msebor@redhat.com>
10140 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
10143 2022-02-03 Martin Sebor <msebor@redhat.com>
10145 PR middle-end/104260
10146 * passes.def (pass_warn_access): Adjust pass placement.
10148 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
10151 * config/i386/i386.cc (find_drap_reg): For 32bit targets
10152 return DI_REG if function uses __builtin_eh_return.
10154 2022-02-03 Martin Sebor <msebor@redhat.com>
10156 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
10157 (pass_wrestrict::m_ptr_qry): New member.
10158 (wrestrict_walk): Rename...
10159 (pass_wrestrict::check_block): ...to this.
10160 (pass_wrestrict::execute): Set up and tear down pointer_query and
10162 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
10163 (builtin_access::builtin_access): Same.
10164 (builtin_access::m_ptr_qry): New member.
10165 (check_call): Rename...
10166 (pass_wrestrict::check_call): ...to this.
10167 (check_bounds_or_overlap): Change argument.
10168 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
10170 2022-02-03 Martin Sebor <msebor@redhat.com>
10172 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
10174 (array_bounds_checker::get_value_range): Use new member.
10175 (array_bounds_checker::check_mem_ref): Same.
10176 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
10178 (array_bounds_checker::m_ptr_query): New member.
10180 2022-02-03 Martin Sebor <msebor@redhat.com>
10182 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
10183 pointer_query cache.
10184 * pointer-query.cc (pointer_query::pointer_query): Remove cache
10185 argument. Zero-initialize new cache member.
10186 (pointer_query::get_ref): Replace cache pointer with direct access.
10187 (pointer_query::put_ref): Same.
10188 (pointer_query::flush_cache): Same.
10189 (pointer_query::dump): Same.
10190 * pointer-query.h (class pointer_query): Remove cache argument from
10191 ctor. Change cache pointer to cache subobject member.
10192 * tree-ssa-strlen.cc: Remove pointer_query cache.
10194 2022-02-03 Martin Sebor <msebor@redhat.com>
10196 PR tree-optimization/104119
10197 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
10198 (format_none): Same.
10199 (format_percent): Same.
10200 (format_integer): Same.
10201 (format_floating): Same.
10202 (get_string_length): Same.
10203 (format_character): Same.
10204 (format_string): Same.
10205 (format_plain): Same.
10206 (format_directive): Same.
10207 (compute_format_length): Same.
10208 (handle_printf_call): Same.
10209 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
10211 (get_range_strlen_phi): Same.
10212 (get_maxbound): New function.
10213 (strlen_pass::get_len_or_size): Adjust to parameter change.
10214 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
10216 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10219 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
10220 test for !rs6000_fold_gimple.
10221 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
10222 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
10224 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10227 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
10228 endianness for vclzlsbb and vctzlsbb.
10229 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
10230 default pattern and indicate a different pattern will be used for
10232 (VCLZLSBB_V4SI): Likewise.
10233 (VCLZLSBB_V8HI): Likewise.
10234 (VCTZLSBB_V16QI): Likewise.
10235 (VCTZLSBB_V4SI): Likewise.
10236 (VCTZLSBB_V8HI): Likewise.
10238 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10240 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
10241 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
10243 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
10245 (cpu_supports_info): Likewise.
10246 (rs6000_type_string): Likewise.
10247 (altivec_expand_predicate_builtin): Likewise.
10248 (rs6000_htm_spr_icode): Likewise.
10249 (altivec_expand_vec_init_builtin): Likewise.
10250 (get_element_number): Likewise.
10251 (altivec_expand_vec_set_builtin): Likewise.
10252 (altivec_expand_vec_ext_builtin): Likewise.
10253 (rs6000_invalid_builtin): Likewise.
10254 (rs6000_fold_builtin): Likewise.
10255 (fold_build_vec_cmp): Likewise.
10256 (fold_compare_helper): Likewise.
10257 (map_to_integral_tree_type): Likewise.
10258 (fold_mergehl_helper): Likewise.
10259 (fold_mergeeo_helper): Likewise.
10260 (rs6000_builtin_valid_without_lhs): Likewise.
10261 (rs6000_builtin_is_supported): Likewise.
10262 (rs6000_gimple_fold_mma_builtin): Likewise.
10263 (rs6000_gimple_fold_builtin): Likewise.
10264 (rs6000_expand_ldst_mask): Likewise.
10265 (cpu_expand_builtin): Likewise.
10266 (elemrev_icode): Likewise.
10267 (ldv_expand_builtin): Likewise.
10268 (lxvrse_expand_builtin): Likewise.
10269 (lxvrze_expand_builtin): Likewise.
10270 (stv_expand_builtin): Likewise.
10271 (mma_expand_builtin): Likewise.
10272 (htm_spr_num): Likewise.
10273 (htm_expand_builtin): Likewise.
10274 (rs6000_expand_builtin): Likewise.
10275 (rs6000_vector_type): Likewise.
10276 (rs6000_init_builtins): Likewise. Remove initialization of
10277 builtin_mode_to_type entries.
10278 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
10279 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
10280 external declaration.
10281 (rs6000_builtin_md_vectorized_function): Likewise.
10282 (rs6000_builtin_reciprocal): Likewise.
10283 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
10284 (rs6000_builtin_types): Likewise.
10285 (builtin_mode_to_type): Remove.
10286 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
10288 (rs6000_builtin_md_vectorized_function): Likewise.
10289 (rs6000_builtin_reciprocal): Likewise.
10290 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
10291 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
10293 2022-02-03 Richard Biener <rguenther@suse.de>
10296 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
10297 together via DECL_ABSTRACT_ORIGIN.
10299 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10301 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
10302 message for RES_BITS case.
10304 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
10306 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
10308 2022-02-03 Jakub Jelinek <jakub@redhat.com>
10310 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
10311 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
10313 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
10315 * cfganal.cc (verify_marked_backedges): New.
10316 * cfganal.h (verify_marked_backedges): New.
10317 * gimple-range-path.cc (path_range_query::path_range_query):
10318 Verify freshness of back edges.
10319 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
10320 mark_dfs_back_edges.
10321 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
10322 path_range_query construction after backedges have been
10325 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
10327 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
10330 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
10332 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
10333 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
10336 2022-02-03 Martin Liska <mliska@suse.cz>
10338 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
10339 Change subject and object in the error message.
10340 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
10343 2022-02-03 Martin Liska <mliska@suse.cz>
10345 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
10346 Use the error message for i386 target.
10348 2022-02-03 Jakub Jelinek <jakub@redhat.com>
10350 PR tree-optimization/104334
10351 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
10352 and rh_range type to widest_int and subtract in widest_int. Remove
10353 ov_rh, ov_lh and sign vars, always perform comparisons as signed
10354 and use >, < and == operators for it.
10356 2022-02-03 Martin Sebor <msebor@redhat.com>
10358 * common.opt (-Wuse-after-free): Correct typos.
10360 2022-02-02 David Malcolm <dmalcolm@redhat.com>
10363 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
10364 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
10365 -ftrivial-auto-var-init= doesn't suppress warnings.
10367 2022-02-02 Martin Liska <mliska@suse.cz>
10369 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
10371 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
10374 * config/or1k/linux.h (CPP_SPEC): Define.
10376 2022-02-02 Tamar Christina <tamar.christina@arm.com>
10378 PR tree-optimization/102819
10379 PR tree-optimization/103169
10380 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
10383 2022-02-02 Tamar Christina <tamar.christina@arm.com>
10385 PR tree-optimization/102819
10386 PR tree-optimization/103169
10387 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
10389 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
10391 2022-02-02 Tamar Christina <tamar.christina@arm.com>
10393 PR tree-optimization/102819
10394 PR tree-optimization/103169
10395 * doc/md.texi: Update docs for cfms, cfma.
10396 * tree-data-ref.h (same_data_refs): Accept optional offset.
10397 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
10399 (vect_normalize_conj_loc): Remove.
10400 (is_eq_or_top): Change to take two nodes.
10401 (enum _conj_status, compatible_complex_nodes_p,
10402 vect_validate_multiplication): New.
10403 (class complex_add_pattern, complex_add_pattern::matches,
10404 complex_add_pattern::recognize, class complex_mul_pattern,
10405 complex_mul_pattern::recognize, class complex_fms_pattern,
10406 complex_fms_pattern::recognize, class complex_operations_pattern,
10407 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
10409 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
10410 cache and use new validation code.
10411 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
10412 vect_analyze_slp): Pass along cache.
10413 (compatible_calls_p): Expose.
10414 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
10415 slp_compat_nodes_map_t): New.
10416 (class vect_pattern): Update signatures include new cache.
10418 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10420 * config/cris/cris.cc (cris_preferred_reload_class): Reject
10421 "eliminated" registers and small-enough constants unless
10422 reloaded into a class that is a subset of GENERAL_REGS.
10423 * config/cris/cris.md (attribute "cpu_variant"): New.
10424 (attribute "enabled"): Conditionalize on a matching attribute
10425 cpu_variant, if specified.
10426 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
10427 memory, add cpu-variant-enabled variants for "r" alternatives on
10428 the far side of the "x" alternatives, preferring the "x" ones
10429 only for variants where MOF is present (in addition to SRP).
10431 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10433 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
10434 extra cost for ALL_REGS.
10436 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10438 * config/cris/constraints.md (define_register_constraint "b"): Now
10440 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
10441 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
10442 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
10443 and SPEC_GENNONACR_REGS.
10444 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
10445 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
10447 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10449 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
10450 Conditionalize on (sub-)register operands or operand 1 being 0.
10452 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10454 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
10455 (MUL_BUG_ASM_DEFAULT): New macro.
10456 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
10457 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
10460 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
10462 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
10465 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
10467 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
10469 2022-02-01 Andrew Pinski <apinski@marvell.com>
10471 * doc/install.texi:
10473 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
10475 * config/s390/s390.cc (s390_code_end): Do not switch back to
10478 2022-02-01 Jakub Jelinek <jakub@redhat.com>
10481 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
10482 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
10483 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
10484 GTY((user)) for struct bifdata and struct ovlddata. Instead add
10485 GTY((skip(""))) to members with pointer and enum types that don't need
10486 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
10487 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
10488 (write_extern_fntype, write_fntype): Remove.
10489 (write_fntype_init): Emit the fntype vars as automatic vars instead
10490 of file scope ones.
10491 (write_header_file): Don't iterate with write_extern_fntype.
10492 (write_init_file): Don't iterate with write_fntype. Don't emit
10493 gt_ggc_mx and gt_pch_nx definitions.
10495 2022-02-01 Jason Merrill <jason@redhat.com>
10497 * tree.h (struct tree_vec_map_cache_hasher): Move from...
10498 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
10500 2022-02-01 Tom de Vries <tdevries@suse.de>
10502 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
10503 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
10504 UNSPECV_UNIFORM_WARP_CHECK.
10505 (define_insn "nvptx_uniform_warp_check"): New define_insn.
10507 2022-02-01 Tom de Vries <tdevries@suse.de>
10509 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
10510 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
10512 (define_insn "nvptx_warpsync"): New define_insn.
10514 2022-02-01 Tom de Vries <tdevries@suse.de>
10516 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
10518 2022-02-01 Tom de Vries <tdevries@suse.de>
10520 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
10521 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
10522 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
10523 insn for TARGET_PTX_6_0.
10525 2022-02-01 Tom de Vries <tdevries@suse.de>
10528 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
10531 2022-02-01 Tom de Vries <tdevries@suse.de>
10533 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
10534 (define_insn "atomic_exchange<mode>")
10535 (define_insn "atomic_fetch_add<mode>")
10536 (define_insn "atomic_fetch_addsf")
10537 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
10538 if memory operands is frame-relative.
10540 2022-02-01 Tom de Vries <tdevries@suse.de>
10542 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
10543 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
10545 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
10546 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
10547 NVPTX_BUILTIN_MEMBAR_CTA.
10548 (nvptx_lockfull_update): Add level parameter. Emit barriers.
10549 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
10550 nvptx_lockfull_update.
10551 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
10553 (define_expand "nvptx_membar_gl"): New expand.
10554 (define_insn "*nvptx_membar_gl"): New insn.
10556 2022-02-01 Martin Liska <mliska@suse.cz>
10558 * doc/install.texi: Remove option for GCC < 4.8.
10560 2022-02-01 Jakub Jelinek <jakub@redhat.com>
10562 PR middle-end/104307
10563 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
10564 stmts to uses vector, just set vec_cond_expr_only to false for
10565 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
10566 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
10567 like non-VEC_COND_EXPRs.
10569 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
10571 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
10572 (VEC_BLENDV): Likewise.
10573 (VEC_BPERM): Likewise.
10574 (VEC_CFUGE): Likewise.
10575 (VEC_CIPHER_BE): Likewise.
10576 (VEC_CIPHERLAST_BE): Likewise.
10577 (VEC_CLRL): Likewise.
10578 (VEC_CLRR): Likewise.
10579 (VEC_CMPNEZ): Likewise.
10580 (VEC_CNTLZ): Likewise.
10581 (VEC_CNTLZM): Likewise.
10582 (VEC_CNTTZM): Likewise.
10583 (VEC_CNTLZ_LSBB): Likewise.
10584 (VEC_CNTM): Likewise.
10585 (VEC_CNTTZ): Likewise.
10586 (VEC_CNTTZ_LSBB): Likewise.
10587 (VEC_CONVERT_4F32_8F16): Likewise.
10588 (VEC_DIV): Likewise.
10589 (VEC_DIVE): Likewise.
10590 (VEC_EQV): Likewise.
10591 (VEC_EXPANDM): Likewise.
10592 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
10593 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
10594 (VEC_EXTRACTH): Likewise.
10595 (VEC_EXTRACTL): Likewise.
10596 (VEC_EXTRACTM): Likewise.
10597 (VEC_EXTRACT4B): Likewise.
10598 (VEC_EXTULX): Likewise.
10599 (VEC_EXTURX): Likewise.
10600 (VEC_FIRSTMATCHINDEX): Likewise.
10601 (VEC_FIRSTMACHOREOSINDEX): Likewise.
10602 (VEC_FIRSTMISMATCHINDEX): Likewise.
10603 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
10604 (VEC_GB): Likewise.
10605 (VEC_GENBM): Likewise.
10606 (VEC_GENHM): Likewise.
10607 (VEC_GENWM): Likewise.
10608 (VEC_GENDM): Likewise.
10609 (VEC_GENQM): Likewise.
10610 (VEC_GENPCVM): Likewise.
10611 (VEC_GNB): Likewise.
10612 (VEC_INSERTH): Likewise.
10613 (VEC_INSERTL): Likewise.
10614 (VEC_INSERT4B): Likewise.
10615 (VEC_LXVL): Likewise.
10616 (VEC_MERGEE): Likewise.
10617 (VEC_MERGEO): Likewise.
10618 (VEC_MOD): Likewise.
10619 (VEC_MSUB): Likewise.
10620 (VEC_MULH): Likewise.
10621 (VEC_NAND): Likewise.
10622 (VEC_NCIPHER_BE): Likewise.
10623 (VEC_NCIPHERLAST_BE): Likewise.
10624 (VEC_NEARBYINT): Likewise.
10625 (VEC_NMADD): Likewise.
10626 (VEC_ORC): Likewise.
10627 (VEC_PDEP): Likewise.
10628 (VEC_PERMX): Likewise.
10629 (VEC_PEXT): Likewise.
10630 (VEC_POPCNT): Likewise.
10631 (VEC_PARITY_LSBB): Likewise.
10632 (VEC_REPLACE_ELT): Likewise.
10633 (VEC_REPLACE_UN): Likewise.
10634 (VEC_REVB): Likewise.
10635 (VEC_RINT): Likewise.
10636 (VEC_RLMI): Likewise.
10637 (VEC_RLNM): Likewise.
10638 (VEC_SBOX_BE): Likewise.
10639 (VEC_SIGNEXTI): Likewise.
10640 (VEC_SIGNEXTLL): Likewise.
10641 (VEC_SIGNEXTQ): Likewise.
10642 (VEC_SLDB): Likewise.
10643 (VEC_SLV): Likewise.
10644 (VEC_SPLATI): Likewise.
10645 (VEC_SPLATID): Likewise.
10646 (VEC_SPLATI_INS): Likewise.
10647 (VEC_SQRT): Likewise.
10648 (VEC_SRDB): Likewise.
10649 (VEC_SRV): Likewise.
10650 (VEC_STRIL): Likewise.
10651 (VEC_STRIL_P): Likewise.
10652 (VEC_STRIR): Likewise.
10653 (VEC_STRIR_P): Likewise.
10654 (VEC_STXVL): Likewise.
10655 (VEC_TERNARYLOGIC): Likewise.
10656 (VEC_TEST_LSBB_ALL_ONES): Likewise.
10657 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
10658 (VEC_VEE): Likewise.
10659 (VEC_VES): Likewise.
10660 (VEC_VIE): Likewise.
10661 (VEC_VPRTYB): Likewise.
10662 (VEC_VSCEEQ): Likewise.
10663 (VEC_VSCEGT): Likewise.
10664 (VEC_VSCELT): Likewise.
10665 (VEC_VSCEUO): Likewise.
10666 (VEC_VSEE): Likewise.
10667 (VEC_VSES): Likewise.
10668 (VEC_VSIE): Likewise.
10669 (VEC_VSTDC): Likewise.
10670 (VEC_VSTDCN): Likewise.
10671 (VEC_VTDC): Likewise.
10672 (VEC_XL): Likewise.
10673 (VEC_XL_BE): Likewise.
10674 (VEC_XL_LEN_R): Likewise.
10675 (VEC_XL_SEXT): Likewise.
10676 (VEC_XL_ZEXT): Likewise.
10677 (VEC_XST): Likewise.
10678 (VEC_XST_BE): Likewise.
10679 (VEC_XST_LEN_R): Likewise.
10680 (VEC_XST_TRUNC): Likewise.
10681 (VEC_XXPERMDI): Likewise.
10682 (VEC_XXSLDWI): Likewise.
10683 (VEC_TSTSFI_EQ_DD): Likewise.
10684 (VEC_TSTSFI_EQ_TD): Likewise.
10685 (VEC_TSTSFI_GT_DD): Likewise.
10686 (VEC_TSTSFI_GT_TD): Likewise.
10687 (VEC_TSTSFI_LT_DD): Likewise.
10688 (VEC_TSTSFI_LT_TD): Likewise.
10689 (VEC_TSTSFI_OV_DD): Likewise.
10690 (VEC_TSTSFI_OV_TD): Likewise.
10691 (VEC_VADDCUQ): Likewise.
10692 (VEC_VADDECUQ): Likewise.
10693 (VEC_VADDEUQM): Likewise.
10694 (VEC_VADDUDM): Likewise.
10695 (VEC_VADDUQM): Likewise.
10696 (VEC_VBPERMQ): Likewise.
10697 (VEC_VCLZB): Likewise.
10698 (VEC_VCLZD): Likewise.
10699 (VEC_VCLZH): Likewise.
10700 (VEC_VCLZW): Likewise.
10701 (VEC_VCTZB): Likewise.
10702 (VEC_VCTZD): Likewise.
10703 (VEC_VCTZH): Likewise.
10704 (VEC_VCTZW): Likewise.
10705 (VEC_VEEDP): Likewise.
10706 (VEC_VEESP): Likewise.
10707 (VEC_VESDP): Likewise.
10708 (VEC_VESSP): Likewise.
10709 (VEC_VIEDP): Likewise.
10710 (VEC_VIESP): Likewise.
10711 (VEC_VPKSDSS): Likewise.
10712 (VEC_VPKSDUS): Likewise.
10713 (VEC_VPKUDUM): Likewise.
10714 (VEC_VPKUDUS): Likewise.
10715 (VEC_VPOPCNT): Likewise.
10716 (VEC_VPOPCNTB): Likewise.
10717 (VEC_VPOPCNTD): Likewise.
10718 (VEC_VPOPCNTH): Likewise.
10719 (VEC_VPOPCNTW): Likewise.
10720 (VEC_VPRTYBD): Likewise.
10721 (VEC_VPRTYBQ): Likewise.
10722 (VEC_VPRTYBW): Likewise.
10723 (VEC_VRLD): Likewise.
10724 (VEC_VSLD): Likewise.
10725 (VEC_VSRAD): Likewise.
10726 (VEC_VSRD): Likewise.
10727 (VEC_VSTDCDP): Likewise.
10728 (VEC_VSTDCNDP): Likewise.
10729 (VEC_VSTDCNQP): Likewise.
10730 (VEC_VSTDCNSP): Likewise.
10731 (VEC_VSTDCQP): Likewise.
10732 (VEC_VSTDCSP): Likewise.
10733 (VEC_VSUBECUQ): Likewise.
10734 (VEC_VSUBEUQM): Likewise.
10735 (VEC_VSUBUDM): Likewise.
10736 (VEC_VSUBUQM): Likewise.
10737 (VEC_VTDCDP): Likewise.
10738 (VEC_VTDCSP): Likewise.
10739 (VEC_VUPKHSW): Likewise.
10740 (VEC_VUPKLSW): Likewise.
10742 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
10744 PR rtl-optimization/101260
10745 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
10748 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
10750 PR middle-end/95115
10751 * fold-const.cc (const_binop): Do not fold NaN result from
10754 2022-02-01 Tom de Vries <tdevries@suse.de>
10756 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
10757 -ftree-loop-distribute-patterns.
10758 (loop_distribution::execute): Don't call transform_reduction_loop for
10759 -fno-tree-loop-distribute-patterns.
10761 2022-01-31 Andrew Pinski <apinski@marvell.com>
10763 * fold-const.h (operand_compare::operand_equal_p):
10764 Fix comment about OEP_* flags.
10766 2022-01-31 Jakub Jelinek <jakub@redhat.com>
10769 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
10770 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
10771 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
10772 if not already defined.
10774 2022-01-31 Martin Sebor <msebor@redhat.com>
10776 PR middle-end/104232
10777 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
10778 Handle PHIs. Add a synonymous overload.
10779 (pass_waccess::check_pointer_uses): Call pointers_related_p.
10781 2022-01-31 Richard Biener <rguenther@suse.de>
10783 PR tree-optimization/100499
10784 * fold-const.cc (multiple_of_p): Pass the correct type of
10785 the expression to the recursive invocation of multiple_of_p
10786 for conversions and use CASE_CONVERT.
10788 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
10791 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
10793 2022-01-31 Richard Biener <rguenther@suse.de>
10795 PR tree-optimization/100499
10796 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
10797 on poly-ints instead of multiple_of_p.
10798 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
10799 (non_rewritable_mem_ref_base): Likewise.
10800 (non_rewritable_lvalue_p): Likewise.
10801 (execute_update_addresses_taken): Likewise.
10803 2022-01-29 Jakub Jelinek <jakub@redhat.com>
10804 Andrew Pinski <apinski@marvell.com>
10806 PR tree-optimization/104279
10807 PR tree-optimization/104280
10808 PR tree-optimization/104281
10809 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
10810 boolean_type_node and convert to type. Formatting fixes.
10812 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
10814 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
10816 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
10818 PR tree-optimization/103514
10819 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
10820 (a & b) == (a ^ b) -> !(a | b): New optimization.
10822 2022-01-28 Marek Polacek <polacek@redhat.com>
10824 * doc/invoke.texi: Update -Wbidi-chars documentation.
10826 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
10828 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
10830 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
10832 PR tree-optimization/95424
10833 * match.pd: Simplify 1 / X where X is an integer.
10835 2022-01-28 Jakub Jelinek <jakub@redhat.com>
10837 PR tree-optimization/104263
10838 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
10839 cfun->can_throw_non_call_exceptions && cfun->eh test whether
10840 last non-debug stmt in the bb is store_valid_for_store_merging_p
10841 rather than last stmt.
10843 2022-01-28 Martin Liska <mliska@suse.cz>
10845 * diagnostic.cc (diagnostic_action_after_output): Remove extra
10848 2022-01-28 Martin Liska <mliska@suse.cz>
10850 * config/rs6000/host-darwin.cc (segv_crash_handler):
10851 Do not use leading capital letter.
10852 (segv_handler): Likewise.
10853 * ipa-sra.cc (verify_splitting_accesses): Likewise.
10854 * varasm.cc (get_section): Likewise.
10856 2022-01-28 Richard Biener <rguenther@suse.de>
10858 PR tree-optimization/104267
10859 * tree-vect-stmts.cc (vectorizable_call): Properly use the
10860 per-argument determined vector type for externals and
10863 2022-01-28 Richard Biener <rguenther@suse.de>
10865 PR tree-optimization/104263
10866 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
10867 Purge edges also when !cfun->has_nonlocal_label
10868 and !cfun->calls_setjmp.
10870 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
10872 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
10875 2022-01-28 Jakub Jelinek <jakub@redhat.com>
10878 * cfgrtl.cc (loc_equal): New function.
10879 (unique_locus_on_edge_between_p): Use it.
10881 2022-01-28 Richard Biener <rguenther@suse.de>
10883 * cfganal.h (mark_dfs_back_edges): Provide API with struct
10885 * cfganal.cc (mark_dfs_back_edges): Take a struct function
10886 to work on, add a wrapper passing cfun.
10887 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
10888 uses with fun which is already passed.
10889 (draw_cfg_edges): Likewise.
10890 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
10893 2022-01-27 Patrick Palka <ppalka@redhat.com>
10896 * tree.cc (build_call_vec): Add const to second parameter.
10897 * tree.h (build_call_vec): Likewise.
10899 2022-01-27 Martin Liska <mliska@suse.cz>
10902 * diagnostic.cc (diagnostic_initialize):
10903 Initialize report_bug flag.
10904 (diagnostic_action_after_output):
10905 Explain that -freport-bug option can be used for pre-processed
10906 file creation. Make the message shorter.
10907 (error_recursion): Rename Internal to internal.
10908 * diagnostic.h (struct diagnostic_context): New field.
10909 * opts.cc (common_handle_option): Init the field here.
10911 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
10914 * config/rs6000/rs6000.cc
10915 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
10916 assertion with early return.
10918 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
10920 PR middle-end/103642
10921 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
10922 for non-pointer or non-reference-to-pointer cases.
10924 2022-01-27 Jakub Jelinek <jakub@redhat.com>
10926 PR tree-optimization/104196
10927 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
10928 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
10929 return NULL and emit needed stmts before and after stmt.
10930 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
10931 pick as operand_entry that will hold the merged test the one feeding
10932 earliest condition, ensure that by swapping range->idx with some
10933 other range's idx if needed. If seq is non-NULL, don't actually swap
10934 it but instead rewrite stmts with undefined overflow in between
10936 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
10937 corresponding condition even if they have non-NULL ops[]->op.
10940 2022-01-26 Jakub Jelinek <jakub@redhat.com>
10943 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
10945 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
10946 before for loop instead of for init clause.
10947 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
10949 2022-01-26 Jakub Jelinek <jakub@redhat.com>
10952 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
10953 _X86INTRIN_H_INCLUDED and adjust #error wording.
10954 * config/rs6000/bmi2intrin.h: Likewise.
10956 2022-01-26 Jakub Jelinek <jakub@redhat.com>
10959 * dwarf2out.cc (long_double_as_float128): New function.
10960 (modified_type_die): For powerpc64le IEEE 754 quad long double
10961 and complex long double emit those as DW_TAG_typedef to
10962 _Float128 or complex _Float128 base type.
10964 2022-01-26 Marek Polacek <polacek@redhat.com>
10967 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
10968 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
10970 2022-01-26 Martin Liska <mliska@suse.cz>
10972 * ipa-modref-tree.cc (modref_access_node::update):
10973 Remove "--param param=foo" with "--param foo".
10974 (modref_access_node::insert): Likewise.
10975 (modref_access_node::insert_kill): Likewise.
10976 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
10977 (struct modref_base_node): Likewise.
10978 (struct modref_tree): Likewise.
10980 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
10983 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
10986 2022-01-25 Martin Sebor <msebor@redhat.com>
10988 PR tree-optimization/104203
10989 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
10991 * pointer-query.cc (access_ref::merge_ref): Change return type.
10992 Convert failure to a conservative success.
10993 (access_ref::get_ref): Adjust to the change above. Short-circuit
10994 PHI evaluation after first failure turned into conservative success.
10995 * pointer-query.h (access_ref::merge_ref): Change return type.
10996 * timevar.def (TV_WARN_ACCESS): New timer variable.
10998 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
11000 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
11002 2022-01-25 Richard Biener <rguenther@suse.de>
11004 PR tree-optimization/104214
11005 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
11006 stronger guarantees for relational pointer compares when
11007 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
11008 BASE0 + STEP0 - STEP1 cmp BASE1.
11010 2022-01-25 Jakub Jelinek <jakub@redhat.com>
11013 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
11015 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
11016 ieee128_mangling_gcc_8_1): Remove.
11017 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
11018 (rs6000_mangle_type): Return "u9__ieee128" instead of
11019 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
11020 (rs6000_globalize_decl_name): Remove.
11021 * config/rs6000/rs6000-call.cc (init_cumulative_args,
11022 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
11024 2022-01-24 Martin Sebor <msebor@redhat.com>
11026 * pointer-query.cc (pointer_query::dump): Remove duplicate
11029 2022-01-24 Marek Polacek <polacek@redhat.com>
11031 PR preprocessor/104030
11032 * doc/invoke.texi: Update documentation for -Wbidi-chars.
11034 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
11037 * builtins.cc (expand_builtin_fegetround): New function.
11038 (expand_builtin_feclear_feraise_except): New function.
11039 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
11040 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
11041 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
11042 (feclearexceptsi): New Pattern.
11043 (feraiseexceptsi): New Pattern.
11044 * doc/extend.texi: Add a new introductory paragraph about the
11046 * doc/md.texi: (fegetround@var{m}): Document new optab.
11047 (feclearexcept@var{m}): Document new optab.
11048 (feraiseexcept@var{m}): Document new optab.
11049 * optabs.def (fegetround_optab): New optab.
11050 (feclearexcept_optab): New optab.
11051 (feraiseexcept_optab): New optab.
11053 2022-01-24 Richard Biener <rguenther@suse.de>
11054 Jiufu Guo <guojiufu@linux.ibm.com>
11056 PR tree-optimization/100740
11057 PR tree-optimization/101508
11058 PR tree-optimization/101972
11059 PR tree-optimization/102131
11060 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
11061 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
11062 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
11064 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11066 PR sanitizer/104158
11067 * opt-functions.awk (var_set): Handle EnumBitSet property.
11068 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
11070 * opts.h (enum cl_enum_var_value): New type.
11071 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
11072 Handle CLEV_BITSET.
11073 (cmdline_handle_error): Handle CLEV_BITSET.
11074 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
11075 * doc/options.texi (EnumBitSet): Document.
11076 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
11078 (trace-pc, trace-cmp): Drop Set properties.
11080 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11082 PR sanitizer/104158
11083 * common.opt (flag_sanitize_coverage): Remove Variable entry.
11084 (fsanitize-coverage=): Remove RejectNegative property, add
11085 Var(flag_sanitize_coverage) and EnumSet properties.
11086 (trace-pc): Add Set(1) property.
11087 (trace-cmp): Add Set(2) property.
11088 * opts.cc (common_handle_option): Don't handle
11089 OPT_fsanitize_coverage_.
11091 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11093 PR sanitizer/104158
11094 * opt-functions.awk (var_set): Handle EnumSet property.
11095 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
11097 * opt-read.awk: Handle Set property.
11098 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
11099 (struct cl_decoded_option): Mention enum in value description.
11101 (set_option): Add mask argument defaulted to 0.
11102 * opts.cc (test_enum_sets): New function.
11103 (opts_cc_tests): Call it.
11104 * opts-common.cc (enum_arg_to_value): Change return argument
11105 from bool to int, on success return index into the cl_enum_arg
11106 array, on failure -1. Add len argument, if non-0, use strncmp
11108 (opt_enum_arg_to_value): Adjust caller.
11109 (decode_cmdline_option): Handle EnumSet represented as
11110 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
11111 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
11112 (handle_option): Pass decoded->mask to set_options last argument.
11113 (generate_option): Clear decoded->mask.
11114 (generate_option_input_file): Likewise.
11115 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
11116 (set_option): Add mask argument, use it for CLVC_ENUM.
11117 (control_warning_option): Adjust enum_arg_to_value caller.
11118 * doc/options.texi: Document Set and EnumSet properties.
11120 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11122 PR bootstrap/104170
11123 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
11124 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
11125 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
11126 using OPTION_*_P macros.
11127 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
11128 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
11129 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
11130 using OPTION_*_P macros.
11131 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
11132 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
11133 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
11134 using OPTION_*_P macros.
11135 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
11136 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
11137 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
11138 using OPTION_*_P macros.
11139 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
11140 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
11141 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
11142 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
11143 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
11144 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
11145 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
11146 otherwise assume if (true).
11148 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
11150 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
11151 Skip zicsr and zifencei if I-ext is 2.0.
11153 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
11155 * config.gcc: Modify default isa_spec version.
11157 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
11159 PR tree-optimization/102087
11160 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
11161 Correct PLUS result type.
11163 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
11166 * config/i386/predicates.md (bcst_mem_operand): Also check mode
11167 of memory broadcast.
11169 2022-01-23 Andrew Pinski <apinski@marvell.com>
11172 * config/aarch64/aarch64-builtins.cc
11173 (aarch64_general_gimple_fold_builtin): Handle
11174 __builtin_aarch64_sqrt* and simplify into SQRT internal
11177 2022-01-22 Jakub Jelinek <jakub@redhat.com>
11180 * opts-global.cc (handle_common_deferred_options): Quote
11181 --enable-plugin in diagnostics to avoid -Werror=format-diag.
11183 2022-01-21 Michael Meissner <meissner@the-meissners.org>
11186 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
11187 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
11188 * config/rs6000/rs6000.md (prefixed attribute): Delete section
11189 that sets the prefixed attribute for xxspltiw, xxspltidp, and
11190 xxsplti32dx instructions.
11191 (movsf_hardfloat): Explicitly set the prefixed attribute
11192 when xxspltiw and xxspltidp instructions are generated.
11193 (mov<mode>_hardfloat32): Likewise.
11194 (mov<mode>_hardfloat64): Likewise.
11195 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
11196 prefixed attribute for xxspltiw and xxspltidp instructions.
11197 (vsx_mov<mode>_32bit): Likewise.
11199 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
11201 PR bootstrap/104170
11202 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
11203 Return true only on glibc.
11204 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
11205 Revert commit c163647ffbc.
11206 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
11208 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
11210 * common/config/s390/s390-common.cc (s390_supports_split_stack):
11211 Only support split-stack on glibc targets.
11212 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
11213 * config/i386/gnu.h (defined): Ditto.
11215 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
11217 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
11218 vector float and vector double.
11220 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
11222 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
11223 Fix mention of ifunc in string.
11225 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
11227 PR middle-end/104140
11228 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
11229 operands of the widening multiplication are either both signed or
11230 both unsigned, and abort the conversion if mismatched.
11231 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
11232 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
11234 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
11235 integer types with the same precision and signedness.
11236 (WIDEN_MULT_EXPR): Document that operands must have integer types
11237 with the same precision, but possibly differing signedness.
11238 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
11239 riscv_current_subset_list returning a NULL pointer (empty list).
11241 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
11244 * ira.h (struct target_ira): Add member
11245 x_ira_exclude_class_mode_regs.
11246 (ira_exclude_class_mode_regs): New macro.
11247 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
11249 * lra-int.h: ... to here.
11250 (lra_create_new_reg_with_unique_value): Add arg
11251 exclude_start_hard_regs.
11252 (class lra_reg): Add member exclude_start_hard_regs.
11253 * lra-assigns.cc (find_hard_regno_for_1): Setup
11254 impossible_start_hard_regs from exclude_start_hard_regs.
11255 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
11256 it lra_create_new_reg[_with_unique_value].
11257 (match_reload): Ditto.
11258 (check_and_process_move): Pass NULL
11259 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
11260 (goal_alt_exclude_start_hard_regs): New static variable.
11261 (process_addr_reg, simplify_operand_subreg): Pass NULL
11262 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
11263 and get_reload_reg.
11264 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
11265 Use this_alternative_exclude_start_hard_regs additionally to find
11266 winning operand alternative.
11267 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
11268 exclude_start_hard_regs to lra_create_new_reg.
11269 (process_address_1, emit_inc): Ditto.
11270 (curr_insn_transform): Pass exclude_start_hard_regs value to
11271 lra_create_new_reg, get_reload_reg, match_reload.
11272 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
11273 to lra_create_new_reg.
11274 (process_invariant_for_inheritance): Ditto.
11275 * lra-remat.cc (update_scratch_ops): Ditto.
11276 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
11277 exclude_start_hard_regs. Setup the corresponding member of
11279 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
11280 to lra_create_new_reg_with_unique_value.
11281 (initialize_lra_reg_info_element): Initialize member
11282 exclude_start_hard_regs.
11283 (get_scratch_reg): Pass NULL to lra_create_new_reg.
11284 * ira.cc (setup_prohibited_class_mode_regs): Rename to
11285 setup_prohibited_and_exclude_class_mode_regs and calculate
11286 ira_exclude_class_mode_regs.
11288 2022-01-21 Martin Liska <mliska@suse.cz>
11290 * configure.ac: Detect ld_is_mold and use it for
11291 comdat_group=yes and gcc_cv_ld_hidden=yes.
11292 * configure: Regenerate.
11294 2022-01-21 Richard Biener <rguenther@suse.de>
11296 PR tree-optimization/100089
11297 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
11298 of if-converted loops with unvectorized COND_EXPRs for
11299 all but the unlimited cost models.
11301 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
11303 * config/arm/arm-opts.h (enum stack_protector_guard): New.
11304 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
11306 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
11307 (arm_option_override_internal): Handle and put in error checks.
11308 for stack protector guard options.
11309 (arm_option_reconfigure_globals): Likewise.
11310 (arm_stack_protect_tls_canary_mem): New.
11311 (arm_stack_protect_guard): New.
11312 * config/arm/arm.md (stack_protect_set): New.
11313 (stack_protect_set_tls): Likewise.
11314 (stack_protect_test): Likewise.
11315 (stack_protect_test_tls): Likewise.
11316 (reload_tp_hard): Likewise.
11317 * config/arm/arm.opt (-mstack-protector-guard): New
11318 (-mstack-protector-guard-offset): New.
11319 * doc/invoke.texi: Document new options.
11321 2022-01-21 Richard Biener <rguenther@suse.de>
11323 PR tree-optimization/104156
11324 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
11325 Collect and reset debug stmts with out-of-loop uses when
11327 (find_loop_guard): Adjust.
11328 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
11329 (used_outside_loop_p): Push debug uses to a vector of
11330 debug stmts to reset.
11331 (hoist_guard): Adjust -fopt-info category.
11333 2022-01-21 Richard Biener <rguenther@suse.de>
11335 PR tree-optimization/104152
11336 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
11337 can_duplicate_and_interleave_p check.
11339 2022-01-21 Jakub Jelinek <jakub@redhat.com>
11341 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
11342 Avoid passing var to warning_at when the format string doesn't
11345 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
11347 PR tree-optimization/103721
11348 * gimple-range-path.cc
11349 (path_range_query::relations_may_be_invalidated): New.
11350 (path_range_query::compute_ranges_in_block): Reset relations if
11351 they may be invalidated.
11352 (path_range_query::maybe_register_phi_relation): Exit if relations
11353 may be invalidated on incoming edge.
11354 (path_range_query::compute_phi_relations): Pass incoming PHI edge
11355 to maybe_register_phi_relation.
11356 * gimple-range-path.h (relations_may_be_invalidated): New.
11357 (maybe_register_phi_relation): Pass edge instead of tree.
11358 * tree-ssa-threadbackward.cc (back_threader::back_threader):
11360 * value-relation.cc (path_oracle::path_oracle): Call
11361 mark_dfs_back_edges.
11362 (path_oracle::register_relation): Add SSA names to m_registered
11364 (path_oracle::reset_path): Clear m_registered bitmap.
11365 * value-relation.h (path_oracle::set_root_oracle): New.
11367 2022-01-21 Jakub Jelinek <jakub@redhat.com>
11369 PR rtl-optimization/102478
11370 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
11371 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
11374 2022-01-20 Richard Biener <rguenther@suse.de>
11376 PR middle-end/100786
11377 * gimple-fold.cc (get_symbol_constant_value): Only return
11378 values of compatible type to the symbol.
11380 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
11382 * value-relation.cc (relation_oracle::valid_equivs): Query and add
11383 if valid members of a set.
11384 (equiv_oracle::register_equiv): Call valid_equivs rather than
11385 bitmap direct operations.
11386 (path_oracle::register_equiv): Ditto.
11387 * value-relation.h (relation_oracle::valid_equivs): New prototype.
11389 2022-01-20 Richard Biener <rguenther@suse.de>
11392 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
11393 LHS before folding __builtin_ia32_shufpd and friends.
11395 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11397 * config/arm/crypto.md (aes_op_protect): Allow moves from core
11398 registers and from memory.
11399 (aes_op_protect_misalign_load): New pattern.
11400 (aes_op_protect_neon_vld1v16qi): New pattern.
11402 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11404 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
11406 (aarch32_crypto_aese_fused_protected): Likewise.
11407 (aarch32_crypto_aesd_fused_protected): Likewise.
11409 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11411 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
11412 to define_expand. Add mitigation for the Cortex-A AES erratum
11414 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
11415 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
11416 (aes_op_protect): New pattern.
11417 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
11419 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11421 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
11422 (ALL_QUIRKS): Add it.
11423 (cortex-a57, cortex-a72): Enable it.
11424 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
11425 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
11427 (mfix-cortex-a72-aes-1655431): New option alias.
11428 * config/arm/arm.cc (arm_option_override): Handle default settings
11429 for AES erratum switch.
11430 * doc/invoke.texi (Arm Options): Document new options.
11432 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11434 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
11435 <crypto_mode> rather than hard-coding the mode.
11436 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
11437 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
11438 (*aarch32_crypto_aese_fused): Likewise.
11439 (*aarch32_crypto_aesd_fused): Likewise.
11440 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
11441 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
11442 (crypto_sha1h_lb): Likewise.
11443 (crypto_vmullp64): Likewise.
11444 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
11445 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
11447 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11449 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
11450 iterator to pattern name to disambiguate.
11451 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
11452 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
11453 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
11454 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
11455 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
11457 2022-01-20 Martin Liska <mliska@suse.cz>
11459 PR bootstrap/104135
11460 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
11461 * rtl.cc: Partially disable -Wformat-diag for RTL checking
11464 2022-01-20 Jakub Jelinek <jakub@redhat.com>
11467 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
11468 block_num > 0, index entry even if !have_multiple_function_sections.
11470 2022-01-20 liuhongt <hongtao.liu@intel.com>
11473 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
11474 integral mode mask pack by multi steps which takes
11475 vec_pack_sbool_trunc_optab as start when elements number is
11476 less than BITS_PER_UNITS.
11478 2022-01-20 Richard Biener <rguenther@suse.de>
11480 PR tree-optimization/104114
11481 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
11482 single element vector decomposition.
11484 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11486 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
11487 (noce_convert_multiple_sets): Call function a second time if we can
11488 improve the first try.
11490 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11492 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
11493 reversed comparison.
11494 (try_emit_cmove_seq): New function to facilitate creating a cmov
11496 (noce_convert_multiple_sets): Create two sequences and use the less
11499 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11501 * rtl.h (struct rtx_comparison): New struct that holds an rtx
11503 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
11505 (rs6000_emit_swsqrt): Likewise.
11506 * expmed.cc (expand_sdiv_pow2): Likewise.
11507 (emit_store_flag): Likewise.
11508 * expr.cc (expand_cond_expr_using_cmove): Likewise.
11509 (expand_expr_real_2): Likewise.
11510 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
11512 * optabs.cc (emit_conditional_move_1): New function.
11513 (expand_doubleword_shift_condmove): Use struct.
11514 (emit_conditional_move): Use struct and allow to call directly
11515 without going through preparation steps.
11516 * optabs.h (emit_conditional_move): Use struct.
11518 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11520 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
11521 (noce_process_if_block): Use potential costs.
11523 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11525 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
11526 (bb_ok_for_noce_convert_multiple_sets): Likewise.
11528 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11530 * ifcvt.cc (need_cmov_or_rewire): New function.
11531 (noce_convert_multiple_sets): Call it.
11533 2022-01-19 David Malcolm <dmalcolm@redhat.com>
11535 * attribs.cc (attribute_c_tests): Rename to...
11536 (attribs_cc_tests): ...this.
11537 * bitmap.cc (bitmap_c_tests): Rename to...
11538 (bitmap_cc_tests): ...this.
11539 * cgraph.cc (cgraph_c_finalize): Rename to...
11540 (cgraph_cc_finalize): ...this.
11541 (cgraph_c_tests): Rename to...
11542 (cgraph_cc_tests): ...this.
11543 * cgraph.h (cgraph_c_finalize): Rename to...
11544 (cgraph_cc_finalize): ...this.
11545 (cgraphunit_c_finalize): Rename to...
11546 (cgraphunit_cc_finalize): ...this.
11547 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
11548 (cgraphunit_cc_finalize): ...this.
11549 * convert.cc (convert_c_tests): Rename to...
11550 (convert_cc_tests): ...this.
11551 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
11552 (dbgcnt_cc_tests): ...this.
11553 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
11554 (diagnostic_show_locus_cc_tests): ...this.
11555 * diagnostic.cc (diagnostic_c_tests): Rename to...
11556 (diagnostic_cc_tests): ...this.
11557 * dumpfile.cc (dumpfile_c_tests): Rename to...
11558 (dumpfile_cc_tests): ...this.
11559 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
11560 (dwarf2out_cc_finalize): ...this.
11561 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
11562 (dwarf2out_cc_finalize): ...this.
11563 * edit-context.cc (edit_context_c_tests): Rename to...
11564 (edit_context_cc_tests): ...this.
11565 * et-forest.cc (et_forest_c_tests): Rename to...
11566 (et_forest_cc_tests): ...this.
11567 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
11568 (fibonacci_heap_cc_tests): ...this.
11569 * fold-const.cc (fold_const_c_tests): Rename to...
11570 (fold_const_cc_tests): ...this.
11571 * function-tests.cc (function_tests_c_tests): Rename to...
11572 (function_tests_cc_tests): ...this.
11573 * gcse.cc (gcse_c_finalize): Rename to...
11574 (gcse_cc_finalize): ...this.
11575 * gcse.h (gcse_c_finalize): Rename to...
11576 (gcse_cc_finalize): ...this.
11577 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
11578 (ggc_tests_cc_tests): ...this.
11579 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
11580 (store_merging_cc_tests): ...this.
11581 * gimple.cc (gimple_c_tests): Rename to...
11582 (gimple_cc_tests): ...this.
11583 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
11584 (hash_map_tests_cc_tests): ...this.
11585 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
11586 (hash_set_tests_cc_tests): ...this.
11587 * input.cc (input_c_tests): Rename to...
11588 (input_cc_tests): ...this.
11589 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
11590 (ipa_cp_cc_finalize): ...this.
11591 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
11592 (ipa_fnsummary_cc_finalize): ...this.
11593 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
11594 (ipa_fnsummary_cc_finalize): ...this.
11595 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
11596 (ipa_modref_tree_cc_tests): ...this.
11597 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
11598 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
11599 (ipa_modref_cc_finalize): ...this.
11600 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
11601 (ipa_modref_cc_finalize): ...this.
11602 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
11603 (ipa_cp_cc_finalize): ...this.
11604 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
11605 (ipa_reference_cc_finalize): ...this.
11606 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
11607 (ipa_reference_cc_finalize): ...this.
11608 * ira-costs.cc (ira_costs_c_finalize): Rename to...
11609 (ira_costs_cc_finalize): ...this.
11610 * ira.h (ira_costs_c_finalize): Rename to...
11611 (ira_costs_cc_finalize): ...this.
11612 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
11613 (opt_suggestions_cc_tests): ...this.
11614 * opts.cc (opts_c_tests): Rename to...
11615 (opts_cc_tests): ...this.
11616 * predict.cc (predict_c_tests): Rename to...
11617 (predict_cc_tests): ...this.
11618 * pretty-print.cc (pretty_print_c_tests): Rename to...
11619 (pretty_print_cc_tests): ...this.
11620 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
11621 (read_rtl_function_cc_tests): ...this.
11622 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
11623 (rtl_tests_cc_tests): ...this.
11624 * sbitmap.cc (sbitmap_c_tests): Rename to...
11625 (sbitmap_cc_tests): ...this.
11626 * selftest-run-tests.cc (selftest::run_tests): Update calls for
11627 _c_ to _cc_ function renamings; fix names of attribs and
11628 opt-suggestions tests.
11629 * selftest.cc (selftest_c_tests): Rename to...
11630 (selftest_cc_tests): ...this.
11631 * selftest.h (attribute_c_tests): Rename to...
11632 (attribs_cc_tests): ...this.
11633 (bitmap_c_tests): Rename to...
11634 (bitmap_cc_tests): ...this.
11635 (cgraph_c_tests): Rename to...
11636 (cgraph_cc_tests): ...this.
11637 (convert_c_tests): Rename to...
11638 (convert_cc_tests): ...this.
11639 (diagnostic_c_tests): Rename to...
11640 (diagnostic_cc_tests): ...this.
11641 (diagnostic_show_locus_c_tests): Rename to...
11642 (diagnostic_show_locus_cc_tests): ...this.
11643 (dumpfile_c_tests): Rename to...
11644 (dumpfile_cc_tests): ...this.
11645 (edit_context_c_tests): Rename to...
11646 (edit_context_cc_tests): ...this.
11647 (et_forest_c_tests): Rename to...
11648 (et_forest_cc_tests): ...this.
11649 (fibonacci_heap_c_tests): Rename to...
11650 (fibonacci_heap_cc_tests): ...this.
11651 (fold_const_c_tests): Rename to...
11652 (fold_const_cc_tests): ...this.
11653 (function_tests_c_tests): Rename to...
11654 (function_tests_cc_tests): ...this.
11655 (ggc_tests_c_tests): Rename to...
11656 (ggc_tests_cc_tests): ...this.
11657 (gimple_c_tests): Rename to...
11658 (gimple_cc_tests): ...this.
11659 (hash_map_tests_c_tests): Rename to...
11660 (hash_map_tests_cc_tests): ...this.
11661 (hash_set_tests_c_tests): Rename to...
11662 (hash_set_tests_cc_tests): ...this.
11663 (input_c_tests): Rename to...
11664 (input_cc_tests): ...this.
11665 (opts_c_tests): Rename to...
11666 (opts_cc_tests): ...this.
11667 (predict_c_tests): Rename to...
11668 (predict_cc_tests): ...this.
11669 (pretty_print_c_tests): Rename to...
11670 (pretty_print_cc_tests): ...this.
11671 (read_rtl_function_c_tests): Rename to...
11672 (read_rtl_function_cc_tests): ...this.
11673 (rtl_tests_c_tests): Rename to...
11674 (rtl_tests_cc_tests): ...this.
11675 (sbitmap_c_tests): Rename to...
11676 (sbitmap_cc_tests): ...this.
11677 (selftest_c_tests): Rename to...
11678 (selftest_cc_tests): ...this.
11679 (simplify_rtx_c_tests): Rename to...
11680 (simplify_rtx_cc_tests): ...this.
11681 (spellcheck_c_tests): Rename to...
11682 (spellcheck_cc_tests): ...this.
11683 (spellcheck_tree_c_tests): Rename to...
11684 (spellcheck_tree_cc_tests): ...this.
11685 (sreal_c_tests): Rename to...
11686 (sreal_cc_tests): ...this.
11687 (store_merging_c_tests): Rename to...
11688 (store_merging_cc_tests): ...this.
11689 (tree_c_tests): Rename to...
11690 (tree_cc_tests): ...this.
11691 (tree_cfg_c_tests): Rename to...
11692 (tree_cfg_cc_tests): ...this.
11693 (typed_splay_tree_c_tests): Rename to...
11694 (typed_splay_tree_cc_tests): ...this.
11695 (vec_c_tests): Rename to...
11696 (vec_cc_tests): ...this.
11697 (vec_perm_indices_c_tests): Rename to...
11698 (vec_perm_indices_cc_tests): ..this.
11699 (opt_proposer_c_tests): Rename to...
11700 (opt_suggestions_cc_tests): ...this.
11701 (dbgcnt_c_tests): Rename to...
11702 (dbgcnt_cc_tests): ...this.
11703 (ipa_modref_tree_c_tests): Rename to...
11704 (ipa_modref_tree_cc_tests): ...this.
11705 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
11706 (simplify_rtx_cc_tests): ...this.
11707 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
11708 (spellcheck_tree_cc_tests): ...this.
11709 * spellcheck.cc (spellcheck_c_tests): Rename to...
11710 (spellcheck_cc_tests): ...this.
11711 * sreal.cc (sreal_c_tests): Rename to...
11712 (sreal_cc_tests): ...this.
11713 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
11714 function renamings.
11715 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
11716 (tree_cfg_cc_tests): ...this.
11717 * tree.cc (tree_c_tests): Rename to...
11718 (tree_cc_tests): ...this.
11719 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
11720 (typed_splay_tree_cc_tests): ...this.
11721 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
11722 (vec_perm_indices_cc_tests): ...this.
11723 * vec.cc (vec_c_tests): Rename to...
11724 (vec_cc_tests): ...this.
11726 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
11728 PR tree-optimization/103997
11729 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
11732 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11734 PR middle-end/102860
11735 * match.pd (x %[fl] y -> x % y): New simplification for
11736 unsigned integral types.
11737 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
11738 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
11740 2022-01-19 Richard Biener <rguenther@suse.de>
11742 PR tree-optimization/104112
11743 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
11744 for required intermediate vector types.
11746 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11748 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
11750 2022-01-19 Martin Liska <mliska@suse.cz>
11752 * configure.ac: Remove -Wno-error=format-diag.
11753 * configure: Regenerate.
11755 2022-01-19 Martin Liska <mliska@suse.cz>
11757 * config/riscv/riscv.cc (riscv_handle_type_attribute):
11758 Update one -Wformat-diag string in warning message.
11760 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11762 PR middle-end/104103
11763 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
11766 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11769 * fold-const.cc (address_compare): Consider different STRING_CSTs
11770 with the same lengths that memcmp the same as equal, not different.
11772 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11774 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
11777 2022-01-19 Martin Liska <mliska@suse.cz>
11778 Thomas Schwinge <thomas@codesourcery.com>
11780 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
11783 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
11786 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
11789 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11792 * config/i386/sse.md
11793 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
11794 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
11795 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
11796 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
11797 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
11798 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
11799 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
11800 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
11801 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
11803 2022-01-19 Martin Sebor <msebor@redhat.com>
11805 PR middle-end/104069
11806 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
11807 an unknown result as documented.
11809 2022-01-18 Andrew Pinski <apinski@marvell.com>
11811 * ipa-split.cc (visit_bb): Fix comment before the
11812 warning/error attribute checking code.
11814 2022-01-18 David Faust <david.faust@oracle.com>
11816 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
11817 for base strtab offset yet as it may change.
11818 (output_asm_btfext_core_reloc): Do so here instead.
11819 (output_btfext_core_sections): Likewise.
11821 2022-01-18 David Faust <david.faust@oracle.com>
11823 * config/bpf/coreout.cc (output_btfext_header): Account for
11824 4-byte record size in core_relo_len.
11825 (output_btfext_core_sections): Only write record size once.
11826 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
11829 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
11831 * common/config/riscv/riscv-common.cc
11832 (riscv_subset_list::parse_multiletter_ext): Move pointer
11833 arithmetic ahead of `free'.
11835 2022-01-18 Jason Merrill <jason@redhat.com>
11838 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
11841 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
11843 PR middle-end/103163
11844 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
11845 (init_emit_once): ...not here.
11847 2022-01-18 Martin Liska <mliska@suse.cz>
11849 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
11850 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
11851 * config/arc/arc.md: Likewise.
11852 * config/avr/avr.cc (avr_section_type_flags): Likewise.
11853 * config/bfin/bfin.cc (bfin_option_override): Likewise.
11854 (bfin_handle_longcall_attribute): Likewise.
11855 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
11856 * config/frv/frv.cc (frv_expand_builtin): Likewise.
11857 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
11858 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
11859 (iq2000_print_operand_address): Likewise.
11860 (iq2000_print_operand): Likewise.
11861 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
11862 (m32c_pragma_address): Likewise.
11863 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
11864 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
11865 (mips_set_compression_mode): Likewise.
11866 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
11867 (mmix_print_operand): Likewise.
11868 (mmix_output_shiftvalue_op_from_str): Likewise.
11869 (mmix_output_shifted_value): Likewise.
11870 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
11871 * config/msp430/msp430.cc (msp430_option_override): Likewise.
11872 (msp430_attr): Likewise.
11873 (msp430_expand_delay_cycles): Likewise.
11874 (msp430_expand_builtin): Likewise.
11875 * config/rs6000/aix73.h: Likewise.
11876 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
11877 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
11878 (valid_psw_flag): Likewise.
11879 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
11880 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
11881 (xstormy16_expand_builtin_va_start): Likewise.
11882 (xstormy16_handle_below100_attribute): Likewise.
11884 2022-01-18 Martin Liska <mliska@suse.cz>
11886 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
11888 (vms_pragma_standard): Likewise.
11889 (vms_pragma_extern_prefix): Likewise.
11891 2022-01-18 Martin Liska <mliska@suse.cz>
11893 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
11894 (print_operand_address): Likewise.
11895 (xtensa_multibss_section_type_flags): Likewise.
11897 2022-01-18 Martin Liska <mliska@suse.cz>
11899 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
11900 wording of an error message.
11902 2022-01-18 Martin Liska <mliska@suse.cz>
11904 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
11906 (ghs_pragma_section): Likewise.
11907 (ghs_pragma_interrupt): Likewise.
11908 (ghs_pragma_starttda): Likewise.
11909 (ghs_pragma_startsda): Likewise.
11910 (ghs_pragma_startzda): Likewise.
11911 (ghs_pragma_endtda): Likewise.
11912 (ghs_pragma_endsda): Likewise.
11913 (ghs_pragma_endzda): Likewise.
11915 2022-01-18 Martin Liska <mliska@suse.cz>
11917 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
11919 * config/nds32/nds32-intrinsic.md: Likewise.
11920 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
11921 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
11922 (nds32_insert_attributes): Likewise.
11924 2022-01-18 Martin Liska <mliska@suse.cz>
11926 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
11928 * config/nvptx/nvptx.md: Remove trailing dot.
11930 2022-01-18 Martin Liska <mliska@suse.cz>
11932 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
11933 Wrap keywords with quotes and remove trailing dots.
11934 (riscv_subset_list::parsing_subset_version): Likewise.
11935 (riscv_subset_list::parse_std_ext): Likewise.
11936 (riscv_subset_list::parse_multiletter_ext): Likewise.
11937 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
11939 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
11941 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
11942 argument suggested_unroll_factor.
11943 (vect_analyze_loop_costing): Likewise.
11944 (_loop_vec_info::_loop_vec_info): Initialize new member
11945 suggested_unroll_factor.
11946 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
11947 main loop use partial vectors.
11948 (vect_analyze_loop_2): Pass and use new argument
11949 suggested_unroll_factor.
11950 (vect_analyze_loop_1): Change to intialize local
11951 suggested_unroll_factor and use it.
11952 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
11953 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
11954 suggested_unroll_factor.
11955 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
11956 (vector_costs::suggested_unroll_factor): New getter function.
11957 (finish_cost): Set return argument suggested_unroll_factor.
11959 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
11961 PR tree-optimization/104038
11962 * doc/invoke.texi (relation-block-limit): New.
11963 * params.opt (relation-block-limit): New.
11964 * value-relation.cc (dom_oracle::register_relation): Check for NULL
11965 record before invoking transitive registery.
11966 (dom_oracle::set_one_relation): Check limit before creating record.
11967 (dom_oracle::register_transitives): Stop when no record created.
11968 * value-relation.h (relation_chain_head::m_num_relations): New.
11970 2022-01-18 Richard Biener <rguenther@suse.de>
11973 * ipa-inline.cc (inline_small_functions): Do not enqueue call
11974 edges originating in functions compiled with -Og.
11976 2022-01-18 Richard Biener <rguenther@suse.de>
11979 * passes.def (pass_all_optimizations_g): Remove pass_modref
11980 and pass_local_pure_const.
11982 2022-01-18 Martin Liska <mliska@suse.cz>
11984 * config/s390/s390.cc: Fix -Wformat-diag warnings.
11986 2022-01-18 Martin Liska <mliska@suse.cz>
11988 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
11990 (s390_resolve_overloaded_builtin): Remove trailing dot.
11991 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
11992 (s390_expand_builtin): Remove trailing dot.
11993 (s390_emit_prologue): Likewise, use semicolon.
11994 (s390_option_override_internal): Update keyword.
11995 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
11997 2022-01-18 Martin Liska <mliska@suse.cz>
11999 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
12000 keywords and use %qs instead of %<%s%>.
12002 2022-01-18 Richard Biener <rguenther@suse.de>
12004 PR tree-optimization/103987
12005 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
12006 query with a pointer check.
12008 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
12011 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
12012 When using MEM_EXPR, require the base to be a decl.
12014 2022-01-18 Richard Biener <rguenther@suse.de>
12016 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
12018 * function.h (struct function): Likewise.
12020 2022-01-18 Arnaud Charlet <charlet@adacore.com>
12022 * doc/install.texi: Update prerequisites for GNAT
12024 2022-01-18 Andrew Pinski <apinski@marvell.com>
12026 PR tree-optimization/101941
12027 * ipa-split.cc (visit_bb): Disallow function calls where
12028 the function has either error or warning attribute.
12030 2022-01-18 Richard Biener <rguenther@suse.de>
12032 PR tree-optimization/104064
12033 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
12034 DR_INIT fits in a signed HWI, represent the difference from the
12035 first DR in unsigned.
12037 2022-01-17 Martin Liska <mliska@suse.cz>
12039 * Makefile.in: Rename .c names to .cc.
12040 * config.gcc: Likewise.
12041 * configure: Regenerate. Likewise.
12042 * configure.ac: Likewise.
12043 * gengtype.cc (set_gc_used): Likewise.
12044 (source_dot_c_frul): Likewise.
12045 (source_dot_cc_frul): Likewise.
12046 (struct file_rule_st): Likewise.
12047 (close_output_files): Likewise.
12048 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
12050 2022-01-17 Martin Liska <mliska@suse.cz>
12052 * Makefile.in: Rename .c names to .cc.
12053 * alias.h: Likewise.
12054 * asan.cc: Likewise.
12055 * auto-profile.h: Likewise.
12056 * basic-block.h (struct basic_block_d): Likewise.
12057 * btfout.cc: Likewise.
12058 * builtins.cc (expand_builtin_longjmp): Likewise.
12059 (validate_arg): Likewise.
12060 (access_ref::offset_bounded): Likewise.
12061 * caller-save.cc (reg_restore_code): Likewise.
12062 (setup_save_areas): Likewise.
12063 * calls.cc (initialize_argument_information): Likewise.
12064 (expand_call): Likewise.
12065 (emit_library_call_value_1): Likewise.
12066 * cfg-flags.def (RTL): Likewise.
12067 (SIBCALL): Likewise.
12068 (CAN_FALLTHRU): Likewise.
12069 * cfganal.cc (post_order_compute): Likewise.
12070 * cfgcleanup.cc (try_simplify_condjump): Likewise.
12071 (merge_blocks_move_predecessor_nojumps): Likewise.
12072 (merge_blocks_move_successor_nojumps): Likewise.
12073 (merge_blocks_move): Likewise.
12074 (old_insns_match_p): Likewise.
12075 (try_crossjump_bb): Likewise.
12076 * cfgexpand.cc (expand_gimple_stmt): Likewise.
12077 * cfghooks.cc (split_block_before_cond_jump): Likewise.
12078 (profile_record_check_consistency): Likewise.
12079 * cfghooks.h: Likewise.
12080 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
12081 (rtl_can_merge_blocks): Likewise.
12082 (try_redirect_by_replacing_jump): Likewise.
12083 (make_pass_outof_cfg_layout_mode): Likewise.
12084 (cfg_layout_can_merge_blocks_p): Likewise.
12085 * cgraph.cc (release_function_body): Likewise.
12086 (cgraph_node::get_fun): Likewise.
12087 * cgraph.h (struct cgraph_node): Likewise.
12088 (asmname_hasher::equal): Likewise.
12089 (cgraph_inline_failed_type): Likewise.
12090 (thunk_adjust): Likewise.
12091 (dump_callgraph_transformation): Likewise.
12092 (record_references_in_initializer): Likewise.
12093 (ipa_discover_variable_flags): Likewise.
12094 * cgraphclones.cc (GTY): Likewise.
12095 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
12096 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
12097 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
12098 * collect2.cc (maybe_run_lto_and_relink): Likewise.
12099 * combine-stack-adj.cc: Likewise.
12100 * combine.cc (setup_incoming_promotions): Likewise.
12101 (combine_simplify_rtx): Likewise.
12102 (count_rtxs): Likewise.
12103 * common.opt: Likewise.
12104 * common/config/aarch64/aarch64-common.cc: Likewise.
12105 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
12106 * common/config/avr/avr-common.cc: Likewise.
12107 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
12108 * conditions.h: Likewise.
12109 * config.gcc: Likewise.
12110 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
12111 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
12112 (aarch64_get_extension_string_for_isa_flags): Likewise.
12113 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
12114 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
12115 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
12116 (aarch64_option_valid_attribute_p): Likewise.
12117 (aarch64_short_vector_p): Likewise.
12118 (aarch64_float_const_representable_p): Likewise.
12119 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
12120 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
12122 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
12123 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
12124 * config/aarch64/t-aarch64: Likewise.
12125 * config/aarch64/x-aarch64: Likewise.
12126 * config/aarch64/x-darwin: Likewise.
12127 * config/alpha/alpha-protos.h: Likewise.
12128 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
12129 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
12130 (enum reg_class): Likewise.
12131 * config/alpha/alpha.md: Likewise.
12132 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
12133 * config/alpha/x-alpha: Likewise.
12134 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
12135 * config/arc/arc.cc (ARC_OPT): Likewise.
12136 (arc_ccfsm_advance): Likewise.
12137 (arc_arg_partial_bytes): Likewise.
12138 (conditionalize_nonjump): Likewise.
12139 * config/arc/arc.md: Likewise.
12140 * config/arc/builtins.def: Likewise.
12141 * config/arc/t-arc: Likewise.
12142 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
12143 (arm_pragma_target_parse): Likewise.
12144 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
12145 (arm_cpu_cpp_builtins): Likewise.
12146 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
12147 (shift_op): Likewise.
12148 (thumb2_final_prescan_insn): Likewise.
12149 (arm_final_prescan_insn): Likewise.
12150 (arm_asm_output_labelref): Likewise.
12151 (arm_small_register_classes_for_mode_p): Likewise.
12152 * config/arm/arm.h: Likewise.
12153 * config/arm/arm.md: Likewise.
12154 * config/arm/driver-arm.cc: Likewise.
12155 * config/arm/symbian.h: Likewise.
12156 * config/arm/t-arm: Likewise.
12157 * config/arm/thumb1.md: Likewise.
12158 * config/arm/x-arm: Likewise.
12159 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
12160 * config/avr/avr-fixed.md: Likewise.
12161 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
12162 * config/avr/avr-mcus.def: Likewise.
12163 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
12164 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
12165 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
12166 * config/avr/avr.cc (avr_option_override): Likewise.
12167 (avr_build_builtin_va_list): Likewise.
12168 (avr_mode_dependent_address_p): Likewise.
12169 (avr_function_arg_advance): Likewise.
12170 (avr_asm_output_aligned_decl_common): Likewise.
12171 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
12172 (SUPPORTS_INIT_PRIORITY): Likewise.
12173 * config/avr/avr.md: Likewise.
12174 * config/avr/builtins.def: Likewise.
12175 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
12176 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
12178 * config/avr/t-avr: Likewise.
12179 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
12180 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
12181 * config/bpf/bpf.h (enum reg_class): Likewise.
12182 * config/bpf/t-bpf: Likewise.
12183 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
12184 * config/cr16/cr16-protos.h: Likewise.
12185 * config/cris/cris.cc (cris_address_cost): Likewise.
12186 (cris_side_effect_mode_ok): Likewise.
12187 (cris_init_machine_status): Likewise.
12188 (cris_emit_movem_store): Likewise.
12189 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
12190 (enum reg_class): Likewise.
12191 (struct cum_args): Likewise.
12192 * config/cris/cris.opt: Likewise.
12193 * config/cris/sync.md: Likewise.
12194 * config/csky/csky.cc (csky_expand_prologue): Likewise.
12195 * config/darwin-c.cc: Likewise.
12196 * config/darwin-f.cc: Likewise.
12197 * config/darwin-sections.def (zobj_const_section): Likewise.
12198 * config/darwin.cc (output_objc_section_asm_op): Likewise.
12199 (fprintf): Likewise.
12200 * config/darwin.h (GTY): Likewise.
12201 * config/elfos.h: Likewise.
12202 * config/epiphany/epiphany-sched.md: Likewise.
12203 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
12204 * config/epiphany/epiphany.h (GTY): Likewise.
12205 (NO_FUNCTION_CSE): Likewise.
12206 * config/epiphany/mode-switch-use.cc: Likewise.
12207 * config/epiphany/predicates.md: Likewise.
12208 * config/epiphany/t-epiphany: Likewise.
12209 * config/fr30/fr30-protos.h: Likewise.
12210 * config/frv/frv-protos.h: Likewise.
12211 * config/frv/frv.cc (TLS_BIAS): Likewise.
12212 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
12213 * config/ft32/ft32-protos.h: Likewise.
12214 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
12215 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
12216 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
12217 * config/gcn/t-gcn-hsa: Likewise.
12218 * config/gcn/t-omp-device: Likewise.
12219 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
12220 (same_cmp_following_p): Likewise.
12221 * config/h8300/h8300.cc (F): Likewise.
12222 * config/h8300/h8300.h (struct cum_arg): Likewise.
12223 (BRANCH_COST): Likewise.
12224 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
12225 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
12226 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
12227 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
12228 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
12229 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
12230 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
12231 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
12232 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
12233 (ix86_register_pragmas): Likewise.
12234 (ix86_d_has_stdcall_convention): Likewise.
12235 (i386_pe_seh_init_sections): Likewise.
12236 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
12237 (ix86_function_value_regno_p): Likewise.
12238 (ix86_compute_frame_layout): Likewise.
12239 (legitimize_pe_coff_symbol): Likewise.
12240 (output_pic_addr_const): Likewise.
12241 * config/i386/i386.h (defined): Likewise.
12242 (host_detect_local_cpu): Likewise.
12243 (CONSTANT_ADDRESS_P): Likewise.
12244 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
12245 (struct machine_frame_state): Likewise.
12246 * config/i386/i386.md: Likewise.
12247 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
12248 * config/i386/mmx.md: Likewise.
12249 * config/i386/sse.md: Likewise.
12250 * config/i386/t-cygming: Likewise.
12251 * config/i386/t-djgpp: Likewise.
12252 * config/i386/t-gnu-property: Likewise.
12253 * config/i386/t-i386: Likewise.
12254 * config/i386/t-intelmic: Likewise.
12255 * config/i386/t-omp-device: Likewise.
12256 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
12257 (i386_pe_adjust_class_at_definition): Likewise.
12258 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
12259 (i386_pe_mangle_decl_assembler_name): Likewise.
12260 (i386_pe_encode_section_info): Likewise.
12261 * config/i386/x-cygwin: Likewise.
12262 * config/i386/x-darwin: Likewise.
12263 * config/i386/x-i386: Likewise.
12264 * config/i386/x-mingw32: Likewise.
12265 * config/i386/x86-tune-sched-core.cc: Likewise.
12266 * config/i386/x86-tune.def: Likewise.
12267 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
12268 * config/ia64/freebsd.h: Likewise.
12269 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
12270 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
12271 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
12272 (ia64_secondary_reload_class): Likewise.
12273 (bundling): Likewise.
12274 * config/ia64/ia64.h: Likewise.
12275 * config/ia64/ia64.md: Likewise.
12276 * config/ia64/predicates.md: Likewise.
12277 * config/ia64/sysv4.h: Likewise.
12278 * config/ia64/t-ia64: Likewise.
12279 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
12280 * config/iq2000/iq2000.md: Likewise.
12281 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
12283 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
12284 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
12285 * config/m32c/t-m32c: Likewise.
12286 * config/m32r/m32r-protos.h: Likewise.
12287 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
12288 * config/m32r/m32r.h: Likewise.
12289 * config/m32r/m32r.md: Likewise.
12290 * config/m68k/m68k-isas.def: Likewise.
12291 * config/m68k/m68k-microarchs.def: Likewise.
12292 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
12293 (m68k_epilogue_uses): Likewise.
12294 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
12295 (m68k_sched_adjust_cost): Likewise.
12296 (m68k_sched_md_init): Likewise.
12297 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
12298 (enum m68k_function_kind): Likewise.
12299 * config/m68k/m68k.md: Likewise.
12300 * config/m68k/m68kemb.h: Likewise.
12301 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
12302 * config/mcore/mcore-protos.h: Likewise.
12303 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
12304 (mcore_expand_prolog): Likewise.
12305 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
12306 * config/mcore/mcore.md: Likewise.
12307 * config/microblaze/microblaze-protos.h: Likewise.
12308 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
12309 (microblaze_function_prologue): Likewise.
12310 (microblaze_function_epilogue): Likewise.
12311 (microblaze_select_section): Likewise.
12312 (microblaze_asm_output_mi_thunk): Likewise.
12313 (microblaze_eh_return): Likewise.
12314 * config/microblaze/microblaze.h: Likewise.
12315 * config/microblaze/microblaze.md: Likewise.
12316 * config/microblaze/t-microblaze: Likewise.
12317 * config/mips/driver-native.cc: Likewise.
12318 * config/mips/loongson2ef.md: Likewise.
12319 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
12320 * config/mips/mips.cc (mips_rtx_costs): Likewise.
12321 (mips_output_filename): Likewise.
12322 (mips_output_function_prologue): Likewise.
12323 (mips_output_function_epilogue): Likewise.
12324 (mips_output_mi_thunk): Likewise.
12325 * config/mips/mips.h: Likewise.
12326 * config/mips/mips.md: Likewise.
12327 * config/mips/t-mips: Likewise.
12328 * config/mips/x-native: Likewise.
12329 * config/mmix/mmix-protos.h: Likewise.
12330 * config/mmix/mmix.cc (mmix_option_override): Likewise.
12331 (mmix_dbx_register_number): Likewise.
12332 (mmix_expand_prologue): Likewise.
12333 * config/mmix/mmix.h: Likewise.
12334 * config/mmix/mmix.md: Likewise.
12335 * config/mmix/predicates.md: Likewise.
12336 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
12337 (mn10300_legitimate_pic_operand_p): Likewise.
12338 * config/mn10300/mn10300.h (enum reg_class): Likewise.
12339 (NO_FUNCTION_CSE): Likewise.
12340 * config/moxie/moxie-protos.h: Likewise.
12341 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
12342 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
12343 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
12344 (msp430_incoming_return_addr_rtx): Likewise.
12345 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
12346 * config/msp430/t-msp430: Likewise.
12347 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
12348 (nds32_rtx_costs_size_prefer): Likewise.
12349 (nds32_init_rtx_costs): Likewise.
12350 * config/nds32/nds32-doubleword.md: Likewise.
12351 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
12352 (nds32_builtin_decl): Likewise.
12353 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
12354 (enum nds32_isr_nested_type): Likewise.
12355 (enum reg_class): Likewise.
12356 * config/nds32/predicates.md: Likewise.
12357 * config/nds32/t-nds32: Likewise.
12358 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
12359 * config/nvptx/nvptx-protos.h: Likewise.
12360 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
12361 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
12362 * config/nvptx/t-nvptx: Likewise.
12363 * config/nvptx/t-omp-device: Likewise.
12364 * config/pa/elf.h: Likewise.
12365 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
12366 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
12367 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
12368 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
12369 (pa_legitimize_reload_address): Likewise.
12370 (pa_can_use_return_insn): Likewise.
12371 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
12372 (som_output_text_section_asm_op): Likewise.
12373 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
12374 * config/pa/pa.md: Likewise.
12375 * config/pa/som.h: Likewise.
12376 * config/pa/t-pa: Likewise.
12377 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
12378 * config/pdp11/pdp11.h: Likewise.
12379 * config/pdp11/pdp11.md: Likewise.
12380 * config/pdp11/t-pdp11: Likewise.
12381 * config/pru/pru.md: Likewise.
12382 * config/pru/t-pru: Likewise.
12383 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
12384 (riscv_gpr_save_operation_p): Likewise.
12385 (riscv_d_register_target_info): Likewise.
12386 (riscv_init_builtins): Likewise.
12387 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
12388 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
12389 * config/riscv/t-riscv: Likewise.
12390 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
12391 * config/rl78/t-rl78: Likewise.
12392 * config/rs6000/aix.h: Likewise.
12393 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
12394 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
12395 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
12396 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
12397 * config/rs6000/driver-rs6000.cc: Likewise.
12398 * config/rs6000/freebsd.h: Likewise.
12399 * config/rs6000/freebsd64.h: Likewise.
12400 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
12401 * config/rs6000/rbtree.cc: Likewise.
12402 * config/rs6000/rbtree.h: Likewise.
12403 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
12404 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
12405 (rs6000_expand_builtin): Likewise.
12406 (rs6000_init_builtins): Likewise.
12407 * config/rs6000/rs6000-cpus.def: Likewise.
12408 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
12409 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
12410 (quad_address_offset_p): Likewise.
12411 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
12412 (rs6000_emit_epilogue): Likewise.
12413 * config/rs6000/rs6000-overload.def: Likewise.
12414 * config/rs6000/rs6000-p8swap.cc: Likewise.
12415 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
12416 (rs6000_const_f32_to_i32): Likewise.
12417 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
12418 (rs6000_debug_legitimize_address): Likewise.
12419 (rs6000_mode_dependent_address): Likewise.
12420 (rs6000_adjust_priority): Likewise.
12421 (rs6000_c_mode_for_suffix): Likewise.
12422 * config/rs6000/rs6000.h (defined): Likewise.
12423 (LONG_DOUBLE_TYPE_SIZE): Likewise.
12424 * config/rs6000/rs6000.md: Likewise.
12425 * config/rs6000/sysv4.h: Likewise.
12426 * config/rs6000/t-linux: Likewise.
12427 * config/rs6000/t-linux64: Likewise.
12428 * config/rs6000/t-rs6000: Likewise.
12429 * config/rs6000/x-darwin: Likewise.
12430 * config/rs6000/x-darwin64: Likewise.
12431 * config/rs6000/x-rs6000: Likewise.
12432 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
12433 * config/rx/rx.cc (rx_expand_builtin): Likewise.
12434 * config/s390/constraints.md: Likewise.
12435 * config/s390/driver-native.cc: Likewise.
12436 * config/s390/htmxlintrin.h: Likewise.
12437 * config/s390/s390-builtins.def (B_DEF): Likewise.
12438 (OB_DEF_VAR): Likewise.
12439 * config/s390/s390-builtins.h: Likewise.
12440 * config/s390/s390-c.cc: Likewise.
12441 * config/s390/s390-opts.h: Likewise.
12442 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
12443 (s390_register_target_pragmas): Likewise.
12444 * config/s390/s390.cc (s390_init_builtins): Likewise.
12445 (s390_expand_plus_operand): Likewise.
12446 (s390_expand_atomic): Likewise.
12447 (s390_valid_target_attribute_inner_p): Likewise.
12448 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
12449 * config/s390/s390.md: Likewise.
12450 * config/s390/t-s390: Likewise.
12451 * config/s390/vx-builtins.md: Likewise.
12452 * config/s390/x-native: Likewise.
12453 * config/sh/divtab-sh4-300.cc (main): Likewise.
12454 * config/sh/divtab-sh4.cc (main): Likewise.
12455 * config/sh/divtab.cc (main): Likewise.
12456 * config/sh/elf.h: Likewise.
12457 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
12458 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
12459 (sh_struct_value_rtx): Likewise.
12460 (sh_remove_reg_dead_or_unused_notes): Likewise.
12461 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
12462 * config/sh/t-sh: Likewise.
12463 * config/sol2-protos.h (solaris_override_options): Likewise.
12464 * config/sol2.h: Likewise.
12465 * config/sparc/driver-sparc.cc: Likewise.
12466 * config/sparc/freebsd.h: Likewise.
12467 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
12468 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
12469 (sparc_asan_shadow_offset): Likewise.
12470 * config/sparc/sparc.h: Likewise.
12471 * config/sparc/sparc.md: Likewise.
12472 * config/sparc/t-sparc: Likewise.
12473 * config/sparc/x-sparc: Likewise.
12474 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
12475 * config/t-darwin: Likewise.
12476 * config/t-dragonfly: Likewise.
12477 * config/t-freebsd: Likewise.
12478 * config/t-glibc: Likewise.
12479 * config/t-linux: Likewise.
12480 * config/t-netbsd: Likewise.
12481 * config/t-openbsd: Likewise.
12482 * config/t-pnt16-warn: Likewise.
12483 * config/t-sol2: Likewise.
12484 * config/t-vxworks: Likewise.
12485 * config/t-winnt: Likewise.
12486 * config/tilegx/t-tilegx: Likewise.
12487 * config/tilegx/tilegx-c.cc: Likewise.
12488 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
12489 * config/tilegx/tilegx.md: Likewise.
12490 * config/tilepro/t-tilepro: Likewise.
12491 * config/tilepro/tilepro-c.cc: Likewise.
12492 * config/v850/t-v850: Likewise.
12493 * config/v850/v850-protos.h: Likewise.
12494 * config/v850/v850.cc (F): Likewise.
12495 * config/v850/v850.h (enum reg_class): Likewise.
12496 (SLOW_BYTE_ACCESS): Likewise.
12497 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
12498 * config/vax/vax.h (enum reg_class): Likewise.
12499 * config/vax/vax.md: Likewise.
12500 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
12501 * config/visium/visium.h: Likewise.
12502 * config/vms/t-vms: Likewise.
12503 * config/vms/vms-crtlmap.map: Likewise.
12504 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
12505 * config/vx-common.h: Likewise.
12506 * config/x-darwin: Likewise.
12507 * config/x-hpux: Likewise.
12508 * config/x-linux: Likewise.
12509 * config/x-netbsd: Likewise.
12510 * config/x-openbsd: Likewise.
12511 * config/x-solaris: Likewise.
12512 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
12513 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
12514 * config/xtensa/xtensa.h: Likewise.
12515 * configure.ac: Likewise.
12516 * context.cc: Likewise.
12517 * convert.h: Likewise.
12518 * coretypes.h: Likewise.
12519 * coverage.cc: Likewise.
12520 * coverage.h: Likewise.
12521 * cppdefault.h (struct default_include): Likewise.
12522 * cprop.cc (local_cprop_pass): Likewise.
12523 (one_cprop_pass): Likewise.
12524 * cse.cc (hash_rtx_cb): Likewise.
12525 (fold_rtx): Likewise.
12526 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
12527 * data-streamer.h (bp_unpack_var_len_int): Likewise.
12528 (streamer_write_widest_int): Likewise.
12529 * dbgcnt.def: Likewise.
12530 * dbxout.cc (dbxout_early_global_decl): Likewise.
12531 (dbxout_common_check): Likewise.
12532 * dbxout.h: Likewise.
12533 * debug.h (struct gcc_debug_hooks): Likewise.
12534 (dump_go_spec_init): Likewise.
12535 * df-core.cc: Likewise.
12536 * df-scan.cc (df_insn_info_delete): Likewise.
12537 (df_insn_delete): Likewise.
12538 * df.h (debug_df_chain): Likewise.
12539 (can_move_insns_across): Likewise.
12540 * dfp.cc (decimal_from_binary): Likewise.
12541 * diagnostic-color.cc: Likewise.
12542 * diagnostic-event-id.h: Likewise.
12543 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
12544 * diagnostic.cc (bt_callback): Likewise.
12545 (num_digits): Likewise.
12546 * doc/avr-mmcu.texi: Likewise.
12547 * doc/cfg.texi: Likewise.
12548 * doc/contrib.texi: Likewise.
12549 * doc/cppinternals.texi: Likewise.
12550 * doc/extend.texi: Likewise.
12551 * doc/generic.texi: Likewise.
12552 * doc/gimple.texi: Likewise.
12553 * doc/gty.texi: Likewise.
12554 * doc/invoke.texi: Likewise.
12555 * doc/loop.texi: Likewise.
12556 * doc/lto.texi: Likewise.
12557 * doc/match-and-simplify.texi: Likewise.
12558 * doc/md.texi: Likewise.
12559 * doc/optinfo.texi: Likewise.
12560 * doc/options.texi: Likewise.
12561 * doc/passes.texi: Likewise.
12562 * doc/plugins.texi: Likewise.
12563 * doc/rtl.texi: Likewise.
12564 * doc/sourcebuild.texi: Likewise.
12565 * doc/tm.texi: Likewise.
12566 * doc/tm.texi.in: Likewise.
12567 * doc/tree-ssa.texi: Likewise.
12568 * dojump.cc (do_jump): Likewise.
12569 * dojump.h: Likewise.
12570 * dumpfile.cc (test_impl_location): Likewise.
12571 (test_capture_of_dump_calls): Likewise.
12572 * dumpfile.h (enum dump_kind): Likewise.
12573 (class dump_location_t): Likewise.
12574 (dump_enabled_p): Likewise.
12575 (enable_rtl_dump_file): Likewise.
12576 (dump_combine_total_stats): Likewise.
12577 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
12578 * dwarf2ctf.h (ctf_debug_finish): Likewise.
12579 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
12580 (struct loc_descr_context): Likewise.
12581 (rtl_for_decl_location): Likewise.
12582 (gen_subprogram_die): Likewise.
12583 (gen_label_die): Likewise.
12584 (is_trivial_indirect_ref): Likewise.
12585 (dwarf2out_late_global_decl): Likewise.
12586 (dwarf_file_hasher::hash): Likewise.
12587 (dwarf2out_end_source_file): Likewise.
12588 (dwarf2out_define): Likewise.
12589 (dwarf2out_early_finish): Likewise.
12590 * dwarf2out.h (struct dw_fde_node): Likewise.
12591 (struct dw_discr_list_node): Likewise.
12592 (output_loc_sequence_raw): Likewise.
12593 * emit-rtl.cc (gen_raw_REG): Likewise.
12594 (maybe_set_max_label_num): Likewise.
12595 * emit-rtl.h (struct rtl_data): Likewise.
12596 * errors.cc (internal_error): Likewise.
12597 (trim_filename): Likewise.
12598 * et-forest.cc: Likewise.
12599 * except.cc (init_eh_for_function): Likewise.
12600 * explow.cc (promote_ssa_mode): Likewise.
12601 (get_dynamic_stack_size): Likewise.
12602 * explow.h: Likewise.
12603 * expmed.h: Likewise.
12604 * expr.cc (safe_from_p): Likewise.
12605 (expand_expr_real_2): Likewise.
12606 (expand_expr_real_1): Likewise.
12607 * file-prefix-map.cc (remap_filename): Likewise.
12608 * final.cc (app_enable): Likewise.
12609 (make_pass_compute_alignments): Likewise.
12610 (final_scan_insn_1): Likewise.
12611 (final_scan_insn): Likewise.
12612 * fixed-value.h (fixed_from_string): Likewise.
12613 * flag-types.h (NO_DEBUG): Likewise.
12614 (DWARF2_DEBUG): Likewise.
12615 (VMS_DEBUG): Likewise.
12616 (BTF_DEBUG): Likewise.
12617 (enum ctf_debug_info_levels): Likewise.
12618 * fold-const.cc (const_binop): Likewise.
12619 (fold_binary_loc): Likewise.
12620 (fold_checksum_tree): Likewise.
12621 * fp-test.cc: Likewise.
12622 * function.cc (expand_function_end): Likewise.
12623 * function.h (struct function): Likewise.
12624 * fwprop.cc (should_replace_address): Likewise.
12625 * gcc-main.cc: Likewise.
12626 * gcc-rich-location.h (class gcc_rich_location): Likewise.
12627 * gcc-symtab.h: Likewise.
12628 * gcc.cc (MIN_FATAL_STATUS): Likewise.
12629 (driver_handle_option): Likewise.
12630 (quote_spec_arg): Likewise.
12631 (driver::finalize): Likewise.
12632 * gcc.h (set_input): Likewise.
12633 * gcov-dump.cc: Likewise.
12634 * gcov.cc (solve_flow_graph): Likewise.
12635 * gcse-common.cc: Likewise.
12636 * gcse.cc (make_pass_rtl_hoist): Likewise.
12637 * genattr-common.cc: Likewise.
12638 * genattrtab.cc (min_fn): Likewise.
12639 (write_const_num_delay_slots): Likewise.
12640 * genautomata.cc: Likewise.
12641 * genconditions.cc (write_one_condition): Likewise.
12642 * genconstants.cc: Likewise.
12643 * genemit.cc (gen_exp): Likewise.
12644 * generic-match-head.cc: Likewise.
12645 * genextract.cc: Likewise.
12646 * gengenrtl.cc (always_void_p): Likewise.
12647 * gengtype-parse.cc (gtymarker_opt): Likewise.
12648 * gengtype-state.cc (state_writer::state_writer): Likewise.
12649 (write_state_trailer): Likewise.
12650 (equals_type_number): Likewise.
12651 (read_state): Likewise.
12652 * gengtype.cc (open_base_files): Likewise.
12653 (struct file_rule_st): Likewise.
12654 (header_dot_h_frul): Likewise.
12655 * gengtype.h: Likewise.
12656 * genmatch.cc (main): Likewise.
12657 * genmddeps.cc: Likewise.
12658 * genmodes.cc (emit_mode_inner): Likewise.
12659 (emit_mode_unit_size): Likewise.
12660 * genpeep.cc (gen_peephole): Likewise.
12661 * genpreds.cc (write_tm_preds_h): Likewise.
12662 * genrecog.cc (validate_pattern): Likewise.
12663 (write_header): Likewise.
12665 * gensupport.cc (change_subst_attribute): Likewise.
12666 (traverse_c_tests): Likewise.
12667 (add_predicate): Likewise.
12668 (init_predicate_table): Likewise.
12669 * gensupport.h (struct optab_pattern): Likewise.
12670 (get_num_insn_codes): Likewise.
12671 (maybe_eval_c_test): Likewise.
12672 (struct pred_data): Likewise.
12673 * ggc-internal.h: Likewise.
12674 * gimple-fold.cc (maybe_fold_reference): Likewise.
12675 (get_range_strlen_tree): Likewise.
12676 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
12677 * gimple-low.cc: Likewise.
12678 * gimple-match-head.cc (directly_supported_p): Likewise.
12679 * gimple-pretty-print.h: Likewise.
12680 * gimple-ssa-sprintf.cc (format_percent): Likewise.
12681 (adjust_range_for_overflow): Likewise.
12682 * gimple-streamer.h: Likewise.
12683 * gimple.h (struct GTY): Likewise.
12684 (is_gimple_resx): Likewise.
12685 * gimplify.cc (gimplify_expr): Likewise.
12686 (gimplify_init_constructor): Likewise.
12687 (omp_construct_selector_matches): Likewise.
12688 (gimplify_omp_target_update): Likewise.
12689 (gimplify_omp_ordered): Likewise.
12690 (gimplify_va_arg_expr): Likewise.
12691 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
12692 * haifa-sched.cc (increase_insn_priority): Likewise.
12693 (try_ready): Likewise.
12694 (sched_create_recovery_edges): Likewise.
12695 * ifcvt.cc (find_if_case_1): Likewise.
12696 (find_if_case_2): Likewise.
12697 * inchash.h: Likewise.
12698 * incpath.cc (add_env_var_paths): Likewise.
12699 * input.cc (dump_location_info): Likewise.
12700 (assert_loceq): Likewise.
12701 (test_lexer_string_locations_concatenation_1): Likewise.
12702 (test_lexer_string_locations_concatenation_2): Likewise.
12703 (test_lexer_string_locations_concatenation_3): Likewise.
12704 * input.h (BUILTINS_LOCATION): Likewise.
12705 (class string_concat_db): Likewise.
12706 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
12707 (expand_LOOP_VECTORIZED): Likewise.
12708 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
12709 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
12710 (ipa_fn_summary_t::duplicate): Likewise.
12711 (make_pass_ipa_fn_summary): Likewise.
12712 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
12713 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
12714 (free_lang_data_in_decl): Likewise.
12715 * ipa-inline.cc (compute_inlined_call_time): Likewise.
12716 (inline_always_inline_functions): Likewise.
12717 * ipa-inline.h (free_growth_caches): Likewise.
12718 (inline_account_function_p): Likewise.
12719 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
12720 (modref_eaf_analysis::analyze_ssa_name): Likewise.
12721 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
12722 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
12723 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
12724 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
12725 (unadjusted_ptr_and_unit_offset): Likewise.
12726 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
12727 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
12728 * ipa-split.cc (consider_split): Likewise.
12729 * ipa-sra.cc (isra_read_node_info): Likewise.
12730 * ipa-utils.h (struct ipa_dfs_info): Likewise.
12731 (recursive_call_p): Likewise.
12732 (ipa_make_function_pure): Likewise.
12733 * ira-build.cc (ira_create_allocno): Likewise.
12734 (ira_flattening): Likewise.
12735 * ira-color.cc (do_coloring): Likewise.
12736 (update_curr_costs): Likewise.
12737 * ira-conflicts.cc (process_regs_for_copy): Likewise.
12738 * ira-int.h (struct ira_emit_data): Likewise.
12739 (ira_prohibited_mode_move_regs): Likewise.
12740 (ira_get_dup_out_num): Likewise.
12741 (ira_destroy): Likewise.
12742 (ira_tune_allocno_costs): Likewise.
12743 (ira_implicitly_set_insn_hard_regs): Likewise.
12744 (ira_build_conflicts): Likewise.
12745 (ira_color): Likewise.
12746 * ira-lives.cc (process_bb_node_lives): Likewise.
12747 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
12748 (setup_uniform_class_p): Likewise.
12749 (def_dominates_uses): Likewise.
12750 * ira.h (ira_nullify_asm_goto): Likewise.
12751 * langhooks.cc (lhd_post_options): Likewise.
12752 * langhooks.h (class substring_loc): Likewise.
12753 (struct lang_hooks_for_tree_inlining): Likewise.
12754 (struct lang_hooks_for_types): Likewise.
12755 (struct lang_hooks): Likewise.
12756 * libfuncs.h (synchronize_libfunc): Likewise.
12757 * loop-doloop.cc (doloop_condition_get): Likewise.
12758 * loop-init.cc (fix_loop_structure): Likewise.
12759 * loop-invariant.cc: Likewise.
12760 * lower-subreg.h: Likewise.
12761 * lra-constraints.cc (curr_insn_transform): Likewise.
12762 * lra-int.h (struct lra_insn_reg): Likewise.
12763 (lra_undo_inheritance): Likewise.
12764 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
12765 (lra_split_hard_reg_for): Likewise.
12766 (lra_coalesce): Likewise.
12767 (lra_final_code_change): Likewise.
12768 * lra-spills.cc (lra_final_code_change): Likewise.
12769 * lra.cc (lra_process_new_insns): Likewise.
12770 * lto-compress.h (struct lto_compression_stream): Likewise.
12771 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
12772 (write_symbol): Likewise.
12773 * lto-streamer.h (enum LTO_tags): Likewise.
12774 (lto_value_range_error): Likewise.
12775 (lto_append_block): Likewise.
12776 (lto_streamer_hooks_init): Likewise.
12777 (stream_read_tree_ref): Likewise.
12778 (lto_prepare_function_for_streaming): Likewise.
12779 (select_what_to_stream): Likewise.
12780 (omp_lto_input_declare_variant_alt): Likewise.
12781 (cl_optimization_stream_in): Likewise.
12782 * lto-wrapper.cc (append_compiler_options): Likewise.
12783 * machmode.def: Likewise.
12784 * machmode.h (struct int_n_data_t): Likewise.
12785 * main.cc (main): Likewise.
12786 * match.pd: Likewise.
12787 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
12788 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
12789 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
12790 (make_pass_expand_omp_ssa): Likewise.
12791 * omp-low.cc (struct omp_context): Likewise.
12792 (struct omp_taskcopy_context): Likewise.
12793 (lower_omp): Likewise.
12794 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
12795 (mask_name): Likewise.
12796 (omp_sese_dump_pars): Likewise.
12797 (worker_single_simple): Likewise.
12798 * omp-offload.cc (omp_finish_file): Likewise.
12799 (execute_oacc_loop_designation): Likewise.
12800 * optabs-query.cc (lshift_cheap_p): Likewise.
12801 * optc-gen.awk: Likewise.
12802 * optc-save-gen.awk: Likewise.
12803 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
12804 * opts-common.cc: Likewise.
12805 * output.h (app_enable): Likewise.
12806 (output_operand_lossage): Likewise.
12807 (insn_current_reference_address): Likewise.
12808 (get_insn_template): Likewise.
12809 (output_quoted_string): Likewise.
12810 * pass_manager.h (struct register_pass_info): Likewise.
12811 * plugin.cc: Likewise.
12812 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
12813 * plugin.h (invoke_plugin_callbacks): Likewise.
12814 * pointer-query.cc (handle_mem_ref): Likewise.
12815 * postreload-gcse.cc (alloc_mem): Likewise.
12816 * predict.h (enum prediction): Likewise.
12817 (add_reg_br_prob_note): Likewise.
12818 * prefix.h: Likewise.
12819 * profile.h (get_working_sets): Likewise.
12820 * read-md.cc: Likewise.
12821 * read-md.h (struct mapping): Likewise.
12822 (class md_reader): Likewise.
12823 (class noop_reader): Likewise.
12824 * read-rtl-function.cc (function_reader::create_function): Likewise.
12825 (function_reader::extra_parsing_for_operand_code_0): Likewise.
12826 * read-rtl.cc (initialize_iterators): Likewise.
12827 * real.cc: Likewise.
12828 * real.h (struct real_value): Likewise.
12829 (format_helper::format_helper): Likewise.
12830 (real_hash): Likewise.
12831 (real_can_shorten_arithmetic): Likewise.
12832 * recog.cc (struct target_recog): Likewise.
12833 (offsettable_nonstrict_memref_p): Likewise.
12834 (constrain_operands): Likewise.
12835 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
12836 (which_op_alt): Likewise.
12837 (struct insn_gen_fn): Likewise.
12838 * reg-notes.def (REG_NOTE): Likewise.
12839 * reg-stack.cc: Likewise.
12840 * regs.h (reg_is_parm_p): Likewise.
12841 * regset.h: Likewise.
12842 * reload.cc (push_reload): Likewise.
12843 (find_reloads): Likewise.
12844 (find_reloads_address_1): Likewise.
12845 (find_replacement): Likewise.
12846 (refers_to_regno_for_reload_p): Likewise.
12847 (refers_to_mem_for_reload_p): Likewise.
12848 * reload.h (push_reload): Likewise.
12849 (deallocate_reload_reg): Likewise.
12850 * reload1.cc (emit_input_reload_insns): Likewise.
12851 * reorg.cc (relax_delay_slots): Likewise.
12852 * rtl.def (UNKNOWN): Likewise.
12853 (SEQUENCE): Likewise.
12854 (BARRIER): Likewise.
12855 (ASM_OPERANDS): Likewise.
12856 (EQ_ATTR_ALT): Likewise.
12857 * rtl.h (struct GTY): Likewise.
12858 (LABEL_NAME): Likewise.
12859 (LABEL_ALT_ENTRY_P): Likewise.
12860 (SUBREG_BYTE): Likewise.
12861 (get_stack_check_protect): Likewise.
12862 (dump_rtx_statistics): Likewise.
12863 (unwrap_const_vec_duplicate): Likewise.
12864 (subreg_promoted_mode): Likewise.
12865 (gen_lowpart_common): Likewise.
12866 (operand_subword): Likewise.
12867 (immed_wide_int_const): Likewise.
12868 (decide_function_section): Likewise.
12869 (active_insn_p): Likewise.
12870 (delete_related_insns): Likewise.
12871 (try_split): Likewise.
12872 (val_signbit_known_clear_p): Likewise.
12873 (simplifiable_subregs): Likewise.
12874 (set_insn_deleted): Likewise.
12875 (subreg_get_info): Likewise.
12876 (remove_free_EXPR_LIST_node): Likewise.
12877 (finish_subregs_of_mode): Likewise.
12878 (get_mem_attrs): Likewise.
12879 (lookup_constant_def): Likewise.
12880 (rtx_to_tree_code): Likewise.
12881 (hash_rtx): Likewise.
12882 (condjump_in_parallel_p): Likewise.
12883 (validate_subreg): Likewise.
12884 (make_compound_operation): Likewise.
12885 (schedule_ebbs): Likewise.
12886 (print_inline_rtx): Likewise.
12887 (fixup_args_size_notes): Likewise.
12888 (expand_dec): Likewise.
12889 (prepare_copy_insn): Likewise.
12890 (mark_elimination): Likewise.
12891 (valid_mode_changes_for_regno): Likewise.
12892 (make_debug_expr_from_rtl): Likewise.
12893 (delete_vta_debug_insns): Likewise.
12894 (simplify_using_condition): Likewise.
12895 (set_insn_locations): Likewise.
12896 (fatal_insn_not_found): Likewise.
12897 (word_register_operation_p): Likewise.
12898 * rtlanal.cc (get_call_fndecl): Likewise.
12899 (side_effects_p): Likewise.
12900 (subreg_nregs): Likewise.
12901 (rtx_cost): Likewise.
12902 (canonicalize_condition): Likewise.
12903 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
12904 * run-rtl-passes.cc (run_rtl_passes): Likewise.
12905 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
12906 * sched-deps.cc (add_dependence_1): Likewise.
12907 * sched-ebb.cc (begin_move_insn): Likewise.
12908 (add_deps_for_risky_insns): Likewise.
12909 (advance_target_bb): Likewise.
12910 * sched-int.h (reemit_notes): Likewise.
12911 (struct _haifa_insn_data): Likewise.
12913 (DEP_CANCELLED): Likewise.
12914 (debug_ds): Likewise.
12915 (number_in_ready): Likewise.
12916 (schedule_ebbs_finish): Likewise.
12917 (find_modifiable_mems): Likewise.
12918 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
12919 * sel-sched-dump.cc (dump_lv_set): Likewise.
12920 * sel-sched-dump.h: Likewise.
12921 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
12922 (setup_id_reg_sets): Likewise.
12923 (has_dependence_p): Likewise.
12924 (sel_num_cfg_preds_gt_1): Likewise.
12925 (bb_ends_ebb_p): Likewise.
12926 * sel-sched-ir.h (struct _list_node): Likewise.
12927 (struct idata_def): Likewise.
12928 (bb_next_bb): Likewise.
12929 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
12930 (choose_best_pseudo_reg): Likewise.
12931 (verify_target_availability): Likewise.
12932 (can_speculate_dep_p): Likewise.
12933 (sel_rank_for_schedule): Likewise.
12934 * selftest-run-tests.cc (selftest::run_tests): Likewise.
12935 * selftest.h (class auto_fix_quotes): Likewise.
12936 * shrink-wrap.cc (handle_simple_exit): Likewise.
12937 * shrink-wrap.h: Likewise.
12938 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
12939 (simplify_context::simplify_gen_vec_select): Likewise.
12940 * spellcheck-tree.h: Likewise.
12941 * spellcheck.h: Likewise.
12942 * statistics.h (struct function): Likewise.
12943 * stmt.cc (conditional_probability): Likewise.
12944 * stmt.h: Likewise.
12945 * stor-layout.h: Likewise.
12946 * streamer-hooks.h: Likewise.
12947 * stringpool.h: Likewise.
12948 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
12949 * target.def (HOOK_VECTOR_END): Likewise.
12951 * target.h (union cumulative_args_t): Likewise.
12952 (by_pieces_ninsns): Likewise.
12953 (class predefined_function_abi): Likewise.
12954 * targhooks.cc (default_translate_mode_attribute): Likewise.
12955 * timevar.def: Likewise.
12956 * timevar.h (class timer): Likewise.
12957 * toplev.h (enable_rtl_dump_file): Likewise.
12958 * trans-mem.cc (collect_bb2reg): Likewise.
12959 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
12960 * tree-cfg.cc (remove_bb): Likewise.
12961 (verify_gimple_debug): Likewise.
12962 (remove_edge_and_dominated_blocks): Likewise.
12963 (push_fndecl): Likewise.
12964 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
12965 * tree-complex.cc (expand_complex_multiplication): Likewise.
12966 (expand_complex_div_straight): Likewise.
12967 * tree-core.h (enum tree_index): Likewise.
12968 (enum operand_equal_flag): Likewise.
12969 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
12970 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
12971 * tree-inline.cc (initialize_inlined_parameters): Likewise.
12972 * tree-inline.h (force_value_to_type): Likewise.
12973 * tree-nested.cc (get_chain_decl): Likewise.
12974 (walk_all_functions): Likewise.
12975 * tree-object-size.h: Likewise.
12976 * tree-outof-ssa.cc: Likewise.
12977 * tree-parloops.cc (create_parallel_loop): Likewise.
12978 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
12979 (dump_generic_node): Likewise.
12980 * tree-profile.cc (tree_profiling): Likewise.
12981 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
12982 * tree-ssa-address.cc: Likewise.
12983 * tree-ssa-alias.cc: Likewise.
12984 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
12985 (dump_alias_stats): Likewise.
12986 * tree-ssa-ccp.cc: Likewise.
12987 * tree-ssa-coalesce.h: Likewise.
12988 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
12989 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
12990 * tree-ssa-loop-unswitch.cc: Likewise.
12991 * tree-ssa-math-opts.cc: Likewise.
12992 * tree-ssa-operands.cc (class operands_scanner): Likewise.
12993 * tree-ssa-pre.cc: Likewise.
12994 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
12995 (debug_range_entry): Likewise.
12996 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
12997 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
12998 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
12999 (equal_mem_array_ref_p): Likewise.
13000 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
13001 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
13002 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
13003 * tree-ssa-ter.h: Likewise.
13004 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
13005 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
13006 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
13007 (write_ts_block_tree_pointers): Likewise.
13008 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
13009 (streamer_read_tree_bitfields): Likewise.
13010 (streamer_write_integer_cst): Likewise.
13011 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
13012 (vect_synth_mult_by_constant): Likewise.
13013 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
13014 * tree-vectorizer.cc: Likewise.
13015 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
13016 (vect_update_inits_of_drs): Likewise.
13017 (vect_get_mask_type_for_stmt): Likewise.
13018 (vect_rgroup_iv_might_wrap_p): Likewise.
13019 (cse_and_gimplify_to_preheader): Likewise.
13020 (vect_free_slp_tree): Likewise.
13021 (vect_pattern_recog): Likewise.
13022 (vect_stmt_dominates_stmt_p): Likewise.
13023 * tree.cc (initialize_tree_contains_struct): Likewise.
13024 (need_assembler_name_p): Likewise.
13025 (type_with_interoperable_signedness): Likewise.
13026 * tree.def (SWITCH_EXPR): Likewise.
13027 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
13028 (poly_int_tree_p): Likewise.
13029 (inlined_function_outer_scope_p): Likewise.
13030 (tree_code_for_canonical_type_merging): Likewise.
13031 * value-prof.cc: Likewise.
13032 * value-prof.h (get_nth_most_common_value): Likewise.
13033 (find_func_by_profile_id): Likewise.
13034 * value-range.cc (vrp_operand_equal_p): Likewise.
13035 * value-range.h: Likewise.
13036 * var-tracking.cc: Likewise.
13037 * varasm.cc (default_function_section): Likewise.
13038 (function_section_1): Likewise.
13039 (assemble_variable): Likewise.
13040 (handle_vtv_comdat_section): Likewise.
13041 * vec.h (struct vec_prefix): Likewise.
13042 * vmsdbgout.cc (full_name): Likewise.
13043 * vtable-verify.cc: Likewise.
13044 * vtable-verify.h (struct vtv_graph_node): Likewise.
13045 * xcoffout.cc: Likewise.
13046 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
13048 2022-01-17 Martin Liska <mliska@suse.cz>
13050 * adjust-alignment.c: Moved to...
13051 * adjust-alignment.cc: ...here.
13052 * alias.c: Moved to...
13053 * alias.cc: ...here.
13054 * alloc-pool.c: Moved to...
13055 * alloc-pool.cc: ...here.
13056 * asan.c: Moved to...
13057 * asan.cc: ...here.
13058 * attribs.c: Moved to...
13059 * attribs.cc: ...here.
13060 * auto-inc-dec.c: Moved to...
13061 * auto-inc-dec.cc: ...here.
13062 * auto-profile.c: Moved to...
13063 * auto-profile.cc: ...here.
13064 * bb-reorder.c: Moved to...
13065 * bb-reorder.cc: ...here.
13066 * bitmap.c: Moved to...
13067 * bitmap.cc: ...here.
13068 * btfout.c: Moved to...
13069 * btfout.cc: ...here.
13070 * builtins.c: Moved to...
13071 * builtins.cc: ...here.
13072 * caller-save.c: Moved to...
13073 * caller-save.cc: ...here.
13074 * calls.c: Moved to...
13075 * calls.cc: ...here.
13076 * ccmp.c: Moved to...
13077 * ccmp.cc: ...here.
13078 * cfg.c: Moved to...
13080 * cfganal.c: Moved to...
13081 * cfganal.cc: ...here.
13082 * cfgbuild.c: Moved to...
13083 * cfgbuild.cc: ...here.
13084 * cfgcleanup.c: Moved to...
13085 * cfgcleanup.cc: ...here.
13086 * cfgexpand.c: Moved to...
13087 * cfgexpand.cc: ...here.
13088 * cfghooks.c: Moved to...
13089 * cfghooks.cc: ...here.
13090 * cfgloop.c: Moved to...
13091 * cfgloop.cc: ...here.
13092 * cfgloopanal.c: Moved to...
13093 * cfgloopanal.cc: ...here.
13094 * cfgloopmanip.c: Moved to...
13095 * cfgloopmanip.cc: ...here.
13096 * cfgrtl.c: Moved to...
13097 * cfgrtl.cc: ...here.
13098 * cgraph.c: Moved to...
13099 * cgraph.cc: ...here.
13100 * cgraphbuild.c: Moved to...
13101 * cgraphbuild.cc: ...here.
13102 * cgraphclones.c: Moved to...
13103 * cgraphclones.cc: ...here.
13104 * cgraphunit.c: Moved to...
13105 * cgraphunit.cc: ...here.
13106 * collect-utils.c: Moved to...
13107 * collect-utils.cc: ...here.
13108 * collect2-aix.c: Moved to...
13109 * collect2-aix.cc: ...here.
13110 * collect2.c: Moved to...
13111 * collect2.cc: ...here.
13112 * combine-stack-adj.c: Moved to...
13113 * combine-stack-adj.cc: ...here.
13114 * combine.c: Moved to...
13115 * combine.cc: ...here.
13116 * common/common-targhooks.c: Moved to...
13117 * common/common-targhooks.cc: ...here.
13118 * common/config/aarch64/aarch64-common.c: Moved to...
13119 * common/config/aarch64/aarch64-common.cc: ...here.
13120 * common/config/alpha/alpha-common.c: Moved to...
13121 * common/config/alpha/alpha-common.cc: ...here.
13122 * common/config/arc/arc-common.c: Moved to...
13123 * common/config/arc/arc-common.cc: ...here.
13124 * common/config/arm/arm-common.c: Moved to...
13125 * common/config/arm/arm-common.cc: ...here.
13126 * common/config/avr/avr-common.c: Moved to...
13127 * common/config/avr/avr-common.cc: ...here.
13128 * common/config/bfin/bfin-common.c: Moved to...
13129 * common/config/bfin/bfin-common.cc: ...here.
13130 * common/config/bpf/bpf-common.c: Moved to...
13131 * common/config/bpf/bpf-common.cc: ...here.
13132 * common/config/c6x/c6x-common.c: Moved to...
13133 * common/config/c6x/c6x-common.cc: ...here.
13134 * common/config/cr16/cr16-common.c: Moved to...
13135 * common/config/cr16/cr16-common.cc: ...here.
13136 * common/config/cris/cris-common.c: Moved to...
13137 * common/config/cris/cris-common.cc: ...here.
13138 * common/config/csky/csky-common.c: Moved to...
13139 * common/config/csky/csky-common.cc: ...here.
13140 * common/config/default-common.c: Moved to...
13141 * common/config/default-common.cc: ...here.
13142 * common/config/epiphany/epiphany-common.c: Moved to...
13143 * common/config/epiphany/epiphany-common.cc: ...here.
13144 * common/config/fr30/fr30-common.c: Moved to...
13145 * common/config/fr30/fr30-common.cc: ...here.
13146 * common/config/frv/frv-common.c: Moved to...
13147 * common/config/frv/frv-common.cc: ...here.
13148 * common/config/gcn/gcn-common.c: Moved to...
13149 * common/config/gcn/gcn-common.cc: ...here.
13150 * common/config/h8300/h8300-common.c: Moved to...
13151 * common/config/h8300/h8300-common.cc: ...here.
13152 * common/config/i386/i386-common.c: Moved to...
13153 * common/config/i386/i386-common.cc: ...here.
13154 * common/config/ia64/ia64-common.c: Moved to...
13155 * common/config/ia64/ia64-common.cc: ...here.
13156 * common/config/iq2000/iq2000-common.c: Moved to...
13157 * common/config/iq2000/iq2000-common.cc: ...here.
13158 * common/config/lm32/lm32-common.c: Moved to...
13159 * common/config/lm32/lm32-common.cc: ...here.
13160 * common/config/m32r/m32r-common.c: Moved to...
13161 * common/config/m32r/m32r-common.cc: ...here.
13162 * common/config/m68k/m68k-common.c: Moved to...
13163 * common/config/m68k/m68k-common.cc: ...here.
13164 * common/config/mcore/mcore-common.c: Moved to...
13165 * common/config/mcore/mcore-common.cc: ...here.
13166 * common/config/microblaze/microblaze-common.c: Moved to...
13167 * common/config/microblaze/microblaze-common.cc: ...here.
13168 * common/config/mips/mips-common.c: Moved to...
13169 * common/config/mips/mips-common.cc: ...here.
13170 * common/config/mmix/mmix-common.c: Moved to...
13171 * common/config/mmix/mmix-common.cc: ...here.
13172 * common/config/mn10300/mn10300-common.c: Moved to...
13173 * common/config/mn10300/mn10300-common.cc: ...here.
13174 * common/config/msp430/msp430-common.c: Moved to...
13175 * common/config/msp430/msp430-common.cc: ...here.
13176 * common/config/nds32/nds32-common.c: Moved to...
13177 * common/config/nds32/nds32-common.cc: ...here.
13178 * common/config/nios2/nios2-common.c: Moved to...
13179 * common/config/nios2/nios2-common.cc: ...here.
13180 * common/config/nvptx/nvptx-common.c: Moved to...
13181 * common/config/nvptx/nvptx-common.cc: ...here.
13182 * common/config/or1k/or1k-common.c: Moved to...
13183 * common/config/or1k/or1k-common.cc: ...here.
13184 * common/config/pa/pa-common.c: Moved to...
13185 * common/config/pa/pa-common.cc: ...here.
13186 * common/config/pdp11/pdp11-common.c: Moved to...
13187 * common/config/pdp11/pdp11-common.cc: ...here.
13188 * common/config/pru/pru-common.c: Moved to...
13189 * common/config/pru/pru-common.cc: ...here.
13190 * common/config/riscv/riscv-common.c: Moved to...
13191 * common/config/riscv/riscv-common.cc: ...here.
13192 * common/config/rs6000/rs6000-common.c: Moved to...
13193 * common/config/rs6000/rs6000-common.cc: ...here.
13194 * common/config/rx/rx-common.c: Moved to...
13195 * common/config/rx/rx-common.cc: ...here.
13196 * common/config/s390/s390-common.c: Moved to...
13197 * common/config/s390/s390-common.cc: ...here.
13198 * common/config/sh/sh-common.c: Moved to...
13199 * common/config/sh/sh-common.cc: ...here.
13200 * common/config/sparc/sparc-common.c: Moved to...
13201 * common/config/sparc/sparc-common.cc: ...here.
13202 * common/config/tilegx/tilegx-common.c: Moved to...
13203 * common/config/tilegx/tilegx-common.cc: ...here.
13204 * common/config/tilepro/tilepro-common.c: Moved to...
13205 * common/config/tilepro/tilepro-common.cc: ...here.
13206 * common/config/v850/v850-common.c: Moved to...
13207 * common/config/v850/v850-common.cc: ...here.
13208 * common/config/vax/vax-common.c: Moved to...
13209 * common/config/vax/vax-common.cc: ...here.
13210 * common/config/visium/visium-common.c: Moved to...
13211 * common/config/visium/visium-common.cc: ...here.
13212 * common/config/xstormy16/xstormy16-common.c: Moved to...
13213 * common/config/xstormy16/xstormy16-common.cc: ...here.
13214 * common/config/xtensa/xtensa-common.c: Moved to...
13215 * common/config/xtensa/xtensa-common.cc: ...here.
13216 * compare-elim.c: Moved to...
13217 * compare-elim.cc: ...here.
13218 * config/aarch64/aarch64-bti-insert.c: Moved to...
13219 * config/aarch64/aarch64-bti-insert.cc: ...here.
13220 * config/aarch64/aarch64-builtins.c: Moved to...
13221 * config/aarch64/aarch64-builtins.cc: ...here.
13222 * config/aarch64/aarch64-c.c: Moved to...
13223 * config/aarch64/aarch64-c.cc: ...here.
13224 * config/aarch64/aarch64-d.c: Moved to...
13225 * config/aarch64/aarch64-d.cc: ...here.
13226 * config/aarch64/aarch64.c: Moved to...
13227 * config/aarch64/aarch64.cc: ...here.
13228 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
13229 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
13230 * config/aarch64/driver-aarch64.c: Moved to...
13231 * config/aarch64/driver-aarch64.cc: ...here.
13232 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
13233 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
13234 * config/aarch64/host-aarch64-darwin.c: Moved to...
13235 * config/aarch64/host-aarch64-darwin.cc: ...here.
13236 * config/alpha/alpha.c: Moved to...
13237 * config/alpha/alpha.cc: ...here.
13238 * config/alpha/driver-alpha.c: Moved to...
13239 * config/alpha/driver-alpha.cc: ...here.
13240 * config/arc/arc-c.c: Moved to...
13241 * config/arc/arc-c.cc: ...here.
13242 * config/arc/arc.c: Moved to...
13243 * config/arc/arc.cc: ...here.
13244 * config/arc/driver-arc.c: Moved to...
13245 * config/arc/driver-arc.cc: ...here.
13246 * config/arm/aarch-common.c: Moved to...
13247 * config/arm/aarch-common.cc: ...here.
13248 * config/arm/arm-builtins.c: Moved to...
13249 * config/arm/arm-builtins.cc: ...here.
13250 * config/arm/arm-c.c: Moved to...
13251 * config/arm/arm-c.cc: ...here.
13252 * config/arm/arm-d.c: Moved to...
13253 * config/arm/arm-d.cc: ...here.
13254 * config/arm/arm.c: Moved to...
13255 * config/arm/arm.cc: ...here.
13256 * config/arm/driver-arm.c: Moved to...
13257 * config/arm/driver-arm.cc: ...here.
13258 * config/avr/avr-c.c: Moved to...
13259 * config/avr/avr-c.cc: ...here.
13260 * config/avr/avr-devices.c: Moved to...
13261 * config/avr/avr-devices.cc: ...here.
13262 * config/avr/avr-log.c: Moved to...
13263 * config/avr/avr-log.cc: ...here.
13264 * config/avr/avr.c: Moved to...
13265 * config/avr/avr.cc: ...here.
13266 * config/avr/driver-avr.c: Moved to...
13267 * config/avr/driver-avr.cc: ...here.
13268 * config/avr/gen-avr-mmcu-specs.c: Moved to...
13269 * config/avr/gen-avr-mmcu-specs.cc: ...here.
13270 * config/avr/gen-avr-mmcu-texi.c: Moved to...
13271 * config/avr/gen-avr-mmcu-texi.cc: ...here.
13272 * config/bfin/bfin.c: Moved to...
13273 * config/bfin/bfin.cc: ...here.
13274 * config/bpf/bpf.c: Moved to...
13275 * config/bpf/bpf.cc: ...here.
13276 * config/bpf/coreout.c: Moved to...
13277 * config/bpf/coreout.cc: ...here.
13278 * config/c6x/c6x.c: Moved to...
13279 * config/c6x/c6x.cc: ...here.
13280 * config/cr16/cr16.c: Moved to...
13281 * config/cr16/cr16.cc: ...here.
13282 * config/cris/cris.c: Moved to...
13283 * config/cris/cris.cc: ...here.
13284 * config/csky/csky.c: Moved to...
13285 * config/csky/csky.cc: ...here.
13286 * config/darwin-c.c: Moved to...
13287 * config/darwin-c.cc: ...here.
13288 * config/darwin-d.c: Moved to...
13289 * config/darwin-d.cc: ...here.
13290 * config/darwin-driver.c: Moved to...
13291 * config/darwin-driver.cc: ...here.
13292 * config/darwin-f.c: Moved to...
13293 * config/darwin-f.cc: ...here.
13294 * config/darwin.c: Moved to...
13295 * config/darwin.cc: ...here.
13296 * config/default-c.c: Moved to...
13297 * config/default-c.cc: ...here.
13298 * config/default-d.c: Moved to...
13299 * config/default-d.cc: ...here.
13300 * config/dragonfly-d.c: Moved to...
13301 * config/dragonfly-d.cc: ...here.
13302 * config/epiphany/epiphany.c: Moved to...
13303 * config/epiphany/epiphany.cc: ...here.
13304 * config/epiphany/mode-switch-use.c: Moved to...
13305 * config/epiphany/mode-switch-use.cc: ...here.
13306 * config/epiphany/resolve-sw-modes.c: Moved to...
13307 * config/epiphany/resolve-sw-modes.cc: ...here.
13308 * config/fr30/fr30.c: Moved to...
13309 * config/fr30/fr30.cc: ...here.
13310 * config/freebsd-d.c: Moved to...
13311 * config/freebsd-d.cc: ...here.
13312 * config/frv/frv.c: Moved to...
13313 * config/frv/frv.cc: ...here.
13314 * config/ft32/ft32.c: Moved to...
13315 * config/ft32/ft32.cc: ...here.
13316 * config/gcn/driver-gcn.c: Moved to...
13317 * config/gcn/driver-gcn.cc: ...here.
13318 * config/gcn/gcn-run.c: Moved to...
13319 * config/gcn/gcn-run.cc: ...here.
13320 * config/gcn/gcn-tree.c: Moved to...
13321 * config/gcn/gcn-tree.cc: ...here.
13322 * config/gcn/gcn.c: Moved to...
13323 * config/gcn/gcn.cc: ...here.
13324 * config/gcn/mkoffload.c: Moved to...
13325 * config/gcn/mkoffload.cc: ...here.
13326 * config/glibc-c.c: Moved to...
13327 * config/glibc-c.cc: ...here.
13328 * config/glibc-d.c: Moved to...
13329 * config/glibc-d.cc: ...here.
13330 * config/h8300/h8300.c: Moved to...
13331 * config/h8300/h8300.cc: ...here.
13332 * config/host-darwin.c: Moved to...
13333 * config/host-darwin.cc: ...here.
13334 * config/host-hpux.c: Moved to...
13335 * config/host-hpux.cc: ...here.
13336 * config/host-linux.c: Moved to...
13337 * config/host-linux.cc: ...here.
13338 * config/host-netbsd.c: Moved to...
13339 * config/host-netbsd.cc: ...here.
13340 * config/host-openbsd.c: Moved to...
13341 * config/host-openbsd.cc: ...here.
13342 * config/host-solaris.c: Moved to...
13343 * config/host-solaris.cc: ...here.
13344 * config/i386/djgpp.c: Moved to...
13345 * config/i386/djgpp.cc: ...here.
13346 * config/i386/driver-i386.c: Moved to...
13347 * config/i386/driver-i386.cc: ...here.
13348 * config/i386/driver-mingw32.c: Moved to...
13349 * config/i386/driver-mingw32.cc: ...here.
13350 * config/i386/gnu-property.c: Moved to...
13351 * config/i386/gnu-property.cc: ...here.
13352 * config/i386/host-cygwin.c: Moved to...
13353 * config/i386/host-cygwin.cc: ...here.
13354 * config/i386/host-i386-darwin.c: Moved to...
13355 * config/i386/host-i386-darwin.cc: ...here.
13356 * config/i386/host-mingw32.c: Moved to...
13357 * config/i386/host-mingw32.cc: ...here.
13358 * config/i386/i386-builtins.c: Moved to...
13359 * config/i386/i386-builtins.cc: ...here.
13360 * config/i386/i386-c.c: Moved to...
13361 * config/i386/i386-c.cc: ...here.
13362 * config/i386/i386-d.c: Moved to...
13363 * config/i386/i386-d.cc: ...here.
13364 * config/i386/i386-expand.c: Moved to...
13365 * config/i386/i386-expand.cc: ...here.
13366 * config/i386/i386-features.c: Moved to...
13367 * config/i386/i386-features.cc: ...here.
13368 * config/i386/i386-options.c: Moved to...
13369 * config/i386/i386-options.cc: ...here.
13370 * config/i386/i386.c: Moved to...
13371 * config/i386/i386.cc: ...here.
13372 * config/i386/intelmic-mkoffload.c: Moved to...
13373 * config/i386/intelmic-mkoffload.cc: ...here.
13374 * config/i386/msformat-c.c: Moved to...
13375 * config/i386/msformat-c.cc: ...here.
13376 * config/i386/winnt-cxx.c: Moved to...
13377 * config/i386/winnt-cxx.cc: ...here.
13378 * config/i386/winnt-d.c: Moved to...
13379 * config/i386/winnt-d.cc: ...here.
13380 * config/i386/winnt-stubs.c: Moved to...
13381 * config/i386/winnt-stubs.cc: ...here.
13382 * config/i386/winnt.c: Moved to...
13383 * config/i386/winnt.cc: ...here.
13384 * config/i386/x86-tune-sched-atom.c: Moved to...
13385 * config/i386/x86-tune-sched-atom.cc: ...here.
13386 * config/i386/x86-tune-sched-bd.c: Moved to...
13387 * config/i386/x86-tune-sched-bd.cc: ...here.
13388 * config/i386/x86-tune-sched-core.c: Moved to...
13389 * config/i386/x86-tune-sched-core.cc: ...here.
13390 * config/i386/x86-tune-sched.c: Moved to...
13391 * config/i386/x86-tune-sched.cc: ...here.
13392 * config/ia64/ia64-c.c: Moved to...
13393 * config/ia64/ia64-c.cc: ...here.
13394 * config/ia64/ia64.c: Moved to...
13395 * config/ia64/ia64.cc: ...here.
13396 * config/iq2000/iq2000.c: Moved to...
13397 * config/iq2000/iq2000.cc: ...here.
13398 * config/linux.c: Moved to...
13399 * config/linux.cc: ...here.
13400 * config/lm32/lm32.c: Moved to...
13401 * config/lm32/lm32.cc: ...here.
13402 * config/m32c/m32c-pragma.c: Moved to...
13403 * config/m32c/m32c-pragma.cc: ...here.
13404 * config/m32c/m32c.c: Moved to...
13405 * config/m32c/m32c.cc: ...here.
13406 * config/m32r/m32r.c: Moved to...
13407 * config/m32r/m32r.cc: ...here.
13408 * config/m68k/m68k.c: Moved to...
13409 * config/m68k/m68k.cc: ...here.
13410 * config/mcore/mcore.c: Moved to...
13411 * config/mcore/mcore.cc: ...here.
13412 * config/microblaze/microblaze-c.c: Moved to...
13413 * config/microblaze/microblaze-c.cc: ...here.
13414 * config/microblaze/microblaze.c: Moved to...
13415 * config/microblaze/microblaze.cc: ...here.
13416 * config/mips/driver-native.c: Moved to...
13417 * config/mips/driver-native.cc: ...here.
13418 * config/mips/frame-header-opt.c: Moved to...
13419 * config/mips/frame-header-opt.cc: ...here.
13420 * config/mips/mips-d.c: Moved to...
13421 * config/mips/mips-d.cc: ...here.
13422 * config/mips/mips.c: Moved to...
13423 * config/mips/mips.cc: ...here.
13424 * config/mmix/mmix.c: Moved to...
13425 * config/mmix/mmix.cc: ...here.
13426 * config/mn10300/mn10300.c: Moved to...
13427 * config/mn10300/mn10300.cc: ...here.
13428 * config/moxie/moxie.c: Moved to...
13429 * config/moxie/moxie.cc: ...here.
13430 * config/msp430/driver-msp430.c: Moved to...
13431 * config/msp430/driver-msp430.cc: ...here.
13432 * config/msp430/msp430-c.c: Moved to...
13433 * config/msp430/msp430-c.cc: ...here.
13434 * config/msp430/msp430-devices.c: Moved to...
13435 * config/msp430/msp430-devices.cc: ...here.
13436 * config/msp430/msp430.c: Moved to...
13437 * config/msp430/msp430.cc: ...here.
13438 * config/nds32/nds32-cost.c: Moved to...
13439 * config/nds32/nds32-cost.cc: ...here.
13440 * config/nds32/nds32-fp-as-gp.c: Moved to...
13441 * config/nds32/nds32-fp-as-gp.cc: ...here.
13442 * config/nds32/nds32-intrinsic.c: Moved to...
13443 * config/nds32/nds32-intrinsic.cc: ...here.
13444 * config/nds32/nds32-isr.c: Moved to...
13445 * config/nds32/nds32-isr.cc: ...here.
13446 * config/nds32/nds32-md-auxiliary.c: Moved to...
13447 * config/nds32/nds32-md-auxiliary.cc: ...here.
13448 * config/nds32/nds32-memory-manipulation.c: Moved to...
13449 * config/nds32/nds32-memory-manipulation.cc: ...here.
13450 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
13451 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
13452 * config/nds32/nds32-predicates.c: Moved to...
13453 * config/nds32/nds32-predicates.cc: ...here.
13454 * config/nds32/nds32-relax-opt.c: Moved to...
13455 * config/nds32/nds32-relax-opt.cc: ...here.
13456 * config/nds32/nds32-utils.c: Moved to...
13457 * config/nds32/nds32-utils.cc: ...here.
13458 * config/nds32/nds32.c: Moved to...
13459 * config/nds32/nds32.cc: ...here.
13460 * config/netbsd-d.c: Moved to...
13461 * config/netbsd-d.cc: ...here.
13462 * config/netbsd.c: Moved to...
13463 * config/netbsd.cc: ...here.
13464 * config/nios2/nios2.c: Moved to...
13465 * config/nios2/nios2.cc: ...here.
13466 * config/nvptx/mkoffload.c: Moved to...
13467 * config/nvptx/mkoffload.cc: ...here.
13468 * config/nvptx/nvptx-c.c: Moved to...
13469 * config/nvptx/nvptx-c.cc: ...here.
13470 * config/nvptx/nvptx.c: Moved to...
13471 * config/nvptx/nvptx.cc: ...here.
13472 * config/openbsd-d.c: Moved to...
13473 * config/openbsd-d.cc: ...here.
13474 * config/or1k/or1k.c: Moved to...
13475 * config/or1k/or1k.cc: ...here.
13476 * config/pa/pa-d.c: Moved to...
13477 * config/pa/pa-d.cc: ...here.
13478 * config/pa/pa.c: Moved to...
13479 * config/pa/pa.cc: ...here.
13480 * config/pdp11/pdp11.c: Moved to...
13481 * config/pdp11/pdp11.cc: ...here.
13482 * config/pru/pru-passes.c: Moved to...
13483 * config/pru/pru-passes.cc: ...here.
13484 * config/pru/pru-pragma.c: Moved to...
13485 * config/pru/pru-pragma.cc: ...here.
13486 * config/pru/pru.c: Moved to...
13487 * config/pru/pru.cc: ...here.
13488 * config/riscv/riscv-builtins.c: Moved to...
13489 * config/riscv/riscv-builtins.cc: ...here.
13490 * config/riscv/riscv-c.c: Moved to...
13491 * config/riscv/riscv-c.cc: ...here.
13492 * config/riscv/riscv-d.c: Moved to...
13493 * config/riscv/riscv-d.cc: ...here.
13494 * config/riscv/riscv-shorten-memrefs.c: Moved to...
13495 * config/riscv/riscv-shorten-memrefs.cc: ...here.
13496 * config/riscv/riscv-sr.c: Moved to...
13497 * config/riscv/riscv-sr.cc: ...here.
13498 * config/riscv/riscv.c: Moved to...
13499 * config/riscv/riscv.cc: ...here.
13500 * config/rl78/rl78-c.c: Moved to...
13501 * config/rl78/rl78-c.cc: ...here.
13502 * config/rl78/rl78.c: Moved to...
13503 * config/rl78/rl78.cc: ...here.
13504 * config/rs6000/driver-rs6000.c: Moved to...
13505 * config/rs6000/driver-rs6000.cc: ...here.
13506 * config/rs6000/host-darwin.c: Moved to...
13507 * config/rs6000/host-darwin.cc: ...here.
13508 * config/rs6000/host-ppc64-darwin.c: Moved to...
13509 * config/rs6000/host-ppc64-darwin.cc: ...here.
13510 * config/rs6000/rbtree.c: Moved to...
13511 * config/rs6000/rbtree.cc: ...here.
13512 * config/rs6000/rs6000-c.c: Moved to...
13513 * config/rs6000/rs6000-c.cc: ...here.
13514 * config/rs6000/rs6000-call.c: Moved to...
13515 * config/rs6000/rs6000-call.cc: ...here.
13516 * config/rs6000/rs6000-d.c: Moved to...
13517 * config/rs6000/rs6000-d.cc: ...here.
13518 * config/rs6000/rs6000-gen-builtins.c: Moved to...
13519 * config/rs6000/rs6000-gen-builtins.cc: ...here.
13520 * config/rs6000/rs6000-linux.c: Moved to...
13521 * config/rs6000/rs6000-linux.cc: ...here.
13522 * config/rs6000/rs6000-logue.c: Moved to...
13523 * config/rs6000/rs6000-logue.cc: ...here.
13524 * config/rs6000/rs6000-p8swap.c: Moved to...
13525 * config/rs6000/rs6000-p8swap.cc: ...here.
13526 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
13527 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
13528 * config/rs6000/rs6000-string.c: Moved to...
13529 * config/rs6000/rs6000-string.cc: ...here.
13530 * config/rs6000/rs6000.c: Moved to...
13531 * config/rs6000/rs6000.cc: ...here.
13532 * config/rx/rx.c: Moved to...
13533 * config/rx/rx.cc: ...here.
13534 * config/s390/driver-native.c: Moved to...
13535 * config/s390/driver-native.cc: ...here.
13536 * config/s390/s390-c.c: Moved to...
13537 * config/s390/s390-c.cc: ...here.
13538 * config/s390/s390-d.c: Moved to...
13539 * config/s390/s390-d.cc: ...here.
13540 * config/s390/s390.c: Moved to...
13541 * config/s390/s390.cc: ...here.
13542 * config/sh/divtab-sh4-300.c: Moved to...
13543 * config/sh/divtab-sh4-300.cc: ...here.
13544 * config/sh/divtab-sh4.c: Moved to...
13545 * config/sh/divtab-sh4.cc: ...here.
13546 * config/sh/divtab.c: Moved to...
13547 * config/sh/divtab.cc: ...here.
13548 * config/sh/sh-c.c: Moved to...
13549 * config/sh/sh-c.cc: ...here.
13550 * config/sh/sh.c: Moved to...
13551 * config/sh/sh.cc: ...here.
13552 * config/sol2-c.c: Moved to...
13553 * config/sol2-c.cc: ...here.
13554 * config/sol2-cxx.c: Moved to...
13555 * config/sol2-cxx.cc: ...here.
13556 * config/sol2-d.c: Moved to...
13557 * config/sol2-d.cc: ...here.
13558 * config/sol2-stubs.c: Moved to...
13559 * config/sol2-stubs.cc: ...here.
13560 * config/sol2.c: Moved to...
13561 * config/sol2.cc: ...here.
13562 * config/sparc/driver-sparc.c: Moved to...
13563 * config/sparc/driver-sparc.cc: ...here.
13564 * config/sparc/sparc-c.c: Moved to...
13565 * config/sparc/sparc-c.cc: ...here.
13566 * config/sparc/sparc-d.c: Moved to...
13567 * config/sparc/sparc-d.cc: ...here.
13568 * config/sparc/sparc.c: Moved to...
13569 * config/sparc/sparc.cc: ...here.
13570 * config/stormy16/stormy16.c: Moved to...
13571 * config/stormy16/stormy16.cc: ...here.
13572 * config/tilegx/mul-tables.c: Moved to...
13573 * config/tilegx/mul-tables.cc: ...here.
13574 * config/tilegx/tilegx-c.c: Moved to...
13575 * config/tilegx/tilegx-c.cc: ...here.
13576 * config/tilegx/tilegx.c: Moved to...
13577 * config/tilegx/tilegx.cc: ...here.
13578 * config/tilepro/mul-tables.c: Moved to...
13579 * config/tilepro/mul-tables.cc: ...here.
13580 * config/tilepro/tilepro-c.c: Moved to...
13581 * config/tilepro/tilepro-c.cc: ...here.
13582 * config/tilepro/tilepro.c: Moved to...
13583 * config/tilepro/tilepro.cc: ...here.
13584 * config/v850/v850-c.c: Moved to...
13585 * config/v850/v850-c.cc: ...here.
13586 * config/v850/v850.c: Moved to...
13587 * config/v850/v850.cc: ...here.
13588 * config/vax/vax.c: Moved to...
13589 * config/vax/vax.cc: ...here.
13590 * config/visium/visium.c: Moved to...
13591 * config/visium/visium.cc: ...here.
13592 * config/vms/vms-c.c: Moved to...
13593 * config/vms/vms-c.cc: ...here.
13594 * config/vms/vms-f.c: Moved to...
13595 * config/vms/vms-f.cc: ...here.
13596 * config/vms/vms.c: Moved to...
13597 * config/vms/vms.cc: ...here.
13598 * config/vxworks-c.c: Moved to...
13599 * config/vxworks-c.cc: ...here.
13600 * config/vxworks.c: Moved to...
13601 * config/vxworks.cc: ...here.
13602 * config/winnt-c.c: Moved to...
13603 * config/winnt-c.cc: ...here.
13604 * config/xtensa/xtensa.c: Moved to...
13605 * config/xtensa/xtensa.cc: ...here.
13606 * context.c: Moved to...
13607 * context.cc: ...here.
13608 * convert.c: Moved to...
13609 * convert.cc: ...here.
13610 * coverage.c: Moved to...
13611 * coverage.cc: ...here.
13612 * cppbuiltin.c: Moved to...
13613 * cppbuiltin.cc: ...here.
13614 * cppdefault.c: Moved to...
13615 * cppdefault.cc: ...here.
13616 * cprop.c: Moved to...
13617 * cprop.cc: ...here.
13618 * cse.c: Moved to...
13620 * cselib.c: Moved to...
13621 * cselib.cc: ...here.
13622 * ctfc.c: Moved to...
13623 * ctfc.cc: ...here.
13624 * ctfout.c: Moved to...
13625 * ctfout.cc: ...here.
13626 * data-streamer-in.c: Moved to...
13627 * data-streamer-in.cc: ...here.
13628 * data-streamer-out.c: Moved to...
13629 * data-streamer-out.cc: ...here.
13630 * data-streamer.c: Moved to...
13631 * data-streamer.cc: ...here.
13632 * dbgcnt.c: Moved to...
13633 * dbgcnt.cc: ...here.
13634 * dbxout.c: Moved to...
13635 * dbxout.cc: ...here.
13636 * dce.c: Moved to...
13638 * ddg.c: Moved to...
13640 * debug.c: Moved to...
13641 * debug.cc: ...here.
13642 * df-core.c: Moved to...
13643 * df-core.cc: ...here.
13644 * df-problems.c: Moved to...
13645 * df-problems.cc: ...here.
13646 * df-scan.c: Moved to...
13647 * df-scan.cc: ...here.
13648 * dfp.c: Moved to...
13650 * diagnostic-color.c: Moved to...
13651 * diagnostic-color.cc: ...here.
13652 * diagnostic-show-locus.c: Moved to...
13653 * diagnostic-show-locus.cc: ...here.
13654 * diagnostic-spec.c: Moved to...
13655 * diagnostic-spec.cc: ...here.
13656 * diagnostic.c: Moved to...
13657 * diagnostic.cc: ...here.
13658 * dojump.c: Moved to...
13659 * dojump.cc: ...here.
13660 * dominance.c: Moved to...
13661 * dominance.cc: ...here.
13662 * domwalk.c: Moved to...
13663 * domwalk.cc: ...here.
13664 * double-int.c: Moved to...
13665 * double-int.cc: ...here.
13666 * dse.c: Moved to...
13668 * dumpfile.c: Moved to...
13669 * dumpfile.cc: ...here.
13670 * dwarf2asm.c: Moved to...
13671 * dwarf2asm.cc: ...here.
13672 * dwarf2cfi.c: Moved to...
13673 * dwarf2cfi.cc: ...here.
13674 * dwarf2ctf.c: Moved to...
13675 * dwarf2ctf.cc: ...here.
13676 * dwarf2out.c: Moved to...
13677 * dwarf2out.cc: ...here.
13678 * early-remat.c: Moved to...
13679 * early-remat.cc: ...here.
13680 * edit-context.c: Moved to...
13681 * edit-context.cc: ...here.
13682 * emit-rtl.c: Moved to...
13683 * emit-rtl.cc: ...here.
13684 * errors.c: Moved to...
13685 * errors.cc: ...here.
13686 * et-forest.c: Moved to...
13687 * et-forest.cc: ...here.
13688 * except.c: Moved to...
13689 * except.cc: ...here.
13690 * explow.c: Moved to...
13691 * explow.cc: ...here.
13692 * expmed.c: Moved to...
13693 * expmed.cc: ...here.
13694 * expr.c: Moved to...
13695 * expr.cc: ...here.
13696 * fibonacci_heap.c: Moved to...
13697 * fibonacci_heap.cc: ...here.
13698 * file-find.c: Moved to...
13699 * file-find.cc: ...here.
13700 * file-prefix-map.c: Moved to...
13701 * file-prefix-map.cc: ...here.
13702 * final.c: Moved to...
13703 * final.cc: ...here.
13704 * fixed-value.c: Moved to...
13705 * fixed-value.cc: ...here.
13706 * fold-const-call.c: Moved to...
13707 * fold-const-call.cc: ...here.
13708 * fold-const.c: Moved to...
13709 * fold-const.cc: ...here.
13710 * fp-test.c: Moved to...
13711 * fp-test.cc: ...here.
13712 * function-tests.c: Moved to...
13713 * function-tests.cc: ...here.
13714 * function.c: Moved to...
13715 * function.cc: ...here.
13716 * fwprop.c: Moved to...
13717 * fwprop.cc: ...here.
13718 * gcc-ar.c: Moved to...
13719 * gcc-ar.cc: ...here.
13720 * gcc-main.c: Moved to...
13721 * gcc-main.cc: ...here.
13722 * gcc-rich-location.c: Moved to...
13723 * gcc-rich-location.cc: ...here.
13724 * gcc.c: Moved to...
13726 * gcov-dump.c: Moved to...
13727 * gcov-dump.cc: ...here.
13728 * gcov-io.c: Moved to...
13729 * gcov-io.cc: ...here.
13730 * gcov-tool.c: Moved to...
13731 * gcov-tool.cc: ...here.
13732 * gcov.c: Moved to...
13733 * gcov.cc: ...here.
13734 * gcse-common.c: Moved to...
13735 * gcse-common.cc: ...here.
13736 * gcse.c: Moved to...
13737 * gcse.cc: ...here.
13738 * genattr-common.c: Moved to...
13739 * genattr-common.cc: ...here.
13740 * genattr.c: Moved to...
13741 * genattr.cc: ...here.
13742 * genattrtab.c: Moved to...
13743 * genattrtab.cc: ...here.
13744 * genautomata.c: Moved to...
13745 * genautomata.cc: ...here.
13746 * gencfn-macros.c: Moved to...
13747 * gencfn-macros.cc: ...here.
13748 * gencheck.c: Moved to...
13749 * gencheck.cc: ...here.
13750 * genchecksum.c: Moved to...
13751 * genchecksum.cc: ...here.
13752 * gencodes.c: Moved to...
13753 * gencodes.cc: ...here.
13754 * genconditions.c: Moved to...
13755 * genconditions.cc: ...here.
13756 * genconfig.c: Moved to...
13757 * genconfig.cc: ...here.
13758 * genconstants.c: Moved to...
13759 * genconstants.cc: ...here.
13760 * genemit.c: Moved to...
13761 * genemit.cc: ...here.
13762 * genenums.c: Moved to...
13763 * genenums.cc: ...here.
13764 * generic-match-head.c: Moved to...
13765 * generic-match-head.cc: ...here.
13766 * genextract.c: Moved to...
13767 * genextract.cc: ...here.
13768 * genflags.c: Moved to...
13769 * genflags.cc: ...here.
13770 * gengenrtl.c: Moved to...
13771 * gengenrtl.cc: ...here.
13772 * gengtype-parse.c: Moved to...
13773 * gengtype-parse.cc: ...here.
13774 * gengtype-state.c: Moved to...
13775 * gengtype-state.cc: ...here.
13776 * gengtype.c: Moved to...
13777 * gengtype.cc: ...here.
13778 * genhooks.c: Moved to...
13779 * genhooks.cc: ...here.
13780 * genmatch.c: Moved to...
13781 * genmatch.cc: ...here.
13782 * genmddeps.c: Moved to...
13783 * genmddeps.cc: ...here.
13784 * genmddump.c: Moved to...
13785 * genmddump.cc: ...here.
13786 * genmodes.c: Moved to...
13787 * genmodes.cc: ...here.
13788 * genopinit.c: Moved to...
13789 * genopinit.cc: ...here.
13790 * genoutput.c: Moved to...
13791 * genoutput.cc: ...here.
13792 * genpeep.c: Moved to...
13793 * genpeep.cc: ...here.
13794 * genpreds.c: Moved to...
13795 * genpreds.cc: ...here.
13796 * genrecog.c: Moved to...
13797 * genrecog.cc: ...here.
13798 * gensupport.c: Moved to...
13799 * gensupport.cc: ...here.
13800 * gentarget-def.c: Moved to...
13801 * gentarget-def.cc: ...here.
13802 * genversion.c: Moved to...
13803 * genversion.cc: ...here.
13804 * ggc-common.c: Moved to...
13805 * ggc-common.cc: ...here.
13806 * ggc-none.c: Moved to...
13807 * ggc-none.cc: ...here.
13808 * ggc-page.c: Moved to...
13809 * ggc-page.cc: ...here.
13810 * ggc-tests.c: Moved to...
13811 * ggc-tests.cc: ...here.
13812 * gimple-builder.c: Moved to...
13813 * gimple-builder.cc: ...here.
13814 * gimple-expr.c: Moved to...
13815 * gimple-expr.cc: ...here.
13816 * gimple-fold.c: Moved to...
13817 * gimple-fold.cc: ...here.
13818 * gimple-iterator.c: Moved to...
13819 * gimple-iterator.cc: ...here.
13820 * gimple-laddress.c: Moved to...
13821 * gimple-laddress.cc: ...here.
13822 * gimple-loop-jam.c: Moved to...
13823 * gimple-loop-jam.cc: ...here.
13824 * gimple-low.c: Moved to...
13825 * gimple-low.cc: ...here.
13826 * gimple-match-head.c: Moved to...
13827 * gimple-match-head.cc: ...here.
13828 * gimple-pretty-print.c: Moved to...
13829 * gimple-pretty-print.cc: ...here.
13830 * gimple-ssa-backprop.c: Moved to...
13831 * gimple-ssa-backprop.cc: ...here.
13832 * gimple-ssa-evrp-analyze.c: Moved to...
13833 * gimple-ssa-evrp-analyze.cc: ...here.
13834 * gimple-ssa-evrp.c: Moved to...
13835 * gimple-ssa-evrp.cc: ...here.
13836 * gimple-ssa-isolate-paths.c: Moved to...
13837 * gimple-ssa-isolate-paths.cc: ...here.
13838 * gimple-ssa-nonnull-compare.c: Moved to...
13839 * gimple-ssa-nonnull-compare.cc: ...here.
13840 * gimple-ssa-split-paths.c: Moved to...
13841 * gimple-ssa-split-paths.cc: ...here.
13842 * gimple-ssa-sprintf.c: Moved to...
13843 * gimple-ssa-sprintf.cc: ...here.
13844 * gimple-ssa-store-merging.c: Moved to...
13845 * gimple-ssa-store-merging.cc: ...here.
13846 * gimple-ssa-strength-reduction.c: Moved to...
13847 * gimple-ssa-strength-reduction.cc: ...here.
13848 * gimple-ssa-warn-alloca.c: Moved to...
13849 * gimple-ssa-warn-alloca.cc: ...here.
13850 * gimple-ssa-warn-restrict.c: Moved to...
13851 * gimple-ssa-warn-restrict.cc: ...here.
13852 * gimple-streamer-in.c: Moved to...
13853 * gimple-streamer-in.cc: ...here.
13854 * gimple-streamer-out.c: Moved to...
13855 * gimple-streamer-out.cc: ...here.
13856 * gimple-walk.c: Moved to...
13857 * gimple-walk.cc: ...here.
13858 * gimple-warn-recursion.c: Moved to...
13859 * gimple-warn-recursion.cc: ...here.
13860 * gimple.c: Moved to...
13861 * gimple.cc: ...here.
13862 * gimplify-me.c: Moved to...
13863 * gimplify-me.cc: ...here.
13864 * gimplify.c: Moved to...
13865 * gimplify.cc: ...here.
13866 * godump.c: Moved to...
13867 * godump.cc: ...here.
13868 * graph.c: Moved to...
13869 * graph.cc: ...here.
13870 * graphds.c: Moved to...
13871 * graphds.cc: ...here.
13872 * graphite-dependences.c: Moved to...
13873 * graphite-dependences.cc: ...here.
13874 * graphite-isl-ast-to-gimple.c: Moved to...
13875 * graphite-isl-ast-to-gimple.cc: ...here.
13876 * graphite-optimize-isl.c: Moved to...
13877 * graphite-optimize-isl.cc: ...here.
13878 * graphite-poly.c: Moved to...
13879 * graphite-poly.cc: ...here.
13880 * graphite-scop-detection.c: Moved to...
13881 * graphite-scop-detection.cc: ...here.
13882 * graphite-sese-to-poly.c: Moved to...
13883 * graphite-sese-to-poly.cc: ...here.
13884 * graphite.c: Moved to...
13885 * graphite.cc: ...here.
13886 * haifa-sched.c: Moved to...
13887 * haifa-sched.cc: ...here.
13888 * hash-map-tests.c: Moved to...
13889 * hash-map-tests.cc: ...here.
13890 * hash-set-tests.c: Moved to...
13891 * hash-set-tests.cc: ...here.
13892 * hash-table.c: Moved to...
13893 * hash-table.cc: ...here.
13894 * hooks.c: Moved to...
13895 * hooks.cc: ...here.
13896 * host-default.c: Moved to...
13897 * host-default.cc: ...here.
13898 * hw-doloop.c: Moved to...
13899 * hw-doloop.cc: ...here.
13900 * hwint.c: Moved to...
13901 * hwint.cc: ...here.
13902 * ifcvt.c: Moved to...
13903 * ifcvt.cc: ...here.
13904 * inchash.c: Moved to...
13905 * inchash.cc: ...here.
13906 * incpath.c: Moved to...
13907 * incpath.cc: ...here.
13908 * init-regs.c: Moved to...
13909 * init-regs.cc: ...here.
13910 * input.c: Moved to...
13911 * input.cc: ...here.
13912 * internal-fn.c: Moved to...
13913 * internal-fn.cc: ...here.
13914 * intl.c: Moved to...
13915 * intl.cc: ...here.
13916 * ipa-comdats.c: Moved to...
13917 * ipa-comdats.cc: ...here.
13918 * ipa-cp.c: Moved to...
13919 * ipa-cp.cc: ...here.
13920 * ipa-devirt.c: Moved to...
13921 * ipa-devirt.cc: ...here.
13922 * ipa-fnsummary.c: Moved to...
13923 * ipa-fnsummary.cc: ...here.
13924 * ipa-icf-gimple.c: Moved to...
13925 * ipa-icf-gimple.cc: ...here.
13926 * ipa-icf.c: Moved to...
13927 * ipa-icf.cc: ...here.
13928 * ipa-inline-analysis.c: Moved to...
13929 * ipa-inline-analysis.cc: ...here.
13930 * ipa-inline-transform.c: Moved to...
13931 * ipa-inline-transform.cc: ...here.
13932 * ipa-inline.c: Moved to...
13933 * ipa-inline.cc: ...here.
13934 * ipa-modref-tree.c: Moved to...
13935 * ipa-modref-tree.cc: ...here.
13936 * ipa-modref.c: Moved to...
13937 * ipa-modref.cc: ...here.
13938 * ipa-param-manipulation.c: Moved to...
13939 * ipa-param-manipulation.cc: ...here.
13940 * ipa-polymorphic-call.c: Moved to...
13941 * ipa-polymorphic-call.cc: ...here.
13942 * ipa-predicate.c: Moved to...
13943 * ipa-predicate.cc: ...here.
13944 * ipa-profile.c: Moved to...
13945 * ipa-profile.cc: ...here.
13946 * ipa-prop.c: Moved to...
13947 * ipa-prop.cc: ...here.
13948 * ipa-pure-const.c: Moved to...
13949 * ipa-pure-const.cc: ...here.
13950 * ipa-ref.c: Moved to...
13951 * ipa-ref.cc: ...here.
13952 * ipa-reference.c: Moved to...
13953 * ipa-reference.cc: ...here.
13954 * ipa-split.c: Moved to...
13955 * ipa-split.cc: ...here.
13956 * ipa-sra.c: Moved to...
13957 * ipa-sra.cc: ...here.
13958 * ipa-utils.c: Moved to...
13959 * ipa-utils.cc: ...here.
13960 * ipa-visibility.c: Moved to...
13961 * ipa-visibility.cc: ...here.
13962 * ipa.c: Moved to...
13964 * ira-build.c: Moved to...
13965 * ira-build.cc: ...here.
13966 * ira-color.c: Moved to...
13967 * ira-color.cc: ...here.
13968 * ira-conflicts.c: Moved to...
13969 * ira-conflicts.cc: ...here.
13970 * ira-costs.c: Moved to...
13971 * ira-costs.cc: ...here.
13972 * ira-emit.c: Moved to...
13973 * ira-emit.cc: ...here.
13974 * ira-lives.c: Moved to...
13975 * ira-lives.cc: ...here.
13976 * ira.c: Moved to...
13978 * jump.c: Moved to...
13979 * jump.cc: ...here.
13980 * langhooks.c: Moved to...
13981 * langhooks.cc: ...here.
13982 * lcm.c: Moved to...
13984 * lists.c: Moved to...
13985 * lists.cc: ...here.
13986 * loop-doloop.c: Moved to...
13987 * loop-doloop.cc: ...here.
13988 * loop-init.c: Moved to...
13989 * loop-init.cc: ...here.
13990 * loop-invariant.c: Moved to...
13991 * loop-invariant.cc: ...here.
13992 * loop-iv.c: Moved to...
13993 * loop-iv.cc: ...here.
13994 * loop-unroll.c: Moved to...
13995 * loop-unroll.cc: ...here.
13996 * lower-subreg.c: Moved to...
13997 * lower-subreg.cc: ...here.
13998 * lra-assigns.c: Moved to...
13999 * lra-assigns.cc: ...here.
14000 * lra-coalesce.c: Moved to...
14001 * lra-coalesce.cc: ...here.
14002 * lra-constraints.c: Moved to...
14003 * lra-constraints.cc: ...here.
14004 * lra-eliminations.c: Moved to...
14005 * lra-eliminations.cc: ...here.
14006 * lra-lives.c: Moved to...
14007 * lra-lives.cc: ...here.
14008 * lra-remat.c: Moved to...
14009 * lra-remat.cc: ...here.
14010 * lra-spills.c: Moved to...
14011 * lra-spills.cc: ...here.
14012 * lra.c: Moved to...
14014 * lto-cgraph.c: Moved to...
14015 * lto-cgraph.cc: ...here.
14016 * lto-compress.c: Moved to...
14017 * lto-compress.cc: ...here.
14018 * lto-opts.c: Moved to...
14019 * lto-opts.cc: ...here.
14020 * lto-section-in.c: Moved to...
14021 * lto-section-in.cc: ...here.
14022 * lto-section-out.c: Moved to...
14023 * lto-section-out.cc: ...here.
14024 * lto-streamer-in.c: Moved to...
14025 * lto-streamer-in.cc: ...here.
14026 * lto-streamer-out.c: Moved to...
14027 * lto-streamer-out.cc: ...here.
14028 * lto-streamer.c: Moved to...
14029 * lto-streamer.cc: ...here.
14030 * lto-wrapper.c: Moved to...
14031 * lto-wrapper.cc: ...here.
14032 * main.c: Moved to...
14033 * main.cc: ...here.
14034 * mcf.c: Moved to...
14036 * mode-switching.c: Moved to...
14037 * mode-switching.cc: ...here.
14038 * modulo-sched.c: Moved to...
14039 * modulo-sched.cc: ...here.
14040 * multiple_target.c: Moved to...
14041 * multiple_target.cc: ...here.
14042 * omp-expand.c: Moved to...
14043 * omp-expand.cc: ...here.
14044 * omp-general.c: Moved to...
14045 * omp-general.cc: ...here.
14046 * omp-low.c: Moved to...
14047 * omp-low.cc: ...here.
14048 * omp-offload.c: Moved to...
14049 * omp-offload.cc: ...here.
14050 * omp-simd-clone.c: Moved to...
14051 * omp-simd-clone.cc: ...here.
14052 * opt-suggestions.c: Moved to...
14053 * opt-suggestions.cc: ...here.
14054 * optabs-libfuncs.c: Moved to...
14055 * optabs-libfuncs.cc: ...here.
14056 * optabs-query.c: Moved to...
14057 * optabs-query.cc: ...here.
14058 * optabs-tree.c: Moved to...
14059 * optabs-tree.cc: ...here.
14060 * optabs.c: Moved to...
14061 * optabs.cc: ...here.
14062 * opts-common.c: Moved to...
14063 * opts-common.cc: ...here.
14064 * opts-global.c: Moved to...
14065 * opts-global.cc: ...here.
14066 * opts.c: Moved to...
14067 * opts.cc: ...here.
14068 * passes.c: Moved to...
14069 * passes.cc: ...here.
14070 * plugin.c: Moved to...
14071 * plugin.cc: ...here.
14072 * postreload-gcse.c: Moved to...
14073 * postreload-gcse.cc: ...here.
14074 * postreload.c: Moved to...
14075 * postreload.cc: ...here.
14076 * predict.c: Moved to...
14077 * predict.cc: ...here.
14078 * prefix.c: Moved to...
14079 * prefix.cc: ...here.
14080 * pretty-print.c: Moved to...
14081 * pretty-print.cc: ...here.
14082 * print-rtl-function.c: Moved to...
14083 * print-rtl-function.cc: ...here.
14084 * print-rtl.c: Moved to...
14085 * print-rtl.cc: ...here.
14086 * print-tree.c: Moved to...
14087 * print-tree.cc: ...here.
14088 * profile-count.c: Moved to...
14089 * profile-count.cc: ...here.
14090 * profile.c: Moved to...
14091 * profile.cc: ...here.
14092 * read-md.c: Moved to...
14093 * read-md.cc: ...here.
14094 * read-rtl-function.c: Moved to...
14095 * read-rtl-function.cc: ...here.
14096 * read-rtl.c: Moved to...
14097 * read-rtl.cc: ...here.
14098 * real.c: Moved to...
14099 * real.cc: ...here.
14100 * realmpfr.c: Moved to...
14101 * realmpfr.cc: ...here.
14102 * recog.c: Moved to...
14103 * recog.cc: ...here.
14104 * ree.c: Moved to...
14106 * reg-stack.c: Moved to...
14107 * reg-stack.cc: ...here.
14108 * regcprop.c: Moved to...
14109 * regcprop.cc: ...here.
14110 * reginfo.c: Moved to...
14111 * reginfo.cc: ...here.
14112 * regrename.c: Moved to...
14113 * regrename.cc: ...here.
14114 * regstat.c: Moved to...
14115 * regstat.cc: ...here.
14116 * reload.c: Moved to...
14117 * reload.cc: ...here.
14118 * reload1.c: Moved to...
14119 * reload1.cc: ...here.
14120 * reorg.c: Moved to...
14121 * reorg.cc: ...here.
14122 * resource.c: Moved to...
14123 * resource.cc: ...here.
14124 * rtl-error.c: Moved to...
14125 * rtl-error.cc: ...here.
14126 * rtl-tests.c: Moved to...
14127 * rtl-tests.cc: ...here.
14128 * rtl.c: Moved to...
14130 * rtlanal.c: Moved to...
14131 * rtlanal.cc: ...here.
14132 * rtlhash.c: Moved to...
14133 * rtlhash.cc: ...here.
14134 * rtlhooks.c: Moved to...
14135 * rtlhooks.cc: ...here.
14136 * rtx-vector-builder.c: Moved to...
14137 * rtx-vector-builder.cc: ...here.
14138 * run-rtl-passes.c: Moved to...
14139 * run-rtl-passes.cc: ...here.
14140 * sancov.c: Moved to...
14141 * sancov.cc: ...here.
14142 * sanopt.c: Moved to...
14143 * sanopt.cc: ...here.
14144 * sbitmap.c: Moved to...
14145 * sbitmap.cc: ...here.
14146 * sched-deps.c: Moved to...
14147 * sched-deps.cc: ...here.
14148 * sched-ebb.c: Moved to...
14149 * sched-ebb.cc: ...here.
14150 * sched-rgn.c: Moved to...
14151 * sched-rgn.cc: ...here.
14152 * sel-sched-dump.c: Moved to...
14153 * sel-sched-dump.cc: ...here.
14154 * sel-sched-ir.c: Moved to...
14155 * sel-sched-ir.cc: ...here.
14156 * sel-sched.c: Moved to...
14157 * sel-sched.cc: ...here.
14158 * selftest-diagnostic.c: Moved to...
14159 * selftest-diagnostic.cc: ...here.
14160 * selftest-rtl.c: Moved to...
14161 * selftest-rtl.cc: ...here.
14162 * selftest-run-tests.c: Moved to...
14163 * selftest-run-tests.cc: ...here.
14164 * selftest.c: Moved to...
14165 * selftest.cc: ...here.
14166 * sese.c: Moved to...
14167 * sese.cc: ...here.
14168 * shrink-wrap.c: Moved to...
14169 * shrink-wrap.cc: ...here.
14170 * simplify-rtx.c: Moved to...
14171 * simplify-rtx.cc: ...here.
14172 * sparseset.c: Moved to...
14173 * sparseset.cc: ...here.
14174 * spellcheck-tree.c: Moved to...
14175 * spellcheck-tree.cc: ...here.
14176 * spellcheck.c: Moved to...
14177 * spellcheck.cc: ...here.
14178 * sreal.c: Moved to...
14179 * sreal.cc: ...here.
14180 * stack-ptr-mod.c: Moved to...
14181 * stack-ptr-mod.cc: ...here.
14182 * statistics.c: Moved to...
14183 * statistics.cc: ...here.
14184 * stmt.c: Moved to...
14185 * stmt.cc: ...here.
14186 * stor-layout.c: Moved to...
14187 * stor-layout.cc: ...here.
14188 * store-motion.c: Moved to...
14189 * store-motion.cc: ...here.
14190 * streamer-hooks.c: Moved to...
14191 * streamer-hooks.cc: ...here.
14192 * stringpool.c: Moved to...
14193 * stringpool.cc: ...here.
14194 * substring-locations.c: Moved to...
14195 * substring-locations.cc: ...here.
14196 * symtab.c: Moved to...
14197 * symtab.cc: ...here.
14198 * target-globals.c: Moved to...
14199 * target-globals.cc: ...here.
14200 * targhooks.c: Moved to...
14201 * targhooks.cc: ...here.
14202 * timevar.c: Moved to...
14203 * timevar.cc: ...here.
14204 * toplev.c: Moved to...
14205 * toplev.cc: ...here.
14206 * tracer.c: Moved to...
14207 * tracer.cc: ...here.
14208 * trans-mem.c: Moved to...
14209 * trans-mem.cc: ...here.
14210 * tree-affine.c: Moved to...
14211 * tree-affine.cc: ...here.
14212 * tree-call-cdce.c: Moved to...
14213 * tree-call-cdce.cc: ...here.
14214 * tree-cfg.c: Moved to...
14215 * tree-cfg.cc: ...here.
14216 * tree-cfgcleanup.c: Moved to...
14217 * tree-cfgcleanup.cc: ...here.
14218 * tree-chrec.c: Moved to...
14219 * tree-chrec.cc: ...here.
14220 * tree-complex.c: Moved to...
14221 * tree-complex.cc: ...here.
14222 * tree-data-ref.c: Moved to...
14223 * tree-data-ref.cc: ...here.
14224 * tree-dfa.c: Moved to...
14225 * tree-dfa.cc: ...here.
14226 * tree-diagnostic.c: Moved to...
14227 * tree-diagnostic.cc: ...here.
14228 * tree-dump.c: Moved to...
14229 * tree-dump.cc: ...here.
14230 * tree-eh.c: Moved to...
14231 * tree-eh.cc: ...here.
14232 * tree-emutls.c: Moved to...
14233 * tree-emutls.cc: ...here.
14234 * tree-if-conv.c: Moved to...
14235 * tree-if-conv.cc: ...here.
14236 * tree-inline.c: Moved to...
14237 * tree-inline.cc: ...here.
14238 * tree-into-ssa.c: Moved to...
14239 * tree-into-ssa.cc: ...here.
14240 * tree-iterator.c: Moved to...
14241 * tree-iterator.cc: ...here.
14242 * tree-loop-distribution.c: Moved to...
14243 * tree-loop-distribution.cc: ...here.
14244 * tree-nested.c: Moved to...
14245 * tree-nested.cc: ...here.
14246 * tree-nrv.c: Moved to...
14247 * tree-nrv.cc: ...here.
14248 * tree-object-size.c: Moved to...
14249 * tree-object-size.cc: ...here.
14250 * tree-outof-ssa.c: Moved to...
14251 * tree-outof-ssa.cc: ...here.
14252 * tree-parloops.c: Moved to...
14253 * tree-parloops.cc: ...here.
14254 * tree-phinodes.c: Moved to...
14255 * tree-phinodes.cc: ...here.
14256 * tree-predcom.c: Moved to...
14257 * tree-predcom.cc: ...here.
14258 * tree-pretty-print.c: Moved to...
14259 * tree-pretty-print.cc: ...here.
14260 * tree-profile.c: Moved to...
14261 * tree-profile.cc: ...here.
14262 * tree-scalar-evolution.c: Moved to...
14263 * tree-scalar-evolution.cc: ...here.
14264 * tree-sra.c: Moved to...
14265 * tree-sra.cc: ...here.
14266 * tree-ssa-address.c: Moved to...
14267 * tree-ssa-address.cc: ...here.
14268 * tree-ssa-alias.c: Moved to...
14269 * tree-ssa-alias.cc: ...here.
14270 * tree-ssa-ccp.c: Moved to...
14271 * tree-ssa-ccp.cc: ...here.
14272 * tree-ssa-coalesce.c: Moved to...
14273 * tree-ssa-coalesce.cc: ...here.
14274 * tree-ssa-copy.c: Moved to...
14275 * tree-ssa-copy.cc: ...here.
14276 * tree-ssa-dce.c: Moved to...
14277 * tree-ssa-dce.cc: ...here.
14278 * tree-ssa-dom.c: Moved to...
14279 * tree-ssa-dom.cc: ...here.
14280 * tree-ssa-dse.c: Moved to...
14281 * tree-ssa-dse.cc: ...here.
14282 * tree-ssa-forwprop.c: Moved to...
14283 * tree-ssa-forwprop.cc: ...here.
14284 * tree-ssa-ifcombine.c: Moved to...
14285 * tree-ssa-ifcombine.cc: ...here.
14286 * tree-ssa-live.c: Moved to...
14287 * tree-ssa-live.cc: ...here.
14288 * tree-ssa-loop-ch.c: Moved to...
14289 * tree-ssa-loop-ch.cc: ...here.
14290 * tree-ssa-loop-im.c: Moved to...
14291 * tree-ssa-loop-im.cc: ...here.
14292 * tree-ssa-loop-ivcanon.c: Moved to...
14293 * tree-ssa-loop-ivcanon.cc: ...here.
14294 * tree-ssa-loop-ivopts.c: Moved to...
14295 * tree-ssa-loop-ivopts.cc: ...here.
14296 * tree-ssa-loop-manip.c: Moved to...
14297 * tree-ssa-loop-manip.cc: ...here.
14298 * tree-ssa-loop-niter.c: Moved to...
14299 * tree-ssa-loop-niter.cc: ...here.
14300 * tree-ssa-loop-prefetch.c: Moved to...
14301 * tree-ssa-loop-prefetch.cc: ...here.
14302 * tree-ssa-loop-split.c: Moved to...
14303 * tree-ssa-loop-split.cc: ...here.
14304 * tree-ssa-loop-unswitch.c: Moved to...
14305 * tree-ssa-loop-unswitch.cc: ...here.
14306 * tree-ssa-loop.c: Moved to...
14307 * tree-ssa-loop.cc: ...here.
14308 * tree-ssa-math-opts.c: Moved to...
14309 * tree-ssa-math-opts.cc: ...here.
14310 * tree-ssa-operands.c: Moved to...
14311 * tree-ssa-operands.cc: ...here.
14312 * tree-ssa-phiopt.c: Moved to...
14313 * tree-ssa-phiopt.cc: ...here.
14314 * tree-ssa-phiprop.c: Moved to...
14315 * tree-ssa-phiprop.cc: ...here.
14316 * tree-ssa-pre.c: Moved to...
14317 * tree-ssa-pre.cc: ...here.
14318 * tree-ssa-propagate.c: Moved to...
14319 * tree-ssa-propagate.cc: ...here.
14320 * tree-ssa-reassoc.c: Moved to...
14321 * tree-ssa-reassoc.cc: ...here.
14322 * tree-ssa-sccvn.c: Moved to...
14323 * tree-ssa-sccvn.cc: ...here.
14324 * tree-ssa-scopedtables.c: Moved to...
14325 * tree-ssa-scopedtables.cc: ...here.
14326 * tree-ssa-sink.c: Moved to...
14327 * tree-ssa-sink.cc: ...here.
14328 * tree-ssa-strlen.c: Moved to...
14329 * tree-ssa-strlen.cc: ...here.
14330 * tree-ssa-structalias.c: Moved to...
14331 * tree-ssa-structalias.cc: ...here.
14332 * tree-ssa-tail-merge.c: Moved to...
14333 * tree-ssa-tail-merge.cc: ...here.
14334 * tree-ssa-ter.c: Moved to...
14335 * tree-ssa-ter.cc: ...here.
14336 * tree-ssa-threadbackward.c: Moved to...
14337 * tree-ssa-threadbackward.cc: ...here.
14338 * tree-ssa-threadedge.c: Moved to...
14339 * tree-ssa-threadedge.cc: ...here.
14340 * tree-ssa-threadupdate.c: Moved to...
14341 * tree-ssa-threadupdate.cc: ...here.
14342 * tree-ssa-uncprop.c: Moved to...
14343 * tree-ssa-uncprop.cc: ...here.
14344 * tree-ssa-uninit.c: Moved to...
14345 * tree-ssa-uninit.cc: ...here.
14346 * tree-ssa.c: Moved to...
14347 * tree-ssa.cc: ...here.
14348 * tree-ssanames.c: Moved to...
14349 * tree-ssanames.cc: ...here.
14350 * tree-stdarg.c: Moved to...
14351 * tree-stdarg.cc: ...here.
14352 * tree-streamer-in.c: Moved to...
14353 * tree-streamer-in.cc: ...here.
14354 * tree-streamer-out.c: Moved to...
14355 * tree-streamer-out.cc: ...here.
14356 * tree-streamer.c: Moved to...
14357 * tree-streamer.cc: ...here.
14358 * tree-switch-conversion.c: Moved to...
14359 * tree-switch-conversion.cc: ...here.
14360 * tree-tailcall.c: Moved to...
14361 * tree-tailcall.cc: ...here.
14362 * tree-vect-data-refs.c: Moved to...
14363 * tree-vect-data-refs.cc: ...here.
14364 * tree-vect-generic.c: Moved to...
14365 * tree-vect-generic.cc: ...here.
14366 * tree-vect-loop-manip.c: Moved to...
14367 * tree-vect-loop-manip.cc: ...here.
14368 * tree-vect-loop.c: Moved to...
14369 * tree-vect-loop.cc: ...here.
14370 * tree-vect-patterns.c: Moved to...
14371 * tree-vect-patterns.cc: ...here.
14372 * tree-vect-slp-patterns.c: Moved to...
14373 * tree-vect-slp-patterns.cc: ...here.
14374 * tree-vect-slp.c: Moved to...
14375 * tree-vect-slp.cc: ...here.
14376 * tree-vect-stmts.c: Moved to...
14377 * tree-vect-stmts.cc: ...here.
14378 * tree-vector-builder.c: Moved to...
14379 * tree-vector-builder.cc: ...here.
14380 * tree-vectorizer.c: Moved to...
14381 * tree-vectorizer.cc: ...here.
14382 * tree-vrp.c: Moved to...
14383 * tree-vrp.cc: ...here.
14384 * tree.c: Moved to...
14385 * tree.cc: ...here.
14386 * tsan.c: Moved to...
14387 * tsan.cc: ...here.
14388 * typed-splay-tree.c: Moved to...
14389 * typed-splay-tree.cc: ...here.
14390 * ubsan.c: Moved to...
14391 * ubsan.cc: ...here.
14392 * valtrack.c: Moved to...
14393 * valtrack.cc: ...here.
14394 * value-prof.c: Moved to...
14395 * value-prof.cc: ...here.
14396 * var-tracking.c: Moved to...
14397 * var-tracking.cc: ...here.
14398 * varasm.c: Moved to...
14399 * varasm.cc: ...here.
14400 * varpool.c: Moved to...
14401 * varpool.cc: ...here.
14402 * vec-perm-indices.c: Moved to...
14403 * vec-perm-indices.cc: ...here.
14404 * vec.c: Moved to...
14406 * vmsdbgout.c: Moved to...
14407 * vmsdbgout.cc: ...here.
14408 * vr-values.c: Moved to...
14409 * vr-values.cc: ...here.
14410 * vtable-verify.c: Moved to...
14411 * vtable-verify.cc: ...here.
14412 * web.c: Moved to...
14414 * xcoffout.c: Moved to...
14415 * xcoffout.cc: ...here.
14417 2022-01-17 qing zhao <qing.zhao@oracle.com>
14419 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
14420 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
14421 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
14423 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
14424 (warn_uninitialized_vars): Likewise.
14425 (warn_uninitialized_phi): Likewise.
14427 2022-01-17 Jason Merrill <jason@redhat.com>
14429 * diagnostic.h (struct diagnostic_context): Add includes_seen.
14430 * diagnostic.c (diagnostic_initialize): Initialize it.
14431 (diagnostic_finish): Clean it up.
14432 (includes_seen): New function.
14433 (diagnostic_report_current_module): Use it.
14435 2022-01-17 Richard Biener <rguenther@suse.de>
14437 PR middle-end/101292
14438 * diagnostic-spec.c (copy_warning): Make sure to not
14439 reference old hashtable content on possible resize.
14440 * warning-control.cc (copy_warning): Likewise.
14442 2022-01-17 Jakub Jelinek <jakub@redhat.com>
14445 * tree-cfg.h (cond_only_block_p): Declare.
14446 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
14447 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
14448 * optabs.def (spaceship_optab): New optab.
14449 * internal-fn.def (SPACESHIP): New internal function.
14450 * internal-fn.h (expand_SPACESHIP): Declare.
14451 * internal-fn.c (expand_PHI): Formatting fix.
14452 (expand_SPACESHIP): New function.
14453 * tree-ssa-math-opts.c (optimize_spaceship): New function.
14454 (math_opts_dom_walker::after_dom_children): Use it.
14455 * config/i386/i386.md (spaceship<mode>3): New define_expand.
14456 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
14457 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
14458 * doc/md.texi (spaceship@var{m}3): Document.
14460 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
14462 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
14463 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
14464 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
14465 known constant values to simplify code.
14467 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
14470 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
14472 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
14474 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
14475 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
14476 Insert zero-idiom in output template when attr enabled, set new attribute to
14477 true for non-mask/maskz insn.
14478 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
14480 (avx512dq_mul<mode>3<mask_name>): Likewise.
14481 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
14482 (avx2_perm<mode>_1<mask_name>): Likewise.
14483 (avx512f_perm<mode>_1<mask_name>): Likewise.
14484 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
14485 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
14487 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
14488 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
14490 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
14492 (mask4_dest_false_dep_for_glc_cond): Likewise.
14493 (mask6_dest_false_dep_for_glc_cond): Likewise.
14494 (mask10_dest_false_dep_for_glc_cond): Likewise.
14495 (maskc_dest_false_dep_for_glc_cond): Likewise.
14496 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
14497 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
14498 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
14499 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
14501 2022-01-15 Martin Sebor <msebor@redhat.com>
14504 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
14505 -Wdangling-pointer.
14506 * doc/invoke.texi (-Wdangling-pointer): Document new option.
14507 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
14508 (pass_waccess::check_pointer_uses): New function.
14509 (pass_waccess::gimple_call_return_arg): New function.
14510 (pass_waccess::gimple_call_return_arg_ref): New function.
14511 (pass_waccess::check_call_dangling): New function.
14512 (pass_waccess::check_dangling_uses): New function overloads.
14513 (pass_waccess::check_dangling_stores): New function.
14514 (pass_waccess::check_dangling_stores): New function.
14515 (pass_waccess::m_clobbers): New data member.
14516 (pass_waccess::m_func): New data member.
14517 (pass_waccess::m_run_number): New data member.
14518 (pass_waccess::m_check_dangling_p): New data member.
14519 (pass_waccess::check_alloca): Check m_early_checks_p.
14520 (pass_waccess::check_alloc_size_call): Same.
14521 (pass_waccess::check_strcat): Same.
14522 (pass_waccess::check_strncat): Same.
14523 (pass_waccess::check_stxcpy): Same.
14524 (pass_waccess::check_stxncpy): Same.
14525 (pass_waccess::check_strncmp): Same.
14526 (pass_waccess::check_memop_access): Same.
14527 (pass_waccess::check_read_access): Same.
14528 (pass_waccess::check_builtin): Call check_pointer_uses.
14529 (pass_waccess::warn_invalid_pointer): Add arguments.
14530 (is_auto_decl): New function.
14531 (pass_waccess::check_stmt): New function.
14532 (pass_waccess::check_block): Call check_stmt.
14533 (pass_waccess::execute): Call check_dangling_uses,
14534 check_dangling_stores. Empty m_clobbers.
14535 * passes.def (pass_warn_access): Invoke pass two more times.
14537 2022-01-15 Martin Sebor <msebor@redhat.com>
14539 PR tree-optimization/80532
14540 * common.opt (-Wuse-after-free): New options.
14541 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
14542 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
14543 * diagnostic-spec.h (NW_DANGLING): New enumerator.
14544 * doc/invoke.texi (-Wuse-after-free): Document new option.
14545 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
14546 (pass_waccess::check_call_access): ...to this.
14547 (pass_waccess::check): Rename...
14548 (pass_waccess::check_block): ...to this.
14549 (pass_waccess::check_pointer_uses): New function.
14550 (pass_waccess::gimple_call_return_arg): New function.
14551 (pass_waccess::warn_invalid_pointer): New function.
14552 (pass_waccess::check_builtin): Handle free and realloc.
14553 (gimple_use_after_inval_p): New function.
14554 (get_realloc_lhs): New function.
14555 (maybe_warn_mismatched_realloc): New function.
14556 (pointers_related_p): New function.
14557 (pass_waccess::check_call): Call check_pointer_uses.
14558 (pass_waccess::execute): Compute and free dominance info.
14560 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
14562 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
14563 expand_simple_unop and expand_simple_binop instead of manually
14564 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
14565 consistently. Eliminate common subexpressions and simplify code.
14566 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
14567 (<any_logic:code><MODEF:mode>3): Make public.
14569 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
14571 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
14572 reverse flag as "reverse" for the sake of consistency.
14573 * ipa-sra.c: Fix copyright year.
14574 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
14575 (dump_isra_access): Tweak dump line.
14576 (isra_write_node_summary): Write the reverse flag.
14577 (isra_read_node_info): Read it.
14578 (pull_accesses_from_callee): Test its consistency and copy it.
14580 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
14582 PR middle-end/104026
14583 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
14584 partial_load_store_bias.
14586 2022-01-14 Martin Sebor <msebor@redhat.com>
14588 PR middle-end/101475
14589 * pointer-query.cc (handle_component_ref): Use the size of
14590 the enclosing object if it's smaller than the member.
14592 2022-01-14 Martin Liska <mliska@suse.cz>
14594 * configure: Regenerate.
14596 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
14598 * config/i386/i386.md (*add<mode>_1_slp"):
14599 Mark alternative 1 output operand earlyclobbered.
14600 (*sub<mode>_1_slp): Ditto.
14601 (*and<mode>_1_slp): Ditto.
14602 (*<code><mode>_1_slp): Ditto.
14603 (*neg<mode>_1_slp): Ditto.
14604 (*one_cmpl<mode>_1_slp): Ditto.
14605 (*ashl<mode>3_1_slp): Ditto.
14606 (*<insn><mode>3_1_slp): Ditto.
14607 (*<insn><mode>3_1_slp): Ditto.
14609 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
14611 PR tree-optimization/104015
14612 * tree-vect-loop.c (vect_analyze_loop): Check
14613 param_vect_partial_vector_usage for supports_partial_vectors.
14615 2022-01-14 Jakub Jelinek <jakub@redhat.com>
14618 * fold-const.c (address_compare): Punt on comparison of address of
14619 one object with address of end of another object if
14620 folding_initializer.
14622 2022-01-14 Jakub Jelinek <jakub@redhat.com>
14625 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
14626 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
14627 and __atomic_op_fetch (p, x, y) iop x into
14628 __atomic_fetch_op (p, x, y).
14630 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
14632 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
14633 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
14634 (INCOMING_RETURN_ADDR_RTX): Likewise.
14635 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
14637 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
14639 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
14640 computin checking accumulator regs.
14641 (arc_expand_prologue): Update comments.
14642 (arc_expand_epilogue): Likewise.
14644 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
14645 Uroš Bizjak <ubizjak@gmail.com>
14647 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
14648 (ix86_expand_ti_to_v1ti): Use force_reg.
14649 (ix86_expand_v1ti_shift): Use force_reg.
14650 (ix86_expand_v1ti_rotate): Use force_reg.
14651 (ix86_expand_v1ti_ashiftrt): Provide new three operation
14652 implementations for shifts by 111..126 bits. Use force_reg.
14654 2022-01-14 Martin Liska <mliska@suse.cz>
14656 * common/config/arm/arm-common.c (arm_target_mode): Fix
14657 warning: unterminated quoting directive [-Wformat=].
14659 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
14661 PR tree-optimization/104009
14662 * tree-object-size.c (compute_builtin_object_size): Bail out on
14664 (plus_stmt_object_size): Return maximum of wholesize and minimum
14665 of 0 for negative offset.
14667 2022-01-14 liuhongt <hongtao.liu@intel.com>
14672 * config/i386/i386.md (*xor2andn): Refine predicate of
14673 operands[0] from nonimmediate_operand to
14674 register_operand, remove TARGET_AVX512BW from condition.
14676 2022-01-14 David Malcolm <dmalcolm@redhat.com>
14678 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
14679 be used on field decls.
14680 (Common Function Attributes): Add entry on "tainted_args" attribute.
14682 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
14683 Jason Merrill <jason@redhat.com>
14686 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
14688 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
14691 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
14692 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
14693 * config/i386/mmx.md (<any_shift:insn>v2qi):
14694 New insn_and_split pattern.
14696 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
14698 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
14699 (expand_partial_store_optab_fn): Likewise.
14700 (internal_len_load_store_bias): New function.
14701 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
14702 (internal_len_load_store_bias): New function.
14703 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
14704 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
14705 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
14706 (vect_estimate_min_profitable_iters): Account for bias.
14707 (vect_get_loop_len): Add bias-adjusted length.
14708 * tree-vect-stmts.c (vectorizable_store): Use.
14709 (vectorizable_load): Use.
14710 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
14711 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
14712 * config/rs6000/vsx.md: Use const0 bias predicate.
14713 * doc/md.texi: Document bias value.
14715 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
14717 PR tree-optimization/83072
14718 PR tree-optimization/83073
14719 PR tree-optimization/97909
14720 * fold-const.c (expr_not_equal_to): Use a multi-range class.
14722 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
14724 PR tree-optimization/96707
14725 * range-op.cc (operator_rshift::lhs_op1_relation): New.
14727 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
14729 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
14730 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
14731 (negv2qi splitters): Use lowpart_subreg instead of
14732 gen_lowpart to create subreg.
14733 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
14734 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
14735 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
14736 gen_lowpart to create subreg.
14737 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
14739 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
14742 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
14744 2022-01-13 Martin Liska <mliska@suse.cz>
14746 * common/config/arm/arm-common.c (arm_target_mode): Wrap
14747 keywords with %<, %> and remove trailing punctuation char.
14748 (arm_canon_arch_option_1): Likewise.
14749 (arm_asm_auto_mfpu): Likewise.
14750 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
14751 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
14752 (use_vfp_abi): Likewise.
14753 (aapcs_vfp_is_call_or_return_candidate): Likewise.
14754 (arm_handle_cmse_nonsecure_entry): Likewise.
14755 (arm_handle_cmse_nonsecure_call): Likewise.
14756 (thumb1_md_asm_adjust): Likewise.
14758 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
14760 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
14761 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
14762 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
14763 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
14764 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
14765 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
14766 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
14767 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
14770 2022-01-13 Jakub Jelinek <jakub@redhat.com>
14772 PR tree-optimization/103989
14773 * tree-inline.c (setup_one_parameter): Don't copy parms with
14776 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
14778 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
14779 'TYPE_ADDR_SPACE' for offloading.
14780 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
14781 'TYPE_ADDR_SPACE' for offloading.
14783 2022-01-13 Julian Brown <julian@codesourcery.com>
14784 Thomas Schwinge <thomas@codesourcery.com>
14786 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
14788 (add_async_clauses_and_wait): ...here. Call new outlined function.
14789 (decompose_kernels_region_body): Add wait at the end of
14790 explicitly-asynchronous kernels regions.
14792 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
14794 PR middle-end/100280
14795 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
14796 Mark variables used in synthesized data clauses as addressable.
14798 2022-01-13 Martin Liska <mliska@suse.cz>
14800 * config/epiphany/epiphany.c (epiphany_mode_priority):
14801 Use gcc_unreachable for not handled cases.
14803 2022-01-13 Martin Liska <mliska@suse.cz>
14805 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
14806 Use %qs format specifier.
14807 (epiphany_override_options): Wrap keyword in %<, %>.
14809 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
14812 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
14814 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
14816 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
14818 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
14822 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
14823 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
14824 when constructing vector logic RTXes.
14825 (expand_vec_perm_pshufb2): Ditto.
14826 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
14827 (<plusminus:insn>v2qi3): Ditto.
14828 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
14829 (vcondu<mode><mode>): Ditto.
14830 (vcond_mask_<mode><mode>): Ditto.
14831 (one_cmpl<VI_32:mode>2): Remove expander.
14832 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
14833 Use VI_16_32 mode iterator.
14834 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
14835 Use lowpart_subreg instead of gen_lowpart to create subreg.
14836 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
14837 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
14838 Disparage GPR alternative a bit. Add CC clobber.
14839 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
14840 Use lowpart_subreg instead of gen_lowpart to create subreg.
14841 (*<any_logic:code><VI_16_32:mode>3): Merge from
14842 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
14843 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
14845 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
14846 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
14848 2022-01-12 Clément Chigot <clement.chigot@atos.net>
14850 * configure.ac: Check sizeof ino_t and dev_t.
14851 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
14852 syscall being able to handle 64bit inodes.
14853 * config.in: Regenerate.
14854 * configure: Regenerate.
14855 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
14856 (remove_duplicates): Use it.
14858 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
14860 PR tree-optimization/103551
14861 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
14863 2022-01-12 Richard Biener <rguenther@suse.de>
14865 PR tree-optimization/103990
14866 * tree-pass.h (tail_merge_optimize): Drop unused argument.
14867 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
14868 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
14869 and adjust call to tail_merge_optimize.
14871 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
14873 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
14874 does not add autovectorize_vector_modes.
14876 2022-01-12 Martin Liska <mliska@suse.cz>
14878 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
14879 %qs where possible.
14880 (aarch64_parse_sve_width_string): Likewise.
14881 (aarch64_override_options_internal): Likewise.
14882 (aarch64_print_hint_for_extensions): Likewise.
14883 (aarch64_validate_sls_mitigation): Likewise.
14884 (aarch64_handle_attr_arch): Likewise.
14885 (aarch64_handle_attr_cpu): Likewise.
14886 (aarch64_handle_attr_tune): Likewise.
14887 (aarch64_handle_attr_isa_flags): Likewise.
14889 2022-01-12 Martin Liska <mliska@suse.cz>
14891 * config.gcc: Include elfos.h before ${tm_file}.
14893 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
14895 * config/cris/cris.c: Quote identifiers in parameters to error
14896 and internal_error, and remove extraneous spaces with punctuation.
14897 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
14898 expression to internal_error, pass it as a parameter instead of
14899 appending it to the format part.
14901 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
14903 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
14906 2022-01-11 qing zhao <qing.zhao@oracle.com>
14908 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
14909 Change the 3rd argument of function .DEFERRED_INIT to the name of the
14911 (gimplify_decl_expr): Delete the 3rd argument when call
14912 gimple_add_init_for_auto_var.
14913 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
14914 the 3rd argument change of function .DEFERRED_INIT.
14915 * tree-cfg.c (verify_gimple_call): Update comments and verification
14916 to reflect the 3rd argument change of function .DEFERRED_INIT.
14917 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
14918 (sra_modify_deferred_init): Change the 3rd argument of function
14919 .DEFERRED_INIT to the name of the decl.
14921 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
14923 * flag-types.h (enum gfc_convert): Add flags for
14926 2022-01-11 Michael Meissner <meissner@the-meissners.org>
14928 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
14929 checks for only C/C++ front ends before allowing the long double
14930 format to change without a warning.
14932 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
14934 PR rtl-optimization/103974
14935 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
14936 extra argument, default true, that says whether old-reload
14937 targets should be excluded.
14938 * ira-color.c (color_pass): Pass false.
14940 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
14943 * config/i386/mmx.md (vcond<mode><mode>):
14944 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
14945 (vcondu<mode><mode>): Ditto.
14946 (vcond_mask_<mode><mode>): Ditto.
14947 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
14948 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
14949 Use VI_16_32 mode iterator.
14950 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
14951 Update for rename. Handle V2QImode.
14952 (expand_vec_perm_blend): Update for rename.
14954 2022-01-11 Jakub Jelinek <jakub@redhat.com>
14957 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
14959 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14961 PR middle-end/70090
14962 * tree-object-size.c (size_valid_p): New function.
14963 (size_for_offset): Remove OFFSET constness assertion.
14964 (addr_object_size): Build dynamic expressions for object
14965 sizes and use size_valid_p to decide if it is valid for the
14966 given OBJECT_SIZE_TYPE.
14967 (compute_builtin_object_size): Allow dynamic offsets when
14968 computing size at O0.
14969 (call_object_size): Call size_valid_p.
14970 (plus_stmt_object_size): Allow non-constant offset and use
14971 size_valid_p to decide if it is valid for the given
14974 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14976 PR middle-end/70090
14977 * tree-object-size.c (alloc_object_size): Make and return
14978 non-constant size expression.
14979 (call_object_size): Return expression or unknown based on
14980 whether dynamic object size is requested.
14982 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14984 PR middle-end/70090
14985 * tree-object-size.c: Include tree-dfa.h.
14986 (parm_object_size): New function.
14987 (collect_object_sizes_for): Call it.
14989 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14991 PR middle-end/70090
14992 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
14994 * tree-object-size.c: Include gimplify-me.h.
14995 (struct object_size_info): New member UNKNOWNS.
14996 (size_initval_p, size_usable_p, object_sizes_get_raw): New
14998 (object_sizes_get): Return suitable gimple variable for
15000 (bundle_sizes): New function.
15001 (object_sizes_set): Use it and handle dynamic object size
15003 (object_sizes_set_temp): New function.
15004 (size_for_offset): Adjust for dynamic size expressions.
15005 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
15007 (compute_builtin_object_size): Call gimplify_size_expressions
15009 (dynamic_object_size): New function.
15010 (cond_expr_object_size): Use it.
15011 (phi_dynamic_object_size): New function.
15012 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
15013 accommodate dynamic object sizes.
15015 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
15016 Jakub Jelinek <jakub@redhat.com>
15018 PR tree-optimization/103961
15019 * tree-object-size.c (plus_stmt_object_size): Always avoid
15020 computing offset for -1 size.
15022 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
15024 PR tree-optimization/103821
15025 * range-op.cc (range_operator::fold_range): Only do precise ranges
15026 when there are not too many subranges.
15028 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
15030 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
15031 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
15033 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
15034 Richard Biener <rguenther@suse.de>
15036 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
15037 highpart_mults_inserted field.
15038 (convert_mult_to_highpart): New function to convert right shift
15039 of a widening multiply into a MULT_HIGHPART_EXPR.
15040 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
15041 Call new convert_mult_to_highpart function.
15042 (pass_optimize_widening_mul::execute): Add a statistics counter
15043 for tracking "highpart multiplications inserted" events.
15045 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
15048 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
15050 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
15052 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
15054 2022-01-11 Olivier Hainque <hainque@adacore.com>
15056 * gcc.c (driver_handle_option): State --sysroot as
15059 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
15061 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
15062 useless related to option -mno-power10.
15064 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
15067 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
15068 operands[1] from register_operand to vector_operand.
15070 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
15073 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
15075 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
15076 Use VI1_16_32 mode iterator.
15077 (*eq<mode>3): Ditto.
15078 (*gt<mode>3): Ditto.
15079 (*xop_maskcmp<mode>3): Ditto.
15080 (*xop_maskcmp_uns<mode>3): Ditto.
15081 (vec_cmp<mode><mode>): Ditto.
15082 (vec_cmpu<mode><mode>): Ditto.
15084 2022-01-10 Richard Biener <rguenther@suse.de>
15086 PR tree-optimization/103948
15087 * tree-vect-generic.c (expand_vector_condition): Return true if
15088 all ones vector is returned for true, all zeros vector for false
15089 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
15091 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
15093 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
15094 when _ARCH_PWR10. Use signed types.
15095 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
15096 (_mm_blendv_pd): Likewise.
15098 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
15100 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
15102 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
15103 epilogues, unless we are guaranteed that we can't have partial vectors.
15104 * genopinit.c: (partial_vectors_supported): Generate new function.
15106 2022-01-10 Jakub Jelinek <jakub@redhat.com>
15109 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
15110 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
15111 always ignore them, when seeing other zero sized bitfields, either
15112 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
15113 it. Pass it to recursive calls. Add wrapper
15114 with old arguments and diagnose ABI differences for C structures
15115 with zero width bitfields. Formatting fixes.
15117 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15119 PR rtl-optimization/98782
15120 * ira-int.h (ira_soft_conflict): Declare.
15121 * ira-color.c (max_soft_conflict_loop_depth): New constant.
15122 (ira_soft_conflict): New function.
15123 (spill_soft_conflicts): Likewise.
15124 (assign_hard_reg): Use them to handle the case described by
15125 the comment above ira_soft_conflict.
15126 (improve_allocation): Likewise.
15127 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
15128 to share the same register.
15130 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15132 PR rtl-optimization/98782
15133 * ira-int.h (ira_caller_save_cost): New function.
15134 (ira_caller_save_loop_spill_p): Likewise.
15135 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
15136 cheaper to spill a call-clobbered register throughout a loop rather
15137 than spill it around each individual call. If so, treat all
15138 call-clobbered registers as conflicts and...
15139 (propagate_allocno_info): ...do not propagate call information
15140 from the child to the parent.
15141 * ira-color.c (move_spill_restore): Update accordingly.
15142 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
15144 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15146 PR rtl-optimization/98782
15147 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
15148 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
15149 (ira_single_region_allocno_p): New function.
15150 (ira_total_conflict_hard_regs): Likewise.
15151 * ira-build.c (ira_create_allocno): Initialize
15152 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
15153 (ira_propagate_hard_reg_costs): New function.
15154 (propagate_allocno_info): Use it. Try to avoid propagating
15155 hard register conflicts to parent allocnos if we can handle
15156 the conflicts by spilling instead. Limit the propagated
15157 register costs to the cost of spilling throughout the child loop.
15158 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
15159 test whether a child and parent allocno can share the same
15161 (move_spill_restore): Adjust for the new behavior of
15162 propagate_allocno_info.
15164 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15166 PR rtl-optimization/98782
15167 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
15169 * ira-color.c (color_pass): ...here.
15171 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15173 PR rtl-optimization/98782
15174 * ira-color.c (color_pass): Add comments to describe the spill costs.
15175 (move_spill_restore): Likewise. Fix reversed calculation.
15177 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15179 PR rtl-optimization/98782
15180 * ira-int.h (ira_loop_border_costs): New class.
15181 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
15183 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
15184 (color_pass): Likewise.
15185 (move_spill_restore): Likewise.
15187 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
15190 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
15192 2022-01-10 Richard Biener <rguenther@suse.de>
15194 PR tree-optimization/100359
15195 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
15196 Allow non-growing peeling with !allow_peel and UL_ALL.
15198 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
15200 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
15201 special case for TImode to V1TImode moves, going via V2DImode.
15203 2022-01-08 Jakub Jelinek <jakub@redhat.com>
15206 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
15209 2022-01-08 David Malcolm <dmalcolm@redhat.com>
15211 * doc/analyzer.texi
15212 (Special Functions for Debugging the Analyzer): Document
15213 __analyzer_dump_escaped.
15215 2022-01-08 David Malcolm <dmalcolm@redhat.com>
15217 * doc/analyzer.texi (Other Debugging Techniques): Document
15218 region::is_named_decl_p.
15220 2022-01-07 Andrew Pinski <apinski@marvell.com>
15223 * config/arm/aarch-common.c (arm_md_asm_adjust):
15224 Use a temp if !REG_P.
15226 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
15228 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
15229 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
15231 2022-01-07 liuhongt <hongtao.liu@intel.com>
15233 PR rtl-optimization/103750
15234 * fwprop.c (forward_propagate_into): Allow propagations from
15235 inner loop to outer loop.
15237 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
15239 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
15241 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
15243 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
15244 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
15245 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
15247 2022-01-07 liuhongt <hongtao.liu@intel.com>
15249 * config/i386/sse.md
15250 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
15251 UNSPEC_PCMP_UNSIGNED.
15253 2022-01-07 liuhongt <hongtao.liu@intel.com>
15256 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
15257 gen_avx2_pblendph_1 when elt == 0.
15258 * config/i386/sse.md (avx2_pblendph): Rename to ..
15259 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
15260 (*avx2_pblendw): Rename to ..
15261 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
15262 (avx2_pblendw): Rename to ..
15263 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
15264 (blendsuf): Removed.
15265 (sse4_1_pblend<blendsuf>): Renamed to ..
15266 (sse4_1_pblend<ssemodesuffix>): .. this.
15268 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
15271 * config/i386/i386.c (ix86_output_indirect_function_return):
15272 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
15274 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
15277 * config/i386/i386-opts.h (harden_sls): Replace
15278 harden_sls_indirect_branch with harden_sls_indirect_jmp.
15279 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
15281 (ix86_output_indirect_jmp): Likewise.
15282 (ix86_output_call_insn): Likewise.
15283 * config/i386/i386.opt: Replace indirect-branch with
15284 indirect-jmp. Replace harden_sls_indirect_branch with
15285 harden_sls_indirect_jmp.
15286 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
15289 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
15291 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
15292 Add %q modifier for operands in general registers.
15293 <MODE_SI>: Add %q modifier for operands in general registers.
15294 * config/i386/i386.md (*movhi_internal): Change type attribute of
15295 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
15296 to SImode for non-avx512fp16 targets.
15297 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
15298 * config/i386/mmx.md (*movv2qi_internal):
15299 Ditto for xmm-gpr interunit alternatives 8,9.
15301 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
15303 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
15305 (riscv_ext_version_table): Add version info for vector extensions.
15306 (riscv_ext_flag_table): Add option mask for vector extensions.
15307 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
15308 (MASK_VECTOR_EEW_64): New.
15309 (MASK_VECTOR_EEW_FP_32): New.
15310 (MASK_VECTOR_EEW_FP_64): New.
15311 (MASK_ZVL32B): New.
15312 (MASK_ZVL64B): New.
15313 (MASK_ZVL128B): New.
15314 (MASK_ZVL256B): New.
15315 (MASK_ZVL512B): New.
15316 (MASK_ZVL1024B): New.
15317 (MASK_ZVL2048B): New.
15318 (MASK_ZVL4096B): New.
15319 (MASK_ZVL8192B): New.
15320 (MASK_ZVL16384B): New.
15321 (MASK_ZVL32768B): New.
15322 (MASK_ZVL65536B): New.
15323 (TARGET_ZVL32B): New.
15324 (TARGET_ZVL64B): New.
15325 (TARGET_ZVL128B): New.
15326 (TARGET_ZVL256B): New.
15327 (TARGET_ZVL512B): New.
15328 (TARGET_ZVL1024B): New.
15329 (TARGET_ZVL2048B): New.
15330 (TARGET_ZVL4096B): New.
15331 (TARGET_ZVL8192B): New.
15332 (TARGET_ZVL16384B): New.
15333 (TARGET_ZVL32768B): New.
15334 (TARGET_ZVL65536B): New.
15335 * config/riscv/riscv.opt (Mask(VECTOR)): New.
15336 (riscv_vector_eew_flags): New.
15337 (riscv_zvl_flags): New.
15339 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
15341 * common/config/riscv/riscv-common.c
15342 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
15345 2022-01-06 Jakub Jelinek <jakub@redhat.com>
15347 PR tree-optimization/103899
15348 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
15349 warning by moving context variable to the only spot where it is used
15350 and moving gcc_assert into if body.
15352 2022-01-06 Jakub Jelinek <jakub@redhat.com>
15354 PR rtl-optimization/103908
15355 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
15358 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
15361 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
15362 Skip over instances with undefined function types.
15364 2022-01-05 Andrew Pinski <apinski@marvell.com>
15367 * config/i386/i386.h (x86_mfence): Mark with GTY.
15369 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
15372 * config/i386/mmx.md (VI_16_32): New mode iterator.
15373 (VI1_16_32): Ditto.
15374 (mmxvecsize): Handle V2QI mode.
15375 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
15376 Use VI1_16_32 mode iterator.
15377 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
15378 Use VI1_16_32 mode iterator.
15379 (abs<mode>2): Use VI_16_32 mode iterator.
15380 (uavgv2qi3_ceil): New insn pattern.
15382 2022-01-05 Martin Sebor <msebor@redhat.com>
15384 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
15385 %qs to avoid -Wformat-diag.
15387 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
15390 * config/i386/mmx.md (one_cmplv2qi2): Change
15391 alternatives 1,2 type from sselog to sselog1.
15393 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
15396 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
15397 narrow mode remapped elements for !one_operand_p case.
15399 2022-01-05 Richard Biener <rguenther@suse.de>
15401 PR tree-optimization/103816
15402 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
15403 check DR_GROUP_GAP compute for overflow and representability.
15405 2022-01-05 Jakub Jelinek <jakub@redhat.com>
15408 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
15409 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
15410 it can do unwanted rhs folding like &a[0] into &2.0 etc.
15412 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
15415 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
15416 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
15417 (rs6000_need_ipa_fn_target_info): New function.
15418 (rs6000_update_ipa_fn_target_info): Likewise.
15419 (rs6000_can_inline_p): Adjust for ipa function summary target info.
15420 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
15421 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
15422 summary target info.
15423 (analyze_function_body): Adjust for ipa function summary target info
15424 and call hook rs6000_need_ipa_fn_target_info and
15425 rs6000_update_ipa_fn_target_info.
15426 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
15428 (inline_read_section): Likewise.
15429 (ipa_fn_summary_write): Likewise.
15430 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
15431 * doc/tm.texi: Regenerate.
15432 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
15433 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
15434 * target.def (update_ipa_fn_target_info): New hook.
15435 (need_ipa_fn_target_info): Likewise.
15436 * targhooks.c (default_need_ipa_fn_target_info): New function.
15437 (default_update_ipa_fn_target_info): Likewise.
15438 * targhooks.h (default_update_ipa_fn_target_info): New declare.
15439 (default_need_ipa_fn_target_info): Likewise.
15441 2022-01-04 Martin Sebor <msebor@redhat.com>
15443 PR middle-end/99612
15444 * builtins.c (get_memmodel): Move warning code to
15445 gimple-ssa-warn-access.cc.
15446 (expand_builtin_atomic_compare_exchange): Same.
15447 (expand_ifn_atomic_compare_exchange): Same.
15448 (expand_builtin_atomic_load): Same.
15449 (expand_builtin_atomic_store): Same.
15450 (expand_builtin_atomic_clear): Same.
15451 * doc/extend.texi (__atomic_exchange_n): Update valid memory
15453 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
15454 (struct memmodel_pair): New struct.
15455 (memmodel_name): New function.
15456 (pass_waccess::maybe_warn_memmodel): New function.
15457 (pass_waccess::check_atomic_memmodel): New function.
15458 (pass_waccess::check_atomic_builtin): Handle memory model.
15459 * input.c (expansion_point_location_if_in_system_header): Return
15460 original location if expansion location is in a system header.
15462 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
15465 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
15466 (one_cmplv2qi3 splitters): New post-reload splitters.
15467 (*andnotv2qi3): New insn pattern.
15468 (andnotv2qi3 splitters): New post-reload splitters.
15469 (<any_logic:code>v2qi3): New insn pattern.
15470 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
15472 2022-01-04 Richard Biener <rguenther@suse.de>
15474 PR tree-optimization/103800
15475 * tree-vect-loop.c (vectorizable_phi): Remove assert and
15478 2022-01-04 Richard Biener <rguenther@suse.de>
15480 PR tree-optimization/103690
15481 * tree-pass.h (tail_merge_optimize): Adjust.
15482 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
15483 to re-split critical edges, move CFG cleanup ...
15484 * tree-ssa-pre.c (pass_pre::execute): ... here, before
15485 simple_dce_from_worklist and delay freeing inserted_exprs from
15487 (fini_pre): .. here.
15489 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
15491 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
15492 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
15493 (setcc_from_bi): Remove SImode specific pattern.
15494 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
15495 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
15496 for sign- and zero-extending BImode predicates to integers.
15497 (setcc_int<mode>): Remove previous (-1-based) instructions.
15498 (cstorebi4): Remove BImode to SImode specific expander.
15499 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
15500 (cstore<mode>4): For both integer and floating point modes.
15502 2022-01-04 Olivier Hainque <hainque@adacore.com>
15504 * gcc.c (driver_handle_option): do_save --sysroot.
15506 2022-01-04 Richard Biener <rguenther@suse.de>
15508 PR tree-optimization/103864
15509 PR tree-optimization/103544
15510 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
15511 reductions wrapped in conversions from SLP handling.
15512 (vect_analyze_slp): Revert PR103544 change.
15514 2022-01-04 Jakub Jelinek <jakub@redhat.com>
15516 PR rtl-optimization/103860
15517 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
15518 uselessly for blocks for which it has been called already.
15520 2022-01-04 Cui,Lili <lili.cui@intel.com>
15522 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
15523 to Alderlake and Rocketlake.
15525 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
15527 PR middle-end/103643
15528 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
15529 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
15531 2022-01-04 liuhongt <hongtao.liu@intel.com>
15534 * config/i386/sse.md (*bit_and_float_vector_all_ones):
15535 Force_reg operand 1 to avoid ICE.
15537 2022-01-04 Jason Merrill <jason@redhat.com>
15539 * tree-pretty-print.c (do_niy): Add spc parameter.
15541 (print_call_name): Add spc local variable.
15543 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
15546 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
15547 (mov<V_32:mode>_internal): Ditto.
15548 (*push<V_32:mode>_rex64): Ditto.
15549 (movmisalign<V_32:mode>): Ditto.
15550 (*push<V_32:mode>_rex64 splitter): Enable for
15551 TARGET_64BIT && TARGET_SSE.
15552 (*push<V_32:mode>2): Remove insn pattern.
15554 2022-01-03 Andrew Pinski <apinski@marvell.com>
15557 * doc/extend.texi: Extend the documentation about Complex
15558 types for casting and also rewrite the __real__/__imag__
15559 expression portion to use tables.
15560 Move __builtin_complex to the Complex type section.
15562 2022-01-03 Jakub Jelinek <jakub@redhat.com>
15565 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
15566 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
15568 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
15569 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
15570 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
15571 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
15572 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
15573 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
15575 * optabs.def (atomic_add_fetch_cmp_0_optab,
15576 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
15577 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
15579 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
15580 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
15581 * tree-ssa-ccp.c: Include internal-fn.h.
15582 (optimize_atomic_bit_test_and): Add . before internal fn call
15583 in function comment. Change return type from void to bool and
15584 return true only if successfully replaced.
15585 (optimize_atomic_op_fetch_cmp_0): New function.
15586 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
15587 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
15588 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
15589 for *XOR* ones only if optimize_atomic_bit_test_and failed.
15590 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
15591 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
15592 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
15593 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
15594 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
15595 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
15596 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
15597 new named patterns.
15599 2022-01-03 Richard Biener <rguenther@suse.de>
15601 PR middle-end/103851
15602 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
15604 2022-01-03 Jakub Jelinek <jakub@redhat.com>
15607 * symtab.c: Include fold-const.h.
15608 (symtab_node::equal_address_to): If folding_initializer is true,
15609 handle it like memory_accessed. Simplify.
15611 2022-01-03 Martin Liska <mliska@suse.cz>
15613 * doc/extend.texi: Use ; for function declarations.
15615 2022-01-03 Jakub Jelinek <jakub@redhat.com>
15618 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
15619 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
15621 2022-01-03 Jakub Jelinek <jakub@redhat.com>
15623 * gcc.c (process_command): Update copyright notice dates.
15624 * gcov-dump.c (print_version): Ditto.
15625 * gcov.c (print_version): Ditto.
15626 * gcov-tool.c (print_version): Ditto.
15627 * gengtype.c (create_file): Ditto.
15628 * doc/cpp.texi: Bump @copying's copyright year.
15629 * doc/cppinternals.texi: Ditto.
15630 * doc/gcc.texi: Ditto.
15631 * doc/gccint.texi: Ditto.
15632 * doc/gcov.texi: Ditto.
15633 * doc/install.texi: Ditto.
15634 * doc/invoke.texi: Ditto.
15636 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
15639 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
15640 (VALID_INT_MODE_P): Ditto.
15641 * config/i386/i386.c (ix86_secondary_reload): Handle
15642 V2QImode reloads from SSE register to memory.
15643 (vector_mode_supported_p): Always return true for V2QImode.
15644 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
15645 (*negqi_ext<mode>_2): Ditto.
15646 * config/i386/mmx.md (movv2qi): New expander.
15647 (movmisalignv2qi): Ditto.
15648 (*movv2qi_internal): New insn pattern.
15649 (*pushv2qi2): Ditto.
15650 (negv2qi2 and splitters): Ditto.
15651 (<plusminus:insn>v2qi3 and splitters): Ditto.
15653 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
15655 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
15656 sync_lock_test_and_set libfunc. Call convert_memory_address to
15657 convert memory address to Pmode.
15658 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
15661 Copyright (C) 2022 Free Software Foundation, Inc.
15663 Copying and distribution of this file, with or without modification,
15664 are permitted in any medium without royalty provided the copyright
15665 notice and this notice are preserved.