]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
3db624bac9a10f3160312fcb75f70308e2fc2200
[thirdparty/gcc.git] / gcc / ChangeLog
1 2022-07-11 Andrew MacLeod <amacleod@redhat.com>
2
3 PR tree-optimization/106234
4 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
5 cache value before recursively resolving it.
6
7 2022-07-11 Roger Sayle <roger@nextmovesoftware.com>
8
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.
51
52 2022-07-11 Richard Sandiford <richard.sandiford@arm.com>
53
54 PR tree-optimization/106250
55 * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
56 argument to directly_supported_p.
57
58 2022-07-11 Richard Biener <rguenther@suse.de>
59
60 * tree-into-ssa.cc (update_ssa): Do not forcefully
61 re-compute dominance fast queries for TODO_update_ssa_no_phi.
62
63 2022-07-11 Richard Biener <rguenther@suse.de>
64
65 PR tree-optimization/106228
66 * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
67 VUSE compute for the non-loop case.
68
69 2022-07-11 Richard Biener <rguenther@suse.de>
70
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
77 to be updated.
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.
83
84 2022-07-11 Richard Biener <rguenthert@suse.de>
85
86 PR target/105459
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.
90
91 2022-07-11 Richard Biener <rguenther@suse.de>
92
93 PR tree-optimization/106228
94 * tree-vect-data-refs.cc (vect_setup_realignment): Properly
95 set a VUSE operand on the emitted load.
96
97 2022-07-11 Aldy Hernandez <aldyh@redhat.com>
98
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
103 to set_range_info.
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
119 value_range_kind.
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
129 vrange_storage.
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
136 gcc_unreachable.
137
138 2022-07-10 Aldy Hernandez <aldyh@redhat.com>
139
140 * value-range.cc (irange::operator=): Call verify_range.
141 (irange::irange_set): Normalize kind after everything else has
142 been set.
143 (irange::irange_set_anti_range): Same.
144 (irange::set): 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
150 explicit mask.
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
156 with trees.
157 (irange::varying_compatible_p): Set nonzero mask.
158
159 2022-07-10 Xi Ruoyao <xry111@xry111.site>
160
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.
164
165 2022-07-10 Xi Ruoyao <xry111@xry111.site>
166
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.
176
177 2022-07-10 Xi Ruoyao <xry111@xry111.site>
178
179 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
180 instead of mul.d.
181
182 2022-07-09 Aldy Hernandez <aldyh@redhat.com>
183
184 * value-range.cc (irange::irange_single_pair_union): Set
185 VR_VARYING when appropriate.
186
187 2022-07-09 Vit Kabele <vit.kabele@sysgo.com>
188
189 * stor-layout.cc (finalize_record_size): Extend warning message.
190
191 2022-07-09 Sam Feifer <sfeifer@redhat.com>
192
193 PR tree-optimization/98304
194 * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
195
196 2022-07-09 Jeff Law <jeffreyalaw@gmail.com>
197
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.
201
202 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
203
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...
208
209 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
210
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.
216
217 2022-07-09 Tamar Christina <tamar.christina@arm.com>
218
219 * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
220 indicate that the value is not undefined.
221
222 2022-07-09 Andrew Pinski <apinski@marvell.com>
223
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.
227
228 2022-07-08 Lewis Hyatt <lhyatt@gmail.com>
229
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.
235
236 2022-07-08 Martin Liska <mliska@suse.cz>
237
238 PR sanitizer/106132
239 * opts.cc (finish_options): Use 2 calls to
240 report_conflicting_sanitizer_options.
241
242 2022-07-08 Richard Biener <rguenther@suse.de>
243
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
249 is queued.
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.
256
257 2022-07-08 Martin Liska <mliska@suse.cz>
258
259 * toplev.cc (init_asm_output): Do not init asm_out_file.
260
261 2022-07-08 Tamar Christina <tamar.christina@arm.com>
262
263 PR tree-optimization/106063
264 * match.pd: Do not apply pattern after veclower is not supported.
265
266 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
267
268 * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
269 'fn2' computation.
270
271 2022-07-08 Tamar Christina <tamar.christina@arm.com>
272
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
280 parameter.
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.
301
302 2022-07-08 Haochen Jiang <haochen.jiang@intel.com>
303
304 PR target/106180
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.
308
309 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
310
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
314 or UNITS_PER_FP_REG.
315
316 2022-07-07 David Malcolm <dmalcolm@redhat.com>
317
318 * diagnostic-format-json.cc (json_from_location_range): Update for
319 removal of label_text::maybe_free in favor of automatic memory
320 management.
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
328 management.
329 (event_range::print): Likewise.
330 (default_tree_diagnostic_path_printer): Likewise.
331 (default_tree_make_json_for_path): Likewise.
332
333 2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
334
335 * statistics.cc (get_function_name): Add check to see if fn is not NULL.
336
337 2022-07-07 Richard Biener <rguenther@suse.de>
338
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.
345
346 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
347
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'.
352
353 2022-07-07 Richard Biener <rguenther@suse.de>
354
355 PR target/106219
356 * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
357 set DECL_PURE_P.
358
359 2022-07-07 Richard Biener <rguenther@suse.de>
360
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
366 when possible.
367
368 2022-07-07 Richard Biener <rguenther@suse.de>
369
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
381 if required.
382
383 2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com>
384
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.
389
390 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
391
392 * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
393 '[...]_data'.
394 * config/nvptx/mkoffload.cc (process): Likewise.
395
396 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
397
398 * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
399
400 2022-07-05 Andrew MacLeod <amacleod@redhat.com>
401
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.
407
408 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
409
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.
416
417 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
418 Hongtao Liu <hongtao.liu@intel.com>
419
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).
430
431 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
432 Uroš Bizjak <ubizjak@gmail.com>
433
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.
437
438 2022-07-05 Richard Biener <rguenther@suse.de>
439
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
443 depth.
444
445 2022-07-05 Richard Biener <rguenther@suse.de>
446
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
450 uses.
451 (rewrite_into_loop_closed_ssa): Adjust.
452
453 2022-07-05 Richard Biener <rguenther@suse.de>
454
455 PR tree-optimization/106186
456 * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
457 Properly handle virtual PHI nodes.
458
459 2022-07-05 Richard Biener <rguenther@suse.de>
460
461 PR tree-optimization/106196
462 * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
463 handle aggregate returns of calls for VDEF updates.
464
465 2022-07-05 Richard Biener <rguenther@suse.de>
466
467 * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
468 Maintain LC SSA.
469
470 2022-07-05 Richard Sandiford <richard.sandiford@arm.com>
471
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
479 using sdot.
480 (vectorizable_reduction): Likewise. Skip target support test
481 for lane reductions.
482 (vect_emulate_mixed_dot_prod): New function.
483 (vect_transform_reduction): Use it to emulate usdot via sdot.
484
485 2022-07-05 Richard Biener <rguenther@suse.de>
486
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
491 variable name.
492
493 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
494
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.
501
502 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
503
504 PR target/104489
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.
524
525 2022-07-04 Martin Jambor <mjambor@suse.cz>
526
527 PR tree-optimization/105860
528 * tree-sra.cc (build_reconstructed_reference): Start expr
529 traversal only just below the outermost union.
530
531 2022-07-04 Richard Biener <rguenther@suse.de>
532
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.
539
540 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
541 Chung-Lin Tang <cltang@codesourcery.com>
542 Thomas Schwinge <thomas@codesourcery.com>
543
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.
554
555 2022-07-04 Richard Biener <rguenther@suse.de>
556
557 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
558 no SSA update is needed instead of updating virtual SSA
559 form.
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.
564
565 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
566
567 * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
568 for direct circularity.
569
570 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
571
572 * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
573 the language for vector types.
574
575 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
576
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.
583 (irange::set): 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.
598 (gt_pch_nx): Same.
599 (irange::set_undefined): Set nonzero bits.
600 (irange::set_varying): Same.
601 (irange::normalize_kind): Call set_undefined.
602
603 2022-07-04 Richard Biener <rguenther@suse.de>
604
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):
609 Make static.
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):
621 Likewise.
622 * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
623 Likewise.
624 * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
625 (tree_unswitch_outer_loop): Do not rewrite virtuals into
626 LC ssa.
627 * tree-parloops.cc (transform_to_exit_first_loop_alt):
628 Likewise.
629 (pass_parallelize_loops::execute): After finishing rewrite
630 into LC SSA again because we do not maintain it properly.
631
632 2022-07-04 Richard Biener <rguenther@suse.de>
633
634 PR tree-optimization/106055
635 * graphite.cc (canonicalize_loop_closed_ssa): Check whether
636 we can propagate.
637
638 2022-07-04 Haochen Jiang <haochen.jiang@intel.com>
639
640 PR target/43618
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.
644
645 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
646
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
650 with two arguments.
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.
663
664 2022-07-03 H.J. Lu <hjl.tools@gmail.com>
665
666 PR target/106022
667 * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
668 New.
669 * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
670 New.
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.
675
676 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
677
678 * gimple-range-cache.cc: Include value-range-storage.h.
679 * gimple-range-cache.h (class block_range_cache): Add "class" to
680 m_range_allocator.
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
692 m_range_allocator.
693 * value-range-storage.h (class vrange_allocator): Move from
694 value-range.h.
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.
702
703 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
704
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.
710
711 2022-07-03 Xi Ruoyao <xry111@xry111.site>
712 Lulu Cheng <chenglulu@loongson.cn>
713
714 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
715 New static function.
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.
722
723 2022-07-03 Ian Lance Taylor <iant@golang.org>
724
725 * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
726 statement if -fdelete-dead-exceptions.
727
728 2022-07-02 Tim Lange <mail@tim-lange.me>
729
730 PR analyzer/105900
731 * doc/invoke.texi: Added Wanalyzer-allocation-size.
732
733 2022-07-02 Immad Mir <mirimmad17@gmail.com>
734
735 PR analyzer/106003
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.
740
741 2022-07-01 Aldy Hernandez <aldyh@redhat.com>
742
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.
746
747 2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
748
749 * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
750 Use "r" constraint for operand 1.
751
752 2022-07-01 Richard Biener <rguenther@suse.de>
753
754 * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
755 Do not look at interesting_blocks which is a copy of
756 blocks_to_update.
757 (update_ssa): Do not initialize it.
758 (pass_build_ssa::execute): Set interesting_blocks to NULL
759 after releasing it.
760
761 2022-07-01 Richard Biener <rguenther@suse.de>
762
763 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
764 back to using maybe_ne (off, -1).
765
766 2022-07-01 Richard Biener <rguenther@suse.de>
767
768 * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
769 checking dominance check conditional on flag_checking.
770
771 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
772
773 * config/gcn/gcn-protos.h (print_operand_address): Remove register
774 keyword on 'rtx addr' argument.
775
776 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
777 Uroš Bizjak <ubizjak@gmail.com>
778
779 * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
780 to post-reload define_insn_and_split.
781
782 2022-07-01 Jakub Jelinek <jakub@redhat.com>
783
784 PR middle-end/106144
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.
789
790 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
791
792 PR target/106122
793 * config/i386/i386.md (peephole2): Avoid generating pop %esp
794 when optimizing for size.
795
796 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
797 Uroš Bizjak <ubizjak@gmail.com>
798
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.
822
823 2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
824
825 PR middle-end/105874
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.
829
830 2022-07-01 Richard Biener <rguenther@suse.de>
831
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
835 copy.
836
837 2022-07-01 Martin Liska <mliska@suse.cz>
838
839 PR tree-optimization/106126
840 * gimple-if-to-switch.cc (struct condition_info): Save
841 has_side_effect.
842 (find_conditions): Parse all BBs.
843 (pass_if_to_switch::execute): Allow only side effects for first
844 BB.
845
846 2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
847
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.
852
853 2022-06-30 Joseph Myers <joseph@codesourcery.com>
854
855 PR lto/106129
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
859 find_option.
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.
863
864 2022-06-30 Aldy Hernandez <aldyh@redhat.com>
865
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.
874
875 2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
876 Uroš Bizjak <ubizjak@gmail.com>
877
878 * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
879 provide gen_swapsi.
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).
885
886 2022-06-30 Richard Biener <rguenther@suse.de>
887
888 * domwalk.h (dom_walker::dom_walker): Update comment to
889 reflect reality and new special argument value for
890 bb_index_to_rpo.
891 * domwalk.cc (dom_walker::dom_walker): Recognize -1
892 bb_index_to_rpo.
893 * tree-into-ssa.cc
894 (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
895 dom_walker to not use RPO.
896
897 2022-06-30 Martin Liska <mliska@suse.cz>
898
899 * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
900 it is unused.
901
902 2022-06-30 Andrew MacLeod <amacleod@redhat.com>
903
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.
907
908 2022-06-30 Antoni Boucher <bouanto@zoho.com>
909
910 PR target/106095
911 * config/i386/sse.md: Fix asm generation.
912
913 2022-06-29 Sergei Trofimovich <siarheit@google.com>
914
915 PR c++/106102
916 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
917
918 2022-06-29 Joseph Myers <joseph@codesourcery.com>
919
920 * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
921 not gen_const_mem for UNSPEC_PIC_CALL_SYM.
922
923 2022-06-29 Richard Biener <rguenther@suse.de>
924
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.
928
929 2022-06-29 Richard Biener <rguenther@suse.de>
930
931 PR tree-optimization/106112
932 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
933 a constant operand according to its type.
934
935 2022-06-29 Martin Liska <mliska@suse.cz>
936
937 * doc/invoke.texi: Remove removed evrp-mode.
938
939 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
940
941 PR target/106097
942 * config/loongarch/loongarch.cc (loongarch_build_integer):
943 Remove undefined behavior from code.
944
945 2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
946
947 * doc/sourcebuild.texi: Document new no_alignment_constraints
948 effective target check.
949
950 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
951
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.
960
961 2022-06-28 Alexandre Oliva <oliva@adacore.com>
962
963 * Makefile.in (TFLAGS): New.
964 (GCC_FOR_TARGET): Add TFLAGS.
965 (FLAGS_TO_PASS): Pass TFLAGS down.
966
967 2022-06-28 Richard Biener <rguenther@suse.de>
968
969 * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
970 call update_ssa.
971
972 2022-06-28 Richard Biener <rguenther@suse.de>
973
974 * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
975 mark_block_for_update.
976 (update_ssa): Adjust.
977
978 2022-06-28 Xi Ruoyao <xry111@xry111.site>
979
980 PR target/106096
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.
985
986 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
987
988 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
989 irange::supports_p.
990
991 2022-06-28 Richard Biener <rguenther@suse.de>
992
993 PR middle-end/106053
994 * match.pd ((T)a == (T)b): Avoid folding away sign
995 changes in a comparison if we'd truncate to a boolean.
996
997 2022-06-28 Kewen Lin <linkw@linux.ibm.com>
998
999 * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
1000 iterator GPR with SImode, adjust the condition and output template,
1001 rename to ...
1002 (*rotlsi3_insert_4): ... this.
1003
1004 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1005
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.
1016
1017 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1018
1019 * config/i386/i386-features.h: Add "final" and "override" to
1020 scalar_chain vfunc implementations as appropriate.
1021
1022 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1023
1024 * tree-switch-conversion.h: Add "final" and "override" to cluster
1025 vfunc implementations as appropriate.
1026
1027 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1028
1029 * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
1030 implementations as appropriate.
1031
1032 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1033
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.
1047
1048 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1049
1050 * adjust-alignment.cc: Add "final" and "override" to opt_pass
1051 vfunc implementations, removing redundant "virtual" as
1052 appropriate.
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.
1067 * cse.cc: Likewise.
1068 * dce.cc: Likewise.
1069 * df-core.cc: Likewise.
1070 * dse.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.
1114 * ipa.cc: Likewise.
1115 * ira.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.
1133 * ree.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.
1197 * web.cc: Likewise.
1198
1199 2022-06-27 Andrew Stubbs <ams@codesourcery.com>
1200
1201 * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
1202 (jump): Likewise.
1203 (movdi_symbol_save_scc): Likewise.
1204
1205 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
1206
1207 PR rtl-optimization/7061
1208 * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
1209
1210 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
1211
1212 PR tree-optimization/94026
1213 * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
1214 (((X >> C1) & C2) eq/ne C3): Likewise.
1215
1216 2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1217
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
1223 function_name.
1224 (statistics_histogram_event): Likewise.
1225
1226 2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1227
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.
1232
1233 2022-06-25 Aldy Hernandez <aldyh@redhat.com>
1234
1235 * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
1236 instead of evrp.
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
1254 cprop_into_stmt.
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.
1259
1260 2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
1261
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.
1306
1307 2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
1308 Richard Biener <rguenther@suse.de>
1309
1310 * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
1311 iteration over each basic block that was updated by the second
1312 iteration.
1313
1314 2022-06-24 Jason Merrill <jason@redhat.com>
1315
1316 PR c++/87729
1317 PR c++/20423
1318 * doc/invoke.texi: Document changes.
1319
1320 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
1321
1322 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
1323 condition to avoid overflow.
1324
1325 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1326
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.
1344
1345 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1346
1347 * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
1348 OPTION_MASK_MFCRF.
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
1353 OPTION_MASK_MFCRF.
1354 * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
1355 OPTION_MASK_EABI.
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):
1364 Replace with
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.
1383
1384 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1385
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.
1397
1398 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1399
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.
1417
1418 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1419
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.
1423
1424 2022-06-24 Richard Biener <rguenther@suse.de>
1425
1426 PR middle-end/106070
1427 * match.pd (a != b ? a : b): Fix translation of
1428 operand_equal_for_comparison_p.
1429
1430 2022-06-24 Jan Hubicka <jh@suse.cz>
1431
1432 PR ipa/106057
1433 * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
1434
1435 2022-06-24 Martin Liska <mliska@suse.cz>
1436
1437 PR middle-end/106059
1438 * profile-count.h: *= and /= operators need to modify this
1439 object.
1440
1441 2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
1442 Uroš Bizjak <ubizjak@gmail.com>
1443
1444 PR target/105930
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).
1448
1449 2022-06-24 Alexandre Oliva <oliva@adacore.com>
1450
1451 * common.opt (nostdlib++): New.
1452 * doc/invoke.texi (-nostdlib++): Document it.
1453
1454 2022-06-24 Alexandre Oliva <oliva@adacore.com>
1455
1456 * doc/sourcebuild.texi (Environment attributes): Document
1457 two_plus_gigs.
1458
1459 2022-06-23 David Malcolm <dmalcolm@redhat.com>
1460
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.
1480
1481 2022-06-23 Martin Liska <mliska@suse.cz>
1482
1483 PR c++/106062
1484 * ubsan.cc (sanitize_unreachable_fn): Change order of calls
1485 in order to initialize UBSAN built-ins.
1486
1487 2022-06-23 Martin Liska <mliska@suse.cz>
1488
1489 PR ipa/105600
1490 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
1491 Skip variables with body_removed.
1492
1493 2022-06-23 liuhongt <hongtao.liu@intel.com>
1494
1495 * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
1496 reg_or_subregno.
1497 (sse4_2_pcmpistr): Ditto.
1498
1499 2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
1500
1501 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
1502 typo.
1503 * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
1504 * tree-switch-conversion.h: Likewise.
1505
1506 2022-06-22 Jason Merrill <jason@redhat.com>
1507
1508 PR c++/104642
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)
1534 (execute_fixup_cfg)
1535 * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
1536 (unloop_loops)
1537 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
1538 Likewise.
1539
1540 2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
1541
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.
1545
1546 2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
1547
1548 * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
1549
1550 2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1551
1552 * config/xtensa/xtensa.md (bswapsi2_internal):
1553 Enlarge the buffer that is obviously smaller than the template
1554 string given to sprintf().
1555
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>
1560
1561 PR target/105991
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.
1566
1567 2022-06-21 Nathan Sidwell <nathan@acm.org>
1568
1569 * doc/invoke.texi (C++ Modules): Remove language-linkage
1570 as missing feature.
1571
1572 2022-06-21 Arjun Shankar <arjun@redhat.com>
1573
1574 PR tree-optimization/94899
1575 * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
1576 0x80000000): New simplification.
1577
1578 2022-06-21 Jakub Jelinek <jakub@redhat.com>
1579
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.
1583
1584 2022-06-21 Jakub Jelinek <jakub@redhat.com>
1585
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.
1589
1590 2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
1591
1592 PR target/105740
1593 * gimple-if-to-switch.cc (find_conditions): Don't skip the first
1594 condition bb.
1595
1596 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
1597
1598 PR tree-optimization/105736
1599 * tree-object-size.cc (addr_object_size): Return size_unknown
1600 when object offset computation returns an error.
1601
1602 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
1603
1604 PR target/105960
1605 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
1606 false if PIC register is used when calling ifunc functions.
1607
1608 2022-06-20 Richard Biener <rguenther@suse.de>
1609
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.
1615
1616 2022-06-20 Kewen Lin <linkw@linux.ibm.com>
1617
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.
1627
1628 2022-06-20 Martin Liska <mliska@suse.cz>
1629
1630 * bb-reorder.cc (find_traces_1_round): Add operators / and * and
1631 use them.
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.
1664
1665 2022-06-20 yulong <shiyulong@iscas.ac.cn>
1666
1667 * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
1668 * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
1669 of RISCV_BUILTIN.
1670 * config/riscv/riscv-ftypes.def (0): Remove unused.
1671 (1): New.
1672
1673 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1674
1675 * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
1676 Consider relaxed MOVI instructions as L32R.
1677
1678 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1679
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
1690 fixups.
1691
1692 2022-06-18 Jakub Jelinek <jakub@redhat.com>
1693
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
1709 OPT_fsanitize_trap.
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.
1728
1729 2022-06-18 Jakub Jelinek <jakub@redhat.com>
1730
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.
1735
1736 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
1737
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
1743 integer constants.
1744
1745 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1746
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
1752 reload begins.
1753
1754 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
1755
1756 PR target/105209
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.
1763
1764 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
1765
1766 PR target/105970
1767 * config/i386/i386.cc (ix86_function_arg): Assert that
1768 the mode of pointer argumet is equal to ptr_mode, not Pmode.
1769
1770 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
1771
1772 PR target/105993
1773 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
1774 instead of REGNO comparisons in combine splitter.
1775
1776 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
1777
1778 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
1779 types.
1780
1781 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
1782
1783 * config/riscv/bitmanip.md: Supress warning.
1784
1785 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
1786
1787 PR target/106004
1788 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
1789 Clear bits in the mask above bit 31.
1790
1791 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
1792
1793 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
1794 to avoid spilling trivial literals to the constant pool.
1795
1796 2022-06-16 David Malcolm <dmalcolm@redhat.com>
1797
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.
1807
1808 2022-06-16 Jason Merrill <jason@redhat.com>
1809
1810 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
1811 opts_set->x_flag_sanitize.
1812
1813 2022-06-16 Jason Merrill <jason@redhat.com>
1814
1815 * flags.h (issue_strict_overflow_warning): Comment #endif.
1816
1817 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
1818
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.
1823
1824 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
1825
1826 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
1827
1828 2022-06-16 Jakub Jelinek <jakub@redhat.com>
1829
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.
1834
1835 2022-06-16 Jakub Jelinek <jakub@redhat.com>
1836
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.
1842
1843 2022-06-16 Jakub Jelinek <jakub@redhat.com>
1844
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
1856 expand that.
1857
1858 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
1859
1860 PR target/103316
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.
1886
1887 2022-06-16 Martin Liska <mliska@suse.cz>
1888
1889 * gengtype-state.cc (read_a_state_token): Do not skip extra
1890 character after escaped sequence.
1891
1892 2022-06-16 Martin Liska <mliska@suse.cz>
1893
1894 PR driver/105564
1895 * spellcheck.cc (test_find_closest_string): Add new test.
1896 * spellcheck.h (class best_match): Prefer a difference in
1897 trailing sign symbol.
1898
1899 2022-06-16 liuhongt <hongtao.liu@intel.com>
1900
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.
1905
1906 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1907
1908 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
1909
1910 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1911
1912 * config/xtensa/predicates.md (reload_operand):
1913 New predicate.
1914 * config/xtensa/xtensa.md: New peephole2 pattern.
1915
1916 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1917
1918 * config/xtensa/xtensa.md (*round_up_to_even):
1919 New insn-and-split pattern.
1920 (*signed_ge_zero): Ditto.
1921
1922 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1923
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
1931 the common code.
1932 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
1933 New functions.
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.
1943
1944 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1945
1946 * doc/invoke.texi: Document -mextra-l32r-costs= option.
1947
1948 2022-06-15 David Malcolm <dmalcolm@redhat.com>
1949
1950 PR analyzer/105962
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
1955 depths.
1956
1957 2022-06-15 David Malcolm <dmalcolm@redhat.com>
1958
1959 * value-relation.h: Add "final" and "override" to relation_oracle
1960 vfunc implementations as appropriate.
1961
1962 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
1963
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
1972 member variable.
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.
2008
2009 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
2010
2011 PR target/105981
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.
2015
2016 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
2017
2018 PR target/105974
2019 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
2020
2021 2022-06-15 Richard Biener <rguenther@suse.de>
2022
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.
2027
2028 2022-06-15 Richard Biener <rguenther@suse.de>
2029
2030 PR tree-optimization/105969
2031 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
2032 by zero in overflow check.
2033
2034 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
2035
2036 PR tree-optimization/105254
2037 PR tree-optimization/105940
2038 Revert:
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
2042 that divide the VF.
2043 (aarch64_vector_costs::finish_cost): Update call accordingly.
2044
2045 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
2046
2047 * read-rtl.cc (find_int): Substitute symbolic constants
2048 before converting the string to an integer.
2049
2050 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
2051 Richard Biener <rguenther@suse.de>
2052
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.
2059
2060 2022-06-15 liuhongt <hongtao.liu@intel.com>
2061
2062 PR target/105953
2063 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
2064 operands[3].
2065
2066 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
2067
2068 PR rtl-optimization/105041
2069 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
2070
2071 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
2072
2073 * config/rs6000/vsx.md (VS_scalar): Delete.
2074 (rest of file): Adjust.
2075
2076 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
2077
2078 PR ipa/105739
2079 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
2080
2081 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2082
2083 * config/riscv/bitmanip.md: Add split to handle opportunities
2084 for slli + sh[123]add.uw
2085
2086 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2087
2088 * config/riscv/predicates.md (consecutive_bits_operand):
2089 Implement new predicate.
2090
2091 2022-06-14 Richard Biener <rguenther@suse.de>
2092
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.
2096
2097 2022-06-14 Richard Biener <rguenther@suse.de>
2098
2099 PR middle-end/105965
2100 * match.pd (view_convert CONSTRUCTOR): Handle single-element
2101 CTOR case.
2102
2103 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
2104
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.
2110
2111 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
2112
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.
2116
2117 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2118
2119 * config/xtensa/predicates.md (shifted_mask_operand):
2120 New predicate.
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.
2126
2127 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2128
2129 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
2130
2131 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2132
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
2139 itself as needed.
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"
2149 insn patterns.
2150
2151 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2152
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):
2156 New prototype.
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.
2168
2169 2022-06-13 Jason Merrill <jason@redhat.com>
2170
2171 * tree-cfg.cc (pass_warn_function_return::execute): Also check
2172 BUILT_IN_TRAP.
2173
2174 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
2175
2176 * config/riscv/riscv.md (length): Remove the explicit setting
2177 for "fcmp".
2178
2179 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
2180
2181 * common/config/i386/cpuinfo.h (get_available_features): Require
2182 AVX for F16C and VAES.
2183
2184 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
2185
2186 PR target/105927
2187 * config/i386/predicates.md (register_no_elim_operand):
2188 Return true for subreg of a memory operand.
2189
2190 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
2191
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
2197 member variable.
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.
2222
2223 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
2224
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.
2236
2237 2022-06-13 Jakub Jelinek <jakub@redhat.com>
2238
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.
2242
2243 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
2244
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.
2251
2252 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
2253
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}.
2258
2259 2022-06-13 Jakub Jelinek <jakub@redhat.com>
2260
2261 PR target/105911
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.
2266
2267 2022-06-12 Simon Wright <simon@pushface.org>
2268
2269 PR target/104871
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
2272 major number.
2273
2274 2022-06-12 Mark Mentovai <mark@mentovai.com>
2275
2276 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
2277
2278 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2279
2280 PR target/96463
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
2286 newd.op_vec_flags.
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
2295 constant.
2296
2297 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2298
2299 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
2300 New prototype.
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.
2308
2309 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2310
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
2319 size.
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
2323 attributes.
2324 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
2325 dependent option, however, preparatory work for now.
2326
2327 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2328
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,
2332
2333 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2334
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.
2340
2341 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
2342
2343 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
2344 not generate block copies with vector pair instructions if we are
2345 tuning for power10.
2346
2347 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
2348
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.
2355
2356 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2357
2358 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
2359
2360 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2361
2362 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
2363 New insn_and_split pattern.
2364
2365 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2366
2367 * config/xtensa/xtensa.md (one_cmplsi2):
2368 Rearrange as an insn_and_split pattern.
2369
2370 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2371
2372 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
2373
2374 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
2375
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.
2385
2386 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
2387
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.
2392
2393 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
2394
2395 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
2396 omp_discover_declare_target_fn_r): Don't walk reverse-offload
2397 target regions.
2398
2399 2022-06-09 Jakub Jelinek <jakub@redhat.com>
2400
2401 * doc/invoke.texi (-Waddress): Fix a typo in small example.
2402 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
2403
2404 2022-06-09 Cui,Lili <lili.cui@intel.com>
2405
2406 PR target/105493
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
2413 {8, 8, 8, 10, 15}.
2414
2415 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
2416
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.
2420
2421 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
2422
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.
2427
2428 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
2429
2430 PR target/105879
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.
2435
2436 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
2437
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.
2442
2443 2022-06-08 liuhongt <hongtao.liu@intel.com>
2444
2445 PR target/105513
2446 PR target/105504
2447 * config/i386/i386.md (*movsi_internal): Change alternative
2448 from *v to ?v.
2449 (*movdi_internal): Ditto.
2450 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
2451 to ?r.
2452 (*vec_extractv4sf_mem): Ditto.
2453 (*vec_extracthf): Ditto.
2454
2455 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
2456
2457 PR target/105090
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.
2466
2467 2022-06-07 liuhongt <hongtao.liu@intel.com>
2468
2469 PR target/105854
2470 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
2471 from Yv to Yw.
2472
2473 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
2474
2475 PR middle-end/105853
2476 PR target/105856
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.
2485
2486 2022-06-07 Jan Beulich <jbeulich@suse.com>
2487
2488 Revert:
2489 2022-06-03 Jan Beulich <jbeulich@suse.com>
2490
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.
2496 Handle objcopy.
2497
2498 2022-06-07 Jakub Jelinek <jakub@redhat.com>
2499
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.
2504
2505 2022-06-07 Jan Beulich <jbeulich@suse.com>
2506
2507 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
2508 Change type.
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.
2513
2514 2022-06-07 Jan Beulich <jbeulich@suse.com>
2515
2516 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
2517 into account for reg-only insns.
2518
2519 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
2520
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.
2526
2527 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
2528
2529 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
2530 parameter ORDER.
2531
2532 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
2533
2534 * config.in: Regenerate.
2535 * configure: Regenerate.
2536 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
2537
2538 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
2539
2540 PR middle-end/95126
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)
2544 from memory.
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
2555 prototype.
2556
2557 2022-06-04 Jakub Jelinek <jakub@redhat.com>
2558
2559 PR target/105825
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.
2564
2565 2022-06-03 Jakub Jelinek <jakub@redhat.com>
2566
2567 PR middle-end/30314
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.
2571
2572 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
2573
2574 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
2575 Value_Range.
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.
2579
2580 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
2581
2582 * value-range.h (struct vrange_traits): Remove.
2583 (is_a): Rewrite without vrange_traits.
2584 (as_a): Same.
2585
2586 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
2587
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
2606 undefined.
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
2615 methods.
2616 (class unsupported_range): Remove most methods as they will now be
2617 inherited from vrange.
2618
2619 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
2620
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):
2630 Same.
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.
2661
2662 2022-06-03 Jan Beulich <jbeulich@suse.com>
2663
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.
2669 Handle objcopy.
2670
2671 2022-06-03 Jan Beulich <jbeulich@suse.com>
2672
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.
2677
2678 2022-06-03 Alexandre Oliva <oliva@adacore.com>
2679
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.
2687
2688 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2689
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
2727 sarif-file.
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.
2746
2747 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2748
2749 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
2750 to description.
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
2775 "json-stderr".
2776 * gcc.cc (driver_handle_option): Pass dump_base_name to
2777 diagnostic_output_format_init.
2778 * opts.cc (common_handle_option): Likewise.
2779
2780 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2781
2782 * json.cc (string::print): Fix escaping of '\'.
2783
2784 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
2785
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)
2788 in SImode.
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).
2792
2793 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
2794
2795 PR target/105791
2796 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
2797 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
2798
2799 2022-06-02 Jakub Jelinek <jakub@redhat.com>
2800
2801 PR target/105778
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
2807 gen_lowpart.
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
2820 gen_lowpart.
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.
2837
2838 2022-06-02 Richard Biener <rguenther@suse.de>
2839
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.
2851
2852 2022-06-02 Richard Biener <rguenther@suse.de>
2853
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.
2857
2858 2022-06-01 David Seifert <soap@gentoo.org>
2859
2860 PR plugins/95648
2861 * configure: Regenerate.
2862
2863 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
2864
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
2869 defs.
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.
2876
2877 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
2878
2879 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
2880 selected_tune.
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
2898 AARCH64_ISA_V9.
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.
2902
2903 2022-06-01 Jakub Jelinek <jakub@redhat.com>
2904
2905 PR middle-end/30314
2906 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
2907 x > ~(utype)0 / cst): New simplification.
2908
2909 2022-06-01 Richard Biener <rguenther@suse.de>
2910
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.
2915
2916 2022-06-01 Jakub Jelinek <jakub@redhat.com>
2917
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.
2921
2922 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
2923
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):
2953 Same.
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.
2966 (fold_range): 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.
3054
3055 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3056
3057 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
3058 vrange allocator.
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):
3074 Same.
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.
3088
3089 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3090
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.
3168
3169 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3170
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.
3180
3181 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3182
3183 * value-range-equiv.cc (value_range_equiv::set): New.
3184 * value-range-equiv.h (class value_range_equiv): Make set method
3185 virtual.
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.
3213 (debug): Same.
3214 * value-range.h (enum value_range_discriminator): New.
3215 (class vrange): New.
3216 (class unsupported_range): New.
3217 (struct vrange_traits): New.
3218 (is_a): New.
3219 (as_a): 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
3230 method.
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.
3236
3237 2022-06-01 Richard Biener <rguenther@suse.de>
3238
3239 PR tree-optimization/105763
3240 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
3241 Check gimple_range_ssa_p.
3242
3243 2022-05-31 Jason Merrill <jason@redhat.com>
3244
3245 * Makefile.in (TAGS): Look at libcpp/*.cc.
3246
3247 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
3248
3249 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
3250 Prefix mode names with E_.
3251
3252 2022-05-31 Alan Modra <amodra@gmail.com>
3253
3254 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
3255 spelling of DW_AT_namelist_item.
3256
3257 2022-05-31 Jakub Jelinek <jakub@redhat.com>
3258
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.
3263
3264 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3265
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.
3269
3270 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3271
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.
3280
3281 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3282
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.
3286
3287 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3288
3289 PR target/70321
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.
3311
3312 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
3313
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.
3333
3334 2022-05-30 Jan Beulich <jbeulich@suse.com>
3335
3336 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
3337 arguments.
3338
3339 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3340
3341 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
3342
3343 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
3344
3345 PR target/105599
3346 * config/darwin.h: Move versions-specific handling of multiply_defined
3347 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
3348
3349 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
3350
3351 PR other/82383
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.
3356
3357 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
3358
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
3362 device prefix.
3363 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
3364 from leaking into cc1.
3365
3366 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
3367
3368 PR target/103722
3369 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
3370 is special) for various scenarios.
3371
3372 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
3373
3374 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
3375 describing this macro.
3376
3377 2022-05-27 Richard Biener <rguenther@suse.de>
3378
3379 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
3380
3381 2022-05-27 Martin Jambor <mjambor@suse.cz>
3382
3383 PR ipa/105639
3384 * ipa-prop.cc (propagate_controlled_uses): Check type of the
3385 constant before adding a LOAD reference.
3386
3387 2022-05-27 Jakub Jelinek <jakub@redhat.com>
3388
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.
3400
3401 2022-05-27 Richard Biener <rguenther@suse.de>
3402
3403 PR tree-optimization/105726
3404 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
3405 Constrain array-of-flexarray case more.
3406
3407 2022-05-27 Jakub Jelinek <jakub@redhat.com>
3408
3409 PR sanitizer/105729
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.
3412
3413 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
3414
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.
3423
3424 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
3425
3426 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
3427 to split a combined "and;cmp" sequence into "not;test".
3428
3429 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3430
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.
3437
3438 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3439
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.
3448
3449 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3450
3451 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
3452 Make instruction counting more accurate, and simplify emitting insns.
3453
3454 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3455
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.
3464
3465 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3466
3467 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
3468 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
3469 Ditto.
3470
3471 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
3472
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.
3477
3478 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
3479
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.
3500
3501 2022-05-25 Simon Cook <simon.cook@embecosm.com>
3502
3503 * config/riscv/arch-canonicalize: Only add mafd extension if
3504 base was rv32/rv64g.
3505
3506 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
3507
3508 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
3509
3510 2022-05-25 Jakub Jelinek <jakub@redhat.com>
3511
3512 PR sanitizer/105714
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.
3516
3517 2022-05-25 Martin Liska <mliska@suse.cz>
3518 Richard Biener <rguenther@suse.de>
3519
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
3528 switch statements.
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.
3536 (merge_last): New.
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.
3550
3551 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
3552
3553 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
3554 counts for the epilog loop.
3555
3556 2022-05-24 Martin Sebor <msebor@redhat.com>
3557 Richard Biener <rguenther@suse.de>
3558
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
3562 sizes.
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.
3567
3568 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3569
3570 * target.def (vec_perm_const): Define new parameter op_mode and
3571 update doc.
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
3585 prototype.
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.
3609
3610 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
3611
3612 PR target/104816
3613 * config/i386/i386.opt: Remove Undocumented.
3614 * doc/invoke.texi: Document -mcet-switch.
3615
3616 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
3617
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
3638 __CDNA2__.
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.
3648
3649 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
3650
3651 * config.in: Regenerate.
3652 * config/gcn/gcn-hsa.h (X_FIJI): Delete.
3653 (X_900): Delete.
3654 (X_906): Delete.
3655 (X_908): Delete.
3656 (S_FIJI): Delete.
3657 (S_900): Delete.
3658 (S_906): Delete.
3659 (S_908): 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.
3686
3687 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
3688
3689 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
3690 i.e. a double word negation of a zero extended operand, to
3691 neg;sbb.
3692
3693 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
3694
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.
3702
3703 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
3704
3705 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
3706 to strncmp for strings of length one.
3707
3708 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
3709
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
3713 Extensions.
3714 (RISCV_ATYPE_SI): New.
3715 (RISCV_ATYPE_DI): New.
3716 * config/riscv/riscv-ftypes.def (0): New.
3717 (1): 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.
3722 (prefetch): New.
3723 (riscv_prefetchi_<mode>): New.
3724 * config/riscv/riscv-cmo.def: New file.
3725
3726 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
3727
3728 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
3729 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
3730 (MASK_ZICBOM): New.
3731 (MASK_ZICBOP): New.
3732 (TARGET_ZICBOZ): New.
3733 (TARGET_ZICBOM): New.
3734 (TARGET_ZICBOP): New.
3735 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
3736
3737 2022-05-24 David Malcolm <dmalcolm@redhat.com>
3738
3739 * tree-vect-slp-patterns.cc: Add "final" and "override" to
3740 vect_pattern::build impls as appropriate.
3741
3742 2022-05-24 David Malcolm <dmalcolm@redhat.com>
3743
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.
3756
3757 2022-05-24 Martin Liska <mliska@suse.cz>
3758
3759 Revert:
3760 2022-05-24 Martin Liska <mliska@suse.cz>
3761
3762 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
3763 warning.
3764
3765 2022-05-24 Martin Liska <mliska@suse.cz>
3766
3767 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
3768 warning.
3769
3770 2022-05-24 Bruno Haible <bruno@clisp.org>
3771
3772 PR other/105527
3773 * doc/install.texi (Configuration): Add more details about --with-zstd.
3774 Document --with-zstd-include and --with-zstd-lib
3775
3776 2022-05-24 Richard Biener <rguenther@suse.de>
3777
3778 PR middle-end/105711
3779 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
3780 and use it.
3781 (extract_bit_field_1): Pass down the mode of op0 to
3782 extract_bit_field_as_subreg.
3783
3784 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
3785
3786 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
3787 fmv_cost.
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.
3793
3794 2022-05-24 Jakub Jelinek <jakub@redhat.com>
3795
3796 PR c/105378
3797 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
3798 builtin.
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.
3804
3805 2022-05-24 Richard Biener <rguenther@suse.de>
3806
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.
3810
3811 2022-05-24 Richard Biener <rguenther@suse.de>
3812
3813 PR tree-optimization/105629
3814 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
3815 a sign-extending conversion.
3816
3817 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
3818
3819 PR target/105627
3820 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
3821 be a debug insn.
3822 (union_uses): Skip debug use_insn.
3823
3824 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
3825
3826 * config/riscv/predicates.md (const_0_operand): Remove
3827 const_double.
3828 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
3829 CONST_DOUBLE.
3830 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
3831
3832 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
3833
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
3839 VENDOR_ZHAOXIN.
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
3854 lujiazui costs.
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.
3893
3894 2022-05-23 Martin Liska <mliska@suse.cz>
3895
3896 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
3897
3898 2022-05-23 Richard Biener <rguenther@suse.de>
3899
3900 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
3901 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
3902
3903 2022-05-23 Richard Biener <rguenther@suse.de>
3904
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.
3913
3914 2022-05-23 Richard Biener <rguenther@suse.de>
3915
3916 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
3917 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
3918 as is_gimple_val.
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):
3926 Likewise.
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
3933 now.
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.
3943
3944 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
3945
3946 PR fortran/104949
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.
3954
3955 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
3956
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.
3963
3964 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
3965
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.
3969
3970 2022-05-23 liuhongt <hongtao.liu@intel.com>
3971
3972 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
3973 <-> mask cost from 5 to 6.
3974 (icelake_cost): Ditto.
3975
3976 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
3977
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.
3998
3999 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
4000
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.
4012
4013 2022-05-20 David Malcolm <dmalcolm@redhat.com>
4014
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.
4033 * json.h: 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.
4042
4043 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
4044
4045 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
4046 target_memcpy_rect_async to omp_runtime_apis array.
4047
4048 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
4049
4050 * doc/sourcebuild.texi (Decimal floating point attributes): Document
4051 dfp_bid effective-target.
4052
4053 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
4054
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
4075 mov<mode>_aarch64.
4076 (movdf_aarch64): Use DFD iterator and rename into
4077 mov<mode>_aarch64.
4078 (movtf_aarch64): Use TFD iterator and rename into
4079 mov<mode>_aarch64.
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.
4086
4087 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
4088
4089 * configure: Regenerate.
4090
4091 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
4092
4093 PR middle-end/98865
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.
4097
4098 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
4099
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.
4113
4114 2022-05-19 Richard Biener <rguenther@suse.de>
4115
4116 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
4117 computation of the new value.
4118
4119 2022-05-19 Richard Biener <rguenther@suse.de>
4120
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.
4125
4126 2022-05-19 David Malcolm <dmalcolm@redhat.com>
4127
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.
4132
4133 2022-05-19 Jakub Jelinek <jakub@redhat.com>
4134
4135 PR debug/105630
4136 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
4137 global vars without symtab node even when they have DECL_RTL
4138 set.
4139
4140 2022-05-19 Jakub Jelinek <jakub@redhat.com>
4141
4142 PR c/105635
4143 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
4144 doesn't have pointer or reference type.
4145
4146 2022-05-18 Marek Polacek <polacek@redhat.com>
4147
4148 PR c/105131
4149 * doc/invoke.texi: Document -Wenum-int-mismatch.
4150
4151 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
4152
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.
4156
4157 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
4158
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.
4162
4163 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
4164
4165 * config/i386/i386.md (define_split): Split *andsi_1
4166 and *andn_si_ccno after reload with -Oz.
4167
4168 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
4169
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.
4178
4179 2022-05-18 liuhongt <hongtao.liu@intel.com>
4180
4181 PR middle-end/103462
4182 * match.pd (bitwise_induction_p): New match.
4183 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
4184 Declare.
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
4188 induction.
4189
4190 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
4191
4192 PR target/95737
4193 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
4194
4195 2022-05-18 liuhongt <hongtao.liu@intel.com>
4196
4197 PR target/104375
4198 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
4199 define_insn.
4200
4201 2022-05-18 liuhongt <hongtao.liu@intel.com>
4202
4203 PR target/104610
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.
4207
4208 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
4209 Segher Boessenkool <segher@kernel.crashing.org>
4210
4211 PR target/105556
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.
4217
4218 2022-05-17 Marek Polacek <polacek@redhat.com>
4219
4220 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
4221
4222 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
4223
4224 PR target/99685
4225 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
4226 register count when not splitting IEEE 128-bit Complex.
4227
4228 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4229
4230 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
4231 target inside target if inner is reverse offload.
4232
4233 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4234
4235 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
4236 * config/nvptx/mkoffload.cc (process): Likewise.
4237
4238 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
4239
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.
4271
4272 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
4273
4274 PR c++/105169
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.
4279
4280 2022-05-17 Richard Biener <rguenther@suse.de>
4281
4282 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
4283 not clear bb->aux of the copied blocks.
4284
4285 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
4286
4287 PR tree-optimization/105458
4288 * value-relation.cc (path_oracle::register_relation): Merge, then check
4289 for equivalence.
4290
4291 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
4292
4293 PR target/105624
4294 Revert:
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.
4314
4315 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
4316
4317 * diagnostic.cc: Don't advise to call 'abort' instead of
4318 'internal_error'.
4319 * system.h: Advise to call 'internal_error' instead of 'abort' or
4320 'fancy_abort'.
4321
4322 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
4323
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
4327 in comment.
4328
4329 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
4330
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.
4334
4335 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4336
4337 PR target/105602
4338 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
4339 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
4340
4341 2022-05-17 Jakub Jelinek <jakub@redhat.com>
4342
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.
4349
4350 2022-05-17 Jakub Jelinek <jakub@redhat.com>
4351
4352 PR target/105613
4353 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
4354 andv4si3 only for EQ, for NE use iorv4si3 instead.
4355
4356 2022-05-17 Richard Biener <rguenther@suse.de>
4357
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.
4361
4362 2022-05-17 Jakub Jelinek <jakub@redhat.com>
4363
4364 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
4365 hanlde -> handle. Fix up comment formatting.
4366
4367 2022-05-17 liuhongt <hongtao.liu@intel.com>
4368
4369 PR target/105033
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.
4374
4375 2022-05-17 liuhongt <hongtao.liu@intel.com>
4376
4377 PR tree-optimization/105591
4378 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
4379 vec_perm_expr index.
4380
4381 2022-05-16 Jason Merrill <jason@redhat.com>
4382
4383 PR c/105492
4384 * attribs.cc (decl_attributes): Fix broken typedefs here.
4385
4386 2022-05-16 David Malcolm <dmalcolm@redhat.com>
4387
4388 PR analyzer/105103
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.
4393
4394 2022-05-16 Richard Biener <rguenther@suse.de>
4395
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
4407 API parts.
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.
4413
4414 2022-05-16 Richard Biener <rguenther@suse.de>
4415
4416 * gimple-match.h (code_helper): Move class ...
4417 * tree.h (code_helper): ... here.
4418
4419 2022-05-16 Martin Liska <mliska@suse.cz>
4420
4421 * opts-global.cc (write_langs): Add comment.
4422
4423 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4424
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.
4428
4429 2022-05-16 Martin Liska <mliska@suse.cz>
4430
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.
4444 (main): 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.
4473
4474 2022-05-16 Martin Liska <mliska@suse.cz>
4475
4476 * opts-global.cc (write_langs): Allocate at least one byte.
4477
4478 2022-05-16 Richard Biener <rguenther@suse.de>
4479
4480 * match.pd (A cmp B ? A : B -> min/max): New patterns
4481 carried over from fold_cond_expr_with_comparison.
4482
4483 2022-05-16 liuhongt <hongtao.liu@intel.com>
4484
4485 PR target/105587
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.
4489
4490 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
4491
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.
4511
4512 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
4513 Uroš Bizjak <ubizjak@gmail.com>
4514
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.
4521
4522 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
4523
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.
4529
4530 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
4531 Manolis Tsamis <manolis.tsamis@vrull.eu>
4532
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
4537
4538 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4539
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.
4543
4544 2022-05-13 Sebastian Pop <spop@amazon.com>
4545
4546 PR target/105162
4547 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
4548 of str array.
4549 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
4550 memmodel_from_int and handle MEMMODEL_SYNC_*.
4551 (DEF0): Add __aarch64_*_sync functions.
4552
4553 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4554
4555 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
4556 enumerated values.
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
4567 relation_kind.
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.
4594
4595 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4596
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.
4602
4603 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4604
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.
4609
4610 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4611
4612 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
4613 had_global value instead.
4614
4615 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4616
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.
4625
4626 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4627
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.
4633
4634 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4635
4636 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
4637
4638 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4639
4640 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
4641 worlist truncated.
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
4652 prototypes.
4653
4654 2022-05-13 Alexandre Oliva <oliva@adacore.com>
4655
4656 * gimple-harden-conditionals.cc: Include sbitmap.h.
4657 (pass_harden_conditional_branches::execute): Skip new blocks.
4658 (pass_harden_compares::execute): Likewise.
4659
4660 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
4661
4662 PR target/105463
4663 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
4664 mve_memory_operand.
4665 (*movmisalign<mode>_mve_load): Likewise.
4666 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
4667 form...
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.
4671
4672 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
4673
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.
4676
4677 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4678
4679 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
4680 definition.
4681
4682 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4683
4684 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
4685 extzvsi_internal): Rename from extv, extv_internal, extzv and
4686 extzv_internal, respectively.
4687
4688 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
4689
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
4692 of the other.
4693
4694 2022-05-13 Richard Biener <rguenther@suse.de>
4695
4696 * gimple-fold.cc (gimple_build): Adjust for new
4697 main API.
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
4711 compare stmt.
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.
4756
4757 2022-05-13 Alexandre Oliva <oliva@adacore.com>
4758
4759 PR rtl-optimization/105455
4760 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
4761 probabilities for newly-conditional edges.
4762
4763 2022-05-13 liuhongt <hongtao.liu@intel.com>
4764
4765 PR tree-optimization/102583
4766 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
4767 contiguous stride in the VEC_PERM_EXPR.
4768
4769 2022-05-12 Richard Biener <rguenther@suse.de>
4770
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.
4774
4775 2022-05-12 Richard Biener <rguenther@suse.de>
4776
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.
4787
4788 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
4789
4790 PR target/104371
4791 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
4792 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
4793 New define_split pattern.
4794
4795 2022-05-12 Jakub Jelinek <jakub@redhat.com>
4796
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
4801 as omp_all_memory.
4802
4803 2022-05-11 Patrick Palka <ppalka@redhat.com>
4804
4805 * tree.h (TREE_VEC_BEGIN): Define.
4806 (TREE_VEC_END): Correct 'length' member access.
4807 (class tree_vec_range): Define.
4808
4809 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
4810
4811 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
4812
4813 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
4814
4815 * config/rs6000/rs6000.md: Use d instead of <Ff>.
4816
4817 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
4818
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.
4826
4827 2022-05-11 Richard Biener <rguenther@suse.de>
4828
4829 * gimple-fold.h (gimple_build): Use variadic template
4830 functions for the gimple_build API forwarders without
4831 location_t argument.
4832
4833 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
4834
4835 PR middle-end/70090
4836 * asan.cc (initialize_sanitizer_builtins): Register
4837 __builtin_dynamic_object_size if necessary.
4838
4839 2022-05-11 Richard Biener <rguenther@suse.de>
4840
4841 PR rtl-optimization/105559
4842 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
4843 for non-debug insns.
4844
4845 2022-05-11 Richard Biener <rguenther@suse.de>
4846
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.
4851
4852 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
4853
4854 * doc/install.texi: Don't document '--with-hsa-runtime',
4855 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
4856
4857 2022-05-11 Martin Liska <mliska@suse.cz>
4858
4859 PR other/105527
4860 * doc/install.texi: Document the configure option --with-zstd.
4861
4862 2022-05-11 Martin Liska <mliska@suse.cz>
4863
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.
4869
4870 2022-05-11 Richard Biener <rguenther@suse.de>
4871
4872 PR bootstrap/105551
4873 * opts.cc (finish_options): Also disable var-tracking if
4874 !DWARF2_DEBUGGING_INFO.
4875
4876 2022-05-11 liuhongt <hongtao.liu@intel.com>
4877
4878 PR target/104915
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.
4887
4888 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
4889
4890 * config/rs6000/constraints.md (register constraint v): Use
4891 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
4892
4893 2022-05-11 Martin Liska <mliska@suse.cz>
4894
4895 PR target/105355
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.
4901
4902 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
4903
4904 PR target/105414
4905 * match.pd (minmax): Skip constant folding for fmin/fmax when both
4906 arguments are sNaN or one is sNaN and another is NaN.
4907
4908 2022-05-10 Jakub Jelinek <jakub@redhat.com>
4909
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.
4913
4914 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
4915
4916 * doc/md.texi (Defining Mode Iterators): Correct example replacement
4917 text.
4918
4919 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
4920
4921 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
4922 constants.
4923 (fmin<mode>3, fmax<mode>3): New insns.
4924
4925 2022-05-10 Richard Biener <rguenther@suse.de>
4926
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.
4931
4932 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
4933
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'.
4938
4939 2022-05-10 Richard Biener <rguenther@suse.de>
4940
4941 PR middle-end/105537
4942 * toplev.cc (process_options): Move flag_var_tracking
4943 handling ...
4944 * opts.cc (finish_options): ... here.
4945
4946 2022-05-10 Martin Liska <mliska@suse.cz>
4947
4948 * basic-block.h (struct basic_block_d): Use void *
4949 instead PTR.
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.
4957 (main): 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.
4961
4962 2022-05-10 Richard Biener <rguenther@suse.de>
4963
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.
4969
4970 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
4971 Roger Sayle <roger@nextmovesoftware.com>
4972
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.
4978
4979 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
4980
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,
4983 can't be negative.
4984
4985 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
4986
4987 PR target/105292
4988 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
4989 true only for 8-byte vector modes.
4990
4991 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
4992
4993 PR middle-end/70090
4994 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
4995 (instrument_object_size): Get dynamic object size expression.
4996
4997 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
4998
4999 PR preprocessor/101168
5000 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
5001 Avoid empty identifier.
5002
5003 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
5004
5005 PR target/101891
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.
5011
5012 2022-05-09 liuhongt <hongtao.liu@intel.com>
5013
5014 PR target/105354
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.
5020
5021 2022-05-09 Martin Liška <mliska@suse.cz>
5022
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.
5026
5027 2022-05-09 Richard Biener <rguenther@suse.de>
5028
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.
5034
5035 2022-05-09 Richard Biener <rguenther@suse.de>
5036
5037 * match.pd: Remove #if GIMPLE guards around ! using patterns.
5038
5039 2022-05-09 liuhongt <hongtao.liu@intel.com>
5040
5041 PR target/105072
5042 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
5043 New define_insn.
5044 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
5045 define_insn_and_split.
5046
5047 2022-05-09 Alex Coplan <alex.coplan@arm.com>
5048
5049 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
5050 symtab state is PARSING.
5051
5052 2022-05-09 Martin Liska <mliska@suse.cz>
5053
5054 * system.h (LIKELY): Define.
5055 (UNLIKELY): Likewise.
5056 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
5057 macros.
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.
5087
5088 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
5089
5090 * config/riscv/arch-canonicalize: Handle g correctly.
5091
5092 2022-05-07 Marek Polacek <polacek@redhat.com>
5093
5094 PR c++/101833
5095 PR c++/47634
5096 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
5097
5098 2022-05-06 Jason Merrill <jason@redhat.com>
5099
5100 * diagnostic-color.cc: Add fnname and targs color entries.
5101 * doc/invoke.texi: Document them.
5102
5103 2022-05-06 Jason Merrill <jason@redhat.com>
5104
5105 * vec.h (vec::iterate): Fix comment.
5106
5107 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
5108
5109 PR target/102059
5110 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
5111 and -mpower10-fusion options for inlining purposes.
5112
5113 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
5114
5115 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
5116
5117 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
5118
5119 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
5120 omp_runtime_apis array.
5121
5122 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
5123
5124 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
5125 (scan_sharing_clauses): Check a restriction on allocate clause.
5126
5127 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
5128
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.
5132
5133 2022-05-05 Martin Liska <mliska@suse.cz>
5134
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):
5139 Likewise.
5140
5141 2022-05-05 Martin Liska <mliska@suse.cz>
5142
5143 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
5144 PROF_*.
5145 (gimple_gen_time_profiler): Likewise.
5146
5147 2022-05-05 Martin Liska <mliska@suse.cz>
5148
5149 * value-prof.cc (stream_out_histogram_value): Remove sanity
5150 checking.
5151
5152 2022-05-05 Richard Biener <rguenther@suse.de>
5153
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
5157 becomes invariant.
5158 (vn_reference_insert): Likewise.
5159
5160 2022-05-05 Richard Biener <rguenther@suse.de>
5161
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):
5168 Likewise.
5169
5170 2022-05-05 Richard Biener <rguenther@suse.de>
5171
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.
5176
5177 2022-05-05 Richard Biener <rguenther@suse.de>
5178
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.
5183
5184 2022-05-05 Richard Biener <rguenther@suse.de>
5185
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.
5189
5190 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
5191
5192 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
5193 item that is in an outer data-sharing clause.
5194
5195 2022-05-04 Richard Biener <rguenther@suse.de>
5196
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
5202 root.
5203 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
5204 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
5205
5206 2022-05-04 Richard Biener <rguenther@suse.de>
5207
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.
5211
5212 2022-05-04 Martin Liska <mliska@suse.cz>
5213
5214 * gengtype-state.cc (read_a_state_token): Remove dead code.
5215 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
5216
5217 2022-05-04 Richard Biener <rguenther@suse.de>
5218
5219 * gimplify.cc (gimplify_init_constructor): First gimplify,
5220 then simplify the result to a VECTOR_CST.
5221
5222 2022-05-04 Jakub Jelinek <jakub@redhat.com>
5223
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).
5228
5229 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
5230
5231 PR target/104662
5232 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
5233 vector of booleans and MVE is not enabled.
5234
5235 2022-05-04 Richard Biener <rguenther@suse.de>
5236
5237 PR debug/105158
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.
5243
5244 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
5245
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.
5253
5254 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
5255
5256 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
5257 protocol class methods linker-visible.
5258
5259 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
5260
5261 PR target/105079
5262 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
5263 define_insn_and_split pattern.
5264
5265 2022-05-03 Richard Biener <rguenther@suse.de>
5266
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.
5272
5273 2022-05-03 Richard Biener <rguenther@suse.de>
5274
5275 PR middle-end/105461
5276 * opts.cc (finish_options): Match the condition to
5277 disable flag_var_tracking to that of process_options.
5278
5279 2022-05-03 Richard Biener <rguenther@suse.de>
5280
5281 * opts.cc: #undef OPTIONS_SET_P.
5282 (finish_options): Use opts_set instead of OPTIONS_SET_P.
5283
5284 2022-05-03 Richard Biener <rguenther@suse.de>
5285
5286 PR tree-optimization/105394
5287 * tree-vect-generic.cc (expand_vector_condition): Adjust
5288 comp_width for non-integer mode masks as well.
5289
5290 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
5291
5292 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
5293 omp_runtime_apis array.
5294
5295 2022-05-02 Richard Biener <rguenther@suse.de>
5296
5297 * tree-scalar-evolution.cc (expression_expensive_p):
5298 Never consider mismatched calls as cheap.
5299
5300 2022-05-02 Richard Biener <rguenther@suse.de>
5301
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
5306 tcc_comparison.
5307
5308 2022-05-02 Jakub Jelinek <jakub@redhat.com>
5309
5310 PR debug/105415
5311 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
5312 if there is no symtab node for the VAR_DECL.
5313
5314 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
5315
5316 * gcov-io.cc (gcov_rewrite): Clear the file error status.
5317
5318 2022-05-02 Richard Biener <rguenther@suse.de>
5319
5320 PR tree-optimization/105437
5321 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
5322 case where last_stmt alters control flow.
5323
5324 2022-05-02 Richard Biener <rguenther@suse.de>
5325
5326 * dojump.cc (do_jump): Use CASE_CONVERT.
5327 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
5328
5329 2022-05-02 Jakub Jelinek <jakub@redhat.com>
5330
5331 * system.h: Include initializer_list.
5332
5333 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
5334
5335 * config/rs6000/constraints.md (Y constraint): Fix comment.
5336
5337 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
5338
5339 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
5340 VR_RANGE before passing a piecewise range to set_range_info_raw.
5341
5342 2022-04-30 Patrick Palka <ppalka@redhat.com>
5343
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.
5348
5349 2022-04-29 Martin Jambor <mjambor@suse.cz>
5350
5351 PR ipa/100413
5352 * cgraph.cc (cgraph_node::remove): Release body of the node this
5353 is clone_of if appropriate.
5354
5355 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
5356
5357 PR target/51954
5358 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
5359
5360 2022-04-29 Richard Biener <rguenther@suse.de>
5361
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.
5376
5377 2022-04-29 Richard Biener <rguenther@suse.de>
5378
5379 * gimple-iterator.h (gsi_after_labels): Add overload for
5380 gimple_seq.
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.
5386
5387 2022-04-29 Richard Biener <rguenther@suse.de>
5388
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
5393 check.
5394
5395 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5396
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.
5430
5431 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5432
5433 * gimple-fold.cc (size_must_be_zero_p): Use reference
5434 instead of pointer
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
5439 of pointer.
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
5443 instead of pointer.
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.
5463
5464 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5465
5466 * gimple-ssa-evrp-analyze.cc
5467 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
5468 that take a range.
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
5481 calling the static.
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
5486 that take a range.
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.
5490
5491 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5492
5493 * value-range.h (irange::irange): Use set_undefined.
5494
5495 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5496
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
5502 private.
5503
5504 2022-04-29 Richard Biener <rguenther@suse.de>
5505
5506 PR tree-optimization/104322
5507 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
5508
5509 2022-04-29 Richard Biener <rguenther@suse.de>
5510
5511 PR middle-end/105376
5512 * tree.cc (build_real): Special case dconst* arguments
5513 for decimal floating point types.
5514
5515 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5516
5517 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
5518 Environments): New section.
5519
5520 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5521
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.
5531
5532 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5533
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.
5543
5544 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5545
5546 * gcov-io.cc (GCOV_MODE_STDIN): Define.
5547 (gcov_position): For gcov-tool, return calculated position if file is
5548 stdin.
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.
5553
5554 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5555
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.
5560
5561 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5562
5563 * gcov-io.cc (gcov_seek): Make it static.
5564 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
5565
5566 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5567
5568 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
5569 (gcov_output_files): Open files for reading and writing.
5570
5571 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5572
5573 * gcov-io.cc (gcov_open): Always use the mode parameter.
5574 * gcov-io.h (gcov_open): Declare it unconditionally.
5575
5576 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5577
5578 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
5579 (profile_merge): Allow merging of directories which contain no profile
5580 files.
5581
5582 2022-04-28 David Malcolm <dmalcolm@redhat.com>
5583
5584 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
5585 fpath.txt output.
5586
5587 2022-04-28 Jakub Jelinek <jakub@redhat.com>
5588
5589 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
5590 temporary only if out overlaps compare_op, not when it overlaps
5591 op0 or op1.
5592
5593 2022-04-28 Jakub Jelinek <jakub@redhat.com>
5594
5595 PR lto/105399
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.
5599
5600 2022-04-28 Jakub Jelinek <jakub@redhat.com>
5601
5602 PR target/105331
5603 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
5604 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
5605 of it.
5606
5607 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
5608
5609 * doc/install.texi (Configuration): Remove misleading text
5610 around LE PowerPC Linux multilibs.
5611
5612 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5613
5614 PR d/103528
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.
5619
5620 2022-04-28 Richard Biener <rguenther@suse.de>
5621
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.
5626
5627 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
5628
5629 * config/loongarch/loongarch.cc
5630 (loongarch_flatten_aggregate_field): Ignore empty fields for
5631 RECORD_TYPE.
5632
5633 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
5634
5635 * config/loongarch/loongarch.md: Add fdiv define_expand template,
5636 then generate floating-point division and floating-point reciprocal
5637 instructions.
5638
5639 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
5640
5641 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
5642 to PLV instruction templates.
5643
5644 2022-04-27 Richard Biener <rguenther@suse.de>
5645
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.
5652
5653 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
5654
5655 PR target/102024
5656 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
5657 prototype.
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.
5661
5662 2022-04-27 Jakub Jelinek <jakub@redhat.com>
5663
5664 PR sanitizer/105396
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.
5670
5671 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
5672
5673 PR target/105271
5674 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
5675 stanza.
5676
5677 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
5678
5679 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
5680 data-share memory exhausted" error more verbose.
5681
5682 2022-04-26 Martin Liska <mliska@suse.cz>
5683
5684 PR lto/105364
5685 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
5686 (run_gcc): Parse OPT_fdiagnostics_urls_.
5687 (main): Initialize global_dc.
5688
5689 2022-04-26 Jakub Jelinek <jakub@redhat.com>
5690
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.
5695
5696 2022-04-26 Jakub Jelinek <jakub@redhat.com>
5697
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.
5701
5702 2022-04-26 Jakub Jelinek <jakub@redhat.com>
5703
5704 PR target/105367
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.
5708
5709 2022-04-25 David Malcolm <dmalcolm@redhat.com>
5710
5711 PR analyzer/104308
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.
5715
5716 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
5717
5718 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
5719
5720 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
5721
5722 PR tree-optimization/105276
5723 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
5724 existing global range with calculated value.
5725
5726 2022-04-25 Richard Biener <rguenther@suse.de>
5727
5728 PR tree-optimization/105368
5729 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
5730
5731 2022-04-25 Richard Biener <rguenther@suse.de>
5732
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.
5740
5741 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
5742
5743 PR target/89125
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.
5749
5750 2022-04-25 Richard Biener <rguenther@suse.de>
5751
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.
5760
5761 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
5762
5763 PR target/105339
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.
5777
5778 2022-04-23 Jakub Jelinek <jakub@redhat.com>
5779
5780 PR target/105338
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
5783 cases.
5784
5785 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
5786
5787 PR target/105334
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.
5792
5793 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
5794
5795 * doc/extend.texi: Correct "This" to "These".
5796
5797 2022-04-22 Jakub Jelinek <jakub@redhat.com>
5798
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
5802 CONST_INT_P.
5803
5804 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
5805
5806 PR target/103197
5807 PR target/102146
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.
5815
5816 2022-04-21 Martin Liska <mliska@suse.cz>
5817
5818 * configure.ac: Enable compressed debug sections for mold
5819 linker.
5820 * configure: Regenerate.
5821
5822 2022-04-21 Jakub Jelinek <jakub@redhat.com>
5823
5824 PR debug/105203
5825 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
5826 on DEBUG_INSNs.
5827
5828 2022-04-20 Richard Biener <rguenther@suse.de>
5829
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.
5834
5835 2022-04-20 Richard Biener <rguenther@suse.de>
5836
5837 PR tree-optimization/105312
5838 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
5839 VCOND and VCONDU for EQ and NE.
5840
5841 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
5842
5843 PR ipa/103818
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.
5847
5848 2022-04-20 Jakub Jelinek <jakub@redhat.com>
5849
5850 PR ipa/105306
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.
5855
5856 2022-04-19 Sergei Trofimovich <siarheit@google.com>
5857
5858 PR gcov-profile/105282
5859 * value-prof.cc (stream_out_histogram_value): Allow negative counts
5860 on HIST_TYPE_INDIR_CALL.
5861
5862 2022-04-19 Jakub Jelinek <jakub@redhat.com>
5863
5864 PR target/105257
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 */.
5868
5869 2022-04-19 Richard Biener <rguenther@suse.de>
5870
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.
5877
5878 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
5879
5880 * doc/install.texi <CRIS>: Remove references to removed websites and
5881 adjust for cris-*-elf being the only remaining toolchain.
5882
5883 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
5884
5885 * doc/invoke.texi <CRIS>: Remove references to options for removed
5886 subtarget cris-axis-linux-gnu and tweak wording accordingly.
5887
5888 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
5889
5890 * doc/install.texi (Specific): Adjust mingw-w64 download link.
5891
5892 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
5893
5894 * config/i386/smmintrin.h: Correct target pragma from sse4.1
5895 and sse4.2 to crc32 for crc32 intrinsics.
5896
5897 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
5898
5899 PR debug/105089
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
5910 in the same TU.
5911 (ctf_preprocess): Defer updating the number of global objts
5912 until here.
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.
5918
5919 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
5920
5921 * ctfc.h (struct ctf_container): Introduce a new member.
5922 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
5923 variable.
5924
5925 2022-04-14 Jakub Jelinek <jakub@redhat.com>
5926
5927 PR target/105247
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.
5931
5932 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
5933
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):
5940 Add z16.
5941 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
5942 Likewise.
5943 * config/s390/3931.md: New file.
5944
5945 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
5946
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
5951 that divide the VF.
5952 (aarch64_vector_costs::finish_cost): Update call accordingly.
5953
5954 2022-04-13 Richard Biener <rguenther@suse.de>
5955
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.
5959
5960 2022-04-13 Jakub Jelinek <jakub@redhat.com>
5961
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.
5966
5967 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
5968
5969 PR target/103069
5970 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
5971 Add missing set to target_val at pause label.
5972
5973 2022-04-13 Jakub Jelinek <jakub@redhat.com>
5974
5975 PR target/105234
5976 * attribs.cc (decl_attributes): Don't set
5977 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
5978 NULL.
5979
5980 2022-04-13 Richard Biener <rguenther@suse.de>
5981
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.
5986
5987 2022-04-13 Richard Biener <rguenther@suse.de>
5988
5989 Revert:
5990 2022-04-13 Richard Biener <rguenther@suse.de>
5991
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.
5996
5997 2022-04-13 Richard Biener <rguenther@suse.de>
5998
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.
6003
6004 2022-04-13 Jakub Jelinek <jakub@redhat.com>
6005
6006 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
6007
6008 2022-04-12 Antoni Boucher <bouanto@zoho.com>
6009
6010 PR jit/104072
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.
6017
6018 2022-04-12 Antoni Boucher <bouanto@zoho.com>
6019
6020 PR jit/104071
6021 * toplev.cc: Call the new function tree_cc_finalize in
6022 toplev::finalize.
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).
6030
6031 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
6032
6033 PR target/97348
6034 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
6035 * config/nvptx/nvptx.opt (misa): Adjust comment.
6036
6037 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
6038
6039 Revert:
6040 2022-03-03 Tom de Vries <tdevries@suse.de>
6041
6042 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
6043
6044 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
6045
6046 Revert:
6047 2022-03-31 Tom de Vries <tdevries@suse.de>
6048
6049 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
6050
6051 2022-04-12 Richard Biener <rguenther@suse.de>
6052
6053 PR ipa/104303
6054 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
6055 include local escaped memory as obviously necessary stores.
6056
6057 2022-04-12 Richard Biener <rguenther@suse.de>
6058
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.
6063
6064 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
6065
6066 PR target/104144
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.
6074
6075 2022-04-12 Richard Biener <rguenther@suse.de>
6076
6077 PR tree-optimization/105232
6078 * tree.cc (component_ref_size): Bail out for too large
6079 or non-constant sizes.
6080
6081 2022-04-12 Richard Biener <rguenther@suse.de>
6082
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.
6086
6087 2022-04-12 Jakub Jelinek <jakub@redhat.com>
6088
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):
6094 Formatting fix.
6095 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
6096
6097 2022-04-12 Jakub Jelinek <jakub@redhat.com>
6098
6099 PR target/105214
6100 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
6101 do_pending_stack_adjust.
6102
6103 2022-04-12 Jakub Jelinek <jakub@redhat.com>
6104
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.
6110
6111 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
6112
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
6123 PF_Z16.
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.
6136
6137 2022-04-12 chenglulu <chenglulu@loongson.cn>
6138
6139 * config/loongarch/loongarch.cc: Fix bug for
6140 tmpdir-g++.dg-struct-layout-1/t033.
6141
6142 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
6143
6144 PR target/104894
6145 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
6146 to longcall functions.
6147
6148 2022-04-11 Jason Merrill <jason@redhat.com>
6149
6150 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
6151
6152 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
6153
6154 PR target/105213
6155 PR target/103623
6156 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
6157
6158 2022-04-11 Jakub Jelinek <jakub@redhat.com>
6159
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.
6164
6165 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
6166
6167 PR target/104853
6168 * config.gcc: Pass -misa-spec to arch-canonicalize and
6169 multilib-generator.
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.
6175
6176 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
6177
6178 * config/riscv/arch-canonicalize: Add TODO item.
6179 (IMPLIED_EXT): Sync.
6180 (arch_canonicalize): Checking until no change.
6181
6182 2022-04-11 Tamar Christina <tamar.christina@arm.com>
6183
6184 PR target/105197
6185 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
6186 not masked.
6187
6188 2022-04-11 Jason Merrill <jason@redhat.com>
6189
6190 PR c++/100370
6191 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
6192 deref == -1.
6193
6194 2022-04-11 Jakub Jelinek <jakub@redhat.com>
6195
6196 PR tree-optimization/104639
6197 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
6198 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
6199 into x != cst3.
6200
6201 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
6202
6203 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
6204 sign bit of the source ends up in CC.
6205
6206 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
6207
6208 PR ipa/103376
6209 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
6210 flag.
6211
6212 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
6213
6214 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
6215 nondeterministic and side_effects flags.
6216
6217 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
6218
6219 PR target/105157
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.
6227
6228 2022-04-08 Richard Biener <rguenther@suse.de>
6229
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.
6234
6235 2022-04-08 Jakub Jelinek <jakub@redhat.com>
6236
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
6240 typeof (x).
6241
6242 2022-04-08 Richard Biener <rguenther@suse.de>
6243
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.
6254
6255 2022-04-07 Tamar Christina <tamar.christina@arm.com>
6256
6257 PR target/104409
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
6261 arm_acle.h
6262 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
6263 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
6264
6265 2022-04-07 Richard Biener <rguenther@suse.de>
6266 Jan Hubicka <hubicka@ucw.cz>
6267
6268 PR ipa/104303
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
6273 considered global.
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):
6288 Likewise.
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.
6293
6294 2022-04-07 Richard Biener <rguenther@suse.de>
6295
6296 PR tree-optimization/105185
6297 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
6298 modref query again.
6299
6300 2022-04-07 Tamar Christina <tamar.christina@arm.com>
6301
6302 PR target/104049
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.
6309
6310 2022-04-07 Jakub Jelinek <jakub@redhat.com>
6311
6312 PR tree-optimization/102586
6313 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
6314 langhook.
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.
6321
6322 2022-04-07 Jakub Jelinek <jakub@redhat.com>
6323
6324 PR tree-optimization/105150
6325 * tree.cc (tree_builtin_call_types_compatible_p): New function.
6326 (get_call_combined_fn): Use it.
6327
6328 2022-04-07 Richard Biener <rguenther@suse.de>
6329
6330 PR middle-end/105165
6331 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
6332 _Complex outputs.
6333
6334 2022-04-07 liuhongt <hongtao.liu@intel.com>
6335
6336 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
6337 Removed.
6338 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
6339 for mask_applied.
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
6343 real instruction.
6344 (VFB_512): Ditto.
6345 (VFB): Ditto.
6346
6347 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6348
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.
6362
6363 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6364
6365 PR target/105069
6366 * config/sh/sh.opt (mdiv=): Add Save.
6367
6368 2022-04-06 Martin Liska <mliska@suse.cz>
6369
6370 PR driver/105096
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
6374 options.
6375
6376 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
6377
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
6382 bases.
6383
6384 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6385
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
6390 here.
6391
6392 2022-04-06 Richard Biener <rguenther@suse.de>
6393
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.
6399
6400 2022-04-06 Richard Biener <rguenther@suse.de>
6401
6402 PR ipa/105166
6403 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
6404 out for non-pointer arguments.
6405
6406 2022-04-06 Richard Biener <rguenther@suse.de>
6407
6408 PR tree-optimization/105163
6409 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
6410 negated abnormals.
6411
6412 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6413
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.
6420
6421 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
6422
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.
6429
6430 2022-04-06 Martin Liska <mliska@suse.cz>
6431
6432 * doc/invoke.texi: Document it.
6433
6434 2022-04-06 Richard Biener <rguenther@suse.de>
6435
6436 PR tree-optimization/105148
6437 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
6438 2 and 3 of ARRAY_REFs.
6439
6440 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
6441
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.
6445
6446 2022-04-06 Richard Biener <rguenther@suse.de>
6447
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.
6461
6462 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
6463
6464 PR target/105002
6465 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
6466 comparison codes UNLT/UNLE/UNGT/UNGE.
6467
6468 2022-04-05 David Malcolm <dmalcolm@redhat.com>
6469
6470 * doc/extend.texi (Common Function Attributes): Document that
6471 'access' does not imply 'nonnull'.
6472
6473 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
6474
6475 PR target/105139
6476 * config/i386/mmx.md (*movv2qi_internal):
6477 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
6478
6479 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
6480
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.
6492
6493 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
6494
6495 PR target/103147
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):
6500 New variable.
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.
6513
6514 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
6515
6516 PR target/104897
6517 * config/aarch64/aarch64-sve-builtins.cc
6518 (function_resolver::infer_vector_or_tuple_type): Use error_n
6519 for "%d vectors" messages.
6520
6521 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
6522
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
6525 current clause.
6526
6527 2022-04-05 Richard Biener <rguenther@suse.de>
6528
6529 PR c/105151
6530 * passes.def (pass_walloca): Move early instance into
6531 pass_build_ssa_passes to make SSA form available.
6532
6533 2022-04-05 liuhongt <hongtao.liu@intel.com>
6534
6535 PR target/101908
6536 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
6537 function
6538 (ix86_reorg): Call ix86_split_stlf_stall_load.
6539 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
6540 param.
6541
6542 2022-04-05 Alexandre Oliva <oliva@adacore.com>
6543
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.
6550
6551 2022-04-04 Alex Coplan <alex.coplan@arm.com>
6552
6553 * doc/match-and-simplify.texi: Fix typos.
6554
6555 2022-04-04 Jakub Jelinek <jakub@redhat.com>
6556
6557 PR target/105144
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.
6562
6563 2022-04-04 Jakub Jelinek <jakub@redhat.com>
6564
6565 PR target/105144
6566 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
6567 * config/aarch64/aarch64-tune.md: Regenerated.
6568
6569 2022-04-04 Richard Biener <rguenther@suse.de>
6570
6571 PR tree-optimization/105132
6572 * tree-vect-stmts.cc (vectorizable_operation): Check that
6573 the input vectors have the same number of elements.
6574
6575 2022-04-04 Richard Biener <rguenther@suse.de>
6576
6577 PR middle-end/105140
6578 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
6579
6580 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
6581
6582 PR target/104987
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.
6587
6588 2022-04-03 Jakub Jelinek <jakub@redhat.com>
6589
6590 PR target/105123
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
6593 IOR.
6594
6595 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
6596
6597 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
6598 NULL before dereferencing it.
6599
6600 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
6601
6602 * config/i386/i386.cc (zero_all_st_registers): Return the value of
6603 num_of_st.
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.
6609
6610 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
6611
6612 PR target/102024
6613 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
6614 fields, and inform if it causes a psABI change.
6615
6616 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
6617
6618 PR target/102024
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.
6624
6625 2022-04-01 Jakub Jelinek <jakub@redhat.com>
6626
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.
6631
6632 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
6633
6634 * config/mips/mips.cc (mips_expand_prologue):
6635 IPL is 8bit for MCU ASE.
6636
6637 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
6638
6639 PR target/104004
6640 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
6641 (MTFSB0): Likewise.
6642 (MTFSB1): Likewise.
6643 (SET_FPSCR_RN): Likewise.
6644 (SET_FPSCR_DRN): Mark nosoft and no32bit.
6645
6646 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
6647
6648 * doc/options.texi (Option file format): Clarifications around
6649 option definition records' help texts.
6650
6651 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
6652
6653 * optc-gen.awk <END>: Fix "Multiple different help strings" error
6654 diagnostic.
6655
6656 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
6657
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.
6667
6668 2022-03-31 Martin Jambor <mjambor@suse.cz>
6669
6670 PR ipa/103083
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
6674 ancestor function.
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,
6688 observe it.
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
6693 flag.
6694 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
6695 jump functions.
6696
6697 2022-03-31 Martin Jambor <mjambor@suse.cz>
6698
6699 PR ipa/102513
6700 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
6701 which do not fit the known value_range.
6702
6703 2022-03-31 Martin Jambor <mjambor@suse.cz>
6704
6705 PR ipa/103171
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.
6709
6710 2022-03-31 Richard Biener <rguenther@suse.de>
6711
6712 PR tree-optimization/105109
6713 * tree-ssa.cc (execute_update_addresses_taken): Suppress
6714 diagnostics on the load of the other complex component.
6715
6716 2022-03-31 Tom de Vries <tdevries@suse.de>
6717
6718 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
6719
6720 2022-03-31 Richard Biener <rguenther@suse.de>
6721
6722 PR rtl-optimization/105091
6723 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
6724 bases.
6725
6726 2022-03-31 Richard Biener <rguenther@suse.de>
6727
6728 Revert:
6729 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
6730
6731 PR target/102125
6732 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
6733 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
6734
6735 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
6736
6737 * gcov-io.cc (gcov_read_string): Reword documentation comment.
6738
6739 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
6740
6741 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
6742 stanza.
6743 (NEG_V4SF): Likewise.
6744 (NEG_V4SI): Likewise.
6745 (NEG_V8HI): Likewise.
6746 (NEG_V2DF): Move to [vsx] stanza.
6747 (NEG_V2DI): Likewise.
6748
6749 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
6750
6751 PR middle-end/105032
6752 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
6753
6754 2022-03-30 Tom de Vries <tdevries@suse.de>
6755 Tobias Burnus <tobias@codesourcery.com>
6756
6757 * doc/invoke.texi (march): Document __PTX_SM__.
6758 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
6759 __PTX_ISA_VERSION_MINOR__.
6760
6761 2022-03-30 Jakub Jelinek <jakub@redhat.com>
6762
6763 PR sanitizer/105093
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.
6767
6768 2022-03-30 Jakub Jelinek <jakub@redhat.com>
6769
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.
6773
6774 2022-03-30 Tom de Vries <tdevries@suse.de>
6775
6776 * doc/invoke.texi (misa, mptx): Update.
6777 (march, march-map): Add.
6778
6779 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
6780
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.
6785
6786 2022-03-29 Marek Polacek <polacek@redhat.com>
6787 Jakub Jelinek <jakub@redhat.com>
6788
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.
6794
6795 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
6796
6797 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
6798 be any VSX register.
6799
6800 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
6801
6802 PR target/102024
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.
6807
6808 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
6809
6810 PR target/102024
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.
6815
6816 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
6817
6818 PR target/96882
6819 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
6820 ARM_PCS_AAPCS_LOCAL.
6821
6822 2022-03-29 Tom de Vries <tdevries@suse.de>
6823
6824 PR target/104857
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.
6829
6830 2022-03-29 Tom de Vries <tdevries@suse.de>
6831
6832 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
6833 is ignored.
6834
6835 2022-03-29 Tom de Vries <tdevries@suse.de>
6836
6837 PR target/104714
6838 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
6839
6840 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
6841
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
6848
6849 2022-03-29 Tom de Vries <tdevries@suse.de>
6850
6851 * config/nvptx/nvptx.opt (march): Add alias of misa.
6852
6853 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6854 Lulu Cheng <chenglulu@loongson.cn>
6855
6856 * doc/install.texi: Add LoongArch options section.
6857 * doc/invoke.texi: Add LoongArch options section.
6858 * doc/md.texi: Add LoongArch options section.
6859
6860 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6861 Lulu Cheng <chenglulu@loongson.cn>
6862
6863 * config/loongarch/loongarch-c.cc
6864
6865 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6866 Lulu Cheng <chenglulu@loongson.cn>
6867
6868 * config/loongarch/larchintrin.h: New file.
6869 * config/loongarch/loongarch-builtins.cc: New file.
6870
6871 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6872 Lulu Cheng <chenglulu@loongson.cn>
6873
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.
6879
6880 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6881 Lulu Cheng <chenglulu@loongson.cn>
6882
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.
6891
6892 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6893 Lulu Cheng <chenglulu@loongson.cn>
6894
6895 * configure: Regenerate file.
6896
6897 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6898 Lulu Cheng <chenglulu@loongson.cn>
6899
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.
6920
6921 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
6922
6923 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
6924 typo.
6925
6926 2022-03-29 Richard Biener <rguenther@suse.de>
6927
6928 PR tree-optimization/105080
6929 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
6930 loops and SCEV.
6931
6932 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
6933
6934 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
6935 (output_ctf_vars): Likewise.
6936
6937 2022-03-28 Jason Merrill <jason@redhat.com>
6938
6939 PR c++/59426
6940 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
6941
6942 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
6943
6944 PR target/105068
6945 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
6946 "Yw" in clobber.
6947
6948 2022-03-28 Tom de Vries <tdevries@suse.de>
6949
6950 PR target/104818
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
6955 gen-opt.sh.
6956
6957 2022-03-28 David Malcolm <dmalcolm@redhat.com>
6958
6959 PR analyzer/104308
6960 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
6961 to loads then stores, set the location of the new load stmt.
6962
6963 2022-03-28 Richard Biener <rguenther@suse.de>
6964
6965 PR tree-optimization/105070
6966 * tree-switch-conversion.h
6967 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
6968 argument.
6969 * tree-switch-conversion.cc
6970 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
6971 cond with location.
6972 (bit_test_cluster::emit): Annotate all generated expressions
6973 with location.
6974
6975 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
6976
6977 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
6978
6979 2022-03-28 liuhongt <hongtao.liu@intel.com>
6980
6981 PR target/105066
6982 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
6983 alternative 4 from sse4_noavx to noavx.
6984
6985 2022-03-28 Jakub Jelinek <jakub@redhat.com>
6986
6987 PR tree-optimization/105056
6988 * tree-predcom.cc (component::component): Initialize also comp_step.
6989
6990 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
6991
6992 PR target/105068
6993 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
6994 "Yw".
6995
6996 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
6997
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.
7001
7002 2022-03-26 Jakub Jelinek <jakub@redhat.com>
7003
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
7007 any stored REGs.
7008
7009 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
7010
7011 PR target/105058
7012 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
7013 (aes<aesklvariant>u8): Likewise.
7014
7015 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
7016
7017 PR target/105052
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.
7022
7023 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
7024
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.
7028
7029 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
7030
7031 PR target/104882
7032 Revert
7033 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
7034
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
7040 from vec-common.md.
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.
7047
7048 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
7049
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.
7053
7054 2022-03-25 Richard Biener <rguenther@suse.de>
7055
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.
7059
7060 2022-03-25 Richard Biener <rguenther@suse.de>
7061
7062 PR middle-end/105049
7063 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
7064 CONSTRUCTOR first elements.
7065
7066 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
7067
7068 PR analyzer/103533
7069 * doc/invoke.texi (Static Analyzer Options): Move
7070 @ignore block after @gccoptlist's '}' for 'make pdf'.
7071
7072 2022-03-25 David Malcolm <dmalcolm@redhat.com>
7073
7074 PR analyzer/104954
7075 * doc/invoke.texi (Static Analyzer Options): Add
7076 -fdump-analyzer-untracked.
7077
7078 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
7079
7080 PR analyzer/103533
7081 * doc/invoke.texi: Document that enabling taint analyzer
7082 checker disables some warnings from `-fanalyzer`.
7083
7084 2022-03-24 Alexandre Oliva <oliva@adacore.com>
7085
7086 PR debug/104564
7087 * gimple-harden-conditionals.cc (detach_value): Keep temps
7088 anonymous.
7089
7090 2022-03-24 Alexandre Oliva <oliva@adacore.com>
7091
7092 PR middle-end/104975
7093 * gimple-harden-conditionals.cc
7094 (pass_harden_compares::execute): Force split in case of
7095 multiple edges.
7096
7097 2022-03-24 Jakub Jelinek <jakub@redhat.com>
7098
7099 PR c++/105035
7100 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
7101 field0 or field1 is not a FIELD_DECL, return false.
7102
7103 2022-03-24 Richard Biener <rguenther@suse.de>
7104
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
7117 for vec_offsets.
7118 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
7119 Release m_flag_set_edges.
7120
7121 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
7122
7123 PR tree-optimization/104970
7124 * tree-object-size.cc (parm_object_size): Restrict size
7125 computation scenarios to explicit access attributes.
7126
7127 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
7128
7129 PR target/104967
7130 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
7131 function types.
7132
7133 2022-03-23 Richard Biener <rguenther@suse.de>
7134
7135 PR target/102125
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.
7139
7140 2022-03-23 Richard Biener <rguenther@suse.de>
7141
7142 PR rtl-optimization/105028
7143 * ira-color.cc (form_threads_from_copies): Remove unnecessary
7144 copying of the sorted_copies tail.
7145
7146 2022-03-23 Martin Liska <mliska@suse.cz>
7147
7148 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
7149 Use %qs in format.
7150 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
7151 Reword the error message.
7152
7153 2022-03-23 liuhongt <hongtao.liu@intel.com>
7154
7155 PR target/104976
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,
7171 extendv2hfv2df2,
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.
7186
7187 2022-03-22 Tom de Vries <tdevries@suse.de>
7188
7189 PR target/104925
7190 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
7191 Use % as register prefix.
7192
7193 2022-03-22 Tom de Vries <tdevries@suse.de>
7194
7195 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
7196 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
7197 mexperimental.
7198
7199 2022-03-22 Tom de Vries <tdevries@suse.de>
7200
7201 * config/nvptx/nvptx.opt (mexperimental): New option.
7202
7203 2022-03-22 Tom de Vries <tdevries@suse.de>
7204
7205 PR target/104957
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
7208 for alias.
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
7212 gcc_unreachable ().
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.
7216
7217 2022-03-22 Tom de Vries <tdevries@suse.de>
7218
7219 PR target/104916
7220 PR target/104783
7221 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
7222 sync (or uniform warp check for mptx < 6.0).
7223
7224 2022-03-22 Richard Biener <rguenther@suse.de>
7225
7226 PR tree-optimization/105012
7227 * tree-if-conv.cc (ifcvt_local_dce): Only call
7228 dse_classify_store when we have a VDEF.
7229
7230 2022-03-22 Martin Liska <mliska@suse.cz>
7231
7232 PR target/104902
7233 * config/nvptx/nvptx.cc (handle_ptx_version_option):
7234 Fix option wrapping in an error message.
7235
7236 2022-03-22 Martin Liska <mliska@suse.cz>
7237
7238 PR target/104903
7239 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
7240 Wrap const keyword.
7241
7242 2022-03-22 Martin Liska <mliska@suse.cz>
7243
7244 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
7245 name.
7246
7247 2022-03-22 Martin Liska <mliska@suse.cz>
7248
7249 PR target/104898
7250 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
7251 Use %qs instead of (%qs).
7252
7253 2022-03-22 Martin Liska <mliska@suse.cz>
7254
7255 PR target/104898
7256 * config/i386/i386-options.cc (ix86_option_override_internal):
7257 Use '%qs' instead of '(%qs)'.
7258
7259 2022-03-22 Martin Liska <mliska@suse.cz>
7260
7261 PR target/104898
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.
7267
7268 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7269 Andre Vieira <andre.simoesdiasvieira@arm.com>
7270
7271 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
7272 struct.
7273 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
7274 cost.
7275 (neoverse512tvb_tunings): Likewise.
7276
7277 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7278 Andre Vieira <andre.simoesdiasvieira@arm.com>
7279
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
7287 tuning.
7288 * config/aarch64/aarch64-cores.def: Add entry for demeter.
7289 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
7290
7291 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7292 Andre Vieira <andre.simoesdiasvieira@arm.com>
7293
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.
7298
7299 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7300 Andre Vieira <andre.simoesdiasvieira@arm.com>
7301
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
7309 tuning.
7310
7311 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
7312
7313 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
7314 bit.
7315
7316 2022-03-22 liuhongt <hongtao.liu@intel.com>
7317
7318 PR target/104982
7319 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
7320 following splitter to reversed condition.
7321
7322 2022-03-22 Jakub Jelinek <jakub@redhat.com>
7323
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.
7330
7331 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
7332
7333 * print-tree.cc: Change array length
7334
7335 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
7336
7337 PR target/104978
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.
7343
7344 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
7345
7346 PR target/105000
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.
7350
7351 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
7352
7353 PR target/104998
7354 * common/config/i386/cpuinfo.h (get_available_features): Pass
7355 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
7356 bit_AESKLE is set.
7357
7358 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
7359
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
7372 argument.
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
7383 above renaming.
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.
7390
7391 2022-03-21 Martin Liska <mliska@suse.cz>
7392
7393 * doc/invoke.texi: Document min-pagesize parameter.
7394
7395 2022-03-21 Richard Biener <rguenther@suse.de>
7396
7397 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
7398 we are estimating niter of loop.
7399
7400 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
7401
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.
7421
7422 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
7423
7424 PR target/104977
7425 * config/i386/sse.md
7426 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
7427 Correct round operand for intel dialect.
7428
7429 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
7430
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.
7439
7440 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
7441
7442 PR jit/63854
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.
7448
7449 2022-03-19 Jakub Jelinek <jakub@redhat.com>
7450
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.
7455
7456 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
7457
7458 PR rtl-optimization/104961
7459 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
7460
7461 2022-03-18 Jason Merrill <jason@redhat.com>
7462
7463 * tree.h (IDENTIFIER_LENGTH): Add comment.
7464
7465 2022-03-18 Jakub Jelinek <jakub@redhat.com>
7466
7467 PR middle-end/99578
7468 PR middle-end/100680
7469 PR tree-optimization/100834
7470 * params.opt (--param=min-pagesize=): New parameter.
7471 * pointer-query.cc
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.
7475
7476 2022-03-18 Tom de Vries <tdevries@suse.de>
7477
7478 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
7479 Set gfor location only when dealing with a OMP_TASKLOOP.
7480
7481 2022-03-18 Tom de Vries <tdevries@suse.de>
7482
7483 * gimplify.cc (gimplify_omp_for): Set taskloop location.
7484
7485 2022-03-18 Tom de Vries <tdevries@suse.de>
7486
7487 PR target/104952
7488 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
7489 is executed unconditionally.
7490
7491 2022-03-18 liuhongt <hongtao.liu@intel.com>
7492
7493 PR target/104974
7494 * config/i386/i386.md (*movhi_internal): Set attr type from HI
7495 to HF for alternative 12 under TARGET_AVX512FP16.
7496
7497 2022-03-18 Cui,Lili <lili.cui@intel.com>
7498
7499 PR target/104963
7500 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
7501 * doc/invoke.texi: Update documents for Intel sapphirerapids.
7502
7503 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
7504
7505 PR target/86722
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.
7511
7512 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
7513
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.
7517
7518 2022-03-17 Richard Biener <rguenther@suse.de>
7519
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.
7526
7527 2022-03-17 Jakub Jelinek <jakub@redhat.com>
7528
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.
7534
7535 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
7536
7537 * config/i386/sse.md: Delete corrupt character/typo.
7538
7539 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
7540
7541 PR target/94680
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).
7546
7547 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
7548
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.
7552
7553 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
7554
7555 PR target/104890
7556 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
7557 pushing target("general-regs-only").
7558
7559 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
7560
7561 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
7562 Add version info for zk, zks and zkn.
7563
7564 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
7565
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.
7572
7573 2022-03-16 Richard Biener <rguenther@suse.de>
7574
7575 PR tree-optimization/102008
7576 * passes.def: Move the added code sinking pass before the
7577 preceeding phiopt pass.
7578
7579 2022-03-16 Patrick Palka <ppalka@redhat.com>
7580
7581 PR c++/96780
7582 * doc/invoke.texi (C++ Dialect Options): Document
7583 -ffold-simple-inlines.
7584
7585 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
7586
7587 PR tree-optimization/104942
7588 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
7589
7590 2022-03-16 Jakub Jelinek <jakub@redhat.com>
7591
7592 PR target/104910
7593 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
7594 imm rtx.
7595
7596 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
7597 Richard Biener <rguenther@suse.de>
7598
7599 * gimple-match-head.cc (single_use): Implement inline using a
7600 single loop.
7601
7602 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
7603
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.
7608
7609 2022-03-16 liuhongt <hongtao.liu@intel.com>
7610
7611 PR target/104946
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
7616
7617 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
7618
7619 PR target/104923
7620 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
7621 acceptable MEM addresses.
7622
7623 2022-03-15 Jakub Jelinek <jakub@redhat.com>
7624
7625 PR target/91229
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
7628 to warning calls.
7629
7630 2022-03-15 Jakub Jelinek <jakub@redhat.com>
7631
7632 PR target/104890
7633 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
7634 instead of general-regs-only.
7635
7636 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
7637 Marc Glisse <marc.glisse@inria.fr>
7638 Richard Biener <rguenther@suse.de>
7639
7640 PR tree-optimization/101895
7641 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
7642 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
7643
7644 2022-03-15 Jakub Jelinek <jakub@redhat.com>
7645
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.
7649
7650 2022-03-15 Martin Sebor <msebor@redhat.com>
7651
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.
7656
7657 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
7658 Uroš Bizjak <ubizjak@gmail.com>
7659
7660 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
7661 transformation when *zero_extend<mode>si2 is not available.
7662
7663 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
7664
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.
7670
7671 2022-03-14 Jakub Jelinek <jakub@redhat.com>
7672
7673 PR debug/104778
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.
7677
7678 2022-03-14 Jakub Jelinek <jakub@redhat.com>
7679
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.
7684
7685 2022-03-14 Jakub Jelinek <jakub@redhat.com>
7686
7687 PR target/99754
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.
7694
7695 2022-03-14 Jakub Jelinek <jakub@redhat.com>
7696
7697 PR other/104899
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.
7703
7704 2022-03-14 liuhongt <hongtao.liu@intel.com>
7705
7706 PR target/104666
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.
7715
7716 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
7717
7718 * doc/invoke.texi: Fix typos.
7719 * doc/tm.texi.in: Remove duplicated word.
7720 * doc/tm.texi: Regenerate.
7721
7722 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
7723
7724 PR target/104829
7725 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
7726 "ppc" and "ppc64" based on rs6000_cpu.
7727
7728 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
7729
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'.
7734
7735 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
7736
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'.
7743
7744 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
7745
7746 PR other/65095
7747 * tree-core.h (user_omp_claus_code_name): Declare function.
7748 * tree.cc (user_omp_clause_code_name): New function.
7749
7750 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
7751
7752 PR middle-end/98420
7753 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
7754 (the defaut) or -fno-signed-zeros.
7755
7756 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
7757
7758 PR target/104868
7759 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
7760 moving from a GPR register to an Altivec register.
7761
7762 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
7763
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.
7768
7769 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
7770 Richard Biener <rguenther@suse.de>
7771
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.
7779
7780 2022-03-11 Richard Biener <rguenther@suse.de>
7781
7782 PR tree-optimization/104880
7783 * tree-ssa.cc (execute_update_address_taken): Remember if we
7784 optimistically made something not addressable and
7785 prepare to undo it.
7786
7787 2022-03-11 Richard Biener <rguenther@suse.de>
7788
7789 PR target/104762
7790 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
7791 cost the first lane of SSE pieces as inserts for vec_construct.
7792
7793 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
7794
7795 PR c++/84964
7796 * calls.cc (expand_call): Ignore stack adjustments after sorry.
7797
7798 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
7799
7800 PR target/103074
7801 * lra-constraints.cc (split_reg): Set up
7802 check_and_force_assignment_correctness_p when splitting hard
7803 register live range.
7804
7805 2022-03-10 Martin Jambor <mjambor@suse.cz>
7806
7807 PR ipa/104813
7808 * ipa-cp.cc (create_specialized_node): Move removal of
7809 self-recursive calls from callers vector before refrence
7810 adjustments.
7811
7812 2022-03-10 Richard Biener <rguenther@suse.de>
7813
7814 PR tree-optimization/102943
7815 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
7816 Make a bitmap_head.
7817 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
7818 to tree view.
7819 (sbr_sparse_bitmap::set_bb_range): Adjust.
7820 (sbr_sparse_bitmap::get_bb_range): Likewise.
7821
7822 2022-03-10 Richard Biener <rguenther@suse.de>
7823
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.
7830
7831 2022-03-10 Tom de Vries <tdevries@suse.de>
7832
7833 PR target/104840
7834 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
7835 of false,true.
7836
7837 2022-03-10 Tom de Vries <tdevries@suse.de>
7838
7839 PR target/104783
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.
7849
7850 2022-03-10 Tom de Vries <tdevries@suse.de>
7851
7852 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
7853 result.
7854
7855 2022-03-10 Tom de Vries <tdevries@suse.de>
7856
7857 PR target/104815
7858 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
7859 modifier.
7860 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
7861
7862 2022-03-10 Tom de Vries <tdevries@suse.de>
7863
7864 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
7865 Emit atom.and.b64 instead of atom.b64.and.
7866
7867 2022-03-10 Tom de Vries <tdevries@suse.de>
7868
7869 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
7870 (MULTILIB_OPTIONS): ... here.
7871
7872 2022-03-10 Tom de Vries <tdevries@suse.de>
7873
7874 PR target/104758
7875 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
7876 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
7877
7878 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
7879
7880 PR middle-end/90115
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.
7887
7888 2022-03-10 Jakub Jelinek <jakub@redhat.com>
7889
7890 PR target/99708
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
7905 for it.
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.
7910 Formatting fix.
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
7924 attribute.
7925
7926 2022-03-09 Richard Biener <rguenther@suse.de>
7927
7928 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
7929 with non-decl operand, avoiding a copy.
7930
7931 2022-03-09 Jakub Jelinek <jakub@redhat.com>
7932
7933 PR target/104781
7934 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
7935
7936 2022-03-09 Richard Biener <rguenther@suse.de>
7937
7938 PR middle-end/104786
7939 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
7940 for VLAs without an upper size bound.
7941
7942 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
7943
7944 PR tree-optimization/104851
7945 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
7946 error.
7947
7948 2022-03-09 Jakub Jelinek <jakub@redhat.com>
7949
7950 PR c/104711
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
7953 later.
7954 (-Wshift-negative-value): Similarly (except here we stated
7955 that it is enabled for C++11 or later).
7956
7957 2022-03-09 Jakub Jelinek <jakub@redhat.com>
7958
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.
7964
7965 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
7966
7967 PR target/104842
7968 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
7969 value before adding an offset.
7970
7971 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
7972
7973 * config/arm/arm-builtins.cc
7974 (arm_binop_none_none_unone_qualifiers): Delete.
7975 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
7976
7977 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
7978
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.
7982
7983 2022-03-08 Marek Polacek <polacek@redhat.com>
7984
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.
7988
7989 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
7990
7991 PR target/104781
7992 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
7993 stack realignment or regparm nested function with EH return.
7994
7995 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
7996
7997 PR target/104790
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.
8001
8002 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
8003
8004 PR translation/104552
8005 * params.opt: Fix typo.
8006
8007 2022-03-08 Richard Biener <rguenther@suse.de>
8008
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.
8014
8015 2022-03-08 Martin Jambor <mjambor@suse.cz>
8016
8017 PR translation/104552
8018 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
8019 "that" in the description.
8020
8021 2022-03-08 Richard Biener <rguenther@suse.de>
8022
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.
8026
8027 2022-03-08 liuhongt <hongtao.liu@intel.com>
8028
8029 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
8030 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
8031
8032 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
8033
8034 * doc/invoke.texi (C++ Modules): Remove anachronism.
8035
8036 2022-03-07 Martin Liska <mliska@suse.cz>
8037
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.
8041
8042 2022-03-07 Jakub Jelinek <jakub@redhat.com>
8043
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.
8053 * ctfc.h: 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.
8063
8064 2022-03-07 Martin Liska <mliska@suse.cz>
8065
8066 PR target/104794
8067 * config/arm/arm.cc (arm_option_override_internal): Add missing
8068 space.
8069
8070 2022-03-07 Richard Biener <rguenther@suse.de>
8071
8072 PR tree-optimization/104782
8073 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
8074 Re-instantiate r10-5979 fix, add comment.
8075
8076 2022-03-07 Martin Liska <mliska@suse.cz>
8077
8078 PR target/104797
8079 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
8080 parenthesis from built-in name.
8081
8082 2022-03-07 Martin Liska <mliska@suse.cz>
8083
8084 PR target/104794
8085 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
8086 of options in error messages.
8087 (arm_option_reconfigure_globals): Likewise.
8088
8089 2022-03-07 Martin Liska <mliska@suse.cz>
8090
8091 PR target/104794
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].
8095
8096 2022-03-07 Jakub Jelinek <jakub@redhat.com>
8097
8098 PR target/104775
8099 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
8100 S constraint instead of T in the last alternative.
8101
8102 2022-03-07 Martin Liska <mliska@suse.cz>
8103
8104 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
8105 message.
8106
8107 2022-03-07 Martin Liska <mliska@suse.cz>
8108
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.
8113
8114 2022-03-07 Martin Liska <mliska@suse.cz>
8115
8116 PR target/99297
8117 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
8118 string.
8119
8120 2022-03-07 Jakub Jelinek <jakub@redhat.com>
8121
8122 PR target/104779
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.
8129
8130 2022-03-05 Jakub Jelinek <jakub@redhat.com>
8131
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.
8134
8135 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
8136 Uroš Bizjak <ubizjak@gmail.com>
8137
8138 PR testsuite/104732
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.
8148
8149 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
8150
8151 PR target/104698
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.
8157
8158 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
8159
8160 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
8161 bit. Handle most older CPUs.
8162
8163 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
8164
8165 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
8166 avoid a mismatch with DECL_MD_FUNCTION_CODE().
8167
8168 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
8169
8170 PR target/104117
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
8177 in r12-7209.
8178
8179 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
8180
8181 PR target/87496
8182 PR target/104208
8183 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
8184 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
8185 -mlong-double-128.
8186 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
8187 from here...
8188 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
8189 ... to here.
8190
8191 2022-03-04 Jakub Jelinek <jakub@redhat.com>
8192
8193 PR middle-end/104529
8194 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
8195 on automatic objects which will be runtime initialized.
8196
8197 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8198
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.
8206
8207 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8208
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
8216 'TREE_ADDRESSABLE'.
8217
8218 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8219
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".
8224
8225 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8226
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'.
8232
8233 2022-03-04 Jakub Jelinek <jakub@redhat.com>
8234
8235 PR c/104627
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
8238 NULL.
8239
8240 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
8241
8242 PR target/104704
8243 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
8244 a pseudo register.
8245
8246 2022-03-03 Martin Sebor <msebor@redhat.com>
8247
8248 PR middle-end/104761
8249 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
8250 mark_dfs_back_edges.
8251
8252 2022-03-03 Martin Liska <mliska@suse.cz>
8253
8254 * configure.ac: Use linker plug-in by default.
8255 * configure: Regenerate.
8256
8257 2022-03-03 Martin Liska <mliska@suse.cz>
8258
8259 * configure.ac: Now ld.mold support LTO plugin API, use it.
8260 * configure: Regenerate.
8261
8262 2022-03-03 Tom de Vries <tdevries@suse.de>
8263
8264 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
8265
8266 2022-03-03 Tom de Vries <tdevries@suse.de>
8267
8268 PR target/104758
8269 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
8270
8271 2022-03-03 Tom de Vries <tdevries@suse.de>
8272
8273 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
8274
8275 2022-03-03 Jakub Jelinek <jakub@redhat.com>
8276
8277 PR middle-end/104757
8278 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
8279 gimplify_omp_for.
8280 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
8281 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
8282
8283 2022-03-03 Jakub Jelinek <jakub@redhat.com>
8284
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
8289 be non-zero.
8290
8291 2022-03-02 Alexandre Oliva <oliva@adacore.com>
8292
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.
8297
8298 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
8299
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.
8310
8311 2022-03-02 Richard Biener <rguenther@suse.de>
8312
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
8317 object conflicts.
8318 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
8319 last.
8320
8321 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8322
8323 * cfg.cc (dump_edge_info): Dump goto_locus if present.
8324
8325 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8326
8327 PR rtl-optimization/104589
8328 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
8329 INSN_LOCATION comparison with goto_locus.
8330
8331 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8332
8333 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
8334 strlen_pass::before_dom_children): Comment spelling fixes.
8335
8336 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8337
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):
8355 Likewise.
8356 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
8357 Likewise.
8358 * ipa-modref-tree.h (enum modref_special_parms,
8359 struct modref_access_node): Likewise.
8360
8361 2022-03-01 Jakub Jelinek <jakub@redhat.com>
8362
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
8367 is non-NULL.
8368
8369 2022-03-01 Jakub Jelinek <jakub@redhat.com>
8370
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.
8380
8381 2022-03-01 Richard Biener <rguenther@suse.de>
8382
8383 PR tree-optimization/104716
8384 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
8385 Check if we can copy the loop.
8386
8387 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
8388
8389 PR middle-end/104721
8390 * cfgexpand.cc (expand_gimple_basic_block): Clear
8391 currently_expanding_gimple_stmt when returning inside the loop.
8392
8393 2022-03-01 Martin Liska <mliska@suse.cz>
8394
8395 PR ipa/104533
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.
8400
8401 2022-03-01 Martin Liska <mliska@suse.cz>
8402
8403 PR gcov-profile/104677
8404 * doc/invoke.texi: Document more .gcda file name generation.
8405
8406 2022-03-01 Tom de Vries <tdevries@suse.de>
8407
8408 PR target/102429
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"):
8412 New predicate.
8413 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
8414 Use nvptx_register_or_complex_di_df_register_operand.
8415
8416 2022-03-01 Tom de Vries <tdevries@suse.de>
8417
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.
8429
8430 2022-03-01 Tom de Vries <tdevries@suse.de>
8431
8432 * config/nvptx/gen-omp-device-properties.sh: New file.
8433 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
8434
8435 2022-03-01 Tom de Vries <tdevries@suse.de>
8436
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.
8442
8443 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
8444
8445 PR rtl-optimization/104154
8446 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
8447 comparison ifcvt passed us.
8448
8449 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
8450
8451 PR target/104664
8452 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
8453 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
8454
8455 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
8456
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.
8461
8462 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
8463 Eric Botcazou <ebotcazou@adacore.com>
8464
8465 PR middle-end/80270
8466 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
8467 register, copy it to a pseudo before calling simplify_gen_subreg.
8468
8469 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
8470
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.
8474
8475 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
8476
8477 PR middle-end/104550
8478 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
8479 created uses.
8480
8481 2022-02-28 Martin Liska <mliska@suse.cz>
8482
8483 PR ipa/104648
8484 * main.cc (main): Use flag_checking instead of CHECKING_P
8485 and run toplev::finalize only if there is not error seen.
8486
8487 2022-02-28 Richard Biener <rguenther@suse.de>
8488
8489 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
8490
8491 2022-02-28 Richard Biener <rguenther@suse.de>
8492
8493 PR tree-optimization/104700
8494 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
8495 into ...
8496 (find_or_generate_expression): ... here, simplifying code.
8497
8498 2022-02-28 Tom de Vries <tdevries@suse.de>
8499
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.
8505
8506 2022-02-28 Richard Biener <rguenther@suse.de>
8507
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.
8512
8513 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
8514
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.
8536
8537 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8538 Marc Glisse <marc.glisse@inria.fr>
8539
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.
8543
8544 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8545
8546 PR target/104681
8547 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
8548
8549 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
8550
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.
8557
8558 2022-02-25 Richard Biener <rguenther@suse.de>
8559
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.
8582
8583 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8584
8585 PR target/104674
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.
8589
8590 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8591
8592 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
8593
8594 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8595
8596 PR middle-end/104679
8597 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
8598
8599 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8600
8601 PR tree-optimization/104675
8602 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
8603 COMPLEX_TYPE.
8604
8605 2022-02-25 Alexandre Oliva <oliva@adacore.com>
8606
8607 PR target/104121
8608 PR target/103302
8609 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
8610
8611 2022-02-25 Alexandre Oliva <oliva@adacore.com>
8612
8613 PR middle-end/104540
8614 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
8615 dw_cfi_cfa_loc.
8616
8617 2022-02-25 Alexandre Oliva <oliva@adacore.com>
8618
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.
8624
8625 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
8626
8627 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
8628 of position independence that -mcmodel=medany affords.
8629
8630 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
8631
8632 PR target/104656
8633 * configure.ac: --disable-gcov if targetting bpf-*.
8634 * configure: Regenerate.
8635
8636 2022-02-24 Richard Biener <rguenther@suse.de>
8637
8638 PR tree-optimization/104676
8639 * tree-loop-distribution.cc (loop_distribution::execute):
8640 Do a full scev_reset.
8641
8642 2022-02-24 Jakub Jelinek <jakub@redhat.com>
8643
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
8647 vuse value number.
8648
8649 2022-02-24 Tom de Vries <tdevries@suse.de>
8650 Tobias Burnus <tobias@codesourcery.com>
8651
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.
8655
8656 2022-02-24 Tom de Vries <tdevries@suse.de>
8657
8658 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
8659 "rotrsi3"): New define_insn.
8660
8661 2022-02-24 Tom de Vries <tdevries@suse.de>
8662
8663 * config/nvptx/nvptx.cc (gen_comment): Use
8664 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
8665
8666 2022-02-24 liuhongt <hongtao.liu@intel.com>
8667
8668 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
8669 isa attr of alternative 2 from avx to avx512vl.
8670
8671 2022-02-23 Richard Biener <rguenther@suse.de>
8672 Jakub Jelinek <jakub@redhat.com>
8673
8674 PR tree-optimization/104644
8675 * doc/match-and-simplify.texi: Amend ! documentation.
8676 * genmatch.cc (expr::gen_transform): Code-generate ! support
8677 for GENERIC.
8678 (parser::parse_expr): Allow ! for GENERIC.
8679 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
8680 bswap.
8681
8682 2022-02-23 Richard Biener <rguenther@suse.de>
8683
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.
8690
8691 2022-02-23 Jakub Jelinek <jakub@redhat.com>
8692
8693 PR c/104633
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.
8697
8698 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
8699
8700 PR target/104489
8701 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
8702
8703 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
8704
8705 PR target/100757
8706 PR target/101325
8707 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
8708 typo.
8709
8710 2022-02-23 Cui,Lili <lili.cui@intel.com>
8711
8712 * doc/invoke.texi: Update documents for Intel architectures.
8713
8714 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
8715
8716 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
8717 bootstrap.
8718
8719 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
8720
8721 * omp-low.cc (omp_build_component_ref): Move function...
8722 * omp-general.cc (omp_build_component_ref): ... here. Remove
8723 'static'.
8724 * omp-general.h (omp_build_component_ref): Declare function.
8725 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
8726 function.
8727 (build_receiver_ref, build_sender_ref): Call
8728 'omp_build_component_ref' instead.
8729
8730 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
8731
8732 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
8733 simplify. Adjust all users.
8734
8735 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
8736
8737 PR target/88134
8738 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
8739 atomic_update_decl): Add GTY markup.
8740
8741 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8742
8743 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
8744
8745 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8746
8747 PR target/100757
8748 PR target/101325
8749 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
8750 predicate.
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.
8758
8759 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8760
8761 PR target/100757
8762 PR target/101325
8763 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
8764 qualifier.
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.
8774
8775 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8776
8777 PR target/100757
8778 PR target/101325
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.
8815
8816 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8817
8818 PR target/100757
8819 PR target/101325
8820 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
8821 Delete.
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.
8829
8830 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8831
8832 PR target/100757
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.
8849
8850 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8851
8852 PR target/100757
8853 PR target/101325
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
8860 modes.
8861 (arm_mode_to_pred_mode): New.
8862 (arm_expand_vector_compare): Use the right VxBI mode instead of
8863 HI.
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.
8882
8883 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8884 Richard Sandiford <richard.sandiford@arm.com>
8885
8886 PR target/100757
8887 PR target/101325
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
8891 simd types.
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.
8906 (BOOL_MODE): New.
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
8912 define BImode.
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.
8920
8921 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8922
8923 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
8924 for operand 1.
8925
8926 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8927
8928 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
8929
8930 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8931
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.
8937
8938 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
8939 Tom de Vries <tdevries@suse.de>
8940
8941 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
8942 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
8943 Likewise.
8944 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
8945
8946 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
8947 Tom de Vries <tdevries@suse.de>
8948
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.
8951
8952 2022-02-22 Tom de Vries <tdevries@suse.de>
8953
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.
8958
8959 2022-02-22 Richard Biener <rguenther@suse.de>
8960
8961 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
8962 for a splat.
8963
8964 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
8965 Richard Biener <rguenther@suse.de>
8966
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.
8975
8976 2022-02-22 Jakub Jelinek <jakub@redhat.com>
8977
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.
8982
8983 2022-02-22 Jakub Jelinek <jakub@redhat.com>
8984
8985 PR target/104612
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.
8991
8992 2022-02-22 Richard Biener <rguenther@suse.de>
8993
8994 PR tree-optimization/104582
8995 PR target/99881
8996 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
8997 Cost GPR to vector register moves for integer vector construction.
8998
8999 2022-02-22 Richard Biener <rguenther@suse.de>
9000
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):
9011 Adjust.
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
9016 new overloads.
9017 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
9018 Adjust.
9019 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
9020 Adjust.
9021 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
9022 Adjust.
9023 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
9024
9025 2022-02-22 Richard Biener <rguenther@suse.de>
9026
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):
9031 Use add_stmt_costs.
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.
9036
9037 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
9038
9039 PR target/103069
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
9044 prototype.
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.
9048
9049 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
9050
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
9062 pushed onto stack.
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.
9082
9083 2022-02-21 Tom de Vries <tdevries@suse.de>
9084
9085 PR target/104440
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.
9091
9092 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
9093
9094 PR rtl-optimization/104498
9095 * alias.cc (compare_base_symbol_refs): Correct distance computation
9096 when swapping x and y.
9097
9098 2022-02-21 Andrew Pinski <apinski@marvell.com>
9099
9100 PR c/104506
9101 * tree-ssa.cc (tree_ssa_useless_type_conversion):
9102 Check the inner type before calling useless_type_conversion_p.
9103
9104 2022-02-19 Tom de Vries <tdevries@suse.de>
9105
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.
9113
9114 2022-02-19 Tom de Vries <tdevries@suse.de>
9115
9116 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
9117 insns with atomic attribute. Assert that all handled insns are
9118 PARALLELs.
9119 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
9120 Set atomic attribute to false.
9121
9122 2022-02-19 Tom de Vries <tdevries@suse.de>
9123
9124 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
9125 type to bool.
9126 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
9127 nvptx_warpsync, if necessary.
9128
9129 2022-02-19 Jakub Jelinek <jakub@redhat.com>
9130
9131 PR sanitizer/102656
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
9136 it addressable.
9137
9138 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
9139
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.
9151
9152 2022-02-18 Jakub Jelinek <jakub@redhat.com>
9153
9154 PR target/104257
9155 PR target/104598
9156 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
9157 rather than __posix_memalign.
9158
9159 2022-02-18 Richard Biener <rguenther@suse.de>
9160
9161 PR target/104581
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.
9166
9167 2022-02-18 Richard Biener <rguenther@suse.de>
9168
9169 PR tree-optimization/96881
9170 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
9171 CLOBBER handling.
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.
9177
9178 2022-02-17 Jason Merrill <jason@redhat.com>
9179
9180 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
9181 on TYPE_MAIN_VARIANT.
9182
9183 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
9184
9185 PR target/104257
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.
9194
9195 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
9196
9197 PR target/104335
9198 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
9199 if the expected comparison's first operand is of mode MODE_CC.
9200
9201 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
9202
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.
9206
9207 2022-02-17 liuhongt <hongtao.liu@intel.com>
9208
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.
9216
9217 2022-02-17 Jakub Jelinek <jakub@redhat.com>
9218
9219 PR debug/104557
9220 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
9221 if expr has VOIDmode.
9222
9223 2022-02-17 liuhongt <hongtao.liu@intel.com>
9224
9225 * config/i386/cpuid.h (bit_MPX): Removed.
9226 (bit_BNDREGS): Ditto.
9227 (bit_BNDCSR): Ditto.
9228
9229 2022-02-17 Michael Meissner <meissner@the-meissners.org>
9230
9231 PR target/99708
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
9235 is created.
9236
9237 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
9238
9239 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
9240 range_compatible_p instead of direct type comparison.
9241
9242 2022-02-16 Jakub Jelinek <jakub@redhat.com>
9243
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
9247 skip over them.
9248
9249 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
9250
9251 PR target/100056
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.
9256
9257 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
9258
9259 PR tree-optimization/104526
9260 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
9261 new routine.
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.
9266
9267 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
9268
9269 PR target/100874
9270 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
9271 Declare.
9272 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
9273 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
9274
9275 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
9276
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.
9290
9291 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
9292
9293 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
9294 use after free.
9295
9296 2022-02-15 Richard Biener <rguenther@suse.de>
9297
9298 PR tree-optimization/104543
9299 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
9300 come after the inner loop.
9301
9302 2022-02-15 Jakub Jelinek <jakub@redhat.com>
9303
9304 PR target/104536
9305 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
9306 cannot instead of can%'t in diagnostics. Formatting fixes.
9307
9308 2022-02-15 Jakub Jelinek <jakub@redhat.com>
9309
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
9315 for all modes.
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
9320 MODE_COMPOSITE_P.
9321
9322 2022-02-15 Richard Biener <rguenther@suse.de>
9323
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.
9329
9330 2022-02-15 Jakub Jelinek <jakub@redhat.com>
9331
9332 PR debug/104517
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.
9338
9339 2022-02-14 Martin Sebor <msebor@redhat.com>
9340
9341 PR middle-end/104355
9342 * doc/invoke.texi (-Warray-bounds): Update documentation.
9343
9344 2022-02-14 Michael Meissner <meissner@the-meissners.org>
9345
9346 PR target/104253
9347 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
9348 conversion functions used to convert IFmode types.
9349
9350 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
9351
9352 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
9353
9354 2022-02-14 Richard Biener <rguenther@suse.de>
9355
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
9362 estimates.
9363
9364 2022-02-14 Richard Biener <rguenther@suse.de>
9365
9366 PR tree-optimization/104511
9367 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
9368 touching DFP <-> FP conversions.
9369
9370 2022-02-14 Richard Biener <rguenther@suse.de>
9371
9372 PR middle-end/104497
9373 * gimplify.cc (gimplify_compound_lval): Make sure the
9374 base is a non-register if needed and possible.
9375
9376 2022-02-13 liuhongt <hongtao.liu@intel.com>
9377
9378 PR target/103771
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.
9382
9383 2022-02-12 Jakub Jelinek <jakub@redhat.com>
9384
9385 PR sanitizer/104449
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.
9389
9390 2022-02-12 Jakub Jelinek <jakub@redhat.com>
9391
9392 PR target/104502
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.
9395
9396 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
9397
9398 PR target/79754
9399 * config/i386/i386.cc (type_natural_mode):
9400 Skip decimal float vector modes.
9401
9402 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
9403 Vladimir Makarov <vmakarov@redhat.com>
9404
9405 PR target/104117
9406 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
9407 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
9408 emitting PIC code.
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.
9412
9413 2022-02-11 Jakub Jelinek <jakub@redhat.com>
9414
9415 PR tree-optimization/104499
9416 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
9417 of convert.
9418
9419 2022-02-11 Jakub Jelinek <jakub@redhat.com>
9420
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
9429 of 2nd argument.
9430
9431 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
9432
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.
9437
9438 2022-02-11 Jakub Jelinek <jakub@redhat.com>
9439
9440 PR middle-end/104446
9441 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
9442 operands.
9443
9444 2022-02-11 Richard Biener <rguenther@suse.de>
9445
9446 PR middle-end/104496
9447 * internal-fn.cc (vectorized_internal_fn_supported_p):
9448 Bail out for integer mode vector types.
9449
9450 2022-02-11 Jakub Jelinek <jakub@redhat.com>
9451
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.
9455
9456 2022-02-11 liuhongt <hongtao.liu@intel.com>
9457
9458 PR tree-optimization/104479
9459 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
9460 for the dest of uncond_op.
9461
9462 2022-02-11 Tom de Vries <tdevries@suse.de>
9463
9464 PR target/104456
9465 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
9466 insn.
9467
9468 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
9469
9470 PR middle-end/100775
9471 * function.cc (gen_call_used_regs_seq): Call
9472 df_update_exit_block_uses when updating df.
9473
9474 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
9475
9476 PR target/104469
9477 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
9478 Change operand 1 constraint to register_operand.
9479
9480 2022-02-10 Richard Biener <rguenther@suse.de>
9481
9482 PR tree-optimization/104373
9483 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
9484 walk kind.
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
9492 executable.
9493 (execute_early_warn_uninitialized): Use VN to compute
9494 executable edges.
9495 (pass_data_early_warn_uninitialized): Enable a dump file,
9496 change dump name to warn_uninit.
9497
9498 2022-02-10 Richard Biener <rguenther@suse.de>
9499
9500 PR middle-end/104467
9501 * match.pd (vector extract simplification): Multiply the
9502 number of CTOR elements with the number of element elements.
9503
9504 2022-02-10 Richard Biener <rguenther@suse.de>
9505
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.
9509
9510 2022-02-10 Tom de Vries <tdevries@suse.de>
9511
9512 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
9513 define_insn.
9514 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
9515 TARGET_SM70.
9516 (define_c_enum "unspecv"): Add UNSPECV_ST.
9517
9518 2022-02-10 Tom de Vries <tdevries@suse.de>
9519
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
9524 define_expand.
9525
9526 2022-02-10 Tom de Vries <tdevries@suse.de>
9527
9528 PR target/97005
9529 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
9530 driver JIT bug by using sub.s16 instead of sub.u16.
9531
9532 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9533
9534 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
9535 floating point constants as operands 1 and/or 2.
9536
9537 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9538
9539 PR target/104345
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.
9548
9549 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9550
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.
9560
9561 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9562
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.
9576
9577 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9578
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.
9590
9591 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9592
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.
9598
9599 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
9600
9601 * doc/install.texi (Specific): Change the www.bitwizard.nl
9602 reference to use https.
9603
9604 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
9605
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.
9616 * tree.cc: Same.
9617
9618 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
9619
9620 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
9621 that will result in direct recursive calls.
9622
9623 2022-02-10 Andrew Pinski <apinski@marvell.com>
9624
9625 PR target/104474
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.
9629
9630 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
9631
9632 PR target/104462
9633 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
9634 Also include OPTION_MASK_ISA2_AVX2_UNSET.
9635
9636 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
9637
9638 PR target/104458
9639 * config/i386/i386-expand.cc (ix86_split_idivmod):
9640 Force operands[2] and operands[3] into a register..
9641
9642 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
9643
9644 PR target/97040
9645 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
9646 (*v850_fnmssf4): Renamed from fnmssf4
9647
9648 2022-02-09 Ian Lance Taylor <iant@golang.org>
9649
9650 * godump.cc (go_force_record_alignment): Really name the alignment
9651 field "_" (complete 2021-12-29 change).
9652
9653 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
9654
9655 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
9656 function prototype.
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.
9666
9667 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9668
9669 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
9670 (VDBL): Handle SF.
9671 (single_wx, single_type, single_dtype, dblq): New mode attributes.
9672 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
9673 from VDC to VDCSIF.
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.
9682
9683 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9684
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.
9692
9693 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9694
9695 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
9696 Delete.
9697 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
9698 to...
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.
9707
9708 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9709
9710 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
9711 New predicate.
9712 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
9713 (*aarch64_combine_internal_be<mode>): New patterns.
9714
9715 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9716
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.
9720
9721 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9722
9723 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
9724 Declare.
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
9729 to be null.
9730 (aarch64_mergeable_load_pair_p): New function.
9731
9732 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9733
9734 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
9735 element to be an aarch64_simd_nonimmediate_operand.
9736
9737 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9738
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
9743 general_operand.
9744 (@aarch64_combinez_be<mode>): Likewise.
9745
9746 2022-02-09 Richard Biener <rguenther@suse.de>
9747
9748 PR middle-end/104464
9749 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
9750 throwing check to after unproblematic replacement.
9751
9752 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
9753
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.
9757
9758 2022-02-09 Jakub Jelinek <jakub@redhat.com>
9759
9760 PR debug/104407
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.
9765
9766 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
9767
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.
9790
9791 2022-02-09 Richard Biener <rguenther@suse.de>
9792
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.
9800
9801 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
9802
9803 PR target/35513
9804 PR target/100593
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
9813 bool argument.
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
9822 for call operand.
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.
9837
9838 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
9839
9840 PR target/104441
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
9844 of source operand.
9845
9846 2022-02-09 liuhongt <hongtao.liu@intel.com>
9847
9848 PR target/104451
9849 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
9850 operands[2] from SImode to QImode.
9851
9852 2022-02-09 Richard Biener <rguenther@suse.de>
9853
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.
9858
9859 2022-02-09 Richard Biener <rguenther@suse.de>
9860
9861 PR target/104453
9862 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
9863 folding for NULL LHS.
9864
9865 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
9866
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.
9872
9873 2022-02-08 Jakub Jelinek <jakub@redhat.com>
9874
9875 PR target/102140
9876 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
9877 split1 pass has finished already.
9878
9879 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
9880
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.
9885
9886 2022-02-08 Tom de Vries <tdevries@suse.de>
9887
9888 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
9889 * config/nvptx/nvptx.h (TARGET_SM70): Define.
9890
9891 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
9892
9893 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
9894 on condition.
9895 * config/s390/s390.md: Use paradoxical subreg.
9896
9897 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
9898
9899 * combine.cc (reg_subword_p): Check for paradoxical subreg.
9900
9901 2022-02-08 Tom de Vries <tdevries@suse.de>
9902
9903 PR target/104283
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'.
9914
9915 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
9916
9917 * doc/install.texi (Configuration): Document `--with-isa-spec='
9918 RISC-V option.
9919 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
9920 option.
9921 (RISC-V Options): Document it.
9922
9923 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
9924
9925 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
9926
9927 2022-02-08 Tom de Vries <tdevries@suse.de>
9928
9929 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
9930
9931 2022-02-08 Tom de Vries <tdevries@suse.de>
9932
9933 PR target/104364
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.
9946
9947 2022-02-08 liuhongt <hongtao.liu@intel.com>
9948
9949 PR rtl-optimization/104059
9950 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
9951 for a more expensive reg-reg move.
9952
9953 2022-02-07 Tamar Christina <tamar.christina@arm.com>
9954
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.
9961
9962 2022-02-07 Tamar Christina <tamar.christina@arm.com>
9963
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.
9971
9972 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
9973
9974 PR target/104327
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
9977 always_inline.
9978
9979 2022-02-07 Richard Biener <rguenther@suse.de>
9980
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.
9986
9987 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
9988
9989 PR target/103627
9990 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
9991 hunk affecting VSX and ALTIVEC to appropriate place.
9992
9993 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
9994
9995 PR target/103627
9996 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
9997 MMA if !TARGET_VSX.
9998
9999 2022-02-06 Jakub Jelinek <jakub@redhat.com>
10000
10001 PR c++/89074
10002 PR c++/104033
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
10016 overlapping.
10017
10018 2022-02-05 Jakub Jelinek <jakub@redhat.com>
10019
10020 PR tree-optimization/104389
10021 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
10022 honored.
10023
10024 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
10025
10026 * configure.ac: Fix detection for zifencei support.
10027 * configure: Regenerate.
10028
10029 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
10030
10031 PR target/104219
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.
10035
10036 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
10037
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.
10049
10050 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
10051
10052 PR target/100808
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.
10056
10057 2022-02-04 Jakub Jelinek <jakub@redhat.com>
10058
10059 PR target/104380
10060 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
10061 adjust mangling of __builtin*printf_chk.
10062
10063 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
10064
10065 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
10066
10067 2022-02-04 Richard Biener <rguenther@suse.de>
10068 Bin Cheng <bin.cheng@linux.alibaba.com>
10069
10070 PR tree-optimization/100499
10071 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
10072 to true.
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.
10080
10081 2022-02-04 Richard Biener <rguenther@suse.de>
10082
10083 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
10084 handling.
10085
10086 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
10087
10088 PR debug/104366
10089 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
10090 (dwarf2out_early_finish): Likewise.
10091
10092 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
10093
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.
10100
10101 2022-02-04 Richard Biener <rguenther@suse.de>
10102
10103 PR tree-optimization/103641
10104 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
10105 Pass the vector mode to choose_mult_variant.
10106
10107 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
10108
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.
10113
10114 2022-02-04 Richard Biener <rguenther@suse.de>
10115
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
10122 CLOBBER_UNDEF.
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
10126 CLOBBER_KIND.
10127 * tree-streamer-out.cc (streamer_write_tree_bitfields):
10128 Likewise.
10129 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
10130 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
10131 with CLOBBER_EOL.
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.
10137
10138 2022-02-04 Martin Sebor <msebor@redhat.com>
10139
10140 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
10141 cleanup.
10142
10143 2022-02-03 Martin Sebor <msebor@redhat.com>
10144
10145 PR middle-end/104260
10146 * passes.def (pass_warn_access): Adjust pass placement.
10147
10148 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
10149
10150 PR target/104362
10151 * config/i386/i386.cc (find_drap_reg): For 32bit targets
10152 return DI_REG if function uses __builtin_eh_return.
10153
10154 2022-02-03 Martin Sebor <msebor@redhat.com>
10155
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
10161 ranger.
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.
10169
10170 2022-02-03 Martin Sebor <msebor@redhat.com>
10171
10172 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
10173 Define ctor.
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):
10177 Outline ctor.
10178 (array_bounds_checker::m_ptr_query): New member.
10179
10180 2022-02-03 Martin Sebor <msebor@redhat.com>
10181
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.
10193
10194 2022-02-03 Martin Sebor <msebor@redhat.com>
10195
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
10210 get_maxbound.
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.
10215
10216 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10217
10218 PR target/103686
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.
10223
10224 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10225
10226 PR target/95082
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
10231 big endian.
10232 (VCLZLSBB_V4SI): Likewise.
10233 (VCLZLSBB_V8HI): Likewise.
10234 (VCTZLSBB_V16QI): Likewise.
10235 (VCTZLSBB_V4SI): Likewise.
10236 (VCTZLSBB_V8HI): Likewise.
10237
10238 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10239
10240 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
10241 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
10242 from other files.
10243 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
10244 rs6000-builtin.cc.
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
10287 static qualifier.
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.
10292
10293 2022-02-03 Richard Biener <rguenther@suse.de>
10294
10295 PR debug/104337
10296 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
10297 together via DECL_ABSTRACT_ORIGIN.
10298
10299 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10300
10301 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
10302 message for RES_BITS case.
10303
10304 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
10305
10306 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
10307
10308 2022-02-03 Jakub Jelinek <jakub@redhat.com>
10309
10310 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
10311 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
10312
10313 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
10314
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
10323 updated.
10324
10325 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
10326
10327 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
10328 VALL to VALL_F16.
10329
10330 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
10331
10332 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
10333 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
10334 of VALL_F16MOV.
10335
10336 2022-02-03 Martin Liska <mliska@suse.cz>
10337
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):
10341 Likewise.
10342
10343 2022-02-03 Martin Liska <mliska@suse.cz>
10344
10345 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
10346 Use the error message for i386 target.
10347
10348 2022-02-03 Jakub Jelinek <jakub@redhat.com>
10349
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.
10355
10356 2022-02-03 Martin Sebor <msebor@redhat.com>
10357
10358 * common.opt (-Wuse-after-free): Correct typos.
10359
10360 2022-02-02 David Malcolm <dmalcolm@redhat.com>
10361
10362 PR analyzer/104270
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.
10366
10367 2022-02-02 Martin Liska <mliska@suse.cz>
10368
10369 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
10370
10371 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
10372
10373 PR target/94372
10374 * config/or1k/linux.h (CPP_SPEC): Define.
10375
10376 2022-02-02 Tamar Christina <tamar.christina@arm.com>
10377
10378 PR tree-optimization/102819
10379 PR tree-optimization/103169
10380 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
10381 canonical order.
10382
10383 2022-02-02 Tamar Christina <tamar.christina@arm.com>
10384
10385 PR tree-optimization/102819
10386 PR tree-optimization/103169
10387 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
10388 canonical order.
10389 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
10390
10391 2022-02-02 Tamar Christina <tamar.christina@arm.com>
10392
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
10398 patterns.
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
10408 new cache.
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.
10417
10418 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10419
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).
10430
10431 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10432
10433 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
10434 extra cost for ALL_REGS.
10435
10436 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10437
10438 * config/cris/constraints.md (define_register_constraint "b"): Now
10439 GENERAL_REGS.
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.
10446
10447 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10448
10449 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
10450 Conditionalize on (sub-)register operands or operand 1 being 0.
10451
10452 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10453
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
10458 accordingly.
10459
10460 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
10461
10462 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
10463 to 10 for AutoFDO.
10464
10465 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
10466
10467 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
10468
10469 2022-02-01 Andrew Pinski <apinski@marvell.com>
10470
10471 * doc/install.texi:
10472
10473 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
10474
10475 * config/s390/s390.cc (s390_code_end): Do not switch back to
10476 code section.
10477
10478 2022-02-01 Jakub Jelinek <jakub@redhat.com>
10479
10480 PR target/104323
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.
10494
10495 2022-02-01 Jason Merrill <jason@redhat.com>
10496
10497 * tree.h (struct tree_vec_map_cache_hasher): Move from...
10498 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
10499
10500 2022-02-01 Tom de Vries <tdevries@suse.de>
10501
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.
10506
10507 2022-02-01 Tom de Vries <tdevries@suse.de>
10508
10509 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
10510 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
10511 UNSPECV_WARPSYNC.
10512 (define_insn "nvptx_warpsync"): New define_insn.
10513
10514 2022-02-01 Tom de Vries <tdevries@suse.de>
10515
10516 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
10517
10518 2022-02-01 Tom de Vries <tdevries@suse.de>
10519
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.
10524
10525 2022-02-01 Tom de Vries <tdevries@suse.de>
10526
10527 PR target/100428
10528 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
10529 insn.
10530
10531 2022-02-01 Tom de Vries <tdevries@suse.de>
10532
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.
10539
10540 2022-02-01 Tom de Vries <tdevries@suse.de>
10541
10542 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
10543 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
10544 (VOID): New macro.
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
10552 UNSPECV_MEMBAR_GL.
10553 (define_expand "nvptx_membar_gl"): New expand.
10554 (define_insn "*nvptx_membar_gl"): New insn.
10555
10556 2022-02-01 Martin Liska <mliska@suse.cz>
10557
10558 * doc/install.texi: Remove option for GCC < 4.8.
10559
10560 2022-02-01 Jakub Jelinek <jakub@redhat.com>
10561
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.
10568
10569 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
10570
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.
10741
10742 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
10743
10744 PR rtl-optimization/101260
10745 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
10746 copy_regno.
10747
10748 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
10749
10750 PR middle-end/95115
10751 * fold-const.cc (const_binop): Do not fold NaN result from
10752 non-NaN operands.
10753
10754 2022-02-01 Tom de Vries <tdevries@suse.de>
10755
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.
10760
10761 2022-01-31 Andrew Pinski <apinski@marvell.com>
10762
10763 * fold-const.h (operand_compare::operand_equal_p):
10764 Fix comment about OEP_* flags.
10765
10766 2022-01-31 Jakub Jelinek <jakub@redhat.com>
10767
10768 PR target/104298
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.
10773
10774 2022-01-31 Martin Sebor <msebor@redhat.com>
10775
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.
10780
10781 2022-01-31 Richard Biener <rguenther@suse.de>
10782
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.
10787
10788 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
10789
10790 PR target/104189
10791 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
10792
10793 2022-01-31 Richard Biener <rguenther@suse.de>
10794
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.
10802
10803 2022-01-29 Jakub Jelinek <jakub@redhat.com>
10804 Andrew Pinski <apinski@marvell.com>
10805
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.
10811
10812 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
10813
10814 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
10815
10816 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
10817
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.
10821
10822 2022-01-28 Marek Polacek <polacek@redhat.com>
10823
10824 * doc/invoke.texi: Update -Wbidi-chars documentation.
10825
10826 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
10827
10828 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
10829
10830 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
10831
10832 PR tree-optimization/95424
10833 * match.pd: Simplify 1 / X where X is an integer.
10834
10835 2022-01-28 Jakub Jelinek <jakub@redhat.com>
10836
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.
10842
10843 2022-01-28 Martin Liska <mliska@suse.cz>
10844
10845 * diagnostic.cc (diagnostic_action_after_output): Remove extra
10846 newline.
10847
10848 2022-01-28 Martin Liska <mliska@suse.cz>
10849
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.
10855
10856 2022-01-28 Richard Biener <rguenther@suse.de>
10857
10858 PR tree-optimization/104267
10859 * tree-vect-stmts.cc (vectorizable_call): Properly use the
10860 per-argument determined vector type for externals and
10861 invariants.
10862
10863 2022-01-28 Richard Biener <rguenther@suse.de>
10864
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.
10869
10870 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
10871
10872 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
10873 attributes.
10874
10875 2022-01-28 Jakub Jelinek <jakub@redhat.com>
10876
10877 PR lto/104237
10878 * cfgrtl.cc (loc_equal): New function.
10879 (unique_locus_on_edge_between_p): Use it.
10880
10881 2022-01-28 Richard Biener <rguenther@suse.de>
10882
10883 * cfganal.h (mark_dfs_back_edges): Provide API with struct
10884 function argument.
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
10891 for fun != cfun.
10892
10893 2022-01-27 Patrick Palka <ppalka@redhat.com>
10894
10895 PR c++/99895
10896 * tree.cc (build_call_vec): Add const to second parameter.
10897 * tree.h (build_call_vec): Likewise.
10898
10899 2022-01-27 Martin Liska <mliska@suse.cz>
10900
10901 PR web/104254
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.
10910
10911 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
10912
10913 PR target/103702
10914 * config/rs6000/rs6000.cc
10915 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
10916 assertion with early return.
10917
10918 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
10919
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.
10923
10924 2022-01-27 Jakub Jelinek <jakub@redhat.com>
10925
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
10935 the two locations.
10936 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
10937 corresponding condition even if they have non-NULL ops[]->op.
10938 Formatting fix.
10939
10940 2022-01-26 Jakub Jelinek <jakub@redhat.com>
10941
10942 PR target/104239
10943 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
10944 asm.
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.
10948
10949 2022-01-26 Jakub Jelinek <jakub@redhat.com>
10950
10951 PR target/104239
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.
10955
10956 2022-01-26 Jakub Jelinek <jakub@redhat.com>
10957
10958 PR debug/104194
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.
10963
10964 2022-01-26 Marek Polacek <polacek@redhat.com>
10965
10966 PR target/104213
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.
10969
10970 2022-01-26 Martin Liska <mliska@suse.cz>
10971
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.
10979
10980 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
10981
10982 PR target/94193
10983 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
10984 predicate check.
10985
10986 2022-01-25 Martin Sebor <msebor@redhat.com>
10987
10988 PR tree-optimization/104203
10989 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
10990 TV_WARN_ACCESS.
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.
10997
10998 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
10999
11000 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
11001
11002 2022-01-25 Richard Biener <rguenther@suse.de>
11003
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.
11009
11010 2022-01-25 Jakub Jelinek <jakub@redhat.com>
11011
11012 PR target/104172
11013 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
11014 declare.
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.
11023
11024 2022-01-24 Martin Sebor <msebor@redhat.com>
11025
11026 * pointer-query.cc (pointer_query::dump): Remove duplicate
11027 block.
11028
11029 2022-01-24 Marek Polacek <polacek@redhat.com>
11030
11031 PR preprocessor/104030
11032 * doc/invoke.texi: Update documentation for -Wbidi-chars.
11033
11034 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
11035
11036 PR target/94193
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
11045 new builtins.
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.
11052
11053 2022-01-24 Richard Biener <rguenther@suse.de>
11054 Jiufu Guo <guojiufu@linux.ibm.com>
11055
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.
11063
11064 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11065
11066 PR sanitizer/104158
11067 * opt-functions.awk (var_set): Handle EnumBitSet property.
11068 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
11069 specified.
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
11077 EnumSet.
11078 (trace-pc, trace-cmp): Drop Set properties.
11079
11080 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11081
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_.
11090
11091 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11092
11093 PR sanitizer/104158
11094 * opt-functions.awk (var_set): Handle EnumSet property.
11095 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
11096 specified.
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.
11100 Add mask member.
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
11107 instead of strcmp.
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.
11119
11120 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11121
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).
11147
11148 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
11149
11150 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
11151 Skip zicsr and zifencei if I-ext is 2.0.
11152
11153 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
11154
11155 * config.gcc: Modify default isa_spec version.
11156
11157 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
11158
11159 PR tree-optimization/102087
11160 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
11161 Correct PLUS result type.
11162
11163 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
11164
11165 PR target/104188
11166 * config/i386/predicates.md (bcst_mem_operand): Also check mode
11167 of memory broadcast.
11168
11169 2022-01-23 Andrew Pinski <apinski@marvell.com>
11170
11171 PR target/64821
11172 * config/aarch64/aarch64-builtins.cc
11173 (aarch64_general_gimple_fold_builtin): Handle
11174 __builtin_aarch64_sqrt* and simplify into SQRT internal
11175 function.
11176
11177 2022-01-22 Jakub Jelinek <jakub@redhat.com>
11178
11179 PR other/104176
11180 * opts-global.cc (handle_common_deferred_options): Quote
11181 --enable-plugin in diagnostics to avoid -Werror=format-diag.
11182
11183 2022-01-21 Michael Meissner <meissner@the-meissners.org>
11184
11185 PR target/104136
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.
11198
11199 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
11200
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.
11207
11208 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
11209
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.
11214
11215 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
11216
11217 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
11218 vector float and vector double.
11219
11220 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
11221
11222 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
11223 Fix mention of ifunc in string.
11224
11225 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
11226
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
11233 signedness.
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).
11240
11241 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
11242
11243 PR target/103676
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
11248 move from here ...
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
11278 lra reg info.
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.
11287
11288 2022-01-21 Martin Liska <mliska@suse.cz>
11289
11290 * configure.ac: Detect ld_is_mold and use it for
11291 comdat_group=yes and gcc_cv_ld_hidden=yes.
11292 * configure: Regenerate.
11293
11294 2022-01-21 Richard Biener <rguenther@suse.de>
11295
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.
11300
11301 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
11302
11303 * config/arm/arm-opts.h (enum stack_protector_guard): New.
11304 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
11305 New.
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.
11320
11321 2022-01-21 Richard Biener <rguenther@suse.de>
11322
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
11326 hoisting guards.
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.
11332
11333 2022-01-21 Richard Biener <rguenther@suse.de>
11334
11335 PR tree-optimization/104152
11336 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
11337 can_duplicate_and_interleave_p check.
11338
11339 2022-01-21 Jakub Jelinek <jakub@redhat.com>
11340
11341 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
11342 Avoid passing var to warning_at when the format string doesn't
11343 refer to it.
11344
11345 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
11346
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):
11359 Mark DFS edges.
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
11363 bitmap.
11364 (path_oracle::reset_path): Clear m_registered bitmap.
11365 * value-relation.h (path_oracle::set_root_oracle): New.
11366
11367 2022-01-21 Jakub Jelinek <jakub@redhat.com>
11368
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
11372 would be needed.
11373
11374 2022-01-20 Richard Biener <rguenther@suse.de>
11375
11376 PR middle-end/100786
11377 * gimple-fold.cc (get_symbol_constant_value): Only return
11378 values of compatible type to the symbol.
11379
11380 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
11381
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.
11388
11389 2022-01-20 Richard Biener <rguenther@suse.de>
11390
11391 PR target/100784
11392 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
11393 LHS before folding __builtin_ia32_shufpd and friends.
11394
11395 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11396
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.
11401
11402 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11403
11404 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
11405 New pattern.
11406 (aarch32_crypto_aese_fused_protected): Likewise.
11407 (aarch32_crypto_aesd_fused_protected): Likewise.
11408
11409 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11410
11411 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
11412 to define_expand. Add mitigation for the Cortex-A AES erratum
11413 when enabled.
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.
11418
11419 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11420
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
11426 option.
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.
11431
11432 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11433
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.
11446
11447 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11448
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.
11456
11457 2022-01-20 Martin Liska <mliska@suse.cz>
11458
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
11462 error messages.
11463
11464 2022-01-20 Jakub Jelinek <jakub@redhat.com>
11465
11466 PR debug/103874
11467 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
11468 block_num > 0, index entry even if !have_multiple_function_sections.
11469
11470 2022-01-20 liuhongt <hongtao.liu@intel.com>
11471
11472 PR target/103771
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.
11477
11478 2022-01-20 Richard Biener <rguenther@suse.de>
11479
11480 PR tree-optimization/104114
11481 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
11482 single element vector decomposition.
11483
11484 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11485
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.
11489
11490 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11491
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
11495 sequence.
11496 (noce_convert_multiple_sets): Create two sequences and use the less
11497 expensive one.
11498
11499 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11500
11501 * rtl.h (struct rtx_comparison): New struct that holds an rtx
11502 comparison.
11503 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
11504 single parameters.
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
11511 parameters.
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.
11517
11518 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11519
11520 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
11521 (noce_process_if_block): Use potential costs.
11522
11523 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11524
11525 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
11526 (bb_ok_for_noce_convert_multiple_sets): Likewise.
11527
11528 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11529
11530 * ifcvt.cc (need_cmov_or_rewire): New function.
11531 (noce_convert_multiple_sets): Call it.
11532
11533 2022-01-19 David Malcolm <dmalcolm@redhat.com>
11534
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.
11725
11726 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
11727
11728 PR tree-optimization/103997
11729 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
11730 vectorization.
11731
11732 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11733
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.
11739
11740 2022-01-19 Richard Biener <rguenther@suse.de>
11741
11742 PR tree-optimization/104112
11743 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
11744 for required intermediate vector types.
11745
11746 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11747
11748 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
11749
11750 2022-01-19 Martin Liska <mliska@suse.cz>
11751
11752 * configure.ac: Remove -Wno-error=format-diag.
11753 * configure: Regenerate.
11754
11755 2022-01-19 Martin Liska <mliska@suse.cz>
11756
11757 * config/riscv/riscv.cc (riscv_handle_type_attribute):
11758 Update one -Wformat-diag string in warning message.
11759
11760 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11761
11762 PR middle-end/104103
11763 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
11764 .ASAN_MARK calls.
11765
11766 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11767
11768 PR c++/89074
11769 * fold-const.cc (address_compare): Consider different STRING_CSTs
11770 with the same lengths that memcmp the same as equal, not different.
11771
11772 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11773
11774 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
11775 {%0}.
11776
11777 2022-01-19 Martin Liska <mliska@suse.cz>
11778 Thomas Schwinge <thomas@codesourcery.com>
11779
11780 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
11781 warning messages.
11782
11783 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
11784
11785 PR target/104090
11786 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
11787 rs6000_cpu.
11788
11789 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11790
11791 PR target/104104
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}.
11802
11803 2022-01-19 Martin Sebor <msebor@redhat.com>
11804
11805 PR middle-end/104069
11806 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
11807 an unknown result as documented.
11808
11809 2022-01-18 Andrew Pinski <apinski@marvell.com>
11810
11811 * ipa-split.cc (visit_bb): Fix comment before the
11812 warning/error attribute checking code.
11813
11814 2022-01-18 David Faust <david.faust@oracle.com>
11815
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.
11820
11821 2022-01-18 David Faust <david.faust@oracle.com>
11822
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
11827 member.
11828
11829 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
11830
11831 * common/config/riscv/riscv-common.cc
11832 (riscv_subset_list::parse_multiletter_ext): Move pointer
11833 arithmetic ahead of `free'.
11834
11835 2022-01-18 Jason Merrill <jason@redhat.com>
11836
11837 PR c++/104007
11838 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
11839 context.
11840
11841 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
11842
11843 PR middle-end/103163
11844 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
11845 (init_emit_once): ...not here.
11846
11847 2022-01-18 Martin Liska <mliska@suse.cz>
11848
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.
11883
11884 2022-01-18 Martin Liska <mliska@suse.cz>
11885
11886 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
11887 warning.
11888 (vms_pragma_standard): Likewise.
11889 (vms_pragma_extern_prefix): Likewise.
11890
11891 2022-01-18 Martin Liska <mliska@suse.cz>
11892
11893 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
11894 (print_operand_address): Likewise.
11895 (xtensa_multibss_section_type_flags): Likewise.
11896
11897 2022-01-18 Martin Liska <mliska@suse.cz>
11898
11899 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
11900 wording of an error message.
11901
11902 2022-01-18 Martin Liska <mliska@suse.cz>
11903
11904 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
11905 warning.
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.
11914
11915 2022-01-18 Martin Liska <mliska@suse.cz>
11916
11917 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
11918 Fix warnings.
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.
11923
11924 2022-01-18 Martin Liska <mliska@suse.cz>
11925
11926 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
11927 keyword.
11928 * config/nvptx/nvptx.md: Remove trailing dot.
11929
11930 2022-01-18 Martin Liska <mliska@suse.cz>
11931
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.
11938
11939 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
11940
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.
11958
11959 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
11960
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.
11969
11970 2022-01-18 Richard Biener <rguenther@suse.de>
11971
11972 PR ipa/103989
11973 * ipa-inline.cc (inline_small_functions): Do not enqueue call
11974 edges originating in functions compiled with -Og.
11975
11976 2022-01-18 Richard Biener <rguenther@suse.de>
11977
11978 PR ipa/103989
11979 * passes.def (pass_all_optimizations_g): Remove pass_modref
11980 and pass_local_pure_const.
11981
11982 2022-01-18 Martin Liska <mliska@suse.cz>
11983
11984 * config/s390/s390.cc: Fix -Wformat-diag warnings.
11985
11986 2022-01-18 Martin Liska <mliska@suse.cz>
11987
11988 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
11989 keyword in quotes.
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.
11996
11997 2022-01-18 Martin Liska <mliska@suse.cz>
11998
11999 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
12000 keywords and use %qs instead of %<%s%>.
12001
12002 2022-01-18 Richard Biener <rguenther@suse.de>
12003
12004 PR tree-optimization/103987
12005 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
12006 query with a pointer check.
12007
12008 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
12009
12010 PR target/104005
12011 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
12012 When using MEM_EXPR, require the base to be a decl.
12013
12014 2022-01-18 Richard Biener <rguenther@suse.de>
12015
12016 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
12017 avoid padding.
12018 * function.h (struct function): Likewise.
12019
12020 2022-01-18 Arnaud Charlet <charlet@adacore.com>
12021
12022 * doc/install.texi: Update prerequisites for GNAT
12023
12024 2022-01-18 Andrew Pinski <apinski@marvell.com>
12025
12026 PR tree-optimization/101941
12027 * ipa-split.cc (visit_bb): Disallow function calls where
12028 the function has either error or warning attribute.
12029
12030 2022-01-18 Richard Biener <rguenther@suse.de>
12031
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.
12036
12037 2022-01-17 Martin Liska <mliska@suse.cz>
12038
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.
12049
12050 2022-01-17 Martin Liska <mliska@suse.cz>
12051
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.
12121 (GTY): 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.
12177 (main): 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.
12282 (if): 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.
12664 (main): 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.
12912 (HID): 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.
12950 (type.): 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.
13047
13048 2022-01-17 Martin Liska <mliska@suse.cz>
13049
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...
13079 * cfg.cc: ...here.
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...
13619 * cse.cc: ...here.
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...
13637 * dce.cc: ...here.
13638 * ddg.c: Moved to...
13639 * ddg.cc: ...here.
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...
13649 * dfp.cc: ...here.
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...
13667 * dse.cc: ...here.
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...
13725 * gcc.cc: ...here.
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...
13963 * ipa.cc: ...here.
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...
13977 * ira.cc: ...here.
13978 * jump.c: Moved to...
13979 * jump.cc: ...here.
13980 * langhooks.c: Moved to...
13981 * langhooks.cc: ...here.
13982 * lcm.c: Moved to...
13983 * lcm.cc: ...here.
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...
14013 * lra.cc: ...here.
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...
14035 * mcf.cc: ...here.
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...
14105 * ree.cc: ...here.
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...
14129 * rtl.cc: ...here.
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...
14405 * vec.cc: ...here.
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...
14413 * web.cc: ...here.
14414 * xcoffout.c: Moved to...
14415 * xcoffout.cc: ...here.
14416
14417 2022-01-17 qing zhao <qing.zhao@oracle.com>
14418
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
14422 specially.
14423 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
14424 (warn_uninitialized_vars): Likewise.
14425 (warn_uninitialized_phi): Likewise.
14426
14427 2022-01-17 Jason Merrill <jason@redhat.com>
14428
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.
14434
14435 2022-01-17 Richard Biener <rguenther@suse.de>
14436
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.
14441
14442 2022-01-17 Jakub Jelinek <jakub@redhat.com>
14443
14444 PR target/103973
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.
14459
14460 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
14461
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.
14466
14467 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
14468
14469 PR target/103124
14470 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
14471
14472 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
14473
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>):
14479 Likewise.
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>):
14486 Likewise.
14487 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
14488 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
14489 Likewise.
14490 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
14491 subst_attr.
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
14500
14501 2022-01-15 Martin Sebor <msebor@redhat.com>
14502
14503 PR c/63272
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.
14536
14537 2022-01-15 Martin Sebor <msebor@redhat.com>
14538
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.
14559
14560 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
14561
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.
14568
14569 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
14570
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.
14579
14580 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
14581
14582 PR middle-end/104026
14583 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
14584 partial_load_store_bias.
14585
14586 2022-01-14 Martin Sebor <msebor@redhat.com>
14587
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.
14591
14592 2022-01-14 Martin Liska <mliska@suse.cz>
14593
14594 * configure: Regenerate.
14595
14596 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
14597
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.
14608
14609 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
14610
14611 PR tree-optimization/104015
14612 * tree-vect-loop.c (vect_analyze_loop): Check
14613 param_vect_partial_vector_usage for supports_partial_vectors.
14614
14615 2022-01-14 Jakub Jelinek <jakub@redhat.com>
14616
14617 PR c++/89074
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.
14621
14622 2022-01-14 Jakub Jelinek <jakub@redhat.com>
14623
14624 PR target/98737
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).
14629
14630 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
14631
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.
14636
14637 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
14638
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.
14643
14644 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
14645 Uroš Bizjak <ubizjak@gmail.com>
14646
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.
14653
14654 2022-01-14 Martin Liska <mliska@suse.cz>
14655
14656 * common/config/arm/arm-common.c (arm_target_mode): Fix
14657 warning: unterminated quoting directive [-Wformat=].
14658
14659 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
14660
14661 PR tree-optimization/104009
14662 * tree-object-size.c (compute_builtin_object_size): Bail out on
14663 negative offset.
14664 (plus_stmt_object_size): Return maximum of wholesize and minimum
14665 of 0 for negative offset.
14666
14667 2022-01-14 liuhongt <hongtao.liu@intel.com>
14668
14669 PR target/104001
14670 PR target/94790
14671 PR target/104014
14672 * config/i386/i386.md (*xor2andn): Refine predicate of
14673 operands[0] from nonimmediate_operand to
14674 register_operand, remove TARGET_AVX512BW from condition.
14675
14676 2022-01-14 David Malcolm <dmalcolm@redhat.com>
14677
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.
14681
14682 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
14683 Jason Merrill <jason@redhat.com>
14684
14685 PR c++/70417
14686 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
14687
14688 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
14689
14690 PR target/103861
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.
14695
14696 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
14697
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.
14714
14715 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
14716
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.
14721
14722 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
14723
14724 PR tree-optimization/96707
14725 * range-op.cc (operator_rshift::lhs_op1_relation): New.
14726
14727 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
14728
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.
14738
14739 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
14740
14741 PR target/104003
14742 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
14743
14744 2022-01-13 Martin Liska <mliska@suse.cz>
14745
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.
14757
14758 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
14759
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
14768 macro.
14769
14770 2022-01-13 Jakub Jelinek <jakub@redhat.com>
14771
14772 PR tree-optimization/103989
14773 * tree-inline.c (setup_one_parameter): Don't copy parms with
14774 empty type.
14775
14776 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
14777
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.
14782
14783 2022-01-13 Julian Brown <julian@codesourcery.com>
14784 Thomas Schwinge <thomas@codesourcery.com>
14785
14786 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
14787 of...
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.
14791
14792 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
14793
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.
14797
14798 2022-01-13 Martin Liska <mliska@suse.cz>
14799
14800 * config/epiphany/epiphany.c (epiphany_mode_priority):
14801 Use gcc_unreachable for not handled cases.
14802
14803 2022-01-13 Martin Liska <mliska@suse.cz>
14804
14805 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
14806 Use %qs format specifier.
14807 (epiphany_override_options): Wrap keyword in %<, %>.
14808
14809 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
14810
14811 PR target/94790
14812 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
14813
14814 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
14815
14816 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
14817
14818 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
14819
14820 PR target/100637
14821 PR target/103861
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.
14844 Add CC clobber.
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.
14847
14848 2022-01-12 Clément Chigot <clement.chigot@atos.net>
14849
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.
14857
14858 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
14859
14860 PR tree-optimization/103551
14861 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
14862
14863 2022-01-12 Richard Biener <rguenther@suse.de>
14864
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.
14870
14871 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
14872
14873 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
14874 does not add autovectorize_vector_modes.
14875
14876 2022-01-12 Martin Liska <mliska@suse.cz>
14877
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.
14888
14889 2022-01-12 Martin Liska <mliska@suse.cz>
14890
14891 * config.gcc: Include elfos.h before ${tm_file}.
14892
14893 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
14894
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.
14900
14901 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
14902
14903 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
14904 parameter to as_a.
14905
14906 2022-01-11 qing zhao <qing.zhao@oracle.com>
14907
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
14910 decl.
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.
14920
14921 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
14922
14923 * flag-types.h (enum gfc_convert): Add flags for
14924 conversion.
14925
14926 2022-01-11 Michael Meissner <meissner@the-meissners.org>
14927
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.
14931
14932 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
14933
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.
14939
14940 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
14941
14942 PR target/103861
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.
14953
14954 2022-01-11 Jakub Jelinek <jakub@redhat.com>
14955
14956 PR c++/101597
14957 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
14958
14959 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14960
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
14972 OBJECT_SIZE_TYPE.
14973
14974 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14975
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.
14981
14982 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14983
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.
14988
14989 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
14990
14991 PR middle-end/70090
14992 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
14993 expressions.
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
14997 functions.
14998 (object_sizes_get): Return suitable gimple variable for
14999 object size.
15000 (bundle_sizes): New function.
15001 (object_sizes_set): Use it and handle dynamic object size
15002 expressions.
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):
15006 New functions.
15007 (compute_builtin_object_size): Call gimplify_size_expressions
15008 for OST_DYNAMIC.
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.
15014
15015 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
15016 Jakub Jelinek <jakub@redhat.com>
15017
15018 PR tree-optimization/103961
15019 * tree-object-size.c (plus_stmt_object_size): Always avoid
15020 computing offset for -1 size.
15021
15022 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
15023
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.
15027
15028 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
15029
15030 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
15031 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
15032
15033 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
15034 Richard Biener <rguenther@suse.de>
15035
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.
15044
15045 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
15046
15047 PR target/102239
15048 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
15049 declare.
15050 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
15051 function.
15052 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
15053
15054 2022-01-11 Olivier Hainque <hainque@adacore.com>
15055
15056 * gcc.c (driver_handle_option): State --sysroot as
15057 validated.
15058
15059 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
15060
15061 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
15062 useless related to option -mno-power10.
15063
15064 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
15065
15066 PR target/53652
15067 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
15068 operands[1] from register_operand to vector_operand.
15069
15070 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
15071
15072 PR target/103861
15073 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
15074 Handle V2QImode.
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.
15083
15084 2022-01-10 Richard Biener <rguenther@suse.de>
15085
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.
15090
15091 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
15092
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.
15097
15098 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
15099
15100 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
15101 epilogue costing.
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.
15105
15106 2022-01-10 Jakub Jelinek <jakub@redhat.com>
15107
15108 PR target/102024
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.
15116
15117 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15118
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.
15129
15130 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15131
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.
15143
15144 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15145
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
15160 register.
15161 (move_spill_restore): Adjust for the new behavior of
15162 propagate_allocno_info.
15163
15164 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15165
15166 PR rtl-optimization/98782
15167 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
15168 extracted from...
15169 * ira-color.c (color_pass): ...here.
15170
15171 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15172
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.
15176
15177 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15178
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):
15182 New constructor.
15183 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
15184 (color_pass): Likewise.
15185 (move_spill_restore): Likewise.
15186
15187 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
15188
15189 PR target/103465
15190 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
15191
15192 2022-01-10 Richard Biener <rguenther@suse.de>
15193
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.
15197
15198 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
15199
15200 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
15201 special case for TImode to V1TImode moves, going via V2DImode.
15202
15203 2022-01-08 Jakub Jelinek <jakub@redhat.com>
15204
15205 PR c++/89074
15206 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
15207 simplification.
15208
15209 2022-01-08 David Malcolm <dmalcolm@redhat.com>
15210
15211 * doc/analyzer.texi
15212 (Special Functions for Debugging the Analyzer): Document
15213 __analyzer_dump_escaped.
15214
15215 2022-01-08 David Malcolm <dmalcolm@redhat.com>
15216
15217 * doc/analyzer.texi (Other Debugging Techniques): Document
15218 region::is_named_decl_p.
15219
15220 2022-01-07 Andrew Pinski <apinski@marvell.com>
15221
15222 PR target/102941
15223 * config/arm/aarch-common.c (arm_md_asm_adjust):
15224 Use a temp if !REG_P.
15225
15226 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
15227
15228 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
15229 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
15230
15231 2022-01-07 liuhongt <hongtao.liu@intel.com>
15232
15233 PR rtl-optimization/103750
15234 * fwprop.c (forward_propagate_into): Allow propagations from
15235 inner loop to outer loop.
15236
15237 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
15238
15239 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
15240
15241 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
15242
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.
15246
15247 2022-01-07 liuhongt <hongtao.liu@intel.com>
15248
15249 * config/i386/sse.md
15250 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
15251 UNSPEC_PCMP_UNSIGNED.
15252
15253 2022-01-07 liuhongt <hongtao.liu@intel.com>
15254
15255 PR target/103753
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.
15267
15268 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
15269
15270 PR target/103925
15271 * config/i386/i386.c (ix86_output_indirect_function_return):
15272 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
15273
15274 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
15275
15276 PR target/102952
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):
15280 Likewise.
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
15287 indirect-jmp.
15288
15289 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
15290
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.
15300
15301 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
15302
15303 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
15304 vector extensions.
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.
15338
15339 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
15340
15341 * common/config/riscv/riscv-common.c
15342 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
15343 digit.
15344
15345 2022-01-06 Jakub Jelinek <jakub@redhat.com>
15346
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.
15351
15352 2022-01-06 Jakub Jelinek <jakub@redhat.com>
15353
15354 PR rtl-optimization/103908
15355 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
15356 asm goto.
15357
15358 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
15359
15360 PR target/103622
15361 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
15362 Skip over instances with undefined function types.
15363
15364 2022-01-05 Andrew Pinski <apinski@marvell.com>
15365
15366 PR target/103910
15367 * config/i386/i386.h (x86_mfence): Mark with GTY.
15368
15369 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
15370
15371 PR target/103861
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.
15381
15382 2022-01-05 Martin Sebor <msebor@redhat.com>
15383
15384 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
15385 %qs to avoid -Wformat-diag.
15386
15387 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
15388
15389 PR target/103915
15390 * config/i386/mmx.md (one_cmplv2qi2): Change
15391 alternatives 1,2 type from sselog to sselog1.
15392
15393 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
15394
15395 PR target/103905
15396 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
15397 narrow mode remapped elements for !one_operand_p case.
15398
15399 2022-01-05 Richard Biener <rguenther@suse.de>
15400
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.
15404
15405 2022-01-05 Jakub Jelinek <jakub@redhat.com>
15406
15407 PR fortran/103691
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.
15411
15412 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
15413
15414 PR ipa/102059
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
15427 target info.
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.
15440
15441 2022-01-04 Martin Sebor <msebor@redhat.com>
15442
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
15452 models.
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.
15461
15462 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
15463
15464 PR target/103861
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.
15471
15472 2022-01-04 Richard Biener <rguenther@suse.de>
15473
15474 PR tree-optimization/103800
15475 * tree-vect-loop.c (vectorizable_phi): Remove assert and
15476 expand comment.
15477
15478 2022-01-04 Richard Biener <rguenther@suse.de>
15479
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
15486 ...
15487 (fini_pre): .. here.
15488
15489 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
15490
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.
15501
15502 2022-01-04 Olivier Hainque <hainque@adacore.com>
15503
15504 * gcc.c (driver_handle_option): do_save --sysroot.
15505
15506 2022-01-04 Richard Biener <rguenther@suse.de>
15507
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.
15513
15514 2022-01-04 Jakub Jelinek <jakub@redhat.com>
15515
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.
15519
15520 2022-01-04 Cui,Lili <lili.cui@intel.com>
15521
15522 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
15523 to Alderlake and Rocketlake.
15524
15525 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
15526
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'
15530
15531 2022-01-04 liuhongt <hongtao.liu@intel.com>
15532
15533 PR target/103895
15534 * config/i386/sse.md (*bit_and_float_vector_all_ones):
15535 Force_reg operand 1 to avoid ICE.
15536
15537 2022-01-04 Jason Merrill <jason@redhat.com>
15538
15539 * tree-pretty-print.c (do_niy): Add spc parameter.
15540 (NIY): Pass it.
15541 (print_call_name): Add spc local variable.
15542
15543 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
15544
15545 PR target/103894
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.
15553
15554 2022-01-03 Andrew Pinski <apinski@marvell.com>
15555
15556 PR c/33193
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.
15561
15562 2022-01-03 Jakub Jelinek <jakub@redhat.com>
15563
15564 PR target/98737
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):
15567 New internal fns.
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
15574 functions.
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
15578 direct optabs.
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.
15598
15599 2022-01-03 Richard Biener <rguenther@suse.de>
15600
15601 PR middle-end/103851
15602 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
15603
15604 2022-01-03 Jakub Jelinek <jakub@redhat.com>
15605
15606 PR c++/94716
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.
15610
15611 2022-01-03 Martin Liska <mliska@suse.cz>
15612
15613 * doc/extend.texi: Use ; for function declarations.
15614
15615 2022-01-03 Jakub Jelinek <jakub@redhat.com>
15616
15617 PR c++/103600
15618 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
15619 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
15620
15621 2022-01-03 Jakub Jelinek <jakub@redhat.com>
15622
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.
15635
15636 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
15637
15638 PR target/103861
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.
15652
15653 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
15654
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.
15659
15660 \f
15661 Copyright (C) 2022 Free Software Foundation, Inc.
15662
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.